# HG changeset patch # User William Roberts # Date 1279812753 -3600 # Node ID eff9df3d9c988901791da4a4a258301c1060385c # Parent b95ddb5a0d10fd8733fce113c2f32211f897a110# Parent 79c49924ae231a42e6dff4c2054bb7e009dbb2cb Catchup to latest Symbian^4 diff -r b95ddb5a0d10 -r eff9df3d9c98 app/app.pro --- a/app/app.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/app/app.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,23 +16,23 @@ SERVICEAPP = app TARGET = musicplayer -ICON = resources/qgn_menu_mp_qt.svg -DEPENDPATH += . -INCLUDEPATH += . \ - inc \ - ../inc \ - ../musicservices/inc -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - CONFIG += hb - symbian: { TARGET.UID2 = 0x100039CE TARGET.UID3 = 0x10207C62 TARGET.EPOCSTACKSIZE = 0x14000 TARGET.EPOCHEAPSIZE = 0x020000 0x1F00000 TARGET.CAPABILITY = CAP_APPLICATION NetworkControl DRM - } + SKINICON = qtg_large_music_player + + BLD_INF_RULES.prj_exports += \ + "../sis/musicplayer_stub.sis /epoc32/data/z/system/install/musicplayer_stub.sis" \ + "resources/musicplayer.docml /epoc32/release/winscw/udeb/Z/resource/hb/splashml/musicplayer.docml" \ + "resources/musicplayer.splashml /epoc32/release/winscw/udeb/Z/resource/hb/splashml/musicplayer.splashml" \ + "resources/musicplayer.docml /epoc32/data/Z/resource/hb/splashml/musicplayer.docml" \ + "resources/musicplayer.splashml /epoc32/data/Z/resource/hb/splashml/musicplayer.splashml" + +} # Service provider specific configuration. # If in-process plugin specific implementation @@ -43,32 +43,34 @@ CONFIG += service # Service provider specific configuration ends +DEPENDPATH += . +INCLUDEPATH += . \ + inc \ + ../inc \ + ../musicservices/inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lecom \ + -lestor \ + -lfbscli \ + -lxqplugins \ + -lmpxviewframeworkqt \ + -lxqservice \ + -lxqserviceutil \ + -lmusicservices \ + -lmpsettingsmanager \ + -lmpengine + # Input -LIBS += -lecom.dll \ - -lestor.dll \ - -lfbscli.dll \ - -lxqplugins.dll \ - -lmpxviewframeworkqt.dll \ - -lxqservice \ - -lxqserviceutil \ - -lmusicservices \ - -lmpengine - - +HEADERS += inc/mpmainwindow.h \ + inc/mpglobalpopuphandler.h \ + inc/mpmtpinfolink.h + SOURCES += src/main.cpp \ - src/mpmainwindow.cpp - -HEADERS = inc/mpmainwindow.h - -MMP_RULES+=EXPORTUNFROZEN + src/mpmainwindow.cpp \ + src/mpglobalpopuphandler.cpp \ + src/mpmtpinfolink.cpp -symbian: { - addImages.sources = images/*.png \ - resources/*.xml - DEPLOYMENT += addImages - } - -RESOURCES += resources/musiplayerapp.qrc TRANSLATIONS = musicplayer.ts diff -r b95ddb5a0d10 -r eff9df3d9c98 app/inc/mpglobalpopuphandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/inc/mpglobalpopuphandler.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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: Music Player global popup handler. +* +*/ + +#ifndef MPGLOBALPOPUPHANDLER_H +#define MPGLOBALPOPUPHANDLER_H + +#include + +class HbPopup; +class HbAction; +class MpEngine; +class MpSongScanner; + +class MpGlobalPopupHandler : public QObject +{ + Q_OBJECT + +public: + MpGlobalPopupHandler( QObject *parent = 0 ); + virtual ~MpGlobalPopupHandler(); + + void cancelOngoingPopup(); + +public slots: + + // Scanning related dialogs + void handleLibraryAboutToUpdate(); + void launchScanDialog(); + void scanCountChanged( int count ); + void handleScanFinished( int error, int itemsAdded ); + + // Usb related dialogs + void launchUnableToCotinueDueUsb(); + void launchUsbBlockingNote(); + void closeUsbBlockingNote(); + void launchRefreshLibraryRequest(); + void launchMTPInfoDialog(); + void hanldeMTPInfoDialogFinished( HbAction *selectedAction ); + + void outstandingPopupClosing(); + +private: + void launchScanFinishedDialog( bool ok, int itemsAdded ); + void launchDiskFullDialog(); + void setOutstandingPopup( HbPopup *popup ); + +private: + HbPopup *mOutstandingPopup; // Own + MpEngine *mMpEngine; // Not own + MpSongScanner *mMpSongScanner; // Not own +}; + +#endif // MPGLOBALPOPUPHANDLER_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/inc/mpmainwindow.h --- a/app/inc/mpmainwindow.h Fri Jun 11 16:24:02 2010 +0100 +++ b/app/inc/mpmainwindow.h Thu Jul 22 16:32:33 2010 +0100 @@ -28,6 +28,8 @@ // Forward declarations class MpxViewPlugin; class MusicServices; +class MpGlobalPopupHandler; +class HbActivityManager; // Class declaration class MpMainWindow: public MpxViewFramework @@ -40,12 +42,23 @@ CollectionView = 1, PlaybackView, SettingsView, - DetailsView }; + DetailsView, + MediaWallView}; + + enum ActivityMode{ + MusicMainView, + MusicNowPlayingView, + MusicNowPlayingViewShuffleAll + }; MpMainWindow(); ~MpMainWindow(); - void initialize(); + void initialize( ActivityMode mode ); + +signals: + // For automation testability + void applicationReady(); public slots: void handleCommand( int commandCode ); @@ -53,13 +66,17 @@ void switchView( Qt::Orientation orientation ); void initializeServiceView( TUid hostUid ); + void handleActivity(); + void saveActivity(); + void handleRestorePathFailed(); private: void activateView(ViewType); void connectView(); void disconnectView(); - + void keyPressEvent(QKeyEvent *event); MpxViewPlugin* loadView( ViewType type, MpCommon::MpViewMode viewMode= MpCommon::DefaultView ); + void loadActivity( QVariant data ); private: @@ -67,10 +84,13 @@ MpxViewPlugin *mPlaybackViewPlugin; // Own MpxViewPlugin *mSettingsViewPlugin; // Own MpxViewPlugin *mDetailsViewPlugin; // Own - + MpxViewPlugin *mMediaWallViewPlugin; // Own MpxViewPlugin *mCurrentViewPlugin; // Own ViewType mVerticalViewType; - MusicServices *mMusicServices; // Own + MusicServices *mMusicServices; // Own + MpGlobalPopupHandler *mPopupHandler; // Own + bool mUserExit; + HbActivityManager *mActivityManager; //Not Own }; diff -r b95ddb5a0d10 -r eff9df3d9c98 app/inc/mpmtpinfolink.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/inc/mpmtpinfolink.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,44 @@ +/* +* 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: Music Player MTP info link. +* +*/ + + +#ifndef MPMTPINFOLINK_H +#define MPMTPINFOLINK_H + +#include + +class QGraphicsSceneMouseEvent; + +class MpMtpInfoLink : public HbLabel +{ + Q_OBJECT + +public: + explicit MpMtpInfoLink(); + virtual ~MpMtpInfoLink(); + +protected: + void mousePressEvent( QGraphicsSceneMouseEvent *event ); + void mouseReleaseEvent( QGraphicsSceneMouseEvent *event ); + +private: + void setMtpInfoText(); + +}; + +#endif // MPMTPINFOLINK_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/musicplayer.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/resources/musicplayer.docml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,15 @@ + + +
+ + + +
+
+ + + + +
+ +
diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/musicplayer.splashml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/resources/musicplayer.splashml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,9 @@ + + + musicplayer.docml + splashView + 0x10207C62 + musicplayer + portrait + landscape + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/musiplayerapp.qrc --- a/app/resources/musiplayerapp.qrc Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ - - - slide_out_to_top.fxml - slide_out_to_right.fxml - slide_out_to_left.fxml - slide_in_to_top_and_fade_in.fxml - slide_in_to_right_and_fade_in.fxml - slide_in_to_left_and_fade_in.fxml - - diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/qgn_menu_mp_qt.svg --- a/app/resources/qgn_menu_mp_qt.svg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_in_to_left_and_fade_in.fxml --- a/app/resources/slide_in_to_left_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - .3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_in_to_right_and_fade_in.fxml --- a/app/resources/slide_in_to_right_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - -.3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_in_to_top_and_fade_in.fxml --- a/app/resources/slide_in_to_top_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - .3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_out_to_left.fxml --- a/app/resources/slide_out_to_left.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - -0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_out_to_right.fxml --- a/app/resources/slide_out_to_right.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - 0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/resources/slide_out_to_top.fxml --- a/app/resources/slide_out_to_top.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - -0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/rom/musicplayer.iby --- a/app/rom/musicplayer.iby Fri Jun 11 16:24:02 2010 +0100 +++ b/app/rom/musicplayer.iby Thu Jul 22 16:32:33 2010 +0100 @@ -24,4 +24,8 @@ data = ZRESOURCE\apps\musicplayer.mif APP_RESOURCE_DIR\musicplayer.mif data = ZPRIVATE\10003A3F\import\APPS\musicplayer_reg.rsc PRIVATE\10003a3f\import\apps\musicplayer_reg.rsc +data = ZSYSTEM\install\musicplayer_stub.sis system\install\musicplayer_stub.sis +data = ZRESOURCE\hb\splashml\musicplayer.splashml RESOURCE_FILES_DIR\hb\splashml\musicplayer.splashml +data = ZRESOURCE\hb\splashml\musicplayer.docml RESOURCE_FILES_DIR\hb\splashml\musicplayer.docml + #endif // MUSICPLAYER_IBY \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/rom/musicplayer_resources.iby --- a/app/rom/musicplayer_resources.iby Fri Jun 11 16:24:02 2010 +0100 +++ b/app/rom/musicplayer_resources.iby Thu Jul 22 16:32:33 2010 +0100 @@ -20,7 +20,7 @@ #include -data = DATAZ_\APP_RESOURCE_DIR\musicplayer.rsc APP_RESOURCE_DIR\musicplayer.rsc +S60_APP_RESOURCE(musicplayer) data = DATAZ_\QT_TRANSLATIONS_DIR\musicplayer.qm QT_TRANSLATIONS_DIR\musicplayer.qm #endif // MUSICPLAYER_RESOURCES_IBY \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/src/main.cpp --- a/app/src/main.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/app/src/main.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,6 +17,9 @@ #include #include +#include +#include +#include #include "mpmainwindow.h" #include "mptrace.h" @@ -25,6 +28,25 @@ \brief The Music Player main function. This function is where Music Player starts execution. + + This function can be called by starting an activity. Currently supported: + -MusicMainView + -MusicNowPlayingView + + A way to start start an activity is by using the XQApplicationManager: + + QUrl url; + url.setUrl("appto://10207C62?activityname=MusicMainView&launchtype=standalone"); + mReq = mAppMgr.create(url); + if (mReq == NULL) { + // No handlers for the URI + return; + } + bool res = mReq->send(); //Fire and Forget + if (!res) { + // Request failed. Handle error + int error = mReq->lastError(); + } */ int main(int argc, char *argv[]) @@ -32,16 +54,35 @@ TX_STATIC_ENTRY // Initialization - HbApplication app(argc, argv); + HbApplication app(argc, argv, Hb::NoSplash); + if ( !XQServiceUtil::isService() ) { + HbSplashScreen::start( ); + } + QVariantHash params = app.activateParams(); + HbTranslator translator; + translator.loadCommon(); + MpMainWindow::ActivityMode mode; + + if ( !params.value( "activityname" ).toString().compare( "MusicNowPlayingView" ) ) { + mode = MpMainWindow::MusicNowPlayingView; + } + else { + mode = MpMainWindow::MusicMainView; + } // Main window widget. // Includes decorators such as signal strength and battery life indicator. MpMainWindow mainWindow; - mainWindow.initialize(); + mainWindow.viewport()->grabGesture(Qt::SwipeGesture); + mainWindow.viewport()->grabGesture(Qt::PanGesture); + mainWindow.viewport()->grabGesture(Qt::TapGesture); + mainWindow.viewport()->grabGesture(Qt::TapAndHoldGesture); + mainWindow.initialize( mode ); mainWindow.show(); // Enter event loop TX_EXIT - return app.exec(); - + return app.exec(); + } + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/src/mpglobalpopuphandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/src/mpglobalpopuphandler.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,374 @@ +/* +* 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: Music Player global popup handler. +* +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include + +#include "mpglobalpopuphandler.h" +#include "mpsettingsmanager.h" +#include "mpenginefactory.h" +#include "mpsongscanner.h" +#include "mpmtpinfolink.h" +#include "mptrace.h" + +/*! + \class MpGlobalPopupHandler + \brief Music Player global popup handler. + + This class controls the asynchronous operation of all global dialogs. +*/ + +// Popups launched by this class +const QString KScanProgressDialog = QString( "ScanProgressDialog" ); +const QString KDiskFullDialog = QString( "DiskFullDialog" ); +const QString KScanFinished = QString( "ScanFinishedDialog" ); +const QString KUnableToContinueDueUSB = QString( "UnableToContinueDueUSB" ); +const QString KUsbBlockingNote = QString( "UsbBlockingNote" ); +const QString KPromptRefresh = QString( "PromptRefresh" ); +const QString KMTPInfoDialog = QString( "MTPInfoDialog" ); + +// Popups Actions +const QString KYes = QString( "yes" ); +const QString KNo = QString( "no" ); + +/*! + Constructs the collection popup handler. + */ +MpGlobalPopupHandler::MpGlobalPopupHandler( QObject *parent ) + : QObject( parent ), + mOutstandingPopup( 0 ), + mMpEngine( 0 ), + mMpSongScanner( 0 ) +{ + TX_ENTRY + mMpEngine = MpEngineFactory::sharedEngine(); + connect( mMpEngine, SIGNAL( libraryAboutToUpdate() ), this, SLOT( handleLibraryAboutToUpdate() ) ); + connect( mMpEngine, SIGNAL( unableToCotinueDueUSB() ), this, SLOT( launchUnableToCotinueDueUsb() ) ); + connect( mMpEngine, SIGNAL( usbSynchronizationStarted() ), this, SLOT( launchUsbBlockingNote() ) ); + connect( mMpEngine, SIGNAL( usbSynchronizationFinished() ), this, SLOT( closeUsbBlockingNote() ) ); + connect( mMpEngine, SIGNAL( libraryRefreshNeeded() ), this, SLOT( launchRefreshLibraryRequest() ) ); + TX_EXIT +} + +/*! + Destructs the collection popup handler. + */ +MpGlobalPopupHandler::~MpGlobalPopupHandler() +{ + TX_ENTRY + delete mOutstandingPopup; + TX_EXIT +} + +/*! + Closes any active popup + */ +void MpGlobalPopupHandler::cancelOngoingPopup() +{ + TX_ENTRY + if ( mOutstandingPopup ) { + mOutstandingPopup->close(); + } + TX_EXIT +} + +/*! + Slot called upon MpEngine signal libraryAboutToUpdate(). Used to connect with SongScanner. + */ +void MpGlobalPopupHandler::handleLibraryAboutToUpdate() +{ + TX_ENTRY + if ( !mMpSongScanner && mMpEngine->songScanner() ) { + mMpSongScanner = mMpEngine->songScanner(); + connect( mMpSongScanner, SIGNAL( scanStarted() ), this, SLOT( launchScanDialog() ) ); + connect( mMpSongScanner, SIGNAL( scanCountChanged( int ) ), this, SLOT( scanCountChanged( int ) ) ); + connect( mMpSongScanner, SIGNAL( scanFinished( int, int ) ), + this, SLOT( handleScanFinished( int, int ) ) ); + } + TX_EXIT +} + +/*! + Slot called upon notification from MpSongScanner indicating start of + scanning process. + */ +void MpGlobalPopupHandler::launchScanDialog() +{ + TX_ENTRY + HbProgressDialog* scanProgressDialog = new HbProgressDialog( HbProgressDialog::WaitDialog ); + connect( scanProgressDialog, SIGNAL( cancelled() ), mMpSongScanner, SLOT( cancelScan() ) ); + scanProgressDialog->setModal( true ); + HbLabel *title = new HbLabel( hbTrId( "txt_mus_title_refreshing" ) ); + title->setFontSpec(HbFontSpec(HbFontSpec::Primary)); + + scanProgressDialog->setHeadingWidget( title ); + scanProgressDialog->setText( QString("") ); + scanProgressDialog->setAttribute( Qt::WA_DeleteOnClose ); + scanProgressDialog->setObjectName( KScanProgressDialog ); + setOutstandingPopup( scanProgressDialog ); + scanProgressDialog->show(); + TX_EXIT +} + +/*! + Slot called upon notification from MpSongScanner indicating the number of + songs scanned so far. + */ +void MpGlobalPopupHandler::scanCountChanged(int count) +{ + TX_ENTRY_ARGS("count " << count ) + if ( mOutstandingPopup && ( mOutstandingPopup->objectName() == KScanProgressDialog ) ) { + HbProgressDialog *dialog = qobject_cast( mOutstandingPopup ); + QString added; + added = hbTrId( "txt_mus_info_ln_songs_added" , count ); + dialog->setText( added ); + } + TX_EXIT +} + +/*! + Slot called upon notification from MpSongScanner. Used to close current scan progress note, + and display scan results. + + */ +void MpGlobalPopupHandler::handleScanFinished( int error, int itemsAdded ) +{ + TX_ENTRY_ARGS("error: " << error << " Items added: " << itemsAdded ) + if ( mOutstandingPopup && ( mOutstandingPopup->objectName() == KScanProgressDialog ) ) { + HbProgressDialog *dialog = qobject_cast( mOutstandingPopup ); + disconnect( dialog, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) ); + mOutstandingPopup = 0; + dialog->close(); + } + + switch( error ) { + case MpSongScanner::ScanErrorNone : + launchScanFinishedDialog( true, itemsAdded ); + break; + case MpSongScanner::ScanGeneralError : + launchScanFinishedDialog( false, itemsAdded ); + break; + case MpSongScanner::ScanErrorDiskFull : + launchDiskFullDialog(); + break; + case MpSongScanner::ScanInterrupted : + default: + //When scan interrupted (DiskEvent) just dimsiss the scanning progress note. + break; + } + TX_EXIT +} + +/*! + Slot called when MpEngine emits unableToCotinueDueUSB() signal + */ +void MpGlobalPopupHandler::launchUnableToCotinueDueUsb() +{ + HbMessageBox *dialog = new HbMessageBox( HbMessageBox::MessageTypeInformation ); + dialog->setText( hbTrId( "txt_mus_info_usb_conn_in_progress" ) ); + dialog->setModal( true ); + dialog->setAttribute( Qt::WA_DeleteOnClose ); + dialog->setObjectName( KUnableToContinueDueUSB ); + setOutstandingPopup( dialog ); + dialog->show(); +} + +/*! + Slot called when MpEngine emits usbSynchronizationStarted() signal + */ +void MpGlobalPopupHandler::launchUsbBlockingNote() +{ + HbProgressDialog *usbBlockingNote = new HbProgressDialog( HbProgressDialog::WaitDialog ); + usbBlockingNote->setModal( true ); + if ( usbBlockingNote->actions().count() ) { + //Hide cancel action. + usbBlockingNote->actions().at( 0 )->setVisible( false ); + } + usbBlockingNote->setDismissPolicy( HbPopup::NoDismiss ); + usbBlockingNote->setText( hbTrId( "txt_mus_info_usb_conn_in_progress" ) ); + usbBlockingNote->setAttribute( Qt::WA_DeleteOnClose ); + usbBlockingNote->setObjectName( KUsbBlockingNote ); + setOutstandingPopup( usbBlockingNote ); + usbBlockingNote->show(); +} + +/*! + Slot called when MpEngine emits usbSynchronizationFinished() signal + */ +void MpGlobalPopupHandler::closeUsbBlockingNote() +{ + if ( mOutstandingPopup && ( mOutstandingPopup->objectName() == KUsbBlockingNote ) ) { + HbProgressDialog *dialog = qobject_cast( mOutstandingPopup ); + dialog->cancel(); + } +} + +/*! + Slot called when MpEngine emits libraryRefreshNeeded() signal + */ +void MpGlobalPopupHandler::launchRefreshLibraryRequest() +{ + HbAction *action; + HbMessageBox *promptRefresh = new HbMessageBox( HbMessageBox::MessageTypeQuestion ); + promptRefresh->setText( hbTrId( "txt_mus_info_music_may_need_to_be_refreshed" ) ); + promptRefresh->setTimeout( HbPopup::NoTimeout ); + promptRefresh->setModal( true ); + promptRefresh->clearActions(); + action = new HbAction( hbTrId( "txt_common_button_yes" ) ); + action->setObjectName( KYes ); + connect( action, SIGNAL( triggered() ), mMpEngine, SLOT( refreshLibrary() ) ); + promptRefresh->addAction( action ); + action = new HbAction( hbTrId( "txt_common_button_no" ) ); + action->setObjectName( KNo ); + promptRefresh->addAction( action ); + promptRefresh->setAttribute( Qt::WA_DeleteOnClose ); + promptRefresh->setObjectName( KPromptRefresh ); + setOutstandingPopup( promptRefresh ); + promptRefresh->show(); +} + +/*! + Slot to launch the MTP educating info dialog + */ +void MpGlobalPopupHandler::launchMTPInfoDialog() +{ + TX_ENTRY + HbDialog *dialog = new HbDialog(); + dialog->setContentWidget( new MpMtpInfoLink() ); + dialog->setModal( true ); + dialog->setDismissPolicy( HbPopup::NoDismiss); + dialog->setTimeout( HbPopup::NoTimeout ); + HbAction *action; + action = new HbAction( hbTrId( "txt_common_button_yes" ) ); + action->setObjectName( KYes ); + dialog->addAction( action ); + action = new HbAction( hbTrId( "txt_common_button_no" ) ); + action->setObjectName( KNo ); + dialog->addAction( action ); + dialog->setAttribute( Qt::WA_DeleteOnClose ); + dialog->setObjectName( KMTPInfoDialog ); + setOutstandingPopup( dialog ); + dialog->open( this, SLOT( hanldeMTPInfoDialogFinished( HbAction* ) ) ); + TX_EXIT +} + +/*! + Slot to be called when MtpInfoDialog has finished. + */ +void MpGlobalPopupHandler::hanldeMTPInfoDialogFinished( HbAction *selectedAction ) +{ + TX_ENTRY + if ( selectedAction && selectedAction->objectName() == KNo ) { + MpSettingsManager::instance()->stopShowingMtpInfo(); + } + TX_EXIT +} + +/*! + Slot to be called when a popup is getting closed. Usefull when a dialog is closed before it finishes + (dialog not closed by a direct user action). + */ +void MpGlobalPopupHandler::outstandingPopupClosing() +{ + TX_ENTRY + HbPopup *popup = qobject_cast( sender() ); + if ( popup ) { + Q_ASSERT( popup == mOutstandingPopup ); + mOutstandingPopup = 0; + } + TX_EXIT +} + +/*! + \internal + Launches Scan Finished Notification. + */ +void MpGlobalPopupHandler::launchScanFinishedDialog( bool ok, int itemsAdded ) +{ + QString added; + HbNotificationDialog *finishedDialog = new HbNotificationDialog(); + finishedDialog->setModal(true); + added = hbTrId( "txt_mus_dpopinfo_ln_songs_added", itemsAdded ); + finishedDialog->setText( added ); + finishedDialog->setAttribute( Qt::WA_DeleteOnClose ); + finishedDialog->setObjectName( KScanFinished ); + // Connect aboutToClose with outstandingPopupClosing() first, and then with launchMTPInfoDialog + // in order to get finishDialog cleared before MtpInfoDialog is launched. + setOutstandingPopup( finishedDialog ); + + if( ok ) { + finishedDialog->setIcon( HbIcon( QString("qtg_large_ok") ) ); + finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_complete" ) ); + if ( MpSettingsManager::showMtpInfo() && !mMpSongScanner->isAutomaticScan() ) { + connect( finishedDialog, SIGNAL( aboutToClose() ), this, SLOT( launchMTPInfoDialog() ) ); + } + } + else { + finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) ); + finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) ); + } + + finishedDialog->show(); +} + +/*! + \internal + Launches DiskFull Notification + */ +void MpGlobalPopupHandler::launchDiskFullDialog() +{ + TX_ENTRY + QString diskfull; + diskfull = hbTrId( "txt_mus_title_refresh_cancelled" ); + diskfull.append(" "); + diskfull.append( hbTrId( "txt_mus_info_out_of_disk_space" ) ); + HbMessageBox *diskFullDialog = new HbMessageBox(); + diskFullDialog->setIcon( HbIcon( QString("qtg_small_fail") ) ); + diskFullDialog->setText( diskfull ); + diskFullDialog->setTimeout( HbPopup::NoTimeout); + diskFullDialog->setAttribute( Qt::WA_DeleteOnClose ); + diskFullDialog->setObjectName( KDiskFullDialog ); + setOutstandingPopup( diskFullDialog ); + diskFullDialog->show(); + TX_EXIT +} + +/*! + \internal + sets \a popup as the current outstanding popup and cancels any other previous popup. + */ +void MpGlobalPopupHandler::setOutstandingPopup( HbPopup *popup ) +{ + TX_ENTRY + if ( mOutstandingPopup ) { + TX_LOG_ARGS( "Warning: Multiple popups attempted to be displayed" ); + if ( mOutstandingPopup->objectName() == KScanFinished ) { + disconnect( mOutstandingPopup, SIGNAL( aboutToClose() ), this, SLOT( launchMTPInfoDialog() ) ); + } + mOutstandingPopup->close(); + } + + connect( popup, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) ); + mOutstandingPopup = popup; + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/src/mpmainwindow.cpp --- a/app/src/mpmainwindow.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/app/src/mpmainwindow.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,21 +17,25 @@ #include +#include #include #include #include #include #include #include -#include -#include #include "mpmainwindow.h" #include "mpviewbase.h" #include "musicservices.h" -#include "mpengine.h" +#include "mpenginefactory.h" +#include "mpsettingsmanager.h" +#include "mpglobalpopuphandler.h" #include "mptrace.h" +const QString MUSIC_MAIN_VIEW = "MusicMainView"; +const QString MUSIC_NOW_PLAYING_VIEW = "MusicNowPlayingView"; + /*! \class MpMainWindow \brief The MpMainWindow class provides Main Window functionalities. @@ -50,9 +54,13 @@ mPlaybackViewPlugin(0), mSettingsViewPlugin(0), mDetailsViewPlugin(0), + mMediaWallViewPlugin(0), mCurrentViewPlugin(0), mVerticalViewType( CollectionView ), - mMusicServices(0) + mMusicServices(0), + mPopupHandler(0), + mUserExit( false ), + mActivityManager(0) { TX_LOG } @@ -83,8 +91,11 @@ mDetailsViewPlugin->destroyView(); delete mDetailsViewPlugin; } - - MpEngine::instance()->close(); + if (mMediaWallViewPlugin) { + mMediaWallViewPlugin->destroyView(); + delete mMediaWallViewPlugin; + } + MpEngineFactory::close(); TX_EXIT @@ -94,22 +105,10 @@ /*! Initialize and activate the collection view */ -void MpMainWindow::initialize() +void MpMainWindow::initialize( ActivityMode mode ) { TX_ENTRY - //Load musicplayer translator - QTranslator translator; - QString lang = QLocale::system().name(); - QString path = QString("z:/resource/qt/translations/"); - - bool translatorLoaded = false; - translatorLoaded = translator.load(path + "musicplayer_" + lang); - TX_LOG_ARGS("Loading musicplayer translator ok=" << translatorLoaded); - if ( translatorLoaded ) { - qApp->installTranslator( &translator ); - } - #ifdef _DEBUG QList impls; XQPluginLoader::listImplementations("org.nokia.mmdt.MpxViewPlugin/1.0", impls); @@ -128,20 +127,72 @@ XQServiceUtil::toBackground( false ); } - MpEngine *engine = MpEngine::instance(); - if ( !mMusicServices ) { - engine->initialize(MpCommon::DefaultView); - - loadView(CollectionView); - activateView(CollectionView); - + HbApplication* app = qobject_cast(qApp); + QVariantHash params = app->activateParams(); + MpEngineFactory::createSharedEngine(); + mPopupHandler = new MpGlobalPopupHandler( this ); + if( app->activateReason() == Hb::ActivationReasonActivity ) { + // Restoring an activity, not a fresh startup or a service + // Activities from Task switcher only have one parameter + if( params.count() == 1 ) { + loadActivity( app->activateData() ); + } + } + if ( orientation() == Qt::Vertical ) { + // If first startup ignore shuffleAll and send to collection view to refresh library + if ( mode == MusicMainView || MpSettingsManager::firstStartup() ) { + loadView( CollectionView ); + activateView( CollectionView ); + loadView( MediaWallView ); + loadView( PlaybackView ); + } else if ( mode == MusicNowPlayingView ) { + if( params.contains( "shuffle" ) ) { + if( !params.value( "shuffle" ).toString().compare( "yes" ) ) { + MpEngineFactory::sharedEngine()->shuffleAll(); + } + } + loadView( PlaybackView ); + activateView( PlaybackView ); + loadView( CollectionView ); + loadView( MediaWallView ); + } + } + else { + // If first startup ignore shuffleAll and send to refresh library + if( mode == MusicNowPlayingView && !MpSettingsManager::firstStartup() ) { + if( params.contains( "shuffle" ) ) { + if( !params.value( "shuffle" ).toString().compare( "yes" ) ) { + MpEngineFactory::sharedEngine()->shuffleAll(); + } + } + mVerticalViewType = PlaybackView; + } + loadView( MediaWallView ); + activateView( MediaWallView ); + loadView( CollectionView ); + loadView( PlaybackView ); + } connect(this, SIGNAL( orientationChanged( Qt::Orientation ) ), SLOT( switchView( Qt::Orientation ) ) ); - connect( engine, SIGNAL( libraryUpdated() ), SLOT( handleLibraryUpdated() ) ); - engine->checkForSystemEvents(); - loadView( PlaybackView ); + connect( MpEngineFactory::sharedEngine(), SIGNAL( libraryUpdated() ), SLOT( handleLibraryUpdated() ) ); + MpEngineFactory::sharedEngine()->checkForSystemEvents(); + //Register to application manager to wait for activities and clear previous activities on the task switcher + mActivityManager = qobject_cast(qApp)->activityManager(); + mActivityManager->waitActivity(); + mActivityManager->removeActivity( MUSIC_MAIN_VIEW ); + mActivityManager->removeActivity( MUSIC_NOW_PLAYING_VIEW ); + connect( app, SIGNAL( activate() ), this , SLOT( handleActivity() ) ); + connect( app, SIGNAL( aboutToQuit() ), this, SLOT( saveActivity() ) ); + emit applicationReady(); + } - setOrientation(Qt::Vertical, true);//This sould prevent media wall activation. + else { + setOrientation(Qt::Vertical, true);//This sould prevent media wall activation. + } + //since we only have one landscape view, media wall, disable automatic + //orientation transitions, they look like a flicker. + //This will make the view switch faster. + setAutomaticOrientationEffectEnabled( false ); TX_EXIT } @@ -151,14 +202,18 @@ void MpMainWindow::handleCommand( int commandCode ) { TX_ENTRY_ARGS("commandCode=" << commandCode ); - + switch ( commandCode ) { case MpCommon::Exit: if ( mCurrentViewPlugin ) { disconnectView(); } + mUserExit = true; qApp->quit(); break; + case MpCommon::SendToBackground: + lower(); + break; case MpCommon::ActivateCollectionView: activateView(CollectionView); break; @@ -183,7 +238,9 @@ if (orientation == Qt::Vertical) { activateView( mVerticalViewType ); } - + else { + activateView(MediaWallView); + } } /*! @@ -199,7 +256,10 @@ if ( mCurrentViewPlugin ) { disconnectView(); mCurrentViewPlugin->deactivateView(); - if ( viewType == CollectionView && mCurrentViewPlugin == mPlaybackViewPlugin || + if ( viewType == MediaWallView || mCurrentViewPlugin == mMediaWallViewPlugin ) { + doTransition = false; + } + else if ( viewType == CollectionView && mCurrentViewPlugin == mPlaybackViewPlugin || viewType == PlaybackView && mCurrentViewPlugin == mDetailsViewPlugin || viewType == PlaybackView && mCurrentViewPlugin == mSettingsViewPlugin ) { transitionFlags |= Hb::ViewSwitchUseBackAnim; @@ -212,9 +272,9 @@ Q_ASSERT( mCurrentViewPlugin ); if ( mCurrentViewPlugin ) { - - mVerticalViewType = viewType; - + if ( viewType != MediaWallView ) { + mVerticalViewType = viewType; + } addView( reinterpret_cast( mCurrentViewPlugin->getView() ) ); setCurrentView( reinterpret_cast( mCurrentViewPlugin->getView() ) , doTransition , transitionFlags); mCurrentViewPlugin->activateView(); @@ -275,17 +335,35 @@ /*! Reimp. */ - +void MpMainWindow::keyPressEvent(QKeyEvent *event) +{ + switch(event->key()) { + case 16842753: + case Qt::Key_Call: + if (orientation () == Qt::Vertical) { + setOrientation(Qt::Horizontal, false); + } + else { + setOrientation(Qt::Vertical, false); + } + break; + default: + HbMainWindow::keyPressEvent (event); + break; + } +} -void MpMainWindow::initializeServiceView( TUid hostUid ){ - - MpEngine *engine = MpEngine::instance(); - +/*! + Slot to initialize the view that corresponds to the requested service + */ +void MpMainWindow::initializeServiceView( TUid hostUid ) +{ switch (mMusicServices->currentService()) { case MusicServices::EUriFetcher: { - engine->initialize( MpCommon::FetchView, hostUid ); + MpEngineFactory::createSharedEngine( hostUid , MpEngine::Fetch ); + mPopupHandler = new MpGlobalPopupHandler( this ); loadView( CollectionView, MpCommon::FetchView ); MpViewBase* collectionView = reinterpret_cast(mCollectionViewPlugin->getView()); connect(collectionView, SIGNAL(songSelected(QString)), mMusicServices, SLOT(itemSelected(QString))); @@ -293,25 +371,93 @@ loadView(PlaybackView, MpCommon::FetchView ); MpViewBase* playbackView = reinterpret_cast(mPlaybackViewPlugin->getView()); connect(playbackView, SIGNAL(songSelected(QString)), mMusicServices, SLOT(itemSelected(QString))); - connect( engine, SIGNAL( libraryUpdated() ), this, SLOT( handleLibraryUpdated() ) ); - engine->checkForSystemEvents(); + connect( MpEngineFactory::sharedEngine(), SIGNAL( libraryUpdated() ), this, SLOT( handleLibraryUpdated() ) ); + MpEngineFactory::sharedEngine()->checkForSystemEvents(); break; } case MusicServices::EPlayback: { - engine->initialize( MpCommon::EmbeddedView, hostUid ); + MpEngineFactory::createSharedEngine( hostUid , MpEngine::Embedded ); loadView(PlaybackView, MpCommon::EmbeddedView ); MpViewBase* playbackView = reinterpret_cast(mPlaybackViewPlugin->getView()); - connect(mMusicServices, SIGNAL(playReady(QString)), engine, SLOT(playEmbedded(QString))); - connect(mMusicServices, SIGNAL(playReady(const XQSharableFile&)), engine, SLOT(playEmbedded(const XQSharableFile&))); + connect(mMusicServices, SIGNAL(playReady(QString)), MpEngineFactory::sharedEngine(), SLOT(playEmbedded(QString))); + connect(mMusicServices, SIGNAL(playReady(const XQSharableFile&)), MpEngineFactory::sharedEngine(), SLOT(playEmbedded(const XQSharableFile&))); connect(playbackView, SIGNAL(songSelected(QString)), mMusicServices, SLOT(itemSelected(QString))); activateView( PlaybackView ); break; } - default: + default: Q_ASSERT_X(false, "MpMainWindow::initializeServiceView", "undefined service"); break; } + emit applicationReady(); +} + +/*! + Slot to handle activity switching once the stand alone instance is running and registered + in the activity manager to wait for activities. + Only running activity supported at the moment is "MusicNowPlayingView" + */ +void MpMainWindow::handleActivity() +{ + TX_ENTRY + HbApplication* app = qobject_cast(qApp); + QString activityId = app->activateId(); + + if( !activityId.compare( MUSIC_NOW_PLAYING_VIEW ) ) { + if ( orientation() == Qt::Vertical ) { + if( mVerticalViewType != PlaybackView ) { + activateView( PlaybackView ); + } + } + } + + mActivityManager->waitActivity(); + TX_EXIT +} + +/*! + Slot to save activity upon exiting application + */ +void MpMainWindow::saveActivity() +{ + TX_ENTRY + QString activity = ( mVerticalViewType == CollectionView ) ? MUSIC_MAIN_VIEW : MUSIC_NOW_PLAYING_VIEW; + //Get data from engine + QByteArray serializedRestorePath; + if ( mUserExit ) { + //Internal exit will always return to the main view + activity = MUSIC_MAIN_VIEW; + } + else { + //Only saved data if exited via task switcher or GOOM + MpEngineFactory::sharedEngine()->saveActivityData( serializedRestorePath ); + } + QVariantHash activityParameters; + activityParameters.insert( "screenshot", QPixmap::grabWidget( this, this->rect() ) ); + QVariantHash activityData; + activityData.insert( "restorePath", serializedRestorePath ); + + + bool ok = mActivityManager->addActivity( activity , activityData, activityParameters ); + if ( !ok ){ + TX_LOG_ARGS( "Error: Add Failed; should never get here." ); + } + TX_EXIT +} + +/*! + Slot to handle a failed path restoration. Switch to collection view if not already there. + */ +void MpMainWindow::handleRestorePathFailed() +{ + TX_ENTRY + if ( orientation() == Qt::Vertical ) { + if( mVerticalViewType != CollectionView ) { + activateView( CollectionView ); + } + } + TX_EXIT } /*! @@ -338,7 +484,10 @@ pluginUid = MpCommon::KDetailsViewUid; plugin = &mDetailsViewPlugin; break; - + case MediaWallView: + pluginUid = MpCommon::KMediaWallViewUid; + plugin = &mMediaWallViewPlugin; + break; default: Q_ASSERT_X(false, "MpMainWindow::loadView", "undefined view type"); break; @@ -362,3 +511,16 @@ return plugin ? *plugin : 0; } +/*! + Load activity called via task switcher + Restore view and playback path if applicable + */ +void MpMainWindow::loadActivity( QVariant data ) +{ + TX_ENTRY + QVariantHash activityData = data.toHash(); + QByteArray serializedRestorePath = activityData.value( "restorePath" ).toByteArray(); + MpEngineFactory::sharedEngine()->loadActivityData( serializedRestorePath ); + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/src/mpmtpinfolink.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/src/mpmtpinfolink.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,98 @@ +/* +* 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: Music Player MTP info link. This class is used to provide a link +* to educate the user about MTP after a successful manual refresh. +* Basically this class inherits from HbLabel and catches mouse events, +* when clicked it opens a url already specified in settings. +* +*/ + +//Qt +#include +#include +#include + +//Orbit +#include + +//Local +#include "mpsettingsmanager.h" +#include "mpmtpinfolink.h" +#include "mptrace.h" + +/*! + \class MpMtpInfoLink + \brief MpMtpInfoLink provides a label that can handle mouse events. + + When label is clicked it opens a URL containing MTP information. +*/ + +/*! + Constructs MpMtpInfoLink. + */ +MpMtpInfoLink::MpMtpInfoLink() +{ + TX_ENTRY + setTextWrapping( Hb::TextWrapAnywhere ); + setMtpInfoText(); + TX_EXIT +} + +/*! + Destructs the MpMtpInfoLink. + */ +MpMtpInfoLink::~MpMtpInfoLink() +{ + TX_LOG +} + +/*! + Catches mouse press events. + */ +void MpMtpInfoLink::mousePressEvent( QGraphicsSceneMouseEvent *event ) +{ + Q_UNUSED( event ); +} + +/*! + Catches mouse release event. + */ +void MpMtpInfoLink::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) +{ + TX_ENTRY + QRectF itemRect = boundingRect(); + QPointF releasePoint = event->lastPos(); + if ( itemRect.contains( releasePoint ) ) { + QUrl url( MpSettingsManager::instance()->mtpInfoUrl() ); + QDesktopServices::openUrl( url ); + } + TX_EXIT +} + +/*! + \internal + Set text to be shown in html format + */ +void MpMtpInfoLink::setMtpInfoText() +{ + TX_ENTRY + QString url = MpSettingsManager::instance()->mtpInfoUrl(); + QString text = HbParameterLengthLimiter( "txt_mus_info_please_note_that_using_media_transfer" ).arg( url ); + QString htmlLink = "" + url + "" ; + text.replace( url, htmlLink ); + text = "

" + text + "

" ; + setHtml( text ); + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpmtpinfolink + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/inc/unittest_mpmtpinfolink.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/inc/unittest_mpmtpinfolink.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,53 @@ +/* +* 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: Unit test for MpMtpInfoLink +* +*/ + +#ifndef TESTMPMTPINFOLINK_H +#define TESTMPMTPINFOLINK_H + +#include + +class MpMtpInfoLink; + +class TestMpMtpInfoLink : public QObject +{ + Q_OBJECT + +public: + TestMpMtpInfoLink(); + virtual ~TestMpMtpInfoLink(); + +public slots: + + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + + void testConstructor(); + void testMousePressEvent(); + void testMouseReleaseEvent(); + void testSetMtpInfoText(); + +private: + MpMtpInfoLink *mTest; + +}; + +#endif // TESTMPMTPINFOLINK_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/src/unittest_mpmtpinfolink.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/src/unittest_mpmtpinfolink.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,149 @@ +/* +* 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: Unit test for MpMtpInfoLink +* +*/ + +#include + +#include "stub/inc/hblabel.h" +#include "stub/inc/qdesktopservices.h" +#include "stub/inc/mpsettingsmanager.h" +#include "unittest_mpmtpinfolink.h" + + +// Do this so we can access all member variables. +#define private public +#define protected public +#include "mpmtpinfolink.h" +#undef protected +#undef private + +//This so we can test private functions +#include "../../src/mpmtpinfolink.cpp" + + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + TestMpMtpInfoLink tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmtpinfolink.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpMtpInfoLink::TestMpMtpInfoLink() + : mTest( 0 ) +{ +} + +TestMpMtpInfoLink::~TestMpMtpInfoLink() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpMtpInfoLink::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpMtpInfoLink::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpMtpInfoLink::init() +{ + mTest = new MpMtpInfoLink(); +} + +/*! + Called after every testfunction. + */ +void TestMpMtpInfoLink::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Tests constructor. +*/ +void TestMpMtpInfoLink::testConstructor() +{ + QVERIFY(mTest->textWrapping() == Hb::TextWrapAnywhere ); +} + +/*! + testMousePressEvent. + */ +void TestMpMtpInfoLink::testMousePressEvent() +{ + //MpMtpInfoLink::mousePressEvent does nothing, included just to cover all functions. + QGraphicsSceneMouseEvent *event = new QGraphicsSceneMouseEvent(); + mTest->mousePressEvent( event ); + QVERIFY( mTest ); +} + +/*! + Tests HandleOpen. + */ +void TestMpMtpInfoLink::testMouseReleaseEvent() +{ + QGraphicsSceneMouseEvent *event = new QGraphicsSceneMouseEvent(); + + //Mock label rect: x=10, y=10, width=10, height=10); + QPointF releasePointOut(5,5); + QPointF releasePointIn(15,15); + + //Verify releasing the mouse outside the label + event->setLastPos( releasePointOut ); + mTest->mouseReleaseEvent( event ); + QCOMPARE( QDesktopServices::instance()->mOpenUrlCount, 0); + //Verify releasing the mouse inside the label + event->setLastPos( releasePointIn ); + mTest->mouseReleaseEvent( event ); + QCOMPARE( QDesktopServices::instance()->mOpenUrlCount, 1); +} + +/*! + testSetMtpInfoText + */ +void TestMpMtpInfoLink::testSetMtpInfoText( ) +{ + //Verify with an url + QVERIFY( mTest->plainText().length() == 0 ); + QVERIFY( mTest->html().length() > 0 ); + +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/inc/hblabel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/inc/hblabel.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2007 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: HbLabel stub for testing MpMtpInfoLink +* +*/ + +#ifndef HBLABEL_H +#define HBLABEL_H + +#include + +namespace Hb +{ +/*! + A type definition for text wrapping +*/ + enum TextWrapping + { + TextNoWrap = 0, + TextWordWrap = 1, + TextWrapAnywhere = 3 + }; +} + +class HbLabel : public QObject +{ + +public: + explicit HbLabel (); + virtual ~HbLabel (); + + QString plainText() const; + QString html() const; + + void setTextWrapping(Hb::TextWrapping mode); + Hb::TextWrapping textWrapping() const; + + void setPlainText(const QString &text); + void setHtml(const QString &text); + QRectF boundingRect(); + +private: + QString mText; + QString mHtmlText; + Hb::TextWrapping mTextWrapping; +}; + + +#endif // HBLABEL_H diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/inc/hbparameterlengthlimiter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/inc/hbparameterlengthlimiter.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2007 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: HbLabel stub for testing MpMtpInfoLink +* +*/ + +#ifndef HBPARAMETERLENGTHLIMITER_H +#define HBPARAMETERLENGTHLIMITER_H + +#include + +typedef QString HbParameterLengthLimiter; + +#endif // HBPARAMETERLENGTHLIMITER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/inc/mpsettingsmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/inc/mpsettingsmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,45 @@ +/* +* 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: MpSettingsManager stub for testing MpMtpInfoLink. +* +*/ + +#ifndef MPSETTINGSMANAGER_H +#define MPSETTINGSMANAGER_H + +#include +#include + +class MpSettingsManager: public QObject +{ + +Q_OBJECT + +private: + explicit MpSettingsManager(); + +public: + virtual ~MpSettingsManager(); + static MpSettingsManager *instance(); + static void SetUrl( QString url ); + static QString mtpInfoUrl(); + +public: + QString mMtpInfoUrl; + +private: + Q_DISABLE_COPY(MpSettingsManager) +}; + +#endif // MPSETTINGSMANAGER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/inc/qdesktopservices.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/inc/qdesktopservices.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,39 @@ +/* +* 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: QDesktopServices stub for testing MpMtpInfoLink. +* +*/ + +#ifndef QDESKTOPSERVICES_H +#define QDESKTOPSERVICES_H + +#include + +class QUrl; + +class QDesktopServices +{ +private: + explicit QDesktopServices(); + +public: + virtual ~QDesktopServices(); + static QDesktopServices *instance(); + static bool openUrl( const QUrl &url); + + int mOpenUrlCount; + +}; + +#endif // QDESKTOPSERVICES_H diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/src/hblabel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/src/hblabel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,107 @@ +/* +* 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: HbLabel stub for testing MpMtpInfoLink +* +*/ + +#include + +#include "stub/inc/hblabel.h" + + +/*! + Constructs the label + */ +HbLabel::HbLabel() +{ + mText = QString(); + mHtmlText = QString(); + mTextWrapping = Hb::TextNoWrap; +} + +/*! + Label destructor. + */ +HbLabel::~HbLabel () +{ +} + +/*! + Sets the text wrapping mode to \a mode. + \param mode - wrapping mode + + \sa Hb::TextWrapping + */ +void HbLabel::setTextWrapping(Hb::TextWrapping mode) +{ + mTextWrapping = mode; +} + +/*! + \return the label's current text wrapping mode. + Default value is NoWrap. + + \sa setTextWrapping() + */ +Hb::TextWrapping HbLabel::textWrapping() const +{ + return mTextWrapping; +} + +/*! + Sets the label contents to plain text containing \a text. Any previous content is cleared. + \param text - the plain text that is shown in the label. + + \sa setHtml() + */ +void HbLabel::setPlainText(const QString &text) +{ + mText = text; +} + +/*! + Sets the label contents to html text containing \a text. Any previous content is cleared. + \param text - the html text that is shown in the label. + + \sa setPlainText() + */ +void HbLabel::setHtml(const QString &text) +{ + mHtmlText = text; +} + +/*! + Plain text accessor. Returns empty string if not set. + */ +QString HbLabel::plainText() const +{ + return mText; +} + +/*! + Rich text text accessor. Returns empty string if not set. + */ +QString HbLabel::html() const +{ + return mHtmlText; +} + +/*! + Fake widget rectangle accessor. + */ +QRectF HbLabel::boundingRect() +{ + return QRectF(10, 10, 10, 10); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/src/mpsettingsmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/src/mpsettingsmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +/* +* 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: MpSettingsManager stub for testing MpMtpInfoLink. +* +*/ + +#include "stub/inc/mpsettingsmanager.h" + + +/*! + Constructs the MP Settings Manager. + */ +MpSettingsManager::MpSettingsManager() +{ + mMtpInfoUrl = QString( "http://nokia.com/" ); +} + +/*! + Destructs the settings manager. + */ +MpSettingsManager::~MpSettingsManager() +{ +} + +/*! + Returns the singleton instance to the settings manager. + */ +MpSettingsManager * MpSettingsManager::instance() +{ + static MpSettingsManager instance; + return &instance; +} + +void MpSettingsManager::SetUrl( QString url ) +{ + instance()->mMtpInfoUrl = url; +} + +/*! + Returns mtp info url. + */ +QString MpSettingsManager::mtpInfoUrl() +{ + return instance()->mMtpInfoUrl; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/stub/src/qdesktopservices.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/stub/src/qdesktopservices.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,53 @@ +/* +* 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: QDesktopServices stub for testing MpMtpInfoLink. +* +*/ + +#include + +#include "stub/inc/qdesktopservices.h" + + +/*! + Constructs the QDesktopServices. + */ +QDesktopServices::QDesktopServices() +{ + mOpenUrlCount = 0; +} + +/*! + Destructs the QDesktopServices. + */ +QDesktopServices::~QDesktopServices() +{ +} + +/*! + Returns the singleton instance to the QDesktopServices. + */ +QDesktopServices * QDesktopServices::instance() +{ + static QDesktopServices instance; + return &instance; +} + +bool QDesktopServices::openUrl( const QUrl &url) +{ + Q_UNUSED( url ); + instance()->mOpenUrlCount++; + return true; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 app/tsrc/unittest_mpmtpinfolink/unittest_mpmtpinfolink.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/tsrc/unittest_mpmtpinfolink/unittest_mpmtpinfolink.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,45 @@ +# +# 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: +# + +TEMPLATE = app +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmtpinfolink +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../inc \ + ../../../inc + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lestor.dll \ + -lfbscli.dll + +HEADERS += inc/unittest_mpmtpinfolink.h \ + ../../inc/mpmtpinfolink.h \ + stub/inc/hblabel.h \ + stub/inc/hbparameterlengthlimiter.h \ + stub/inc/mpsettingsmanager.h \ + stub/inc/qdesktopservices.h + +SOURCES += src/unittest_mpmtpinfolink.cpp \ + ../../src/mpmtpinfolink.cpp \ + stub/src/hblabel.cpp \ + stub/src/mpsettingsmanager.cpp \ + stub/src/qdesktopservices.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpcollectiondatamodel.h --- a/inc/mpcollectiondatamodel.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpcollectiondatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -20,6 +20,8 @@ #include +#include "mpmpxcollectionviewdefs.h" + class MpMpxCollectionData; class MpCollectionAlbumArtManager; @@ -32,7 +34,7 @@ class MPDATA_EXPORT MpCollectionDataModel : public QAbstractListModel { Q_OBJECT - + public: explicit MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent=0 ); @@ -46,22 +48,29 @@ QMimeData *mimeData(const QModelIndexList &indexes) const; bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); + void setItemVisibility(const QModelIndex &index, bool visible); MpMpxCollectionData *collectionData(); signals: + void orderChanged( int containerId, int itemId, int itemOrdinal, int newOrdinal ); + void dataReloaded(); public slots: + void setContext( TCollectionContext context ); void updateAlbumArt( int index ); void refreshModel(); + void reloadData(); private: - MpMpxCollectionData *mCollectionData; - MpCollectionAlbumArtManager *mAlbumArtManager; // Own + MpMpxCollectionData *mCollectionData; // Not own + MpCollectionAlbumArtManager *mAlbumArtManager; // Own int mRowCount; + int mAlbumIndexOffset; + int mHiddenItemIndex; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpcollectiontbonelistdatamodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/mpcollectiontbonelistdatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,69 @@ +/* +* 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: Music Player collection abstract data model. This is +* primarily used to support TBone Mediawall in Collection View. +* This model represents the list containing album songs. +* +*/ + +#ifndef MPCOLLECTIONTBONELISTDATAMODEL_H +#define MPCOLLECTIONTBONELISTDATAMODEL_H + +#include + +class MpMpxCollectionData; +class MpPlaybackData; + +#if defined(BUILD_MPDATA_LIB) +#define MPDATA_EXPORT Q_DECL_EXPORT +#else +#define MPDATA_EXPORT Q_DECL_IMPORT +#endif + +class MPDATA_EXPORT MpCollectionTBoneListDataModel : public QAbstractListModel +{ + Q_OBJECT + +public: + + explicit MpCollectionTBoneListDataModel( MpMpxCollectionData *collectionData, + MpPlaybackData *playbackData = 0, QObject *parent = 0 ); + virtual ~MpCollectionTBoneListDataModel(); + + int rowCount(const QModelIndex &parent=QModelIndex()) const; + QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const; + +signals: + + void albumDataChanged(); + void albumDataAvailable(); + +public slots: + + void refreshModel(); + void updateSong(); + void updatePlaybackState(); + +private: + + MpMpxCollectionData *mCollectionData; // Not own + MpPlaybackData *mPlaybackData; // Not own + int mRowCount; + int mCurrentSongId; + bool mPlaybackActive; + +}; + +#endif // MPCOLLECTIONTBONELISTDATAMODEL_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpcommondefs.h --- a/inc/mpcommondefs.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpcommondefs.h Thu Jul 22 16:32:33 2010 +0100 @@ -28,6 +28,7 @@ const long int KPlaybackViewUid = {0x10207C64}; const long int KSettingsViewUid = {0x10207C66}; const long int KDetailsViewUid = {0x2002D0AA}; + const long int KMediaWallViewUid = {0x10207C94}; /*! Command code sent from the views to the application main window @@ -35,10 +36,11 @@ */ enum MpCommandCode { Exit, + SendToBackground, ActivateCollectionView, ActivatePlaybackView, - ActivateSettingsView, - ActivateDetailsView + ActivateSettingsView, + ActivateDetailsView }; /*! @@ -51,6 +53,15 @@ FetchView, EmbeddedView }; + + /*! + Thumbnail type, used in collection model. + */ + enum MpThumbType{ + ListThumb, + TBoneThumb, + MediaWallThumb, + }; } #endif // MPCOMMONDEFS_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpengine.h --- a/inc/mpengine.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpengine.h Thu Jul 22 16:32:33 2010 +0100 @@ -25,16 +25,19 @@ class QStringList; -class QTranslator; -class HbPopup; class MpMpxHarvesterFrameworkWrapper; class MpSongScanner; class MpMediaKeyHandler; class MpMpxCollectionFrameworkWrapper; class MpMpxPlaybackFrameworkWrapper; +class MpMpxDetailsFrameworkWrapper; class MpMpxCollectionData; class MpPlaybackData; +class MpSongData; class XQSharableFile; +class MpEngineFactory; +class MpAudioEffectsFrameworkWrapper; +class MpEqualizerFrameworkWrapper; #if defined(BUILD_MPENGINE_LIB) #define MPENGINE_EXPORT Q_DECL_EXPORT @@ -46,9 +49,19 @@ class MPENGINE_EXPORT MpEngine : public QObject { Q_OBJECT + Q_PROPERTY(int activePreset READ activePreset) + + friend class MpEngineFactory; + +public: + enum EngineMode{ + StandAlone, + Fetch, + Embedded, + MediaBrowsing + }; private: - enum UsbBlockingState { USB_NotConnected, // Not connected USB_Connected, // Connected in MTP mode but not synchronizing @@ -61,15 +74,12 @@ public: virtual ~MpEngine(); - static MpEngine *instance(); - void initialize(MpCommon::MpViewMode viewMode, TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ) ); - void close(); - // Harvester related - bool verifyUsbBlocking( bool showMessage = false ); + bool verifyUsbBlocking( bool notify = false ); void checkForSystemEvents(); - + MpSongScanner *songScanner(); + // Collection related void openCollection( TCollectionContext context ); void openCollectionItem( int index ); @@ -82,58 +92,105 @@ void renamePlaylist( QString &newName ); void deleteSongs( QList &selection ); - void previewItem( int index ); void openIsolatedCollection( TCollectionContext context ); void releaseIsolatedCollection(); - + + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData = 0 ); + MpMpxCollectionData *collectionData(); - + // Playback related - + MpPlaybackData *playbackData(); + void shuffleAll(); + + + // Details related + MpSongData *songData(); + void retrieveSong(); + + // Audio Effects related + int balance(); + bool loudness(); + + // Equalizer related + void applyPreset( int presetIndex ); + void disableEqualizer(); + int activePreset(); + QStringList presetNames(); + + //Activity related + void saveActivityData( QByteArray &data ); + void loadActivityData( const QByteArray &data ); + signals: - + // Harvester related void libraryAboutToUpdate(); void libraryUpdated(); void usbBlocked( bool blocked ); - + void unableToCotinueDueUSB(); + void usbSynchronizationStarted(); + void usbSynchronizationFinished(); + void libraryRefreshNeeded(); + // Collection related void collectionPlaylistOpened(); + void aboutToAddSongs( int count ); void playlistSaved( bool success ); + void deleteStarted(TCollectionContext context, int Count); void songsDeleted( bool success ); void playlistsRenamed( bool success ); - void isolatedCollectionOpened( MpMpxCollectionData* collectionData ); + void containerContentsChanged(); + void restorePathFailed(); + + // Equalizer related + void equalizerReady(); public slots: // Harvester related - void refreshLibrary(); + void refreshLibrary( bool automaticRequest = false ); void handleScanStarted(); void handleScanEnded( int count, int error ); void handleDiskEvent( MpxDiskEvents event ); void handleUsbEvent( MpxUsbEvents event ); - void handleOutstandingNoteClosing(); - + // Collection related void reopenCollection(); void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ); + void handleDeleteStarted( TCollectionContext context, int count ); + void handleDeleteEnded( bool success ); + void cancelCollectionRequest(); - // Playback related - void playEmbedded( QString aFilename ); - void playEmbedded( const XQSharableFile& file ); + // Playback related + void playEmbedded( QString aFilename ); + void playEmbedded( const XQSharableFile& file ); void playPause(); void stop(); void skipForward(); + void startSeekForward(); + void stopSeeking(); void skipBackward(); + void startSeekBackward(); void setPosition( int position ); void setShuffle( bool mode ); void setRepeat( bool mode ); - + + // Audio Effects related + void setBalance( int balance ); + void setLoudness( bool mode ); + + // Equalizer related + void handleEqualizerReady(); + private: + + void initialize( TUid hostUid, EngineMode mode); // Harvester related void handleUsbMassStorageStartEvent(); @@ -141,10 +198,7 @@ void handleUsbMtpStartEvent(); void handleUsbMtpEndEvent(); void handleUsbMtpNotActive(); - void changeUsbBlockingState( UsbBlockingState state ); - void launchBlockingNote(); - void setOutstandingPopup( HbPopup *popup ); private: @@ -154,21 +208,27 @@ MpMpxHarvesterFrameworkWrapper *mMpxHarvesterWrapper; // Own MpSongScanner *mSongScanner; // Own MpMediaKeyHandler *mMediaKeyHandler; // Own - HbPopup *mUsbOutstandingNote; // Own - + // Collection related MpMpxCollectionFrameworkWrapper *mMpxCollectionWrapper; //Own // Playback related MpMpxPlaybackFrameworkWrapper *mMpxPlaybackWrapper; //Own - + + // Details related + MpMpxDetailsFrameworkWrapper *mMpxDetailsWrapper; // Own + + // Audio Effects related + MpAudioEffectsFrameworkWrapper *mAudioEffectsWrapper; // Own + + // Equalizer related + MpEqualizerFrameworkWrapper *mEqualizerWrapper; // Own + int mCurrentPresetIndex; + // General - QTranslator *mMpTranslator; // Own UsbBlockingState mUsbBlockingState; UsbBlockingState mPreviousUsbState; - MpCommon::MpViewMode mViewMode; TUid mHostUid; - }; #endif // MPENGINE_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpenginefactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/mpenginefactory.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,59 @@ +/* +* 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: Music Player engine. +* +*/ + +#ifndef MPENGINEFACTORY_H +#define MPENGINEFACTORY_H + +#include + +#include "mpengine.h" +#include "mpcommondefs.h" + + +#if defined(BUILD_MPENGINE_LIB) +#define MPENGINE_EXPORT Q_DECL_EXPORT +#else +#define MPENGINE_EXPORT Q_DECL_IMPORT +#endif + + +class MPENGINE_EXPORT MpEngineFactory : public QObject +{ + Q_OBJECT + +private: + explicit MpEngineFactory(); + +public: + virtual ~MpEngineFactory(); + static MpEngineFactory * instance(); + + static MpEngine *createSharedEngine( TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ), MpEngine::EngineMode mode = MpEngine::StandAlone ); + static MpEngine *createIsolatedEngine( MpEngine::EngineMode mode ); + static MpEngine *sharedEngine(); + static void close(); + +private: + + Q_DISABLE_COPY( MpEngineFactory ) + + MpEngine *mSharedEngine; + QList mEngines; + +}; + +#endif // MPENGINEFACTORY_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpmpxcollectiondata.h --- a/inc/mpmpxcollectiondata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -65,16 +65,30 @@ int itemCount( int index ); int containerId(); int itemId(int index); + int albumSongId( int index ); void removeItem(int index); bool testCachedItem( int itemId ); void insertCachedItem(int index); - void setMpxMedia( const CMPXMedia& entries ); + bool setCurrentAlbum( int index ); + int currentAlbumIndex() const; + int albumSongsCount() const; + QString albumSongData( int index, MpMpxCollectionData::DataType type ) const; + + void setMpxMedia( const CMPXMedia& entries, bool reopen=false ); const CMPXMedia& containerMedia(); + void setContext( TCollectionContext context ); + void setAlbumContent( const CMPXMedia& albumContent ); + int itemIndex( int itemUniqueId ); + int albumSongIndex( int songUniqueId ); signals: void contextChanged( TCollectionContext context ); + void dataChanged(); + void albumDataChanged(); + void refreshAlbumSongs(); + private: Q_DISABLE_COPY(MpMpxCollectionData) diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpmpxcollectionviewdefs.h --- a/inc/mpmpxcollectionviewdefs.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpmpxcollectionviewdefs.h Thu Jul 22 16:32:33 2010 +0100 @@ -25,15 +25,15 @@ enum TCollectionContext { ECollectionContextUnknown = 0, ECollectionContextAllSongs, - ECollectionContextArtists, - ECollectionContextArtistAlbums, - ECollectionContextArtistSongs, + ECollectionContextArtists, + ECollectionContextArtistAlbums, + ECollectionContextArtistAlbumsTBone, + ECollectionContextArtistAllSongs, ECollectionContextAlbums, - ECollectionContextAlbumSongs, + ECollectionContextAlbumsTBone, ECollectionContextPlaylists, ECollectionContextPlaylistSongs, - ECollectionContextGenres, - ECollectionContextGenreSongs + ECollectionContextAlbumsMediaWall }; // Register so type can be used in signal and slot connection Q_DECLARE_METATYPE(TCollectionContext) diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpnowplayingwidget.h --- a/inc/mpnowplayingwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpnowplayingwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -31,6 +31,8 @@ //forward declartions class QGraphicsSceneMouseEvent; class MpNowPlayingWidgetPrivate; +class HbFrameItem; + class MPNOWPLAYINGBANNER_EXPORT MpNowPlayingWidget : public HbWidget { @@ -38,11 +40,11 @@ friend class MpNowPlayingWidgetPrivate; public: - explicit MpNowPlayingWidget(long int playerId, QGraphicsItem *parent=0 ); + explicit MpNowPlayingWidget( QGraphicsItem *parent=0 ); virtual ~MpNowPlayingWidget(); void setEnabled( bool enabled ); - void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, - QWidget *widget = 0 ); + void resizeEvent(QGraphicsSceneResizeEvent *event); + bool isBannerAttached(); signals: void clicked(); @@ -51,12 +53,12 @@ private: void mousePressEvent( QGraphicsSceneMouseEvent *event ); void mouseReleaseEvent( QGraphicsSceneMouseEvent *event ); - void changeEvent(QEvent *event); + void mouseMoveEvent( QGraphicsSceneMouseEvent *event ); private: Q_DISABLE_COPY(MpNowPlayingWidget) MpNowPlayingWidgetPrivate * const d_ptr; //owned - + HbFrameItem *mFrameItem; }; #endif // MPNOWPLAYINGWIDGET_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpplaybackdata.h --- a/inc/mpplaybackdata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpplaybackdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -22,9 +22,10 @@ #include #include +#include + //forward declartions -class HbIcon; class ThumbnailManager; #if defined(BUILD_MPDATA_LIB) @@ -40,6 +41,7 @@ public: enum SimplifiedState { + NotPlaying, Playing, Paused, Stopped @@ -61,14 +63,20 @@ const QString& album() const; bool setUri( const QString& uri ); const QString& uri() const; - void setAlbumArtUri( const QString& albumArtUri ); void albumArt( HbIcon& icon ) const; - + bool setAlbumId( int id ); + int albumId(); + bool setId( int id ); + int id(); + bool setRealAudio( bool mode ); + bool realAudio(); void setPlaybackState( const SimplifiedState state ); MpPlaybackData::SimplifiedState playbackState() const; void commitPlaybackInfo(); + void resetData(); + public slots: @@ -81,7 +89,7 @@ void albumArtReady(); void playbackStateChanged(); void playbackInfoChanged(); - + private: ThumbnailManager *mThumbnailManager; //owned @@ -93,9 +101,12 @@ QString mAlbum; QString mArtist; QString mUri; - HbIcon *mAlbumArt; - HbIcon *mDefaultAlbumArt; + int mAlbumId; + int mId; + HbIcon mAlbumArt; + HbIcon mDefaultAlbumArt; SimplifiedState mPlaybackState; + bool mRealAudio; Q_DISABLE_COPY(MpPlaybackData) }; diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpsettingsmanager.h --- a/inc/mpsettingsmanager.h Fri Jun 11 16:24:02 2010 +0100 +++ b/inc/mpsettingsmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -44,25 +44,38 @@ static bool shuffle(); static bool repeat(); static int preset(); + static bool inspireMe(); + static bool songDetailsGb(); + static bool showMtpInfo(); + static QString mtpInfoUrl(); public slots: void valueChanged(const XQSettingsKey& key, const QVariant& value); static void setShuffle(bool shuffle); static void setRepeat(bool repeat); static void setPreset(int preset); + static void setInspireMe(bool inspireme); + static void setSongDetailsGb(bool songdetails); + static void stopShowingMtpInfo(); signals: void shuffleChanged(bool shuffle); void repeatChanged(bool repeat); void presetChanged(int preset); + void InspireMeChanged(bool inspireme); + void SongDetailsGbChanged(bool songdetails); private: Q_DISABLE_COPY(MpSettingsManager) XQSettingsManager* mSettingsManager; - bool mFirstStartup; - bool mShuffle; - bool mRepeat; - int mPreset; + bool mFirstStartup; + bool mShuffle; + bool mRepeat; + int mPreset; + bool mInspireMe; + bool mSongDetailsGb; + bool mShowMtpInfo; + QString mMtpInfoUrl; }; #endif // MPSETTINGSMANAGER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpsongdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,135 @@ +/* +* 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: Metadata of song for details view. +* +*/ + +#ifndef MPSONGDATA_H +#define MPSONGDATA_H + +#include +#include +#include + +//forward declartions +class ThumbnailManager; +class HbIcon; + +#if defined(BUILD_MPDATA_LIB) +#define MPDATA_EXPORT Q_DECL_EXPORT +#else +#define MPDATA_EXPORT Q_DECL_IMPORT +#endif + +//class declaration +class MPDATA_EXPORT MpSongData : public QObject +{ + Q_OBJECT + +public: + explicit MpSongData( QObject *parent=0 ); + virtual ~MpSongData(); + + bool setTitle( const QString &title ); + bool setAlbum( const QString &album ); + bool setArtist( const QString &artist ); + bool setComment( const QString &comment ); + void setAlbumArtUri( const QString &albumArtUri ); + bool setYear( int date ); + bool setGenre( const QString &genre ); + bool setComposer( const QString &compoer ); + bool setAlbumTrack( const QString &albumtrack ); + void setLink( const QString &link ); + bool setFileName( const QString &fileName ); + bool setMimeType( const QString &mimeType ); + bool setDuration( int duration ); + bool setBitRate( int bitRate); + bool setSampleRate( int sampleRate ); + bool setSize( int size ); + bool setModified( const QString &modified ); + bool setCopyright( const QString ©right ); + bool setMusicURL( const QString &musicURL ); + bool setDrmProtected( bool drmProtected ); + + // inform details view when basic information is ready to accelerate UI update + void commitPlaybackInfo(); + // inform details view when details information is ready + void commitSongDetailInfo(); + void removeAlbumArtFile() const; //TODO: Remove when base64 starts to work + +public slots: + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + + int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } + + QString title() const; + QString album() const; + QString artist() const; + QString comment() const; + void albumArt( HbIcon& icon ) const; + QString year() const; + QString genre() const; + QString composer() const; + QString albumTrack() const; + QString link() const; + + QString fileName() const; + QString mimeType() const; + QString duration() const; + QString bitRate() const; + QString sampleRate() const; + QString size() const; + QString modified() const; + QString copyright() const; + QString musicURL() const; + bool isDrmProtected() const; + + QString albumArtBase64() const; + +signals: + void albumArtReady(); + void playbackInfoChanged(); + void songDetailInfoChanged(); + +private: + QString mTitle; + QString mAlbum; + QString mArtist; + QString mComment; + QString mComposer; + QString mGenre; + QString mYear; + QString mAlbumTrack; + HbIcon *mAlbumArt; + ThumbnailManager *mThumbnailManager; //owned + TInt mReqId; + QString currentAAUri; + HbIcon *mDefaultAlbumArt; + QString mLink; + QString mFileName; + QString mMimeType; + QString mDuration; + QString mBitRate; + QString mSampleRate; + QString mSize; + QString mModified; + QString mCopyright; + QString mMusicURL; + QString mTempAlbumArt; //TODO: Remove when base64 starts to work + bool mDrmProtected; + + Q_DISABLE_COPY(MpSongData) +}; + +#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 inc/mpsongscanner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/inc/mpsongscanner.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,71 @@ +/* +* 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: Music Player song scanner. +* +*/ + + +#ifndef MPSONGSCANNER_H +#define MPSONGSCANNER_H + +class MpMpxHarvesterFrameworkWrapper; + +#include +#include "mpmpxcommondefs.h" + +#if defined(BUILD_MPENGINE_LIB) +#define MPENGINE_EXPORT Q_DECL_EXPORT +#else +#define MPENGINE_EXPORT Q_DECL_IMPORT +#endif + +class MPENGINE_EXPORT MpSongScanner : public QObject +{ + Q_OBJECT + +public: + + enum ScanError{ + ScanErrorNone, + ScanGeneralError, + ScanErrorDiskFull, + ScanInterrupted + }; + + explicit MpSongScanner( MpMpxHarvesterFrameworkWrapper *wrapper, QObject *parent = 0 ); + virtual ~MpSongScanner(); + + void scan( bool automaticScan ); + bool isAutomaticScan(); + +signals: + void scanStarted(); + void scanCountChanged( int count ); + void scanFinished( int error, int itemsAdded ); + +public slots: + void cancelScan(); + void handleScanEnded( int numItemsAdded, int error ); + void handleDiskEvent( MpxDiskEvents event ); + +private: + + MpMpxHarvesterFrameworkWrapper *mMpxHarvesterWrapper; // Not own + bool mScanning; + bool mAutomaticScan; + +}; + +#endif // MPSONGSCANNER_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/bwins/mpdatau.def --- a/mpdata/bwins/mpdatau.def Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/bwins/mpdatau.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,87 +1,190 @@ EXPORTS ?tr@MpMpxCollectionData@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString MpMpxCollectionData::tr(char const *, char const *) - ?album@MpPlaybackData@@QBEABVQString@@XZ @ 2 NONAME ; class QString const & MpPlaybackData::album(void) const - ?dropMimeData@MpCollectionDataModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 3 NONAME ; bool MpCollectionDataModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &) - ?count@MpMpxCollectionData@@QBEHXZ @ 4 NONAME ; int MpMpxCollectionData::count(void) const - ?refreshModel@MpCollectionDataModel@@QAEXXZ @ 5 NONAME ; void MpCollectionDataModel::refreshModel(void) - ?contextChanged@MpMpxCollectionData@@IAEXW4TCollectionContext@@@Z @ 6 NONAME ; void MpMpxCollectionData::contextChanged(enum TCollectionContext) - ?testCachedItem@MpMpxCollectionData@@QAE_NH@Z @ 7 NONAME ; bool MpMpxCollectionData::testCachedItem(int) - ?tr@MpCollectionDataModel@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString MpCollectionDataModel::tr(char const *, char const *) - ?mimeData@MpCollectionDataModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 9 NONAME ; class QMimeData * MpCollectionDataModel::mimeData(class QList const &) const - ?setTitle@MpPlaybackData@@QAE_NABVQString@@@Z @ 10 NONAME ; bool MpPlaybackData::setTitle(class QString const &) - ?trUtf8@MpMpxCollectionData@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString MpMpxCollectionData::trUtf8(char const *, char const *, int) - ?tr@MpMpxCollectionData@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString MpMpxCollectionData::tr(char const *, char const *, int) - ??_EMpMpxCollectionData@@UAE@I@Z @ 13 NONAME ; MpMpxCollectionData::~MpMpxCollectionData(unsigned int) - ?trUtf8@MpCollectionDataModel@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString MpCollectionDataModel::trUtf8(char const *, char const *) - ?qt_metacast@MpCollectionDataModel@@UAEPAXPBD@Z @ 15 NONAME ; void * MpCollectionDataModel::qt_metacast(char const *) - ?staticMetaObject@MpCollectionDataModel@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const MpCollectionDataModel::staticMetaObject - ?updateAlbumArt@MpCollectionDataModel@@QAEXH@Z @ 17 NONAME ; void MpCollectionDataModel::updateAlbumArt(int) - ??_EMpPlaybackData@@UAE@I@Z @ 18 NONAME ; MpPlaybackData::~MpPlaybackData(unsigned int) - ?metaObject@MpPlaybackData@@UBEPBUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const * MpPlaybackData::metaObject(void) const + ?dropMimeData@MpCollectionDataModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 2 NONAME ; bool MpCollectionDataModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &) + ?currentAlbumIndex@MpMpxCollectionData@@QBEHXZ @ 3 NONAME ; int MpMpxCollectionData::currentAlbumIndex(void) const + ?refreshModel@MpCollectionDataModel@@QAEXXZ @ 4 NONAME ; void MpCollectionDataModel::refreshModel(void) + ?contextChanged@MpMpxCollectionData@@IAEXW4TCollectionContext@@@Z @ 5 NONAME ; void MpMpxCollectionData::contextChanged(enum TCollectionContext) + ?mimeData@MpCollectionDataModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 6 NONAME ; class QMimeData * MpCollectionDataModel::mimeData(class QList const &) const + ?fileName@MpSongData@@QBE?AVQString@@XZ @ 7 NONAME ; class QString MpSongData::fileName(void) const + ?trUtf8@MpMpxCollectionData@@SA?AVQString@@PBD0H@Z @ 8 NONAME ; class QString MpMpxCollectionData::trUtf8(char const *, char const *, int) + ?tr@MpMpxCollectionData@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString MpMpxCollectionData::tr(char const *, char const *, int) + ??_EMpMpxCollectionData@@UAE@I@Z @ 10 NONAME ; MpMpxCollectionData::~MpMpxCollectionData(unsigned int) + ?qt_metacast@MpCollectionDataModel@@UAEPAXPBD@Z @ 11 NONAME ; void * MpCollectionDataModel::qt_metacast(char const *) + ?updateAlbumArt@MpCollectionDataModel@@QAEXH@Z @ 12 NONAME ; void MpCollectionDataModel::updateAlbumArt(int) + ?resetData@MpPlaybackData@@QAEXXZ @ 13 NONAME ; void MpPlaybackData::resetData(void) + ??_EMpPlaybackData@@UAE@I@Z @ 14 NONAME ; MpPlaybackData::~MpPlaybackData(unsigned int) + ?setLink@MpSongData@@QAEXABVQString@@@Z @ 15 NONAME ; void MpSongData::setLink(class QString const &) + ?metaObject@MpPlaybackData@@UBEPBUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const * MpPlaybackData::metaObject(void) const + ?setCopyright@MpSongData@@QAE_NABVQString@@@Z @ 17 NONAME ; bool MpSongData::setCopyright(class QString const &) + ?refreshModel@MpCollectionTBoneListDataModel@@QAEXXZ @ 18 NONAME ; void MpCollectionTBoneListDataModel::refreshModel(void) + ?title@MpSongData@@QBE?AVQString@@XZ @ 19 NONAME ; class QString MpSongData::title(void) const ?data@MpCollectionDataModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 20 NONAME ; class QVariant MpCollectionDataModel::data(class QModelIndex const &, int) const - ?removeItem@MpMpxCollectionData@@QAEXH@Z @ 21 NONAME ; void MpMpxCollectionData::removeItem(int) - ?getStaticMetaObject@MpMpxCollectionData@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & MpMpxCollectionData::getStaticMetaObject(void) - ?mimeTypes@MpCollectionDataModel@@UBE?AVQStringList@@XZ @ 23 NONAME ; class QStringList MpCollectionDataModel::mimeTypes(void) const - ?itemCount@MpMpxCollectionData@@QAEHH@Z @ 24 NONAME ; int MpMpxCollectionData::itemCount(int) - ?collectionTitle@MpMpxCollectionData@@QBE?AVQString@@XZ @ 25 NONAME ; class QString MpMpxCollectionData::collectionTitle(void) const - ?isAutoPlaylist@MpMpxCollectionData@@QAE_NH@Z @ 26 NONAME ; bool MpMpxCollectionData::isAutoPlaylist(int) - ?tr@MpPlaybackData@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString MpPlaybackData::tr(char const *, char const *) - ?qt_metacall@MpPlaybackData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 28 NONAME ; int MpPlaybackData::qt_metacall(enum QMetaObject::Call, int, void * *) - ?position@MpPlaybackData@@QBEHXZ @ 29 NONAME ; int MpPlaybackData::position(void) const - ?setAlbumArtUri@MpPlaybackData@@QAEXABVQString@@@Z @ 30 NONAME ; void MpPlaybackData::setAlbumArtUri(class QString const &) - ??_EMpCollectionDataModel@@UAE@I@Z @ 31 NONAME ; MpCollectionDataModel::~MpCollectionDataModel(unsigned int) - ?insertCachedItem@MpMpxCollectionData@@QAEXH@Z @ 32 NONAME ; void MpMpxCollectionData::insertCachedItem(int) + ?setAlbumId@MpPlaybackData@@QAE_NH@Z @ 21 NONAME ; bool MpPlaybackData::setAlbumId(int) + ?setDrmProtected@MpSongData@@QAE_N_N@Z @ 22 NONAME ; bool MpSongData::setDrmProtected(bool) + ?mimeType@MpSongData@@QBE?AVQString@@XZ @ 23 NONAME ; class QString MpSongData::mimeType(void) const + ?removeItem@MpMpxCollectionData@@QAEXH@Z @ 24 NONAME ; void MpMpxCollectionData::removeItem(int) + ?getStaticMetaObject@MpMpxCollectionData@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & MpMpxCollectionData::getStaticMetaObject(void) + ?itemCount@MpMpxCollectionData@@QAEHH@Z @ 26 NONAME ; int MpMpxCollectionData::itemCount(int) + ?isAutoPlaylist@MpMpxCollectionData@@QAE_NH@Z @ 27 NONAME ; bool MpMpxCollectionData::isAutoPlaylist(int) + ?position@MpPlaybackData@@QBEHXZ @ 28 NONAME ; int MpPlaybackData::position(void) const + ?setAlbumArtUri@MpPlaybackData@@QAEXABVQString@@@Z @ 29 NONAME ; void MpPlaybackData::setAlbumArtUri(class QString const &) + ??_EMpCollectionDataModel@@UAE@I@Z @ 30 NONAME ; MpCollectionDataModel::~MpCollectionDataModel(unsigned int) + ?qt_metacast@MpSongData@@UAEPAXPBD@Z @ 31 NONAME ; void * MpSongData::qt_metacast(char const *) + ?setBitRate@MpSongData@@QAE_NH@Z @ 32 NONAME ; bool MpSongData::setBitRate(int) ?positionChanged@MpPlaybackData@@IAEXXZ @ 33 NONAME ; void MpPlaybackData::positionChanged(void) - ?title@MpPlaybackData@@QBEABVQString@@XZ @ 34 NONAME ; class QString const & MpPlaybackData::title(void) const - ??0MpMpxCollectionData@@QAE@PAVQObject@@@Z @ 35 NONAME ; MpMpxCollectionData::MpMpxCollectionData(class QObject *) - ?setArtist@MpPlaybackData@@QAE_NABVQString@@@Z @ 36 NONAME ; bool MpPlaybackData::setArtist(class QString const &) + ?tr@MpCollectionTBoneListDataModel@@SA?AVQString@@PBD0H@Z @ 34 NONAME ; class QString MpCollectionTBoneListDataModel::tr(char const *, char const *, int) + ?itemIndex@MpMpxCollectionData@@QAEHH@Z @ 35 NONAME ; int MpMpxCollectionData::itemIndex(int) + ?title@MpPlaybackData@@QBEABVQString@@XZ @ 36 NONAME ; class QString const & MpPlaybackData::title(void) const ?qt_metacall@MpCollectionDataModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 37 NONAME ; int MpCollectionDataModel::qt_metacall(enum QMetaObject::Call, int, void * *) - ??1MpMpxCollectionData@@UAE@XZ @ 38 NONAME ; MpMpxCollectionData::~MpMpxCollectionData(void) - ?playbackState@MpPlaybackData@@QBE?AW4SimplifiedState@1@XZ @ 39 NONAME ; enum MpPlaybackData::SimplifiedState MpPlaybackData::playbackState(void) const - ??0MpPlaybackData@@QAE@PAVQObject@@@Z @ 40 NONAME ; MpPlaybackData::MpPlaybackData(class QObject *) - ?trUtf8@MpCollectionDataModel@@SA?AVQString@@PBD0H@Z @ 41 NONAME ; class QString MpCollectionDataModel::trUtf8(char const *, char const *, int) - ?context@MpMpxCollectionData@@QBE?AW4TCollectionContext@@XZ @ 42 NONAME ; enum TCollectionContext MpMpxCollectionData::context(void) const - ?metaObject@MpMpxCollectionData@@UBEPBUQMetaObject@@XZ @ 43 NONAME ; struct QMetaObject const * MpMpxCollectionData::metaObject(void) const - ?qt_metacast@MpMpxCollectionData@@UAEPAXPBD@Z @ 44 NONAME ; void * MpMpxCollectionData::qt_metacast(char const *) - ?qt_metacast@MpPlaybackData@@UAEPAXPBD@Z @ 45 NONAME ; void * MpPlaybackData::qt_metacast(char const *) - ?supportedDropActions@MpCollectionDataModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 46 NONAME ; class QFlags MpCollectionDataModel::supportedDropActions(void) const - ?durationChanged@MpPlaybackData@@IAEXXZ @ 47 NONAME ; void MpPlaybackData::durationChanged(void) - ?staticMetaObject@MpPlaybackData@@2UQMetaObject@@B @ 48 NONAME ; struct QMetaObject const MpPlaybackData::staticMetaObject - ?containerId@MpMpxCollectionData@@QAEHXZ @ 49 NONAME ; int MpMpxCollectionData::containerId(void) - ?orderChanged@MpCollectionDataModel@@IAEXHHHH@Z @ 50 NONAME ; void MpCollectionDataModel::orderChanged(int, int, int, int) - ?containerMedia@MpMpxCollectionData@@QAEABVCMPXMedia@@XZ @ 51 NONAME ; class CMPXMedia const & MpMpxCollectionData::containerMedia(void) - ??1MpCollectionDataModel@@UAE@XZ @ 52 NONAME ; MpCollectionDataModel::~MpCollectionDataModel(void) - ?setUri@MpPlaybackData@@QAE_NABVQString@@@Z @ 53 NONAME ; bool MpPlaybackData::setUri(class QString const &) - ?tr@MpCollectionDataModel@@SA?AVQString@@PBD0H@Z @ 54 NONAME ; class QString MpCollectionDataModel::tr(char const *, char const *, int) - ?collectionData@MpCollectionDataModel@@QAEPAVMpMpxCollectionData@@XZ @ 55 NONAME ; class MpMpxCollectionData * MpCollectionDataModel::collectionData(void) - ??0MpCollectionDataModel@@QAE@PAVMpMpxCollectionData@@PAVQObject@@@Z @ 56 NONAME ; MpCollectionDataModel::MpCollectionDataModel(class MpMpxCollectionData *, class QObject *) - ?isAutoPlaylist@MpMpxCollectionData@@QAE_NXZ @ 57 NONAME ; bool MpMpxCollectionData::isAutoPlaylist(void) - ?trUtf8@MpMpxCollectionData@@SA?AVQString@@PBD0@Z @ 58 NONAME ; class QString MpMpxCollectionData::trUtf8(char const *, char const *) - ?setPosition@MpPlaybackData@@QAEXH@Z @ 59 NONAME ; void MpPlaybackData::setPosition(int) - ??1MpPlaybackData@@UAE@XZ @ 60 NONAME ; MpPlaybackData::~MpPlaybackData(void) - ?setAlbum@MpPlaybackData@@QAE_NABVQString@@@Z @ 61 NONAME ; bool MpPlaybackData::setAlbum(class QString const &) - ?setPlaybackState@MpPlaybackData@@QAEXW4SimplifiedState@1@@Z @ 62 NONAME ; void MpPlaybackData::setPlaybackState(enum MpPlaybackData::SimplifiedState) - ?trUtf8@MpPlaybackData@@SA?AVQString@@PBD0@Z @ 63 NONAME ; class QString MpPlaybackData::trUtf8(char const *, char const *) - ?itemId@MpMpxCollectionData@@QAEHH@Z @ 64 NONAME ; int MpMpxCollectionData::itemId(int) - ?setMpxMedia@MpMpxCollectionData@@QAEXABVCMPXMedia@@@Z @ 65 NONAME ; void MpMpxCollectionData::setMpxMedia(class CMPXMedia const &) - ?artist@MpPlaybackData@@QBEABVQString@@XZ @ 66 NONAME ; class QString const & MpPlaybackData::artist(void) const - ?getStaticMetaObject@MpPlaybackData@@SAABUQMetaObject@@XZ @ 67 NONAME ; struct QMetaObject const & MpPlaybackData::getStaticMetaObject(void) - ?albumArt@MpPlaybackData@@QBEXAAVHbIcon@@@Z @ 68 NONAME ; void MpPlaybackData::albumArt(class HbIcon &) const - ?playbackStateChanged@MpPlaybackData@@IAEXXZ @ 69 NONAME ; void MpPlaybackData::playbackStateChanged(void) - ?duration@MpPlaybackData@@QBEHXZ @ 70 NONAME ; int MpPlaybackData::duration(void) const - ?commitPlaybackInfo@MpPlaybackData@@QAEXXZ @ 71 NONAME ; void MpPlaybackData::commitPlaybackInfo(void) - ?removeRows@MpCollectionDataModel@@UAE_NHHABVQModelIndex@@@Z @ 72 NONAME ; bool MpCollectionDataModel::removeRows(int, int, class QModelIndex const &) - ?getStaticMetaObject@MpCollectionDataModel@@SAABUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const & MpCollectionDataModel::getStaticMetaObject(void) - ?setDuration@MpPlaybackData@@QAEXH@Z @ 74 NONAME ; void MpPlaybackData::setDuration(int) - ?playbackInfoChanged@MpPlaybackData@@IAEXXZ @ 75 NONAME ; void MpPlaybackData::playbackInfoChanged(void) - ?itemData@MpMpxCollectionData@@QBE?AVQString@@HW4DataType@1@@Z @ 76 NONAME ; class QString MpMpxCollectionData::itemData(int, enum MpMpxCollectionData::DataType) const - ?uri@MpPlaybackData@@QBEABVQString@@XZ @ 77 NONAME ; class QString const & MpPlaybackData::uri(void) const - ?rowCount@MpCollectionDataModel@@UBEHABVQModelIndex@@@Z @ 78 NONAME ; int MpCollectionDataModel::rowCount(class QModelIndex const &) const - ?trUtf8@MpPlaybackData@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString MpPlaybackData::trUtf8(char const *, char const *, int) - ?thumbnailReady@MpPlaybackData@@QAEXABVQPixmap@@PAXHH@Z @ 80 NONAME ; void MpPlaybackData::thumbnailReady(class QPixmap const &, void *, int, int) - ?staticMetaObject@MpMpxCollectionData@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const MpMpxCollectionData::staticMetaObject - ?tr@MpPlaybackData@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString MpPlaybackData::tr(char const *, char const *, int) - ?metaObject@MpCollectionDataModel@@UBEPBUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const * MpCollectionDataModel::metaObject(void) const - ?albumArtReady@MpPlaybackData@@IAEXXZ @ 84 NONAME ; void MpPlaybackData::albumArtReady(void) - ?qt_metacall@MpMpxCollectionData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int MpMpxCollectionData::qt_metacall(enum QMetaObject::Call, int, void * *) + ?artist@MpSongData@@QBE?AVQString@@XZ @ 38 NONAME ; class QString MpSongData::artist(void) const + ?setMpxMedia@MpMpxCollectionData@@QAEXABVCMPXMedia@@_N@Z @ 39 NONAME ; void MpMpxCollectionData::setMpxMedia(class CMPXMedia const &, bool) + ?staticMetaObject@MpSongData@@2UQMetaObject@@B @ 40 NONAME ; struct QMetaObject const MpSongData::staticMetaObject + ?playbackState@MpPlaybackData@@QBE?AW4SimplifiedState@1@XZ @ 41 NONAME ; enum MpPlaybackData::SimplifiedState MpPlaybackData::playbackState(void) const + ?tr@MpSongData@@SA?AVQString@@PBD0H@Z @ 42 NONAME ; class QString MpSongData::tr(char const *, char const *, int) + ?context@MpMpxCollectionData@@QBE?AW4TCollectionContext@@XZ @ 43 NONAME ; enum TCollectionContext MpMpxCollectionData::context(void) const + ?supportedDropActions@MpCollectionDataModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 44 NONAME ; class QFlags MpCollectionDataModel::supportedDropActions(void) const + ?setContext@MpMpxCollectionData@@QAEXW4TCollectionContext@@@Z @ 45 NONAME ; void MpMpxCollectionData::setContext(enum TCollectionContext) + ?durationChanged@MpPlaybackData@@IAEXXZ @ 46 NONAME ; void MpPlaybackData::durationChanged(void) + ?staticMetaObject@MpPlaybackData@@2UQMetaObject@@B @ 47 NONAME ; struct QMetaObject const MpPlaybackData::staticMetaObject + ?staticMetaObject@MpCollectionTBoneListDataModel@@2UQMetaObject@@B @ 48 NONAME ; struct QMetaObject const MpCollectionTBoneListDataModel::staticMetaObject + ?orderChanged@MpCollectionDataModel@@IAEXHHHH@Z @ 49 NONAME ; void MpCollectionDataModel::orderChanged(int, int, int, int) + ?metaObject@MpCollectionTBoneListDataModel@@UBEPBUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const * MpCollectionTBoneListDataModel::metaObject(void) const + ?tr@MpCollectionTBoneListDataModel@@SA?AVQString@@PBD0@Z @ 51 NONAME ; class QString MpCollectionTBoneListDataModel::tr(char const *, char const *) + ?bitRate@MpSongData@@QBE?AVQString@@XZ @ 52 NONAME ; class QString MpSongData::bitRate(void) const + ?albumDataAvailable@MpCollectionTBoneListDataModel@@IAEXXZ @ 53 NONAME ; void MpCollectionTBoneListDataModel::albumDataAvailable(void) + ?setModified@MpSongData@@QAE_NABVQString@@@Z @ 54 NONAME ; bool MpSongData::setModified(class QString const &) + ?setUri@MpPlaybackData@@QAE_NABVQString@@@Z @ 55 NONAME ; bool MpPlaybackData::setUri(class QString const &) + ?qt_metacast@MpCollectionTBoneListDataModel@@UAEPAXPBD@Z @ 56 NONAME ; void * MpCollectionTBoneListDataModel::qt_metacast(char const *) + ?removeAlbumArtFile@MpSongData@@QBEXXZ @ 57 NONAME ; void MpSongData::removeAlbumArtFile(void) const + ?duration@MpSongData@@QBE?AVQString@@XZ @ 58 NONAME ; class QString MpSongData::duration(void) const + ?qt_metacall@MpCollectionTBoneListDataModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 59 NONAME ; int MpCollectionTBoneListDataModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ??0MpCollectionDataModel@@QAE@PAVMpMpxCollectionData@@PAVQObject@@@Z @ 60 NONAME ; MpCollectionDataModel::MpCollectionDataModel(class MpMpxCollectionData *, class QObject *) + ?isAutoPlaylist@MpMpxCollectionData@@QAE_NXZ @ 61 NONAME ; bool MpMpxCollectionData::isAutoPlaylist(void) + ?updatePlaybackState@MpCollectionTBoneListDataModel@@QAEXXZ @ 62 NONAME ; void MpCollectionTBoneListDataModel::updatePlaybackState(void) + ?setAlbum@MpPlaybackData@@QAE_NABVQString@@@Z @ 63 NONAME ; bool MpPlaybackData::setAlbum(class QString const &) + ?setGenre@MpSongData@@QAE_NABVQString@@@Z @ 64 NONAME ; bool MpSongData::setGenre(class QString const &) + ?setCurrentAlbum@MpMpxCollectionData@@QAE_NH@Z @ 65 NONAME ; bool MpMpxCollectionData::setCurrentAlbum(int) + ?itemId@MpMpxCollectionData@@QAEHH@Z @ 66 NONAME ; int MpMpxCollectionData::itemId(int) + ?trUtf8@MpSongData@@SA?AVQString@@PBD0H@Z @ 67 NONAME ; class QString MpSongData::trUtf8(char const *, char const *, int) + ?artist@MpPlaybackData@@QBEABVQString@@XZ @ 68 NONAME ; class QString const & MpPlaybackData::artist(void) const + ?setFileName@MpSongData@@QAE_NABVQString@@@Z @ 69 NONAME ; bool MpSongData::setFileName(class QString const &) + ?setContext@MpCollectionDataModel@@QAEXW4TCollectionContext@@@Z @ 70 NONAME ; void MpCollectionDataModel::setContext(enum TCollectionContext) + ?commitPlaybackInfo@MpSongData@@QAEXXZ @ 71 NONAME ; void MpSongData::commitPlaybackInfo(void) + ?sampleRate@MpSongData@@QBE?AVQString@@XZ @ 72 NONAME ; class QString MpSongData::sampleRate(void) const + ?playbackStateChanged@MpPlaybackData@@IAEXXZ @ 73 NONAME ; void MpPlaybackData::playbackStateChanged(void) + ?copyright@MpSongData@@QBE?AVQString@@XZ @ 74 NONAME ; class QString MpSongData::copyright(void) const + ?duration@MpPlaybackData@@QBEHXZ @ 75 NONAME ; int MpPlaybackData::duration(void) const + ?genre@MpSongData@@QBE?AVQString@@XZ @ 76 NONAME ; class QString MpSongData::genre(void) const + ?setMimeType@MpSongData@@QAE_NABVQString@@@Z @ 77 NONAME ; bool MpSongData::setMimeType(class QString const &) + ??0MpCollectionTBoneListDataModel@@QAE@PAVMpMpxCollectionData@@PAVMpPlaybackData@@PAVQObject@@@Z @ 78 NONAME ; MpCollectionTBoneListDataModel::MpCollectionTBoneListDataModel(class MpMpxCollectionData *, class MpPlaybackData *, class QObject *) + ?getStaticMetaObject@MpCollectionDataModel@@SAABUQMetaObject@@XZ @ 79 NONAME ; struct QMetaObject const & MpCollectionDataModel::getStaticMetaObject(void) + ?setSampleRate@MpSongData@@QAE_NH@Z @ 80 NONAME ; bool MpSongData::setSampleRate(int) + ?setDuration@MpPlaybackData@@QAEXH@Z @ 81 NONAME ; void MpPlaybackData::setDuration(int) + ?albumDataChanged@MpMpxCollectionData@@IAEXXZ @ 82 NONAME ; void MpMpxCollectionData::albumDataChanged(void) + ?setMusicURL@MpSongData@@QAE_NABVQString@@@Z @ 83 NONAME ; bool MpSongData::setMusicURL(class QString const &) + ??0MpSongData@@QAE@PAVQObject@@@Z @ 84 NONAME ; MpSongData::MpSongData(class QObject *) + ?setComment@MpSongData@@QAE_NABVQString@@@Z @ 85 NONAME ; bool MpSongData::setComment(class QString const &) + ?uri@MpPlaybackData@@QBEABVQString@@XZ @ 86 NONAME ; class QString const & MpPlaybackData::uri(void) const + ?albumArtReady@MpSongData@@IAEXXZ @ 87 NONAME ; void MpSongData::albumArtReady(void) + ?rowCount@MpCollectionDataModel@@UBEHABVQModelIndex@@@Z @ 88 NONAME ; int MpCollectionDataModel::rowCount(class QModelIndex const &) const + ?trUtf8@MpPlaybackData@@SA?AVQString@@PBD0H@Z @ 89 NONAME ; class QString MpPlaybackData::trUtf8(char const *, char const *, int) + ?thumbnailReady@MpPlaybackData@@QAEXABVQPixmap@@PAXHH@Z @ 90 NONAME ; void MpPlaybackData::thumbnailReady(class QPixmap const &, void *, int, int) + ?staticMetaObject@MpMpxCollectionData@@2UQMetaObject@@B @ 91 NONAME ; struct QMetaObject const MpMpxCollectionData::staticMetaObject + ?tr@MpPlaybackData@@SA?AVQString@@PBD0H@Z @ 92 NONAME ; class QString MpPlaybackData::tr(char const *, char const *, int) + ?modified@MpSongData@@QBE?AVQString@@XZ @ 93 NONAME ; class QString MpSongData::modified(void) const + ?setRealAudio@MpPlaybackData@@QAE_N_N@Z @ 94 NONAME ; bool MpPlaybackData::setRealAudio(bool) + ?qt_metacall@MpMpxCollectionData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 95 NONAME ; int MpMpxCollectionData::qt_metacall(enum QMetaObject::Call, int, void * *) + ?albumArtReady@MpPlaybackData@@IAEXXZ @ 96 NONAME ; void MpPlaybackData::albumArtReady(void) + ?setAlbumTrack@MpSongData@@QAE_NABVQString@@@Z @ 97 NONAME ; bool MpSongData::setAlbumTrack(class QString const &) + ?album@MpPlaybackData@@QBEABVQString@@XZ @ 98 NONAME ; class QString const & MpPlaybackData::album(void) const + ?albumSongsCount@MpMpxCollectionData@@QBEHXZ @ 99 NONAME ; int MpMpxCollectionData::albumSongsCount(void) const + ?count@MpMpxCollectionData@@QBEHXZ @ 100 NONAME ; int MpMpxCollectionData::count(void) const + ?setAlbumArtUri@MpSongData@@QAEXABVQString@@@Z @ 101 NONAME ; void MpSongData::setAlbumArtUri(class QString const &) + ??1MpSongData@@UAE@XZ @ 102 NONAME ; MpSongData::~MpSongData(void) + ?dataReloaded@MpCollectionDataModel@@IAEXXZ @ 103 NONAME ; void MpCollectionDataModel::dataReloaded(void) + ?testCachedItem@MpMpxCollectionData@@QAE_NH@Z @ 104 NONAME ; bool MpMpxCollectionData::testCachedItem(int) + ?tr@MpCollectionDataModel@@SA?AVQString@@PBD0@Z @ 105 NONAME ; class QString MpCollectionDataModel::tr(char const *, char const *) + ?setTitle@MpPlaybackData@@QAE_NABVQString@@@Z @ 106 NONAME ; bool MpPlaybackData::setTitle(class QString const &) + ?getStaticMetaObject@MpCollectionTBoneListDataModel@@SAABUQMetaObject@@XZ @ 107 NONAME ; struct QMetaObject const & MpCollectionTBoneListDataModel::getStaticMetaObject(void) + ?trUtf8@MpCollectionDataModel@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString MpCollectionDataModel::trUtf8(char const *, char const *) + ?setTitle@MpSongData@@QAE_NABVQString@@@Z @ 109 NONAME ; bool MpSongData::setTitle(class QString const &) + ?musicURL@MpSongData@@QBE?AVQString@@XZ @ 110 NONAME ; class QString MpSongData::musicURL(void) const + ?realAudio@MpPlaybackData@@QAE_NXZ @ 111 NONAME ; bool MpPlaybackData::realAudio(void) + ?staticMetaObject@MpCollectionDataModel@@2UQMetaObject@@B @ 112 NONAME ; struct QMetaObject const MpCollectionDataModel::staticMetaObject + ?rowCount@MpCollectionTBoneListDataModel@@UBEHABVQModelIndex@@@Z @ 113 NONAME ; int MpCollectionTBoneListDataModel::rowCount(class QModelIndex const &) const + ?dataChanged@MpMpxCollectionData@@IAEXXZ @ 114 NONAME ; void MpMpxCollectionData::dataChanged(void) + ?trUtf8@MpCollectionTBoneListDataModel@@SA?AVQString@@PBD0H@Z @ 115 NONAME ; class QString MpCollectionTBoneListDataModel::trUtf8(char const *, char const *, int) + ?setItemVisibility@MpCollectionDataModel@@QAEXABVQModelIndex@@_N@Z @ 116 NONAME ; void MpCollectionDataModel::setItemVisibility(class QModelIndex const &, bool) + ?getStaticMetaObject@MpSongData@@SAABUQMetaObject@@XZ @ 117 NONAME ; struct QMetaObject const & MpSongData::getStaticMetaObject(void) + ?songDetailInfoChanged@MpSongData@@IAEXXZ @ 118 NONAME ; void MpSongData::songDetailInfoChanged(void) + ?mimeTypes@MpCollectionDataModel@@UBE?AVQStringList@@XZ @ 119 NONAME ; class QStringList MpCollectionDataModel::mimeTypes(void) const + ?albumArt@MpSongData@@QBEXAAVHbIcon@@@Z @ 120 NONAME ; void MpSongData::albumArt(class HbIcon &) const + ?isDrmProtected@MpSongData@@QBE_NXZ @ 121 NONAME ; bool MpSongData::isDrmProtected(void) const + ?collectionTitle@MpMpxCollectionData@@QBE?AVQString@@XZ @ 122 NONAME ; class QString MpMpxCollectionData::collectionTitle(void) const + ?albumTrack@MpSongData@@QBE?AVQString@@XZ @ 123 NONAME ; class QString MpSongData::albumTrack(void) const + ?setArtist@MpSongData@@QAE_NABVQString@@@Z @ 124 NONAME ; bool MpSongData::setArtist(class QString const &) + ?tr@MpPlaybackData@@SA?AVQString@@PBD0@Z @ 125 NONAME ; class QString MpPlaybackData::tr(char const *, char const *) + ?setYear@MpSongData@@QAE_NH@Z @ 126 NONAME ; bool MpSongData::setYear(int) + ?qt_metacall@MpPlaybackData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 127 NONAME ; int MpPlaybackData::qt_metacall(enum QMetaObject::Call, int, void * *) + ?albumSongData@MpMpxCollectionData@@QBE?AVQString@@HW4DataType@1@@Z @ 128 NONAME ; class QString MpMpxCollectionData::albumSongData(int, enum MpMpxCollectionData::DataType) const + ?playbackInfoChanged@MpSongData@@IAEXXZ @ 129 NONAME ; void MpSongData::playbackInfoChanged(void) + ?insertCachedItem@MpMpxCollectionData@@QAEXH@Z @ 130 NONAME ; void MpMpxCollectionData::insertCachedItem(int) + ?setComposer@MpSongData@@QAE_NABVQString@@@Z @ 131 NONAME ; bool MpSongData::setComposer(class QString const &) + ?setAlbumContent@MpMpxCollectionData@@QAEXABVCMPXMedia@@@Z @ 132 NONAME ; void MpMpxCollectionData::setAlbumContent(class CMPXMedia const &) + ??0MpMpxCollectionData@@QAE@PAVQObject@@@Z @ 133 NONAME ; MpMpxCollectionData::MpMpxCollectionData(class QObject *) + ?setArtist@MpPlaybackData@@QAE_NABVQString@@@Z @ 134 NONAME ; bool MpPlaybackData::setArtist(class QString const &) + ?trUtf8@MpSongData@@SA?AVQString@@PBD0@Z @ 135 NONAME ; class QString MpSongData::trUtf8(char const *, char const *) + ?albumId@MpPlaybackData@@QAEHXZ @ 136 NONAME ; int MpPlaybackData::albumId(void) + ??1MpMpxCollectionData@@UAE@XZ @ 137 NONAME ; MpMpxCollectionData::~MpMpxCollectionData(void) + ??0MpPlaybackData@@QAE@PAVQObject@@@Z @ 138 NONAME ; MpPlaybackData::MpPlaybackData(class QObject *) + ?trUtf8@MpCollectionDataModel@@SA?AVQString@@PBD0H@Z @ 139 NONAME ; class QString MpCollectionDataModel::trUtf8(char const *, char const *, int) + ?metaObject@MpMpxCollectionData@@UBEPBUQMetaObject@@XZ @ 140 NONAME ; struct QMetaObject const * MpMpxCollectionData::metaObject(void) const + ?qt_metacast@MpMpxCollectionData@@UAEPAXPBD@Z @ 141 NONAME ; void * MpMpxCollectionData::qt_metacast(char const *) + ?qt_metacast@MpPlaybackData@@UAEPAXPBD@Z @ 142 NONAME ; void * MpPlaybackData::qt_metacast(char const *) + ?size@MpSongData@@QBE?AVQString@@XZ @ 143 NONAME ; class QString MpSongData::size(void) const + ??_EMpSongData@@UAE@I@Z @ 144 NONAME ; MpSongData::~MpSongData(unsigned int) + ?containerId@MpMpxCollectionData@@QAEHXZ @ 145 NONAME ; int MpMpxCollectionData::containerId(void) + ?containerMedia@MpMpxCollectionData@@QAEABVCMPXMedia@@XZ @ 146 NONAME ; class CMPXMedia const & MpMpxCollectionData::containerMedia(void) + ?setDuration@MpSongData@@QAE_NH@Z @ 147 NONAME ; bool MpSongData::setDuration(int) + ??_EMpCollectionTBoneListDataModel@@UAE@I@Z @ 148 NONAME ; MpCollectionTBoneListDataModel::~MpCollectionTBoneListDataModel(unsigned int) + ??1MpCollectionDataModel@@UAE@XZ @ 149 NONAME ; MpCollectionDataModel::~MpCollectionDataModel(void) + ?setSize@MpSongData@@QAE_NH@Z @ 150 NONAME ; bool MpSongData::setSize(int) + ?thumbnailReady@MpSongData@@QAEXABVQPixmap@@PAXHH@Z @ 151 NONAME ; void MpSongData::thumbnailReady(class QPixmap const &, void *, int, int) + ?tr@MpCollectionDataModel@@SA?AVQString@@PBD0H@Z @ 152 NONAME ; class QString MpCollectionDataModel::tr(char const *, char const *, int) + ?reloadData@MpCollectionDataModel@@QAEXXZ @ 153 NONAME ; void MpCollectionDataModel::reloadData(void) + ?commitSongDetailInfo@MpSongData@@QAEXXZ @ 154 NONAME ; void MpSongData::commitSongDetailInfo(void) + ??1MpCollectionTBoneListDataModel@@UAE@XZ @ 155 NONAME ; MpCollectionTBoneListDataModel::~MpCollectionTBoneListDataModel(void) + ?qt_metacall@MpSongData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 156 NONAME ; int MpSongData::qt_metacall(enum QMetaObject::Call, int, void * *) + ?reservedLength@MpSongData@@QBEHXZ @ 157 NONAME ; int MpSongData::reservedLength(void) const + ?collectionData@MpCollectionDataModel@@QAEPAVMpMpxCollectionData@@XZ @ 158 NONAME ; class MpMpxCollectionData * MpCollectionDataModel::collectionData(void) + ?trUtf8@MpMpxCollectionData@@SA?AVQString@@PBD0@Z @ 159 NONAME ; class QString MpMpxCollectionData::trUtf8(char const *, char const *) + ?setPosition@MpPlaybackData@@QAEXH@Z @ 160 NONAME ; void MpPlaybackData::setPosition(int) + ??1MpPlaybackData@@UAE@XZ @ 161 NONAME ; MpPlaybackData::~MpPlaybackData(void) + ?tr@MpSongData@@SA?AVQString@@PBD0@Z @ 162 NONAME ; class QString MpSongData::tr(char const *, char const *) + ?setPlaybackState@MpPlaybackData@@QAEXW4SimplifiedState@1@@Z @ 163 NONAME ; void MpPlaybackData::setPlaybackState(enum MpPlaybackData::SimplifiedState) + ?refreshAlbumSongs@MpMpxCollectionData@@IAEXXZ @ 164 NONAME ; void MpMpxCollectionData::refreshAlbumSongs(void) + ?trUtf8@MpPlaybackData@@SA?AVQString@@PBD0@Z @ 165 NONAME ; class QString MpPlaybackData::trUtf8(char const *, char const *) + ?albumDataChanged@MpCollectionTBoneListDataModel@@IAEXXZ @ 166 NONAME ; void MpCollectionTBoneListDataModel::albumDataChanged(void) + ?comment@MpSongData@@QBE?AVQString@@XZ @ 167 NONAME ; class QString MpSongData::comment(void) const + ?year@MpSongData@@QBE?AVQString@@XZ @ 168 NONAME ; class QString MpSongData::year(void) const + ?data@MpCollectionTBoneListDataModel@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 169 NONAME ; class QVariant MpCollectionTBoneListDataModel::data(class QModelIndex const &, int) const + ?setAlbum@MpSongData@@QAE_NABVQString@@@Z @ 170 NONAME ; bool MpSongData::setAlbum(class QString const &) + ?albumSongIndex@MpMpxCollectionData@@QAEHH@Z @ 171 NONAME ; int MpMpxCollectionData::albumSongIndex(int) + ?getStaticMetaObject@MpPlaybackData@@SAABUQMetaObject@@XZ @ 172 NONAME ; struct QMetaObject const & MpPlaybackData::getStaticMetaObject(void) + ?composer@MpSongData@@QBE?AVQString@@XZ @ 173 NONAME ; class QString MpSongData::composer(void) const + ?albumArt@MpPlaybackData@@QBEXAAVHbIcon@@@Z @ 174 NONAME ; void MpPlaybackData::albumArt(class HbIcon &) const + ?commitPlaybackInfo@MpPlaybackData@@QAEXXZ @ 175 NONAME ; void MpPlaybackData::commitPlaybackInfo(void) + ?removeRows@MpCollectionDataModel@@UAE_NHHABVQModelIndex@@@Z @ 176 NONAME ; bool MpCollectionDataModel::removeRows(int, int, class QModelIndex const &) + ?albumSongId@MpMpxCollectionData@@QAEHH@Z @ 177 NONAME ; int MpMpxCollectionData::albumSongId(int) + ?id@MpPlaybackData@@QAEHXZ @ 178 NONAME ; int MpPlaybackData::id(void) + ?album@MpSongData@@QBE?AVQString@@XZ @ 179 NONAME ; class QString MpSongData::album(void) const + ?albumArtBase64@MpSongData@@QBE?AVQString@@XZ @ 180 NONAME ; class QString MpSongData::albumArtBase64(void) const + ?playbackInfoChanged@MpPlaybackData@@IAEXXZ @ 181 NONAME ; void MpPlaybackData::playbackInfoChanged(void) + ?itemData@MpMpxCollectionData@@QBE?AVQString@@HW4DataType@1@@Z @ 182 NONAME ; class QString MpMpxCollectionData::itemData(int, enum MpMpxCollectionData::DataType) const + ?link@MpSongData@@QBE?AVQString@@XZ @ 183 NONAME ; class QString MpSongData::link(void) const + ?trUtf8@MpCollectionTBoneListDataModel@@SA?AVQString@@PBD0@Z @ 184 NONAME ; class QString MpCollectionTBoneListDataModel::trUtf8(char const *, char const *) + ?updateSong@MpCollectionTBoneListDataModel@@QAEXXZ @ 185 NONAME ; void MpCollectionTBoneListDataModel::updateSong(void) + ?setId@MpPlaybackData@@QAE_NH@Z @ 186 NONAME ; bool MpPlaybackData::setId(int) + ?metaObject@MpCollectionDataModel@@UBEPBUQMetaObject@@XZ @ 187 NONAME ; struct QMetaObject const * MpCollectionDataModel::metaObject(void) const + ?metaObject@MpSongData@@UBEPBUQMetaObject@@XZ @ 188 NONAME ; struct QMetaObject const * MpSongData::metaObject(void) const diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/eabi/mpdatau.def --- a/mpdata/eabi/mpdatau.def Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/eabi/mpdatau.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,87 +1,189 @@ EXPORTS - _ZN14MpPlaybackData11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME - _ZN14MpPlaybackData11qt_metacastEPKc @ 2 NONAME - _ZN14MpPlaybackData11setDurationEi @ 3 NONAME - _ZN14MpPlaybackData11setPositionEi @ 4 NONAME - _ZN14MpPlaybackData13albumArtReadyEv @ 5 NONAME - _ZN14MpPlaybackData14setAlbumArtUriERK7QString @ 6 NONAME - _ZN14MpPlaybackData14thumbnailReadyERK7QPixmapPvii @ 7 NONAME - _ZN14MpPlaybackData15durationChangedEv @ 8 NONAME - _ZN14MpPlaybackData15positionChangedEv @ 9 NONAME - _ZN14MpPlaybackData16setPlaybackStateENS_15SimplifiedStateE @ 10 NONAME - _ZN14MpPlaybackData16staticMetaObjectE @ 11 NONAME DATA 16 - _ZN14MpPlaybackData18commitPlaybackInfoEv @ 12 NONAME - _ZN14MpPlaybackData19getStaticMetaObjectEv @ 13 NONAME - _ZN14MpPlaybackData19playbackInfoChangedEv @ 14 NONAME - _ZN14MpPlaybackData20playbackStateChangedEv @ 15 NONAME - _ZN14MpPlaybackData6setUriERK7QString @ 16 NONAME - _ZN14MpPlaybackData8setAlbumERK7QString @ 17 NONAME - _ZN14MpPlaybackData8setTitleERK7QString @ 18 NONAME - _ZN14MpPlaybackData9setArtistERK7QString @ 19 NONAME - _ZN14MpPlaybackDataC1EP7QObject @ 20 NONAME - _ZN14MpPlaybackDataC2EP7QObject @ 21 NONAME - _ZN14MpPlaybackDataD0Ev @ 22 NONAME - _ZN14MpPlaybackDataD1Ev @ 23 NONAME - _ZN14MpPlaybackDataD2Ev @ 24 NONAME - _ZN19MpMpxCollectionData10removeItemEi @ 25 NONAME - _ZN19MpMpxCollectionData11containerIdEv @ 26 NONAME - _ZN19MpMpxCollectionData11qt_metacallEN11QMetaObject4CallEiPPv @ 27 NONAME - _ZN19MpMpxCollectionData11qt_metacastEPKc @ 28 NONAME - _ZN19MpMpxCollectionData11setMpxMediaERK9CMPXMedia @ 29 NONAME - _ZN19MpMpxCollectionData14containerMediaEv @ 30 NONAME - _ZN19MpMpxCollectionData14contextChangedE18TCollectionContext @ 31 NONAME - _ZN19MpMpxCollectionData14isAutoPlaylistEi @ 32 NONAME - _ZN19MpMpxCollectionData14isAutoPlaylistEv @ 33 NONAME - _ZN19MpMpxCollectionData14testCachedItemEi @ 34 NONAME - _ZN19MpMpxCollectionData16insertCachedItemEi @ 35 NONAME - _ZN19MpMpxCollectionData16staticMetaObjectE @ 36 NONAME DATA 16 - _ZN19MpMpxCollectionData19getStaticMetaObjectEv @ 37 NONAME - _ZN19MpMpxCollectionData6itemIdEi @ 38 NONAME - _ZN19MpMpxCollectionData9itemCountEi @ 39 NONAME - _ZN19MpMpxCollectionDataC1EP7QObject @ 40 NONAME - _ZN19MpMpxCollectionDataC2EP7QObject @ 41 NONAME - _ZN19MpMpxCollectionDataD0Ev @ 42 NONAME - _ZN19MpMpxCollectionDataD1Ev @ 43 NONAME - _ZN19MpMpxCollectionDataD2Ev @ 44 NONAME - _ZN21MpCollectionDataModel10removeRowsEiiRK11QModelIndex @ 45 NONAME - _ZN21MpCollectionDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 46 NONAME - _ZN21MpCollectionDataModel11qt_metacastEPKc @ 47 NONAME - _ZN21MpCollectionDataModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 48 NONAME - _ZN21MpCollectionDataModel12orderChangedEiiii @ 49 NONAME - _ZN21MpCollectionDataModel12refreshModelEv @ 50 NONAME - _ZN21MpCollectionDataModel14collectionDataEv @ 51 NONAME - _ZN21MpCollectionDataModel14updateAlbumArtEi @ 52 NONAME - _ZN21MpCollectionDataModel16staticMetaObjectE @ 53 NONAME DATA 16 - _ZN21MpCollectionDataModel19getStaticMetaObjectEv @ 54 NONAME - _ZN21MpCollectionDataModelC1EP19MpMpxCollectionDataP7QObject @ 55 NONAME - _ZN21MpCollectionDataModelC2EP19MpMpxCollectionDataP7QObject @ 56 NONAME - _ZN21MpCollectionDataModelD0Ev @ 57 NONAME - _ZN21MpCollectionDataModelD1Ev @ 58 NONAME - _ZN21MpCollectionDataModelD2Ev @ 59 NONAME - _ZNK14MpPlaybackData10metaObjectEv @ 60 NONAME - _ZNK14MpPlaybackData13playbackStateEv @ 61 NONAME - _ZNK14MpPlaybackData3uriEv @ 62 NONAME - _ZNK14MpPlaybackData5albumEv @ 63 NONAME - _ZNK14MpPlaybackData5titleEv @ 64 NONAME - _ZNK14MpPlaybackData6artistEv @ 65 NONAME - _ZNK14MpPlaybackData8albumArtER6HbIcon @ 66 NONAME - _ZNK14MpPlaybackData8durationEv @ 67 NONAME - _ZNK14MpPlaybackData8positionEv @ 68 NONAME - _ZNK19MpMpxCollectionData10metaObjectEv @ 69 NONAME - _ZNK19MpMpxCollectionData15collectionTitleEv @ 70 NONAME - _ZNK19MpMpxCollectionData5countEv @ 71 NONAME - _ZNK19MpMpxCollectionData7contextEv @ 72 NONAME - _ZNK19MpMpxCollectionData8itemDataEiNS_8DataTypeE @ 73 NONAME - _ZNK21MpCollectionDataModel10metaObjectEv @ 74 NONAME - _ZNK21MpCollectionDataModel20supportedDropActionsEv @ 75 NONAME - _ZNK21MpCollectionDataModel4dataERK11QModelIndexi @ 76 NONAME - _ZNK21MpCollectionDataModel8mimeDataERK5QListI11QModelIndexE @ 77 NONAME - _ZNK21MpCollectionDataModel8rowCountERK11QModelIndex @ 78 NONAME - _ZNK21MpCollectionDataModel9mimeTypesEv @ 79 NONAME - _ZTI14MpPlaybackData @ 80 NONAME - _ZTI19MpMpxCollectionData @ 81 NONAME - _ZTI21MpCollectionDataModel @ 82 NONAME - _ZTV14MpPlaybackData @ 83 NONAME - _ZTV19MpMpxCollectionData @ 84 NONAME - _ZTV21MpCollectionDataModel @ 85 NONAME + _ZN10MpSongData10setBitRateEi @ 1 NONAME + _ZN10MpSongData10setCommentERK7QString @ 2 NONAME + _ZN10MpSongData11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME + _ZN10MpSongData11qt_metacastEPKc @ 4 NONAME + _ZN10MpSongData11setComposerERK7QString @ 5 NONAME + _ZN10MpSongData11setDurationEi @ 6 NONAME + _ZN10MpSongData11setFileNameERK7QString @ 7 NONAME + _ZN10MpSongData11setMimeTypeERK7QString @ 8 NONAME + _ZN10MpSongData11setModifiedERK7QString @ 9 NONAME + _ZN10MpSongData11setMusicURLERK7QString @ 10 NONAME + _ZN10MpSongData12setCopyrightERK7QString @ 11 NONAME + _ZN10MpSongData13albumArtReadyEv @ 12 NONAME + _ZN10MpSongData13setAlbumTrackERK7QString @ 13 NONAME + _ZN10MpSongData13setSampleRateEi @ 14 NONAME + _ZN10MpSongData14setAlbumArtUriERK7QString @ 15 NONAME + _ZN10MpSongData14thumbnailReadyERK7QPixmapPvii @ 16 NONAME + _ZN10MpSongData15setDrmProtectedEb @ 17 NONAME + _ZN10MpSongData16staticMetaObjectE @ 18 NONAME DATA 16 + _ZN10MpSongData18commitPlaybackInfoEv @ 19 NONAME + _ZN10MpSongData19getStaticMetaObjectEv @ 20 NONAME + _ZN10MpSongData19playbackInfoChangedEv @ 21 NONAME + _ZN10MpSongData20commitSongDetailInfoEv @ 22 NONAME + _ZN10MpSongData21songDetailInfoChangedEv @ 23 NONAME + _ZN10MpSongData7setLinkERK7QString @ 24 NONAME + _ZN10MpSongData7setSizeEi @ 25 NONAME + _ZN10MpSongData7setYearEi @ 26 NONAME + _ZN10MpSongData8setAlbumERK7QString @ 27 NONAME + _ZN10MpSongData8setGenreERK7QString @ 28 NONAME + _ZN10MpSongData8setTitleERK7QString @ 29 NONAME + _ZN10MpSongData9setArtistERK7QString @ 30 NONAME + _ZN10MpSongDataC1EP7QObject @ 31 NONAME + _ZN10MpSongDataC2EP7QObject @ 32 NONAME + _ZN10MpSongDataD0Ev @ 33 NONAME + _ZN10MpSongDataD1Ev @ 34 NONAME + _ZN10MpSongDataD2Ev @ 35 NONAME + _ZN14MpPlaybackData10setAlbumIdEi @ 36 NONAME + _ZN14MpPlaybackData11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME + _ZN14MpPlaybackData11qt_metacastEPKc @ 38 NONAME + _ZN14MpPlaybackData11setDurationEi @ 39 NONAME + _ZN14MpPlaybackData11setPositionEi @ 40 NONAME + _ZN14MpPlaybackData12setRealAudioEb @ 41 NONAME + _ZN14MpPlaybackData13albumArtReadyEv @ 42 NONAME + _ZN14MpPlaybackData14setAlbumArtUriERK7QString @ 43 NONAME + _ZN14MpPlaybackData14thumbnailReadyERK7QPixmapPvii @ 44 NONAME + _ZN14MpPlaybackData15durationChangedEv @ 45 NONAME + _ZN14MpPlaybackData15positionChangedEv @ 46 NONAME + _ZN14MpPlaybackData16setPlaybackStateENS_15SimplifiedStateE @ 47 NONAME + _ZN14MpPlaybackData16staticMetaObjectE @ 48 NONAME DATA 16 + _ZN14MpPlaybackData18commitPlaybackInfoEv @ 49 NONAME + _ZN14MpPlaybackData19getStaticMetaObjectEv @ 50 NONAME + _ZN14MpPlaybackData19playbackInfoChangedEv @ 51 NONAME + _ZN14MpPlaybackData20playbackStateChangedEv @ 52 NONAME + _ZN14MpPlaybackData2idEv @ 53 NONAME + _ZN14MpPlaybackData5setIdEi @ 54 NONAME + _ZN14MpPlaybackData6setUriERK7QString @ 55 NONAME + _ZN14MpPlaybackData7albumIdEv @ 56 NONAME + _ZN14MpPlaybackData8setAlbumERK7QString @ 57 NONAME + _ZN14MpPlaybackData8setTitleERK7QString @ 58 NONAME + _ZN14MpPlaybackData9realAudioEv @ 59 NONAME + _ZN14MpPlaybackData9resetDataEv @ 60 NONAME + _ZN14MpPlaybackData9setArtistERK7QString @ 61 NONAME + _ZN14MpPlaybackDataC1EP7QObject @ 62 NONAME + _ZN14MpPlaybackDataC2EP7QObject @ 63 NONAME + _ZN14MpPlaybackDataD0Ev @ 64 NONAME + _ZN14MpPlaybackDataD1Ev @ 65 NONAME + _ZN14MpPlaybackDataD2Ev @ 66 NONAME + _ZN19MpMpxCollectionData10removeItemEi @ 67 NONAME + _ZN19MpMpxCollectionData10setContextE18TCollectionContext @ 68 NONAME + _ZN19MpMpxCollectionData11albumSongIdEi @ 69 NONAME + _ZN19MpMpxCollectionData11containerIdEv @ 70 NONAME + _ZN19MpMpxCollectionData11dataChangedEv @ 71 NONAME + _ZN19MpMpxCollectionData11qt_metacallEN11QMetaObject4CallEiPPv @ 72 NONAME + _ZN19MpMpxCollectionData11qt_metacastEPKc @ 73 NONAME + _ZN19MpMpxCollectionData11setMpxMediaERK9CMPXMediab @ 74 NONAME + _ZN19MpMpxCollectionData14albumSongIndexEi @ 75 NONAME + _ZN19MpMpxCollectionData14containerMediaEv @ 76 NONAME + _ZN19MpMpxCollectionData14contextChangedE18TCollectionContext @ 77 NONAME + _ZN19MpMpxCollectionData14isAutoPlaylistEi @ 78 NONAME + _ZN19MpMpxCollectionData14isAutoPlaylistEv @ 79 NONAME + _ZN19MpMpxCollectionData14testCachedItemEi @ 80 NONAME + _ZN19MpMpxCollectionData15setAlbumContentERK9CMPXMedia @ 81 NONAME + _ZN19MpMpxCollectionData15setCurrentAlbumEi @ 82 NONAME + _ZN19MpMpxCollectionData16albumDataChangedEv @ 83 NONAME + _ZN19MpMpxCollectionData16insertCachedItemEi @ 84 NONAME + _ZN19MpMpxCollectionData16staticMetaObjectE @ 85 NONAME DATA 16 + _ZN19MpMpxCollectionData17refreshAlbumSongsEv @ 86 NONAME + _ZN19MpMpxCollectionData19getStaticMetaObjectEv @ 87 NONAME + _ZN19MpMpxCollectionData6itemIdEi @ 88 NONAME + _ZN19MpMpxCollectionData9itemCountEi @ 89 NONAME + _ZN19MpMpxCollectionData9itemIndexEi @ 90 NONAME + _ZN19MpMpxCollectionDataC1EP7QObject @ 91 NONAME + _ZN19MpMpxCollectionDataC2EP7QObject @ 92 NONAME + _ZN19MpMpxCollectionDataD0Ev @ 93 NONAME + _ZN19MpMpxCollectionDataD1Ev @ 94 NONAME + _ZN19MpMpxCollectionDataD2Ev @ 95 NONAME + _ZN21MpCollectionDataModel10reloadDataEv @ 96 NONAME + _ZN21MpCollectionDataModel10removeRowsEiiRK11QModelIndex @ 97 NONAME + _ZN21MpCollectionDataModel10setContextE18TCollectionContext @ 98 NONAME + _ZN21MpCollectionDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 99 NONAME + _ZN21MpCollectionDataModel11qt_metacastEPKc @ 100 NONAME + _ZN21MpCollectionDataModel12dataReloadedEv @ 101 NONAME + _ZN21MpCollectionDataModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 102 NONAME + _ZN21MpCollectionDataModel12orderChangedEiiii @ 103 NONAME + _ZN21MpCollectionDataModel12refreshModelEv @ 104 NONAME + _ZN21MpCollectionDataModel14collectionDataEv @ 105 NONAME + _ZN21MpCollectionDataModel14updateAlbumArtEi @ 106 NONAME + _ZN21MpCollectionDataModel16staticMetaObjectE @ 107 NONAME DATA 16 + _ZN21MpCollectionDataModel17setItemVisibilityERK11QModelIndexb @ 108 NONAME + _ZN21MpCollectionDataModel19getStaticMetaObjectEv @ 109 NONAME + _ZN21MpCollectionDataModelC1EP19MpMpxCollectionDataP7QObject @ 110 NONAME + _ZN21MpCollectionDataModelC2EP19MpMpxCollectionDataP7QObject @ 111 NONAME + _ZN21MpCollectionDataModelD0Ev @ 112 NONAME + _ZN21MpCollectionDataModelD1Ev @ 113 NONAME + _ZN21MpCollectionDataModelD2Ev @ 114 NONAME + _ZN30MpCollectionTBoneListDataModel10updateSongEv @ 115 NONAME + _ZN30MpCollectionTBoneListDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 116 NONAME + _ZN30MpCollectionTBoneListDataModel11qt_metacastEPKc @ 117 NONAME + _ZN30MpCollectionTBoneListDataModel12refreshModelEv @ 118 NONAME + _ZN30MpCollectionTBoneListDataModel16albumDataChangedEv @ 119 NONAME + _ZN30MpCollectionTBoneListDataModel16staticMetaObjectE @ 120 NONAME DATA 16 + _ZN30MpCollectionTBoneListDataModel18albumDataAvailableEv @ 121 NONAME + _ZN30MpCollectionTBoneListDataModel19getStaticMetaObjectEv @ 122 NONAME + _ZN30MpCollectionTBoneListDataModel19updatePlaybackStateEv @ 123 NONAME + _ZN30MpCollectionTBoneListDataModelC1EP19MpMpxCollectionDataP14MpPlaybackDataP7QObject @ 124 NONAME + _ZN30MpCollectionTBoneListDataModelC2EP19MpMpxCollectionDataP14MpPlaybackDataP7QObject @ 125 NONAME + _ZN30MpCollectionTBoneListDataModelD0Ev @ 126 NONAME + _ZN30MpCollectionTBoneListDataModelD1Ev @ 127 NONAME + _ZN30MpCollectionTBoneListDataModelD2Ev @ 128 NONAME + _ZNK10MpSongData10albumTrackEv @ 129 NONAME + _ZNK10MpSongData10metaObjectEv @ 130 NONAME + _ZNK10MpSongData10sampleRateEv @ 131 NONAME + _ZNK10MpSongData14albumArtBase64Ev @ 132 NONAME + _ZNK10MpSongData14isDrmProtectedEv @ 133 NONAME + _ZNK10MpSongData18removeAlbumArtFileEv @ 134 NONAME + _ZNK10MpSongData4linkEv @ 135 NONAME + _ZNK10MpSongData4sizeEv @ 136 NONAME + _ZNK10MpSongData4yearEv @ 137 NONAME + _ZNK10MpSongData5albumEv @ 138 NONAME + _ZNK10MpSongData5genreEv @ 139 NONAME + _ZNK10MpSongData5titleEv @ 140 NONAME + _ZNK10MpSongData6artistEv @ 141 NONAME + _ZNK10MpSongData7bitRateEv @ 142 NONAME + _ZNK10MpSongData7commentEv @ 143 NONAME + _ZNK10MpSongData8albumArtER6HbIcon @ 144 NONAME + _ZNK10MpSongData8composerEv @ 145 NONAME + _ZNK10MpSongData8durationEv @ 146 NONAME + _ZNK10MpSongData8fileNameEv @ 147 NONAME + _ZNK10MpSongData8mimeTypeEv @ 148 NONAME + _ZNK10MpSongData8modifiedEv @ 149 NONAME + _ZNK10MpSongData8musicURLEv @ 150 NONAME + _ZNK10MpSongData9copyrightEv @ 151 NONAME + _ZNK14MpPlaybackData10metaObjectEv @ 152 NONAME + _ZNK14MpPlaybackData13playbackStateEv @ 153 NONAME + _ZNK14MpPlaybackData3uriEv @ 154 NONAME + _ZNK14MpPlaybackData5albumEv @ 155 NONAME + _ZNK14MpPlaybackData5titleEv @ 156 NONAME + _ZNK14MpPlaybackData6artistEv @ 157 NONAME + _ZNK14MpPlaybackData8albumArtER6HbIcon @ 158 NONAME + _ZNK14MpPlaybackData8durationEv @ 159 NONAME + _ZNK14MpPlaybackData8positionEv @ 160 NONAME + _ZNK19MpMpxCollectionData10metaObjectEv @ 161 NONAME + _ZNK19MpMpxCollectionData13albumSongDataEiNS_8DataTypeE @ 162 NONAME + _ZNK19MpMpxCollectionData15albumSongsCountEv @ 163 NONAME + _ZNK19MpMpxCollectionData15collectionTitleEv @ 164 NONAME + _ZNK19MpMpxCollectionData17currentAlbumIndexEv @ 165 NONAME + _ZNK19MpMpxCollectionData5countEv @ 166 NONAME + _ZNK19MpMpxCollectionData7contextEv @ 167 NONAME + _ZNK19MpMpxCollectionData8itemDataEiNS_8DataTypeE @ 168 NONAME + _ZNK21MpCollectionDataModel10metaObjectEv @ 169 NONAME + _ZNK21MpCollectionDataModel20supportedDropActionsEv @ 170 NONAME + _ZNK21MpCollectionDataModel4dataERK11QModelIndexi @ 171 NONAME + _ZNK21MpCollectionDataModel8mimeDataERK5QListI11QModelIndexE @ 172 NONAME + _ZNK21MpCollectionDataModel8rowCountERK11QModelIndex @ 173 NONAME + _ZNK21MpCollectionDataModel9mimeTypesEv @ 174 NONAME + _ZNK30MpCollectionTBoneListDataModel10metaObjectEv @ 175 NONAME + _ZNK30MpCollectionTBoneListDataModel4dataERK11QModelIndexi @ 176 NONAME + _ZNK30MpCollectionTBoneListDataModel8rowCountERK11QModelIndex @ 177 NONAME + _ZTI10MpSongData @ 178 NONAME + _ZTI14MpPlaybackData @ 179 NONAME + _ZTI19MpMpxCollectionData @ 180 NONAME + _ZTI21MpCollectionDataModel @ 181 NONAME + _ZTI30MpCollectionTBoneListDataModel @ 182 NONAME + _ZTV10MpSongData @ 183 NONAME + _ZTV14MpPlaybackData @ 184 NONAME + _ZTV19MpMpxCollectionData @ 185 NONAME + _ZTV21MpCollectionDataModel @ 186 NONAME + _ZTV30MpCollectionTBoneListDataModel @ 187 NONAME diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/inc/mpcollectionalbumartmanager.h --- a/mpdata/inc/mpcollectionalbumartmanager.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/inc/mpcollectionalbumartmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -21,9 +21,12 @@ #include #include -#include #include +#include + +#include "mpcommondefs.h" + class MpMpxCollectionData; class ThumbnailManager; @@ -36,9 +39,11 @@ explicit MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent=0 ); virtual ~MpCollectionAlbumArtManager(); - const QIcon* albumArt( int index ); + const HbIcon albumArt( int index ); void cacheFirstScreen(); void cancel(); + void setThumbnailSize( MpCommon::MpThumbType type ); + void enableDefaultArt( bool enabled ); signals: @@ -52,14 +57,15 @@ MpMpxCollectionData *mCollectionData; ThumbnailManager *mThumbnailManager; - QCache mImageCache; + QCache mImageCache; bool mCachingInProgress; - QIcon *mDefaultIcon; + HbIcon mDefaultIcon; QList mRequestQueue; bool mPendingRequest; int mRequestId; + bool mDefaultArtEnabled; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/inc/mpmpxcollectiondata_p.h --- a/mpdata/inc/mpmpxcollectiondata_p.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/inc/mpmpxcollectiondata_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -20,6 +20,8 @@ #include +#include + #include "mpmpxcollectiondata.h" #include "mpmpxcollectionviewdefs.h" @@ -44,38 +46,58 @@ bool isAutoPlaylist( int index ); int itemCount( int index ); int containerId(); - int itemId(int index); - void removeItem(int index); + int itemId( int index); + int albumSongId( int index); + void removeItem( int index); bool testCachedItem( int itemId ); - void insertCachedItem(int index); + void insertCachedItem( int index); + + bool setCurrentAlbum( int index ); + int currentAlbumIndex() const; + int albumSongsCount() const; + QString albumSongData( int index, MpMpxCollectionData::DataType type ) const; - void setMpxMedia( const CMPXMedia& entries ); + void setMpxMedia( const CMPXMedia& entries, bool reopen ); const CMPXMedia& containerMedia(); + void setContext( TCollectionContext context ); + void setAlbumContent( const CMPXMedia& albumContent ); + int itemIndex( int itemUniqueId ); + int albumSongIndex( int songUniqueId ); private: - + void loadAlbumsLookup(); + void loadAlbumSongsLookup(); void DoGetDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const; bool DoIsAutoPlaylistL(); bool DoIsAutoPlaylistL( int index ); int DoGetItemCountL( int index ); int DoGetContainerIdL(); int DoGetItemIdL( int index ); + int DoGetAlbumSongIdL( int index ); void DoRemoveItemL( int index ); bool DoTestCachedItemL( int itemId ); - + + bool DoSetCurrentAlbumL( int index ); + void DoGetAlbumSongDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const; + void SetCollectionContextL(); void DoSetMpxMediaL( const CMPXMedia& entries ); + void DoSetAlbumContentL( const CMPXMedia& albumContent ); private: MpMpxCollectionData *q_ptr; + TCollectionContext iContext; + CMPXMedia *iContainerMedia; // Owned CMPXMediaArray *iMediaArray; // Not owned + CMPXMedia *iCachedRemovedItem; // Owned - TCollectionContext iContext; - - CMPXMedia *iCachedRemovedItem; //Owned + int iCurrentAlbumIndex; + int iAlbumSongCount; + QHash albumIdIndexMapping; + QHash albumSongIdIndexMapping; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/mpdata.pro --- a/mpdata/mpdata.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/mpdata.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,42 +14,42 @@ # Description: Project file for Music Player Data. # -symbian:TARGET.UID3 = 0x10207C95 - TEMPLATE = lib CONFIG += hb TARGET = mpdata - -TARGET.CAPABILITY = CAP_GENERAL_DLL +symbian: { + TARGET.UID3 = 0x10207C95 + MMP_RULES += "DEFFILE mpdata.def" + defFilePath = . + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.EPOCALLOWDLLDATA = 1 +} +DEFINES += BUILD_MPDATA_LIB INCLUDEPATH += . \ - inc \ - ../inc -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + inc \ + ../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) -LIBS += -lmpxcommon.dll \ - -lthumbnailmanagerqt.dll - -symbian:TARGET.EPOCALLOWDLLDATA = 1 +LIBS += -lestor \ + -lmpxcommon \ + -lthumbnailmanagerqt +# Input HEADERS += ../inc/mpmpxcollectiondata.h \ inc/mpmpxcollectiondata_p.h \ ../inc/mpcollectiondatamodel.h \ - inc/mpcollectionalbumartmanager.h \ - ../inc/mpplaybackdata.h + ../inc/mpcollectiontbonelistdatamodel.h \ + inc/mpcollectionalbumartmanager.h \ + ../inc/mpplaybackdata.h \ + ../inc/mpsongdata.h SOURCES += src/mpmpxcollectiondata.cpp \ src/mpmpxcollectiondata_p.cpp \ src/mpcollectiondatamodel.cpp \ - src/mpcollectionalbumartmanager.cpp \ - src/mpplaybackdata.cpp - -DEFINES += BUILD_MPDATA_LIB + src/mpcollectiontbonelistdatamodel.cpp \ + src/mpcollectionalbumartmanager.cpp \ + src/mpplaybackdata.cpp \ + src/mpsongdata.cpp -myDefInclude = "NOSTRICTDEF" \ -"$${LITERAL_HASH}if defined(WINS)"\ -"DEFFILE bwins/mpdatau.def "\ -"$${LITERAL_HASH}else "\ -"DEFFILE eabi/mpdatau.def "\ -"$${LITERAL_HASH}endif" -MMP_RULES += myDefInclude diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpcollectionalbumartmanager.cpp --- a/mpdata/src/mpcollectionalbumartmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/src/mpcollectionalbumartmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -57,26 +57,23 @@ Constructs the album art manager. */ MpCollectionAlbumArtManager::MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent ) - : QObject(parent), - mCollectionData(data), - mThumbnailManager(0), - mCachingInProgress(false), - mDefaultIcon(0), - mPendingRequest(false) + : QObject( parent ), + mCollectionData( data ), + mThumbnailManager( 0 ), + mCachingInProgress( false ), + mDefaultIcon( "qtg_large_music_album" ), + mPendingRequest( false ), + mDefaultArtEnabled( true ) { TX_ENTRY mThumbnailManager = new ThumbnailManager(this); mThumbnailManager->setMode(ThumbnailManager::Default); mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailSmall); - connect( mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)), this, SLOT(thumbnailReady(QPixmap, void *, int, int)) ); mImageCache.setMaxCost(KMaxCacheSize); - //TODO: Change to final resource when available - HbIcon albumArt( "qtg_large_music" ); - mDefaultIcon = new QIcon( albumArt.qicon() ); TX_EXIT } @@ -88,7 +85,6 @@ TX_ENTRY cancel(); delete mThumbnailManager; - delete mDefaultIcon; TX_EXIT } @@ -99,12 +95,17 @@ \sa signal albumArtReady */ -const QIcon* MpCollectionAlbumArtManager::albumArt( int index ) +const HbIcon MpCollectionAlbumArtManager::albumArt( int index ) { TX_ENTRY_ARGS("index=" << index); - QIcon *icon = mImageCache[index]; - if ( !icon ) { - icon = mDefaultIcon; + HbIcon icon; + if ( mImageCache.contains( index ) ) { + icon = *mImageCache[index]; + } + else { + if ( mDefaultArtEnabled ) { + icon = mDefaultIcon; + } if ( !mRequestQueue.contains(index) ) { // Icon was not found in cache. If the item has AlbumArtUri, request it // through ThumbnailManager interface. @@ -167,17 +168,50 @@ TX_EXIT } + +/*! + changes the thumbnail size. + + */ +void MpCollectionAlbumArtManager::setThumbnailSize(MpCommon::MpThumbType type) +{ + switch ( type ) { + case MpCommon::ListThumb: + mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailSmall); + break; + case MpCommon::TBoneThumb: + mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailMedium); + break; + case MpCommon::MediaWallThumb: + default: + mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); + break; + } + cancel(); +} + +/*! + sets the Default art \a enabled. + */ +void MpCollectionAlbumArtManager::enableDefaultArt( bool enabled ) +{ + mDefaultArtEnabled = enabled; +} + /*! Slot to be called when thumbnail bitmap generation or loading is complete. */ void MpCollectionAlbumArtManager::thumbnailReady( QPixmap pixmap, void *data, int id, int error ) { - int index = reinterpret_cast(data); + int index = reinterpret_cast( data ); TX_ENTRY_ARGS("index=" << index << ", id=" << id << ", error=" << error); if ( !error && id == mRequestId && !pixmap.isNull() ) { // Find the index - mImageCache.insert(index, new QIcon(pixmap)); - TX_LOG_ARGS("Album art ready for index=" << index); + HbIcon *tmpIconPtr = new HbIcon(pixmap); + //TODO:Enable This optimization for WK16 + //tmpIconPtr->setFlags( HbIcon::NonThemeable ); + mImageCache.insert( index, tmpIconPtr ); + TX_LOG_ARGS( "Album art ready for index=" << index ); if ( !mCachingInProgress ) { emit albumArtReady(index); } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpcollectiondatamodel.cpp --- a/mpdata/src/mpcollectiondatamodel.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/src/mpcollectiondatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,10 +17,13 @@ #include #include -#include +#include #include #include +#include + + #include "mpcollectiondatamodel.h" #include "mpcollectionalbumartmanager.h" #include "mpmpxcollectiondata.h" @@ -53,14 +56,27 @@ */ /*! + \fn void dataReloaded() + + This signal is emitted when there has been a changed in the data represented + by this model. This signal is emitted so that the view owning this model can + refresh the view. This can happen after operations like delete and several + playlist related operations (save, rearrange, remove). + */ + +/*! Constructs the collection data model. */ MpCollectionDataModel::MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent ) - : QAbstractListModel(parent), - mCollectionData(data), - mRowCount(0) + : QAbstractListModel( parent ), + mCollectionData( data ), + mRowCount( 0 ), + mAlbumIndexOffset( 0 ), + mHiddenItemIndex( -1 ) { TX_ENTRY + connect( mCollectionData, SIGNAL(contextChanged(TCollectionContext)), this, SLOT(setContext(TCollectionContext)) ); + connect( mCollectionData, SIGNAL(dataChanged()), this, SLOT(reloadData()) ); mAlbumArtManager = new MpCollectionAlbumArtManager(mCollectionData); connect( mAlbumArtManager, SIGNAL(albumArtReady(int)), this, SLOT(updateAlbumArt(int)) ); TX_EXIT @@ -89,7 +105,7 @@ { TX_LOG Q_UNUSED(parent); - return mRowCount; + return mRowCount - mAlbumIndexOffset; } /*! @@ -105,27 +121,51 @@ return returnValue; } - int row = index.row(); + int row = index.row() + mAlbumIndexOffset; TX_LOG_ARGS("index=" << row << ", role=" << role); TCollectionContext context = mCollectionData->context(); if ( role == Qt::DisplayRole ) { QStringList display; // Fetch the primary text, which is the title, if available. QString primaryText; - primaryText = mCollectionData->itemData(row, MpMpxCollectionData::Title); - if ( !primaryText.isEmpty() ) { - display << primaryText; + switch ( context ) { + case ECollectionContextAllSongs: + case ECollectionContextArtists: + case ECollectionContextAlbums: + case ECollectionContextArtistAlbums: + case ECollectionContextPlaylists: + case ECollectionContextPlaylistSongs: + case ECollectionContextAlbumsTBone: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + primaryText = mCollectionData->itemData(row, MpMpxCollectionData::Title); + if ( !primaryText.isEmpty() ) { + display << primaryText; + } + else { + display << hbTrId("txt_mus_other_unknown4"); + } + break; + case ECollectionContextAlbumsMediaWall: + primaryText = mCollectionData->itemData(row, MpMpxCollectionData::Artist); + if ( !primaryText.isEmpty() ) { + display << primaryText; + } + else { + display << hbTrId("txt_mus_other_unknown4"); + } + break; + default: + break; } - else { - display << hbTrId("txt_mus_other_unknown4"); - } - + // Fetch the secondary text, which depends on the current context, if available. QString secondaryText; switch ( context ) { case ECollectionContextAllSongs: case ECollectionContextAlbums: case ECollectionContextPlaylistSongs: + case ECollectionContextAlbumsTBone: secondaryText = mCollectionData->itemData(row, MpMpxCollectionData::Artist); if ( !secondaryText.isEmpty() ) { display << secondaryText; @@ -134,7 +174,16 @@ display << hbTrId("txt_mus_other_unknown3"); } break; - case ECollectionContextArtistSongs: + case ECollectionContextArtistAlbumsTBone: + secondaryText = mCollectionData->collectionTitle(); + if ( !secondaryText.isEmpty() ) { + display << secondaryText; + } + else { + display << hbTrId("txt_mus_other_unknown3"); + } + break; + case ECollectionContextArtistAllSongs: secondaryText = mCollectionData->itemData(row, MpMpxCollectionData::Album); if ( !secondaryText.isEmpty() ) { display << secondaryText; @@ -143,6 +192,15 @@ display << hbTrId("txt_mus_other_unknown4"); } break; + case ECollectionContextAlbumsMediaWall: + secondaryText = mCollectionData->itemData(row, MpMpxCollectionData::Title); + if ( !secondaryText.isEmpty() ) { + display << secondaryText; + } + else { + display << hbTrId("txt_mus_other_unknown3"); + } + break; default: break; } @@ -151,18 +209,47 @@ else if ( role == Qt::DecorationRole ) { switch ( context ) { case ECollectionContextAlbums: + case ECollectionContextAlbumsMediaWall: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + returnValue = mAlbumArtManager->albumArt( row ) ; + break; case ECollectionContextArtistAlbums: - const QIcon *icon = mAlbumArtManager->albumArt(row); - QVariant iconVariant(QVariant::Icon, icon); - returnValue = iconVariant; + if ( row == 0 ) { + returnValue = HbIcon( "qtg_small_sound" ); + } + else { + returnValue = mAlbumArtManager->albumArt( row ); + } break; } } else if ( role == Hb::IndexFeedbackRole ) { QString feedbackIndex; - feedbackIndex = mCollectionData->itemData(row, MpMpxCollectionData::Title); + switch ( context ) { + case ECollectionContextAllSongs: + case ECollectionContextArtists: + case ECollectionContextAlbums: + case ECollectionContextArtistAlbums: + case ECollectionContextPlaylists: + case ECollectionContextPlaylistSongs: + case ECollectionContextAlbumsTBone: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + feedbackIndex = mCollectionData->itemData(row, MpMpxCollectionData::Title); + break; + case ECollectionContextAlbumsMediaWall: + feedbackIndex = mCollectionData->itemData(row, MpMpxCollectionData::Artist); + break; + default: + break; + } returnValue = feedbackIndex; } + else if ( role == HgWidget::HgVisibilityRole + && context == ECollectionContextAlbumsMediaWall) { + returnValue = !( row == mHiddenItemIndex ); + } TX_EXIT return returnValue; } @@ -267,6 +354,18 @@ return true; } +/*! + Sets the item visibility, model will report \a visible value as + HgWidget::HgVisibilityRole for the item at \a index. + datachanged() signal is emited when calling this function. + Currently this is only used by Media Wall View. +*/ +void MpCollectionDataModel::setItemVisibility(const QModelIndex &index, bool visible) +{ + mHiddenItemIndex = visible ? -1 : index.row(); + emit dataChanged(index, index); +} + /*! Returns pointer to MpMpxCollectionData, which is the collection data. */ @@ -276,11 +375,49 @@ } /*! + Slot to be called when collection context is changed. + */ +void MpCollectionDataModel::setContext( TCollectionContext context ) +{ + TX_ENTRY_ARGS( "context=" << context ); + // Reset the album index offset for navigation + mAlbumIndexOffset = 0; + switch ( context ) { + case ECollectionContextArtistAlbums: + case ECollectionContextAlbums: + mAlbumArtManager->setThumbnailSize( MpCommon::ListThumb ); + mAlbumArtManager->enableDefaultArt( true ); + break; + case ECollectionContextArtistAlbumsTBone: + if ( mCollectionData->count() > 1 ) { + // Selected artist has more than 1 album and therefore the + // artist's "All songs" exist. Since we don't show artist's + // "All songs" in TBone, we need to set an offset. + mAlbumIndexOffset = 1; + } + //intentional fallthrough + case ECollectionContextAlbumsTBone: + mAlbumArtManager->setThumbnailSize( MpCommon::TBoneThumb ); + mAlbumArtManager->enableDefaultArt( false ); + break; + case ECollectionContextAlbumsMediaWall: + mAlbumArtManager->setThumbnailSize( MpCommon::MediaWallThumb ); + mAlbumArtManager->enableDefaultArt( false ); + break; + default: + break; + } + TX_EXIT +} + +/*! Slot to be called when album art for the \a index needs to be updated. */ void MpCollectionDataModel::updateAlbumArt( int index ) { TX_ENTRY_ARGS("index=" << index); + + index -= mAlbumIndexOffset; if ( index >= 0 && index < mRowCount ) { QModelIndex modelIndex = QAbstractItemModel::createIndex(index, 0); emit dataChanged(modelIndex, modelIndex); @@ -300,7 +437,9 @@ mRowCount = mCollectionData->count(); TCollectionContext context = mCollectionData->context(); - if ( context == ECollectionContextAlbums || ECollectionContextArtistAlbums ) { + if ( context == ECollectionContextAlbums || + context == ECollectionContextArtistAlbums || + context == ECollectionContextAlbumsMediaWall ) { // Before providing the new data to the view (list, grid, etc.), we want // to make sure that we have enough album arts for the first screen. mAlbumArtManager->cacheFirstScreen(); @@ -309,3 +448,17 @@ TX_EXIT } +/*! + Slot to be called when data has changed (same context) and model needs to reload + the data. + */ +void MpCollectionDataModel::reloadData() +{ + TX_ENTRY + mAlbumArtManager->cancel(); + mRowCount = mCollectionData->count(); + reset(); + emit dataReloaded(); + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpcollectiontbonelistdatamodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/src/mpcollectiontbonelistdatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,214 @@ +/* +* 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: Music Player secondary collection abstract data model. This is +* primarily used to support Mediawall in Collection View. This +* model represents the list containing album songs. +* +*/ + +#include + +#include "mpcollectiontbonelistdatamodel.h" +#include "mpmpxcollectiondata.h" +#include "mpplaybackdata.h" +#include "mptrace.h" + +/*! + \class MpCollectionTBoneListDataModel + \brief Music Player collection data model. + + Secondary collection data model implements the interface specified by + QAbstractListModel, which defines the standard interface that item models + must use to be able to interoperate with other components in the model/view + architecture. + + Every item of data that can be accessed via a model has an associated model + index. + + Each item has a number of data elements associated with it and they can be + retrieved by specifying a role (see Qt::ItemDataRole) to the model's data + returned by itemData() function. + + MpCollectionTBoneListDataModel is primarily used to support Mediawall in + Collection View. This model represents the list containing album songs. + + \sa QAbstractListModel +*/ + +/*! + \fn void albumDataChanged() + + This signal is specific to views with TBone. This signal is emitted when + there's a change in album data. This is an indication that the container + should re-fetch the album content. Currently, the only operation that can + trigger this is the delete operation. + */ + +/*! + \fn void albumDataAvailable() + + This signal is specific to views with TBone. This signal is emitted when + a new data set is available for the list section of the TBone. This is + triggered as a result of container re-fetching the album content. + + \sa albumDataChanged + */ + +/*! + Constructs the collection data model. + */ +MpCollectionTBoneListDataModel::MpCollectionTBoneListDataModel( MpMpxCollectionData *collectionData, + MpPlaybackData *playbackData, QObject *parent ) + : QAbstractListModel( parent ), + mCollectionData( collectionData ), + mPlaybackData( playbackData ), + mRowCount( 0 ), + mCurrentSongId( 0 ), + mPlaybackActive( false ) +{ + TX_ENTRY + connect( mCollectionData, SIGNAL(refreshAlbumSongs()), + this, SLOT(refreshModel()) ); + connect( mCollectionData, SIGNAL(albumDataChanged()), + this, SIGNAL(albumDataChanged()) ); + + if ( mPlaybackData ) { + connect( mPlaybackData, SIGNAL(playbackInfoChanged()), + this, SLOT(updateSong())); + + connect( mPlaybackData, SIGNAL(playbackStateChanged()), + this, SLOT(updatePlaybackState())); + mPlaybackActive = mPlaybackData->playbackState() != MpPlaybackData::NotPlaying; + } + + TX_EXIT +} + +/*! + Destructs the collection data model. + */ +MpCollectionTBoneListDataModel::~MpCollectionTBoneListDataModel() +{ + TX_LOG +} + +/*! + Returns the number of rows under the given \a parent. + + \reimp + */ +int MpCollectionTBoneListDataModel::rowCount( const QModelIndex &parent ) const +{ + TX_LOG + Q_UNUSED(parent); + return mRowCount; +} + +/*! + Returns the data stored for the item referred to by the \a index. + + \reimp + */ +QVariant MpCollectionTBoneListDataModel::data(const QModelIndex &index, int role) const +{ + TX_ENTRY + QVariant returnValue = QVariant(); + if ( !index.isValid() ) { + return returnValue; + } + + int row = index.row(); + TX_LOG_ARGS("index=" << row << ", role=" << role); + if ( role == Qt::DisplayRole ) { + // Fetch the primary text, which is the title, if available. + QString songTitle = mCollectionData->albumSongData(row, MpMpxCollectionData::Title); + if ( !songTitle.isEmpty() ) { + returnValue = songTitle; + } + else { + returnValue = hbTrId("txt_mus_other_unknown4"); + } + } + else if ( role == Qt::DecorationRole ) { + if ( mPlaybackActive + && mPlaybackData->id() == mCollectionData->albumSongId( row ) ) { + QList iconList; + iconList << QVariant(); //primary icon is not used. + + iconList << HbIcon("qtg_small_speaker"); + returnValue = iconList; + } + } + TX_EXIT + return returnValue; +} + +/*! + Slot to be called when data has changed and model needs to be refreshed + to reflect the new data. + */ +void MpCollectionTBoneListDataModel::refreshModel() +{ + TX_ENTRY + mRowCount = mCollectionData->albumSongsCount(); + reset(); + emit albumDataAvailable(); + TX_EXIT +} + +/*! + Slot to be called when playing song status has changed. + */ +void MpCollectionTBoneListDataModel::updateSong() +{ + TX_ENTRY + int newSongId = mPlaybackData->id(); + + if ( mCurrentSongId && newSongId != mCurrentSongId) { + //Attempt to remove old song icon. + QModelIndex oldSongIndex; + oldSongIndex = index( mCollectionData->albumSongIndex( mCurrentSongId ) ); + if ( oldSongIndex.isValid() ) { + emit dataChanged( oldSongIndex, oldSongIndex ); + } + } + + //Attempt to update current song data and state. + QModelIndex songIndex; + songIndex = index( mCollectionData->albumSongIndex( newSongId ) ); + if ( songIndex.isValid() ) { + emit dataChanged( songIndex, songIndex ); + } + mCurrentSongId = newSongId; + TX_EXIT +} + +/*! + Slot to be called when playback state has changed. + */ +void MpCollectionTBoneListDataModel::updatePlaybackState() +{ + //This logic is to account for when song plays the very first time, we get + //media before playback is active. + bool playbackWasActive = mPlaybackActive; + mPlaybackActive = mPlaybackData->playbackState() != MpPlaybackData::NotPlaying; + if ( mPlaybackActive && !playbackWasActive ) { + updateSong(); + } +} + + +//EOF + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpmpxcollectiondata.cpp --- a/mpdata/src/mpmpxcollectiondata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/src/mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -43,6 +43,37 @@ */ /*! + \fn void dataChanged() + + This signal is emitted when a new data set is available within the + same context. This can happen after operations like delete and several + playlist related operations (save, rearrange, remove). + + \sa setMpxMedia() + */ + + +/*! + \fn void albumDataChanged() + + This signal is specific to views with TBone. This signal is emitted when + a new data set is available for the list section of the TBone. Currently, + the only operation that can trigger this is the delete operation. + + \sa setMpxMedia() + */ + +/*! + \fn void refreshAlbumSongs() + + This signal is specific to views with TBone. This signal is emitted when + album song data is available (for the list section of the TBone), upon + completion of MpEngine's findAlbumSongs() operation. + + \sa setAlbumContent() + */ + +/*! Constructs the collection data. */ MpMpxCollectionData::MpMpxCollectionData( QObject *parent ) @@ -61,6 +92,7 @@ /*! Returns the current collection context. + /sa setContext() */ TCollectionContext MpMpxCollectionData::context() const { @@ -126,20 +158,28 @@ /*! Returns id of the item specified by \a index */ -int MpMpxCollectionData::itemId(int index) +int MpMpxCollectionData::itemId( int index ) { return d_ptr->itemId(index); } /*! + Returns id of the album song specified by \a index + */ +int MpMpxCollectionData::albumSongId( int index ) +{ + return d_ptr->albumSongId( index ); +} + +/*! Removes item specified by \a index, also internally caches the item for drag and drop operations. \sa testCachedItem() insertCachedItem() */ -void MpMpxCollectionData::removeItem(int index) +void MpMpxCollectionData::removeItem( int index ) { - d_ptr->removeItem(index); + d_ptr->removeItem( index ); } /*! @@ -157,22 +197,62 @@ */ void MpMpxCollectionData::insertCachedItem(int index) { - return d_ptr->insertCachedItem( index ); + d_ptr->insertCachedItem( index ); +} + +/*! + Sets the current album in focus. Also, triggers refreshAlbumSongs() signal + if data contains album songs already and returns true. Otherwise, function + returns false. + */ +bool MpMpxCollectionData::setCurrentAlbum( int index ) +{ + return d_ptr->setCurrentAlbum( index ); +} + +/*! + Returns the current album index. + \sa setCurrentAlbum() + */ +int MpMpxCollectionData::currentAlbumIndex() const +{ + return d_ptr->currentAlbumIndex(); } /*! - Sets the media \a entries from the MPX framework. - Internal usage only from MpMpxFrameworkWrapper. + Returns the number of songs in the current album. */ -void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries ) +int MpMpxCollectionData::albumSongsCount() const { - d_ptr->setMpxMedia(entries); + return d_ptr->albumSongsCount(); +} + +/*! + Returns the data for the specified \a index and \a type in the current album. + Currently supported data types are: Title and Uri. All others will return + + empty string. + + \sa setCurrentAlbum() + */ +QString MpMpxCollectionData::albumSongData( int index, MpMpxCollectionData::DataType type ) const +{ + return d_ptr->albumSongData( index, type ); +} + +/*! + Sets the media \a entries from the MPX framework. The \a reopen flag indicates + whether the new media is a result of reopenCollection() operation in the MpEngine. + Internal usage only from MpEngine. + */ +void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries, bool reopen ) +{ + d_ptr->setMpxMedia(entries, reopen); } /*! Returns the container media from the MPX framework. - Internal usage only from MpMpxFrameworkWrapper. - + Internal usage only from MpEngine. \sa setMpxMedia() */ @@ -181,3 +261,49 @@ return d_ptr->containerMedia(); } +/*! + Sets the context. + Used to fake open() and back() in T-Bone supporting views. + Used to force the context for Media Wall view. + */ +void MpMpxCollectionData::setContext( TCollectionContext context ) +{ + d_ptr->setContext( context ); +} + +/*! + Sets the media \a albumContent from the MPX framework. + Internal usage only from MpEngine. + Album songs have been populated. Notify the change by emitting + refreshAlbumSongs() signal. + + \sa setCurrentAlbum() + */ +void MpMpxCollectionData::setAlbumContent( const CMPXMedia& albumContent ) +{ + d_ptr->setAlbumContent(albumContent); +} + +/*! + Returns the index of the item with \a ItemUniqueId. + Only supported for ECollectionContextAlbumsMediaWall. + + \sa setContext() + */ +int MpMpxCollectionData::itemIndex( int itemUniqueId ) +{ + return d_ptr->itemIndex( itemUniqueId ); +} + +/*! + Returns the index within the album data for the song with \a songUniqueId. + + */ +int MpMpxCollectionData::albumSongIndex( int songUniqueId ) +{ + return d_ptr->albumSongIndex( songUniqueId ); +} + +//EOF + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpmpxcollectiondata_p.cpp --- a/mpdata/src/mpmpxcollectiondata_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/src/mpmpxcollectiondata_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -27,9 +27,6 @@ #include "mpmpxcollectiondata_p.h" #include "mptrace.h" -_LIT( KSong, " song" ); -_LIT( KSongs, " songs" ); - /*! \class MpMpxCollectionDataPrivate \brief Music Player collection data - private implementation. @@ -42,10 +39,12 @@ */ MpMpxCollectionDataPrivate::MpMpxCollectionDataPrivate( MpMpxCollectionData *wrapper ) : q_ptr( wrapper ), + iContext( ECollectionContextUnknown ), iContainerMedia(0), iMediaArray(0), - iContext( ECollectionContextUnknown ), - iCachedRemovedItem ( 0 ) + iCachedRemovedItem(0), + iCurrentAlbumIndex(-1), + iAlbumSongCount(0) { TX_LOG } @@ -196,16 +195,34 @@ /*! \internal */ -int MpMpxCollectionDataPrivate::itemId(int index) +int MpMpxCollectionDataPrivate::itemId( int index ) { - TX_ENTRY_ARGS("index=" << index); + TX_ENTRY_ARGS( "index=" << index ); int id = -1; - TRAPD(err, id = DoGetItemIdL(index)); + TRAPD( err, id = DoGetItemIdL( index ) ); if ( err == KErrNone ) { - TX_LOG_ARGS("id=" << id); + TX_LOG_ARGS( "id=" << id ); } else { - TX_LOG_ARGS("Error: " << err << "; should never get here."); + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } + TX_EXIT + return id; +} + +/*! + \internal + */ +int MpMpxCollectionDataPrivate::albumSongId( int index ) +{ + TX_ENTRY_ARGS( "index=" << index ); + int id = -1; + TRAPD( err, id = DoGetAlbumSongIdL( index ) ); + if ( err == KErrNone ) { + TX_LOG_ARGS( "id=" << id ); + } + else { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); } TX_EXIT return id; @@ -256,13 +273,137 @@ /*! \internal */ -void MpMpxCollectionDataPrivate::setMpxMedia( const CMPXMedia& entries ) +bool MpMpxCollectionDataPrivate::setCurrentAlbum( int index ) +{ + TX_ENTRY_ARGS( "index=" << index); + bool available = false; + TRAPD( err, available = DoSetCurrentAlbumL( index ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT + return available; +} + +/*! + \internal + */ +int MpMpxCollectionDataPrivate::currentAlbumIndex() const +{ + return iCurrentAlbumIndex; +} + +/*! + \internal + */ +int MpMpxCollectionDataPrivate::albumSongsCount() const +{ + return iAlbumSongCount; +} + +/*! + \internal + */ +QString MpMpxCollectionDataPrivate::albumSongData( int index, MpMpxCollectionData::DataType type ) const +{ + TX_ENTRY_ARGS("index=" << index << ", type=" << type); + QString data; + TRAPD(err, DoGetAlbumSongDataL(index, type, data)); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT + return data; +} + +/*! + \internal + New data from MPX collection. This could be due to Open operation, in which case + context would have changed. This could also be due to Re-open after operations + such as delete, playlist renaming, playlist rearraging, etc., in which case the + context would remain the same, but the internal data may have changed. + */ +void MpMpxCollectionDataPrivate::setMpxMedia( const CMPXMedia& entries, bool reopen ) { TX_ENTRY + TCollectionContext prevContext = iContext; + int prevCount = count(); + TRAPD(err, DoSetMpxMediaL(entries)); if ( err == KErrNone ) { - TX_LOG_ARGS("Context changed: iContext=" << iContext); - emit q_ptr->contextChanged(iContext); + int newCount = count(); + if ( (newCount == 0) || (prevCount == 0) ) { + TX_LOG_ARGS("Empty container"); + // Two cases: + // 1) newCount is zero: Last item in the model was deleted. + // 2) prevCount is zero: Refresh operation found new data. + // In these cases, independent of context change, we must emit the + // contextChanged() signal so that the container can properly reload + // the layout. + emit q_ptr->contextChanged(iContext); + } + else if ( iContext != prevContext ) { + TX_LOG_ARGS("Context changed: iContext=" << iContext); + if ( prevContext == ECollectionContextArtistAlbumsTBone + && iContext == ECollectionContextArtistAlbums + && reopen ) { + // Special case 1: This occurs when a song was deleted from TBone list + // within artist container. And the fact that the new context is ArtistAlbums + // indicates that the artist has more than 1 album. + // Restore context to ArtistAlbumsTBone. + iContext = ECollectionContextArtistAlbumsTBone; + if ( newCount != prevCount ) { + // Change in count indicates that the deleted song was the last song + // in the TBone list. As a result, the album was deleted also, therefore + // we must emit dataChanged() indicating changes to the album section + // of the TBone. + emit q_ptr->dataChanged(); + } + else { + // Same count indicates that one of the songs in the TBone's list + // section was deleted. We only want to reload the list section of the + // TBone in this case. + emit q_ptr->albumDataChanged(); + } + } + else if ( prevContext == ECollectionContextAlbumsTBone && reopen ) { + // Special case 2: This occurs when a song was deleted from TBone list + // within album container. Restore context to AlbumsTBone. + iContext = ECollectionContextAlbumsTBone; + if ( newCount != prevCount ) { + // Change in count indicates that the deleted song was the last song + // in the TBone list. As a result, the album was deleted also, therefore + // we must emit dataChanged() indicating changes to the album section + // of the TBone. + emit q_ptr->dataChanged(); + } + else { + // Same count indicates that one of the songs in the TBone's list + // section was deleted. We only want to reload the list section of the + // TBone in this case. + emit q_ptr->albumDataChanged(); + } + } + else { + // Simple case where the context has really changed and it didn't + // involve TBone. + emit q_ptr->contextChanged(iContext); + } + } + else if ( prevContext == ECollectionContextArtistAlbumsTBone + && iContext == ECollectionContextArtistAlbumsTBone + && reopen ) { + // Special case 3: This occurs when a song was deleted from TBone list + // within artist container. This is similar to special case 1, however, the + // fact that the new context is also ArtistAlbumsTBone indicates that the + // artist has only 1 album. We only want to reload the list section of the + // TBone in this case. + emit q_ptr->albumDataChanged(); + } + else { + // Same context, but the data has changed. + emit q_ptr->dataChanged(); + } } else { TX_LOG_ARGS("Error: " << err << "; should never get here."); @@ -273,13 +414,102 @@ /*! \internal */ +const CMPXMedia& MpMpxCollectionDataPrivate::containerMedia() +{ + return *iContainerMedia; +} + +/*! + \internal + */ +void MpMpxCollectionDataPrivate::setContext( TCollectionContext context ) +{ + iContext = context; + TX_LOG_ARGS("Context changed: iContext=" << iContext); + loadAlbumsLookup(); + emit q_ptr->contextChanged(iContext); +} + +/*! + \internal + */ +void MpMpxCollectionDataPrivate::setAlbumContent( const CMPXMedia& albumContent ) +{ + TX_ENTRY + TRAPD(err, DoSetAlbumContentL(albumContent)); + if ( err == KErrNone ) { + TX_LOG_ARGS("Album content is available."); + loadAlbumSongsLookup(); + emit q_ptr->refreshAlbumSongs(); + } + else { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + Currently only used to lookup playing song album id to index of albums on + media wall. + */ +int MpMpxCollectionDataPrivate::itemIndex( int itemUniqueId ) +{ + return albumIdIndexMapping.value( itemUniqueId, -1 ); +} + +/*! + \internal + Currently only used to lookup playing song id to index of song in the + current album on media wall. + */ +int MpMpxCollectionDataPrivate::albumSongIndex( int songUniqueId ) +{ + return albumSongIdIndexMapping.value( songUniqueId, -1 ); +} + + +/*! + \internal + */ +void MpMpxCollectionDataPrivate::loadAlbumsLookup() +{ + //Clearing all the album ids. + albumIdIndexMapping.clear(); + if ( iContext == ECollectionContextAlbumsMediaWall) { + //Adding album ids and indixes to the hash, for itemIndex lookup. + //This is disabled for other containers to save resources. + for ( int i = count() - 1 ; i >= 0 ; i-- ) { + albumIdIndexMapping.insert( itemId( i ) , i ); + } + } +} + +/*! + \internal + */ +void MpMpxCollectionDataPrivate::loadAlbumSongsLookup() +{ + //Clearing all the song ids. + albumSongIdIndexMapping.clear(); + if ( iContext == ECollectionContextAlbumsMediaWall) { + //Adding album song ids and indixes to the hash, for albumSongIndex lookup. + //This is disabled for other containers to save resources. + for ( int i = albumSongsCount() - 1 ; i >= 0 ; i-- ) { + albumSongIdIndexMapping.insert( albumSongId( i ) , i ); + } + } +} + +/*! + \internal + */ void MpMpxCollectionDataPrivate::DoGetDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const { TX_ENTRY CMPXMedia* currentMedia( iMediaArray->AtL( index ) ); - TBuf<256> countBuf; - TBuf<20> temp; + TBuf<10> countBuf; TInt count = 0; switch ( type ) { case MpMpxCollectionData::Title: @@ -310,10 +540,7 @@ if ( currentMedia->IsSupported( KMPXMediaGeneralCount ) ) { count = currentMedia->ValueTObjectL( KMPXMediaGeneralCount ); } - temp.AppendNum( count ); - //AknTextUtils::LanguageSpecificNumberConversion( temp ); - countBuf.Append( temp ); - countBuf.Append( (count > 1 ) ? KSongs() : KSong() ); + countBuf.AppendNum( count ); data = QString::fromUtf16( countBuf.Ptr(), countBuf.Length() ); break; case MpMpxCollectionData::AlbumArtUri: @@ -413,6 +640,21 @@ /*! \internal */ +int MpMpxCollectionDataPrivate::DoGetAlbumSongIdL( int index ) +{ + CMPXMedia* album( iMediaArray->AtL( iCurrentAlbumIndex ) ); + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + User::LeaveIfNull(const_cast(songs)); + CMPXMedia* song = songs->AtL(index); + if ( !song->IsSupported( KMPXMediaGeneralId ) ) { + User::Leave(KErrNotFound); + } + return song->ValueTObjectL( KMPXMediaGeneralId ); +} + +/*! + \internal + */ void MpMpxCollectionDataPrivate::DoRemoveItemL( int index ) { delete iCachedRemovedItem; @@ -426,12 +668,71 @@ */ bool MpMpxCollectionDataPrivate::DoTestCachedItemL( int itemId ) { - if ( !iCachedRemovedItem && !iCachedRemovedItem->IsSupported( KMPXMediaGeneralId ) ) { + if ( !iCachedRemovedItem || !iCachedRemovedItem->IsSupported( KMPXMediaGeneralId ) ) { User::Leave(KErrNotFound); } return ( itemId == iCachedRemovedItem->ValueTObjectL( KMPXMediaGeneralId ) ); } +/*! + \internal + */ +bool MpMpxCollectionDataPrivate::DoSetCurrentAlbumL( int index ) +{ + TX_ENTRY_ARGS( "index=" << index); + iCurrentAlbumIndex = index; + + bool songsAvailable = false; + CMPXMedia* album( iMediaArray->AtL( index ) ); + if ( album->IsSupported(KMPXMediaArrayContents) ) { + // We've previously fetched the songs for this album so + // all we do now is populate the list with the song titles. + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + iAlbumSongCount = songs->Count(); + songsAvailable = true; + TX_LOG_ARGS("Songs available."); + loadAlbumSongsLookup(); + emit q_ptr->refreshAlbumSongs(); + } + TX_EXIT + return songsAvailable; +} + +/*! + \internal + */ +void MpMpxCollectionDataPrivate::DoGetAlbumSongDataL( int index, MpMpxCollectionData::DataType type, QString& data ) const +{ + TX_ENTRY + CMPXMedia* album( iMediaArray->AtL( iCurrentAlbumIndex ) ); + if ( album->IsSupported(KMPXMediaArrayContents) ) { + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + User::LeaveIfNull(const_cast(songs)); + CMPXMedia* song = songs->AtL(index); + + switch ( type ) { + case MpMpxCollectionData::Title: + if ( song->IsSupported( KMPXMediaGeneralTitle ) ) { + const TDesC& title = song->ValueText( KMPXMediaGeneralTitle ); + if ( title.Compare( KNullDesC ) != 0 ) { + data = QString::fromUtf16( title.Ptr(), title.Length() ); + } + } + break; + case MpMpxCollectionData::Uri: + if ( song->IsSupported( KMPXMediaGeneralUri ) ) { + const TDesC& uri = song->ValueText( KMPXMediaGeneralUri ); + if ( uri.Compare( KNullDesC ) != 0 ) { + data = QString::fromUtf16( uri.Ptr(), uri.Length() ); + } + } + break; + default: + break; + } + } + TX_EXIT +} /*! \internal @@ -465,28 +766,26 @@ case EMPXPlaylist: iContext = ECollectionContextPlaylists; break; - case EMPXGenre: - iContext = ECollectionContextGenres; - break; } } else if ( containerType == EMPXItem ) { switch (containerCategory) { case EMPXArtist: - iContext = ECollectionContextArtistAlbums; - break; - case EMPXAlbum: - iContext = ECollectionContextAlbumSongs; + if ( iMediaArray->Count() > 1 ) { + iContext = ECollectionContextArtistAlbums; + } + else { + // Single album. Go directly to TBone. + iContext = ECollectionContextArtistAlbumsTBone; + } break; case EMPXSong: - iContext = ECollectionContextArtistSongs; + // All songs for an artist + iContext = ECollectionContextArtistAllSongs; break; case EMPXPlaylist: iContext = ECollectionContextPlaylistSongs; break; - case EMPXGenre: - iContext = ECollectionContextGenreSongs; - break; } } TX_EXIT @@ -511,8 +810,23 @@ /*! \internal */ -const CMPXMedia& MpMpxCollectionDataPrivate::containerMedia() +void MpMpxCollectionDataPrivate::DoSetAlbumContentL( const CMPXMedia& albumContent ) { - return *iContainerMedia; + TX_ENTRY + CMPXMediaArray* songArray(const_cast( albumContent.Value( + 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. + iAlbumSongCount = songArray->Count(); + + if ( iAlbumSongCount ) { + CMPXMedia* albumMedia( iMediaArray->AtL( iCurrentAlbumIndex ) ); + albumMedia->SetCObjectValueL(KMPXMediaArrayContents, songArray); + albumMedia->SetTObjectValueL(KMPXMediaArrayCount, iAlbumSongCount); + } + TX_EXIT } + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpplaybackdata.cpp --- a/mpdata/src/mpplaybackdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/src/mpplaybackdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,10 +15,10 @@ * */ -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -74,23 +74,23 @@ Constructs a new MpPlaybackData. */ MpPlaybackData::MpPlaybackData( QObject *parent ) - : QObject(parent), - mThumbnailManager(0), - mReqId(KUndefined), + : QObject( parent ), + mThumbnailManager( new ThumbnailManager( this ) ), + mReqId( KUndefined ), mDuration(0), mPosition(0), - mAlbumArt(), - mPlaybackState(Stopped) + mAlbumId(0), + mId(0), + mAlbumArt( "qtg_large_music_album" ), + mDefaultAlbumArt( "qtg_large_music_album" ), + mPlaybackState( NotPlaying ), + mRealAudio( false ) { TX_ENTRY - mThumbnailManager = new ThumbnailManager(this); - mThumbnailManager->setQualityPreference(ThumbnailManager::OptimizeForQuality); - mThumbnailManager->setThumbnailSize(ThumbnailManager::ThumbnailLarge); - connect( mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)), - this, SLOT(thumbnailReady(QPixmap, void *, int, int)) ); - - //TODO: Change to final resource when available - mDefaultAlbumArt = new HbIcon("qtg_large_music"); + mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); + mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailLarge ); + connect( mThumbnailManager, SIGNAL( thumbnailReady(QPixmap, void *, int, int ) ), + this, SLOT(thumbnailReady( QPixmap, void *, int, int ) ) ); TX_EXIT } @@ -175,9 +175,16 @@ { TX_ENTRY_ARGS( "artist = " << artist ) bool change = false; - if ( artist != mArtist ) { + // data is different or mArtist was not set befor or it was reset. + // When artist is empty and mArtist is empty mArtist should be unknown text. + if ( artist != mArtist || mArtist.isNull()) { change = true; - mArtist = artist; + if ( artist.isEmpty() ){ + mArtist = hbTrId( "txt_mus_other_unknown3" ); + } + else { + mArtist = artist; + } } TX_EXIT return change; @@ -199,9 +206,16 @@ { TX_ENTRY_ARGS( "album = " << album ) bool change = false; - if ( album != mAlbum ) { + // data is different or mAlbum was not set befor or it was reset. + // when album is empty and mAlbum is empty mAlbum should be unknown text. + if ( album != mAlbum || mAlbum.isNull() ) { change = true; - mAlbum = album; + if ( album.isEmpty() ){ + mAlbum = hbTrId( "txt_mus_other_unknown4" ); + } + else{ + mAlbum = album; + } } TX_EXIT return change; @@ -275,16 +289,75 @@ void MpPlaybackData::albumArt( HbIcon& icon ) const { TX_ENTRY - if ( mAlbumArt->isNull() ) { - icon = HbIcon(); - } - else { - icon = *mAlbumArt ; - } + icon = mAlbumArt ; TX_EXIT } /*! + Sets the song's album \a id, returns true if the value is new. +*/ +bool MpPlaybackData::setAlbumId( int id ) +{ + bool change = false; + if (mAlbumId != id) { + mAlbumId = id; + change = true; + } + return change; +} + +/*! + Returns the id of the album to which the song belongs. +*/ +int MpPlaybackData::albumId() +{ + return mAlbumId; +} + +/*! + Sets the song's \a id, returns true if the value is new. +*/ +bool MpPlaybackData::setId( int id ) +{ + bool change = false; + if (mId != id) { + mId = id; + change = true; + } + return change; +} + +/*! + Returns the id the song. +*/ +int MpPlaybackData::id() +{ + return mId; +} +/*! +Set Real Audio \a mode. +*/ +bool MpPlaybackData::setRealAudio( bool mode ) +{ + TX_ENTRY + bool change = false; + if (mRealAudio != mode) { + mRealAudio = mode; + change = true; + } + TX_EXIT + return change; +} + +/*! + Returns the mode of Real Audio. +*/ +bool MpPlaybackData::realAudio() +{ + return mRealAudio; +} + +/*! Sets the playback \a state. */ void MpPlaybackData::setPlaybackState( const SimplifiedState state ) @@ -317,6 +390,28 @@ } /*! + Resets the data, currently called when source is removed. +*/ +void MpPlaybackData::resetData() +{ + mDuration = 0; + mPosition = 0; + mTitle = QString(); + mAlbum = QString(); + mArtist = QString(); + mUri = QString(); + mAlbumId = 0; + mId = 0; + mAlbumArt = HbIcon(); + mRealAudio = false; + + emit durationChanged(); + emit positionChanged(); + emit albumArtReady(); + emit playbackInfoChanged(); +} + +/*! Slot to handle the album art thumb. */ void MpPlaybackData::thumbnailReady( @@ -345,7 +440,7 @@ } - mAlbumArt = new HbIcon(qicon); + mAlbumArt = HbIcon(qicon); emit albumArtReady(); } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/src/mpsongdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/src/mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,777 @@ +/* +* 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: Playback Data provider for playback view. +* +*/ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "mpsongdata.h" +#include "mptrace.h" + +const int KUndefined = -1; + +/*! + \class MpSongData + \brief Music Player song metadata. + + Song data provide acces to current playing song metadata +*/ + +/*! + \fn void albumArtReady() + + This signal is albuma alrt is ready. + */ + +/*! + \fn void playbackInfoChanged() + + This signal is emitted when basic information is available + */ + +/*! + \fn void songDetailInfoChanged() + + This signal is emitted when detail information is available + */ + + + +/*! + Constructs a new MpSongData. + */ +MpSongData::MpSongData( QObject *parent ) + : QObject( parent ), + mAlbumArt(), + mReqId( KUndefined ) +{ + TX_ENTRY + mThumbnailManager = new ThumbnailManager( this ); + mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); + mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailMedium ); + QObject::connect( mThumbnailManager, SIGNAL( thumbnailReady( QPixmap , void * , int , int ) ), + this, SLOT( thumbnailReady( QPixmap , void * , int , int ) ) ); + + mDefaultAlbumArt = new HbIcon( "qtg_large_music_album" ); + TX_EXIT +} + +/*! + Constructs a new MpSongData. + */ +MpSongData::~MpSongData() +{ + TX_ENTRY + if( mThumbnailManager ) { + delete mThumbnailManager; + } + removeAlbumArtFile(); // TODO Remove when base64 is working + TX_EXIT +} + +/*! + Returns the song album art on \a pixmap. +*/ +void MpSongData::albumArt( HbIcon& icon ) const +{ + TX_ENTRY + if ( !mAlbumArt || mAlbumArt->isNull() ) { + TX_LOG_ARGS( "Album art is NULL." ); + icon = HbIcon(); + } else { + TX_LOG_ARGS( "Album art is not NULL." ); + icon = *mAlbumArt ; + } + TX_EXIT +} + + +/*! + Returns the song title. +*/ +QString MpSongData::title() const +{ + TX_LOG + return mTitle; +} + +/*! + Returns the song album. +*/ +QString MpSongData::album() const +{ + TX_LOG + return mAlbum; +} + +/*! + Returns the song artist. +*/ +QString MpSongData::artist() const +{ + TX_LOG + return mArtist; +} + +/*! + Returns comment +*/ +QString MpSongData::comment() const +{ + TX_LOG + return mComment; +} + +/*! + Returns the song composer. +*/ +QString MpSongData::composer() const +{ + TX_LOG + return mComposer; +} + + +/*! + Returns the song genre. +*/ +QString MpSongData::genre() const +{ + TX_LOG + return mGenre; +} + + +/*! + Returns the album track. +*/ +QString MpSongData::albumTrack() const +{ + TX_LOG + return mAlbumTrack; +} + +/*! + Returns link +*/ +QString MpSongData::link() const +{ + TX_LOG + return mLink; +} + +/*! + Returns the release date. +*/ +QString MpSongData::year() const +{ + TX_LOG + return mYear; +} + +/*! + Returns the file name +*/ +QString MpSongData::fileName() const +{ + TX_LOG + return mFileName; +} + +/*! + Returns the MIME type +*/ +QString MpSongData::mimeType() const +{ + TX_LOG + return mMimeType; +} + +/*! + Returns the duration +*/ +QString MpSongData::duration() const +{ + TX_LOG + return mDuration; +} + +/*! + Returns the bit rate +*/ +QString MpSongData::bitRate() const +{ + TX_LOG + return mBitRate; +} + +/*! + Returns the sampling rate +*/ +QString MpSongData::sampleRate() const +{ + TX_LOG + return mSampleRate; +} + +/*! + Returns the size +*/ +QString MpSongData::size() const +{ + TX_LOG + return mSize; +} + +/*! + Returns the size +*/ +QString MpSongData::modified() const +{ + TX_LOG + return mModified; +} + +/*! + Returns the copy right +*/ +QString MpSongData::copyright() const +{ + TX_LOG + return mCopyright; +} + +/*! + Returns the music URL +*/ +QString MpSongData::musicURL() const +{ + TX_LOG + return mMusicURL; +} + +/*! + Returns whether the song is protected +*/ +bool MpSongData::isDrmProtected() const +{ + TX_LOG + return mDrmProtected; +} + +/*! + Sets the song \a title, returns true if the value is new. +*/ +bool MpSongData::setTitle( const QString &title ) +{ + TX_ENTRY_ARGS( "title =" << title ) + bool change = false; + if ( title != mTitle ) { + change = true; + mTitle = title; + } + TX_EXIT + return change; +} + +/*! + Sets the song \a album, returns true if the value is new. +*/ +bool MpSongData::setAlbum( const QString &album ) +{ + TX_ENTRY_ARGS( "album =" << album ) + bool change = false; + if ( album != mAlbum ) { + change = true; + mAlbum = album; + } + TX_EXIT + return change; +} + +/*! + Sets the song \a artist, returns true if the value is new. +*/ +bool MpSongData::setArtist( const QString &artist ) +{ + TX_ENTRY_ARGS( "artist =" << artist ) + bool change = false; + if ( artist != mArtist ) { + change = true; + mArtist = artist; + } + TX_EXIT + return change; +} + +/*! + Sets the song \a comment, returns true if the value is new. +*/ +bool MpSongData::setComment( const QString &comment) +{ + TX_ENTRY_ARGS( "comment =" << comment ) + bool change = false; + if ( comment != mComment ) { + change = true; + mComment = comment; + } + TX_EXIT + return change; +} + + +/*! + Sets the song \a composer, returns true if the value is new. +*/ +bool MpSongData::setComposer( const QString &composer ) +{ + TX_ENTRY_ARGS( "composer =" << composer ) + bool change = false; + if ( composer != mComposer ) { + change = true; + mComposer = composer; + } + TX_EXIT + return change; +} + +/*! + Sets the song \a genre, returns true if the value is new. +*/ +bool MpSongData::setGenre( const QString &genre ) +{ + TX_ENTRY_ARGS( "genre =" << genre ) + bool change = false; + if ( genre != mGenre ) { + change = true; + mGenre = genre; + } + TX_EXIT + return change; +} + + +/*! + Sets the song \a date, returns true if the value is new. +*/ +bool MpSongData::setYear( int year ) +{ + TX_ENTRY_ARGS( "year =" << year ) + bool change = false; + if ( QString::number(year) != mYear ) { + change = true; + if ( year >= 0 && year < 9999 ) { + mYear = QString::number(year); + } else { + mYear = QString(); + } + } + TX_EXIT + return change; +} + +/*! + Sets the \a album track, returns true if the value is new. +*/ +bool MpSongData::setAlbumTrack( const QString &track ) +{ + TX_ENTRY_ARGS( "track =" << track ) + bool change = false; + if ( track != mAlbumTrack ) { + change = true; + mAlbumTrack = track; + } + TX_EXIT + return change; +} + +/*! + Sets the \a link +*/ +void MpSongData::setLink( const QString &link ) +{ + TX_ENTRY_ARGS( "Link =" << link ) + mLink = link; + TX_EXIT +} + +/*! + Sets the song \a albumArtUri. +*/ +void MpSongData::setAlbumArtUri( const QString &albumArtUri) +{ + TX_ENTRY_ARGS( "albumArtUri = " << albumArtUri ) + if ( !albumArtUri.isEmpty() ) { + TX_LOG_ARGS( "There is album art" ); + bool ok = true; + if ( mReqId != KUndefined ) { + // There is already an outstanding request. Cancel it first. + bool ok = mThumbnailManager->cancelRequest( mReqId ); + } + if ( ok ) { + mReqId = mThumbnailManager->getThumbnail( albumArtUri ); + if ( mReqId == KUndefined ) { + // Request failed. Set default album art. + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + } + } + } + else { + // No album art uri. Set default album art. + TX_LOG_ARGS( "There is No album art" ); + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + } + TX_EXIT +} + +/*! + Sets the \a file name +*/ +bool MpSongData::setFileName( const QString &fileName ) +{ + TX_ENTRY_ARGS( "File name =" << fileName ) + bool change = false; + if ( fileName != mFileName ) { + change = true; + mFileName = fileName; + } + TX_EXIT + return change; +} + +/*! + Sets the \a MIME type +*/ +bool MpSongData::setMimeType( const QString &mimeType ) +{ + TX_ENTRY_ARGS( "Mime =" << mimeType ) + bool change = false; + if ( mimeType != mMimeType ) { + change = true; + mMimeType = mimeType; + } + TX_EXIT + return change; +} + +/*! + Sets the \a duration +*/ +bool MpSongData::setDuration( int duration ) +{ + TX_ENTRY_ARGS( "Duration =" << duration ) + bool change = false; + QString timeFormatOne("%1:%2:%3"); + QString timeFormatTwo("%1:%2"); + if ( QString::number( duration ) != mDuration ) { + change = true; + if ( duration >= 3600 ) { + // more than one hours + QString hourStr, minStr, secStr; + int hour = duration / 3600; + int min = duration % 3600 / 60; + int sec = duration % 3600 % 60; + + hourStr = hour >= 10 ? QString::number( hour ) : QString::number( hour ).prepend( "0" ); + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatOne.arg( hourStr ).arg( minStr ).arg( secStr ); + } else if ( duration >= 60 && duration < 3600 ) { + // more than one min && less than one hour + QString minStr, secStr; + int min = duration / 60; + int sec = duration % 60; + + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatTwo.arg( minStr ).arg( secStr ); + } else if ( duration > 0 && duration < 60 ) { + QString secStr; + secStr = duration >= 10 ? QString::number( duration ) : QString::number( duration ).prepend( "0" ); + mDuration = secStr; + } else { + mDuration = QString(); + } + } + TX_EXIT + return change; +} + +/*! + Sets bit rate +*/ +bool MpSongData::setBitRate( int bitRate) +{ + TX_ENTRY_ARGS( "Bit rate =" << bitRate ) + bool change = false; + if ( QString::number( bitRate ) != mBitRate ) { + change = true; + if ( bitRate > 0 ) { + mBitRate = QString::number( bitRate / 1000 ); + } else { + mBitRate = QString(); + } + } + TX_EXIT + return change; +} + +/*! + Sets sample rate +*/ +bool MpSongData::setSampleRate( int sampleRate ) +{ + TX_ENTRY_ARGS( "Sample rate =" << sampleRate ) + bool change = false; + if ( QString::number( sampleRate ) != mSampleRate ) { + change = true; + if ( sampleRate > 0 ) { + mSampleRate = QString::number( sampleRate ); + } else { + mSampleRate = QString(); + } + } + TX_EXIT + return change; +} + +/*! + Sets the \a size +*/ +bool MpSongData::setSize( int size ) +{ + TX_ENTRY_ARGS( "Size =" << size ) + bool change = false; + if ( QString::number( size ) != mSize ) { + change = true; + mSize = QString::number( size / 1000 ); + } + TX_EXIT + return change; +} + +/*! + Sets the \a modification information +*/ +bool MpSongData::setModified( const QString &modified ) +{ + TX_ENTRY_ARGS( "Modified =" << modified ) + bool change = false; + if ( modified != mModified ) { + change = true; + mModified = modified; + } + TX_EXIT + return change; +} + +/*! + Sets the \a copyright information +*/ +bool MpSongData::setCopyright( const QString ©right ) +{ + TX_ENTRY_ARGS( "Copyright =" << copyright ) + bool change = false; + if ( copyright != mCopyright ) { + change = true; + mCopyright = copyright; + } + TX_EXIT + return change; +} + +/*! + Sets the \a music URL +*/ +bool MpSongData::setMusicURL( const QString &musicURL ) +{ + TX_ENTRY_ARGS( "Music URL =" << musicURL ) + bool change = false; + if ( musicURL != mMusicURL ) { + change = true; + mMusicURL = musicURL; + } + TX_EXIT + return change; +} + +/*! + Set whether the song is DRM protected +*/ +bool MpSongData::setDrmProtected( bool drmProtected ) +{ + TX_ENTRY_ARGS( "DRM protected =" << drmProtected ) + bool change = false; + if ( drmProtected != mDrmProtected ) { + change = true; + mDrmProtected = drmProtected; + } + TX_EXIT + return change; +} + +/*! + Slot to handle the album art thumb. +*/ +void MpSongData::thumbnailReady( + const QPixmap& pixmap, + void *data, + int id, + int error ) +{ + TX_ENTRY + Q_UNUSED( data ); + if ( error == 0 && mReqId == id ) { + QIcon qicon; + QPixmap mCompositePixmap; + mReqId = KUndefined; + + mCompositePixmap = QPixmap( 360, 360 ); + mCompositePixmap.fill( Qt::transparent ); + QPainter painter(&mCompositePixmap); + painter.setCompositionMode(QPainter::CompositionMode_Clear); + painter.setCompositionMode(QPainter::CompositionMode_SourceOver); + painter.fillRect(mCompositePixmap.rect(), Qt::transparent); + painter.drawPixmap(QRect(0, 0,360,360), pixmap); + + if ( !mCompositePixmap.isNull() ) { + qicon = QIcon( mCompositePixmap ); + } + else { + qicon = QIcon( pixmap ); + } + + if ( mAlbumArt == mDefaultAlbumArt ) { + TX_LOG_ARGS( "Album art is default album art." ) + delete mAlbumArt; + mAlbumArt = new HbIcon(qicon); + mDefaultAlbumArt = new HbIcon( "qtg_large_music_album" ); + } else { + TX_LOG_ARGS( "Album art is NOT default album art." ) + delete mAlbumArt; + mAlbumArt = new HbIcon(qicon); + } + + emit albumArtReady(); + } + else { + mReqId = KUndefined; + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + } + + TX_EXIT +} + +/*! + Emit signal when playback information changed, such as artist, track name +*/ +void MpSongData::commitPlaybackInfo() +{ + TX_ENTRY + emit playbackInfoChanged(); + TX_EXIT +} + +/*! + Emit signal when song detail information changed +*/ +void MpSongData::commitSongDetailInfo() +{ + TX_ENTRY + emit songDetailInfoChanged(); + TX_EXIT +} + +/*! + Retrieve the album art in base64 encoding suitable for inline HTML display for sharing player. + */ +QString MpSongData::albumArtBase64() const +{ + /* + // Converts the current album art icon to a base64 string, and return the string. + TX_LOG + if ( mAlbumArt->isNull() ) { + TX_ENTRY_ARGS( "MpSongData: album art isNull" ) + return "nullimgcraptoberemoved"; + } + TX_ENTRY_ARGS("MpSongData: album art exists"); + QByteArray array; + QBuffer buffer( &array ); + buffer.open( QIODevice::WriteOnly ); + mAlbumArt->pixmap().save( &buffer, "PNG" ); // writes pixmap into bytes in PNG format + buffer.close(); + QString result = array.toBase64().constData(); + TX_ENTRY_ARGS("MpSongData: album art base64 length: " << result.length()); + return result; + */ + // TODO: this is temporary solution until base64 defect in QT is fixed. + TX_LOG + QByteArray array; + + // Remove old album art in case new one cannot be written. + removeAlbumArtFile(); + + QString sTimeStamp = QTime::currentTime().toString( "hhmmsszzz" ); + QString sTempFileLocation = QString( "e:\\album_art_%1.png" ).arg( sTimeStamp ); + + ( ( MpSongData* ) this )->mTempAlbumArt = sTempFileLocation; + TX_LOG_ARGS( "Create album art file " << mTempAlbumArt ); + + QFile file( mTempAlbumArt ); + file.open( QIODevice::WriteOnly ); + if ( mAlbumArt && !mAlbumArt->isNull() && !mAlbumArt->qicon().isNull() ) + { + QPixmap p = mAlbumArt->qicon().pixmap( QSize( 74, 74 ), QIcon::Normal, QIcon::Off ); + p.save( &file, "PNG" ); + //mAlbumArt->pixmap().save( &file, "PNG" ); // writes pixmap into bytes in PNG format + } + file.close(); + return mTempAlbumArt; +} + +/*! + Delete temporary album art file. + */ +void MpSongData::removeAlbumArtFile() const +{ + TX_ENTRY + if ( !mTempAlbumArt.isEmpty() ) + { + TX_LOG_ARGS( "Remove album art file " << mTempAlbumArt ); + QFile::remove( mTempAlbumArt ); + ( ( MpSongData* ) this )->mTempAlbumArt = ""; + } + else + { + TX_LOG_ARGS( "Album art filename is empty" ); + } + TX_EXIT +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,22 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpcollectionalbumartmanager \ + unittest_mpmpxcollectiondata \ + unittest_mpcollectiontbonelistdatamodel + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -56,6 +56,7 @@ void testCacheFirstScreen(); void testCacheFirstScreenAllCached(); void testCancel(); + void testSetThumbnailSize(); void testThumbnailReadyCache(); void testThumbnailReadyCacheError(); void testThumbnailReadyAlbumArt(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,8 +16,6 @@ */ #include -#include -#include #include #include "unittest_mpcollectionalbumartmanager.h" @@ -34,19 +32,21 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpCollectionAlbumArtManager tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpcollectionalbumartmanager.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpcollectionalbumartmanager.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpCollectionAlbumArtManager::TestMpCollectionAlbumArtManager() @@ -254,6 +254,24 @@ } /*! + Tests setThumbnailSize(). + */ +void TestMpCollectionAlbumArtManager::testSetThumbnailSize() +{ + mTest->mThumbnailManager->mThumbSize = ThumbnailManager::ThumbnailUndefined; + + mTest->setThumbnailSize(MpCommon::ListThumb); + QCOMPARE(mTest->mThumbnailManager->mThumbSize, ThumbnailManager::ThumbnailSmall); + + mTest->setThumbnailSize(MpCommon::TBoneThumb); + QCOMPARE(mTest->mThumbnailManager->mThumbSize, ThumbnailManager::ThumbnailMedium); + + mTest->setThumbnailSize(MpCommon::MediaWallThumb); + QCOMPARE(mTest->mThumbnailManager->mThumbSize, ThumbnailManager::ThumbnailLarge); + +} + +/*! Tests thumbnailReady() slot. Tests completion of cacheFirstScreen() request. */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/inc/thumbnailmanager_qt.h --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/inc/thumbnailmanager_qt.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/inc/thumbnailmanager_qt.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,8 +18,8 @@ #ifndef THUMBNAILMANAGER_QT_H #define THUMBNAILMANAGER_QT_H -#include -#include +#include +#include /** default priority value */ @@ -36,9 +36,13 @@ enum ThumbnailSize { /** + * Undefined, only for test verification + */ + ThumbnailUndefined = 0, + /** * Small thumbnail */ - ThumbnailSmall = 0, + ThumbnailSmall, /** * Medium thumbnail */ @@ -120,9 +124,10 @@ public: - bool mGetThumbFails; - int mThumbnailReqCounter; - int mCancelCounter; + bool mGetThumbFails; + int mThumbnailReqCounter; + int mCancelCounter; + ThumbnailSize mThumbSize; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,7 +15,7 @@ * */ -#include +#include #include "stub/inc/thumbnailmanager_qt.h" int gInitCounter = 0; @@ -44,7 +44,8 @@ QObject( parentPtr ), mGetThumbFails(false), mThumbnailReqCounter(0), -mCancelCounter(0) +mCancelCounter(0), +mThumbSize(ThumbnailManager::ThumbnailUndefined) { gInitCounter++; } @@ -81,7 +82,7 @@ */ bool ThumbnailManager::setThumbnailSize( ThumbnailSize thumbnailSize ) { - Q_UNUSED(thumbnailSize); + mThumbSize = thumbnailSize; return true; } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,10 +14,11 @@ # Description: Unit test for mpcollectionalbumartmanager # - TEMPLATE = app CONFIG += qtestlib hb -TARGET = +CONFIG += symbian_test +TARGET = unittest_mpcollectionalbumartmanager +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager_template.pkg --- a/mpdata/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager_template.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -; unittest_mpcollectionalbumartmanager_template.pkg generated by qmake at 2010-04-05T18:18:57 -; This file is generated by qmake and should not be modified by the user -; - -; Language -&EN - -; SIS header: name, uid, version -#{"unittest_mpcollectionalbumartmanager"},(0xE48c0263),1,0,0 - -; Localised Vendor name -%{"Vendor"} - -; Unique Vendor name -:"Vendor" - -; Manual PKG pre-rules from PRO files -; Default HW/platform dependencies -[0x101F7961],0,0,0,{"S60ProductID"} -[0x102032BE],0,0,0,{"S60ProductID"} -[0x102752AE],0,0,0,{"S60ProductID"} -[0x1028315F],0,0,0,{"S60ProductID"} - -; Default dependency to Qt libraries -(0x2001E61C), , , , {"Qt"} - -; Executable and default resource files -"/epoc32/release/$(PLATFORM)/$(TARGET)/unittest_mpcollectionalbumartmanager.exe" - "!:\sys\bin\unittest_mpcollectionalbumartmanager.exe" -"/epoc32/data/z/resource/apps/unittest_mpcollectionalbumartmanager.rsc" - "!:\resource\apps\unittest_mpcollectionalbumartmanager.rsc" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpcollectionalbumartmanager_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpcollectionalbumartmanager_reg.rsc" - -; Manual PKG post-rules from PRO files diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -37,7 +37,6 @@ signals: void updateAlbumArt( int index ); - void albumCacheReady(); public slots: @@ -50,7 +49,6 @@ void testMemberCleanup(); void testRefreshModel(); - void testRefreshModelZeroCount(); void testCollectionData(); void testDataAllSongs(); void testDataAllSongsNoData(); @@ -58,12 +56,14 @@ void testDataArtistsNoData(); void testDataArtistAlbums(); void testDataArtistAlbumsNoData(); - void testDataArtistSongs(); - void testDataArtistSongsNoData(); + void testDataArtistAlbumsTBone(); + void testDataArtistAlbumsTBoneNoData(); + void testDataArtistAllSongs(); + void testDataArtistAllSongsNoData(); void testDataAlbums(); void testDataAlbumsNoData(); - void testDataAlbumSongs(); - void testDataAlbumSongsNoData(); + void testDataAlbumsTBone(); + void testDataAlbumsTBoneNoData(); void testDataPlaylists(); void testDataPlaylistsNoData(); void testDataPlaylistSongs(); @@ -75,6 +75,7 @@ void testMimeTypes(); void testMimeData(); void testDropMimeData(); + void testSetContext(); private: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -36,17 +36,12 @@ #include "mpcollectiondatamodel.h" #undef private -// Init cache size defined in mpcollectiondatamodel.cpp -const int KInitCacheSize = 11; - /*! Make our test case a stand-alone executable that runs all the test functions. */ int main(int argc, char *argv[]) { HbApplication app(argc, argv); - HbMainWindow window; - TestMpCollectionDataModel tv; char *pass[3]; @@ -113,6 +108,7 @@ mTest = new MpCollectionDataModel(mStubData); MpMpxCollectionData::resetItemDataCounter(); mTest->mCollectionData->mItemDataReturn = true; + mTest->mCollectionData->mCollectionTitleReturn = true; } /*! @@ -150,26 +146,32 @@ // - It sets correct row count QCOMPARE(mTest->mRowCount, 100); QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 1); - // Stub QAbstractListModel to verify call to reset() - mTest->mCollectionData->mCount = 100; + + mTest->mCollectionData->mCount = 50; mTest->mCollectionData->mContext = ECollectionContextArtistAlbums; mTest->refreshModel(); // Verify that: // - It sets correct row count - QCOMPARE(mTest->mRowCount, 100); + QCOMPARE(mTest->mRowCount, 50); QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 2); -} - -/*! - Tests refreshModel() request with empty data model. - */ -void TestMpCollectionDataModel::testRefreshModelZeroCount() -{ - mTest->mCollectionData->mCount = 0; + + mTest->mCollectionData->mCount = 150; + mTest->mCollectionData->mContext = ECollectionContextAlbumsMediaWall; mTest->refreshModel(); // Verify that: // - It sets correct row count - QCOMPARE(mTest->mRowCount, 0); + QCOMPARE(mTest->mRowCount, 150); + QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 3); + + + mTest->mCollectionData->mCount = 200; + mTest->mCollectionData->mContext = ECollectionContextAllSongs; + mTest->refreshModel(); + // Verify that: + // - It sets correct row count + // - It shouldn't trigger first screen cache + QCOMPARE(mTest->mRowCount, 200); + QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 3); } /*! @@ -196,18 +198,16 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 2); - QCOMPARE(dataList.at(0), QString("Title")); - QCOMPARE(dataList.at(1), QString("Artist")); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("Artist1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); - - + QCOMPARE(data.toString(), QString("Title1")); } /*! @@ -217,8 +217,8 @@ { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; + mTest->mCollectionData->mItemDataReturn = false; mTest->mCollectionData->mContext = ECollectionContextAllSongs; - mTest->mCollectionData->mItemDataReturn = false; QModelIndex modelIndex = mHelper->indexFor(1); @@ -233,7 +233,7 @@ // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); @@ -255,15 +255,15 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); - QCOMPARE(dataList.at(0), QString("Title")); + QCOMPARE(dataList.at(0), QString("Title1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! @@ -273,8 +273,8 @@ { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; + mTest->mCollectionData->mItemDataReturn = false; mTest->mCollectionData->mContext = ECollectionContextArtists; - mTest->mCollectionData->mItemDataReturn = false; QModelIndex modelIndex = mHelper->indexFor(1); @@ -284,19 +284,19 @@ QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); - + // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); } /*! - Tests data() request for Artist Albums context. + Tests data() request for ArtistAlbums context. */ void TestMpCollectionDataModel::testDataArtistAlbums() { @@ -311,26 +311,26 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); - QCOMPARE(dataList.at(0), QString("Title")); + QCOMPARE(dataList.at(0), QString("Title1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.userType(), QMetaType::type("QIcon")); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! - Tests data() request for Artist Albums context with no data available. + Tests data() request for ArtistAlbums context with no data available. */ void TestMpCollectionDataModel::testDataArtistAlbumsNoData() { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; + mTest->mCollectionData->mItemDataReturn = false; mTest->mCollectionData->mContext = ECollectionContextArtistAlbums; - mTest->mCollectionData->mItemDataReturn = false; QModelIndex modelIndex = mHelper->indexFor(1); @@ -340,25 +340,25 @@ QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); - + // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.userType(), QMetaType::type("QIcon")); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); } /*! - Tests data() request for Artist Songs context. + Tests data() request for ArtistAlbumsTBone context. */ -void TestMpCollectionDataModel::testDataArtistSongs() +void TestMpCollectionDataModel::testDataArtistAlbumsTBone() { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; - mTest->mCollectionData->mContext = ECollectionContextArtistSongs; + mTest->mCollectionData->mContext = ECollectionContextArtistAlbumsTBone; QModelIndex modelIndex = mHelper->indexFor(1); @@ -367,26 +367,76 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 2); - QCOMPARE(dataList.at(0), QString("Title")); - QCOMPARE(dataList.at(1), QString("Album")); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("CollectionTitle")); + + // Qt::DecorationRole + data = mTest->data(modelIndex, Qt::DecorationRole); + QCOMPARE(data.userType(), QMetaType::type("QIcon")); +} + +/*! + Tests data() request for ArtistAlbumsTBone context with no data available. + */ +void TestMpCollectionDataModel::testDataArtistAlbumsTBoneNoData() +{ + mTest->mCollectionData->mCount = 100; + mTest->mRowCount = 100; + mTest->mCollectionData->mItemDataReturn = false; + mTest->mCollectionData->mCollectionTitleReturn = false; + mTest->mCollectionData->mContext = ECollectionContextArtistAlbumsTBone; + + QModelIndex modelIndex = mHelper->indexFor(1); + + // Qt::DisplayRole + QVariant data = mTest->data(modelIndex, Qt::DisplayRole); + QCOMPARE(data.canConvert(QVariant::StringList), true); + QStringList dataList = data.toStringList(); + QCOMPARE(dataList.count(), 2); + QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); + QCOMPARE(dataList.at(1), hbTrId("txt_mus_other_unknown3")); + + // Qt::DecorationRole + data = mTest->data(modelIndex, Qt::DecorationRole); + QCOMPARE(data.userType(), QMetaType::type("QIcon")); +} + +/*! + Tests data() request for ArtistAllSongs context. + */ +void TestMpCollectionDataModel::testDataArtistAllSongs() +{ + mTest->mCollectionData->mCount = 100; + mTest->mRowCount = 100; + mTest->mCollectionData->mContext = ECollectionContextArtistAllSongs; + + QModelIndex modelIndex = mHelper->indexFor(1); + + // Qt::DisplayRole + QVariant data = mTest->data(modelIndex, Qt::DisplayRole); + QCOMPARE(data.canConvert(QVariant::StringList), true); + QStringList dataList = data.toStringList(); + QCOMPARE(dataList.count(), 2); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("Album1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! - Tests data() request for Artists context with no data available. + Tests data() request for ArtistAllSongs context with no data available. */ -void TestMpCollectionDataModel::testDataArtistSongsNoData() +void TestMpCollectionDataModel::testDataArtistAllSongsNoData() { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; - mTest->mCollectionData->mContext = ECollectionContextArtistSongs; + mTest->mCollectionData->mContext = ECollectionContextArtistAllSongs; mTest->mCollectionData->mItemDataReturn = false; QModelIndex modelIndex = mHelper->indexFor(1); @@ -397,19 +447,18 @@ QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 2); QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); - QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); - + QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown3")); + // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); } - /*! Tests data() request for Albums context. */ @@ -426,16 +475,16 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 2); - QCOMPARE(dataList.at(0), QString("Title")); - QCOMPARE(dataList.at(1), QString("Artist")); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("Artist1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.userType(), QMetaType::type("QIcon")); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! @@ -461,20 +510,20 @@ // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.userType(), QMetaType::type("QIcon")); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); } /*! - Tests data() request for AlbumSongs context. + Tests data() request for AlbumsTBone context. */ -void TestMpCollectionDataModel::testDataAlbumSongs() +void TestMpCollectionDataModel::testDataAlbumsTBone() { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; - mTest->mCollectionData->mContext = ECollectionContextAlbumSongs; + mTest->mCollectionData->mContext = ECollectionContextAlbumsTBone; QModelIndex modelIndex = mHelper->indexFor(1); @@ -482,26 +531,27 @@ QVariant data = mTest->data(modelIndex, Qt::DisplayRole); QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); - QCOMPARE(dataList.count(), 1); - QCOMPARE(dataList.at(0), QString("Title")); + QCOMPARE(dataList.count(), 2); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("Artist1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); - QCOMPARE(data.isNull(), true); - + QCOMPARE(data.userType(), QMetaType::type("QIcon")); + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! - Tests data() request for AlbumSongs context with no data available. + Tests data() request for AlbumsTBone context with no data available. */ -void TestMpCollectionDataModel::testDataAlbumSongsNoData() +void TestMpCollectionDataModel::testDataAlbumsTBoneNoData() { mTest->mCollectionData->mCount = 100; mTest->mRowCount = 100; - mTest->mCollectionData->mContext = ECollectionContextAlbumSongs; + mTest->mCollectionData->mContext = ECollectionContextAlbumsTBone; mTest->mCollectionData->mItemDataReturn = false; QModelIndex modelIndex = mHelper->indexFor(1); @@ -510,8 +560,13 @@ QVariant data = mTest->data(modelIndex, Qt::DisplayRole); QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); - QCOMPARE(dataList.count(), 1); + QCOMPARE(dataList.count(), 2); QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); + QCOMPARE(dataList.at(1), hbTrId("txt_mus_other_unknown3")); + + // Qt::DecorationRole + data = mTest->data(modelIndex, Qt::DecorationRole); + QCOMPARE(data.userType(), QMetaType::type("QIcon")); // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); @@ -534,15 +589,15 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); - QCOMPARE(dataList.at(0), QString("Title")); + QCOMPARE(dataList.at(0), QString("Title1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! @@ -563,7 +618,7 @@ QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 1); QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); @@ -585,16 +640,16 @@ QCOMPARE(data.canConvert(QVariant::StringList), true); QStringList dataList = data.toStringList(); QCOMPARE(dataList.count(), 2); - QCOMPARE(dataList.at(0), QString("Title")); - QCOMPARE(dataList.at(1), QString("Artist")); + QCOMPARE(dataList.at(0), QString("Title1")); + QCOMPARE(dataList.at(1), QString("Artist1")); // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); - QCOMPARE(data.toString(), QString("Title")); + QCOMPARE(data.toString(), QString("Title1")); } /*! @@ -620,7 +675,7 @@ // Qt::DecorationRole data = mTest->data(modelIndex, Qt::DecorationRole); QCOMPARE(data.isNull(), true); - + // Hb::IndexFeedbackRole data = mTest->data(modelIndex, Hb::IndexFeedbackRole); QCOMPARE(data.toString(), QString("")); @@ -679,18 +734,18 @@ MpMpxCollectionData::resetItemDataCounter(); mTest->mCollectionData->mCount = 2; mTest->mRowCount = 2; - + QVERIFY(!mTest->removeRows(0,0,QModelIndex())); //no rows to remove. QVERIFY(!mTest->removeRows(0,2,QModelIndex())); //more than one row. QVERIFY(!mTest->removeRows(2,1,QModelIndex())); //row out of bounds. - + //a valid row to be removed. QVERIFY(mTest->removeRows(0,1,QModelIndex())); QCOMPARE(spy.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(MpMpxCollectionData::getremoveItemCounter(), 1); QCOMPARE(mTest->mRowCount, 1); - + } /*! @@ -715,7 +770,7 @@ QMimeData *data; data = mTest->mimeData(indexList); QVERIFY(data); //one item row 2 - + QByteArray encoded = data->data(QLatin1String("application/x-mpcollectiondatamodelrowandids")); QDataStream stream(&encoded, QIODevice::ReadOnly); int rowFrom; @@ -737,7 +792,7 @@ int indexFrom = 5; int containerId = 123; int itemId = 20; - + QSignalSpy spy(mTest, SIGNAL(rowsAboutToBeInserted(QModelIndex, int, int))); QSignalSpy spy2(mTest, SIGNAL(rowsInserted(QModelIndex, int, int))); QSignalSpy spy3(mTest, SIGNAL(orderChanged(int, int, int, int))); @@ -762,8 +817,8 @@ QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,0,0,QModelIndex())); delete data; - } - + } + {//drop row out of bounds QMimeData *data = new QMimeData(); QByteArray encoded; @@ -777,8 +832,8 @@ QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,15,0,QModelIndex())); delete data; - } - + } + {//incorrect action QMimeData *data = new QMimeData(); QByteArray encoded; @@ -792,8 +847,8 @@ QVERIFY(!mTest->dropMimeData(data,Qt::IgnoreAction,0,0,QModelIndex())); delete data; - } - + } + {//bad item ids QMimeData *data = new QMimeData(); QByteArray encoded; @@ -804,8 +859,8 @@ mTest->mRowCount = 2; QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,0,0,QModelIndex())); delete data; - } - + } + {//bad item ids 2 QMimeData *data = new QMimeData(); QByteArray encoded; @@ -818,8 +873,8 @@ mTest->mRowCount = 2; QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,0,0,QModelIndex())); delete data; - } - + } + {//data with bad format QMimeData *data = new QMimeData(); QByteArray encoded; @@ -829,11 +884,11 @@ stream << itemId; data->setData(QLatin1String("application/x-blabla"), encoded); MpMpxCollectionData::setCachedItemId(itemId); - mTest->mRowCount = 10; + mTest->mRowCount = 10; QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,0,0,QModelIndex())); delete data; - } - + } + QMimeData *data = new QMimeData(); QByteArray encoded; QDataStream stream(&encoded, QIODevice::WriteOnly); @@ -843,16 +898,16 @@ data->setData(QLatin1String("application/x-mpcollectiondatamodelrowandids"), encoded); MpMpxCollectionData::setCachedItemId(0); mTest->mRowCount = 10; - + // not matching item id QVERIFY(!mTest->dropMimeData(data,Qt::MoveAction,0,0,QModelIndex())); - + //matching item id MpMpxCollectionData::setCachedItemId(itemId); - + QVERIFY(mTest->dropMimeData(data,Qt::MoveAction,5,0,QModelIndex())); - delete data; + delete data; QCOMPARE(spy.count(), 1); QCOMPARE(spy2.count(), 1); QCOMPARE(spy3.count(), 1); @@ -864,5 +919,51 @@ QCOMPARE(MpMpxCollectionData::getInsertCachedItemCounter(),1); } +/*! + Tests setContext() + */ +void TestMpCollectionDataModel::testSetContext() +{ + mTest->mCollectionData->setContext(ECollectionContextArtistAlbums); + QCOMPARE(mTest->mCollectionData->mContext, ECollectionContextArtistAlbums); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::ListThumb); + + mTest->mCollectionData->mCount = 3; + mTest->mCollectionData->setContext(ECollectionContextArtistAlbumsTBone); + QCOMPARE(mTest->mCollectionData->mContext, ECollectionContextArtistAlbumsTBone); + QCOMPARE(mTest->mAlbumIndexOffset, 1); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::TBoneThumb); + + mTest->mCollectionData->mCount = 1; + mTest->mCollectionData->setContext(ECollectionContextArtistAlbumsTBone); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::TBoneThumb); + + mTest->mCollectionData->setContext(ECollectionContextAlbums); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::ListThumb); + + mTest->mCollectionData->setContext(ECollectionContextAlbumsTBone); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::TBoneThumb); + + mTest->mCollectionData->setContext(ECollectionContextAlbumsMediaWall); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + QCOMPARE(mTest->mAlbumArtManager->mThumbType, MpCommon::MediaWallThumb); + + // All other context should have index set to zero. + mTest->mCollectionData->setContext(ECollectionContextAllSongs); + QCOMPARE(mTest->mCollectionData->mContext, ECollectionContextAllSongs); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + mTest->mCollectionData->setContext(ECollectionContextArtists); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + mTest->mCollectionData->setContext(ECollectionContextArtistAllSongs); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + mTest->mCollectionData->setContext(ECollectionContextPlaylists); + QCOMPARE(mTest->mAlbumIndexOffset, 0); + mTest->mCollectionData->setContext(ECollectionContextPlaylistSongs); + QCOMPARE(mTest->mAlbumIndexOffset, 0); +} // End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -22,6 +22,8 @@ #include #include +#include "mpcommondefs.h" + class MpMpxCollectionData; class MpCollectionAlbumArtManager : public QObject @@ -41,6 +43,7 @@ const QIcon* albumArt( int index ); void cacheFirstScreen(); void cancel(); + void setThumbnailSize( MpCommon::MpThumbType type ); signals: @@ -48,9 +51,10 @@ public: - QIcon *mIcon; - int mAlbumArtCount; - int mCacheAlbumArtCount; + QIcon *mIcon; + int mAlbumArtCount; + int mCacheAlbumArtCount; + MpCommon::MpThumbType mThumbType; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpmpxcollectiondata.h --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpmpxcollectiondata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -47,20 +47,25 @@ static void setCachedItemId (int id); static int getInsertCachedItemCounter(); static void resetInsertCachedItemCounter(); - + // Stub functions explicit MpMpxCollectionData( QObject *parent=0 ); virtual ~MpMpxCollectionData(); TCollectionContext context() const; + int count() const; + QString collectionTitle() const; QString itemData( int index, MpMpxCollectionData::DataType type ) const; + int containerId(); int itemId(int index); void removeItem(int index); bool testCachedItem( int itemId ); void insertCachedItem(int index); + void setContext( TCollectionContext context ); + signals: void contextChanged( TCollectionContext context ); @@ -70,6 +75,7 @@ TCollectionContext mContext; int mCount; bool mItemDataReturn; + bool mCollectionTitleReturn; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -86,3 +86,12 @@ void MpCollectionAlbumArtManager::cancel() { } + +/*! + Stub function. + */ +void MpCollectionAlbumArtManager::setThumbnailSize( MpCommon::MpThumbType type ) +{ + mThumbType = type; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpmpxcollectiondata.cpp --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpmpxcollectiondata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/stub/src/mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -107,7 +107,8 @@ : QObject(parent), mContext(ECollectionContextUnknown), mCount(0), - mItemDataReturn(true) + mItemDataReturn(true), + mCollectionTitleReturn(true) { gInitCounter++; } @@ -139,6 +140,19 @@ /*! Stub function. */ +QString MpMpxCollectionData::collectionTitle() const +{ + if ( mCollectionTitleReturn ) { + return QString("CollectionTitle"); + } + else { + return QString(); + } +} + +/*! + Stub function. + */ QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const { if ( index < 0 || index > mCount ) { @@ -153,18 +167,23 @@ switch ( type ) { case MpMpxCollectionData::Title: data = QString("Title"); + data.append( QString().setNum(index) ); break; case MpMpxCollectionData::Artist: data = QString("Artist"); + data.append( QString().setNum(index) ); break; case MpMpxCollectionData::Album: data = QString("Album"); + data.append( QString().setNum(index) ); break; case MpMpxCollectionData::Count: data = QString("Count"); + data.append( QString().setNum(index) ); break; case MpMpxCollectionData::AlbumArtUri: data = QString("AlbumArtUri"); + data.append( QString().setNum(index) ); break; default: qFatal("MpMpxCollectionData::itemData called with unknown type"); @@ -184,7 +203,7 @@ /*! Stub function. */ -int MpMpxCollectionData::itemId(int index) +int MpMpxCollectionData::itemId( int index ) { return 2000+index; } @@ -192,7 +211,7 @@ /*! Stub function. */ -void MpMpxCollectionData::removeItem(int index) +void MpMpxCollectionData::removeItem( int index ) { Q_UNUSED(index); gRemoveItemCount++; @@ -210,10 +229,20 @@ /*! Stub function. */ -void MpMpxCollectionData::insertCachedItem(int index) +void MpMpxCollectionData::insertCachedItem( int index ) { Q_UNUSED(index); gInsertCachedItemCount++; return ; } +/*! + Stub function. + */ +void MpMpxCollectionData::setContext( TCollectionContext context ) +{ + mContext = context; + emit contextChanged(mContext); + return ; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/unittest_mpcollectiondatamodel.pro --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/unittest_mpcollectiondatamodel.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpcollectiondatamodel/unittest_mpcollectiondatamodel.pro Thu Jul 22 16:32:33 2010 +0100 @@ -25,6 +25,7 @@ ../../inc \ ../../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) LIBS += -lestor.dll \ -lfbscli.dll diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiondatamodel/unittest_mpcollectiondatamodel_template.pkg --- a/mpdata/tsrc/unittest_mpcollectiondatamodel/unittest_mpcollectiondatamodel_template.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -; unittest_mpcollectiondatamodel_template.pkg generated by qmake at 2010-04-05T18:50:04 -; This file is generated by qmake and should not be modified by the user -; - -; Language -&EN - -; SIS header: name, uid, version -#{"unittest_mpcollectiondatamodel"},(0xE05e4948),1,0,0 - -; Localised Vendor name -%{"Vendor"} - -; Unique Vendor name -:"Vendor" - -; Manual PKG pre-rules from PRO files -; Default HW/platform dependencies -[0x101F7961],0,0,0,{"S60ProductID"} -[0x102032BE],0,0,0,{"S60ProductID"} -[0x102752AE],0,0,0,{"S60ProductID"} -[0x1028315F],0,0,0,{"S60ProductID"} - -; Default dependency to Qt libraries -(0x2001E61C), , , , {"Qt"} - -; Executable and default resource files -"/epoc32/release/$(PLATFORM)/$(TARGET)/unittest_mpcollectiondatamodel.exe" - "!:\sys\bin\unittest_mpcollectiondatamodel.exe" -"/epoc32/data/z/resource/apps/unittest_mpcollectiondatamodel.rsc" - "!:\resource\apps\unittest_mpcollectiondatamodel.rsc" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpcollectiondatamodel_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpcollectiondatamodel_reg.rsc" - -; Manual PKG post-rules from PRO files diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/inc/unittest_helper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/inc/unittest_helper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,44 @@ +/* +* 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: Unit test helper for mpcollectiondatamodel +* +*/ + +#ifndef TESTHELPER_H +#define TESTHELPER_H + +#include + +class TestHelper : public QAbstractListModel +{ + Q_OBJECT + +public: + + TestHelper(QObject *parent=0); + virtual ~TestHelper(); + + // These are dummy; We have to inherit from QAbstractListModel so that + // we can invoke the protected member QAbstractItemModel::createIndex() + int rowCount(const QModelIndex &parent=QModelIndex()) const; + QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const; + + QModelIndex indexFor(int index); +}; + +#endif // TESTHELPER_H + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/inc/unittest_mpcollectiontbonelistdatamodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/inc/unittest_mpcollectiontbonelistdatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,69 @@ +/* +* 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: Unit test for mpcollectiontbonelistdatamodel +* +*/ + +#ifndef TESTMPCOLLECTIONTBONELISTDATAMODEL_H +#define TESTMPCOLLECTIONTBONELISTDATAMODEL_H + +#include + +class QTranslator; +class MpCollectionTBoneListDataModel; +class MpMpxCollectionData; +class TestHelper; + +class TestMpCollectionTBoneListDataModel : public QObject +{ + Q_OBJECT + +public: + + TestMpCollectionTBoneListDataModel(); + virtual ~TestMpCollectionTBoneListDataModel(); + +signals: + + void updateAlbumArt( int index ); + +public slots: + + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + + void testMemberCleanup(); + void testRefreshModel(); + void testData(); + void testDataNoData(); + void testDataAnyOtherRole(); + +private: + + MpCollectionTBoneListDataModel *mTest; + TestHelper *mHelper; + MpMpxCollectionData *mStubData; + QTranslator *mMpTranslator; // Own + +}; + +#endif // TESTMPCOLLECTIONTBONELISTDATAMODEL_H + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/src/unittest_helper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/src/unittest_helper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +/* +* 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: Unit test helper for TestHelper +* +*/ + +#include "unittest_helper.h" + + +TestHelper::TestHelper(QObject *parent) + : QAbstractListModel(parent) +{ +} + +TestHelper::~TestHelper() +{ +} + +/*! + Dummy function to satisfy QAbstractListModel inheritance. + */ +int TestHelper::rowCount( const QModelIndex &parent ) const +{ + Q_UNUSED(parent); + return 0; +} + +/*! + Dummy function to satisfy QAbstractListModel inheritance. + */ +QVariant TestHelper::data(const QModelIndex &index, int role) const +{ + Q_UNUSED(index); + Q_UNUSED(role); + return QVariant(); +} + +/*! + Slot to be called when album art for the \a index needs to be updated. + */ +QModelIndex TestHelper::indexFor(int index) +{ + return QAbstractItemModel::createIndex(index, 0); +} + +// End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/src/unittest_mpcollectiontbonelistdatamodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/src/unittest_mpcollectiontbonelistdatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,190 @@ +/* +* 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: Unit test for mpcollectiontbonelistdatamodel +* +*/ + +#include +#include +#include +#include +#include + +#include +#include + +#include "unittest_mpcollectiontbonelistdatamodel.h" +#include "unittest_helper.h" +#include "stub/inc/mpmpxcollectiondata.h" + +// Do this so we can access all member variables. +#define private public +#include "mpcollectiontbonelistdatamodel.h" +#undef private + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + TestMpCollectionTBoneListDataModel tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpcollectiontbonelistdatamodel.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpCollectionTBoneListDataModel::TestMpCollectionTBoneListDataModel() + : mTest(0), + mHelper(0), + mStubData(0), + mMpTranslator(0) +{ +} + +TestMpCollectionTBoneListDataModel::~TestMpCollectionTBoneListDataModel() +{ + delete mTest; + delete mHelper; + delete mStubData; + delete mMpTranslator; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpCollectionTBoneListDataModel::initTestCase() +{ + QString lang = QLocale::system().name(); + QString path = QString("z:/resource/qt/translations/"); + bool translatorLoaded = false; + + mMpTranslator = new QTranslator(this); + translatorLoaded = mMpTranslator->load(path + "musicplayer_" + lang); + if ( translatorLoaded ) { + qApp->installTranslator(mMpTranslator); + } + + mStubData = new MpMpxCollectionData(); + mHelper = new TestHelper(); +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpCollectionTBoneListDataModel::cleanupTestCase() +{ + delete mStubData; + mStubData = 0; + delete mHelper; + mHelper = 0; +} + +/*! + Called before each testfunction is executed. + */ +void TestMpCollectionTBoneListDataModel::init() +{ + mTest = new MpCollectionTBoneListDataModel(mStubData); + mTest->mCollectionData->mItemDataReturn = true; +} + +/*! + Called after every testfunction. + */ +void TestMpCollectionTBoneListDataModel::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Tests correct cleanup of member variables. + */ +void TestMpCollectionTBoneListDataModel::testMemberCleanup() +{ + cleanup(); + int count = MpMpxCollectionData::getInitCounter(); + init(); + cleanup(); + QCOMPARE(MpMpxCollectionData::getInitCounter(), count); +} + +/*! + Tests refreshModel() request. + */ +void TestMpCollectionTBoneListDataModel::testRefreshModel() +{ + mTest->mCollectionData->mAlbumSongCount = 10; + mTest->refreshModel(); + QModelIndex modelIndex = mHelper->indexFor(1); + // Verify that: + // - It sets correct row count + QCOMPARE(mTest->rowCount(modelIndex), 10); +} + +/*! + Tests data() request. + */ +void TestMpCollectionTBoneListDataModel::testData() +{ + QModelIndex modelIndex = mHelper->indexFor(1); + + // Qt::DisplayRole + QVariant data = mTest->data(modelIndex, Qt::DisplayRole); + QCOMPARE(data.canConvert(QVariant::StringList), true); + QStringList dataList = data.toStringList(); + QCOMPARE(dataList.count(), 1); + QCOMPARE(dataList.at(0), QString("Title1")); +} + +/*! + Tests data() request with no data available. + */ +void TestMpCollectionTBoneListDataModel::testDataNoData() +{ + mTest->mCollectionData->mItemDataReturn = false; + + QModelIndex modelIndex = mHelper->indexFor(1); + + // Qt::DisplayRole + QVariant data = mTest->data(modelIndex, Qt::DisplayRole); + QCOMPARE(data.canConvert(QVariant::StringList), true); + QStringList dataList = data.toStringList(); + QCOMPARE(dataList.count(), 1); + QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4")); +} + +/*! + Tests data() request for a role it doesn't support. + Make sure it doesn't crash. + */ +void TestMpCollectionTBoneListDataModel::testDataAnyOtherRole() +{ + QModelIndex modelIndex = mHelper->indexFor(1); + + // Qt::DecorationRole + QVariant data = mTest->data(modelIndex, Qt::DecorationRole); + QCOMPARE(data.isValid(), false); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/stub/inc/mpmpxcollectiondata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/stub/inc/mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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 MpCollectionDataModel +* +*/ + +#ifndef MPMPXCOLLECTIONDATA_H +#define MPMPXCOLLECTIONDATA_H + +#include + +#include "mpmpxcollectionviewdefs.h" + + +class MpMpxCollectionData : public QObject +{ + Q_OBJECT + +public: + + enum DataType { + Title, + Uri, + Duration, + Count, + Artist, + Album, + Genre, + Rating, + AlbumArtUri + }; + + // Test utility functions + static int getInitCounter(); + static void resetInitCounter(); + + // Stub functions + explicit MpMpxCollectionData( QObject *parent=0 ); + virtual ~MpMpxCollectionData(); + + int albumSongsCount() const; + QString albumSongData( int index, MpMpxCollectionData::DataType type ) const; + +signals: + + void contextChanged( TCollectionContext context ); + void refreshAlbumSongs(); + +public: + + int mAlbumSongCount; + bool mItemDataReturn; + +}; + +#endif // MPMPXCOLLECTIONDATA_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/stub/src/mpmpxcollectiondata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/stub/src/mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,89 @@ +/* +* 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 MpCollectionDataModel +* +*/ + +#include "mptrace.h" +#include "stub/inc/mpmpxcollectiondata.h" + + +int gInitCounter = 0; + +/*! + Returns gInitCounter. + gInitCounter counts the number of constructor/destructor calls. + */ +int MpMpxCollectionData::getInitCounter() +{ + return gInitCounter; +} + +/*! + Resets gInitCounter to zero. + */ +void MpMpxCollectionData::resetInitCounter() +{ + gInitCounter = 0; +} + + +/*! + Stub function. + */ +MpMpxCollectionData::MpMpxCollectionData( QObject *parent ) + : QObject(parent), + mAlbumSongCount(0), + mItemDataReturn(true) +{ + gInitCounter++; +} + +/*! + Stub function. + */ +MpMpxCollectionData::~MpMpxCollectionData() +{ + gInitCounter--; +} + +/*! + Stub function. + */ +int MpMpxCollectionData::albumSongsCount() const +{ + return mAlbumSongCount; +} + +/*! + Stub function. + */ +QString MpMpxCollectionData::albumSongData( int index, MpMpxCollectionData::DataType type ) const +{ + QString data; + if ( !mItemDataReturn ) { + return data; + } + switch ( type ) { + case MpMpxCollectionData::Title: + data = QString("Title"); + data.append( QString().setNum(index) ); + break; + default: + qFatal("MpMpxCollectionData::itemData called with unknown type"); + break; + } + return data; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/unittest_mpcollectiontbonelistdatamodel.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpcollectiontbonelistdatamodel/unittest_mpcollectiontbonelistdatamodel.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,45 @@ +# +# 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: Unit test for mpcollectiontbonelistdatamodel +# + + +TEMPLATE = app +CONFIG += qtestlib hb +CONFIG += symbian_test +TARGET = unittest_mpcollectiontbonelistdatamodel +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + stub/inc \ + ../../inc \ + ../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lestor.dll \ + -lfbscli.dll + +HEADERS += inc/unittest_mpcollectiontbonelistdatamodel.h \ + inc/unittest_helper.h \ + stub/inc/mpmpxcollectiondata.h \ + ../../../inc/mpcollectiontbonelistdatamodel.h \ + +SOURCES += src/unittest_mpcollectiontbonelistdatamodel.cpp \ + src/unittest_helper.cpp \ + stub/src/mpmpxcollectiondata.cpp \ + ../../src/mpcollectiontbonelistdatamodel.cpp + +DEFINES += BUILD_MPDATA_LIB + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpmpxcollectiondata/inc/unittest_mpmpxcollectiondata.h --- a/mpdata/tsrc/unittest_mpmpxcollectiondata/inc/unittest_mpmpxcollectiondata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpmpxcollectiondata/inc/unittest_mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -19,6 +19,7 @@ #define TESTMPMPXCOLLECTIONDATA_H #include +#include "mpmpxcollectionviewdefs.h" class MpMpxCollectionData; class MpMpxCollectionDataPrivate; @@ -28,17 +29,19 @@ Q_OBJECT public: + TestMpMpxCollectionData(); virtual ~TestMpMpxCollectionData(); +public slots: -public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: + void testConstructor(); void testContextRetrieval(); void testCount(); @@ -54,8 +57,14 @@ void testRemoveItem(); void testTestCachedItem(); void testInsertCachedItemItem(); - + void testSetContext(); + void testSetContextMediaWall(); + void testSetAlbumContent(); + void testSetCurrentAlbum(); + void testAlbumSongData(); + private: + MpMpxCollectionData *mTest; MpMpxCollectionDataPrivate *mTestPrivate; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp --- a/mpdata/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,8 +17,6 @@ #include #include -#include -#include #include #include @@ -46,45 +44,46 @@ struct TTestAttrs { + const TInt GeneralId; const wchar_t* GeneralTitle; const wchar_t* MusicArtist; const TInt GeneralCount; const wchar_t* MusicAlbumArtFileName; }; - + const TTestAttrs KAllSongsTestData[] = { - { L"Title 1", L"Artist 1", 1, L"e:\\data\\images\\art1.jpg" } - ,{ L"Title 2", L"Artist 2", 1, L"e:\\data\\images\\art2.jpg" } - ,{ L"Title 3", L"Artist 3", 1, L"e:\\data\\images\\art3.jpg" } - ,{ L"Title 4", L"Artist 4", 1, L"e:\\data\\images\\art4.jpg" } - ,{ L"Title 5", L"Artist 5", 1, L"e:\\data\\images\\art5.jpg" } - ,{ L"Title 6", L"Artist 6", 1, L"e:\\data\\images\\art6.jpg" } - ,{ L"Title 7", L"Artist 7", 1, L"e:\\data\\images\\art7.jpg" } - ,{ L"Title 8", L"Artist 8", 1, L"e:\\data\\images\\art8.jpg" } - ,{ L"Title 9", L"Artist 9", 1, L"e:\\data\\images\\art9.jpg" } - ,{ L"Title 10", L"Artist 10", 1, L"e:\\data\\images\\art10.jpg" } + { 1001, L"Title 1", L"Artist 1", 1, L"e:\\data\\images\\art1.jpg" } + ,{ 1002, L"Title 2", L"Artist 2", 1, L"e:\\data\\images\\art2.jpg" } + ,{ 1003, L"Title 3", L"Artist 3", 1, L"e:\\data\\images\\art3.jpg" } + ,{ 1004, L"Title 4", L"Artist 4", 1, L"e:\\data\\images\\art4.jpg" } + ,{ 1005, L"Title 5", L"Artist 5", 1, L"e:\\data\\images\\art5.jpg" } + ,{ 1006, L"Title 6", L"Artist 6", 1, L"e:\\data\\images\\art6.jpg" } + ,{ 1007, L"Title 7", L"Artist 7", 1, L"e:\\data\\images\\art7.jpg" } + ,{ 1008, L"Title 8", L"Artist 8", 1, L"e:\\data\\images\\art8.jpg" } + ,{ 1009, L"Title 9", L"Artist 9", 1, L"e:\\data\\images\\art9.jpg" } + ,{ 1010, L"Title 10", L"Artist 10", 1, L"e:\\data\\images\\art10.jpg" } }; - - + + /*! Make our test case a stand-alone executable that runs all the test functions. */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - TestMpMpxCollectionData tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxcollectiondata.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxcollectiondata.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpMpxCollectionData::TestMpMpxCollectionData() @@ -147,7 +146,6 @@ QCOMPARE(mTest->context(), ECollectionContextPlaylistSongs); } - /*! Tests count(). */ @@ -155,9 +153,9 @@ { mTestPrivate->iMediaArray = NULL; QCOMPARE(mTest->count(), 0); - + CMPXMediaArray* array = CMPXMediaArray::NewL(); - CleanupStack::PushL(array); + CleanupStack::PushL(array); TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); for (TInt i =0; i < count; i++) { mTestPrivate->iMediaArray = array; @@ -182,7 +180,7 @@ void TestMpMpxCollectionData::testCollectionTitle() { mTestPrivate->iContainerMedia = NULL; - QCOMPARE(mTest->collectionTitle(), QString()); + QCOMPARE(mTest->collectionTitle(), QString()); RArray supportedIds; CleanupClosePushL( supportedIds ); supportedIds.AppendL( KMPXMediaIdMusic ); @@ -190,10 +188,10 @@ CMPXMedia* entries = CMPXMedia::NewL(supportedIds.Array()); CleanupStack::PopAndDestroy(&supportedIds); CleanupStack::PushL(entries); - + mTestPrivate->iContainerMedia = entries; QCOMPARE(mTest->collectionTitle(), QString()); - + entries->SetTextValueL(KMPXMediaGeneralTitle, _L("All songs")); mTestPrivate->iContainerMedia = entries; @@ -208,9 +206,9 @@ void TestMpMpxCollectionData::testItemData() { CMPXMediaArray* array = CMPXMediaArray::NewL(); - CleanupStack::PushL(array); + CleanupStack::PushL(array); mTestPrivate->iMediaArray = array; - + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); for (TInt i =0; i < count; i++) { @@ -230,8 +228,7 @@ const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicArtist)); QCOMPARE(mTest->itemData( i, MpMpxCollectionData::Artist), QString::fromUtf16( artist.Ptr(), artist.Length())); - //verification depends on language, just exercising the item. - QVERIFY(!mTest->itemData( i, MpMpxCollectionData::Count).isNull()); + QCOMPARE(mTest->itemData( i, MpMpxCollectionData::Count), QString().setNum(1)); const TDesC& albumArtUri = TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicAlbumArtFileName)); QCOMPARE(mTest->itemData( i, MpMpxCollectionData::AlbumArtUri), QString::fromUtf16( albumArtUri.Ptr(), albumArtUri.Length())); @@ -250,28 +247,21 @@ array->AppendL(*media); CleanupStack::PopAndDestroy(media); mTestPrivate->iMediaArray = array; - + //Media without attributes. QVERIFY(mTest->itemData( count, MpMpxCollectionData::Title).isNull()); QVERIFY(mTest->itemData( count, MpMpxCollectionData::Artist).isNull()); - //verification depends on language, just exercising the item. - QVERIFY(!mTest->itemData( count, MpMpxCollectionData::Count).isNull()); + QCOMPARE(mTest->itemData( count, MpMpxCollectionData::Count), QString().setNum(0)); QVERIFY(mTest->itemData( count, MpMpxCollectionData::AlbumArtUri).isNull()); - + //Media with empty attributes. QVERIFY(mTest->itemData( count + 1, MpMpxCollectionData::Title).isNull()); QVERIFY(mTest->itemData( count + 1, MpMpxCollectionData::Artist).isNull()); - //verification depends on language, just exercising the item. - QVERIFY(!mTest->itemData( count + 1, MpMpxCollectionData::Count).isNull()); + QCOMPARE(mTest->itemData( count + 1, MpMpxCollectionData::Count), QString().setNum(0)); QVERIFY(mTest->itemData( count + 1, MpMpxCollectionData::AlbumArtUri).isNull()); - /*Test Attributes that are not implemented yet. - Uri, - Duration, - Album, - Genre, - Rating, - */ + // Test Attributes that are not implemented yet: + // Uri, Duration, Album, Genre, Rating QVERIFY(mTest->itemData( 0, MpMpxCollectionData::Uri).isNull()); QVERIFY(mTest->itemData( 0, MpMpxCollectionData::Duration).isNull()); QVERIFY(mTest->itemData( 0, MpMpxCollectionData::Album).isNull()); @@ -283,11 +273,11 @@ } /*! - Tests isAutoPlaylis(). + Tests isAutoPlaylist(). */ void TestMpMpxCollectionData::testIsAutoPlaylist() { - //if cotext is different than playlistsongs value returned should be false + //if context is different than playlistsongs value returned should be false QVERIFY(!mTest->isAutoPlaylist()); RArray supportedIds; CleanupClosePushL( supportedIds ); @@ -298,7 +288,7 @@ CleanupStack::PushL(entries); CMPXMediaArray* array = CMPXMediaArray::NewL(); CleanupStack::PushL(array); - + entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXPlaylist); entries->SetTextValueL(KMPXMediaGeneralTitle, _L("My Test Playlist Songs")); @@ -311,17 +301,16 @@ QCOMPARE(spy.count(), 1); TCollectionContext context = qvariant_cast(spy.at(0).at(0)); QCOMPARE(context, ECollectionContextPlaylistSongs); - QVERIFY(!mTest->isAutoPlaylist()); - + QVERIFY(!mTest->isAutoPlaylist()); + entries->SetTObjectValueL( KMPXMediaGeneralNonPermissibleActions, EMPXWrite); mTest->setMpxMedia(*entries); QCOMPARE(spy.count(), 2); context = qvariant_cast(spy.at(1).at(0)); QCOMPARE(context, ECollectionContextPlaylistSongs); - QVERIFY(mTest->isAutoPlaylist()); + QVERIFY(mTest->isAutoPlaylist()); CleanupStack::PopAndDestroy(entries); - } /*! @@ -329,9 +318,9 @@ */ void TestMpMpxCollectionData::testIsAutoPlaylistWithIndex() { - //if cotext is different than playlists value returned should be false + // If context is different than playlists value returned should be false QVERIFY(!mTest->isAutoPlaylist(0)); - + RArray supportedIds; CleanupClosePushL( supportedIds ); supportedIds.AppendL( KMPXMediaIdMusic ); @@ -363,7 +352,7 @@ entries->SetCObjectValueL(KMPXMediaArrayContents, array); entries->SetTObjectValueL(KMPXMediaArrayCount, array->Count()); CleanupStack::PopAndDestroy(array); - + qRegisterMetaType(); QSignalSpy spy(mTest, SIGNAL(contextChanged(TCollectionContext))); mTest->setMpxMedia(*entries); @@ -372,6 +361,7 @@ QCOMPARE(context, ECollectionContextPlaylists); QVERIFY(!mTest->isAutoPlaylist( 0 )); QVERIFY(mTest->isAutoPlaylist( 1 )); + CleanupStack::PopAndDestroy(entries); } /*! @@ -379,11 +369,9 @@ */ void TestMpMpxCollectionData::TestItemCountWithIndex() { - - CMPXMediaArray* array = CMPXMediaArray::NewL(); CleanupStack::PushL(array); - + CMPXMedia* media = CMPXMedia::NewL(); CleanupStack::PushL(media); //no attributes @@ -401,8 +389,7 @@ media3->SetTObjectValueL(KMPXMediaGeneralCount,20); array->AppendL(*media3); CleanupStack::PopAndDestroy(media3); - - + mTestPrivate->iMediaArray=array; QCOMPARE(mTest->itemCount(0),0); QCOMPARE(mTest->itemCount(1),0); @@ -417,7 +404,6 @@ */ void TestMpMpxCollectionData::testSetCollectionContextL() { - RArray supportedIds; CleanupClosePushL( supportedIds ); supportedIds.AppendL( KMPXMediaIdMusic ); @@ -426,141 +412,84 @@ CleanupStack::PopAndDestroy(&supportedIds); CleanupStack::PushL(entries); - - - /* FROM MPXDBPLUGIN.CPP - // All Songs - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXSong ... - ... - // All artists - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXArtist ... - ... - // All albums of an artist - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXArtist ... - ... - // all songs for an artist - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXSong ... - ... - // all songs of an album for an artist - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXAlbum ... - ... - // All Albums - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXAlbum ... - ... - // All songs in one or multiple albums - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXAlbum ... - ... - // All playlists - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXPlaylist ... - ... - // All songs in a playlist - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXPlaylist ... - ... - // All genres - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXGenre ... - ... - // All songs of a genre - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXGenre ... - ... - // All composers - SetMediaGeneralAttributesL(aEntries, EMPXGroup, EMPXComposer ... - ... - // All songs of a composer - SetMediaGeneralAttributesL(aEntries, EMPXItem, EMPXComposer ... - */ - // All Songs entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXSong); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextAllSongs); - - // All artists + QCOMPARE(mTestPrivate->iContext, ECollectionContextAllSongs); + + // All artists entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXArtist); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextUnknown);//not implemented because is not in use. - + QCOMPARE(mTestPrivate->iContext, ECollectionContextArtists); + // All albums of an artist entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXArtist); mTestPrivate->iContainerMedia = entries; + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + CMPXMedia* media2 = CMPXMedia::NewL(); + CleanupStack::PushL(media2); + array->AppendL(*media2); + CleanupStack::PopAndDestroy(media2); + mTestPrivate->iMediaArray = array; mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextUnknown);//not implemented because is not in use. - - // all songs for an artist + QCOMPARE(mTestPrivate->iContext, ECollectionContextArtistAlbums); + mTestPrivate->iMediaArray = NULL; + CleanupStack::PopAndDestroy(array); + + // All albums of an artist - Artist has only 1 album + entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); + entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXArtist); + mTestPrivate->iContainerMedia = entries; + array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + CMPXMedia* media3 = CMPXMedia::NewL(); + CleanupStack::PushL(media3); + array->AppendL(*media3); + CleanupStack::PopAndDestroy(media3); + mTestPrivate->iMediaArray = array; + mTestPrivate->SetCollectionContextL(); + QCOMPARE(mTestPrivate->iContext, ECollectionContextArtistAlbumsTBone); + mTestPrivate->iMediaArray=NULL; + CleanupStack::PopAndDestroy(array); + + // All songs for an artist entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXSong); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextUnknown);//not implemented because is not in use. - - // all songs of an album for an artist - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextAlbumSongs); - - // All Albums + QCOMPARE(mTestPrivate->iContext, ECollectionContextArtistAllSongs); + + // All albums entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); QCOMPARE(mTestPrivate->iContext,ECollectionContextAlbums); - // All songs in one or multiple albums - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextAlbumSongs); - // All playlists entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXPlaylist); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); QCOMPARE(mTestPrivate->iContext,ECollectionContextPlaylists); - + // All songs in a playlist entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXPlaylist); mTestPrivate->iContainerMedia = entries; mTestPrivate->SetCollectionContextL(); QCOMPARE(mTestPrivate->iContext,ECollectionContextPlaylistSongs); - - // All genres - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXGenre); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextGenres);//not in use and implementation could go away. - - // All songs of a genre - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXGenre); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextGenreSongs);///not in use and implementation could go away. - - // All composers - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXComposer); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextUnknown);//not implemented because is not in use. - - // All songs of a composer - entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); - entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXComposer); - mTestPrivate->iContainerMedia = entries; - mTestPrivate->SetCollectionContextL(); - QCOMPARE(mTestPrivate->iContext,ECollectionContextUnknown);//not implemented because is not in use. - - + mTestPrivate->iContainerMedia = NULL; CleanupStack::PopAndDestroy(entries); } @@ -570,8 +499,6 @@ */ void TestMpMpxCollectionData::testSetMpxMediaAllSongs() { - - RArray supportedIds; CleanupClosePushL( supportedIds ); supportedIds.AppendL( KMPXMediaIdMusic ); @@ -592,15 +519,15 @@ array->AppendL(*media); CleanupStack::PopAndDestroy(media); } - + entries->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); entries->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXSong); entries->SetTextValueL(KMPXMediaGeneralTitle, _L("All songs")); - + entries->SetCObjectValueL(KMPXMediaArrayContents, array); entries->SetTObjectValueL(KMPXMediaArrayCount, array->Count()); CleanupStack::PopAndDestroy(array); - + qRegisterMetaType(); QSignalSpy spy(mTest, SIGNAL(contextChanged(TCollectionContext))); mTest->setMpxMedia(*entries); @@ -624,7 +551,7 @@ QCOMPARE( mTest->containerId(), containerId); delete container; mTestPrivate->iContainerMedia = 0; - + } /*! @@ -642,10 +569,10 @@ item->SetTObjectValueL( KMPXMediaGeneralId, itemId ); QCOMPARE( mTest->itemId(0), itemId); - + delete array; mTestPrivate->iMediaArray = 0; - + } /*! @@ -659,12 +586,12 @@ CMPXMediaArray* array = CMPXMediaArray::NewL(); array->AppendL(item); mTestPrivate->iMediaArray = array; - + mTest->removeItem(0); QVERIFY( mTestPrivate->iCachedRemovedItem ); QCOMPARE( int(mTestPrivate->iCachedRemovedItem->ValueTObjectL( KMPXMediaGeneralId )), itemId ); QCOMPARE( mTestPrivate->iMediaArray->Count(), 0 ); - + delete array; mTestPrivate->iMediaArray = 0; } @@ -680,12 +607,12 @@ mTestPrivate->iCachedRemovedItem = item; CMPXMediaArray* array = CMPXMediaArray::NewL(); mTestPrivate->iMediaArray = array; - + mTest->insertCachedItem(0); QCOMPARE( mTestPrivate->iMediaArray->Count(), 1 ); QCOMPARE( int(mTestPrivate->iMediaArray->AtL( 0 )->ValueTObjectL( KMPXMediaGeneralId )), itemId ); QVERIFY( !mTestPrivate->iCachedRemovedItem ); - + delete array; mTestPrivate->iMediaArray = 0; } @@ -697,15 +624,239 @@ { int itemId = 147; CMPXMedia* item = CMPXMedia::NewL(); - + + // Test error case when iCachedRemovedItem is NULL. + QVERIFY( !mTest->testCachedItem( itemId ) ); + + // Test error case when KMPXMediaGeneralId is not supported. mTestPrivate->iCachedRemovedItem = item; QVERIFY( !mTest->testCachedItem( itemId ) ); - + + // Test good case. item->SetTObjectValueL( KMPXMediaGeneralId, itemId ); QVERIFY( mTest->testCachedItem( itemId ) ); - + delete mTestPrivate->iCachedRemovedItem; mTestPrivate->iCachedRemovedItem = 0; } -//EOF +/*! + Tests setContext(). + */ +void TestMpMpxCollectionData::testSetContext() +{ + qRegisterMetaType(); + QSignalSpy spy(mTest, SIGNAL(contextChanged(TCollectionContext))); + mTest->setContext(ECollectionContextPlaylistSongs); + // Verify that: + // - contextChanged() signal is emitted + // - Context is changed + // - album index mapping is not cashed. + QCOMPARE(spy.count(), 1); + TCollectionContext context = qvariant_cast(spy.at(0).at(0)); + QCOMPARE(context, ECollectionContextPlaylistSongs); + QCOMPARE(mTestPrivate->iContext, ECollectionContextPlaylistSongs); + QVERIFY(mTestPrivate->albumIdIndexMapping.isEmpty()); +} + +/*! + Tests setContext() for media wall use case. + Tests setContext() for media wall use case. +*/ +void TestMpMpxCollectionData::testSetContextMediaWall() +{ + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i =0; i < count; i++) { + mTestPrivate->iMediaArray = array; + QCOMPARE(mTest->count(), i); + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + media->SetTObjectValueL(KMPXMediaGeneralId, KAllSongsTestData[i].GeneralId); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + } + mTestPrivate->iMediaArray = array; + + qRegisterMetaType(); + QSignalSpy spy(mTest, SIGNAL(contextChanged(TCollectionContext))); + + mTest->setContext(ECollectionContextAlbumsMediaWall); + // Verify that: + // - contextChanged() signal is emitted + // - Context is changed + // - album index mapping is cashed. + // - album index mapping is cleared when changing context again. + QCOMPARE(spy.count(), 1); + TCollectionContext context = qvariant_cast(spy.at(0).at(0)); + QCOMPARE(context, ECollectionContextAlbumsMediaWall); + QCOMPARE(mTestPrivate->iContext, ECollectionContextAlbumsMediaWall); + QVERIFY(!mTestPrivate->albumIdIndexMapping.isEmpty()); + for (TInt i =0; i < count; i++) { + QCOMPARE(mTest->itemIndex(KAllSongsTestData[i].GeneralId),i); + } + mTest->setContext(ECollectionContextPlaylistSongs); + QVERIFY(mTestPrivate->albumIdIndexMapping.isEmpty()); + CleanupStack::PopAndDestroy(array); +} + + +/*! + Tests setAlbumContent(). + */ +void TestMpMpxCollectionData::testSetAlbumContent() +{ + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + + mTestPrivate->iMediaArray = array; + mTestPrivate->iCurrentAlbumIndex = 0; + + CMPXMedia* albumContent = CMPXMedia::NewL(); + CleanupStack::PushL(albumContent); + CMPXMediaArray* songArray = CMPXMediaArray::NewL(); + CleanupStack::PushL(songArray); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i =0; i < count; i++) { + CMPXMedia* song = CMPXMedia::NewL(); + CleanupStack::PushL(song); + songArray->AppendL(*song); + CleanupStack::PopAndDestroy(song); + } + albumContent->SetCObjectValueL(KMPXMediaArrayContents, songArray); + CleanupStack::PopAndDestroy(songArray); + + // Verify that: + // - refreshAlbumSongs() signal is emitted + // - Album song count is updated correctly + QSignalSpy spy(mTest, SIGNAL(refreshAlbumSongs())); + mTest->setAlbumContent(*albumContent); + QCOMPARE(spy.count(), 1); + QCOMPARE(mTest->albumSongsCount(), count); + QCOMPARE(mTestPrivate->iMediaArray->AtL(0)->ValueTObjectL(KMPXMediaArrayCount), count); + + CleanupStack::PopAndDestroy(albumContent); + mTestPrivate->iMediaArray = NULL; + CleanupStack::PopAndDestroy(array); +} + +/*! + Tests setCurrentAlbum(). + */ +void TestMpMpxCollectionData::testSetCurrentAlbum() +{ + QSignalSpy spy(mTest, SIGNAL(refreshAlbumSongs())); + + // Create media array that doesn't have the album songs yet. + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + mTestPrivate->iMediaArray = array; + mTestPrivate->iCurrentAlbumIndex = -1; + + // Verify that: + // - refreshAlbumSongs() signal is NOT emitted + // - album index is set + // - availability is returned as false (this means that client + // should initiate a find) + bool available = mTest->setCurrentAlbum(0); + QCOMPARE(available, false); + QCOMPARE(mTest->currentAlbumIndex(), 0); + QCOMPARE(spy.count(), 0); + + // Now populate the media (album) with songs. This is basically + // simulating setAlbumContent(). + CMPXMediaArray* songArray = CMPXMediaArray::NewL(); + CleanupStack::PushL(songArray); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i =0; i < count; i++) { + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + songArray->AppendL(*media); + CleanupStack::PopAndDestroy(media); + } + media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + media->SetCObjectValueL(KMPXMediaArrayContents, songArray); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + CleanupStack::PopAndDestroy(songArray); + mTestPrivate->iAlbumSongCount = 0; + + // Verify that: + // - refreshAlbumSongs() signal is emitted + // - album index is set + // - availability is returned as true + // - album song count is set + available = mTest->setCurrentAlbum(1); + QCOMPARE(available, true); + QCOMPARE(mTest->currentAlbumIndex(), 1); + QCOMPARE(mTest->albumSongsCount(), count); + QCOMPARE(spy.count(), 1); + + mTestPrivate->iMediaArray = NULL; + CleanupStack::PopAndDestroy(array); +} + +/*! + Tests albumSongData(). + */ +void TestMpMpxCollectionData::testAlbumSongData() +{ + // Populate the media (album) with songs. This is basically + // simulating setAlbumContent(). + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + CMPXMediaArray* songArray = CMPXMediaArray::NewL(); + CleanupStack::PushL(songArray); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i = 0; i < count; i++) { + CMPXMedia* song = CMPXMedia::NewL(); + CleanupStack::PushL(song); + song->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[i].GeneralTitle))); + song->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicAlbumArtFileName))); + songArray->AppendL(*song); + CleanupStack::PopAndDestroy(song); + } + media->SetCObjectValueL(KMPXMediaArrayContents, songArray); + array->AppendL(*media); + + mTestPrivate->iMediaArray = array; + mTestPrivate->iCurrentAlbumIndex = 0; + + // Loop through all items to verify the album song data + for (TInt i =0; i < count; i++) { + const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[i].GeneralTitle)); + QCOMPARE(mTest->albumSongData( i, MpMpxCollectionData::Title), QString::fromUtf16( title.Ptr(), title.Length())); + + const TDesC& uri = TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicAlbumArtFileName)); + QCOMPARE(mTest->albumSongData( i, MpMpxCollectionData::Uri), QString::fromUtf16( uri.Ptr(), uri.Length())); + } + + // Create a song entry that doesn't have Title or Uri. + CMPXMedia* song = CMPXMedia::NewL(); + CleanupStack::PushL(song); + song->SetTextValueL(KMPXMediaGeneralTitle, KNullDesC ); + song->SetTextValueL(KMPXMediaMusicArtist, KNullDesC); + songArray->AppendL(*song); + CleanupStack::PopAndDestroy(song); + + // Verify that it returned empty string. + QVERIFY(mTest->albumSongData( count, MpMpxCollectionData::Title).isNull()); + QVERIFY(mTest->albumSongData( count, MpMpxCollectionData::Uri).isNull()); + + CleanupStack::PopAndDestroy(songArray); + CleanupStack::PopAndDestroy(media); + mTestPrivate->iMediaArray = NULL; + CleanupStack::PopAndDestroy(array); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpmpxcollectiondata/unittest_mpmpxcollectiondata.pro --- a/mpdata/tsrc/unittest_mpmpxcollectiondata/unittest_mpmpxcollectiondata.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpmpxcollectiondata/unittest_mpmpxcollectiondata.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,10 +14,11 @@ # Description: # - TEMPLATE = app -CONFIG += qtestlib hb -TARGET = +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmpxcollectiondata +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpplaybackdata/inc/unittest_mpplaybackdata.h --- a/mpdata/tsrc/unittest_mpplaybackdata/inc/unittest_mpplaybackdata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpplaybackdata/inc/unittest_mpplaybackdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -50,6 +50,7 @@ void testSetUri(); void testSetAlbumArtUri(); void testThumbnailReady(); + void testSeAlbumId(); void testSetPlaybackState(); void testCommitPlaybackInfo(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpplaybackdata/src/unittest_mpplaybackdata.cpp --- a/mpdata/tsrc/unittest_mpplaybackdata/src/unittest_mpplaybackdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpplaybackdata/src/unittest_mpplaybackdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -20,6 +20,7 @@ #include #include #include +#include #include "unittest_mpplaybackdata.h" #include "stub/inc/thumbnailmanager_qt.h" @@ -101,7 +102,7 @@ QCOMPARE(mTest->mThumbnailManager->getInitCounter(), 1); QVERIFY(mTest->mDuration == 0); QVERIFY(mTest->mPosition == 0); - QVERIFY(!mTest->mDefaultAlbumArt); + QVERIFY(mTest->mDefaultAlbumArt != 0); } @@ -267,7 +268,7 @@ temp=0; QSignalSpy spy(mTest, SIGNAL(albumArtReady())); QPixmap albumArt(100,100); - QPixmap albumArt2; + HbIcon albumArtIcon; //Error mTest->thumbnailReady(albumArt,temp,KUndefined,KUndefined); @@ -289,8 +290,18 @@ mTest->thumbnailReady(albumArt,temp,1,0); QCOMPARE(mTest->mReqId, KUndefined); QCOMPARE(spy.count(),1); - mTest->albumArt(albumArt2); - QCOMPARE(albumArt,albumArt2); + mTest->albumArt(albumArtIcon); + QVERIFY(!albumArtIcon.isNull()); +} + +/*! + test SeAlbumId and albumId + */ +void TestMpPlaybackData::testSeAlbumId() +{ + mTest->setAlbumId(65535); + QCOMPARE(mTest->mAlbumId, 65535); + QCOMPARE(mTest->albumId(), 65535); } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpplaybackdata/stub/inc/thumbnailmanager_qt.h --- a/mpdata/tsrc/unittest_mpplaybackdata/stub/inc/thumbnailmanager_qt.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpplaybackdata/stub/inc/thumbnailmanager_qt.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ #ifndef THUMBNAILMANAGER_QT_H #define THUMBNAILMANAGER_QT_H -#include +#include #include diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpplaybackdata/stub/src/thumbnailmanager_qt.cpp --- a/mpdata/tsrc/unittest_mpplaybackdata/stub/src/thumbnailmanager_qt.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpdata/tsrc/unittest_mpplaybackdata/stub/src/thumbnailmanager_qt.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,7 +15,7 @@ * */ -#include +#include #include "stub/inc/thumbnailmanager_qt.h" int gInitCounter = 0; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpplaybackdata/unittest_mpplaybackdata_template.pkg --- a/mpdata/tsrc/unittest_mpplaybackdata/unittest_mpplaybackdata_template.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -; unittest_mpplaybackdata_template.pkg generated by qmake at 2010-04-05T19:32:11 -; This file is generated by qmake and should not be modified by the user -; - -; Language -&EN - -; SIS header: name, uid, version -#{"unittest_mpplaybackdata"},(0xE0350e5d),1,0,0 - -; Localised Vendor name -%{"Vendor"} - -; Unique Vendor name -:"Vendor" - -; Manual PKG pre-rules from PRO files -; Default HW/platform dependencies -[0x101F7961],0,0,0,{"S60ProductID"} -[0x102032BE],0,0,0,{"S60ProductID"} -[0x102752AE],0,0,0,{"S60ProductID"} -[0x1028315F],0,0,0,{"S60ProductID"} - -; Default dependency to Qt libraries -(0x2001E61C), , , , {"Qt"} - -; Executable and default resource files -"/epoc32/release/$(PLATFORM)/$(TARGET)/unittest_mpplaybackdata.exe" - "!:\sys\bin\unittest_mpplaybackdata.exe" -"/epoc32/data/z/resource/apps/unittest_mpplaybackdata.rsc" - "!:\resource\apps\unittest_mpplaybackdata.rsc" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpplaybackdata_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpplaybackdata_reg.rsc" - -; Manual PKG post-rules from PRO files diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,30 @@ +; 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: + +; Language +&EN + +; SIS header: name, uid, version +#{"unittest_mpsongdata"},(0xE003e880),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + +; Executable and default resource files +"/epoc32/release/armv5/udeb/unittest_mpsongdata.exe" - "!:\sys\bin\unittest_mpsongdata.exe" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpsongdata_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpsongdata_reg.rsc" + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2010 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: Unit test for mpsongdata +* +*/ + +#ifndef UNITTEST_MPSONGDATA_H_ +#define UNITTEST_MPSONGDATA_H_ + +#include + +class MpSongData; + +class TestMpSongData : public QObject +{ + Q_OBJECT + +public: + + TestMpSongData(); + virtual ~TestMpSongData(); + +signals: + + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testMemberCleanup(); + void testTitle(); + void testAlbum(); + void testArtist(); + void testComment(); + void testAlbumArt(); + void testYear(); + void testGenre(); + void testComposer(); + void testAlbumtrack(); + void testLink(); + + void testFileName(); + void testMimeType(); + void testDuration(); + void testBitRate(); + void testSampleRate(); + void testSize(); + void testModified(); + void testCopyright(); + void testMusicURL(); + void testIsDrmProtected(); + + void testSetTitle(); + void testSetAlbum(); + void testSetArtist(); + void testSetComment(); + void testSetYear(); + void testSetGenre(); + void testSetComposer(); + void testSetAlbumTrack(); + void testSetLink(); + + void testSetFileName(); + void testSetMimeType(); + void testSetDuration(); + void testSetBitRate(); + void testSetSampleRate(); + void testSetSize(); + void testSetModified(); + void testSetCopyright(); + void testSetMusicURL(); + void testSetDrmProtected(); + + void testSetAlbumArtUri(); + void testThumbnailReady(); + void testCommitPlaybackInfo(); + void testCommitSongDetailInfo(); +private: + MpSongData *mTest; + +}; + + +#endif /* UNITTEST_MPSONGDATA_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +del *.sisx +makesis UT_mpsongdata.pkg +signsis UT_mpsongdata.sis UT_mpsongdata.sisx RNDCERTS_PATH\Nokia_RnDCert_02.der RNDCERTS_PATH\Nokia_RnDCert_02.key +del UT_mpsongdata.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,1100 @@ +/* +* Copyright (c) 2010 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: Unit test for mpsongdata +* +*/ +#include +#include +#include +#include + +#include"unittest_mpsongdata.h" +#include "stub/inc/thumbnailmanager_qt.h" + +// Do this so we can access all member variables. +#define private public +#include "mpsongdata.h" +#undef private + + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + HbApplication app(argc, argv); + HbMainWindow window; + + TestMpSongData tv; + +if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsongdata.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +//Constructor +TestMpSongData::TestMpSongData() + : mTest(0) +{ + +} + +//Destructor +TestMpSongData::~TestMpSongData() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpSongData::initTestCase() +{ + +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpSongData::cleanupTestCase() +{ +QCoreApplication::processEvents(); +} + +/*! + Called before each testfunction is executed. + */ +void TestMpSongData::init() +{ + mTest = new MpSongData(); +} + +/*! + Called after every testfunction. + */ +void TestMpSongData::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Test correct cleanup of member variables. + */ +void TestMpSongData::testMemberCleanup() +{ + cleanup(); + ThumbnailManager::resetInitCounter(); + init(); + cleanup(); + QCOMPARE( ThumbnailManager::getInitCounter(), 0 ); +} + + +/*! + Test title() + */ +void TestMpSongData::testTitle() +{ + mTest->mTitle = QString(); + QVERIFY( mTest->title().isNull() == true ); + + QString title( "title" ); + mTest->mTitle = title; + QVERIFY( mTest->title().isNull() == false ); + QCOMPARE( mTest->title(), title ); +} + +/*! + Test album() + */ +void TestMpSongData::testAlbum() +{ + mTest->mAlbum = QString(); + QVERIFY( mTest->album().isNull() == true ); + + QString album( "album" ); + mTest->mAlbum = album; + QVERIFY( mTest->album().isNull() == false ); + QCOMPARE( mTest->album(), album ); +} + +/*! + Test artist() + */ +void TestMpSongData::testArtist() +{ + mTest->mArtist = QString(); + QVERIFY( mTest->artist().isNull() == true ); + + QString artist( "artist"); + mTest->mArtist = artist; + QVERIFY( mTest->artist().isNull() == false ); + QCOMPARE( mTest->artist(), artist ); +} + +/*! + Test comment() + */ +void TestMpSongData::testComment() +{ + mTest->mComment = QString(); + QVERIFY( mTest->comment().isNull() == true ); + + QString comment( "This is a nice song" ); + mTest->mComment = comment; + QVERIFY( mTest->comment().isNull() == false ); + QCOMPARE( mTest->comment(), comment ); +} + +/*! + Test albumArt() + */ +void TestMpSongData::testAlbumArt() +{ + HbIcon dummyAlbumArt; + mTest->albumArt( dummyAlbumArt ); + QVERIFY( dummyAlbumArt.isNull() == true ); + + HbIcon dummyAlbumArtTwo; + mTest->mAlbumArt = new HbIcon( ":/playbackviewicons/someAlbumArt.png" ); + mTest->albumArt( dummyAlbumArtTwo ); + QVERIFY( dummyAlbumArtTwo.isNull() == false ); +} + +/*! + Test year() + */ +void TestMpSongData::testYear() +{ + mTest->mYear = QString(); + QVERIFY( mTest->year().isNull() == true ); + + QString year("2000"); + mTest->mYear = year; + QVERIFY( mTest->year().isNull() == false ); + QCOMPARE( mTest->year(), year ); +} + +/*! + Test genre() + */ +void TestMpSongData::testGenre() +{ + mTest->mGenre = QString(); + QVERIFY( mTest->genre().isNull() == true ); + + QString genre( "pop" ); + mTest->mGenre = genre; + QVERIFY( mTest->genre().isNull() == false ); + QCOMPARE( mTest->genre(), genre ); +} + +/*! + Test composer() + */ +void TestMpSongData::testComposer() +{ + mTest->mComposer = QString(); + QVERIFY( mTest->composer().isNull() == true ); + + QString composer( "composer "); + mTest->mComposer = composer; + QVERIFY( mTest->composer().isNull() == false ); + QCOMPARE( mTest->composer(), composer ); +} + + +/*! + Test albumTrack() + */ +void TestMpSongData::testAlbumtrack() +{ + mTest->mAlbumTrack = QString(); + QVERIFY( mTest->albumTrack().isNull() == true ); + + QString albumTrack("2"); + mTest->mAlbumTrack = albumTrack; + QVERIFY( mTest->albumTrack().isNull() == false ); + QCOMPARE( mTest->albumTrack(), albumTrack ); +} + +/*! + Test link() + */ +void TestMpSongData::testLink() +{ + mTest->mLink = QString(); + QVERIFY( mTest->link().isNull() == true ); + + QString link( "www.nokia.com" ); + mTest->mLink = link; + QVERIFY( mTest->link().isNull() == false ); + QCOMPARE( mTest->link(), link ); +} + +/*! + Test fileName() + */ +void TestMpSongData::testFileName() +{ + mTest->mFileName = QString(); + QVERIFY( mTest->fileName().isNull() == true ); + + QString fileName( "test.mp3" ); + mTest->mFileName = fileName; + QVERIFY( mTest->fileName().isNull() == false ); + QCOMPARE( mTest->fileName(), fileName ); +} + +/*! + Test fileName() + */ +void TestMpSongData::testMimeType() +{ + mTest->mMimeType = QString(); + QVERIFY( mTest->mimeType().isNull() == true ); + + QString mimeType( "mp3" ); + mTest->mMimeType = mimeType; + QVERIFY( mTest->mimeType().isNull() == false ); + QCOMPARE( mTest->mimeType(), mimeType ); +} + +/*! + Test fileName() + */ +void TestMpSongData::testDuration() +{ + mTest->mDuration = QString(); + QVERIFY( mTest->duration().isNull() == true ); + + QString duration( "04:16" ); + mTest->mDuration = duration; + QVERIFY( mTest->duration().isNull() == false ); + QCOMPARE( mTest->duration(), duration ); +} + +/*! + Test bitRate() + */ +void TestMpSongData::testBitRate() +{ + mTest->mBitRate = QString(); + QVERIFY( mTest->bitRate().isNull() == true ); + + QString bitRate( "320 Kbps" ); + mTest->mBitRate = bitRate; + QVERIFY( mTest->bitRate().isNull() == false ); + QCOMPARE( mTest->bitRate(), bitRate ); +} + +/*! + Test sampleRate() + */ +void TestMpSongData::testSampleRate() +{ + mTest->mSampleRate = QString(); + QVERIFY( mTest->sampleRate().isNull() == true ); + + QString sampleRate( "44100 hz" ); + mTest->mSampleRate = sampleRate; + QVERIFY( mTest->sampleRate().isNull() == false ); + QCOMPARE( mTest->sampleRate(), sampleRate ); +} + +/*! + Test size() + */ +void TestMpSongData::testSize() +{ + mTest->mSize = QString(); + QVERIFY( mTest->size().isNull() == true ); + + QString size( "4.3MB" ); + mTest->mSize = size; + QVERIFY( mTest->size().isNull() == false ); + QCOMPARE( mTest->size(), size ); +} + +/*! + Test modified() + */ +void TestMpSongData::testModified() +{ + mTest->mModified = QString(); + QVERIFY( mTest->modified().isNull() == true ); + + QString modified( "5.7.2010 14:35:08" ); + mTest->mModified = modified; + QVERIFY( mTest->modified().isNull() == false ); + QCOMPARE( mTest->modified(), modified ); +} + +/*! + Test copyright() + */ +void TestMpSongData::testCopyright() +{ + mTest->mCopyright = QString(); + QVERIFY( mTest->copyright().isNull() == true ); + + QString copyright( "Copyright holder" ); + mTest->mCopyright = copyright; + QVERIFY( mTest->copyright().isNull() == false ); + QCOMPARE( mTest->copyright(), copyright ); +} + +/*! + Test musicURL() + */ +void TestMpSongData::testMusicURL() +{ + mTest->mMusicURL = QString(); + QVERIFY( mTest->musicURL().isNull() == true ); + + QString musicURL( "www.nokia.com" ); + mTest->mMusicURL = musicURL; + QVERIFY( mTest->musicURL().isNull() == false ); + QCOMPARE( mTest->musicURL(), musicURL ); +} + +/*! + Test isDrmProtected() + */ +void TestMpSongData::testIsDrmProtected() +{ + mTest->mDrmProtected = true; + QVERIFY( mTest->isDrmProtected() == true ); + + mTest->mDrmProtected = false; + QVERIFY( mTest->isDrmProtected() == false ); +} + +/*! + Test setTitle() + */ +void TestMpSongData::testSetTitle() +{ + bool result; + QString title( "title" ); + mTest->mTitle = QString(); + result = mTest->setTitle( title ); + QCOMPARE( result, true ); + QCOMPARE( mTest->title(), title ); + + result = false; + title = QString( "title" ); + mTest->mTitle = QString( "titleTwo" ); + result = mTest->setTitle( title ); + QCOMPARE( result, true ); + QCOMPARE( mTest->title(), title ); + + result = false; + title = QString(); + mTest->mTitle = QString(); + result = mTest->setTitle( title ); + QCOMPARE( result, false ); + QCOMPARE( mTest->title().isNull(), true ); + + result = false; + title = QString(); + mTest->mTitle = QString( "titleTwo" ); + result = mTest->setTitle( title ); + QCOMPARE( result, true ); + QCOMPARE( mTest->title().isNull(), true ); +} + +/*! + Test SetAlbum() + */ +void TestMpSongData::TestMpSongData::testSetAlbum() +{ + bool result; + QString album( "album" ); + mTest->mAlbum = QString(); + result = mTest->setAlbum( album ); + QCOMPARE( result, true ); + QCOMPARE( mTest->album(), album ); + + result = false; + album = QString( "album" ); + mTest->mAlbum = QString( "albumTwo" ); + result = mTest->setAlbum( album ); + QCOMPARE( result, true ); + QCOMPARE( mTest->album(), album ); + + result = false; + album = QString(); + mTest->mAlbum = QString(); + result = mTest->setAlbum( album ); + QCOMPARE( result, false ); + QCOMPARE( mTest->album().isNull(), true ); + + result = false; + album = QString(); + mTest->mAlbum = QString( "albumTwo" ); + result = mTest->setAlbum( album ); + QCOMPARE( result, true ); + QCOMPARE( mTest->album().isNull(), true ); +} + +/*! + Test SetArtist() + */ +void TestMpSongData::testSetArtist() +{ + bool result; + QString artist( "artist" ); + mTest->mArtist = QString(); + result = mTest->setArtist( artist ); + QCOMPARE( result, true ); + QCOMPARE( mTest->artist(), artist ); + + result = false; + artist = QString( "artist" ); + mTest->mArtist = QString( "artistTwo" ); + result = mTest->setArtist( artist ); + QCOMPARE( result, true ); + QCOMPARE( mTest->artist(), artist ); + + result = false; + artist = QString(); + mTest->mArtist = QString(); + result = mTest->setArtist( artist ); + QCOMPARE( result, false ); + QCOMPARE( mTest->artist().isNull(), true ); + + result = false; + artist = QString(); + mTest->mArtist = QString( "artistTwo" ); + result = mTest->setArtist( artist ); + QCOMPARE( result, true ); + QCOMPARE( mTest->artist().isNull(), true ); +} + +/*! + Test SetComment() + */ +void TestMpSongData::testSetComment() +{ + bool result; + QString comment( "comment" ); + mTest->mComment = QString(); + result = mTest->setComment( comment ); + QCOMPARE( result, true ); + QCOMPARE( mTest->comment(), comment ); + + result = false; + comment = QString( "comment" ); + mTest->mComment = QString( "commentTwo" ); + result = mTest->setComment( comment ); + QCOMPARE( result, true ); + QCOMPARE( mTest->comment(), comment ); + + result = false; + comment = QString(); + mTest->mComment = QString(); + result = mTest->setComment( comment ); + QCOMPARE( result, false ); + QCOMPARE( mTest->comment().isNull(), true ); + + result = false; + comment = QString(); + mTest->mComment = QString( "commentTwo" ); + result = mTest->setComment( comment ); + QCOMPARE( result, true ); + QCOMPARE( mTest->comment().isNull(), true ); +} + +/*! + Test SetYear() + */ +void TestMpSongData::testSetYear() +{ + bool result; + int year = 2010; + mTest->mYear = QString(); + result = mTest->setYear( year ); + QCOMPARE( result, true ); + QCOMPARE( mTest->year(), QString::number( year ) ); + + result = false; + year = 2010; + mTest->mYear = QString::number( 2011 ); + result = mTest->setYear( year ); + QCOMPARE( result, true ); + QCOMPARE( mTest->year(), QString::number( year ) ); + + result = false; + year = -1; + mTest->mYear = QString(); + result = mTest->setYear( year ); + QCOMPARE( result, true ); + QCOMPARE( mTest->year().isNull(), true ); + + result = false; + year = -1; + mTest->mYear = QString::number( 2011 ); + result = mTest->setYear( year ); + QCOMPARE( result, true ); + QCOMPARE( mTest->year().isNull(), true ); +} + +/*! + Test setGenre() + */ +void TestMpSongData::testSetGenre() +{ + bool result; + QString genre( "genre" ); + mTest->mGenre = QString(); + result = mTest->setGenre( genre ); + QCOMPARE( result, true ); + QCOMPARE( mTest->genre(), genre ); + + result = false; + genre = QString( "genre" ); + mTest->mGenre = QString( "genreTwo" ); + result = mTest->setGenre( genre ); + QCOMPARE( result, true ); + QCOMPARE( mTest->genre(), genre ); + + result = false; + genre = QString(); + mTest->mGenre = QString(); + result = mTest->setGenre( genre ); + QCOMPARE( result, false ); + QCOMPARE( mTest->genre().isNull(), true ); + + result = false; + genre = QString(); + mTest->mGenre = QString( "genreTwo" ); + result = mTest->setGenre( genre ); + QCOMPARE( result, true ); + QCOMPARE( mTest->genre().isNull(), true ); +} + +/*! + Test setComposer() + */ +void TestMpSongData::testSetComposer() +{ + bool result; + QString composer( "composer" ); + mTest->mComposer = QString(); + result = mTest->setComposer( composer ); + QCOMPARE( result, true ); + QCOMPARE( mTest->composer(), composer ); + + result = false; + composer = QString( "composer" ); + mTest->mComposer = QString( "composerTwo" ); + result = mTest->setComposer( composer ); + QCOMPARE( result, true ); + QCOMPARE( mTest->composer(), composer ); + + result = false; + composer = QString(); + mTest->mComposer = QString(); + result = mTest->setComposer( composer ); + QCOMPARE( result, false ); + QCOMPARE( mTest->composer().isNull(), true ); + + result = false; + composer = QString(); + mTest->mComposer = QString( "composerTwo" ); + result = mTest->setComposer( composer ); + QCOMPARE( result, true ); + QCOMPARE( mTest->composer().isNull(), true ); +} + +/*! + Test setAlbumTrack() + */ +void TestMpSongData::testSetAlbumTrack() +{ + bool result; + QString albumTrack( "2" ); + mTest->mAlbumTrack = QString(); + result = mTest->setAlbumTrack( albumTrack ); + QCOMPARE( result, true ); + QCOMPARE( mTest->albumTrack(), albumTrack ); + + result = false; + albumTrack = QString( "2" ); + mTest->mAlbumTrack = QString( "3" ); + result = mTest->setAlbumTrack( albumTrack ); + QCOMPARE( result, true ); + QCOMPARE( mTest->albumTrack(), albumTrack ); + + result = false; + albumTrack = QString(); + mTest->mAlbumTrack = QString(); + result = mTest->setAlbumTrack( albumTrack ); + QCOMPARE( result, false ); + QCOMPARE( mTest->albumTrack().isNull(), true ); + + result = false; + albumTrack = QString(); + mTest->mAlbumTrack = QString( "3" ); + result = mTest->setAlbumTrack( albumTrack ); + QCOMPARE( result, true ); + QCOMPARE( mTest->albumTrack().isNull(), true ); +} + +/*! + Test setLink() + */ +void TestMpSongData::testSetLink() +{ + QString link( "www.nokia.com" ); + mTest->mLink = QString(); + mTest->setLink( link ); + QCOMPARE( mTest->link(), link ); + + link = QString( "www.nokia.com" ); + mTest->mLink = QString( "www.nokia.fi" ); + mTest->setLink( link ); + QCOMPARE( mTest->link(), link ); + + link = QString(); + mTest->mLink = QString(); + mTest->setLink( link ); + QCOMPARE( mTest->link().isNull(), true ); + + link = QString(); + mTest->mLink = QString( "www.nokia.fi" ); + mTest->setLink( link ); + QCOMPARE( mTest->link().isNull(), true ); +} + +/*! + Test setFileName() + */ +void TestMpSongData::testSetFileName() +{ + bool result; + QString fileName( "fileName" ); + mTest->mFileName = QString(); + result = mTest->setFileName( fileName ); + QCOMPARE( result, true ); + QCOMPARE( mTest->fileName(), fileName ); + + result = false; + fileName = QString( "fileName" ); + mTest->mFileName = QString( "fileNameTwo" ); + result = mTest->setFileName( fileName ); + QCOMPARE( result, true ); + QCOMPARE( mTest->fileName(), fileName ); + + result = false; + fileName = QString(); + mTest->mFileName = QString(); + result = mTest->setFileName( fileName ); + QCOMPARE( result, false ); + QCOMPARE( mTest->fileName().isNull(), true ); + + result = false; + fileName = QString(); + mTest->mFileName = QString( "fileNameTwo" ); + result = mTest->setFileName( fileName ); + QCOMPARE( result, true ); + QCOMPARE( mTest->fileName().isNull(), true ); +} + +/*! + Test setMimeType() + */ +void TestMpSongData::testSetMimeType() +{ + bool result; + QString mimeType( "mimeType" ); + mTest->mMimeType = QString(); + result = mTest->setMimeType( mimeType ); + QCOMPARE( result, true ); + QCOMPARE( mTest->mimeType(), mimeType ); + + result = false; + mimeType = QString( "mimeType" ); + mTest->mMimeType = QString( "mimeTypeTwo" ); + result = mTest->setMimeType( mimeType ); + QCOMPARE( result, true ); + QCOMPARE( mTest->mimeType(), mimeType ); + + result = false; + mimeType = QString(); + mTest->mMimeType = QString(); + result = mTest->setMimeType( mimeType ); + QCOMPARE( result, false ); + QCOMPARE( mTest->mimeType().isNull(), true ); + + result = false; + mimeType = QString(); + mTest->mMimeType = QString( "mimeTypeTwo" ); + result = mTest->setMimeType( mimeType ); + QCOMPARE( result, true ); + QCOMPARE( mTest->mimeType().isNull(), true ); +} + +/*! + Test setDuration() // TODO: more cases to add here for different time interval + */ +void TestMpSongData::testSetDuration() +{ + bool result; + int duration = 100; + mTest->mDuration = QString(); + result = mTest->setDuration( duration ); + QCOMPARE( result, true ); + QCOMPARE( mTest->duration(), QString("01:40") ); + + result = false; + duration = 100; + mTest->mDuration = QString( "02:00" ); + result = mTest->setDuration( duration ); + QCOMPARE( result, true ); + QCOMPARE( mTest->duration(), QString("01:40") ); + + result = false; + duration = -1; + mTest->mDuration = QString(); + result = mTest->setDuration( duration ); + QCOMPARE( result, true ); + QCOMPARE( mTest->duration().isNull(), true ); + + result = false; + duration = -1; + mTest->mDuration = QString( "02:00" ); + result = mTest->setDuration( duration ); + QCOMPARE( result, true ); + QCOMPARE( mTest->duration().isNull(), true ); +} + +/*! + Test setBitRate() + */ +void TestMpSongData::testSetBitRate() +{ + bool result; + int bitRate = 302000; + mTest->mBitRate = QString(); + result = mTest->setBitRate( bitRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->bitRate(), QString::number( bitRate / 1000 ) ); + + result = false; + bitRate = 302000; + mTest->mBitRate = QString::number( 412 ); + result = mTest->setBitRate( bitRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->bitRate(), QString::number( bitRate / 1000 ) ); + + result = false; + bitRate = -1; + mTest->mBitRate = QString(); + result = mTest->setBitRate( bitRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->bitRate().isNull(), true ); + + result = false; + bitRate = -1; + mTest->mBitRate = QString::number( 412 ); + result = mTest->setBitRate( bitRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->bitRate().isNull(), true ); +} + +/*! + Test setSampleRate + */ +void TestMpSongData::testSetSampleRate() +{ + bool result; + int sampleRate = 44100; + mTest->mSampleRate = QString(); + result = mTest->setSampleRate( sampleRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->sampleRate(), QString::number( sampleRate ) ); + + result = false; + sampleRate = 44100; + mTest->mSampleRate = QString::number( 55000 ); + result = mTest->setSampleRate( sampleRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->sampleRate(), QString::number( sampleRate ) ); + + result = false; + sampleRate = -1; + mTest->mSampleRate = QString(); + result = mTest->setSampleRate( sampleRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->sampleRate().isNull(), true ); + + result = false; + sampleRate = -1; + mTest->mSampleRate = QString::number( 55000 ); + result = mTest->setSampleRate( sampleRate ); + QCOMPARE( result, true ); + QCOMPARE( mTest->sampleRate().isNull(), true ); +} + +/*! + Test setSize + */ +void TestMpSongData::testSetSize() +{ + bool result; + int size = 4300; + mTest->mSize = QString(); + result = mTest->setSize( size ); + QCOMPARE( result, true ); + QCOMPARE( mTest->size(), QString::number( size / 1000 ) ); + + result = false; + size = 4300; + mTest->mSize = QString( "5" ); + result = mTest->setSize( size ); + QCOMPARE( result, true ); + QCOMPARE( mTest->size(), QString::number( size / 1000 ) ); +} + +/*! + Test setModified + */ +void TestMpSongData::testSetModified() +{ + bool result; + QString modified( "5.7.2010 14:35:08" ); + mTest->mModified = QString(); + result = mTest->setModified( modified ); + QCOMPARE( result, true ); + QCOMPARE( mTest->modified(), modified ); + + result = false; + modified = QString( "5.7.2010 14:35:08" ); + mTest->mModified = QString( "9.7.2010 16:35:08" ); + result = mTest->setModified( modified ); + QCOMPARE( result, true ); + QCOMPARE( mTest->modified(), modified ); + + result = false; + modified = QString(); + mTest->mModified = QString(); + result = mTest->setModified( modified ); + QCOMPARE( result, false ); + QCOMPARE( mTest->modified().isNull(), true ); + + result = false; + modified = QString(); + mTest->mModified = QString( "9.7.2010 16:35:08" ); + result = mTest->setModified( modified ); + QCOMPARE( result, true ); + QCOMPARE( mTest->modified().isNull(), true ); +} + +/*! + Test setCopyright + */ +void TestMpSongData::testSetCopyright() +{ + bool result; + QString copyright( "copyright" ); + mTest->mCopyright = QString(); + result = mTest->setCopyright( copyright ); + QCOMPARE( result, true ); + QCOMPARE( mTest->copyright(), copyright ); + + result = false; + copyright = QString( "copyright" ); + mTest->mCopyright = QString( "copyrightTwo" ); + result = mTest->setCopyright( copyright ); + QCOMPARE( result, true ); + QCOMPARE( mTest->copyright(), copyright ); + + result = false; + copyright = QString(); + mTest->mCopyright = QString(); + result = mTest->setCopyright( copyright ); + QCOMPARE( result, false ); + QCOMPARE( mTest->copyright().isNull(), true ); + + result = false; + copyright = QString(); + mTest->mCopyright = QString( "copyrightTwo" ); + result = mTest->setCopyright( copyright ); + QCOMPARE( result, true ); + QCOMPARE( mTest->copyright().isNull(), true ); +} + +/*! + Test setMusicURL + */ +void TestMpSongData::testSetMusicURL() +{ + bool result; + QString musicURL( "musicURL" ); + mTest->mMusicURL = QString(); + result = mTest->setMusicURL( musicURL ); + QCOMPARE( result, true ); + QCOMPARE( mTest->musicURL(), musicURL ); + + result = false; + musicURL = QString( "musicURL" ); + mTest->mMusicURL = QString( "musicURLTwo" ); + result = mTest->setMusicURL( musicURL ); + QCOMPARE( result, true ); + QCOMPARE( mTest->musicURL(), musicURL ); + + result = false; + musicURL = QString(); + mTest->mMusicURL = QString(); + result = mTest->setMusicURL( musicURL ); + QCOMPARE( result, false ); + QCOMPARE( mTest->musicURL().isNull(), true ); + + result = false; + musicURL = QString(); + mTest->mMusicURL = QString( "musicURLTwo" ); + result = mTest->setMusicURL( musicURL ); + QCOMPARE( result, true ); + QCOMPARE( mTest->musicURL().isNull(), true ); +} + +/*! + Test setDrmProtected + */ +void TestMpSongData::testSetDrmProtected() +{ + bool result; + bool drmProtected = false; + mTest->mDrmProtected = true; + result = mTest->setDrmProtected( drmProtected ); + QCOMPARE( result, true ); + QCOMPARE( mTest->isDrmProtected(), false ); + + result = false; + drmProtected = false; + mTest->mDrmProtected = false; + result = mTest->setDrmProtected( drmProtected ); + QCOMPARE( result, false ); + QCOMPARE( mTest->isDrmProtected(), false ); + + result = false; + drmProtected = true; + mTest->mDrmProtected = true; + result = mTest->setDrmProtected( drmProtected); + QCOMPARE( result, false ); + QCOMPARE( mTest->isDrmProtected(), true ); + + result = false; + drmProtected = true; + mTest->mDrmProtected = false; + result = mTest->setDrmProtected( drmProtected ); + QCOMPARE( result, true ); + QCOMPARE( mTest->isDrmProtected(), true ); +} + + +/*! + Test setAlbumArtUri() + */ +void TestMpSongData::testSetAlbumArtUri() +{ + const QString albumArtUri( "AlbumArt" ); + const QString albumArtUriEmpty( "" ); + + QSignalSpy spy( mTest, SIGNAL( albumArtReady() ) ); + + QVERIFY( spy.isValid() ); + QCOMPARE( spy.count(), 0 ); + + mTest->setAlbumArtUri( albumArtUri ); + QCOMPARE( spy.count(), 0 ); + + mTest->mThumbnailManager->mGetThumbFails = true; + mTest->setAlbumArtUri( albumArtUri ); + QCOMPARE( spy.count(), 1 ); + QCOMPARE( mTest->mAlbumArt, mTest->mDefaultAlbumArt ); + + mTest->setAlbumArtUri( albumArtUriEmpty ); + QCOMPARE( spy.count(), 2 ); + QCOMPARE( mTest->mAlbumArt, mTest->mDefaultAlbumArt ); +} + +/*! + Test thumbnailReady()() + */ +void TestMpSongData::testThumbnailReady() +{ + connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)), + mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) ); + + QSignalSpy spy(mTest, SIGNAL(albumArtReady())); + QVERIFY( spy.isValid() ); + QCOMPARE( spy.count(), 0 ); + + QPixmap dummyAlbumArt(":/playbackviewicons/someAlbumArt.png" ); + + emit thumbnailReady(dummyAlbumArt, 0, -1, 0); + QCOMPARE( spy.count(), 1 ); + HbIcon dummyAlbumArtCompare; + mTest->albumArt(dummyAlbumArtCompare); + QCOMPARE( dummyAlbumArtCompare.isNull(), false ); + + emit thumbnailReady(dummyAlbumArt, 0, -1 , 1); + QCOMPARE( spy.count(), 2 ); + mTest->albumArt(dummyAlbumArtCompare); + QCOMPARE( dummyAlbumArtCompare.isNull(), false ); + +} + + +/*! + Test commitPlaybackInfo() + */ +void TestMpSongData::testCommitPlaybackInfo() + { + QSignalSpy spy( mTest, SIGNAL( playbackInfoChanged() ) ); + + QVERIFY( spy.isValid() ); + QCOMPARE( spy.count(), 0 ); + + mTest->commitPlaybackInfo(); + QCOMPARE( spy.count(), 1 ); + + } + +/*! + Test commitSongDetailInfo() + */ +void TestMpSongData::testCommitSongDetailInfo() + { + QSignalSpy spy( mTest, SIGNAL( songDetailInfoChanged() ) ); + + QVERIFY( spy.isValid() ); + QCOMPARE( spy.count(), 0 ); + + mTest->commitSongDetailInfo(); + QCOMPARE( spy.count(), 1 ); + + } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,128 @@ +/* +* 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: ThumbnailManager stub for testing MpSongData +* +*/ + +#ifndef THUMBNAILMANAGER_QT_H_ +#define THUMBNAILMANAGER_QT_H_ +#include +#include + + +/** default priority value */ +const int tnmWrapperPriorityIdle = -100; + +class ThumbnailManager : public QObject + { + Q_OBJECT + +public: + + + /** Thumbnail size. */ + enum ThumbnailSize + { + /** + * Small thumbnail + */ + ThumbnailSmall = 0, + /** + * Medium thumbnail + */ + ThumbnailMedium, + /** + * Large thumbnail + */ + ThumbnailLarge + }; + + /** Mode of thumbnail creation. */ + enum ThumbnailMode + { + /** + * Default mode. This means that: + * - Thumbnail must be as large as requested (unless the actual object is smaller). + * - Smaller thumbnails may be up scaled to desired resolution. + * - Aspect ratio is maintained and thumbnails are not cropped. The + * resulting thumbnail may smaller in either width or height if + * the aspect ratio of the object does not match the aspect ratio + * of the requested size. + */ + Default = 0, + + /** + * Allow thumbnails which are smaller than requested are. Thumbnail + * bitmaps are never up scaled if this flag is set. + */ + AllowAnySize = 1, + + /** + * New thumbnail images are not created if this flag is set. Only + * existing thumbnails may be returned. If a requested thumbnail does + * not exist null pixmap will be returned. + */ + DoNotCreate = 2, + + /** + * Thumbnail images are cropped to match requested aspect ratio. If + * this mode is set, the size of the resulting thumbnail always + * matches the requested size. + */ + CropToAspectRatio = 4 + }; + + /** Quality versus speed preference setting */ + enum QualityPreference + { + /** + * Prefer thumbnails in the highest quality possible disregarding + * any negative impact on performance. + */ + OptimizeForQuality, + + /** + * Get thumbnails as fast as possible, even if + * it means lower quality. + */ + OptimizeForPerformance + }; + + // Test utility functions + static int getInitCounter(); + static void resetInitCounter(); + + // Stub functions + ThumbnailManager( QObject* parentPtr = NULL ); + virtual ~ThumbnailManager(); + bool setMode( ThumbnailMode mode ); + bool setQualityPreference( QualityPreference qualityPreference ); + bool setThumbnailSize( ThumbnailSize thumbnailSize ); + int getThumbnail( const QString& fileName, void * clientData = NULL, + int priority = tnmWrapperPriorityIdle ); + bool cancelRequest( int id ); + +signals: + + void thumbnailReady( QPixmap , void * , int , int ); + +public: + + bool mGetThumbFails; + int mThumbnailReqCounter; + int mCancelCounter; + +}; + +#endif /* THUMBNAILMANAGER_QT_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,120 @@ +/* +* 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: ThumbnailManager stub for testing MpSongData +* +*/ +#include +#include "stub/inc/thumbnailmanager_qt.h" + +int gInitCounter = 0; + +/*! + Returns gInitCounter. + gInitCounter counts the number of constructor/destructor calls. + */ +int ThumbnailManager::getInitCounter() +{ + return gInitCounter; +} + +/*! + Resets gInitCounter to zero. + */ +void ThumbnailManager::resetInitCounter() +{ + gInitCounter = 0; +} + +/*! + Stub function. + */ +ThumbnailManager::ThumbnailManager( QObject* parentPtr ) : +QObject( parentPtr ), +mGetThumbFails(false), +mThumbnailReqCounter(0), +mCancelCounter(0) +{ + gInitCounter++; +} + +/*! + Stub function. + */ +ThumbnailManager::~ThumbnailManager() +{ + gInitCounter--; +} + +/*! + Stub function. + */ +bool ThumbnailManager::setMode( ThumbnailMode mode ) +{ + Q_UNUSED(mode); + return true; +} + +/*! + Stub function. + */ +bool ThumbnailManager::setQualityPreference( QualityPreference + qualityPreference ) +{ + Q_UNUSED(qualityPreference); + return true; +} + +/*! + Stub function. + */ +bool ThumbnailManager::setThumbnailSize( ThumbnailSize thumbnailSize ) +{ + Q_UNUSED(thumbnailSize); + return true; +} + +/*! + Stub function. + */ +int ThumbnailManager::getThumbnail( const QString& fileName, void *clientData, + int priority ) +{ + Q_UNUSED(fileName); + Q_UNUSED(priority); + + if (clientData) { + // Delete this to prevent memory leak + int *data = (int *)clientData; + delete data; + + data = 0; + } + + if ( mGetThumbFails ) { + return -1; + } + + mThumbnailReqCounter++; + return mThumbnailReqCounter; +} + +/*! + Stub function. + */ +bool ThumbnailManager::cancelRequest( int id ) +{ + Q_UNUSED(id); + mCancelCounter++; + return true; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpdata/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpdata/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,40 @@ +# +# 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: +# + +TEMPLATE = app +CONFIG += qtestlib \ + symbian_test \ + hb + +TARGET = +DEPENDPATH += . +INCLUDEPATH += ./stub/inc \ + ../../../inc + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +DEFINES += BUILD_MPDATA_LIB +LIBS += -lmpxviewframeworkqt.dll + +# Input +HEADERS += inc/unittest_mpsongdata.h \ + ../../../inc/mpsongdata.h \ + stub/inc/thumbnailmanager_qt.h + +SOURCES += src/unittest_mpsongdata.cpp \ + ../../src/mpsongdata.cpp \ + stub/src/thumbnailmanager_qt.cpp + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/bwins/mpengineu.def --- a/mpengine/bwins/mpengineu.def Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/bwins/mpengineu.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,67 +1,131 @@ EXPORTS - ?releaseIsolatedCollection@MpEngine@@QAEXXZ @ 1 NONAME ; void MpEngine::releaseIsolatedCollection(void) - ?metaObject@MpEngine@@UBEPBUQMetaObject@@XZ @ 2 NONAME ; struct QMetaObject const * MpEngine::metaObject(void) const - ?refreshLibrary@MpEngine@@QAEXXZ @ 3 NONAME ; void MpEngine::refreshLibrary(void) - ?launchBlockingNote@MpEngine@@AAEXXZ @ 4 NONAME ; void MpEngine::launchBlockingNote(void) - ?playEmbedded@MpEngine@@QAEXVQString@@@Z @ 5 NONAME ; void MpEngine::playEmbedded(class QString) - ?tr@MpEngine@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString MpEngine::tr(char const *, char const *) - ?setPosition@MpEngine@@QAEXH@Z @ 7 NONAME ; void MpEngine::setPosition(int) - ?saveToCurrentPlaylist@MpEngine@@QAEXAAV?$QList@H@@PAVMpMpxCollectionData@@@Z @ 8 NONAME ; void MpEngine::saveToCurrentPlaylist(class QList &, class MpMpxCollectionData *) - ?getStaticMetaObject@MpEngine@@SAABUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const & MpEngine::getStaticMetaObject(void) - ?renamePlaylist@MpEngine@@QAEXAAVQString@@@Z @ 10 NONAME ; void MpEngine::renamePlaylist(class QString &) - ?libraryUpdated@MpEngine@@IAEXXZ @ 11 NONAME ; void MpEngine::libraryUpdated(void) - ?setRepeat@MpEngine@@QAEX_N@Z @ 12 NONAME ; void MpEngine::setRepeat(bool) - ?collectionData@MpEngine@@QAEPAVMpMpxCollectionData@@XZ @ 13 NONAME ; class MpMpxCollectionData * MpEngine::collectionData(void) - ?createPlaylist@MpEngine@@QAEXAAVQString@@AAV?$QList@H@@PAVMpMpxCollectionData@@@Z @ 14 NONAME ; void MpEngine::createPlaylist(class QString &, class QList &, class MpMpxCollectionData *) - ?collectionPlaylistOpened@MpEngine@@IAEXXZ @ 15 NONAME ; void MpEngine::collectionPlaylistOpened(void) - ?playlistsRenamed@MpEngine@@IAEX_N@Z @ 16 NONAME ; void MpEngine::playlistsRenamed(bool) - ?playPause@MpEngine@@QAEXXZ @ 17 NONAME ; void MpEngine::playPause(void) - ?checkForSystemEvents@MpEngine@@QAEXXZ @ 18 NONAME ; void MpEngine::checkForSystemEvents(void) - ?renamePlaylist@MpEngine@@QAEXAAVQString@@H@Z @ 19 NONAME ; void MpEngine::renamePlaylist(class QString &, int) - ?handleUsbMtpEndEvent@MpEngine@@AAEXXZ @ 20 NONAME ; void MpEngine::handleUsbMtpEndEvent(void) - ?playEmbedded@MpEngine@@QAEXABVXQSharableFile@@@Z @ 21 NONAME ; void MpEngine::playEmbedded(class XQSharableFile const &) - ?skipForward@MpEngine@@QAEXXZ @ 22 NONAME ; void MpEngine::skipForward(void) - ?staticMetaObject@MpEngine@@2UQMetaObject@@B @ 23 NONAME ; struct QMetaObject const MpEngine::staticMetaObject - ?setShuffle@MpEngine@@QAEX_N@Z @ 24 NONAME ; void MpEngine::setShuffle(bool) - ?openIsolatedCollection@MpEngine@@QAEXW4TCollectionContext@@@Z @ 25 NONAME ; void MpEngine::openIsolatedCollection(enum TCollectionContext) - ?handleUsbMtpStartEvent@MpEngine@@AAEXXZ @ 26 NONAME ; void MpEngine::handleUsbMtpStartEvent(void) - ?instance@MpEngine@@SAPAV1@XZ @ 27 NONAME ; class MpEngine * MpEngine::instance(void) - ?openCollectionItem@MpEngine@@QAEXH@Z @ 28 NONAME ; void MpEngine::openCollectionItem(int) - ?qt_metacall@MpEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 29 NONAME ; int MpEngine::qt_metacall(enum QMetaObject::Call, int, void * *) - ?playlistSaved@MpEngine@@IAEX_N@Z @ 30 NONAME ; void MpEngine::playlistSaved(bool) - ?handleScanStarted@MpEngine@@QAEXXZ @ 31 NONAME ; void MpEngine::handleScanStarted(void) - ?initialize@MpEngine@@QAEXW4MpViewMode@MpCommon@@VTUid@@@Z @ 32 NONAME ; void MpEngine::initialize(enum MpCommon::MpViewMode, class TUid) - ?playbackData@MpEngine@@QAEPAVMpPlaybackData@@XZ @ 33 NONAME ; class MpPlaybackData * MpEngine::playbackData(void) - ?handleOutstandingNoteClosing@MpEngine@@QAEXXZ @ 34 NONAME ; void MpEngine::handleOutstandingNoteClosing(void) - ?stop@MpEngine@@QAEXXZ @ 35 NONAME ; void MpEngine::stop(void) - ?setOutstandingPopup@MpEngine@@AAEXPAVHbPopup@@@Z @ 36 NONAME ; void MpEngine::setOutstandingPopup(class HbPopup *) - ?back@MpEngine@@QAEXXZ @ 37 NONAME ; void MpEngine::back(void) - ?libraryAboutToUpdate@MpEngine@@IAEXXZ @ 38 NONAME ; void MpEngine::libraryAboutToUpdate(void) - ?openCollection@MpEngine@@QAEXW4TCollectionContext@@@Z @ 39 NONAME ; void MpEngine::openCollection(enum TCollectionContext) - ?trUtf8@MpEngine@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString MpEngine::trUtf8(char const *, char const *, int) - ?reopenCollection@MpEngine@@QAEXXZ @ 41 NONAME ; void MpEngine::reopenCollection(void) - ?handleUsbEvent@MpEngine@@QAEXW4MpxUsbEvents@@@Z @ 42 NONAME ; void MpEngine::handleUsbEvent(enum MpxUsbEvents) - ?songsDeleted@MpEngine@@IAEX_N@Z @ 43 NONAME ; void MpEngine::songsDeleted(bool) - ?handleUsbMassStorageStartEvent@MpEngine@@AAEXXZ @ 44 NONAME ; void MpEngine::handleUsbMassStorageStartEvent(void) - ?qt_metacast@MpEngine@@UAEPAXPBD@Z @ 45 NONAME ; void * MpEngine::qt_metacast(char const *) - ?handleDiskEvent@MpEngine@@QAEXW4MpxDiskEvents@@@Z @ 46 NONAME ; void MpEngine::handleDiskEvent(enum MpxDiskEvents) - ?verifyUsbBlocking@MpEngine@@QAE_N_N@Z @ 47 NONAME ; bool MpEngine::verifyUsbBlocking(bool) - ?saveToPlaylist@MpEngine@@QAEXHAAV?$QList@H@@@Z @ 48 NONAME ; void MpEngine::saveToPlaylist(int, class QList &) - ?handleUsbMassStorageEndEvent@MpEngine@@AAEXXZ @ 49 NONAME ; void MpEngine::handleUsbMassStorageEndEvent(void) - ?usbBlocked@MpEngine@@IAEX_N@Z @ 50 NONAME ; void MpEngine::usbBlocked(bool) - ??0MpEngine@@AAE@XZ @ 51 NONAME ; MpEngine::MpEngine(void) - ?handleUsbMtpNotActive@MpEngine@@AAEXXZ @ 52 NONAME ; void MpEngine::handleUsbMtpNotActive(void) - ?tr@MpEngine@@SA?AVQString@@PBD0H@Z @ 53 NONAME ; class QString MpEngine::tr(char const *, char const *, int) - ?trUtf8@MpEngine@@SA?AVQString@@PBD0@Z @ 54 NONAME ; class QString MpEngine::trUtf8(char const *, char const *) - ?findPlaylists@MpEngine@@QAEXAAVQStringList@@@Z @ 55 NONAME ; void MpEngine::findPlaylists(class QStringList &) - ?close@MpEngine@@QAEXXZ @ 56 NONAME ; void MpEngine::close(void) - ?isolatedCollectionOpened@MpEngine@@IAEXPAVMpMpxCollectionData@@@Z @ 57 NONAME ; void MpEngine::isolatedCollectionOpened(class MpMpxCollectionData *) - ?handleScanEnded@MpEngine@@QAEXHH@Z @ 58 NONAME ; void MpEngine::handleScanEnded(int, int) - ?previewItem@MpEngine@@QAEXH@Z @ 59 NONAME ; void MpEngine::previewItem(int) - ?skipBackward@MpEngine@@QAEXXZ @ 60 NONAME ; void MpEngine::skipBackward(void) - ??1MpEngine@@UAE@XZ @ 61 NONAME ; MpEngine::~MpEngine(void) - ??_EMpEngine@@UAE@I@Z @ 62 NONAME ; MpEngine::~MpEngine(unsigned int) - ?changeUsbBlockingState@MpEngine@@AAEXW4UsbBlockingState@1@@Z @ 63 NONAME ; void MpEngine::changeUsbBlockingState(enum MpEngine::UsbBlockingState) - ?deleteSongs@MpEngine@@QAEXAAV?$QList@H@@@Z @ 64 NONAME ; void MpEngine::deleteSongs(class QList &) - ?reorderPlaylist@MpEngine@@QAEXHHHH@Z @ 65 NONAME ; void MpEngine::reorderPlaylist(int, int, int, int) + ?instance@MpEngineFactory@@SAPAV1@XZ @ 1 NONAME ; class MpEngineFactory * MpEngineFactory::instance(void) + ?saveToCurrentPlaylist@MpEngine@@QAEXAAV?$QList@H@@PAVMpMpxCollectionData@@@Z @ 2 NONAME ; void MpEngine::saveToCurrentPlaylist(class QList &, class MpMpxCollectionData *) + ?handleDeleteStarted@MpEngine@@QAEXW4TCollectionContext@@H@Z @ 3 NONAME ; void MpEngine::handleDeleteStarted(enum TCollectionContext, int) + ?collectionData@MpEngine@@QAEPAVMpMpxCollectionData@@XZ @ 4 NONAME ; class MpMpxCollectionData * MpEngine::collectionData(void) + ?createPlaylist@MpEngine@@QAEXAAVQString@@AAV?$QList@H@@PAVMpMpxCollectionData@@@Z @ 5 NONAME ; void MpEngine::createPlaylist(class QString &, class QList &, class MpMpxCollectionData *) + ?collectionPlaylistOpened@MpEngine@@IAEXXZ @ 6 NONAME ; void MpEngine::collectionPlaylistOpened(void) + ?renamePlaylist@MpEngine@@QAEXAAVQString@@H@Z @ 7 NONAME ; void MpEngine::renamePlaylist(class QString &, int) + ?scanCountChanged@MpSongScanner@@IAEXH@Z @ 8 NONAME ; void MpSongScanner::scanCountChanged(int) + ?handleUsbMtpEndEvent@MpEngine@@AAEXXZ @ 9 NONAME ; void MpEngine::handleUsbMtpEndEvent(void) + ?setBalance@MpEngine@@QAEXH@Z @ 10 NONAME ; void MpEngine::setBalance(int) + ?playAlbumSongs@MpEngine@@QAEXHHPAVMpMpxCollectionData@@@Z @ 11 NONAME ; void MpEngine::playAlbumSongs(int, int, class MpMpxCollectionData *) + ?setShuffle@MpEngine@@QAEX_N@Z @ 12 NONAME ; void MpEngine::setShuffle(bool) + ?openIsolatedCollection@MpEngine@@QAEXW4TCollectionContext@@@Z @ 13 NONAME ; void MpEngine::openIsolatedCollection(enum TCollectionContext) + ?usbSynchronizationFinished@MpEngine@@IAEXXZ @ 14 NONAME ; void MpEngine::usbSynchronizationFinished(void) + ?qt_metacall@MpEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int MpEngine::qt_metacall(enum QMetaObject::Call, int, void * *) + ?playlistSaved@MpEngine@@IAEX_N@Z @ 16 NONAME ; void MpEngine::playlistSaved(bool) + ?playbackData@MpEngine@@QAEPAVMpPlaybackData@@XZ @ 17 NONAME ; class MpPlaybackData * MpEngine::playbackData(void) + ?stop@MpEngine@@QAEXXZ @ 18 NONAME ; void MpEngine::stop(void) + ?retrieveSong@MpEngine@@QAEXXZ @ 19 NONAME ; void MpEngine::retrieveSong(void) + ?scan@MpSongScanner@@QAEX_N@Z @ 20 NONAME ; void MpSongScanner::scan(bool) + ?openCollection@MpEngine@@QAEXW4TCollectionContext@@@Z @ 21 NONAME ; void MpEngine::openCollection(enum TCollectionContext) + ??0MpEngineFactory@@AAE@XZ @ 22 NONAME ; MpEngineFactory::MpEngineFactory(void) + ?libraryRefreshNeeded@MpEngine@@IAEXXZ @ 23 NONAME ; void MpEngine::libraryRefreshNeeded(void) + ?handleDiskEvent@MpSongScanner@@QAEXW4MpxDiskEvents@@@Z @ 24 NONAME ; void MpSongScanner::handleDiskEvent(enum MpxDiskEvents) + ?tr@MpEngine@@SA?AVQString@@PBD0H@Z @ 25 NONAME ; class QString MpEngine::tr(char const *, char const *, int) + ?trUtf8@MpEngine@@SA?AVQString@@PBD0@Z @ 26 NONAME ; class QString MpEngine::trUtf8(char const *, char const *) + ?presetNames@MpEngine@@QAE?AVQStringList@@XZ @ 27 NONAME ; class QStringList MpEngine::presetNames(void) + ?previewItem@MpEngine@@QAEXH@Z @ 28 NONAME ; void MpEngine::previewItem(int) + ??1MpSongScanner@@UAE@XZ @ 29 NONAME ; MpSongScanner::~MpSongScanner(void) + ?loudness@MpEngine@@QAE_NXZ @ 30 NONAME ; bool MpEngine::loudness(void) + ?deleteSongs@MpEngine@@QAEXAAV?$QList@H@@@Z @ 31 NONAME ; void MpEngine::deleteSongs(class QList &) + ?releaseIsolatedCollection@MpEngine@@QAEXXZ @ 32 NONAME ; void MpEngine::releaseIsolatedCollection(void) + ?deleteStarted@MpEngine@@IAEXW4TCollectionContext@@H@Z @ 33 NONAME ; void MpEngine::deleteStarted(enum TCollectionContext, int) + ?stopSeeking@MpEngine@@QAEXXZ @ 34 NONAME ; void MpEngine::stopSeeking(void) + ?initialize@MpEngine@@AAEXVTUid@@W4EngineMode@1@@Z @ 35 NONAME ; void MpEngine::initialize(class TUid, enum MpEngine::EngineMode) + ?tr@MpEngine@@SA?AVQString@@PBD0@Z @ 36 NONAME ; class QString MpEngine::tr(char const *, char const *) + ?disableEqualizer@MpEngine@@QAEXXZ @ 37 NONAME ; void MpEngine::disableEqualizer(void) + ?getStaticMetaObject@MpEngine@@SAABUQMetaObject@@XZ @ 38 NONAME ; struct QMetaObject const & MpEngine::getStaticMetaObject(void) + ?qt_metacast@MpEngineFactory@@UAEPAXPBD@Z @ 39 NONAME ; void * MpEngineFactory::qt_metacast(char const *) + ?libraryUpdated@MpEngine@@IAEXXZ @ 40 NONAME ; void MpEngine::libraryUpdated(void) + ??0MpSongScanner@@QAE@PAVMpMpxHarvesterFrameworkWrapper@@PAVQObject@@@Z @ 41 NONAME ; MpSongScanner::MpSongScanner(class MpMpxHarvesterFrameworkWrapper *, class QObject *) + ?checkForSystemEvents@MpEngine@@QAEXXZ @ 42 NONAME ; void MpEngine::checkForSystemEvents(void) + ?applyPreset@MpEngine@@QAEXH@Z @ 43 NONAME ; void MpEngine::applyPreset(int) + ?trUtf8@MpEngineFactory@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString MpEngineFactory::trUtf8(char const *, char const *, int) + ?staticMetaObject@MpEngine@@2UQMetaObject@@B @ 45 NONAME ; struct QMetaObject const MpEngine::staticMetaObject + ?scanStarted@MpSongScanner@@IAEXXZ @ 46 NONAME ; void MpSongScanner::scanStarted(void) + ?unableToCotinueDueUSB@MpEngine@@IAEXXZ @ 47 NONAME ; void MpEngine::unableToCotinueDueUSB(void) + ?openCollectionItem@MpEngine@@QAEXH@Z @ 48 NONAME ; void MpEngine::openCollectionItem(int) + ?handleScanStarted@MpEngine@@QAEXXZ @ 49 NONAME ; void MpEngine::handleScanStarted(void) + ?back@MpEngine@@QAEXXZ @ 50 NONAME ; void MpEngine::back(void) + ?tr@MpSongScanner@@SA?AVQString@@PBD0H@Z @ 51 NONAME ; class QString MpSongScanner::tr(char const *, char const *, int) + ?songScanner@MpEngine@@QAEPAVMpSongScanner@@XZ @ 52 NONAME ; class MpSongScanner * MpEngine::songScanner(void) + ?handleUsbMassStorageStartEvent@MpEngine@@AAEXXZ @ 53 NONAME ; void MpEngine::handleUsbMassStorageStartEvent(void) + ?saveActivityData@MpEngine@@QAEXAAVQByteArray@@@Z @ 54 NONAME ; void MpEngine::saveActivityData(class QByteArray &) + ?handleDeleteEnded@MpEngine@@QAEX_N@Z @ 55 NONAME ; void MpEngine::handleDeleteEnded(bool) + ?handleDiskEvent@MpEngine@@QAEXW4MpxDiskEvents@@@Z @ 56 NONAME ; void MpEngine::handleDiskEvent(enum MpxDiskEvents) + ?verifyUsbBlocking@MpEngine@@QAE_N_N@Z @ 57 NONAME ; bool MpEngine::verifyUsbBlocking(bool) + ?usbSynchronizationStarted@MpEngine@@IAEXXZ @ 58 NONAME ; void MpEngine::usbSynchronizationStarted(void) + ?handleUsbMassStorageEndEvent@MpEngine@@AAEXXZ @ 59 NONAME ; void MpEngine::handleUsbMassStorageEndEvent(void) + ?getStaticMetaObject@MpSongScanner@@SAABUQMetaObject@@XZ @ 60 NONAME ; struct QMetaObject const & MpSongScanner::getStaticMetaObject(void) + ?getStaticMetaObject@MpEngineFactory@@SAABUQMetaObject@@XZ @ 61 NONAME ; struct QMetaObject const & MpEngineFactory::getStaticMetaObject(void) + ??0MpEngine@@AAE@XZ @ 62 NONAME ; MpEngine::MpEngine(void) + ?isolatedCollectionOpened@MpEngine@@IAEXPAVMpMpxCollectionData@@@Z @ 63 NONAME ; void MpEngine::isolatedCollectionOpened(class MpMpxCollectionData *) + ?aboutToAddSongs@MpEngine@@IAEXH@Z @ 64 NONAME ; void MpEngine::aboutToAddSongs(int) + ??1MpEngine@@UAE@XZ @ 65 NONAME ; MpEngine::~MpEngine(void) + ?changeUsbBlockingState@MpEngine@@AAEXW4UsbBlockingState@1@@Z @ 66 NONAME ; void MpEngine::changeUsbBlockingState(enum MpEngine::UsbBlockingState) + ?metaObject@MpEngine@@UBEPBUQMetaObject@@XZ @ 67 NONAME ; struct QMetaObject const * MpEngine::metaObject(void) const + ??_EMpSongScanner@@UAE@I@Z @ 68 NONAME ; MpSongScanner::~MpSongScanner(unsigned int) + ?createIsolatedEngine@MpEngineFactory@@SAPAVMpEngine@@W4EngineMode@2@@Z @ 69 NONAME ; class MpEngine * MpEngineFactory::createIsolatedEngine(enum MpEngine::EngineMode) + ?equalizerReady@MpEngine@@IAEXXZ @ 70 NONAME ; void MpEngine::equalizerReady(void) + ?findAlbumSongs@MpEngine@@QAEXH@Z @ 71 NONAME ; void MpEngine::findAlbumSongs(int) + ?setPosition@MpEngine@@QAEXH@Z @ 72 NONAME ; void MpEngine::setPosition(int) + ?metaObject@MpEngineFactory@@UBEPBUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const * MpEngineFactory::metaObject(void) const + ?handleEqualizerReady@MpEngine@@QAEXXZ @ 74 NONAME ; void MpEngine::handleEqualizerReady(void) + ?tr@MpSongScanner@@SA?AVQString@@PBD0@Z @ 75 NONAME ; class QString MpSongScanner::tr(char const *, char const *) + ??_EMpEngineFactory@@UAE@I@Z @ 76 NONAME ; MpEngineFactory::~MpEngineFactory(unsigned int) + ?skipForward@MpEngine@@QAEXXZ @ 77 NONAME ; void MpEngine::skipForward(void) + ?songData@MpEngine@@QAEPAVMpSongData@@XZ @ 78 NONAME ; class MpSongData * MpEngine::songData(void) + ?trUtf8@MpSongScanner@@SA?AVQString@@PBD0H@Z @ 79 NONAME ; class QString MpSongScanner::trUtf8(char const *, char const *, int) + ?close@MpEngineFactory@@SAXXZ @ 80 NONAME ; void MpEngineFactory::close(void) + ?libraryAboutToUpdate@MpEngine@@IAEXXZ @ 81 NONAME ; void MpEngine::libraryAboutToUpdate(void) + ?reopenCollection@MpEngine@@QAEXXZ @ 82 NONAME ; void MpEngine::reopenCollection(void) + ?trUtf8@MpEngine@@SA?AVQString@@PBD0H@Z @ 83 NONAME ; class QString MpEngine::trUtf8(char const *, char const *, int) + ?songsDeleted@MpEngine@@IAEX_N@Z @ 84 NONAME ; void MpEngine::songsDeleted(bool) + ?refreshLibrary@MpEngine@@QAEX_N@Z @ 85 NONAME ; void MpEngine::refreshLibrary(bool) + ?qt_metacast@MpEngine@@UAEPAXPBD@Z @ 86 NONAME ; void * MpEngine::qt_metacast(char const *) + ?startSeekForward@MpEngine@@QAEXXZ @ 87 NONAME ; void MpEngine::startSeekForward(void) + ?saveToPlaylist@MpEngine@@QAEXHAAV?$QList@H@@@Z @ 88 NONAME ; void MpEngine::saveToPlaylist(int, class QList &) + ?qt_metacall@MpEngineFactory@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 89 NONAME ; int MpEngineFactory::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_metacall@MpSongScanner@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 90 NONAME ; int MpSongScanner::qt_metacall(enum QMetaObject::Call, int, void * *) + ?tr@MpEngineFactory@@SA?AVQString@@PBD0H@Z @ 91 NONAME ; class QString MpEngineFactory::tr(char const *, char const *, int) + ?findPlaylists@MpEngine@@QAEXAAVQStringList@@@Z @ 92 NONAME ; void MpEngine::findPlaylists(class QStringList &) + ?isAutomaticScan@MpSongScanner@@QAE_NXZ @ 93 NONAME ; bool MpSongScanner::isAutomaticScan(void) + ??1MpEngineFactory@@UAE@XZ @ 94 NONAME ; MpEngineFactory::~MpEngineFactory(void) + ?staticMetaObject@MpEngineFactory@@2UQMetaObject@@B @ 95 NONAME ; struct QMetaObject const MpEngineFactory::staticMetaObject + ?playEmbedded@MpEngine@@QAEXVQString@@@Z @ 96 NONAME ; void MpEngine::playEmbedded(class QString) + ?shuffleAll@MpEngine@@QAEXXZ @ 97 NONAME ; void MpEngine::shuffleAll(void) + ?metaObject@MpSongScanner@@UBEPBUQMetaObject@@XZ @ 98 NONAME ; struct QMetaObject const * MpSongScanner::metaObject(void) const + ?renamePlaylist@MpEngine@@QAEXAAVQString@@@Z @ 99 NONAME ; void MpEngine::renamePlaylist(class QString &) + ?setRepeat@MpEngine@@QAEX_N@Z @ 100 NONAME ; void MpEngine::setRepeat(bool) + ?cancelCollectionRequest@MpEngine@@QAEXXZ @ 101 NONAME ; void MpEngine::cancelCollectionRequest(void) + ?trUtf8@MpEngineFactory@@SA?AVQString@@PBD0@Z @ 102 NONAME ; class QString MpEngineFactory::trUtf8(char const *, char const *) + ?containerContentsChanged@MpEngine@@IAEXXZ @ 103 NONAME ; void MpEngine::containerContentsChanged(void) + ?playPause@MpEngine@@QAEXXZ @ 104 NONAME ; void MpEngine::playPause(void) + ?playlistsRenamed@MpEngine@@IAEX_N@Z @ 105 NONAME ; void MpEngine::playlistsRenamed(bool) + ?startSeekBackward@MpEngine@@QAEXXZ @ 106 NONAME ; void MpEngine::startSeekBackward(void) + ?tr@MpEngineFactory@@SA?AVQString@@PBD0@Z @ 107 NONAME ; class QString MpEngineFactory::tr(char const *, char const *) + ?playEmbedded@MpEngine@@QAEXABVXQSharableFile@@@Z @ 108 NONAME ; void MpEngine::playEmbedded(class XQSharableFile const &) + ?handleUsbMtpStartEvent@MpEngine@@AAEXXZ @ 109 NONAME ; void MpEngine::handleUsbMtpStartEvent(void) + ?cancelScan@MpSongScanner@@QAEXXZ @ 110 NONAME ; void MpSongScanner::cancelScan(void) + ?trUtf8@MpSongScanner@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString MpSongScanner::trUtf8(char const *, char const *) + ?activePreset@MpEngine@@QAEHXZ @ 112 NONAME ; int MpEngine::activePreset(void) + ?handleUsbEvent@MpEngine@@QAEXW4MpxUsbEvents@@@Z @ 113 NONAME ; void MpEngine::handleUsbEvent(enum MpxUsbEvents) + ?loadActivityData@MpEngine@@QAEXABVQByteArray@@@Z @ 114 NONAME ; void MpEngine::loadActivityData(class QByteArray const &) + ?sharedEngine@MpEngineFactory@@SAPAVMpEngine@@XZ @ 115 NONAME ; class MpEngine * MpEngineFactory::sharedEngine(void) + ?balance@MpEngine@@QAEHXZ @ 116 NONAME ; int MpEngine::balance(void) + ?createSharedEngine@MpEngineFactory@@SAPAVMpEngine@@VTUid@@W4EngineMode@2@@Z @ 117 NONAME ; class MpEngine * MpEngineFactory::createSharedEngine(class TUid, enum MpEngine::EngineMode) + ?handleUsbMtpNotActive@MpEngine@@AAEXXZ @ 118 NONAME ; void MpEngine::handleUsbMtpNotActive(void) + ?restorePathFailed@MpEngine@@IAEXXZ @ 119 NONAME ; void MpEngine::restorePathFailed(void) + ?usbBlocked@MpEngine@@IAEX_N@Z @ 120 NONAME ; void MpEngine::usbBlocked(bool) + ?handleScanEnded@MpSongScanner@@QAEXHH@Z @ 121 NONAME ; void MpSongScanner::handleScanEnded(int, int) + ?staticMetaObject@MpSongScanner@@2UQMetaObject@@B @ 122 NONAME ; struct QMetaObject const MpSongScanner::staticMetaObject + ?handleScanEnded@MpEngine@@QAEXHH@Z @ 123 NONAME ; void MpEngine::handleScanEnded(int, int) + ??_EMpEngine@@UAE@I@Z @ 124 NONAME ; MpEngine::~MpEngine(unsigned int) + ?skipBackward@MpEngine@@QAEXXZ @ 125 NONAME ; void MpEngine::skipBackward(void) + ?qt_metacast@MpSongScanner@@UAEPAXPBD@Z @ 126 NONAME ; void * MpSongScanner::qt_metacast(char const *) + ?reorderPlaylist@MpEngine@@QAEXHHHH@Z @ 127 NONAME ; void MpEngine::reorderPlaylist(int, int, int, int) + ?scanFinished@MpSongScanner@@IAEXHH@Z @ 128 NONAME ; void MpSongScanner::scanFinished(int, int) + ?setLoudness@MpEngine@@QAEX_N@Z @ 129 NONAME ; void MpEngine::setLoudness(bool) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/eabi/mpengineu.def --- a/mpengine/eabi/mpengineu.def Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/eabi/mpengineu.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,67 +1,131 @@ EXPORTS - _ZN8MpEngine10initializeEN8MpCommon10MpViewModeE4TUid @ 1 NONAME - _ZN8MpEngine10setShuffleEb @ 2 NONAME - _ZN8MpEngine10usbBlockedEb @ 3 NONAME - _ZN8MpEngine11deleteSongsER5QListIiE @ 4 NONAME - _ZN8MpEngine11previewItemEi @ 5 NONAME - _ZN8MpEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 6 NONAME - _ZN8MpEngine11qt_metacastEPKc @ 7 NONAME - _ZN8MpEngine11setPositionEi @ 8 NONAME - _ZN8MpEngine11skipForwardEv @ 9 NONAME - _ZN8MpEngine12playEmbeddedE7QString @ 10 NONAME - _ZN8MpEngine12playEmbeddedERK14XQSharableFile @ 11 NONAME - _ZN8MpEngine12playbackDataEv @ 12 NONAME - _ZN8MpEngine12skipBackwardEv @ 13 NONAME - _ZN8MpEngine12songsDeletedEb @ 14 NONAME - _ZN8MpEngine13findPlaylistsER11QStringList @ 15 NONAME - _ZN8MpEngine13playlistSavedEb @ 16 NONAME - _ZN8MpEngine14collectionDataEv @ 17 NONAME - _ZN8MpEngine14createPlaylistER7QStringR5QListIiEP19MpMpxCollectionData @ 18 NONAME - _ZN8MpEngine14handleUsbEventE12MpxUsbEvents @ 19 NONAME - _ZN8MpEngine14libraryUpdatedEv @ 20 NONAME - _ZN8MpEngine14openCollectionE18TCollectionContext @ 21 NONAME - _ZN8MpEngine14refreshLibraryEv @ 22 NONAME - _ZN8MpEngine14renamePlaylistER7QString @ 23 NONAME - _ZN8MpEngine14renamePlaylistER7QStringi @ 24 NONAME - _ZN8MpEngine14saveToPlaylistEiR5QListIiE @ 25 NONAME - _ZN8MpEngine15handleDiskEventE13MpxDiskEvents @ 26 NONAME - _ZN8MpEngine15handleScanEndedEii @ 27 NONAME - _ZN8MpEngine15reorderPlaylistEiiii @ 28 NONAME - _ZN8MpEngine16playlistsRenamedEb @ 29 NONAME - _ZN8MpEngine16reopenCollectionEv @ 30 NONAME - _ZN8MpEngine16staticMetaObjectE @ 31 NONAME DATA 16 - _ZN8MpEngine17handleScanStartedEv @ 32 NONAME - _ZN8MpEngine17verifyUsbBlockingEb @ 33 NONAME - _ZN8MpEngine18launchBlockingNoteEv @ 34 NONAME - _ZN8MpEngine18openCollectionItemEi @ 35 NONAME - _ZN8MpEngine19getStaticMetaObjectEv @ 36 NONAME - _ZN8MpEngine19setOutstandingPopupEP7HbPopup @ 37 NONAME - _ZN8MpEngine20checkForSystemEventsEv @ 38 NONAME - _ZN8MpEngine20handleUsbMtpEndEventEv @ 39 NONAME - _ZN8MpEngine20libraryAboutToUpdateEv @ 40 NONAME - _ZN8MpEngine21handleUsbMtpNotActiveEv @ 41 NONAME - _ZN8MpEngine21saveToCurrentPlaylistER5QListIiEP19MpMpxCollectionData @ 42 NONAME - _ZN8MpEngine22changeUsbBlockingStateENS_16UsbBlockingStateE @ 43 NONAME - _ZN8MpEngine22handleUsbMtpStartEventEv @ 44 NONAME - _ZN8MpEngine22openIsolatedCollectionE18TCollectionContext @ 45 NONAME - _ZN8MpEngine24collectionPlaylistOpenedEv @ 46 NONAME - _ZN8MpEngine24isolatedCollectionOpenedEP19MpMpxCollectionData @ 47 NONAME - _ZN8MpEngine25releaseIsolatedCollectionEv @ 48 NONAME - _ZN8MpEngine28handleOutstandingNoteClosingEv @ 49 NONAME - _ZN8MpEngine28handleUsbMassStorageEndEventEv @ 50 NONAME - _ZN8MpEngine30handleUsbMassStorageStartEventEv @ 51 NONAME - _ZN8MpEngine4backEv @ 52 NONAME - _ZN8MpEngine4stopEv @ 53 NONAME - _ZN8MpEngine5closeEv @ 54 NONAME - _ZN8MpEngine8instanceEv @ 55 NONAME - _ZN8MpEngine9playPauseEv @ 56 NONAME - _ZN8MpEngine9setRepeatEb @ 57 NONAME - _ZN8MpEngineC1Ev @ 58 NONAME - _ZN8MpEngineC2Ev @ 59 NONAME - _ZN8MpEngineD0Ev @ 60 NONAME - _ZN8MpEngineD1Ev @ 61 NONAME - _ZN8MpEngineD2Ev @ 62 NONAME - _ZNK8MpEngine10metaObjectEv @ 63 NONAME - _ZTI8MpEngine @ 64 NONAME - _ZTV8MpEngine @ 65 NONAME + _ZN13MpSongScanner10cancelScanEv @ 1 NONAME + _ZN13MpSongScanner11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME + _ZN13MpSongScanner11qt_metacastEPKc @ 3 NONAME + _ZN13MpSongScanner11scanStartedEv @ 4 NONAME + _ZN13MpSongScanner12scanFinishedEii @ 5 NONAME + _ZN13MpSongScanner15handleDiskEventE13MpxDiskEvents @ 6 NONAME + _ZN13MpSongScanner15handleScanEndedEii @ 7 NONAME + _ZN13MpSongScanner15isAutomaticScanEv @ 8 NONAME + _ZN13MpSongScanner16scanCountChangedEi @ 9 NONAME + _ZN13MpSongScanner16staticMetaObjectE @ 10 NONAME DATA 16 + _ZN13MpSongScanner19getStaticMetaObjectEv @ 11 NONAME + _ZN13MpSongScanner4scanEb @ 12 NONAME + _ZN13MpSongScannerC1EP30MpMpxHarvesterFrameworkWrapperP7QObject @ 13 NONAME + _ZN13MpSongScannerC2EP30MpMpxHarvesterFrameworkWrapperP7QObject @ 14 NONAME + _ZN13MpSongScannerD0Ev @ 15 NONAME + _ZN13MpSongScannerD1Ev @ 16 NONAME + _ZN13MpSongScannerD2Ev @ 17 NONAME + _ZN15MpEngineFactory11qt_metacallEN11QMetaObject4CallEiPPv @ 18 NONAME + _ZN15MpEngineFactory11qt_metacastEPKc @ 19 NONAME + _ZN15MpEngineFactory12sharedEngineEv @ 20 NONAME + _ZN15MpEngineFactory16staticMetaObjectE @ 21 NONAME DATA 16 + _ZN15MpEngineFactory18createSharedEngineE4TUidN8MpEngine10EngineModeE @ 22 NONAME + _ZN15MpEngineFactory19getStaticMetaObjectEv @ 23 NONAME + _ZN15MpEngineFactory20createIsolatedEngineEN8MpEngine10EngineModeE @ 24 NONAME + _ZN15MpEngineFactory5closeEv @ 25 NONAME + _ZN15MpEngineFactory8instanceEv @ 26 NONAME + _ZN15MpEngineFactoryC1Ev @ 27 NONAME + _ZN15MpEngineFactoryC2Ev @ 28 NONAME + _ZN15MpEngineFactoryD0Ev @ 29 NONAME + _ZN15MpEngineFactoryD1Ev @ 30 NONAME + _ZN15MpEngineFactoryD2Ev @ 31 NONAME + _ZN8MpEngine10initializeE4TUidNS_10EngineModeE @ 32 NONAME + _ZN8MpEngine10setBalanceEi @ 33 NONAME + _ZN8MpEngine10setShuffleEb @ 34 NONAME + _ZN8MpEngine10shuffleAllEv @ 35 NONAME + _ZN8MpEngine10usbBlockedEb @ 36 NONAME + _ZN8MpEngine11applyPresetEi @ 37 NONAME + _ZN8MpEngine11deleteSongsER5QListIiE @ 38 NONAME + _ZN8MpEngine11presetNamesEv @ 39 NONAME + _ZN8MpEngine11previewItemEi @ 40 NONAME + _ZN8MpEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 41 NONAME + _ZN8MpEngine11qt_metacastEPKc @ 42 NONAME + _ZN8MpEngine11setLoudnessEb @ 43 NONAME + _ZN8MpEngine11setPositionEi @ 44 NONAME + _ZN8MpEngine11skipForwardEv @ 45 NONAME + _ZN8MpEngine11songScannerEv @ 46 NONAME + _ZN8MpEngine11stopSeekingEv @ 47 NONAME + _ZN8MpEngine12activePresetEv @ 48 NONAME + _ZN8MpEngine12playEmbeddedE7QString @ 49 NONAME + _ZN8MpEngine12playEmbeddedERK14XQSharableFile @ 50 NONAME + _ZN8MpEngine12playbackDataEv @ 51 NONAME + _ZN8MpEngine12retrieveSongEv @ 52 NONAME + _ZN8MpEngine12skipBackwardEv @ 53 NONAME + _ZN8MpEngine12songsDeletedEb @ 54 NONAME + _ZN8MpEngine13deleteStartedE18TCollectionContexti @ 55 NONAME + _ZN8MpEngine13findPlaylistsER11QStringList @ 56 NONAME + _ZN8MpEngine13playlistSavedEb @ 57 NONAME + _ZN8MpEngine14collectionDataEv @ 58 NONAME + _ZN8MpEngine14createPlaylistER7QStringR5QListIiEP19MpMpxCollectionData @ 59 NONAME + _ZN8MpEngine14equalizerReadyEv @ 60 NONAME + _ZN8MpEngine14findAlbumSongsEi @ 61 NONAME + _ZN8MpEngine14handleUsbEventE12MpxUsbEvents @ 62 NONAME + _ZN8MpEngine14libraryUpdatedEv @ 63 NONAME + _ZN8MpEngine14openCollectionE18TCollectionContext @ 64 NONAME + _ZN8MpEngine14playAlbumSongsEiiP19MpMpxCollectionData @ 65 NONAME + _ZN8MpEngine14refreshLibraryEb @ 66 NONAME + _ZN8MpEngine14renamePlaylistER7QString @ 67 NONAME + _ZN8MpEngine14renamePlaylistER7QStringi @ 68 NONAME + _ZN8MpEngine14saveToPlaylistEiR5QListIiE @ 69 NONAME + _ZN8MpEngine15aboutToAddSongsEi @ 70 NONAME + _ZN8MpEngine15handleDiskEventE13MpxDiskEvents @ 71 NONAME + _ZN8MpEngine15handleScanEndedEii @ 72 NONAME + _ZN8MpEngine15reorderPlaylistEiiii @ 73 NONAME + _ZN8MpEngine16disableEqualizerEv @ 74 NONAME + _ZN8MpEngine16loadActivityDataERK10QByteArray @ 75 NONAME + _ZN8MpEngine16playlistsRenamedEb @ 76 NONAME + _ZN8MpEngine16reopenCollectionEv @ 77 NONAME + _ZN8MpEngine16saveActivityDataER10QByteArray @ 78 NONAME + _ZN8MpEngine16startSeekForwardEv @ 79 NONAME + _ZN8MpEngine16staticMetaObjectE @ 80 NONAME DATA 16 + _ZN8MpEngine17handleDeleteEndedEb @ 81 NONAME + _ZN8MpEngine17handleScanStartedEv @ 82 NONAME + _ZN8MpEngine17restorePathFailedEv @ 83 NONAME + _ZN8MpEngine17startSeekBackwardEv @ 84 NONAME + _ZN8MpEngine17verifyUsbBlockingEb @ 85 NONAME + _ZN8MpEngine18openCollectionItemEi @ 86 NONAME + _ZN8MpEngine19getStaticMetaObjectEv @ 87 NONAME + _ZN8MpEngine19handleDeleteStartedE18TCollectionContexti @ 88 NONAME + _ZN8MpEngine20checkForSystemEventsEv @ 89 NONAME + _ZN8MpEngine20handleEqualizerReadyEv @ 90 NONAME + _ZN8MpEngine20handleUsbMtpEndEventEv @ 91 NONAME + _ZN8MpEngine20libraryAboutToUpdateEv @ 92 NONAME + _ZN8MpEngine20libraryRefreshNeededEv @ 93 NONAME + _ZN8MpEngine21handleUsbMtpNotActiveEv @ 94 NONAME + _ZN8MpEngine21saveToCurrentPlaylistER5QListIiEP19MpMpxCollectionData @ 95 NONAME + _ZN8MpEngine21unableToCotinueDueUSBEv @ 96 NONAME + _ZN8MpEngine22changeUsbBlockingStateENS_16UsbBlockingStateE @ 97 NONAME + _ZN8MpEngine22handleUsbMtpStartEventEv @ 98 NONAME + _ZN8MpEngine22openIsolatedCollectionE18TCollectionContext @ 99 NONAME + _ZN8MpEngine23cancelCollectionRequestEv @ 100 NONAME + _ZN8MpEngine24collectionPlaylistOpenedEv @ 101 NONAME + _ZN8MpEngine24containerContentsChangedEv @ 102 NONAME + _ZN8MpEngine24isolatedCollectionOpenedEP19MpMpxCollectionData @ 103 NONAME + _ZN8MpEngine25releaseIsolatedCollectionEv @ 104 NONAME + _ZN8MpEngine25usbSynchronizationStartedEv @ 105 NONAME + _ZN8MpEngine26usbSynchronizationFinishedEv @ 106 NONAME + _ZN8MpEngine28handleUsbMassStorageEndEventEv @ 107 NONAME + _ZN8MpEngine30handleUsbMassStorageStartEventEv @ 108 NONAME + _ZN8MpEngine4backEv @ 109 NONAME + _ZN8MpEngine4stopEv @ 110 NONAME + _ZN8MpEngine7balanceEv @ 111 NONAME + _ZN8MpEngine8loudnessEv @ 112 NONAME + _ZN8MpEngine8songDataEv @ 113 NONAME + _ZN8MpEngine9playPauseEv @ 114 NONAME + _ZN8MpEngine9setRepeatEb @ 115 NONAME + _ZN8MpEngineC1Ev @ 116 NONAME + _ZN8MpEngineC2Ev @ 117 NONAME + _ZN8MpEngineD0Ev @ 118 NONAME + _ZN8MpEngineD1Ev @ 119 NONAME + _ZN8MpEngineD2Ev @ 120 NONAME + _ZNK13MpSongScanner10metaObjectEv @ 121 NONAME + _ZNK15MpEngineFactory10metaObjectEv @ 122 NONAME + _ZNK8MpEngine10metaObjectEv @ 123 NONAME + _ZTI13MpSongScanner @ 124 NONAME + _ZTI15MpEngineFactory @ 125 NONAME + _ZTI8MpEngine @ 126 NONAME + _ZTV13MpSongScanner @ 127 NONAME + _ZTV15MpEngineFactory @ 128 NONAME + _ZTV8MpEngine @ 129 NONAME diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpaudioeffectsframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpaudioeffectsframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,46 @@ +/* +* 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 Audio Effects +* +*/ + +#ifndef MPAUDIOEFFECTSFRAMEWORKWRAPPER_H +#define MPAUDIOEFFECTSFRAMEWORKWRAPPER_H + +#include + +class MpAudioEffectsFrameworkWrapperPrivate; + +class MpAudioEffectsFrameworkWrapper : public QObject +{ + Q_OBJECT + friend class MpAudioEffectsFrameworkWrapperPrivate; + +public: + + explicit MpAudioEffectsFrameworkWrapper(); + virtual ~MpAudioEffectsFrameworkWrapper(); + + int balance(); + bool loudness(); + void setBalance( int balance ); + void setLoudness( bool mode ); + +private: // data + + MpAudioEffectsFrameworkWrapperPrivate *d_ptr; //owned + +}; + +#endif /*MPAUDIOEFFECTSFRAMEWORKWRAPPER_H*/ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpaudioeffectsframeworkwrapper_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpaudioeffectsframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,49 @@ +/* +* 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 Audio Effects - Private. +* +*/ + +#ifndef MPAUDIOEFFECTSFRAMEWORKWRAPPER_P_H +#define MPAUDIOEFFECTSFRAMEWORKWRAPPER_P_H + +class CMPXAudioEffectProperties; + +class MpAudioEffectsFrameworkWrapperPrivate +{ +public: + + explicit MpAudioEffectsFrameworkWrapperPrivate(); + virtual ~MpAudioEffectsFrameworkWrapperPrivate(); + +public: + + void init(); + void setBalance( int balance ); + void setLoudness( bool mode ); + int balance(); + bool loudness(); + +private: + + void doInitL(); + void saveToFile(); + +private: // data + + CMPXAudioEffectProperties *mAudioEffectProperties; // owned + +}; + +#endif /*MPAUDIOEFFECTSFRAMEWORKWRAPPER_P_H*/ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpequalizerframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpequalizerframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +/* +* 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: Wrapper for equalizer framework +* +*/ + +#ifndef MPEQUALIZERFRAMEWORKWRAPPER_H +#define MPEQUALIZERFRAMEWORKWRAPPER_H + +// System includes +#include +#include + +class MpEqualizerFrameworkWrapperPrivate; + +/** + * Wrapper for equalizer framework + */ +class MpEqualizerFrameworkWrapper : public QObject + { + Q_OBJECT + Q_PROPERTY(QStringList presetNames READ presetNames) + +public: + + explicit MpEqualizerFrameworkWrapper( QObject *parent = 0 ); + virtual ~MpEqualizerFrameworkWrapper(); + + int getPresetNameKey( int presetIndex ); + int getPresetIndex( int presetNameKey ); + QStringList presetNames(); + +signals: + void equalizerReady(); + +private: + + Q_DISABLE_COPY(MpEqualizerFrameworkWrapper) + MpEqualizerFrameworkWrapperPrivate *d_ptr; + + friend class MpEqualizerFrameworkWrapperPrivate; + }; + +#endif // MPEQUALIZERFRAMEWORKWRAPPER_H + +//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpequalizerframeworkwrapper_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpequalizerframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,58 @@ +/* +* 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: Wrapper for equalizer framework - private implementation. +* +*/ + +#ifndef MPEQUALIZERFRAMEWORKWRAPPER_P_H +#define MPEQUALIZERFRAMEWORKWRAPPER_P_H + +// System includes +#include +#include + +// FORWARD DECLARATIONS +class CAudioEqualizerUtility; + +class MpEqualizerFrameworkWrapperPrivate : public CBase, + public MMdaAudioPlayerCallback + { +public: + + MpEqualizerFrameworkWrapperPrivate( MpEqualizerFrameworkWrapper *wrapper ); + virtual ~MpEqualizerFrameworkWrapperPrivate(); + + void init(); + int getPresetNameKey( int presetIndex ); + int getPresetIndex( int presetNameKey ); + QStringList presetNames(); + +private: + + void DoInitL(); + TInt DoGetPresetNameKeyL( const TInt presetIndex ) const; + void MapcInitComplete( TInt aError, + const TTimeIntervalMicroSeconds& aDuration ); + void MapcPlayComplete( TInt aError ); + +private: + + MpEqualizerFrameworkWrapper *q_ptr; + CMdaAudioPlayerUtility* mMdaPlayUtility; + CAudioEqualizerUtility* mEqualizerUtility; + }; + +#endif // MPEQUALIZERFRAMEWORKWRAPPER_P_H + +//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmediakeyhandler.h --- a/mpengine/inc/mpmediakeyhandler.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmediakeyhandler.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ #ifndef MPMEDIAKEYHANDLER_H #define MPMEDIAKEYHANDLER_H -#include +#include class MpMediaKeyHandlerPrivate; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxcollectionframeworkwrapper.h --- a/mpengine/inc/mpmpxcollectionframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxcollectionframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -36,39 +36,54 @@ public: - explicit MpMpxCollectionFrameworkWrapper( - MpCommon::MpViewMode viewMode=MpCommon::DefaultView, TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); + explicit MpMpxCollectionFrameworkWrapper( TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); virtual ~MpMpxCollectionFrameworkWrapper(); void openCollection( TCollectionContext context ); void openCollectionItem( int index ); void back(); void findPlaylists( QStringList &playlists ); - void createPlaylist( QString &playlistName, QList &selection, MpMpxCollectionData* collectionData = 0 ); + void createPlaylist( QString &playlistName, QList &selection, MpMpxCollectionData* collectionData ); void saveToPlaylist( int playlistIndex, QList &selection ); void saveToCurrentPlaylist( QList &selection, MpMpxCollectionData *collectionData ); void renamePlaylist( QString &newName, int index ); void renamePlaylist( QString &newName ); void deleteSongs( QList &selection ); void setShuffle( bool active ); + void cancelRequest(); void previewItem( int index ); void openIsolatedCollection( TCollectionContext context ); void releaseIsolatedCollection(); - + + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ); + MpMpxCollectionData *collectionData(); void reopenCollection(); void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ); + void setRepeatFeatureEnabled( bool enable ); + void setShuffleFeatureEnabled( bool enable ); + + void openShuffleAllSongsPath(); + + void savePath( QByteArray &data ); + void restorePath( const QByteArray &data ); signals: void collectionPlaylistOpened(); void playlistSaved( bool success ); + void deleteStarted(TCollectionContext context, int Count); void songsDeleted( bool success ); void playlistsRenamed( bool success ); + void aboutToAddSongs( int count ); void isolatedCollectionOpened( MpMpxCollectionData* collectionData ); + + void containerContentsChanged(); + void restorePathFailed(); private: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxcollectionframeworkwrapper_p.h --- a/mpengine/inc/mpmpxcollectionframeworkwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxcollectionframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -24,7 +24,7 @@ #include "mpmpxisolatedcollectionhelper.h" //MMpMpxIsolatedCollectionHelperObserver #include "mpmpxcollectionviewdefs.h" -#include "mpcommondefs.h" + class MMPXCollectionUtility; class MMPXCollectionUiHelper; @@ -37,14 +37,30 @@ class MpMpxCollectionFrameworkWrapperPrivate : public MMPXCollectionObserver, public MMPXCHelperObserver, - public MMpMpxIsolatedCollectionHelperObserver + public MMpMpxIsolatedCollectionHelperObserver, + public MMPXCollectionFindObserver { + +private: + //Keep in sync with TMCBrowseType in mpxcollectiondb.hrh + enum MpBrowseType{ + BrowseAll = 0, + BrowsePlaylist, + BrowseArtist, + BrowseAlbum, + BrowsePodcasts, + BrowseGenre, + BrowseComposer, + BrowseAlbumSong, + BrowseAlbumMediaWall + }; + public: explicit MpMpxCollectionFrameworkWrapperPrivate( MpMpxCollectionFrameworkWrapper *wrapper ); virtual ~MpMpxCollectionFrameworkWrapperPrivate(); - void init( MpCommon::MpViewMode viewMode, TUid hostUid ); + void init( TUid hostUid ); void openCollection( TCollectionContext context ); void openCollectionItem( int index ); void reopenCollection(); @@ -61,8 +77,17 @@ void openIsolatedCollection( TCollectionContext context ); void releaseIsolatedCollection(); void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ); - + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ); + void setRepeatFeatureEnabled( bool enable ); + void setShuffleFeatureEnabled( bool enable ); + void cancel(); + MpMpxCollectionData *collectionData(); + void openShuffleAllSongsPath(); + + void savePath( QByteArray &data ); + void restorePath( const QByteArray &data ); private: @@ -74,7 +99,9 @@ void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError ); void HandleOperationCompleteL( TCHelperOperation aOperation, TInt aErr, void* aArgument ); void HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError ); - + void HandleIsolatedOpenRestorePathL( const CMPXCollectionPath& aPath, TInt aError ); + void HandleFindAllL( const CMPXMedia& aResults, TBool aComplete, TInt aError ); + void DoInitL(); void DoOpenCollectionL( TCollectionContext aContext ); void DoOpenCollectionItemL( TInt aIndex ); @@ -87,17 +114,27 @@ void DoSaveToPlaylistL( int playlistIndex, QList &selection ); void DoDeleteSongsL( QList &selection ); + void DoDeleteAlbumSongsL( QList &selection ); void DoRenamePlaylistL( QString &newName, int index ); void DoRenamePlaylistL( QString &newname ); void DoRenamePlaylistL( TMPXItemId id, QString &newName ); void DoSaveToCurrentPlaylistL( QList &selection, MpMpxCollectionData *collectionData ); void DoSetShuffleL( bool active ); - void DoPreviewItemL( int index ); + void DoPreviewSongL( int index ); + void DoPreviewAlbumSongL( int index ); void DoOpenIsolatedCollectionL( TCollectionContext context ); void DoReorderPlaylistL( int playlistId, int songId, int originalOrdinal, int newOrdinal ); + void DoFindAlbumSongsL( int index ); + void DoPlayAlbumSongsL( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ); + void DoHandleCollectionMessageL( const CMPXMessage& aMsg ); + void DoHandleItemChangedMessageL( const CMPXMessage& aMsg ); void PreparePlaylistMediaL( CMPXMedia& aMedia, QList &selection, MpMpxCollectionData *collectionData ); + void createPlaybackUtilityL(); + void DoPlayAllSongsPlaylistL(); + void DoSavePathL( QByteArray &data ); + void DoRestorePathL( const QByteArray &data ); private: @@ -113,8 +150,14 @@ TBool iFirstIncrementalOpen; CMPXMedia *iUserPlaylists; // Owned TInt iNumItemsAdded; - MpCommon::MpViewMode iViewMode; TUid mHostUid; + TBool iRepeatFeature; + TBool iShuffleFeature; + TBool iReopen; + TBool iShuffleAll; + TBool iRestoreDefaultPath; + TInt iRestorePathIndex; + TMPXItemId iRestorePathIndexId; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxdetailsframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpmpxdetailsframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,49 @@ +/* +* 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 wrapper +* +*/ + +#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_H_ +#define MPMPXDETAILSFRAMEWORKWRAPPER_H_ + +//includes +#include + +//forward declartions +class MpSongData; +class MpMpxDetailsFrameworkWrapperPrivate; + +//class declaration +class MpMpxDetailsFrameworkWrapper : public QObject +{ + Q_OBJECT + friend class MpMpxDetailsFrameworkWrapperPrivate; + +public: + explicit MpMpxDetailsFrameworkWrapper( TUid hostUid, QObject *parent=0 ); + virtual ~MpMpxDetailsFrameworkWrapper(); + + MpSongData *songData(); + +public: + void retrieveSong(); + +private: + Q_DISABLE_COPY( MpMpxDetailsFrameworkWrapper ) + MpMpxDetailsFrameworkWrapperPrivate *d_ptr; //owned +}; + + +#endif /* MPMPXDETAILSFRAMEWORKWRAPPER_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxdetailsframeworkwrapper_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/inc/mpmpxdetailsframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,67 @@ +/* +* 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 wrapper - Private. +* +*/ + + +#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ +#define MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ + +#include +#include + +//forward declartions +class MMPXPlaybackUtility; +class MpMpxDetailsFrameworkWrapper; +class CMPXMedia; +class MpSongData; + +//class declaration +class MpMpxDetailsFrameworkWrapperPrivate : public MMPXPlaybackObserver, + public MMPXPlaybackCallback +{ + +public: + explicit MpMpxDetailsFrameworkWrapperPrivate( MpMpxDetailsFrameworkWrapper *qq ); + virtual ~MpMpxDetailsFrameworkWrapperPrivate(); + + void init( TUid hostUid ); + +public: //from MMPXPlaybackObserver + void HandlePlaybackMessage( CMPXMessage *aMessage, TInt aError ); + +public: //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 ); + +public: + MpSongData *songData(); + void retrieveSong(); + +private: + void DoInitL(); + void doRetrieveSongL(); + +private: + MpMpxDetailsFrameworkWrapper *q_ptr; //not owned + MpSongData *iSongData; // not owned + MMPXPlaybackUtility *iPlaybackUtility; // owned + TUid mHostUid; +}; + + +#endif /* MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxharvesterframeworkwrapper.h --- a/mpengine/inc/mpmpxharvesterframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxharvesterframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -23,10 +23,6 @@ #include "mpcommondefs.h" class MpMpxHarvesterFrameworkWrapperPrivate; -class MpSongScannerHelper; -class HbNotificationDialog; -class QStringList; -class QTranslator; class MpMpxHarvesterFrameworkWrapper : public QObject { @@ -36,8 +32,7 @@ public: - explicit MpMpxHarvesterFrameworkWrapper( - MpCommon::MpViewMode viewMode=MpCommon::DefaultView, TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); + explicit MpMpxHarvesterFrameworkWrapper( TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); virtual ~MpMpxHarvesterFrameworkWrapper(); void scan(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxharvesterframeworkwrapper_p.h --- a/mpengine/inc/mpmpxharvesterframeworkwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxharvesterframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -35,7 +35,7 @@ explicit MpMpxHarvesterFrameworkWrapperPrivate( MpMpxHarvesterFrameworkWrapper *wrapper ); virtual ~MpMpxHarvesterFrameworkWrapperPrivate(); - void init( MpCommon::MpViewMode viewMode, TUid hostUid ); + void init( TUid hostUid ); void scan(); void cancelScan(); void checkForSystemEvents(); @@ -64,7 +64,6 @@ TInt iNumItemsAdded; TBool iScanning; TInt iPreviousBroadCastMsg; - MpCommon::MpViewMode iViewMode; TUid mHostUid; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxisolatedcollectionhelper.h --- a/mpengine/inc/mpmpxisolatedcollectionhelper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxisolatedcollectionhelper.h Thu Jul 22 16:32:33 2010 +0100 @@ -23,6 +23,7 @@ class CMPXCollectionOpenUtility; class CMPXCollectionPath; +const TInt KIncrementalNullOffset = 0; /*! \class MpMpxIsolatedCollectionHelperObserver \brief Observer interface for class CMpMpxIsolatedCollectionHelper @@ -35,17 +36,23 @@ virtual void HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError ) = 0; + + virtual void HandleIsolatedOpenRestorePathL( const CMPXCollectionPath& aPath, + TInt aError ) = 0; }; class CMpMpxIsolatedCollectionHelper : public CBase, public MMPXCollectionObserver { public: - + enum MpOpenMode{ + DefaultMode = 0, + RestorePathMode + }; static CMpMpxIsolatedCollectionHelper* NewL( MMpMpxIsolatedCollectionHelperObserver* aObserver ); static CMpMpxIsolatedCollectionHelper* NewLC( MMpMpxIsolatedCollectionHelperObserver* aObserver ); virtual ~CMpMpxIsolatedCollectionHelper(); - void OpenCollectionL( CMPXCollectionPath& aPath ); + void OpenCollectionL( CMPXCollectionPath& aPath, TInt aIndex = KIncrementalNullOffset, MpOpenMode aMode = DefaultMode ); private: CMpMpxIsolatedCollectionHelper( MMpMpxIsolatedCollectionHelperObserver* aObserver ); @@ -60,6 +67,7 @@ MMpMpxIsolatedCollectionHelperObserver* iObserver; CMPXCollectionOpenUtility* iIncrementalOpenUtil; //owned TBool iFirstIncrementalOpen; + MpOpenMode iOpenMode; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxplaybackframeworkwrapper.h --- a/mpengine/inc/mpmpxplaybackframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxplaybackframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -36,11 +36,13 @@ public: - explicit MpMpxPlaybackFrameworkWrapper( - MpCommon::MpViewMode viewMode=MpCommon::DefaultView, TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); + explicit MpMpxPlaybackFrameworkWrapper( TUid hostUid = TUid::Uid( MpCommon::KMusicPlayerUid ), QObject *parent=0 ); virtual ~MpMpxPlaybackFrameworkWrapper(); MpPlaybackData *playbackData(); + void setBalance( int balance ); + void applyAudioEffects(); + void applyEqualizer(); public slots: @@ -49,7 +51,10 @@ void playPause(); void stop(); void skipForward(); + void startSeekForward(); + void stopSeeking(); void skipBackward(); + void startSeekBackward(); void setPosition( int position ); void setShuffle( bool mode ); void setRepeat( bool mode ); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpmpxplaybackframeworkwrapper_p.h --- a/mpengine/inc/mpmpxplaybackframeworkwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/inc/mpmpxplaybackframeworkwrapper_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -20,7 +20,6 @@ #include #include -#include "mpmpxcollectionviewdefs.h" #include "mpcommondefs.h" @@ -40,17 +39,23 @@ explicit MpMpxPlaybackFrameworkWrapperPrivate( MpMpxPlaybackFrameworkWrapper *wrapper ); virtual ~MpMpxPlaybackFrameworkWrapperPrivate(); - void init( MpCommon::MpViewMode viewMode, TUid hostUid ); + void init( TUid hostUid ); void play( QString aFilename ); void play( const XQSharableFile& file ); void playPause(); void stop(); void skipForward(); + void startSeekForward(); + void stopSeeking(); void skipBackward(); + void startSeekBackward(); void setPosition( int value ); void setShuffle( bool mode ); void setRepeat( bool mode ); + void setBalance( int balance ); + void applyAudioEffects(); + void applyEqualizer(); MpPlaybackData *playbackData(); @@ -79,7 +84,6 @@ MMPXPlaybackUtility *iPlaybackUtility; // Own CMPXMedia *iMedia; // Own MpPlaybackData *iPlaybackData; // Own - MpCommon::MpViewMode iViewMode; TUid mHostUid; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/inc/mpsongscanner.h --- a/mpengine/inc/mpsongscanner.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +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: Music Player song scanner. -* -*/ - - -#ifndef MPSONGSCANNER_H -#define MPSONGSCANNER_H - -class MpMpxHarvesterFrameworkWrapper; -class HbProgressDialog; - -#include -#include "mpmpxcommondefs.h" - -class MpSongScanner : public QObject -{ - Q_OBJECT - -public: - - explicit MpSongScanner( MpMpxHarvesterFrameworkWrapper *wrapper, QObject *parent=0 ); - virtual ~MpSongScanner(); - - void scan(); - bool isScanning(); - -public slots: - - void cancelScan(); - void handleScanStarted(); - void handleScanEnded( int numItemsAdded, int error ); - void handleScanCountChanged(int count); - void handleDiskEvent( MpxDiskEvents event ); - void handleProgressNoteClosing(); - -private: - - MpMpxHarvesterFrameworkWrapper *mMpxWrapper; // Not own - HbProgressDialog *mScanProgressNote; // Own - TBool mScanning; - -}; - -#endif // MPSONGSCANNER_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/mpengine.pro --- a/mpengine/mpengine.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/mpengine.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,65 +14,80 @@ # Description: Project file for Music Player Engine. # -symbian:TARGET.UID3 = 0x10207C93 - TEMPLATE = lib CONFIG += hb TARGET = mpengine - -TARGET.CAPABILITY = CAP_GENERAL_DLL +symbian: { + TARGET.UID3 = 0x10207C93 + MMP_RULES += "DEFFILE mpengine.def" + defFilePath = . + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.EPOCALLOWDLLDATA = 1 + BLD_INF_RULES.prj_exports += \ + "resources/nullsound.mp3 /epoc32/release/winscw/udeb/Z/system/data/nullsound.mp3" \ + "resources/nullsound.mp3 /epoc32/data/Z/system/data/nullsound.mp3" +} +DEFINES += BUILD_MPENGINE_LIB INCLUDEPATH += . \ - inc \ - ../inc + inc \ + ../inc \ + ../mpserviceplugins/inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lestor.dll \ - -lmpxplaybackutility.dll \ - -lmpxcollectionutility.dll \ - -lmpxharvesterutility.dll \ - -lmpxcommon.dll \ - -lmpxcollectionhelper.dll \ - -lremconcoreapi.dll \ - -lremconinterfacebase.dll \ - -lmpsettingsmanager \ - -lmpdata.dll \ - -lxqserviceutil - -symbian:TARGET.EPOCALLOWDLLDATA = 1 +LIBS += -lestor \ + -lmpxplaybackutility \ + -lmpxcollectionutility \ + -lmpxharvesterutility \ + -lmpxcommon \ + -lmpxcollectionhelper \ + -lremconcoreapi \ + -lremconinterfacebase \ + -lmpsettingsmanager \ + -lmpdata \ + -lxqserviceutil \ + -laudioequalizerutility \ + -lmediaclientaudio \ + -lefsrv -HEADERS += ../inc/mpengine.h \ +# Input +HEADERS += ../inc/mpenginefactory.h \ + ../inc/mpengine.h \ + ../inc/mpsongscanner.h \ inc/mpmpxharvesterframeworkwrapper.h \ inc/mpmpxharvesterframeworkwrapper_p.h \ inc/mpmpxplaybackframeworkwrapper.h \ inc/mpmpxplaybackframeworkwrapper_p.h \ - inc/mpsongscanner.h \ + inc/mpmpxdetailsframeworkwrapper.h \ + inc/mpmpxdetailsframeworkwrapper_p.h \ inc/mpmediakeyhandler.h \ inc/mpmediakeyhandler_p.h\ inc/mpmediakeyremconresponse.h \ inc/mpmpxcollectionframeworkwrapper.h \ inc/mpmpxisolatedcollectionhelper.h \ - inc/mpmpxcollectionframeworkwrapper_p.h + inc/mpmpxcollectionframeworkwrapper_p.h \ + inc/mpaudioeffectsframeworkwrapper.h \ + inc/mpaudioeffectsframeworkwrapper_p.h \ + inc/mpequalizerframeworkwrapper.h \ + inc/mpequalizerframeworkwrapper_p.h -SOURCES += src/mpengine.cpp \ +SOURCES += src/mpenginefactory.cpp \ + src/mpengine.cpp \ + src/mpsongscanner.cpp \ src/mpmpxharvesterframeworkwrapper.cpp \ src/mpmpxharvesterframeworkwrapper_p.cpp \ src/mpmpxplaybackframeworkwrapper.cpp \ src/mpmpxplaybackframeworkwrapper_p.cpp \ - src/mpsongscanner.cpp \ + src/mpmpxdetailsframeworkwrapper.cpp \ + src/mpmpxdetailsframeworkwrapper_p.cpp \ src/mpmediakeyhandler.cpp \ src/mpmediakeyhandler_p.cpp \ src/mpmediakeyremconresponse.cpp \ src/mpmpxcollectionframeworkwrapper.cpp \ src/mpmpxisolatedcollectionhelper.cpp \ - src/mpmpxcollectionframeworkwrapper_p.cpp - -DEFINES += BUILD_MPENGINE_LIB + src/mpmpxcollectionframeworkwrapper_p.cpp \ + src/mpaudioeffectsframeworkwrapper.cpp \ + src/mpaudioeffectsframeworkwrapper_p.cpp \ + src/mpequalizerframeworkwrapper.cpp \ + src/mpequalizerframeworkwrapper_p.cpp -myDefInclude = "NOSTRICTDEF" \ -"$${LITERAL_HASH}if defined(WINS)"\ -"DEFFILE bwins/mpengineu.def "\ -"$${LITERAL_HASH}else "\ -"DEFFILE eabi/mpengineu.def "\ -"$${LITERAL_HASH}endif" -MMP_RULES += myDefInclude diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/resources/nullsound.mp3 Binary file mpengine/resources/nullsound.mp3 has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/rom/mpengine.iby --- a/mpengine/rom/mpengine.iby Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/rom/mpengine.iby Thu Jul 22 16:32:33 2010 +0100 @@ -22,4 +22,6 @@ file=ABI_DIR\BUILD_DIR\mpengine.dll SHARED_LIB_DIR\mpengine.dll +data=ZSYSTEM\data\nullsound.mp3 system\data\nullsound.mp3 + #endif \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpaudioeffectsframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpaudioeffectsframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,86 @@ +/* +* 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 Audio Effects. +* +*/ + +#include "mpaudioeffectsframeworkwrapper.h" +#include "mpaudioeffectsframeworkwrapper_p.h" +#include "mptrace.h" + +/*! + \class MpAudioEffectsFrameworkWrapper + \brief Wrapper for Audio Effects framework. + + Audio effects framework wrapper provides Qt style interface to the audio effects framework + utilities. Its implementation is hidden using private class data pattern. +*/ + +/*! + Constructor. + */ +MpAudioEffectsFrameworkWrapper::MpAudioEffectsFrameworkWrapper() + :d_ptr( new MpAudioEffectsFrameworkWrapperPrivate() ) +{ + d_ptr->init(); +} + +/*! + Destructor. + */ +MpAudioEffectsFrameworkWrapper::~MpAudioEffectsFrameworkWrapper() +{ + TX_ENTRY + delete d_ptr; + TX_EXIT +} + +/*! + Returns the current persistent balance. + */ +int MpAudioEffectsFrameworkWrapper::balance() +{ + TX_LOG + return d_ptr->balance(); +} + +/*! + Returns the current persistent loudness. + */ +bool MpAudioEffectsFrameworkWrapper::loudness() +{ + TX_LOG + return d_ptr->loudness(); +} + +/*! + Set the \a balance. + */ +void MpAudioEffectsFrameworkWrapper::setBalance( int balance ) +{ + TX_ENTRY + d_ptr->setBalance( balance ); + TX_EXIT +} + +/*! + Set the loudness \a mode. + */ +void MpAudioEffectsFrameworkWrapper::setLoudness( bool mode ) +{ + TX_ENTRY + d_ptr->setLoudness( mode ); + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpaudioeffectsframeworkwrapper_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpaudioeffectsframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,109 @@ +/* +* 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 Audio Effects - Private. +* +*/ + +#include "mpaudioeffectsframeworkwrapper_p.h" +#include "mpxaudioeffectproperties.h" +#include "mpcommondefs.h" +#include "mptrace.h" + +/*! + \class MpAudioEffectsFrameworkWrapperPrivate + \brief Wrapper for audio effects framework utilities - private implementation. + + This is a private implementation of the audio effects framework wrapper utilties interface. +*/ + +/*! + \internal + */ +MpAudioEffectsFrameworkWrapperPrivate::MpAudioEffectsFrameworkWrapperPrivate() + :mAudioEffectProperties( new CMPXAudioEffectProperties() ) +{ +} + +/*! + \internal + */ +MpAudioEffectsFrameworkWrapperPrivate::~MpAudioEffectsFrameworkWrapperPrivate() +{ + delete mAudioEffectProperties; +} + +/*! + \internal + */ +void MpAudioEffectsFrameworkWrapperPrivate::init() +{ + TRAPD( err, doInitL() ); + if ( err != KErrNone ) { + mAudioEffectProperties->Reset(); + } +} + +/*! + \internal + */ +void MpAudioEffectsFrameworkWrapperPrivate::setBalance( int balance ) +{ + mAudioEffectProperties->SetBalance( balance ); + saveToFile(); +} + +/*! + \internal + */ +void MpAudioEffectsFrameworkWrapperPrivate::setLoudness( bool mode ) +{ + mAudioEffectProperties->SetLoudness( mode ); + saveToFile(); +} + +/*! + \internal + */ +int MpAudioEffectsFrameworkWrapperPrivate::balance() +{ + return mAudioEffectProperties->Balance(); +} + +/*! + \internal + */ +bool MpAudioEffectsFrameworkWrapperPrivate::loudness() +{ + return mAudioEffectProperties->Loudness(); +} + +/*! + \internal + */ +void MpAudioEffectsFrameworkWrapperPrivate::saveToFile() +{ + TRAPD( err, mAudioEffectProperties->SaveToFileL() ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } +} + +/*! + \internal + */ +void MpAudioEffectsFrameworkWrapperPrivate::doInitL() +{ + mAudioEffectProperties->LoadFromFileL(); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpengine.cpp --- a/mpengine/src/mpengine.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpengine.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,21 +15,20 @@ * */ -#include -#include -#include -#include -#include -#include #include +#include #include "mpengine.h" #include "mpmpxharvesterframeworkwrapper.h" #include "mpmpxcollectionframeworkwrapper.h" #include "mpmpxplaybackframeworkwrapper.h" -#include "mpsongscanner.h" +#include "mpmpxdetailsframeworkwrapper.h" +#include "mpaudioeffectsframeworkwrapper.h" +#include "mpequalizerframeworkwrapper.h" #include "mpmediakeyhandler.h" #include "mptrace.h" +#include "mpsettingsmanager.h" +#include "mpsongscanner.h" /*! \class MpEngine @@ -46,87 +45,61 @@ */ /*! - \fn void scanStarted() - - This signal is emitted when scan operation is started. - - */ - -/*! - \fn void scanEnded() + \fn void libraryAboutToUpdate() - This signal is emitted when scan operation ends. - - */ - -/*! - \fn void scanCountChanged( int count ) - - This signal is emitted when scan count is updated. + This signal is emitted when a scan operation has been requested or + when MTP synchronization starts. */ /*! \fn void libraryUpdated() - This signal is emitted when MpSongScannerHelper ends scanning, - or USB-MTP Synchronization finishes. + This signal is emitted when library has changed. + + \sa handleScanEnded() + \sa handleDiskEvent() + \sa handleUsbMtpEndEvent() */ /*! - \fn void formatStarted() - - This signal is emitted when EMcMsgFormatStart is received from MPXCollectionUtility. - - */ - -/*! - \fn void formatEnded() + \fn void usbBlocked( bool blocked ) - This signal is emitted when EMcMsgFormatEnd is received from MPXCollectionUtility. - - */ - -/*! - \fn void diskRemoved() - - This signal is emitted when EMcMsgDiskRemoved is received from MPXCollectionUtility. + This signal is emitted to update the usb blocking state + due a previous usb event received. + + \sa handleUsbEvent() */ /*! - \fn void diskInserted() - - This signal is emitted when EMcMsgDiskInserted is received from MPXCollectionUtility. + \fn void unableToCotinueDueUSB() - */ - -/*! - \fn void usbMassStorageStarted() - - This signal is emitted when EMcMsgUSBMassStorageStart is received from MPXCollectionUtility. + This signal is emitted if usb blocking verification returns true. + + \sa verifyUsbBlocking() */ /*! - \fn void usbMassStorageEnded() + \fn void usbSynchronizationStarted() - This signal is emitted when EMcMsgUSBMassStorageEnd is received from MPXCollectionUtility. + This signal is emitted when usb is connected in MassStorage mode or MTP mode and synchronizing. */ /*! - \fn void usbMtpStarted() + \fn void usbSynchronizationFinished() - This signal is emitted when EMcMsgUSBMtpStart is received from MPXCollectionUtility. + This signal is emitted when usb in synchronizing state is disconnected. */ /*! - \fn void usbMtpEnded() + \fn void libraryRefreshNeeded() - This signal is emitted when EMcMsgUSBMtpEnd is received from MPXCollectionUtility. + This signal is emitted when usb in MassStorage mode is disconnected. */ @@ -154,6 +127,24 @@ */ /*! + \fn void aboutToAddSongs( int count ) + + Signal emitted up on a notification from MPX Collection wrapper, + when play list is prepared and about to be added. + \a count Indicates number of songs to be added. + + */ + +/*! + \fn void deleteStarted(TCollectionContext context, int Count) + + This signal is emitted when song delete operation has started. + \a context The context where delete operation is taking place. + \a Count Number of items to delete. + + */ + +/*! \fn void songsDeleted( bool success ) This signal is emitted when song delete operation is completed, it @@ -177,19 +168,36 @@ */ /*! + \fn void restorePathFailed() + + This signal is emitted when an the previous path cannot be restored + (i.e. no music in collection). + + */ + +/*! + \fn void containerContentsChanged() + + This signal is emitted when items are removed or inserted on the current + container. + + */ + +/*! Constructs music player engine. */ MpEngine::MpEngine() : mMpxHarvesterWrapper(0), mSongScanner(0), mMediaKeyHandler(0), - mUsbOutstandingNote(0), mMpxCollectionWrapper(0), mMpxPlaybackWrapper(0), - mMpTranslator(0), + mMpxDetailsWrapper(0), + mAudioEffectsWrapper(0), + mEqualizerWrapper(0), + mCurrentPresetIndex(KEqualizerPresetNone), mUsbBlockingState(USB_NotConnected), - mPreviousUsbState(USB_NotConnected), - mViewMode(MpCommon::DefaultView) + mPreviousUsbState(USB_NotConnected) { TX_LOG } @@ -200,42 +208,28 @@ MpEngine::~MpEngine() { TX_ENTRY + delete mMediaKeyHandler; + delete mMpxPlaybackWrapper; + delete mMpxDetailsWrapper; + delete mMpxHarvesterWrapper; + delete mMpxCollectionWrapper; + delete mAudioEffectsWrapper; + delete mEqualizerWrapper; + delete mSongScanner; TX_EXIT } /*! - Returns the singleton instance of music player engine. - */ -MpEngine * MpEngine::instance() -{ - static MpEngine instance; - return &instance; -} - -/*! Initialize engine */ -void MpEngine::initialize( MpCommon::MpViewMode viewMode, TUid hostUid ) +void MpEngine::initialize( TUid hostUid, EngineMode mode ) { TX_ENTRY - mViewMode = viewMode; mHostUid = hostUid; - - //Load musicplayer translator - QString lang = QLocale::system().name(); - QString path = QString( "z:/resource/qt/translations/" ); - bool translatorLoaded = false; - mMpTranslator = new QTranslator( this ); - translatorLoaded = mMpTranslator->load( path + "musicplayer_" + lang ); - TX_LOG_ARGS( "Loading translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mMpTranslator ); - } - - if( mViewMode == MpCommon::DefaultView || mViewMode == MpCommon::FetchView ){ + if( mode == StandAlone || mode == Fetch ){ // Harvesting Wrapper - mMpxHarvesterWrapper = new MpMpxHarvesterFrameworkWrapper( mViewMode, mHostUid ); + mMpxHarvesterWrapper = new MpMpxHarvesterFrameworkWrapper( mHostUid ); connect( mMpxHarvesterWrapper, SIGNAL( scanStarted() ), this, SLOT( handleScanStarted() ), Qt::QueuedConnection ); connect( mMpxHarvesterWrapper, SIGNAL( scanEnded(int, int) ), @@ -246,53 +240,65 @@ qRegisterMetaType("MpxUsbEvents"); connect( mMpxHarvesterWrapper, SIGNAL( usbEvent(MpxUsbEvents) ), this, SLOT( handleUsbEvent(MpxUsbEvents) ), Qt::QueuedConnection ); - mSongScanner = new MpSongScanner( mMpxHarvesterWrapper ); mMediaKeyHandler = new MpMediaKeyHandler(); + } + + if ( mode == StandAlone || mode == Fetch || mode == MediaBrowsing) { // Collection Wrapper - mMpxCollectionWrapper = new MpMpxCollectionFrameworkWrapper( mViewMode, mHostUid ); + mMpxCollectionWrapper = new MpMpxCollectionFrameworkWrapper( mHostUid ); + + //disabling these since fetch mode plays only one song at a time. + mMpxCollectionWrapper->setRepeatFeatureEnabled( mode != Fetch ); + mMpxCollectionWrapper->setShuffleFeatureEnabled( mode != Fetch ); + connect( mMpxCollectionWrapper, SIGNAL( collectionPlaylistOpened() ), this, SIGNAL( collectionPlaylistOpened() ), Qt::QueuedConnection ); + connect( mMpxCollectionWrapper, SIGNAL( aboutToAddSongs( int ) ), + this, SIGNAL( aboutToAddSongs( int ) ) ); connect( mMpxCollectionWrapper, SIGNAL( playlistSaved( bool ) ), this, SIGNAL( playlistSaved( bool ) ), Qt::QueuedConnection ); - connect( mMpxCollectionWrapper, SIGNAL( songsDeleted( bool ) ), - this, SIGNAL( songsDeleted( bool ) ), - Qt::QueuedConnection ); connect( mMpxCollectionWrapper, SIGNAL( playlistsRenamed( bool ) ), this, SIGNAL( playlistsRenamed( bool ) ), Qt::QueuedConnection ); connect( mMpxCollectionWrapper, SIGNAL( isolatedCollectionOpened( MpMpxCollectionData* ) ), this, SIGNAL( isolatedCollectionOpened( MpMpxCollectionData* ) ), Qt::QueuedConnection ); + connect( mMpxCollectionWrapper, SIGNAL( containerContentsChanged() ), + this, SIGNAL( containerContentsChanged() ), + Qt::QueuedConnection ); + connect( mMpxCollectionWrapper, SIGNAL( deleteStarted( TCollectionContext, int ) ), + this, SLOT( handleDeleteStarted( TCollectionContext, int ) ) ); + connect( mMpxCollectionWrapper, SIGNAL( songsDeleted( bool ) ), + this, SLOT( handleDeleteEnded( bool ) ), + Qt::QueuedConnection ); + connect( mMpxCollectionWrapper, SIGNAL( restorePathFailed() ), + this, SIGNAL( restorePathFailed() ), + Qt::QueuedConnection ); } - // Playback Wrapper - mMpxPlaybackWrapper = new MpMpxPlaybackFrameworkWrapper( mViewMode, mHostUid ); - - TX_EXIT -} + if( mode == StandAlone ){ + // Equalizer wrapper , this needs to be created before playback wrapper. + mEqualizerWrapper = new MpEqualizerFrameworkWrapper(); + connect( mEqualizerWrapper, SIGNAL( equalizerReady() ), + this, SLOT( handleEqualizerReady() ), Qt::QueuedConnection ); + } + + if ( mode == StandAlone || mode == Fetch || mode == Embedded ) { + // Playback Wrapper + mMpxPlaybackWrapper = new MpMpxPlaybackFrameworkWrapper( mHostUid ); + + // Details Wrapper + mMpxDetailsWrapper = new MpMpxDetailsFrameworkWrapper( mHostUid ); + } -/*! - Deinitialize wrappers - */ -void MpEngine::close( ) -{ - delete mMpTranslator; - mMpTranslator = 0; - delete mSongScanner; - mSongScanner = 0; - delete mMediaKeyHandler; - mMediaKeyHandler = 0; - delete mUsbOutstandingNote; - mUsbOutstandingNote = 0; - delete mMpxPlaybackWrapper; - mMpxPlaybackWrapper = 0; - delete mMpxHarvesterWrapper; - mMpxHarvesterWrapper = 0; - delete mMpxCollectionWrapper; - mMpxCollectionWrapper = 0; + if( mode == StandAlone ){ + // AudioEffects wrapper + mAudioEffectsWrapper = new MpAudioEffectsFrameworkWrapper(); + } + TX_EXIT } /*! @@ -306,18 +312,14 @@ Used to verify if an action can be executed depending on USB blocking state. If not, a notification note might be displayed. */ -bool MpEngine::verifyUsbBlocking( bool showMessage ) +bool MpEngine::verifyUsbBlocking( bool notify ) { TX_ENTRY bool result( false ); if ( mUsbBlockingState == USB_Connected ) { result = true; - if ( showMessage ) { - HbMessageBox *dialog = new HbMessageBox( HbMessageBox::MessageTypeInformation ); - dialog->setText( hbTrId( "txt_mus_info_usb_conn_in_progress" ) ); - dialog->setModal( true ); - setOutstandingPopup( dialog ); - mUsbOutstandingNote->show();; + if ( notify ) { + emit unableToCotinueDueUSB(); } } TX_EXIT @@ -336,15 +338,26 @@ } /*! + \ + Returs the current songScanner instance + */ +MpSongScanner *MpEngine::songScanner() +{ + return mSongScanner; +} +/*! Slot to be called to start Refresh library process. If scanning is already ongoing, this request is ignored. */ -void MpEngine::refreshLibrary() +void MpEngine::refreshLibrary( bool automaticRequest ) { TX_ENTRY if ( !verifyUsbBlocking( true ) ) { + if ( !mSongScanner ) { + mSongScanner = new MpSongScanner( mMpxHarvesterWrapper ); + } emit libraryAboutToUpdate(); - mSongScanner->scan(); + mSongScanner->scan( automaticRequest ); } TX_EXIT } @@ -390,7 +403,7 @@ break; case DiskInserted: if ( mUsbBlockingState == USB_NotConnected ) { - refreshLibrary(); + refreshLibrary( true ); } else if ( mUsbBlockingState == USB_Connected ) { emit libraryUpdated(); @@ -430,16 +443,6 @@ } /*! - Slot to be called when mUsbOutstandingNote is about to close. - */ -void MpEngine::handleOutstandingNoteClosing() -{ - TX_ENTRY - mUsbOutstandingNote = 0; - TX_EXIT -} - -/*! To be called when EMcMsgUSBMassStorageStart event is received. */ void MpEngine::handleUsbMassStorageStartEvent() @@ -449,9 +452,8 @@ changeUsbBlockingState( USB_Synchronizing ); emit usbBlocked(true); - - launchBlockingNote(); - + emit usbSynchronizationStarted(); + TX_EXIT } @@ -461,24 +463,13 @@ void MpEngine::handleUsbMassStorageEndEvent() { TX_ENTRY - mMediaKeyHandler->setEnabled(true); + mMediaKeyHandler->setEnabled(true); changeUsbBlockingState( USB_NotConnected ); emit usbBlocked(false); + emit usbSynchronizationFinished(); + emit libraryRefreshNeeded(); - HbAction *action; - HbMessageBox *promptRefresh = new HbMessageBox( HbMessageBox::MessageTypeQuestion ); - promptRefresh->setText( hbTrId( "txt_mus_info_music_may_need_to_be_refreshed" ) ); - promptRefresh->setTimeout( HbPopup::NoTimeout ); - promptRefresh->setModal( true ); - promptRefresh->clearActions(); - action = new HbAction( hbTrId( "txt_common_button_yes" ) ); - connect( action, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); - promptRefresh->addAction( action ); - action = new HbAction( hbTrId( "txt_common_button_no" ) ); - promptRefresh->addAction( action ); - setOutstandingPopup( promptRefresh ); - mUsbOutstandingNote->show(); TX_EXIT } @@ -496,7 +487,7 @@ //Cancel any ongoing operation. emit libraryAboutToUpdate(); - launchBlockingNote(); + emit usbSynchronizationStarted(); TX_EXIT } @@ -507,15 +498,13 @@ void MpEngine::handleUsbMtpEndEvent() { TX_ENTRY - mMediaKeyHandler->setEnabled(true); + mMediaKeyHandler->setEnabled(true); changeUsbBlockingState( USB_NotConnected ); emit usbBlocked(false); - - if ( mUsbOutstandingNote ) { - mUsbOutstandingNote->close(); - } + if ( mPreviousUsbState == USB_Synchronizing ) { + emit usbSynchronizationFinished(); emit libraryUpdated(); } TX_EXIT @@ -545,48 +534,6 @@ } /*! - Internal - Used to launch the usb blocking note - */ -void MpEngine::launchBlockingNote() -{ - TX_ENTRY - - HbProgressDialog *usbBlockingNote = new HbProgressDialog( HbProgressDialog::WaitDialog ); - usbBlockingNote->setModal( true ); - if ( usbBlockingNote->actions().count() ) { - //Hide cancel action. - usbBlockingNote->actions().at( 0 )->setVisible( false ); - } - usbBlockingNote->setDismissPolicy( HbPopup::NoDismiss ); - usbBlockingNote->setText( hbTrId( "txt_mus_info_usb_conn_in_progress" ) ); - setOutstandingPopup( usbBlockingNote ); - mUsbOutstandingNote->show(); - - TX_EXIT -} - -/*! - \internal - sets \a popup as the current outstanding popup and cancels any other active popup. - */ -void MpEngine::setOutstandingPopup( HbPopup *popup ) -{ - TX_ENTRY - //Close previous popup (Normally blocking usb note) - if ( mUsbOutstandingNote ) { - disconnect( mUsbOutstandingNote, SIGNAL( aboutToClose() ), this, SLOT( handleOutstandingNoteClosing() ) ); - mUsbOutstandingNote->close(); - } - - //Set new outstanding popup - popup->setAttribute( Qt::WA_DeleteOnClose ); - connect( popup, SIGNAL( aboutToClose() ), this, SLOT( handleOutstandingNoteClosing() ) ); - mUsbOutstandingNote = popup; - TX_EXIT -} - -/*! ------------------------------------------------------------------------------- Collection related ------------------------------------------------------------------------------- @@ -722,6 +669,22 @@ } /*! + Finds all songs beloging to the album specified by the \a index. + */ +void MpEngine::findAlbumSongs( int index ) +{ + mMpxCollectionWrapper->findAlbumSongs(index); +} + +/*! + Plays album with \a albumIndex starting with the songs with \a songIndex. + */ +void MpEngine::playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ) +{ + mMpxCollectionWrapper->playAlbumSongs(albumIndex, songIndex, collectionData); +} + +/*! Returns pointer to MpMpxCollectionData, which is the collection data. */ MpMpxCollectionData *MpEngine::collectionData() @@ -750,12 +713,53 @@ } /*! + Slot to be called when song deleting starts. + */ +void MpEngine::handleDeleteStarted( TCollectionContext context, int count ) +{ + TX_ENTRY + mMediaKeyHandler->setEnabled( false ); + emit deleteStarted( context, count ); + TX_EXIT +} + +/*! + Slot to be called when song deleting ends. + */ +void MpEngine::handleDeleteEnded( bool success ) +{ + TX_ENTRY + mMediaKeyHandler->setEnabled(true); + emit songsDeleted( success ); + TX_EXIT +} + +/*! + Slot to be called when song deleting ends. + */ +void MpEngine::cancelCollectionRequest() +{ + TX_ENTRY + mMpxCollectionWrapper->cancelRequest(); + TX_EXIT +} + +/*! Returns pointer to MpPlaybackData, which is the playback data. */ MpPlaybackData *MpEngine::playbackData() { return mMpxPlaybackWrapper->playbackData(); } + +/*! + Requests playback of all songs with shuffle enabled + */ +void MpEngine::shuffleAll() +{ + mMpxCollectionWrapper->openShuffleAllSongsPath(); +} + /*! Slot to be called to request embedded playback of item with Uri aFilename */ @@ -790,7 +794,7 @@ } /*! - Slot to handle a skeep forward. + Slot to handle a skip forward. */ void MpEngine::skipForward() { @@ -798,7 +802,23 @@ } /*! - Slot to handle a skeep backwards. + Slot to handle seek forward. + */ +void MpEngine::startSeekForward() +{ + mMpxPlaybackWrapper->startSeekForward(); +} + +/*! + Slot to handle stop seeking. + */ +void MpEngine::stopSeeking() +{ + mMpxPlaybackWrapper->stopSeeking(); +} + +/*! + Slot to handle a skip backwards. */ void MpEngine::skipBackward() { @@ -806,6 +826,13 @@ } /*! + Slot to handle seek backwards. + */ +void MpEngine::startSeekBackward() +{ + mMpxPlaybackWrapper->startSeekBackward(); +} +/*! Slot to handle a request to change \a position. */ void MpEngine::setPosition( int position ) @@ -829,3 +856,161 @@ mMpxPlaybackWrapper->setRepeat( mode ); } +/*! + Returns pointer to MpSongData, which is the song data for detail's view. + */ +MpSongData *MpEngine::songData() +{ + return mMpxDetailsWrapper->songData(); +} + +/*! + Retrieve song informatioin + */ +void MpEngine::retrieveSong() +{ + TX_ENTRY + mMpxDetailsWrapper->retrieveSong(); + TX_EXIT +} + +/*! + Retrieve balance informatioin from audio effects + */ +int MpEngine::balance() +{ + return mAudioEffectsWrapper->balance(); +} + +/*! + Retrieve loudness informatioin from audio effects + */ +bool MpEngine::loudness() +{ + return mAudioEffectsWrapper->loudness(); +} + +/*! + Slot to handle a request to change \a balance in audio effects. + */ +void MpEngine::setBalance( int balance ) +{ + TX_ENTRY + + if ( mAudioEffectsWrapper->balance() != balance ) { + mAudioEffectsWrapper->setBalance( balance ); + mMpxPlaybackWrapper->setBalance( balance ); + } + + TX_EXIT +} + +/*! + Slot to handle a request to change loudness \a mode in audio effects. + */ +void MpEngine::setLoudness( bool mode ) +{ + TX_ENTRY + + if( mAudioEffectsWrapper->loudness() != mode ) { //do not set same value twice + mAudioEffectsWrapper->setLoudness( mode ); + mMpxPlaybackWrapper->applyAudioEffects(); + } + + TX_EXIT +} + +/*! + Apply the preset by giving \a presetIndex. The index is subtracted by 1 because + index 0 represent "Off" at UI level. + */ +void MpEngine::applyPreset( int presetIndex ) +{ + TX_ENTRY_ARGS( "presetIndex=" << presetIndex ); + + TInt presetKey = mEqualizerWrapper->getPresetNameKey( presetIndex - 1 ); + + if ( presetKey != KEqualizerPresetNone ) { + TX_LOG_ARGS( "Preset key in engine =" << presetKey ); + // Store in CenRep file + MpSettingsManager::setPreset( presetKey ); + // Notify playback framework of the change. + mMpxPlaybackWrapper->applyEqualizer(); + mCurrentPresetIndex = presetIndex; + } + else { + TX_LOG_ARGS("getPresetNameKey Error = " << KEqualizerPresetNone); + } + + TX_EXIT +} + +/*! + Disabling equalizer by setting the preset to -1 and apply it to + disable current preset. + */ +void MpEngine::disableEqualizer() +{ + TX_ENTRY + + mCurrentPresetIndex = KEqualizerPresetNone; + // Store in CenRep file + MpSettingsManager::setPreset( mCurrentPresetIndex ); + // Notify playback framework of the change. + mMpxPlaybackWrapper->applyEqualizer(); + + TX_EXIT +} + +/*! + Return current preset index (UI) + */ +int MpEngine::activePreset() +{ + TX_LOG_ARGS("mCurrentPresetIndex = " << mCurrentPresetIndex ); + + return mCurrentPresetIndex; +} + +/*! + Retrieve list of preset names from equalizer wrapper + */ +QStringList MpEngine::presetNames() +{ + return mEqualizerWrapper->presetNames(); +} + +/*! + Save data needed to later restore state (activity) + */ +void MpEngine::saveActivityData( QByteArray &data ) +{ + mMpxCollectionWrapper->savePath( data ); +} + +/*! + Restore state from activity data + */ +void MpEngine::loadActivityData( const QByteArray &data ) +{ + mMpxCollectionWrapper->restorePath( data ); +} + +/*! + Slot to handle equalizer ready signal from equalizer wrapper. + */ +void MpEngine::handleEqualizerReady() +{ + TX_ENTRY + + // Get preset id from cenrep + TInt presetKey( MpSettingsManager::preset() ); + + //Set the current preset index. 1 is added to index because index 0 represent "Off" at UI level. + mCurrentPresetIndex = mEqualizerWrapper->getPresetIndex( presetKey ); + mCurrentPresetIndex++; + emit equalizerReady(); + + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpenginefactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpenginefactory.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,100 @@ +/* +* 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: mp engine factory. +* +*/ + +#include "mpengine.h" +#include "mpenginefactory.h" +#include "mptrace.h" + +/*! + \class MpEngineFactory + \brief Music Player engine factory. + + MP Engine factory is responsible to create and mantain ownership of MP engines. +*/ + +/*! + Constructs music player engine factory. + */ +MpEngineFactory::MpEngineFactory() + : mSharedEngine( 0 ) +{ + TX_LOG +} + +/*! + Destructs music player engine factory. + */ +MpEngineFactory::~MpEngineFactory() +{ +} + +/*! + Returns the singleton instance of music player engine factory. + */ +MpEngineFactory * MpEngineFactory::instance() +{ + static MpEngineFactory instance; + return &instance; +} + +/*! + Returns an instance to an engine with \a hostUid, and \a mode, if the shared engine is + already created parameters are ignored. + */ +MpEngine *MpEngineFactory::createSharedEngine( TUid hostUid , MpEngine::EngineMode mode ) +{ + if ( !instance()->mSharedEngine ) { + instance()->mSharedEngine = new MpEngine(); + instance()->mSharedEngine->initialize( hostUid, mode ); + } + return instance()->mSharedEngine; +} + +/*! + Returns an instance to an isolated engine with \a mode. + */ +MpEngine *MpEngineFactory::createIsolatedEngine( MpEngine::EngineMode mode ) +{ + instance()->mEngines.append( new MpEngine() ); + instance()->mEngines.last()->initialize( TUid::Uid( MpCommon::KMusicPlayerUid + instance()->mEngines.count() ), mode ); + return instance()->mEngines.last(); +} + +/*! + Returns an instance to the current shared engine previously created with createEngine(). + */ +MpEngine *MpEngineFactory::sharedEngine() +{ + return instance()->mSharedEngine; +} + +/*! + Closes all engines created on this process. + */ +void MpEngineFactory::close() +{ + if ( instance()->mSharedEngine ) { + delete instance()->mSharedEngine; + instance()->mSharedEngine = 0; + + } + MpEngine *ptr; + foreach ( ptr, instance()->mEngines ) { + delete ptr; + ptr = 0; + } +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpequalizerframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpequalizerframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,112 @@ +/* +* 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: Wrapper for equalizer framework. +* +*/ + +// System includes +#include +#include + +// User includes +#include "mpequalizerframeworkwrapper.h" +#include "mpequalizerframeworkwrapper_p.h" +#include "mptrace.h" + +/*! + \class MpEqualizerFrameworkWrapper + \ingroup musicplayer + \brief Wrapper for equalizer framework. + \since 10.1 + + Equalizer wrapper provides Qt style interface to the audio equalizer + utilities. Its implementation is hidden using private class data pattern. + + This class defines several APIs that are needed from \a MpPlaybackView + and other components in \a mpplaybackviewplugin. + + \sa MpEqualizerFrameworkWrapperPrivate +*/ + +/*! + \fn MpEqualizerFrameworkWrapper::equalizerReady() + + This signal will be emitted when Audio Eqalizer is initialized. This is + when all APIs, like \a applyPreset, are ready to be used. + + \sa MpEqualizerFrameworkWrapperPrivate::MapcInitComplete +*/ + +/*! + Constructs a new MpEqualizerFrameworkWrapper with \a parent and initializes + private imaplementation. + +*/ +MpEqualizerFrameworkWrapper::MpEqualizerFrameworkWrapper( QObject *parent ) + : QObject(parent) +{ + TX_ENTRY + + d_ptr = new MpEqualizerFrameworkWrapperPrivate(this); + d_ptr->init(); + + TX_EXIT +} + +/*! + Destructs the class and its private imaplementation. + + */ +MpEqualizerFrameworkWrapper::~MpEqualizerFrameworkWrapper() +{ + TX_LOG + + delete d_ptr; +} + +/*! + Get the preset name key by giving \a presetIndex. The command then + relays to its private implementation. + + */ +int MpEqualizerFrameworkWrapper::getPresetNameKey( int presetIndex ) +{ + TX_LOG_ARGS( "Preset index: " << presetIndex ); + + return d_ptr->getPresetNameKey( presetIndex ); +} + +/*! + Get the preset index by giving \a presetNameKey. The command then + relays to its private implementation. + + */ +int MpEqualizerFrameworkWrapper::getPresetIndex( int presetNameKey ) +{ + TX_LOG_ARGS( "Preset name key: " << presetNameKey ); + + return d_ptr->getPresetIndex( presetNameKey ); +} + +/*! + Returning the list of availale preset names. The command then relays to its + private implementation. + + */ + QStringList MpEqualizerFrameworkWrapper::presetNames() +{ + return d_ptr->presetNames(); +} + + //End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpequalizerframeworkwrapper_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpequalizerframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,258 @@ +/* +* 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: Wrapper for equalizer framework - private implementation. +* +*/ + +// System includes +#include +#include +#include +#include +#include +#include + +// User includes +#include "mpequalizerframeworkwrapper.h" +#include "mpequalizerframeworkwrapper_p.h" +#include "mptrace.h" + +// CONSTANTS +_LIT( KMPXNullSoundPath, "\\system\\data\\nullsound.mp3" ); + +/*! + \class MpEqualizerFrameworkWrapperPrivate + \ingroup musicplayer + \brief Wrapper for equalizer framework - private implementation. + + This is a private implementation of the audio eqalizer wrapper + utilties interface. + +*/ + +/*! + Constructs a new MpEqualizerFrameworkWrapper with \a parent and initializes its + private imaplementation. +*/ +MpEqualizerFrameworkWrapperPrivate::MpEqualizerFrameworkWrapperPrivate( MpEqualizerFrameworkWrapper *wrapper ): + q_ptr( wrapper ), + mEqualizerUtility (NULL) +{ + TX_LOG +} + +/*! + Destructs the class. + */ +MpEqualizerFrameworkWrapperPrivate::~MpEqualizerFrameworkWrapperPrivate() +{ + TX_ENTRY + + delete mEqualizerUtility; + + if ( mMdaPlayUtility ) { + mMdaPlayUtility->Close(); + } + delete mMdaPlayUtility; + + TX_EXIT +} + +/*! + Calls the DoInit to initialize Symbian based components. + + \sa DoInitL() + */ +void MpEqualizerFrameworkWrapperPrivate::init() +{ + TX_ENTRY + + TRAPD(err, DoInitL()); + if ( err != KErrNone ) { + TX_LOG_ARGS("MpEqualizerFrameworkWrapperPrivate::init err = " << err); + } + + TX_EXIT +} + +/*! + Get the preset name key by giving preset index. + + */ +int MpEqualizerFrameworkWrapperPrivate::getPresetNameKey( int presetIndex ) +{ + TX_ENTRY_ARGS( "preset index=" << presetIndex ); + + int presetKey( KEqualizerPresetNone ); + if ( mEqualizerUtility ) { + TRAPD( err, presetKey = DoGetPresetNameKeyL( presetIndex ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS("DoGetPresetNameKeyL Error = " << err); + presetKey = KEqualizerPresetNone; + } + TX_LOG_ARGS( "Preset key in engine =" << presetKey ); + } + else { + TX_LOG_ARGS( "Equalizer not ready." ); + } + + TX_EXIT_ARGS( "Preset Name Key = " << presetKey ); + + return presetKey; +} + +/*! + Get the preset index by giving preset name key. + + */ +int MpEqualizerFrameworkWrapperPrivate::getPresetIndex( int presetNameKey ) +{ + TX_ENTRY_ARGS( "Preset Name Key = " << presetNameKey); + + int presetIndex = KEqualizerPresetNone; + if ( mEqualizerUtility && presetNameKey != KEqualizerPresetNone ) { + TArray presetArray = mEqualizerUtility->Presets(); + for ( TInt i = 0; i < presetArray.Count(); i++ ) { + TX_LOG_ARGS("presetArray[" << i << "].iPresetNameKey (" + << presetArray[i].iPresetNameKey << ") vs presetId (" <( presetNameKey ) ) { + presetIndex = i; + break; + } + } + } + + TX_EXIT_ARGS( "Preset Index = " << presetIndex ); + + return presetIndex; +} + + +/*! + Returning the list of availale preset names. + + \sa CAudioEqualizerUtility + */ +QStringList MpEqualizerFrameworkWrapperPrivate::presetNames() +{ + TX_ENTRY + + QStringList presetList; + + if ( mEqualizerUtility == NULL ) { + TX_LOG_ARGS( "Equalizer not ready." ); + return presetList; + } + + TArray presetArray = mEqualizerUtility->Presets(); + for (TInt i=0; iOpenFileL( nullSoundPath ); + + TX_EXIT +} + +/*! + \internal + */ +TInt MpEqualizerFrameworkWrapperPrivate::DoGetPresetNameKeyL( const TInt presetIndex ) const +{ + TX_ENTRY_ARGS( "preset index=" << presetIndex ); + + TInt presetNameKey = KErrNotFound; + TPresetName presetName = mEqualizerUtility->GetPresetL( presetIndex ); + + TArray presets = mEqualizerUtility->Presets(); + for ( TInt index = 0; index < presets.Count(); index++ ) { + TPresetName selectedItem = presets[index].iPresetName; + TX_LOG_ARGS(" Comparing..." << presets[index].iPresetNameKey ); + if ( selectedItem == presetName ) { + presetNameKey = presets[index].iPresetNameKey; + TX_LOG_ARGS(" Comparing mached presetNameKey = " << presetNameKey ); + break; + } + } + + TX_EXIT + + return presetNameKey; +} + +/*! + \internal + */ +void MpEqualizerFrameworkWrapperPrivate::MapcInitComplete( + TInt aError, + const TTimeIntervalMicroSeconds& /* aDuration */ ) +{ + TX_ENTRY_ARGS( "aError=" << aError ); + + if ( !aError ) { + TRAPD(err, mEqualizerUtility = CAudioEqualizerUtility::NewL( *mMdaPlayUtility ) ); + if ( err == KErrNone ) { + emit q_ptr->equalizerReady(); + } + else { + TX_ENTRY_ARGS( "CAudioEquqlizerUtility error=" << err ); + } + } + else { + TX_ENTRY_ARGS( "MapcInitComplete error=" << aError ); + } + + TX_EXIT +} + +/*! + \internal + */ +void MpEqualizerFrameworkWrapperPrivate::MapcPlayComplete( + TInt /* aError */ ) +{ + TX_LOG + // Do nothing +} + +//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmediakeyhandler_p.cpp --- a/mpengine/src/mpmediakeyhandler_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmediakeyhandler_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -405,13 +405,63 @@ TMPXPlaybackState playerState( iPlaybackUtility->StateL() ); switch ( aCommandId ) { + case EPbCmdPlayPause: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdPlayPause ); + } + break; + case EPbCmdPlay: + if ( playerState == EPbStateStopped || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdPlay ); + } + break; + case EPbCmdStop: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStop ); + } + break; + case EPbCmdPause: + if ( playerState == EPbStatePlaying ) { + iPlaybackUtility->CommandL( EPbCmdPause ); + } + break; + case EPbCmdStartSeekBackward: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStartSeekBackward ); + } + break; + case EPbCmdStartSeekForward: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused ) { + iPlaybackUtility->CommandL( EPbCmdStartSeekForward ); + } + break; + case EPbCmdStopSeeking: + if ( playerState == EPbStateSeekingBackward || playerState == EPbStateSeekingForward ) { + iPlaybackUtility->CommandL( EPbCmdStopSeeking ); + } + break; + case EPbCmdPrevious: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdPrevious ); + } + break; + case EPbCmdNext: + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { + iPlaybackUtility->CommandL( EPbCmdNext ); + } + break; case EPbCmdIncreaseVolume: - if ( EPbStatePlaying == playerState ) { + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { iPlaybackUtility->CommandL( EPbCmdIncreaseVolume ); } break; case EPbCmdDecreaseVolume: - if ( EPbStatePlaying == playerState ) { + if ( playerState == EPbStatePlaying || playerState == EPbStatePaused + || playerState == EPbStateStopped ) { iPlaybackUtility->CommandL( EPbCmdDecreaseVolume ); } break; @@ -419,7 +469,6 @@ break; } } - } // --------------------------------------------------------------------------- @@ -431,7 +480,6 @@ static_cast( aPtr )->HandleRepeatEvent(); - return KErrNone; } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmediakeyremconresponse.cpp --- a/mpengine/src/mpmediakeyremconresponse.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmediakeyremconresponse.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -70,6 +70,54 @@ { switch ( aOperationId ) { + case ERemConCoreApiPausePlayFunction: + { + iRemConCoreApiTarget.PausePlayFunctionResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiPlay: + { + iRemConCoreApiTarget.PlayResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiStop: + { + iRemConCoreApiTarget.StopResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiPause: + { + iRemConCoreApiTarget.PauseResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiRewind: + { + iRemConCoreApiTarget.RewindResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiFastForward: + { + iRemConCoreApiTarget.FastForwardResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiBackward: + { + iRemConCoreApiTarget.BackwardResponse( iStatus, KErrNone ); + SetActive(); + break; + } + case ERemConCoreApiForward: + { + iRemConCoreApiTarget.ForwardResponse( iStatus, KErrNone ); + SetActive(); + break; + } case ERemConCoreApiVolumeUp: { iRemConCoreApiTarget.VolumeUpResponse( iStatus, KErrNone ); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxcollectionframeworkwrapper.cpp --- a/mpengine/src/mpmpxcollectionframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxcollectionframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -43,6 +43,13 @@ */ /*! + \fn void deleteStarted(); + + This signal is emitted when song delete operation is started + + */ + +/*! \fn void songsDeleted( bool success ) This signal is emitted when song delete operation is completed, it @@ -59,22 +66,36 @@ */ /*! + \fn void aboutToAddSongs( int count ) + + This signal is emitted when play list is prepared and about to be added. + \a count Indicates number of songs to be added + + */ + +/*! \fn void isolatedCollectionOpened( MpMpxCollectionData* collectionData ) This signal is emitted when an isolated collection is opened on \a context */ - +/*! + \fn void containerContentsChanged() + + This signal is emitted when items are removed or inserted on the current + container. + + */ /*! Constructs the utility wrapper. */ -MpMpxCollectionFrameworkWrapper::MpMpxCollectionFrameworkWrapper( MpCommon::MpViewMode viewMode, TUid hostUid, QObject *parent ) +MpMpxCollectionFrameworkWrapper::MpMpxCollectionFrameworkWrapper( TUid hostUid, QObject *parent ) : QObject( parent ) { d_ptr = new MpMpxCollectionFrameworkWrapperPrivate( this ); - d_ptr->init( viewMode, hostUid ); + d_ptr->init( hostUid ); } /*! @@ -207,6 +228,22 @@ } /*! + Finds all songs beloging to the album specified by the \a index. + */ +void MpMpxCollectionFrameworkWrapper::findAlbumSongs( int index ) +{ + d_ptr->findAlbumSongs(index); +} + +/*! + Plays album with \a albumIndex starting with the songs with \a songIndex. +*/ +void MpMpxCollectionFrameworkWrapper::playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ) +{ + d_ptr->playAlbumSongs( albumIndex, songIndex, collectionData ); +} + +/*! Returns pointer to MpMpxCollectionData, which is the collection data. */ MpMpxCollectionData *MpMpxCollectionFrameworkWrapper::collectionData() @@ -234,4 +271,51 @@ d_ptr->reorderPlaylist( playlistId, songId, originalOrdinal, newOrdinal ); } +/*! + Called to set the repeat feature to \a enable + */ +void MpMpxCollectionFrameworkWrapper::setRepeatFeatureEnabled( bool enable ) +{ + d_ptr->setRepeatFeatureEnabled( enable ); +} +/*! + Called to set the shuffle feature to \a enable + */ +void MpMpxCollectionFrameworkWrapper::setShuffleFeatureEnabled( bool enable ) +{ + d_ptr->setShuffleFeatureEnabled( enable ); +} + +/*! + Called to open all songs path and trigger shuffle all songs play + */ +void MpMpxCollectionFrameworkWrapper::openShuffleAllSongsPath() +{ + d_ptr->openShuffleAllSongsPath(); +} + +/*! + Called to save playback data used for publishing activity (i.e. restore path) + */ +void MpMpxCollectionFrameworkWrapper::savePath( QByteArray &data ) +{ + d_ptr->savePath( data ); +} + +/*! + Called to load playback data used from returning activity (i.e. restore path) + */ +void MpMpxCollectionFrameworkWrapper::restorePath( const QByteArray &data ) +{ + return d_ptr->restorePath( data ); +} +/*! + Cancels CollectionUiHelper request. + */ +void MpMpxCollectionFrameworkWrapper::cancelRequest() +{ + d_ptr->cancel(); +} + +//EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxcollectionframeworkwrapper_p.cpp --- a/mpengine/src/mpmpxcollectionframeworkwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxcollectionframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -78,7 +78,13 @@ iCollectionData( 0 ), iIsolatedCollectionData( 0 ), iFirstIncrementalOpen( EFalse ), - iUserPlaylists( 0 ) + iUserPlaylists( 0 ), + iRepeatFeature( ETrue ), + iShuffleFeature( ETrue ), + iReopen( EFalse ), + iShuffleAll( EFalse ), + iRestoreDefaultPath( EFalse ), + iRestorePathIndex(0) { TX_LOG } @@ -115,10 +121,9 @@ /*! \internal */ -void MpMpxCollectionFrameworkWrapperPrivate::init( MpCommon::MpViewMode viewMode, TUid hostUid ) +void MpMpxCollectionFrameworkWrapperPrivate::init( TUid hostUid ) { - iViewMode = viewMode; mHostUid = hostUid; TRAPD( err, DoInitL() ); if ( err != KErrNone ) { @@ -154,7 +159,10 @@ void MpMpxCollectionFrameworkWrapperPrivate::reopenCollection() { TRAPD( err, DoReopenCollectionL() ); - if ( err != KErrNone ) { + if ( err == KErrNone ) { + iReopen = ETrue; + } + else { TX_LOG_ARGS( "Error: " << err << "; should never get here." ); } } @@ -218,8 +226,20 @@ */ void MpMpxCollectionFrameworkWrapperPrivate::deleteSongs( QList &selection ) { - TRAPD( err, DoDeleteSongsL( selection ) ); - if ( err != KErrNone ) { + TCollectionContext context = iCollectionData->context(); + int err; + if ( context == ECollectionContextArtistAlbumsTBone + || context == ECollectionContextAlbumsTBone ) { + TRAP( err, DoDeleteAlbumSongsL( selection ) ); + } + else { + TRAP( err, DoDeleteSongsL( selection ) ); + } + if ( err == KErrNone ) { + // send signal that deleting has started. + emit q_ptr->deleteStarted(iCollectionData->context(), selection.count()); + } + else{ TX_LOG_ARGS( "Error: " << err << "; should never get here." ); } } @@ -261,7 +281,15 @@ */ void MpMpxCollectionFrameworkWrapperPrivate::previewItem( int index ) { - TRAPD( err, DoPreviewItemL( index ) ); + TCollectionContext context = iCollectionData->context(); + int err; + if ( context == ECollectionContextArtistAlbumsTBone + || context == ECollectionContextAlbumsTBone ) { + TRAP( err, DoPreviewAlbumSongL( index ) ); + } + else { + TRAP( err, DoPreviewSongL( index ) ); + } if ( err != KErrNone ) { TX_LOG_ARGS( "Error: " << err << "; should never get here." ); } @@ -303,6 +331,36 @@ /*! \internal */ +void MpMpxCollectionFrameworkWrapperPrivate::cancel() +{ + iCollectionUiHelper->Cancel(); +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::findAlbumSongs( int index ) +{ + TRAPD( err, DoFindAlbumSongsL( index ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::playAlbumSongs( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ) +{ + TRAPD( err, DoPlayAlbumSongsL( albumIndex, songIndex, collectionData ? collectionData : iCollectionData ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } +} + +/*! + \internal + */ MpMpxCollectionData *MpMpxCollectionFrameworkWrapperPrivate::collectionData() { return iCollectionData; @@ -311,6 +369,51 @@ /*! \internal */ +void MpMpxCollectionFrameworkWrapperPrivate::openShuffleAllSongsPath() +{ + TX_ENTRY + TRAPD( err, DoOpenCollectionL(ECollectionContextAllSongs) ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } + else { + iShuffleAll = ETrue; + } + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::savePath( QByteArray &data ) +{ + TX_ENTRY + TRAPD( err, DoSavePathL( data ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } + TX_EXIT + +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::restorePath( const QByteArray &data ) +{ + TX_ENTRY + TRAPD( err, DoRestorePathL( data ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS( "Error: " << err << "; should never get here." ); + } + TX_EXIT +} + + +/*! + \internal + Result of open or re-open operation to the Collection Framework. + */ void MpMpxCollectionFrameworkWrapperPrivate::HandleOpenL( const CMPXMedia& aEntries, TInt aIndex, @@ -322,8 +425,15 @@ TX_ENTRY_ARGS( "aError=" << aError << "aComplete=" << aComplete ); if ( aError == KErrNone ) { if ( iFirstIncrementalOpen ) { - iCollectionData->setMpxMedia( aEntries ); iFirstIncrementalOpen = EFalse; + if( iShuffleAll ) { + iShuffleAll = EFalse; + TX_ENTRY_ARGS( "Path is ready" ); + DoPlayAllSongsPlaylistL(); + + } + iCollectionData->setMpxMedia( aEntries, iReopen ); + iReopen = EFalse; } } else { @@ -342,15 +452,8 @@ TX_ENTRY_ARGS( "aError=" << aError ); if ( aError == KErrNone ) { - if ( !iPlaybackUtility ) { - - iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); - - if ( iViewMode == MpCommon::DefaultView ) { - iPlaybackUtility->SetL( EPbPropertyRandomMode, MpSettingsManager::shuffle() ? ETrue : EFalse ); - iPlaybackUtility->SetL( EPbPropertyRepeatMode, MpSettingsManager::repeat() ? EPbRepeatAll : EPbRepeatOff ); - } - } + //TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. + createPlaybackUtilityL(); iPlaybackUtility->InitL( aPlaylist, ETrue ); emit q_ptr->collectionPlaylistOpened(); } @@ -439,20 +542,96 @@ /*! \internal */ +void MpMpxCollectionFrameworkWrapperPrivate::HandleIsolatedOpenRestorePathL( const CMPXCollectionPath& aPath, TInt aError ) +{ + TX_ENTRY_ARGS( "aError=" << aError ); + if ( aError == KErrNone ) { + CMPXCollectionPath* cpath = CMPXCollectionPath::NewL( aPath ); + CleanupStack::PushL( cpath ); + if ( cpath->Count() <= 0 ) { + //There are no entries on the path + if ( !iRestoreDefaultPath ) { + //Try restoring default path if not already tried + //This is a special case where a playlist's songs where on the MMC and it was removed + iRestoreDefaultPath = ETrue; + iRestorePathIndex = 0; + CMPXCollectionPath* cpath = iCollectionUiHelper->MusicAllSongsPathL(); + CleanupStack::PushL( cpath ); + iIsolatedCollectionHelper->OpenCollectionL( *cpath, iRestorePathIndex, CMpMpxIsolatedCollectionHelper::RestorePathMode ); + CleanupStack::PopAndDestroy( cpath ); + } + else { + //emit signal to go back to collection view because there is no music + emit q_ptr->restorePathFailed(); + } + } + else if ( iRestorePathIndex ) { + //If RestorePathIndex equals zero there is no need to check with previous index + //just go and create playlist below + if ( iRestorePathIndex == cpath->IndexOfId( iRestorePathIndexId ) ) { + //Song is in path and maintains previous position + cpath->Set( iRestorePathIndex ); + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + createPlaybackUtilityL(); + iPlaybackUtility->InitL( *playList, EFalse ); + CleanupStack::PopAndDestroy( playList ); + } + else { + //Re open path starting at the beginning of the collection + iRestorePathIndex = 0; + cpath->Back(); + iIsolatedCollectionHelper->OpenCollectionL( *cpath, iRestorePathIndex, CMpMpxIsolatedCollectionHelper::RestorePathMode ); + } + } + else { + //We create a playlist right away since there is no need to check the index for the first element + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + createPlaybackUtilityL(); + iPlaybackUtility->InitL( *playList, EFalse ); + CleanupStack::PopAndDestroy( playList ); + } + CleanupStack::PopAndDestroy( cpath ); + } + else if ( aError == KErrNotFound ) { + //Path not found (e.g. MMC removed) try restoring default path + iRestoreDefaultPath = ETrue; + iRestorePathIndex = 0; + CMPXCollectionPath* cpath = iCollectionUiHelper->MusicAllSongsPathL(); + CleanupStack::PushL( cpath ); + iIsolatedCollectionHelper->OpenCollectionL( *cpath, iRestorePathIndex, CMpMpxIsolatedCollectionHelper::RestorePathMode ); + CleanupStack::PopAndDestroy( cpath ); + } + else { + //Open path failed + TX_LOG_ARGS( "Error: " << aError << "; should never get here." ); + } + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::HandleFindAllL( const CMPXMedia& aResults, TBool aComplete, TInt aError ) +{ + Q_UNUSED( aComplete ); + TX_ENTRY_ARGS( "aError=" << aError ); + + if ( aError == KErrNone ) { + iCollectionData->setAlbumContent( aResults ); + } +} + +/*! + \internal + */ void MpMpxCollectionFrameworkWrapperPrivate::DoInitL() { TX_ENTRY - if ( iViewMode == MpCommon::FetchView ) { - iCollectionUtility = MMPXCollectionUtility::NewL( this, mHostUid ); - iCollectionUiHelper = CMPXCollectionHelperFactory:: NewCollectionUiHelperL( mHostUid ); - iIncrementalOpenUtil = CMPXCollectionOpenUtility::NewL( this, mHostUid ); - } - else { - iCollectionUtility = MMPXCollectionUtility::NewL( this, KMcModeDefault ); - iCollectionUiHelper = CMPXCollectionHelperFactory:: NewCollectionUiHelperL(); - iIncrementalOpenUtil = CMPXCollectionOpenUtility::NewL( this ); - } - + iCollectionUtility = MMPXCollectionUtility::NewL( this, mHostUid ); + iCollectionUiHelper = CMPXCollectionHelperFactory:: NewCollectionUiHelperL( mHostUid ); + iIncrementalOpenUtil = CMPXCollectionOpenUtility::NewL( this, mHostUid ); iCollectionData = new MpMpxCollectionData(); TX_EXIT } @@ -478,7 +657,7 @@ { CMPXCollectionPath* cpath = iCollectionUiHelper->MusicMenuPathL(); CleanupStack::PushL( cpath ); - cpath->AppendL( 2 ); + cpath->AppendL( BrowseArtist ); iCollectionUtility->Collection().OpenL( *cpath ); CleanupStack::PopAndDestroy( cpath ); break; @@ -487,7 +666,7 @@ { CMPXCollectionPath* cpath = iCollectionUiHelper->MusicMenuPathL(); CleanupStack::PushL( cpath ); - cpath->AppendL( 3 ); + cpath->AppendL( BrowseAlbum ); iCollectionUtility->Collection().OpenL( *cpath ); CleanupStack::PopAndDestroy( cpath ); break; @@ -500,12 +679,11 @@ CleanupStack::PopAndDestroy( cpath ); break; } - case ECollectionContextGenres: + case ECollectionContextAlbumsMediaWall: { CMPXCollectionPath* cpath = iCollectionUiHelper->MusicMenuPathL(); CleanupStack::PushL( cpath ); - // Temp - cpath->AppendL( 5 ); + cpath->AppendL( BrowseAlbumMediaWall ); iCollectionUtility->Collection().OpenL( *cpath ); CleanupStack::PopAndDestroy( cpath ); break; @@ -710,7 +888,7 @@ CMPXCollectionPath* path( iCollectionUtility->Collection().PathL() ); CleanupStack::PushL( path ); - + if (count > 1) { for ( TInt i = 0; i < count; i++ ){ path->SelectL( selection.at( i ) ); @@ -719,6 +897,7 @@ else { path->Set( selection.at(0) ); } + iCollectionUiHelper->DeleteL( *path, this ); CleanupStack::PopAndDestroy( path ); TX_EXIT @@ -727,6 +906,39 @@ /*! \internal */ +void MpMpxCollectionFrameworkWrapperPrivate::DoDeleteAlbumSongsL( QList &selection ) +{ + int count = selection.count(); + TX_ENTRY_ARGS( "selection count=" << count ); + + CMPXCollectionPath* path( iCollectionUtility->Collection().PathL() ); + CleanupStack::PushL( path ); + MPX_DEBUG_PATH( *path ); + + CMPXMediaArray *mediaArray; + const CMPXMedia& container = iCollectionData->containerMedia(); + mediaArray = const_cast( container.Value( KMPXMediaArrayContents ) ); + int currentAlbumIndex = iCollectionData->currentAlbumIndex(); + CMPXMedia* album( mediaArray->AtL( currentAlbumIndex ) ); + if ( album->IsSupported(KMPXMediaArrayContents) ) { + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + User::LeaveIfNull(const_cast(songs)); + int index = selection.at(0); + CMPXMedia* song = songs->AtL(index); + + TMPXItemId id( song->ValueTObjectL( KMPXMediaGeneralId ) ); + path->AppendL( id ); // Append the song ID to be deleted + path->Set( 0 ); // Select 1st song + + iCollectionUiHelper->DeleteL( *path, this ); + } + CleanupStack::PopAndDestroy( path ); + TX_EXIT +} + +/*! + \internal + */ void MpMpxCollectionFrameworkWrapperPrivate::DoRenamePlaylistL( QString &newName, int index ) { TX_ENTRY @@ -784,9 +996,40 @@ /*! \internal */ -void MpMpxCollectionFrameworkWrapperPrivate::DoPreviewItemL( int index ) +void MpMpxCollectionFrameworkWrapperPrivate::DoPreviewSongL( int index ) { TX_ENTRY + + // Get the current path + CMPXCollectionPath* cpath = iCollectionUtility->Collection().PathL(); + CleanupStack::PushL( cpath ); + MPX_DEBUG_PATH( *cpath ); + cpath->Back(); + + TMPXItemId id( iCollectionData->itemId(index) ); + cpath->AppendL( id ); // Top level items of songs + cpath->Set( 0 ); // Select 1st song + + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + playList->SetToFirst(); + //TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. + createPlaybackUtilityL(); + iPlaybackUtility->InitL( *playList, ETrue ); + emit q_ptr->collectionPlaylistOpened(); + + CleanupStack::PopAndDestroy( playList ); + CleanupStack::PopAndDestroy( cpath ); + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoPreviewAlbumSongL( int index ) +{ + TX_ENTRY + //TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. if ( !iPlaybackUtility ) { iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); } @@ -795,25 +1038,30 @@ CMPXCollectionPath* cpath = iCollectionUtility->Collection().PathL(); CleanupStack::PushL( cpath ); MPX_DEBUG_PATH( *cpath ); - cpath->Back(); CMPXMediaArray *mediaArray; const CMPXMedia& container = iCollectionData->containerMedia(); mediaArray = const_cast( container.Value( KMPXMediaArrayContents ) ); - CMPXMedia* currentMedia( mediaArray->AtL( index ) ); - TMPXItemId id( currentMedia->ValueTObjectL( KMPXMediaGeneralId ) ); - - cpath->AppendL( id ); // Top level items of songs - cpath->Set( 0 ); // Select 1st song + int currentAlbumIndex = iCollectionData->currentAlbumIndex(); + CMPXMedia* album( mediaArray->AtL( currentAlbumIndex ) ); + if ( album->IsSupported(KMPXMediaArrayContents) ) { + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + User::LeaveIfNull(const_cast(songs)); + CMPXMedia* song = songs->AtL(index); - CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); - CleanupStack::PushL( playList ); - playList->SetToFirst(); + TMPXItemId id( song->ValueTObjectL( KMPXMediaGeneralId ) ); + cpath->AppendL( id ); // Top level items of songs + cpath->Set( 0 ); // Select 1st song - iPlaybackUtility->InitL( *playList, ETrue ); - emit q_ptr->collectionPlaylistOpened(); + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + playList->SetToFirst(); + //TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. + iPlaybackUtility->InitL( *playList, ETrue ); + emit q_ptr->collectionPlaylistOpened(); - CleanupStack::PopAndDestroy( playList ); + CleanupStack::PopAndDestroy( playList ); + } CleanupStack::PopAndDestroy( cpath ); TX_EXIT } @@ -840,9 +1088,126 @@ */ void MpMpxCollectionFrameworkWrapperPrivate::DoReorderPlaylistL( int playlistId, int songId, int originalOrdinal, int newOrdinal ) { - iCollectionUiHelper->ReorderPlaylistL( playlistId, songId, originalOrdinal, newOrdinal, this ); + iCollectionUiHelper->ReorderPlaylistL( playlistId, songId, originalOrdinal, newOrdinal, this ); +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoFindAlbumSongsL( int index ) +{ + const CMPXMedia& container = iCollectionData->containerMedia(); + const CMPXMediaArray* mediaArray = container.Value( KMPXMediaArrayContents ); + CMPXMedia* album( mediaArray->AtL( index ) ); + + // Fetch the songs for the selected album + TMPXItemId albumId = album->ValueTObjectL(KMPXMediaGeneralId); + CMPXMedia* findCriteria = CMPXMedia::NewL(); + CleanupStack::PushL( findCriteria ); + findCriteria->SetTObjectValueL( KMPXMediaGeneralType, EMPXGroup ); + findCriteria->SetTObjectValueL( KMPXMediaGeneralCategory, EMPXSong ); + findCriteria->SetTObjectValueL( KMPXMediaGeneralId, albumId ); + RArray attrs; + CleanupClosePushL( attrs ); + attrs.Append( TMPXAttribute( KMPXMediaIdGeneral, + EMPXMediaGeneralTitle | + EMPXMediaGeneralUri | + EMPXMediaGeneralId | + EMPXMediaGeneralType | + EMPXMediaGeneralCategory | + EMPXMediaGeneralFlags ) ); + attrs.Append( KMPXMediaMusicAlbumTrack ); + + iCollectionUtility->Collection().FindAllL( *findCriteria, attrs.Array(), *this ); + CleanupStack::PopAndDestroy( &attrs ); + CleanupStack::PopAndDestroy( findCriteria ); } +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoPlayAlbumSongsL( int albumIndex, int songIndex, MpMpxCollectionData* collectionData ) +{ + TX_ENTRY + + RArray ids; + CleanupClosePushL(ids); + + CMPXCollectionPath* cpath; + + //Following check is for a use case for media wall, where it is required + //to play songs that are browsed by an isolated collection. + if ( collectionData->context() == ECollectionContextAlbumsMediaWall ) { + //Get the Media Wall path. + cpath = iCollectionUiHelper->MusicMenuPathL(); + CleanupStack::PushL( cpath ); + //TODO: change to BrowseAlbumMediaWall befor when merging with olveras changes. + cpath->AppendL( BrowseAlbum ); + const TMPXItemId albumId = collectionData->itemId( albumIndex ); + //Append the selected album. + RArray items; + CleanupClosePushL(items); + items.AppendL(albumId); + cpath->AppendL(items.Array()); + CleanupStack::PopAndDestroy( &items ); + cpath->Set( 0 ); // Set the album. + + } + else { + // Get the current path + cpath = iCollectionUtility->Collection().PathL(); + CleanupStack::PushL( cpath ); + cpath->Set(albumIndex); // Set the selected album + } + MPX_DEBUG_PATH( *cpath ); + + CMPXMediaArray *mediaArray; + const CMPXMedia& container = collectionData->containerMedia(); + mediaArray = const_cast( container.Value( KMPXMediaArrayContents ) ); + CMPXMedia* album( mediaArray->AtL( albumIndex ) ); + const CMPXMediaArray* songs = album->Value(KMPXMediaArrayContents); + User::LeaveIfNull(const_cast(songs)); + + TInt count = songs->Count(); + for ( TInt i = 0; i < count; ++i ) { + CMPXMedia* song = songs->AtL(i); + const TMPXItemId id = song->ValueTObjectL(KMPXMediaGeneralId); + ids.AppendL(id); + } + + cpath->AppendL(ids.Array()); // Top level items of songs + cpath->Set(songIndex); // Set the selected song + MPX_DEBUG_PATH(*cpath); + + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + + //TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. + createPlaybackUtilityL(); + iPlaybackUtility->InitL( *playList, ETrue ); + emit q_ptr->collectionPlaylistOpened(); + + CleanupStack::PopAndDestroy( playList ); + CleanupStack::PopAndDestroy( cpath ); + CleanupStack::PopAndDestroy( &ids ); + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::setRepeatFeatureEnabled( bool enable ) +{ + iRepeatFeature = enable; +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::setShuffleFeatureEnabled( bool enable ) +{ + iShuffleFeature = enable; +} /*! \internal @@ -872,6 +1237,9 @@ iCollectionUtility->Collection().OpenL(); } } + else if( id == KMPXMessageIdItemChanged ) { + emit q_ptr->containerContentsChanged(); + } TX_EXIT } @@ -887,9 +1255,27 @@ int count = selection.count(); TX_ENTRY_ARGS( "selection count=" << count ); - const CMPXMedia& container = collectionData->containerMedia(); - const CMPXMediaArray* containerArray = container.Value( KMPXMediaArrayContents ); - User::LeaveIfNull( const_cast( containerArray ) ); + const CMPXMediaArray* mediaArray = 0; + + if ( ( collectionData->context() == ECollectionContextArtistAlbumsTBone ) || + ( collectionData->context() == ECollectionContextAlbumsTBone ) ) { + //There is no need to find the track information, for TBone we cash it under the media itself. + //Fetching song data from container media. + CMPXMedia* album; + const CMPXMediaArray* albumsArray; + albumsArray = collectionData->containerMedia().Value( KMPXMediaArrayContents ); + int index = collectionData->currentAlbumIndex(); + if ( index >= 0 ) { + album = albumsArray->AtL( collectionData->currentAlbumIndex() ); + mediaArray = album->Value( KMPXMediaArrayContents ); + } + } + else { + const CMPXMedia& container = collectionData->containerMedia(); + mediaArray = container.Value( KMPXMediaArrayContents ); + } + + User::LeaveIfNull( const_cast( mediaArray ) ); CMPXMediaArray* tracksArray( CMPXMediaArray::NewL() ); CleanupStack::PushL( tracksArray ); @@ -898,13 +1284,15 @@ TMPXItemId collectionId( path->Id( 0 ) ); CleanupStack::PopAndDestroy( path ); - if ( ( collectionData->context() == ECollectionContextAlbums ) || - ( collectionData->context() == ECollectionContextArtistAlbums ) || - ( collectionData->context() == ECollectionContextArtists ) ) { + if ( collectionData->context() == ECollectionContextAlbums || + collectionData->context() == ECollectionContextArtistAlbums || + collectionData->context() == ECollectionContextArtists ) { + //Container, it is possible to append multiple containers to a playlist. + //Currently we are just using single selection from the ui. for ( TInt i = 0; i < count; i++ ) { CMPXMedia* results; - CMPXMedia* container( containerArray->AtL( selection[i] ) ); - // Fetch the songs for the selected album + CMPXMedia* container( mediaArray->AtL( selection[i] ) ); + // Fetch the songs for the selected container TMPXItemId containerId = container->ValueTObjectL( KMPXMediaGeneralId ); CMPXMedia* findCriteria = CMPXMedia::NewL(); CleanupStack::PushL( findCriteria ); @@ -916,12 +1304,6 @@ attrs.Append( TMPXAttribute( KMPXMediaIdGeneral, EMPXMediaGeneralTitle | EMPXMediaGeneralId ) ); - if ( collectionData->context() == ECollectionContextArtists ){ - attrs.Append( KMPXMediaMusicArtist ); - } - else { - attrs.Append( KMPXMediaMusicAlbumTrack ); - } results = iCollectionUtility->Collection().FindAllL( *findCriteria, attrs.Array() ); CleanupStack::PopAndDestroy( &attrs ); CleanupStack::PopAndDestroy( findCriteria ); @@ -947,9 +1329,10 @@ } } - else { + else { + //Tracks for ( TInt i = 0; i < count; i++ ) { - CMPXMedia* media( containerArray->AtL( selection.at( i ) ) ); + CMPXMedia* media( mediaArray->AtL( selection.at( i ) ) ); CMPXMedia* entry = CMPXMedia::NewL(); CleanupStack::PushL( entry ); entry->SetTextValueL( KMPXMediaGeneralTitle, @@ -968,6 +1351,121 @@ aMedia.SetCObjectValueL( KMPXMediaArrayContents, tracksArray ); aMedia.SetTObjectValueL( KMPXMediaArrayCount, tracksArray->Count() ); + emit q_ptr->aboutToAddSongs( tracksArray->Count() ); + CleanupStack::PopAndDestroy( tracksArray ); TX_EXIT } + +/*! + \internal + TODO: all calls to playback utility should be done via the engine and trough the playback FW wrapper. + */ +void MpMpxCollectionFrameworkWrapperPrivate::createPlaybackUtilityL() +{ + if ( !iPlaybackUtility ) { + + iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); + + if ( iShuffleFeature ) { + iPlaybackUtility->SetL( EPbPropertyRandomMode, MpSettingsManager::shuffle() ? ETrue : EFalse ); + } + if ( iRepeatFeature ) { + iPlaybackUtility->SetL( EPbPropertyRepeatMode, MpSettingsManager::repeat() ? EPbRepeatAll : EPbRepeatOff ); + } + } +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoPlayAllSongsPlaylistL() +{ + TX_ENTRY + CMPXCollectionPath* cpath = iCollectionUtility->Collection().PathL(); + CleanupStack::PushL( cpath ); + CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath ); + CleanupStack::PushL( playList ); + playList->SetShuffleL( true, false ); + MpSettingsManager::setShuffle( true ); + createPlaybackUtilityL(); + iPlaybackUtility->InitL( *playList, ETrue ); + CleanupStack::PopAndDestroy( playList ); + CleanupStack::PopAndDestroy( cpath ); + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoSavePathL( QByteArray &data ) +{ + TX_ENTRY + CBufFlat* buffer = CBufFlat::NewL( 256 ); + CleanupStack::PushL( buffer ); + TBufBuf bufBuf; + bufBuf.Set( *buffer, 0, TBufBuf::EWrite ); + + RWriteStream writeStream( &bufBuf ); + writeStream.PushL(); + + if ( iPlaybackUtility ) { + MMPXSource* source = iPlaybackUtility->Source(); + CMPXCollectionPlaylist* playList( NULL ); + if( source ) { + playList = source->PlaylistL(); + if ( playList ) { + CleanupStack::PushL( playList ); + const CMPXCollectionPath& cpath = playList->Path(); + writeStream << cpath; + writeStream.CommitL(); + CleanupStack::PopAndDestroy( playList ); + } + } + } + data.append(reinterpret_cast(buffer->Ptr(0).Ptr()) ,buffer->Ptr(0).Length()); + CleanupStack::PopAndDestroy( 2, buffer ); //writeStream and buffer + TX_EXIT +} + +/*! + \internal + */ +void MpMpxCollectionFrameworkWrapperPrivate::DoRestorePathL( const QByteArray &data ) +{ + TX_ENTRY + int dataSize = data.size(); + if ( dataSize > 0 ) { + TPtrC8 activityDataDescriptor( reinterpret_cast ( data.constData() ), data.size() ); + + //Take a copy of the data + CBufFlat* buffer = CBufFlat::NewL( dataSize ); + CleanupStack::PushL( buffer ); + buffer->InsertL( 0, activityDataDescriptor, dataSize ); + + TBufBuf bufBuf; + bufBuf.Set( *buffer, 0, TBufBuf::ERead ); + RReadStream readStream( &bufBuf ); + readStream.PushL(); + + CMPXCollectionPath* cpath( NULL ); + cpath = CMPXCollectionPath::NewL(readStream); + CleanupStack::PushL(cpath); + iRestorePathIndex = 0; + if( cpath->Levels() ) { + iRestorePathIndexId = cpath->Id(); + iRestorePathIndex = cpath->Index(); + cpath->Back(); + } + if ( !iIsolatedCollectionHelper ) { + iIsolatedCollectionHelper = CMpMpxIsolatedCollectionHelper::NewL( this ); + } + iIsolatedCollectionHelper->OpenCollectionL( *cpath, iRestorePathIndex, CMpMpxIsolatedCollectionHelper::RestorePathMode ); + + CleanupStack::PopAndDestroy( cpath ); + CleanupStack::PopAndDestroy( 2, buffer ); //readStream and buffer + } + TX_EXIT +} + +//EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxdetailsframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpmpxdetailsframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,71 @@ +/* +* 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 wrapper +* +*/ + + +#include "mpmpxdetailsframeworkwrapper.h" +#include "mpmpxdetailsframeworkwrapper_p.h" +#include "mptrace.h" + +/*! + \class MpMpxDetailsFrameworkWrapper + \brief Wrapper for mpx framework utilities. + + MPX framework wrapper provides Qt style interface to the MPX framework + utilities. Its implementation is hidden using private class data pattern. +*/ + + +/*! + Constructs the utility wrapper. + */ +MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper( TUid hostUid, QObject *parent ) + : QObject(parent) +{ + TX_ENTRY + d_ptr = q_check_ptr( new MpMpxDetailsFrameworkWrapperPrivate( this ) ); //from Qt 4.6 + d_ptr->init( hostUid ); + TX_EXIT +} + +/*! + Destructs the utility wrapper. + */ +MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() +{ + TX_ENTRY + delete d_ptr; + TX_EXIT +} + +/*! + Returns pointer to MpSongData + */ +MpSongData *MpMpxDetailsFrameworkWrapper::songData() +{ + TX_LOG + return d_ptr->songData(); +} + +/*! + Retrieve currently playing song meta data + */ +void MpMpxDetailsFrameworkWrapper::retrieveSong() +{ + TX_LOG + d_ptr->retrieveSong(); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxdetailsframeworkwrapper_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/src/mpmpxdetailsframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,399 @@ +/* +* 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 +#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_LOG +} + +/*! + \internal + */ +MpMpxDetailsFrameworkWrapperPrivate::~MpMpxDetailsFrameworkWrapperPrivate() +{ + TX_ENTRY + + if ( iPlaybackUtility ) + { + TRAP_IGNORE(iPlaybackUtility->RemoveObserverL( *this )); + iPlaybackUtility->Close(); + iPlaybackUtility = NULL; + //do not delete pointer data + } + + delete iSongData; + iSongData=NULL; + + TX_EXIT +} + +/*! + \initialize wrapper + */ +void MpMpxDetailsFrameworkWrapperPrivate::init( TUid hostUid ) +{ + mHostUid = hostUid; + TRAPD(err, DoInitL()); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } +} + +/*! + \internal + */ +void MpMpxDetailsFrameworkWrapperPrivate::DoInitL() +{ + TX_ENTRY + + iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); + iPlaybackUtility->AddObserverL( *this ); + iSongData = new MpSongData(); + User::LeaveIfNull(iSongData); + + 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( TMPXAttribute( KMPXMediaGeneralUri ) ) ) { + QString fullName = QString::fromUtf16( + aProperties.ValueText( KMPXMediaGeneralUri ).Ptr(), + aProperties.ValueText( KMPXMediaGeneralUri ).Length() ); + + TX_LOG_ARGS( "File name with path: " << fullName ); + // get size & last modifed information from file system + QFileInfo info( fullName ); + changed |= iSongData->setSize( info.size() ); + + QDateTime lastModified = info.lastModified(); + QDate date = lastModified.date(); + int day = date.day(); + int month = date.month(); + int year = date.year(); + QTime time = lastModified.time(); + int sec = time.second(); + int min = time.minute(); + int hr = time.hour(); + + + QString lastModifiedStr("%1.%2.%3 %4:%5:%6"); + lastModifiedStr = lastModifiedStr.arg( day ).arg( month ).arg( year ).arg( hr ).arg( min ).arg( sec ); + changed |= iSongData->setModified( lastModifiedStr ); + + + // get file name without suffix + QString file; + QRegExp rx("(.+)\\..+"); + QString str = info.fileName(); + TX_LOG_ARGS( "File name with suffix = " << str ); + + int pos = rx.indexIn( str ); + if( pos > -1 ) { + file = rx.cap( 1 ); + TX_LOG_ARGS( "File = " << file ); + } + + changed |= iSongData->setFileName( file ); + } else { + changed |= iSongData->setFileName( 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 ); + TX_LOG_ARGS( "year = " << yearInMicroSeconds ); + 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 ( aProperties.IsSupported( TMPXAttribute( KMPXMediaGeneralMimeType ) ) ) { + QString type = QString::fromUtf16( + aProperties.ValueText( KMPXMediaGeneralMimeType ).Ptr(), + aProperties.ValueText( KMPXMediaGeneralMimeType ).Length() ); + QString regularExpression(".+/(.+)"); + QRegExp rx(regularExpression); + QString mimeType; + + int pos = rx.indexIn( type ); + if( pos > -1 ) { + mimeType = rx.cap( 1 ); + mimeType = mimeType.toUpper(); + TX_LOG_ARGS( "MIME type =" << mimeType ); + } + + changed |= iSongData->setMimeType( mimeType ); + } else { + changed |= iSongData->setMimeType( QString() ); + } + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaGeneralDuration ) ) ) { + TInt duration( aProperties.ValueTObjectL( KMPXMediaGeneralDuration ) ); + changed |= iSongData->setDuration( duration / 1000 ); + } else { + changed |= iSongData->setDuration( -1 ); + } + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaAudioBitrate ) ) ) { + TInt bitRate( aProperties.ValueTObjectL( KMPXMediaAudioBitrate ) ); + changed |= iSongData->setBitRate( bitRate ); + } else { + changed |= iSongData->setBitRate( -1 ); + } + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaAudioSamplerate ) ) ) { + TInt sampleRate( aProperties.ValueTObjectL( KMPXMediaAudioSamplerate ) ); + changed |= iSongData->setSampleRate( sampleRate ); + } else { + changed |= iSongData->setSampleRate( -1 ); + } + + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaGeneralCopyright ) ) ) { + changed |= iSongData->setCopyright( + QString::fromUtf16( + aProperties.ValueText( KMPXMediaGeneralCopyright ).Ptr(), + aProperties.ValueText( KMPXMediaGeneralCopyright ).Length() ) ); + } else { + changed |= iSongData->setCopyright( QString() ); + } + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicURL ) ) ) { + changed |= iSongData->setMusicURL( + QString::fromUtf16( + aProperties.ValueText( KMPXMediaMusicURL ).Ptr(), + aProperties.ValueText( KMPXMediaMusicURL ).Length() ) ); + } else { + changed |= iSongData->setMusicURL( QString() ); + } + + if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaDrmProtected ) ) ) { + TX_LOG_ARGS( "DRM is supported." ); + changed |= iSongData->setDrmProtected( aProperties.ValueTObjectL( KMPXMediaDrmProtected ) ); + } else { + changed |= iSongData->setDrmProtected( false ); + } + + 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( KMPXMediaMusicAlbumTrack ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicComposer ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicYear ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicGenre ) ); + + requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralMimeType ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralDuration ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaAudioBitrate ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaAudioSamplerate ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralCopyright ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicURL ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaDrmProtected ) ); + + mediaSrc->MediaL( requestedAttr.Array(), *this ); + CleanupStack::PopAndDestroy( &requestedAttr ); + TX_EXIT +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxharvesterframeworkwrapper.cpp --- a/mpengine/src/mpmpxharvesterframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxharvesterframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -65,11 +65,11 @@ /*! Constructs the utility wrapper. */ -MpMpxHarvesterFrameworkWrapper::MpMpxHarvesterFrameworkWrapper( MpCommon::MpViewMode viewMode, TUid hostUid, QObject *parent ) +MpMpxHarvesterFrameworkWrapper::MpMpxHarvesterFrameworkWrapper( TUid hostUid, QObject *parent ) : QObject( parent ) { d_ptr = new MpMpxHarvesterFrameworkWrapperPrivate( this ); - d_ptr->init( viewMode, hostUid ); + d_ptr->init( hostUid ); } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxharvesterframeworkwrapper_p.cpp --- a/mpengine/src/mpmpxharvesterframeworkwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxharvesterframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -77,9 +77,8 @@ /*! \internal */ -void MpMpxHarvesterFrameworkWrapperPrivate::init( MpCommon::MpViewMode viewMode, TUid hostUid ) +void MpMpxHarvesterFrameworkWrapperPrivate::init( TUid hostUid ) { - iViewMode = viewMode; mHostUid = hostUid; TRAPD( err, DoInitL() ); if ( err != KErrNone ) { @@ -177,12 +176,7 @@ void MpMpxHarvesterFrameworkWrapperPrivate::DoInitL() { TX_ENTRY - if ( iViewMode == MpCommon::FetchView ) { - iCollectionUtility = MMPXCollectionUtility::NewL( this, mHostUid ); - } - else { - iCollectionUtility = MMPXCollectionUtility::NewL( this, KMcModeDefault ); - } + iCollectionUtility = MMPXCollectionUtility::NewL( this, mHostUid ); iHarvesterUtility = CMPXHarvesterFactory::NewL(); iHarvesterUtility->CheckForSystemEventsL(); TX_EXIT diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxisolatedcollectionhelper.cpp --- a/mpengine/src/mpmpxisolatedcollectionhelper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxisolatedcollectionhelper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -28,7 +28,7 @@ const TInt KIncrementalDelayNone = 0; const TInt KIncrementalDelayHalfSecond = 1000000; const TInt KIncrementalFetchBlockSize = 20; -const TInt KIncrementalNullOffset = 0; + /*! @@ -78,10 +78,10 @@ \internal Opens an isolated collection with the /a path. */ -void CMpMpxIsolatedCollectionHelper::OpenCollectionL( CMPXCollectionPath& aPath ) +void CMpMpxIsolatedCollectionHelper::OpenCollectionL( CMPXCollectionPath& aPath, TInt aIndex, MpOpenMode aMode ) { //Using incremental open to open the collection. - + iOpenMode = aMode; // Cancel any reads iIncrementalOpenUtil->Stop(); @@ -92,7 +92,7 @@ TArray ary = attrs.Array(); iIncrementalOpenUtil->SetDelay( KIncrementalDelayNone ); iIncrementalOpenUtil->StartL( aPath, ary, KIncrementalFetchBlockSize, - KIncrementalNullOffset, CMPXCollectionOpenUtility::EFetchNormal ); + aIndex, CMPXCollectionOpenUtility::EFetchNormal ); iIncrementalOpenUtil->SetDelay( KIncrementalDelayHalfSecond ); CleanupStack::PopAndDestroy( &attrs ); } @@ -131,8 +131,22 @@ { if ( iFirstIncrementalOpen ) { - iObserver->HandleIsolatedOpenL( aEntries, aError ); + CMPXCollectionPath* cPath = NULL; iFirstIncrementalOpen = EFalse; + switch( iOpenMode ) { + case RestorePathMode: + cPath = iIncrementalOpenUtil->PathL(); + CleanupStack::PushL( cPath ); + iObserver->HandleIsolatedOpenRestorePathL( *cPath, aError ); + CleanupStack::PopAndDestroy( cPath ); + + break; + case DefaultMode: + default: + iObserver->HandleIsolatedOpenL( aEntries, aError ); + break; + } + } } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxplaybackframeworkwrapper.cpp --- a/mpengine/src/mpmpxplaybackframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxplaybackframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -31,11 +31,11 @@ /*! Constructs the utility wrapper. */ -MpMpxPlaybackFrameworkWrapper::MpMpxPlaybackFrameworkWrapper( MpCommon::MpViewMode viewMode, TUid hostUid, QObject *parent ) +MpMpxPlaybackFrameworkWrapper::MpMpxPlaybackFrameworkWrapper( TUid hostUid, QObject *parent ) : QObject(parent) { d_ptr = new MpMpxPlaybackFrameworkWrapperPrivate(this ); - d_ptr->init( viewMode, hostUid ); + d_ptr->init( hostUid ); } /*! @@ -55,7 +55,7 @@ } /*! - Slot to handle a play from Uri aFilename + Slot to handle play from Uri aFilename */ void MpMpxPlaybackFrameworkWrapper::play( QString aFilename ) { @@ -63,7 +63,7 @@ } /*! - Slot to handle a play from file handle + Slot to handle play from file handle */ void MpMpxPlaybackFrameworkWrapper::play( const XQSharableFile& file) { @@ -87,7 +87,7 @@ } /*! - Slot to handle a skeep forward. + Slot to handle a skip forward. */ void MpMpxPlaybackFrameworkWrapper::skipForward() { @@ -95,7 +95,23 @@ } /*! - Slot to handle a skeep backwards. + Slot to handle seek forward. + */ +void MpMpxPlaybackFrameworkWrapper::startSeekForward() +{ + d_ptr->startSeekForward(); +} + +/*! + Slot to handle stop seeking. + */ +void MpMpxPlaybackFrameworkWrapper::stopSeeking() +{ + d_ptr->stopSeeking(); +} + +/*! + Slot to handle a skip backwards. */ void MpMpxPlaybackFrameworkWrapper::skipBackward() { @@ -103,6 +119,15 @@ } /*! + Slot to handle seek backwards. + */ + +void MpMpxPlaybackFrameworkWrapper::startSeekBackward() +{ + d_ptr->startSeekBackward(); +} + +/*! Slot to handle a request to change \a position. */ void MpMpxPlaybackFrameworkWrapper::setPosition( int position ) @@ -125,3 +150,27 @@ { d_ptr->setRepeat( mode ); } + +/*! + Change \a balance. + */ +void MpMpxPlaybackFrameworkWrapper::setBalance( int balance ) +{ + d_ptr->setBalance( balance ); +} + +/*! + Send command to apply audio effects. + */ +void MpMpxPlaybackFrameworkWrapper::applyAudioEffects() +{ + d_ptr->applyAudioEffects(); +} + +/*! + Send command to apply equalizer. + */ +void MpMpxPlaybackFrameworkWrapper::applyEqualizer() +{ + d_ptr->applyEqualizer(); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpmpxplaybackframeworkwrapper_p.cpp --- a/mpengine/src/mpmpxplaybackframeworkwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpmpxplaybackframeworkwrapper_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -32,6 +32,11 @@ #include "mpplaybackdata.h" #include "mpcommondefs.h" #include "mptrace.h" +#include "mpxaudioeffectengine.h" + +_LIT(KMPXPnRealAudioMimeType, "audio/x-pn-realaudio"); +_LIT(KMPXRealAudioMimeType, "audio/x-realaudio"); +_LIT(KMPXRnRealAudioMimeType, "audio/vnd.rn-realaudio"); /*! \class MpMpxPlaybackFrameworkWrapperPrivate \brief Wrapper for mpx framework utilities - private implementation. @@ -44,9 +49,9 @@ */ MpMpxPlaybackFrameworkWrapperPrivate::MpMpxPlaybackFrameworkWrapperPrivate( MpMpxPlaybackFrameworkWrapper *qq) : q_ptr( qq ), - iPlaybackUtility(0), - iMedia(0), - iPlaybackData(0) + iPlaybackUtility( 0 ), + iMedia( 0 ), + iPlaybackData( 0 ) { TX_LOG } @@ -59,8 +64,8 @@ TX_ENTRY if ( iPlaybackUtility ) { - ForceStopL(); - iPlaybackUtility->RemoveObserverL(*this); + TRAP_IGNORE( ForceStopL() ); + TRAP_IGNORE( iPlaybackUtility->RemoveObserverL(*this) ); iPlaybackUtility->Close(); } @@ -73,9 +78,8 @@ /*! \internal */ -void MpMpxPlaybackFrameworkWrapperPrivate::init( MpCommon::MpViewMode viewMode, TUid hostUid ) +void MpMpxPlaybackFrameworkWrapperPrivate::init( TUid hostUid ) { - iViewMode = viewMode; mHostUid = hostUid; TRAPD(err, DoInitL()); if ( err != KErrNone ) { @@ -146,6 +150,32 @@ /*! \internal */ +void MpMpxPlaybackFrameworkWrapperPrivate::startSeekForward() +{ + TX_ENTRY + TRAPD(err, iPlaybackUtility->CommandL(EPbCmdStartSeekForward)); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ +void MpMpxPlaybackFrameworkWrapperPrivate::stopSeeking() +{ + TX_ENTRY + TRAPD(err, iPlaybackUtility->CommandL(EPbCmdStopSeeking)); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ void MpMpxPlaybackFrameworkWrapperPrivate::skipBackward() { TX_ENTRY @@ -159,6 +189,19 @@ /*! \internal */ +void MpMpxPlaybackFrameworkWrapperPrivate::startSeekBackward() +{ + TX_ENTRY + TRAPD(err, iPlaybackUtility->CommandL(EPbCmdStartSeekBackward)); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ void MpMpxPlaybackFrameworkWrapperPrivate::setPosition( int value ) { TX_ENTRY_ARGS("value =" << value); @@ -198,6 +241,45 @@ /*! \internal */ +void MpMpxPlaybackFrameworkWrapperPrivate::setBalance( int value ) +{ + TX_ENTRY_ARGS("value =" << value); + TRAPD( err, iPlaybackUtility->SetL( EPbPropertyBalance, value ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ +void MpMpxPlaybackFrameworkWrapperPrivate::applyAudioEffects() +{ + TX_ENTRY + TRAPD( err, iPlaybackUtility->CommandL( EPbApplyEffect, KAudioEffectsID ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ +void MpMpxPlaybackFrameworkWrapperPrivate::applyEqualizer() +{ + TX_ENTRY + TRAPD( err, iPlaybackUtility->CommandL( EPbApplyEffect, KEqualizerID ) ); + if ( err != KErrNone ) { + TX_LOG_ARGS("Error: " << err << "; should never get here."); + } + TX_EXIT +} + +/*! + \internal + */ MpPlaybackData *MpMpxPlaybackFrameworkWrapperPrivate::playbackData() { return iPlaybackData; @@ -297,7 +379,7 @@ aProperties.ValueText( KMPXMediaMusicArtist ).Length() ) ); } else { - changed |= iPlaybackData->setArtist(hbTrId("txt_mus_other_unknown3")); + changed |= iPlaybackData->setArtist(QString()); } if ( aProperties.IsSupported( KMPXMediaMusicAlbum ) ) { changed |= iPlaybackData->setAlbum( @@ -306,13 +388,21 @@ aProperties.ValueText( KMPXMediaMusicAlbum ).Length() ) ); } else { - changed |= iPlaybackData->setAlbum(hbTrId("txt_mus_other_unknown4")); + changed |= iPlaybackData->setAlbum(QString()); } - if ( changed ) { - // This is required to propagate the playback info to UI at once. - iPlaybackData->commitPlaybackInfo(); + if (aProperties.IsSupported(TMPXAttribute(KMPXMediaGeneralMimeType))) { + + const TDesC& mimeType = aProperties.ValueText ( KMPXMediaGeneralMimeType ); + + bool realAudioMode = + ( mimeType.Compare( KMPXPnRealAudioMimeType ) == 0 ) || + ( mimeType.Compare( KMPXRealAudioMimeType ) == 0) || + ( mimeType.Compare( KMPXRnRealAudioMimeType ) == 0 ); + + changed |= iPlaybackData->setRealAudio( realAudioMode ); } + if ( aProperties.IsSupported( KMPXMediaGeneralUri) ) { iPlaybackData->setUri( QString::fromUtf16( @@ -331,8 +421,20 @@ aProperties.ValueText( KMPXMediaGeneralUri ).Ptr(), aProperties.ValueText( KMPXMediaGeneralUri ).Length() ) ); } + if ( aProperties.IsSupported( KMPXMediaMusicAlbumId) ) { + changed |= iPlaybackData->setAlbumId( + aProperties.ValueTObjectL( KMPXMediaMusicAlbumId ) ); + } - + if ( aProperties.IsSupported( KMPXMediaGeneralId) ) { + changed |= iPlaybackData->setId( + aProperties.ValueTObjectL( KMPXMediaGeneralId ) ); + } + + if ( changed ) { + // This is required to propagate the playback info to UI at once. + iPlaybackData->commitPlaybackInfo(); + } TX_EXIT } @@ -342,10 +444,14 @@ void MpMpxPlaybackFrameworkWrapperPrivate::DoInitL() { TX_ENTRY + iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); + iPlaybackUtility->AddObserverL( *this ); + iPlaybackData = new MpPlaybackData(); - iPlaybackUtility = MMPXPlaybackUtility::UtilityL( mHostUid ); - iPlaybackUtility->AddObserverL( *this ); - iPlaybackData = new MpPlaybackData(); + UpdateStateL(); + if ( iPlaybackUtility->Source() ) { + RetrieveSongDetailsL(); + } TX_EXIT } @@ -374,13 +480,12 @@ if ( ok ) { iPlaybackUtility->InitL( xqfile ); } - else { - TX_LOG_ARGS("Error: " << ok << "; should never get here."); - } - - + else { + TX_LOG_ARGS("Error: " << ok << "; should never get here."); + } TX_EXIT } + /*! \internal */ @@ -429,6 +534,13 @@ TX_LOG_ARGS("TMPXPlaybackMessage::EMediaChanged") RetrieveSongDetailsL(); break; + case TMPXPlaybackMessage::EPlaylistUpdated: + TX_LOG_ARGS( "EPlaylistUpdated" ) + case TMPXPlaybackMessage::EActivePlayerChanged: + TX_LOG_ARGS( "EActivePlayerChanged or fall through from EPlaylistUpdated" ) + UpdateStateL(); + RetrieveSongDetailsL(); + break; default: break; } @@ -452,8 +564,6 @@ cmd->SetTObjectValueL( KMPXCommandPlaybackGeneralNoBuffer, ETrue ); iPlaybackUtility->CommandL( *cmd ); CleanupStack::PopAndDestroy( cmd ); - - // iPlaybackUtility->RemoveObserverL(*this); } TX_EXIT } @@ -466,7 +576,11 @@ TX_ENTRY if ( !iPlaybackUtility->Source() ) { TX_LOG_ARGS("There is no source") - iPlaybackData->setPlaybackState( MpPlaybackData::Stopped ); + //this to prevent mutiple calls to state change. + if ( iPlaybackData->playbackState() != MpPlaybackData::NotPlaying ) { + iPlaybackData->setPlaybackState( MpPlaybackData::NotPlaying ); + iPlaybackData->resetData(); + } } else { switch ( iPlaybackUtility->StateL() ) { @@ -504,6 +618,10 @@ requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbum ) ); requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralUri ) ); requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbumArtFileName ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbumId ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralMimeType ) ); + requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralId ) ); + mediaSrc->MediaL( requestedAttr.Array(), *this ); CleanupStack::PopAndDestroy( &requestedAttr ); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/src/mpsongscanner.cpp --- a/mpengine/src/mpsongscanner.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/src/mpsongscanner.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,12 +15,6 @@ * */ -#include -#include -#include -#include -#include - #include "mpsongscanner.h" #include "mpmpxharvesterframeworkwrapper.h" #include "mptrace.h" @@ -34,26 +28,44 @@ */ /*! - \fn void scanEnd() + \fn void scanStarted() + + This signal is emitted when scanning has started. + + */ + +/*! + \fn void scanCountChanged( int count ) - This signal is emitted when scanning is ended. + This signal is emitted to notify that scan count has changed. + + */ - \sa scan() -*/ +/*! + \fn void scanFinished( int error, int itemsAdded ) + + Emitted when scanning has finished. + + */ /*! Constructs the song scanner. */ MpSongScanner::MpSongScanner( MpMpxHarvesterFrameworkWrapper *wrapper, QObject *parent ) : QObject( parent ), - mMpxWrapper(wrapper), - mScanProgressNote(0), - mScanning(false) + mMpxHarvesterWrapper(wrapper), + mScanning( false ), + mAutomaticScan( true ) { TX_ENTRY - connect( mMpxWrapper, SIGNAL(scanStarted()), this, SLOT(handleScanStarted()) ); - connect( mMpxWrapper, SIGNAL(scanEnded( int, int )), this, SLOT(handleScanEnded( int, int )) ); - connect( mMpxWrapper, SIGNAL(scanCountChanged(int)), this, SLOT(handleScanCountChanged(int)) ); + connect( mMpxHarvesterWrapper, SIGNAL( scanStarted() ), + this, SIGNAL( scanStarted() ), Qt::QueuedConnection ); + connect( mMpxHarvesterWrapper, SIGNAL( scanEnded( int, int ) ), + this, SLOT( handleScanEnded( int, int ) ), Qt::QueuedConnection ); + connect( mMpxHarvesterWrapper, SIGNAL( scanCountChanged( int ) ), + this, SIGNAL( scanCountChanged( int ) ), Qt::QueuedConnection ); + connect( mMpxHarvesterWrapper, SIGNAL( diskEvent( MpxDiskEvents ) ), + this, SLOT( handleDiskEvent(MpxDiskEvents) ), Qt::QueuedConnection ); TX_EXIT } @@ -68,20 +80,23 @@ /*! Initiates song scanning. */ -void MpSongScanner::scan() +void MpSongScanner::scan( bool automaticScan ) { + TX_ENTRY if ( !mScanning ) { mScanning = true; - mMpxWrapper->scan(); + mAutomaticScan = automaticScan; + mMpxHarvesterWrapper->scan(); } + TX_EXIT } /*! - Returns true if scanning is ongoing. + Returns mAutomaticScan value. */ -bool MpSongScanner::isScanning() +bool MpSongScanner::isAutomaticScan() { - return mScanning; + return mAutomaticScan; } /*! @@ -91,31 +106,12 @@ */ void MpSongScanner::cancelScan() { + TX_ENTRY if ( mScanning ) { mScanning = false; - mMpxWrapper->cancelScan(); + mMpxHarvesterWrapper->cancelScan(); } -} - -/*! - Slot called upon notification from MPX Harvesting FW indicating start of - scanning process. - */ -void MpSongScanner::handleScanStarted() -{ - if ( !mScanProgressNote ) { - mScanProgressNote = new HbProgressDialog( HbProgressDialog::WaitDialog ); - connect( mScanProgressNote, SIGNAL( cancelled() ), this, SLOT( cancelScan() ) ); - connect( mScanProgressNote, SIGNAL( aboutToClose() ), this, SLOT( handleProgressNoteClosing() ) ); - } - mScanProgressNote->setModal( true ); - HbLabel *title = new HbLabel( hbTrId( "txt_mus_title_refreshing" ) ); - title->setFontSpec(HbFontSpec(HbFontSpec::Primary)); - - mScanProgressNote->setHeadingWidget( title ); - mScanProgressNote->setText( QString("") ); - mScanProgressNote->setAttribute( Qt::WA_DeleteOnClose ); - mScanProgressNote->show(); + TX_EXIT } /*! @@ -124,63 +120,25 @@ */ void MpSongScanner::handleScanEnded( int numItemsAdded, int error ) { + TX_ENTRY if (error == KErrDiskFull) { - if ( mScanProgressNote ) { - mScanProgressNote->cancel(); - } - HbMessageBox *diskFullDialog = new HbMessageBox(); - diskFullDialog->setIcon( HbIcon( QString("qtg_small_fail") ) ); - diskFullDialog->setText( hbTrId( "txt_mus_title_refresh_cancelled" ) ); - diskFullDialog->setTimeout( HbPopup::NoTimeout); - diskFullDialog->setAttribute( Qt::WA_DeleteOnClose ); - diskFullDialog->show(); + emit scanFinished( ScanErrorDiskFull, 0 ); mScanning = false; - } else{ - QString added; - HbNotificationDialog *finishedDialog = new HbNotificationDialog(); - finishedDialog->setModal(true); - finishedDialog->setAttribute( Qt::WA_DeleteOnClose ); - - added = hbTrId( "txt_mus_dpopinfo_ln_songs_added", numItemsAdded ); - finishedDialog->setText( added ); - if( error < 0) { - if ( mScanProgressNote ) { - mScanProgressNote->cancel(); - } - finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) ); - finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) ); + emit scanFinished( ScanGeneralError, numItemsAdded ); } else if ( mScanning ) { - if ( mScanProgressNote ) { - mScanProgressNote->cancel(); - } - finishedDialog->setIcon( HbIcon( QString("qtg_large_ok") ) ); - finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_complete" ) ); + emit scanFinished( ScanErrorNone, numItemsAdded ); } else { - finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) ); - finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) ); + // Scan canceled + emit scanFinished( ScanGeneralError, numItemsAdded ); } mScanning = false; - finishedDialog->show(); } -} - -/*! - Slot called upon notification from MPX Harvesting FW indicating the number of - songs scanned so far. - */ -void MpSongScanner::handleScanCountChanged(int count) -{ - QString added; - - added = hbTrId( "txt_mus_info_ln_songs_added" , count ); - if ( mScanProgressNote ) { - mScanProgressNote->setText( added ); - } + TX_EXIT } /*! @@ -188,22 +146,12 @@ */ void MpSongScanner::handleDiskEvent( MpxDiskEvents event ) { + TX_ENTRY Q_UNUSED( event ); if ( mScanning ) { - if ( mScanProgressNote ) { - mScanProgressNote->cancel(); - } + emit scanFinished( ScanInterrupted, 0 ); mScanning = false; - // AK - Should we show a dialog? } TX_EXIT } -/*! - Slot used to clear mScanProgressNote when dialog is closing. - */ -void MpSongScanner::handleProgressNoteClosing() -{ - mScanProgressNote = 0; -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,26 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpaudioeffectsframeworkwrapper \ + unittest_mpequalizerframeworkwrapper \ + unittest_mpmpxcollectionframeworkwrapper \ + unittest_mpmpxharvesterframeworkwrapper \ + unittest_mpmpxisolatedcollectionhelper \ + unittest_mpmpxplaybackframeworkwrapper \ + unittest_mpsongscanner + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/inc/unittest_mpaudioeffectsframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/inc/unittest_mpaudioeffectsframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,55 @@ +/* +* 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: Unit test for mpaudioeffectsframeworkwrapper +* +*/ + +#ifndef TESTMPAUDIOEFFECTSFRAMEWORKWRAPPER_H +#define TESTMPAUDIOEFFECTSFRAMEWORKWRAPPER_H + +#include + +class MpAudioEffectsFrameworkWrapper; +class MpAudioEffectsFrameworkWrapperPrivate; + +class TestMpAudioEffectsFrameworkWrapper : public QObject +{ + Q_OBJECT + +public: + TestMpAudioEffectsFrameworkWrapper(); + virtual ~TestMpAudioEffectsFrameworkWrapper(); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testConstructor(); + void testInit(); + void testBalance(); + void testLoudness(); + void testSetBalance(); + void testSetLoudness(); + void testSaveToFile(); + +private: + MpAudioEffectsFrameworkWrapper *mTest; + MpAudioEffectsFrameworkWrapperPrivate *mTestPrivate; + +}; + +#endif // TESTMPAUDIOEFFECTSFRAMEWORKWRAPPER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/src/unittest_mpaudioeffectsframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/src/unittest_mpaudioeffectsframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,174 @@ +/* +* 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: Unit test for MpMpxAsFrameworkWrapper +* +*/ + +#include +#include + +#include "unittest_mpaudioeffectsframeworkwrapper.h" +#include "stub/inc/mpxaudioeffectproperties.h" + +// Do this so we can access all member variables. +#define private public +#include "mpaudioeffectsframeworkwrapper.h" +#include "mpaudioeffectsframeworkwrapper_p.h" +#undef private + +//This so we can test private functions +#include "mpaudioeffectsframeworkwrapper_p.cpp" + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + TestMpAudioEffectsFrameworkWrapper tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpaudioeffectsframeworkwrapper.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpAudioEffectsFrameworkWrapper::TestMpAudioEffectsFrameworkWrapper() + : mTest(0) +{ +} + +TestMpAudioEffectsFrameworkWrapper::~TestMpAudioEffectsFrameworkWrapper() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpAudioEffectsFrameworkWrapper::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpAudioEffectsFrameworkWrapper::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpAudioEffectsFrameworkWrapper::init() +{ + mTest = new MpAudioEffectsFrameworkWrapper(); + mTestPrivate = mTest->d_ptr; +} + +/*! + Called after every testfunction. + */ +void TestMpAudioEffectsFrameworkWrapper::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + test Constructor + */ +void TestMpAudioEffectsFrameworkWrapper::testConstructor() +{ + QVERIFY(mTestPrivate->mAudioEffectProperties != 0); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iLoadFromFile, TBool(ETrue)); +} + +/*! + test init + */ +void TestMpAudioEffectsFrameworkWrapper::testInit() +{ + mTestPrivate->mAudioEffectProperties->iLeave = ETrue; + mTestPrivate->init(); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iLoadFromFile, TBool(EFalse)); + mTestPrivate->mAudioEffectProperties->iLeave = EFalse; + mTestPrivate->init(); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iLoadFromFile, TBool(ETrue)); +} + +/*! + test balance + */ +void TestMpAudioEffectsFrameworkWrapper::testBalance() +{ + QCOMPARE( mTest->balance(), 0 ); + mTest->setBalance( -100 ); + QCOMPARE( mTest->balance(), -100 ); + mTest->setBalance( 100 ); + QCOMPARE( mTest->balance(), 100 ); +} + +/*! + test loudness + */ +void TestMpAudioEffectsFrameworkWrapper::testLoudness() +{ + QCOMPARE(mTest->loudness(), false); + mTest->setLoudness(true); + QCOMPARE(mTest->loudness(), true); +} + +/*! + test setBalance + */ +void TestMpAudioEffectsFrameworkWrapper::testSetBalance() +{ + mTest->setBalance(-5); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iBalance, -5); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iSaveToFile, TBool(ETrue)); +} + +/*! + test setLoudness + */ +void TestMpAudioEffectsFrameworkWrapper::testSetLoudness() +{ + mTest->setLoudness(true); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iLoudness, TBool(ETrue)); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iSaveToFile, TBool(ETrue)); + mTest->setLoudness(false); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iLoudness, TBool(EFalse)); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iSaveToFile, TBool(ETrue)); +} + +/*! + test saveToFile + */ +void TestMpAudioEffectsFrameworkWrapper::testSaveToFile() +{ + mTestPrivate->saveToFile(); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iSaveToFile, TBool(ETrue)); + mTestPrivate->mAudioEffectProperties->iLeave = ETrue; + mTestPrivate->saveToFile(); + QCOMPARE(mTestPrivate->mAudioEffectProperties->iSaveToFile, TBool(EFalse)); +} + +// end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/stub/inc/mpxaudioeffectproperties.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/stub/inc/mpxaudioeffectproperties.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,49 @@ +/* +* 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: audio effect properties stub for testing mpmpxasframeworkwrapper +* +*/ + +#ifndef CMPXAUDIOEFFECTPROPERTIES_H +#define CMPXAUDIOEFFECTPROPERTIES_H + +#include + +class CMPXAudioEffectProperties : public CBase + { +public: + explicit CMPXAudioEffectProperties(); + virtual ~CMPXAudioEffectProperties(); + +public: + + // Stub functions + TInt Balance(); + TBool Loudness(); + void SetBalance(TInt aBalance); + void SetLoudness(TBool aLoudness); + void Reset(); + void SaveToFileL(); + void LoadFromFileL(); + +public: + + TInt iBalance; + TBool iLoudness; + TBool iLoadFromFile; + TBool iSaveToFile; + TBool iLeave; +}; + +#endif // CMPXAUDIOEFFECTPROPERTIES_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,116 @@ +/* +* 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: audio effect properties stub for testing mpmpxasframeworkwrapper +* +*/ + +#include "mptrace.h" +#include "stub/inc/mpxaudioeffectproperties.h" + +/*! + Stub function. +*/ +CMPXAudioEffectProperties::CMPXAudioEffectProperties():iBalance(0), + iLoudness(EFalse), + iLoadFromFile(EFalse), + iSaveToFile(EFalse), + iLeave(EFalse) +{ +} + +/*! + Stub function. +*/ +CMPXAudioEffectProperties::~CMPXAudioEffectProperties() +{ +} + +/*! + Stub function. +*/ +TInt CMPXAudioEffectProperties::Balance() +{ + return iBalance; +} + +/*! + Stub function. +*/ +TBool CMPXAudioEffectProperties::Loudness() +{ + return iLoudness; +} + +/*! + Stub function. +*/ +void CMPXAudioEffectProperties::SetBalance(TInt aBalance) +{ + iBalance = aBalance; +} + +/*! + Stub function. +*/ +void CMPXAudioEffectProperties::SetLoudness(TBool aLoudness) +{ + iLoudness = aLoudness; +} + +/*! + Stub function. +*/ +void CMPXAudioEffectProperties::Reset() +{ + TX_ENTRY + iBalance = 0; + iLoudness = EFalse; + iLeave = EFalse; + iLoadFromFile = EFalse; + TX_EXIT +} + +/*! + Stub function. +*/ +void CMPXAudioEffectProperties::SaveToFileL() +{ + TX_ENTRY + if (iLeave) { + iSaveToFile = EFalse; + User::Leave(KErrNotFound); + } + else { + iSaveToFile = ETrue; + } + TX_EXIT +} + +/*! + Stub function. +*/ +void CMPXAudioEffectProperties::LoadFromFileL() +{ + TX_ENTRY + if (iLeave) { + iLoadFromFile = EFalse; + User::Leave(KErrNotFound); + } + else { + iLoadFromFile = ETrue; + } + TX_EXIT +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/unittest_mpaudioeffectsframeworkwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpaudioeffectsframeworkwrapper/unittest_mpaudioeffectsframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,37 @@ +# +# 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: Unit test for mpaudioeffectsframeworkwrapper +# + +TEMPLATE = app +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpaudioeffectsframeworkwrapper +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../inc \ + ../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +HEADERS += inc/unittest_mpaudioeffectsframeworkwrapper.h \ + ../../inc/mpaudioeffectsframeworkwrapper.h \ + ../../inc/mpaudioeffectsframeworkwrapper_p.h \ + stub/inc/mpxaudioeffectproperties.h + +SOURCES += src/unittest_mpaudioeffectsframeworkwrapper.cpp \ + ../../src/mpaudioeffectsframeworkwrapper.cpp \ + stub/src/mpxaudioeffectproperties.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/inc/unittest_mpequalizerframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/inc/unittest_mpequalizerframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +/* +* 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: Unit test for mpequalizerframeworkwrapper +* +*/ + +#ifndef TESTMPEQUALIZERFRAMEWORKWRAPPER_H +#define TESTMPEQUALIZERFRAMEWORKWRAPPER_H + +#include + +class MpEqualizerFrameworkWrapper; +class MpEqualizerFrameworkWrapperPrivate; + +class TestMpEqualizerFrameworkWrapper : public QObject +{ + Q_OBJECT + +public: + TestMpEqualizerFrameworkWrapper(); + virtual ~TestMpEqualizerFrameworkWrapper(); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testConstructor(); + void testMapcInitComplete(); + void testGetPresetIndex(); + void testGetPresetNameKey(); + void testPresetNames(); + +private: + + MpEqualizerFrameworkWrapper *mTest; + MpEqualizerFrameworkWrapperPrivate *mTestPrivate; +}; + +#endif // TESTMPEQUALIZERFRAMEWORKWRAPPER_H + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/src/unittest_mpequalizerframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/src/unittest_mpequalizerframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,190 @@ +/* +* 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: Unit test for mpequalizerframeworkwrapper +* +*/ + +#include +#include + +#include "unittest_mpequalizerframeworkwrapper.h" +#include "stub/inc/audioequalizerutility.h" +#include "stub/inc/mpxuser.h" + +// Do this so we can access all member variables. +#define private public +#include "mpequalizerframeworkwrapper.h" +#include "mpequalizerframeworkwrapper_p.h" +#undef private + +//This so we can test private functions +#include "mpequalizerframeworkwrapper_p.cpp" + +// Predifined values +//sa stub/inc/audioequalizerutility.cpp for Predifined Values +//PresetName PresetEngineId PresetId +// Off -1 -1 +// Bass 0x0A 0 +// Classical 0x0B 1 +// Pop 0x0C 2 +// Jazz 0x0D 3 +// Rock 0x0E 4 + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + TestMpEqualizerFrameworkWrapper tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpequalizerframeworkwrapper.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpEqualizerFrameworkWrapper::TestMpEqualizerFrameworkWrapper() + : mTest(0) +{ +} + +TestMpEqualizerFrameworkWrapper::~TestMpEqualizerFrameworkWrapper() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpEqualizerFrameworkWrapper::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpEqualizerFrameworkWrapper::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpEqualizerFrameworkWrapper::init() +{ + mTest = new MpEqualizerFrameworkWrapper(); + mTestPrivate = mTest->d_ptr; +} + +/*! + Called after every testfunction. + */ +void TestMpEqualizerFrameworkWrapper::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Tests constructor. + */ +void TestMpEqualizerFrameworkWrapper::testConstructor() +{ + QVERIFY(mTestPrivate->mMdaPlayUtility != 0); +} + +/*! + Tests MapcInitComplete. + */ +void TestMpEqualizerFrameworkWrapper::testMapcInitComplete() +{ + QSignalSpy spyEqualizerReady(mTest, SIGNAL(equalizerReady())); + + mTestPrivate->MapcInitComplete(KErrNone, 0); + + QVERIFY(mTestPrivate->mEqualizerUtility != 0); + QCOMPARE(spyEqualizerReady.count(), 1); +} + +/*! + Tests getPresetId + */ +void TestMpEqualizerFrameworkWrapper::testGetPresetIndex() +{ + TInt presetIndex(0); + + // When EqualizerUtility is not ready + presetIndex = mTestPrivate->getPresetIndex(0x0B); + QVERIFY(presetIndex == KEqualizerPresetNone); + + mTestPrivate->MapcInitComplete(KErrNone, 0); + + //When a valid preset is currently set + presetIndex = mTestPrivate->getPresetIndex(0x0B); + QVERIFY(presetIndex == 1); + + //When there is no any preset set + presetIndex = mTestPrivate->getPresetIndex(KEqualizerPresetNone); + QVERIFY(presetIndex == KEqualizerPresetNone); + + //When an invalid preset is currently set + presetIndex = mTestPrivate->getPresetIndex(0xFF); + QVERIFY(presetIndex == KEqualizerPresetNone); +} + +/*! + Tests GetEngineIndexL. + */ +void TestMpEqualizerFrameworkWrapper::testGetPresetNameKey() +{ + // When EqualizerUtility is not ready + QVERIFY(mTestPrivate->getPresetNameKey(2) == KEqualizerPresetNone); + + mTestPrivate->MapcInitComplete(KErrNone, 0); + + // test valid index. + QVERIFY(mTestPrivate->getPresetNameKey(2) == 0x0C); + + // test invalid index. + QVERIFY(mTestPrivate->getPresetNameKey(99) == KEqualizerPresetNone); +} + +/*! + Tests presetNames + */ +void TestMpEqualizerFrameworkWrapper::testPresetNames() +{ + // test negative case - don't call MapcInitComplete so EqualizerUtility is null. + QStringList presetNames = mTest->presetNames(); + QVERIFY(presetNames.count() == 0); + + // test valid case + mTestPrivate->MapcInitComplete(KErrNone, 0); + presetNames = mTest->presetNames(); + + QVERIFY(presetNames.at(0) == "Bass"); + QVERIFY(presetNames.at(1) == "Classical"); + QVERIFY(presetNames.at(2) == "Pop"); + QVERIFY(presetNames.at(3) == "Jazz"); + QVERIFY(presetNames.at(4) == "Rock"); +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/audioequalizerutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/audioequalizerutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,101 @@ +/* +* 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: audioequalizerutility stub for testing mpequalizerframeworkwrapper +* +*/ + + +#ifndef CAUDIOEQUALIZERUTILITY_H +#define CAUDIOEQUALIZERUTILITY_H + +//#include +//#include +#include +//#include +#include + +//#include + + +//Forward declarations +class CMdaAudioPlayerUtility; + +class CAudioEqualizerUtility : public CBase +{ +public: // Constructors and destructor + + /** + * Factory function for creating the audio equalizer utility object. + * @since 3.0 + * @param aUtility A reference to a audio player utility + * @return pointer to CAudioEqualizerUtility object + */ + static CAudioEqualizerUtility* NewL(CMdaAudioPlayerUtility& aUtility); + + /** + * Destructor. + */ + virtual ~CAudioEqualizerUtility(); + + /** + * Retrieves a Preset with the given index from the Central Repository + * @since 3.0 + * @param aPresetIndex Index of the Preset in the Array + */ + const TDesC& GetPresetL(TInt aPresetIndex); + + /** + * Get all the Presets defined in the Central Repository + * @since 3.0 + * @return Array of all Presets. + */ + TArray Presets(); + +private: + + /** + * C++ default constructor. + */ + CAudioEqualizerUtility(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + + /** + * Second Phase Costructor for CMdaAudioPlayerUtility + * @since 3.0 + * @param aUtility CMdaAudioPlayerUtility Referece + */ + void ConstructL(CMdaAudioPlayerUtility& aUtility); + + + /** + * Function of Updating the Preset Array for the User + * @since 3.0 + * @param aUtility MCustomInterface Referece + */ + void UpdatePresetArray(RArray& aPresetArray); + +private: // Data + + // Array for Storing the Current State of the Repository + // which has been compacted after the transaction + // with the Central Repository + RArray iPresetArray; + +}; + +#endif // CAUDIOEQUALIZERUTILITY_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/mdaaudioplayerutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/mdaaudioplayerutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,62 @@ +/* +* 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: mdaaudioplayerutility stub for testing mpequalizerframeworkwrapper +* +*/ + +#ifndef CMDAAUDIOPLAYERUTILITY_H +#define CMDAAUDIOPLAYERUTILITY_H + + +#include +#include + +//Forward declarations +class MMdaAudioPlayerCallback; + +class CMdaAudioPlayerUtility : public CBase +{ +public: // Constructors and destructor + + static CMdaAudioPlayerUtility* NewL(MMdaAudioPlayerCallback& aCallback, + TInt aPriority = EMdaPriorityNormal, + TInt aPref = EMdaPriorityPreferenceTimeAndQuality); + + /** + * Destructor. + */ + virtual ~CMdaAudioPlayerUtility(); + + void OpenFileL(const TDesC& aFileName); + + void Close(); + +private: + + /** + * C++ default constructor. + */ + CMdaAudioPlayerUtility(); + + /** + * Second Phase Costructor for CMdaAudioPlayerUtility + */ + void ConstructL(); + +private: // Data + +}; + +#endif // CMDAAUDIOPLAYERUTILITY_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/mpxuser.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/inc/mpxuser.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,34 @@ +/* +* 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: mpxuser stub for testing mpequalizerframeworkwrapper +* +*/ + +#ifndef MPXUSER_H +#define MPXUSER_H + +#include + +class MPXUser +{ +public: // stub functions + + MPXUser(); + ~MPXUser(); + + static TInt CompleteWithDllPath(TDes& aFileName); + +}; + +#endif // MPXUSER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/audioequalizerutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/audioequalizerutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,122 @@ +/* +* 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: audioequalizerutility stub for testing mpequalizerframeworkwrapper +* +*/ + + +#include "mptrace.h" +//#include + +#include "stub/inc/audioequalizerutility.h" + + +/*! + Stub function. +*/ +CAudioEqualizerUtility::CAudioEqualizerUtility() +{ +} + + +/*! + Stub function. +*/ +CAudioEqualizerUtility::~CAudioEqualizerUtility() +{ + iPresetArray.Close(); +} + +/*! + Stub function. +*/ +void CAudioEqualizerUtility::ConstructL(CMdaAudioPlayerUtility& /*aUtility*/) +{ + UpdatePresetArray(iPresetArray); +} + +/*! + Stub function. +*/ +CAudioEqualizerUtility* CAudioEqualizerUtility::NewL(CMdaAudioPlayerUtility& aUtility) +{ + CAudioEqualizerUtility* self = new( ELeave ) CAudioEqualizerUtility; + CleanupStack::PushL( self ); + self->ConstructL(aUtility); + CleanupStack::Pop(self); + return self; +} + +/*! + Stub function. +*/ +const TDesC& CAudioEqualizerUtility::GetPresetL( TInt aPresetIndex ) +{ + TX_ENTRY + + if(aPresetIndex > (iPresetArray.Count() - 1) || aPresetIndex < 0 ) { + User::Leave(KErrArgument); + } + + TX_EXIT + return iPresetArray[aPresetIndex].iPresetName; +} + +/*! + Stub function. +*/ +TArray CAudioEqualizerUtility::Presets() +{ + return iPresetArray.Array(); +} + +/*! + Stub function. +*/ +void CAudioEqualizerUtility::UpdatePresetArray(RArray& aPresetArray) +{ + aPresetArray.Reset(); + + TEfAudioEqualizerUtilityPreset tempPreset1; + tempPreset1.iPresetDescriptionKey = 0x10; + tempPreset1.iPresetName = _L("Bass"); + tempPreset1.iPresetNameKey = 0x0A; + aPresetArray.Append(tempPreset1); + + TEfAudioEqualizerUtilityPreset tempPreset2; + tempPreset2.iPresetDescriptionKey = 0x20; + tempPreset2.iPresetName = _L("Classical"); + tempPreset2.iPresetNameKey = 0x0B; + aPresetArray.Append(tempPreset2); + + TEfAudioEqualizerUtilityPreset tempPreset3; + tempPreset3.iPresetDescriptionKey = 0x30; + tempPreset3.iPresetName = _L("Pop"); + tempPreset3.iPresetNameKey = 0x0C; + aPresetArray.Append(tempPreset3); + + TEfAudioEqualizerUtilityPreset tempPreset4; + tempPreset4.iPresetDescriptionKey = 0x40; + tempPreset4.iPresetName = _L("Jazz"); + tempPreset4.iPresetNameKey = 0x0D; + aPresetArray.Append(tempPreset4); + + TEfAudioEqualizerUtilityPreset tempPreset5; + tempPreset5.iPresetDescriptionKey = 0x50; + tempPreset5.iPresetName = _L("Rock"); + tempPreset5.iPresetNameKey = 0x0E; + aPresetArray.Append(tempPreset5); +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/mdaaudioplayerutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/mdaaudioplayerutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,72 @@ +/* +* 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: mdaaudioplayerutility stub for testing mpequalizerframeworkwrapper +* +*/ + + +#include "mptrace.h" +#include "stub/inc/mdaaudioplayerutility.h" + + +/*! + Stub function. +*/ +CMdaAudioPlayerUtility::CMdaAudioPlayerUtility() +{ +} + +/*! + Stub function. +*/ +CMdaAudioPlayerUtility::~CMdaAudioPlayerUtility() +{ +} + +/*! + Stub function. +*/ +void CMdaAudioPlayerUtility::ConstructL() +{ +} + +/*! + Stub function. +*/ +CMdaAudioPlayerUtility* CMdaAudioPlayerUtility::NewL( MMdaAudioPlayerCallback& /*aCallback*/, + TInt /*aPriority*/, + TInt /*aPref*/ ) +{ + CMdaAudioPlayerUtility* self = new( ELeave ) CMdaAudioPlayerUtility; + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(self); + return self; +} + +/*! + Stub function. +*/ +void CMdaAudioPlayerUtility::OpenFileL(const TDesC& /*aFileName*/) +{ +} + +/*! + Stub function. +*/ +void CMdaAudioPlayerUtility::Close() +{ +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/mpxuser.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/stub/src/mpxuser.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,45 @@ +/* +* 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: mpxuser stub for testing mpequalizerframeworkwrapper +* +*/ + +#include "stub/inc/mpxuser.h" + + +/*! + Stub function. +*/ +MPXUser::MPXUser() +{ +} + +/*! + Stub function. +*/ +MPXUser::~MPXUser() +{ +} + +/*! + Stub function. +*/ +TInt MPXUser::CompleteWithDllPath(TDes& /*aFileName*/) +{ + //Do nothing + + return KErrNone; +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpequalizerframeworkwrapper/unittest_mpequalizerframeworkwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpequalizerframeworkwrapper/unittest_mpequalizerframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,45 @@ +# +# 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: Unit test for mpequalizerframeworkwrapper +# + +TEMPLATE = app +CONFIG += qtestlib \ + hb \ + symbian_test +TARGET = unittest_mpequalizerframeworkwrapper +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../inc \ + ../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lestor.dll \ + -lfbscli.dll + +HEADERS += inc/unittest_mpequalizerframeworkwrapper.h \ + ../../inc/mpequalizerframeworkwrapper.h \ + ../../inc/mpequalizerframeworkwrapper_p.h \ + stub/inc/audioequalizerutility.h \ + stub/inc/mdaaudioplayerutility.h \ + stub/inc/mpxuser.h + +SOURCES += src/unittest_mpequalizerframeworkwrapper.cpp \ + ../../src/mpequalizerframeworkwrapper.cpp \ + stub/src/audioequalizerutility.cpp \ + stub/src/mdaaudioplayerutility.cpp \ + stub/src/mpxuser.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/inc/unittest_mpmpxcollectionframeworkwrapper.h --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/inc/unittest_mpmpxcollectionframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/inc/unittest_mpmpxcollectionframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -35,7 +35,7 @@ //test utility functions void loadTestData(); void loadPlaylists(); - bool waitForSignal(QSignalSpy* spy, int timeoutms); + void loadAlbumsTestData(); public slots: @@ -50,28 +50,36 @@ void testReleaseIsolatedCollection(); void testCollectionData(); void testHandleOpenEntries(); - void testHandleOpenPlaylist(); + void testHandleOpenPlaylist(); void testHandleOperationComplete(); void testHandleIsolatedOpen(); - void testOpenCollection(); + void testOpenCollection(); void testDoIncrementalOpen(); void testReopenCollection(); - void testOpenCollectionItem(); + void testOpenCollectionItem(); void testGoBack(); void testFindPlaylists(); void testCreatePlaylist(); - void testCreatePlaylistWithProvidedCollectionData(); + void testCreatePlaylistWithProvidedCollectionData(); void testSaveToPlaylist(); void testSaveToCurrentPlaylist(); void testRenamePlaylist(); void testDeleteSongs(); void testSetShuffle(); + void testCancel(); void testPreviewItem(); void testOpenIsolatedCollection(); void testHandleCollectionMessage(); + void testHandleCollectionMediaL(); void testPreparePlaylistMediaSongsContext(); void testPreparePlaylistMediaArtistAlbumsContext(); void testReorderPlaylist(); + void testFindAlbumSongs(); + void testHandleFindAll(); + void testPlayAlbumSongs(); + void testSetRepeatFeatureEnabled(); + void testSetShuffleFeatureEnabled(); + void testCreatePlaybackUtilityL(); private: @@ -79,6 +87,7 @@ MpMpxCollectionFrameworkWrapperPrivate *mTestPrivate; CMPXMedia *iMediaTestData; CMPXMedia *iPlaylistsTestData; + CMPXMedia *iAlbumsTestData; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/src/unittest_mpmpxcollectionframeworkwrapper.cpp --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/src/unittest_mpmpxcollectionframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/src/unittest_mpmpxcollectionframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,8 +16,6 @@ */ #include -#include -#include #include #include @@ -29,7 +27,7 @@ #include "stub/inc/mpxcollectionutility.h" #include "stub/inc/mpxplaybackutility.h" #include "stub/inc/mpmpxisolatedcollectionhelper.h" -#include "mpsettingsmanager.h" +#include "stub/inc/mpsettingsmanager.h" // Do this so we can access all member variables. #define private public @@ -68,25 +66,27 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - + QApplication app(argc, argv); TestMpMpxCollectionFrameworkWrapper tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxcollectionframeworkwrapper.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxcollectionframeworkwrapper.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpMpxCollectionFrameworkWrapper::TestMpMpxCollectionFrameworkWrapper() : mTest(0), iMediaTestData(0), - iPlaylistsTestData(0) + iPlaylistsTestData(0), + iAlbumsTestData(0) { } @@ -201,51 +201,37 @@ mTestPrivate->HandleOpenL(*playlist, KErrNotFound); QCOMPARE(spy.count(), 0); QVERIFY(mTestPrivate->iPlaybackUtility == 0); - + //Called without error - QSignalSpy spy2( MpSettingsManager::instance(),SIGNAL(shuffleChanged(bool))); MpSettingsManager::setRepeat(false); MpSettingsManager::setShuffle(false); - if(waitForSignal(&spy2, 1000)){ - bool shuffle = MpSettingsManager::shuffle(); - TX_LOG_ARGS("shuffle changed to "<< shuffle); - bool repeat = MpSettingsManager::repeat(); - TX_LOG_ARGS("repeat changed to "<< repeat); - } + mTestPrivate->HandleOpenL(*playlist, KErrNone); QCOMPARE(spy.count(), 1); QVERIFY(mTestPrivate->iPlaybackUtility != 0); QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); QCOMPARE(mTestPrivate->iPlaybackUtility->iShuffle, 0); QCOMPARE(mTestPrivate->iPlaybackUtility->iRepeat, TInt(EPbRepeatOff)); - + cleanup(); init(); - QSignalSpy spy3(mTest, SIGNAL(collectionPlaylistOpened())); + QSignalSpy spy2(mTest, SIGNAL(collectionPlaylistOpened())); //Called without error - spy2.clear(); MpSettingsManager::setRepeat(true); MpSettingsManager::setShuffle(true); - if(waitForSignal(&spy2, 1000)){ - bool shuffle = MpSettingsManager::shuffle(); - TX_LOG_ARGS("shuffle2 changed to "<< shuffle); - bool repeat = MpSettingsManager::repeat(); - TX_LOG_ARGS("repeat2 changed to "<< repeat); - } - mTestPrivate->HandleOpenL(*playlist, KErrNone); - QCOMPARE(spy3.count(), 1); + QCOMPARE(spy2.count(), 1); QVERIFY(mTestPrivate->iPlaybackUtility != 0); QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); QCOMPARE(mTestPrivate->iPlaybackUtility->iRepeat, TInt(EPbRepeatAll)); QCOMPARE(mTestPrivate->iPlaybackUtility->iShuffle, 1); //Called without error - spy3.clear(); + spy2.clear(); mTestPrivate->HandleOpenL(*playlist, KErrNone); - QCOMPARE(spy3.count(), 1); + QCOMPARE(spy2.count(), 1); QVERIFY(mTestPrivate->iPlaybackUtility != 0); QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); } @@ -322,6 +308,12 @@ QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1); cleanup(); init(); + mTest->openCollection(ECollectionContextArtists); + QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue)); + QCOMPARE(mTestPrivate->iCollectionUtility->iCountPath, 1); + QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1); + cleanup(); + init(); mTest->openCollection(ECollectionContextAlbums); QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue)); QCOMPARE(mTestPrivate->iCollectionUtility->iCountPath, 1); @@ -334,12 +326,6 @@ QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1); cleanup(); init(); - mTest->openCollection(ECollectionContextGenres); - QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue)); - QCOMPARE(mTestPrivate->iCollectionUtility->iCountPath, 1); - QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1); - cleanup(); - init(); mTest->openCollection(ECollectionContextUnknown); QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(EFalse)); QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 0); @@ -366,7 +352,7 @@ void TestMpMpxCollectionFrameworkWrapper::testReopenCollection() { mTest->reopenCollection(); - QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue)); + QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue)); } /*! @@ -403,7 +389,7 @@ QCOMPARE(count,testList.count()); for(TInt i=0; i < count; i++){ const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[i].GeneralTitle)); - QCOMPARE(testList.at(i),QString::fromUtf16( title.Ptr(), title.Length() )); + QCOMPARE(testList.at(i),QString::fromUtf16( title.Ptr(), title.Length() )); } } @@ -419,7 +405,7 @@ QString playListName("playlistname"); loadTestData(); mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData); - mTest->createPlaylist(playListName,selection); + mTest->createPlaylist(playListName, selection, NULL ); QCOMPARE(mTestPrivate->iCollectionUiHelper->iIncAdd, TBool(ETrue)); CMPXMedia* testTracks = mTestPrivate->iCollectionUiHelper->iMedia; QCOMPARE(testTracks->ValueTObjectL(KMPXMediaGeneralType),EMPXItem); @@ -586,15 +572,32 @@ */ void TestMpMpxCollectionFrameworkWrapper::testDeleteSongs() { + //DoDeleteSongsL QList selection; selection.append(1); mTest->deleteSongs(selection); QCOMPARE(mTestPrivate->iCollectionUiHelper->iDelete, TBool(ETrue)); selection.append(3); - selection.append(4); + selection.append(4); selection.append(5); mTest->deleteSongs(selection); QCOMPARE(mTestPrivate->iCollectionUiHelper->iDelete, TBool(ETrue)); + + + //DoDeleteAlbumSongsL + cleanup(); + init(); + + loadAlbumsTestData(); + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + mTestPrivate->iCollectionData->mContext = ECollectionContextAlbumsTBone; + mTestPrivate->iCollectionData->mCurrentAlbumIndex = 1; + + QList AlbumSongSelection; + AlbumSongSelection.append(1); + mTest->deleteSongs(AlbumSongSelection); + QCOMPARE(mTestPrivate->iCollectionUiHelper->iDelete, TBool(ETrue)); + } /*! @@ -622,19 +625,47 @@ } /*! + Tests Cancel + */ +void TestMpMpxCollectionFrameworkWrapper::testCancel() +{ + mTest->cancelRequest(); + QVERIFY(mTestPrivate->iCollectionUiHelper->iCancel); + +} + +/*! Tests PreviewItem */ void TestMpMpxCollectionFrameworkWrapper::testPreviewItem() { - loadTestData(); - mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData); - QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened())); - mTest->previewItem(1); - - // Playback utility should be created. - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); - QCOMPARE(spy.count(), 1); + {// DoPreviewSongL + loadTestData(); + mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData); + + QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened())); + mTest->previewItem(1); + + QVERIFY(mTestPrivate->iPlaybackUtility != 0); + QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); + QCOMPARE(spy.count(), 1); + } + + {// DoPreviewAlbumSongL + cleanup(); + init(); + loadAlbumsTestData(); + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + mTestPrivate->iCollectionData->mContext = ECollectionContextAlbumsTBone; + mTestPrivate->iCollectionData->mCurrentAlbumIndex = 1; + + QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened())); + mTest->previewItem(1); + + QVERIFY(mTestPrivate->iPlaybackUtility != 0); + QCOMPARE(mTestPrivate->iPlaybackUtility->iPlay, TBool(ETrue)); + QCOMPARE(spy.count(), 1); + } } /*! @@ -658,8 +689,6 @@ } - - /*! Tests handleCollectionMessage. Part of private implementation. */ @@ -678,6 +707,7 @@ testMessage->SetTObjectValueL(KMPXMessageGeneralType,EMcPathChangedByOpen); testMessage->SetTObjectValueL(KMPXMessageGeneralData,EMcContainerOpened); mTestPrivate->DoHandleCollectionMessageL(*testMessage); + //mTestPrivate->HandleCollectionMessage(*testMessage, KErrNone); QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(EFalse)); QCOMPARE(mTestPrivate->iIncrementalOpenUtil->iDelay, KIncrementalDelayHalfSecond); @@ -702,8 +732,29 @@ QCOMPARE(mTestPrivate->iFirstIncrementalOpen,TBool(EFalse)); QCOMPARE(mTestPrivate->iIncrementalOpenUtil->iDirection,CMPXCollectionOpenUtility::EFetchDown); QCOMPARE(mTestPrivate->iIncrementalOpenUtil->iChunkSize, 0); - - CleanupStack::PopAndDestroy(testMessage); + + //Content changed + cleanup(); + init(); + QSignalSpy spy(mTest, SIGNAL(containerContentsChanged())); + testMessage->SetTObjectValueL(KMPXMessageGeneralId,KMPXMessageIdItemChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXCollectionMessage::EPathChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,EMcPathChangedByOpen); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,EMcItemOpened); + mTestPrivate->DoHandleCollectionMessageL(*testMessage); + QCOMPARE(spy.count(), 1); + + CleanupStack::PopAndDestroy(testMessage); +} + +/*! + Tests handleCollectionMessage. Part of private implementation. + */ +void TestMpMpxCollectionFrameworkWrapper::testHandleCollectionMediaL() +{ + //HandleCollectionMediaL does nothing, test added just to cover all member functions. + mTestPrivate->HandleCollectionMediaL( *iMediaTestData, KErrNone); + QVERIFY( iMediaTestData ); } /*! @@ -883,6 +934,133 @@ } /*! + Used to test findAlbumSongs + */ +void TestMpMpxCollectionFrameworkWrapper::testFindAlbumSongs() +{ + int index(1); + loadAlbumsTestData(); + + CMPXMediaArray* albumsTestData = CMPXMediaArray::NewL( + *( iAlbumsTestData->Value( KMPXMediaArrayContents ) ) ); + mTestPrivate->iCollectionUtility->iAlbumSongs = albumsTestData; + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + + mTest->findAlbumSongs(index); + CMPXMedia* findResult = mTestPrivate->iCollectionUtility->iAsynchFindResult; + QVERIFY( findResult ); + QCOMPARE( findResult->ValueTObjectL( KMPXMediaGeneralId ), + albumsTestData->AtL(index)->ValueTObjectL( KMPXMediaGeneralId ) ); +} + +/*! + Used to test findAlbumSongs + */ +void TestMpMpxCollectionFrameworkWrapper::testHandleFindAll() +{ + int index(1); + loadAlbumsTestData(); + + CMPXMediaArray* albumsTestData = CMPXMediaArray::NewL( + *( iAlbumsTestData->Value( KMPXMediaArrayContents ) ) ); + mTestPrivate->iCollectionUtility->iAlbumSongs = albumsTestData; + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + mTestPrivate->iCollectionData->mCurrentAlbumIndex = index; + CMPXMedia* findResult = albumsTestData->AtL(index); + CMPXMediaArray* songArray = + findResult->Value( KMPXMediaArrayContents ); + + mTestPrivate->HandleFindAllL(*findResult, ETrue, KErrNone); + QCOMPARE( mTestPrivate->iCollectionData->mAlbumSongCount, songArray->Count() ); +} + +/*! + Used to test findAlbumSongs + */ +void TestMpMpxCollectionFrameworkWrapper::testPlayAlbumSongs() +{ + int albumIndex(1); + int songIndex(3); + loadAlbumsTestData(); + + {// With ECollectionContextAlbumsMediaWall + QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened())); + CMPXMediaArray* albumsTestData = CMPXMediaArray::NewL( + *( iAlbumsTestData->Value( KMPXMediaArrayContents ) ) ); + + mTestPrivate->iCollectionUtility->iAlbumSongs = albumsTestData; + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + mTestPrivate->iCollectionData->mCurrentAlbumIndex = albumIndex; + mTestPrivate->iCollectionData->mContext = ECollectionContextAlbumsMediaWall; + + mTest->playAlbumSongs(albumIndex, songIndex, 0); + CMPXCollectionPath* cpath = mTestPrivate->iPlaybackUtility->iCurrentPath; + QCOMPARE(spy.count(), 1); + QVERIFY(cpath->Levels() == 4); + } + + {// With other context + cleanup(); + init(); + QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened())); + CMPXMediaArray* albumsTestData = CMPXMediaArray::NewL( + *( iAlbumsTestData->Value( KMPXMediaArrayContents ) ) ); + + mTestPrivate->iCollectionUtility->iAlbumSongs = albumsTestData; + mTestPrivate->iCollectionData->setMpxMedia(*iAlbumsTestData); + mTestPrivate->iCollectionData->mCurrentAlbumIndex = albumIndex; + + mTest->playAlbumSongs(albumIndex, songIndex, NULL); + CMPXCollectionPath* cpath = mTestPrivate->iPlaybackUtility->iCurrentPath; + QCOMPARE(spy.count(), 1); + QVERIFY(cpath->Levels() == 2); + } +} + +/*! + Used to test setRepeatFeatureEnabled + */ +void TestMpMpxCollectionFrameworkWrapper::testSetRepeatFeatureEnabled() +{ + bool enabled( true ); + mTest->setRepeatFeatureEnabled( enabled ); + QVERIFY( mTestPrivate->iRepeatFeature ); + + enabled = false; + mTest->setRepeatFeatureEnabled( enabled ); + QVERIFY( !mTestPrivate->iRepeatFeature ); +} + +/*! + Used to test setShuffleFeatureEnabled + */ +void TestMpMpxCollectionFrameworkWrapper::testSetShuffleFeatureEnabled() +{ + bool enabled( true ); + mTest->setShuffleFeatureEnabled( enabled ); + QVERIFY( mTestPrivate->iShuffleFeature ); + + enabled = false; + mTest->setShuffleFeatureEnabled( enabled ); + QVERIFY( !mTestPrivate->iShuffleFeature ); +} + +/*! + Used to test createPlaybackUtilityL + */ +void TestMpMpxCollectionFrameworkWrapper::testCreatePlaybackUtilityL() +{ + bool repeat = true; + bool shuffle = true; + mTest->setRepeatFeatureEnabled( repeat ); + mTest->setShuffleFeatureEnabled( shuffle ); + mTestPrivate->createPlaybackUtilityL(); + QVERIFY( mTestPrivate->iPlaybackUtility ); + QVERIFY( mTestPrivate->iPlaybackUtility->iRepeat ); + QVERIFY( mTestPrivate->iPlaybackUtility->iShuffle ); +} + +/*! Used to load test data */ void TestMpMpxCollectionFrameworkWrapper::loadTestData() @@ -908,6 +1086,7 @@ media->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicArtist))); media->SetTObjectValueL(KMPXMediaGeneralCount, KAllSongsTestData[i].GeneralCount); media->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast(KAllSongsTestData[i].MusicAlbumArtFileName))); + media->SetTObjectValueL( KMPXMediaGeneralId, 300 + i ); array->AppendL(*media); CleanupStack::PopAndDestroy(media); } @@ -970,17 +1149,85 @@ } /*! - Used to wait on spy signal + Used to load test playlists */ -bool TestMpMpxCollectionFrameworkWrapper::waitForSignal(QSignalSpy* spy, int timeoutms) -{ - QTime timer; - timer.start(); - while (spy->isEmpty() && timer.elapsed() < timeoutms) - { - QCoreApplication::processEvents(); - } - return !spy->isEmpty(); +void TestMpMpxCollectionFrameworkWrapper::loadAlbumsTestData() +{ + if(iAlbumsTestData){ + delete iAlbumsTestData; + iAlbumsTestData=0; + } + + //Loading Test Data. + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMediaIdMusic ); + supportedIds.AppendL( KMPXMediaIdGeneral ); + iAlbumsTestData = CMPXMedia::NewL(supportedIds.Array()); + CMPXMedia* albumOneTracksTestData = CMPXMedia::NewL(supportedIds.Array()); + CMPXMedia* albumTwoTracksTestData = CMPXMedia::NewL(supportedIds.Array()); + CleanupStack::PopAndDestroy(&supportedIds); + CleanupStack::PushL(iAlbumsTestData); + CleanupStack::PushL(albumOneTracksTestData); + CleanupStack::PushL(albumTwoTracksTestData); + + {//Loading pseudo data for album one + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i =0; i < count/2; i++) { + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + media->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[i].GeneralTitle))); + media->SetTObjectValueL(KMPXMediaGeneralId, TMPXItemId(i)); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + } + albumOneTracksTestData->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); + albumOneTracksTestData->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); + albumOneTracksTestData->SetCObjectValueL(KMPXMediaArrayContents, array); + albumOneTracksTestData->SetTObjectValueL(KMPXMediaArrayCount, array->Count()); + albumOneTracksTestData->SetTObjectValueL(KMPXMediaGeneralId,TMPXItemId(1)); + CleanupStack::PopAndDestroy(array); + } + + {//Loading pseudo data for album two + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs); + for (TInt i = count/2; i < count; i++) { + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + media->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[i].GeneralTitle))); + media->SetTObjectValueL(KMPXMediaGeneralId, (i)); + array->AppendL(*media); + CleanupStack::PopAndDestroy(media); + } + albumTwoTracksTestData->SetTObjectValueL(KMPXMediaGeneralType, EMPXItem); + albumTwoTracksTestData->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); + albumTwoTracksTestData->SetCObjectValueL(KMPXMediaArrayContents, array); + albumTwoTracksTestData->SetTObjectValueL(KMPXMediaArrayCount, array->Count()); + albumTwoTracksTestData->SetTObjectValueL(KMPXMediaGeneralId,TMPXItemId(2)); + CleanupStack::PopAndDestroy(array); + } + + {//Loading pseudo data for albums container + CMPXMediaArray* array = CMPXMediaArray::NewL(); + CleanupStack::PushL(array); + array->AppendL(CMPXMedia::NewL()); //empty, this album is not selected for the test case. Useful to get ItemID = Album index + array->AppendL(*albumOneTracksTestData); + array->AppendL(*albumTwoTracksTestData); + iAlbumsTestData->SetTObjectValueL(KMPXMediaGeneralType, EMPXGroup); + iAlbumsTestData->SetTObjectValueL(KMPXMediaGeneralCategory, EMPXAlbum); + iAlbumsTestData->SetCObjectValueL(KMPXMediaArrayContents, array); + iAlbumsTestData->SetTObjectValueL(KMPXMediaArrayCount, array->Count()); + iAlbumsTestData->SetTObjectValueL(KMPXMediaGeneralId,TMPXItemId(88));//any number + CleanupStack::PopAndDestroy(array); + } + + CleanupStack::PopAndDestroy(albumTwoTracksTestData); + CleanupStack::PopAndDestroy(albumOneTracksTestData); + CleanupStack::Pop(iAlbumsTestData); } //end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpmpxcollectiondata.h --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpmpxcollectiondata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -21,6 +21,7 @@ #include "mpmpxcollectionviewdefs.h" class CMPXMedia; +class CMPXMediaArray; class MpMpxCollectionData @@ -45,15 +46,25 @@ ~MpMpxCollectionData(); TCollectionContext context(); + int count() const; + QString collectionTitle() const; QString itemData( int index, MpMpxCollectionData::DataType type ) const; - void setMpxMedia( const CMPXMedia& entries ); + int itemId(int index); + int currentAlbumIndex() const; + + void setMpxMedia( const CMPXMedia& entries, bool reopen=false ); const CMPXMedia& containerMedia(); + void setAlbumContent( const CMPXMedia& albumContent ); + public: - CMPXMedia *mContainerMedia; + CMPXMedia *mContainerMedia; //Not owned + CMPXMediaArray *mMediaArray; //Not owned TBool mMediaSet; TCollectionContext mContext; + int mCurrentAlbumIndex; + int mAlbumSongCount; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpsettingsmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpsettingsmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,48 @@ +/* +* 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: MpSettingsManager stub for testing MpMtpInfoLink. +* +*/ + +#ifndef MPSETTINGSMANAGER_H +#define MPSETTINGSMANAGER_H + +#include +#include + +class MpSettingsManager: public QObject +{ + +Q_OBJECT + +private: + explicit MpSettingsManager(); + +public: + virtual ~MpSettingsManager(); + static MpSettingsManager *instance(); + static bool shuffle(); + static bool repeat(); + static void setShuffle(bool shuffle); + static void setRepeat(bool repeat); + +public: + bool mShuffle; + bool mRepeat; + +private: + Q_DISABLE_COPY(MpSettingsManager) +}; + +#endif // MPSETTINGSMANAGER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionuihelper.h --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionuihelper.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionuihelper.h Thu Jul 22 16:32:33 2010 +0100 @@ -37,7 +37,7 @@ MMPXCollectionUiHelper(); ~MMPXCollectionUiHelper(); - void DeleteL( CMPXCollectionPath& aPath, + void DeleteL( CMPXCollectionPath& aPath, MMPXCHelperObserver* aObserver ); CMPXCollectionPath* MusicMenuPathL(); CMPXCollectionPath* MusicAllSongsPathL(); @@ -53,11 +53,13 @@ TUint aOriginalOrdinal, TUint aNewOrdinal, MMPXCHelperObserver* aObserver); + void Cancel(); public: TBool iIncAdd; TBool iDelete; + TBool iCancel; CMPXMedia *iMedia; TBool iValidRename; TBool iValidReorder; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionutility.h --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionutility.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxcollectionutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -31,6 +31,7 @@ //Forward declarations class CMPXCollectionPath; +class MMPXCollectionFindObserver; class MMPXCollection { @@ -46,6 +47,9 @@ virtual void CancelRequest() = 0; virtual CMPXMedia* FindAllL(const CMPXSearchCriteria& aCriteria, const TArray& aAttrs) = 0; + virtual void FindAllL(const CMPXSearchCriteria& aCriteria, + const TArray& aAttrs, + MMPXCollectionFindObserver& aObs) = 0; }; @@ -73,7 +77,10 @@ void BackL(); void CancelRequest(); CMPXMedia* FindAllL(const CMPXSearchCriteria& aCriteria, - const TArray& aAttrs); + const TArray& aAttrs); + void FindAllL(const CMPXSearchCriteria& aCriteria, + const TArray& aAttrs, + MMPXCollectionFindObserver& aObs); public: @@ -84,6 +91,7 @@ int iIndex; CMPXMedia *iPlaylists; //Owned CMPXMediaArray *iAlbumSongs; //Owned + CMPXMedia *iAsynchFindResult; //Owned }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxplaybackutility.h --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/inc/mpxplaybackutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -27,6 +27,7 @@ //Forward declarations class CMPXCollectionPlaylist; +class CMPXCollectionPath; class MMPXPlaybackUtility { @@ -47,6 +48,7 @@ TInt iRepeat; TMPXPlaybackProperty iProperty; TBool iPlay; + CMPXCollectionPath *iCurrentPath; }; #endif // MMPXPLAYBACKUTILITY_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -18,6 +18,9 @@ #include "mptrace.h" #include "stub/inc/mpmpxcollectiondata.h" #include +#include +#include +#include /*! @@ -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( 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(mContainerMedia->Value( KMPXMediaArrayContents ) ); mMediaSet = ETrue; } @@ -77,4 +126,25 @@ return *mContainerMedia; } +/*! + Stub function. +*/ +void MpMpxCollectionData::setAlbumContent( const CMPXMedia& albumContent ) +{ + //CMPXMediaArray* songArray(const_cast( albumContent.Value( + // KMPXMediaArrayContents ) ) ); + CMPXMediaArray* songArray = albumContent.Value( 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(KMPXMediaArrayCount, mAlbumSongCount); + } +} + //end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpsettingsmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpsettingsmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,77 @@ +/* +* 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: MpSettingsManager stub for testing MpMtpInfoLink. +* +*/ + +#include "stub/inc/mpsettingsmanager.h" + + +/*! + Constructs the MP Settings Manager. + */ +MpSettingsManager::MpSettingsManager() : + mShuffle(true), + mRepeat(true) +{ +} + +/*! + Destructs the settings manager. + */ +MpSettingsManager::~MpSettingsManager() +{ +} + +/*! + Returns the singleton instance to the settings manager. + */ +MpSettingsManager * MpSettingsManager::instance() +{ + static MpSettingsManager instance; + return &instance; +} + +/*! + Stub function. + */ +void MpSettingsManager::setShuffle( bool shuffle ) +{ + instance()->mShuffle = shuffle; +} + +/*! + Stub function. + */ +void MpSettingsManager::setRepeat( bool repeat ) +{ + instance()->mRepeat = repeat; +} + +/*! + Stub function. + */ +bool MpSettingsManager::shuffle() +{ + return instance()->mShuffle; +} + +/*! + Stub function. + */ +bool MpSettingsManager::repeat() +{ + return instance()->mRepeat; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionuihelper.cpp --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionuihelper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionuihelper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -32,6 +32,7 @@ */ MMPXCollectionUiHelper::MMPXCollectionUiHelper():iIncAdd(EFalse), iDelete(EFalse), + iCancel(EFalse), iValidRename(EFalse), iValidReorder(EFalse), iMedia(0) @@ -131,7 +132,7 @@ } CleanupStack::Pop( path ); - return path; + return path; } /*! @@ -149,7 +150,7 @@ } CleanupStack::Pop( path ); - return path; + return path; } /*! @@ -167,7 +168,15 @@ } CleanupStack::Pop( path ); - return path; + return path; +} + +/*! + Stub function. +*/ +void MMPXCollectionUiHelper::Cancel() +{ + iCancel = ETrue; } //end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionutility.cpp --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -25,6 +25,7 @@ #include #include #include +#include #include "mptrace.h" #include @@ -41,7 +42,8 @@ iOpenCount(0), iCountPath(0), iPlaylists(0), - iAlbumSongs(0) + iAlbumSongs(0), + iAsynchFindResult(0) { } @@ -59,6 +61,10 @@ { delete iPlaylists; } + if (iAsynchFindResult) + { + delete iAsynchFindResult; + } } /*! @@ -115,7 +121,16 @@ { return NULL; } - +} +/*! + Stub function. +*/ +void MMPXCollectionUtility::FindAllL(const CMPXSearchCriteria& aCriteria, + const TArray& aAttrs, + MMPXCollectionFindObserver& aObs) +{ + Q_UNUSED(aObs); + iAsynchFindResult = FindAllL(aCriteria, aAttrs); } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxplaybackutility.cpp --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxplaybackutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,6 +17,7 @@ #include #include +#include #include #include "stub/inc/mpxplaybackutility.h" @@ -27,7 +28,8 @@ MMPXPlaybackUtility::MMPXPlaybackUtility():iShuffle(-1), iRepeat(-1), iProperty(EPbPropertyVolume), - iPlay(EFalse) + iPlay(EFalse), + iCurrentPath(0) { } @@ -60,7 +62,7 @@ */ void MMPXPlaybackUtility::InitL(const CMPXCollectionPlaylist& aPlaylist, TBool aPlay) { - Q_UNUSED(aPlaylist); + iCurrentPath = aPlaylist.Path().ContainerPathL(); iPlay = aPlay; } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/unittest_mpmpxcollectionframeworkwrapper.pro --- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/unittest_mpmpxcollectionframeworkwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/unittest_mpmpxcollectionframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -1,32 +1,35 @@ +# # 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: Unit test for mpmpxframeworkwrapper +# + TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = - +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmpxcollectionframeworkwrapper TARGET.CAPABILITY = All -TCB DEPENDPATH += . INCLUDEPATH += . \ ../../inc \ ../../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lestor.dll \ -lfbscli.dll \ -lmpxcommon.dll \ - -lmpxcollectionutility.dll \ - -lmpsettingsmanager + -lmpxcollectionutility.dll HEADERS += inc/unittest_mpmpxcollectionframeworkwrapper.h \ ../../inc/mpmpxcollectionframeworkwrapper.h \ @@ -37,7 +40,8 @@ stub/inc/mpxcollectionutility.h \ stub/inc/mpxcollectionhelperfactory.h \ stub/inc/mpxplaybackutility.h \ - stub/inc/mpmpxisolatedcollectionhelper.h + stub/inc/mpmpxisolatedcollectionhelper.h \ + stub/inc/mpsettingsmanager.h SOURCES += src/unittest_mpmpxcollectionframeworkwrapper.cpp \ ../../src/mpmpxcollectionframeworkwrapper.cpp \ @@ -47,6 +51,6 @@ stub/src/mpxcollectionutility.cpp \ stub/src/mpxcollectionhelperfactory.cpp \ stub/src/mpxplaybackutility.cpp \ - stub/src/mpmpxisolatedcollectionhelper.cpp + stub/src/mpmpxisolatedcollectionhelper.cpp \ + stub/src/mpsettingsmanager.cpp -# RESOURCES += ../../resources/mpcollectionviewresources.qrc diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/CTCHTML.zip Binary file mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/CTCHTML.zip has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxdetailsframeworkwrapper.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxdetailsframeworkwrapper.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,30 @@ +; 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: + +; Language +&EN + +; SIS header: name, uid, version +#{"unittest_mpmpxdetailsframeworkwrapper"},(0xE40d71fd),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + +; Executable and default resource files +"/epoc32/release/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.exe" - "!:\sys\bin\unittest_mpmpxdetailsframeworkwrapper.exe" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpmpxdetailsframeworkwrapper_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpmpxdetailsframeworkwrapper_reg.rsc" + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,100 @@ +/* +* 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: Unit test for mpmpxdetailsframeworkwrapper +* +*/ + +#ifndef LOGGER_H +#define LOGGER_H + +#ifndef _DEBUG + + #define TRACE( AA ) + + #define TRACE2( AA, BB ) + + #define TRACE3( AA, BB, CC ) + + #define TRACE4( AA, BB, CC, DD ) + + #define TRACE5( AA, BB, CC, DD, EE ) + + #define DUMP8( AA ) + + #define TRACE_DOWNLOADER_STATE( AA ) + + #define TRACE_AND_PANIC( AA ) + + #define PANIC_ON_ERROR(AA, BB) + +#else + + // INCLUDES + #include + + #define TRACE_AND_PANIC( AA ) \ + { \ + RDebug::Printf( "ERROR: " AA ); \ + ASSERT(EFalse); \ + } + + #define PANIC_ON_ERROR(AA, BB) \ + { \ + if(AA) \ + { \ + RDebug::Printf( "ERROR: " BB, AA ); \ + ASSERT(EFalse); \ + } \ + } + + #define TRACE( AA ) do { RDebug::Printf( AA ); } while( 0 ) + + #define TRACE2( AA, BB ) do { RDebug::Printf( AA, BB ); } while( 0 ) + + #define TRACE3( AA, BB, CC ) do { RDebug::Printf( AA, BB, CC ); } while( 0 ) + + #define TRACE4( AA, BB, CC, DD ) do { RDebug::Printf( AA, BB, CC, DD ); } while( 0 ) + + #define TRACE5( AA, BB, CC, DD, EE ) do { RDebug::Printf( AA, BB, CC, DD, EE ); } while( 0 ) + + #define DUMP8( AA ) \ + TRAP_IGNORE( \ + { \ + HBufC* conversion = HBufC::NewLC( AA.Length() ); \ + TPtr convPtr( conversion->Des() ); \ + convPtr.Copy( AA ); \ + const TInt KMaxLine = 60; \ + for ( TInt index = convPtr.Length(); index > 0; \ + index -= KMaxLine ) \ + { \ + if ( index <= KMaxLine ) \ + { \ + RDebug::Print( convPtr ); \ + break; \ + } \ + else \ + { \ + RDebug::Print( convPtr.Left( KMaxLine ) ); \ + convPtr.Copy( convPtr.Mid( KMaxLine ) ); \ + } \ + } \ + CleanupStack::PopAndDestroy( conversion ); \ + } ); + + +#endif // _LOGGER + +#endif // _LOGGER + +// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,77 @@ +/* +* 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: Unit test for mpmpxdetailsframeworkwrapper +* +*/ + +#ifndef TESTMPMPXDETAILSFRAMEWORKWRAPPER_H +#define TESTMPMPXDETAILSFRAMEWORKWRAPPER_H + +#include + +class MpMpxDetailsFrameworkWrapper; +class MpMpxDetailsFrameworkWrapperPrivate; +class CMPXMedia; +class MpSongData; + +class TestMpMpxDetailsFrameworkWrapper : public QObject +{ + Q_OBJECT + +public: + + TestMpMpxDetailsFrameworkWrapper(); + virtual ~TestMpMpxDetailsFrameworkWrapper(); + +private: //test utility functions + void loadTestData(TInt aPos); + void verifyEmptyTestData(); + void verify(int index); + void handleSongDetailInfoChanged(); + void doTestHandleMedia(int index, TInt aResult); + void doTestNoChange(); + +private slots: + + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + void handleCommitPlaybackInfo(); + +private slots: // test functions + void testConstructor(); + void testSongData(); + void testHandlePlaybackMessage(); + void testHandleMedia(); + void testRetrieveSong(); + void testHandleProperty(); + void testHandleSubPlayerNames(); + +private: + + MpMpxDetailsFrameworkWrapper *mTest; + MpMpxDetailsFrameworkWrapperPrivate *mTestPrivate; + CMPXMedia *iMediaTestData; + bool mSongDetailInfoChanged; + bool mPlaybackInfoChanged; + TInt mAllocCells; + +}; + +#endif // TESTMPMPXDETAILSFRAMEWORKWRAPPER_H + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +del *.sisx +makesis UT_mpmpxdetailsframeworkwrapper.pkg +signsis UT_mpmpxdetailsframeworkwrapper.sis UT_mpmpxdetailsframeworkwrapper.sisx RNDCERTS_PATH\Nokia_RnDCert_02.der RNDCERTS_PATH\Nokia_RnDCert_02.key +del UT_mpmpxdetailsframeworkwrapper.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,769 @@ +/* +* 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: Unit test for mpmpxdetailsframeworkwrapper +* +*/ + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include "unittest_mpmpxdetailsframeworkwrapper.h" +#include "stub/inc/mpxplaybackutility.h" +#include "stub/inc/mpsongdata.h" +#include "logger.h" +#include "mpcommondefs.h" + +// classes under test +#define private public +#include "mpmpxdetailsframeworkwrapper.h" +#include "mpmpxdetailsframeworkwrapper_p.h" +#undef private + +struct TTestAttrs + { + const wchar_t* GeneralTitle; // MpSongData::mTitle + const wchar_t* MusicArtist; // MpSongData::mArtist + const wchar_t* MusicAlbum; // MpSongData::mAlbum + const wchar_t* MusicAlbumArtFileName; // MpSongData::mAlbumArt (TODO: not tested yet) + const wchar_t* Composer; // MpSongData::mComposer + const TInt Year; // MpSongData::mYear + const wchar_t* MusicAlbumTrack; // MpSongData::mAlbumTrack + const wchar_t* MusicGenre; // MpSongData::mGenre + const wchar_t* MusicUri; // N/A in MpSongData (TODO: not tested yet) + const wchar_t* MimeType; // MpSongData::mMimeType + const TInt Duration; // MpSongData::mDuration + const TInt MediaAudioBitRate; // MpSongData::mbitRate + const TInt MediaAudioSampleRate; // MpSongData::mSampleRate + const wchar_t* Copyright; // MpSongData::mCopyright + const wchar_t* Url; // MpSongData::mMusicURL + }; + +// title +const TInt KTitleZeroSized = 0; +const TInt KTitleVeryLarge = 1; +const TInt KTitleOff = 2; + +// artist +const TInt KMusicArtistZeroSized = 3; +const TInt KMusicArtistLarge = 4; +const TInt KMusicArtistOff = 5; + +// album +const TInt KAlbumZeroSized = 6; +const TInt KAlbumLarge = 7; +const TInt KAlbumOff = 8; + +// comment +const TInt KCommentZeroSized = 9; +const TInt KCommentLarge = 10; +const TInt KCommentOff = 11; + +// composer +const TInt KComposerZeroSized = 12; +const TInt KComposerLarge = 13; +const TInt KComposerOff = 14; + +// year +const TInt KYearNegative = 15; +const TInt KYearZero = 16; +const TInt KYearPositive = 17; +const TInt KYearOff = 18; + +// album track +const TInt KAlbumTrackZeroSized = 19; +const TInt KAlbumTrackLarge = 20; +const TInt KAlbumTrackOff = 21; + +// genre +const TInt KGenreZeroSized = 22; +const TInt KGenreLarge = 23; +const TInt KGenreOff = 24; + +// everything is OFF +const TInt KAllFieldsOFF = 25; + +// MIME Type +const TInt KMimeTypeZeroSized = 26; +const TInt KMimeTypeMP3 = 27; +const TInt KMimeTypeLarge = 28; +const TInt KMimeTypeOff = 29; + +// duration +const TInt KDuration = 30; + +// bit rate +const TInt KMediaAudioBitrate = 31; + +// sample rate +const TInt KMediaAudioSampleRate = 32; + +// sample rate +const TInt KMediaGeneralCopyright = 33; +const TInt KMediaMusicURL = 34; + +_LIT(KOff,"OFF"); + +const TTestAttrs KAllSongsTestData[] = + { + // Title + { L"", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + ,{ L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + ,{ L"OFF", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Artist + , { L"Title", L"", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + ,{ L"Title", L"OFF", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Album + , { L"Title", L"Artist", L"", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"OFF", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Comment + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Composer + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", 2009, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"OFF", 2009, L"Track 1", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Year + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", -200, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 0, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 3000, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", -1, L"Track 1", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Album Track + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"OFF", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // Genre + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"OFF", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // all fields OFF + , { L"OFF", L"OFF", L"OFF", L"OFF", L"OFF", -1, L"OFF", L"OFF", L"OFF", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // MIME TYPE - FORMAT + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"MP3", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", -1,-1,-1, L"OFF", L"OFF"} + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"OFF", -1,-1,-1, L"OFF", L"OFF"} + // duration + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", 0,-1,-1, L"OFF", L"OFF"} + // KMediaAudioBitrate + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", 0,0, -1, L"OFF", L"OFF"} + // KMPXMediaAudioSamplerate + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", -1,-1, 0, L"OFF", L"OFF"} + // KMPXMediaGeneralCopyright + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", -1,-1, 0, L"Copyright", L"OFF"} + // KMPXMediaMusicURL + , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Composer 1", 2000, L"Track", L"Genre", L"Uri 1", L"", -1,-1, 0, L"OFF", L"URL"} + + }; + + +QString referenceGeneralCopyright(int index) +{ + QString result; + const TDesC& copyright = TPtrC(reinterpret_cast(KAllSongsTestData[index].Copyright)); + if(copyright.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( copyright.Ptr(), copyright.Length() ); + } + return result; +} + +QString referenceUrl(int index) +{ + QString result; + const TDesC& url = TPtrC(reinterpret_cast(KAllSongsTestData[index].Url)); + if(url.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( url.Ptr(), url.Length() ); + } + return result; +} + +QString referenceMimeType(int index) +{ + QString result; + const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[index].MimeType)); + _LIT(KMime, "audio/aac"); + if(title.Match(KMime) == KErrNone) + { + result = QString("AAC"); + } + return result; +} + +QString referenceGeneralTitle(int index) +{ + QString result; + const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[index].GeneralTitle)); + if(title.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( title.Ptr(), title.Length() ); + } + return result; +} + +QString referenceMusicArtist(int index) +{ + QString result; + const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicArtist)); + if(artist.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( artist.Ptr(), artist.Length()); + } + return result; +} + +QString referenceMusicAlbum(int index) +{ + QString result; + const TDesC& album = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbum)); + if(album.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( album.Ptr(), album.Length() ); + } + return result; +} + +QString referenceMusicAlbumArtFileName(int index) +{ + QString result; + const TDesC& musicAlbumArtFileName = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbumArtFileName)); + if(musicAlbumArtFileName.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( musicAlbumArtFileName.Ptr(), musicAlbumArtFileName.Length() ); + } + return result; +} + +QString referenceComposer(int index) +{ + QString result; + const TDesC& composer = TPtrC(reinterpret_cast(KAllSongsTestData[index].Composer)); + if(composer.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( composer.Ptr(), composer.Length() ); + } + return result; +} + +int referenceYear(int index) +{ + return (KAllSongsTestData[index].Year >= 0) ? KAllSongsTestData[index].Year : 0; +} + +QString referenceMusicAlbumTrack(int index) +{ + QString result; + const TDesC& musicAlbumTrack = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbumTrack)); + if(musicAlbumTrack.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( musicAlbumTrack.Ptr(), musicAlbumTrack.Length() ); + } + return result; +} + +QString referenceMusicGenre(int index) +{ + QString result; + const TDesC& musicGenre = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicGenre)); + if(musicGenre.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( musicGenre.Ptr(), musicGenre.Length() ); + } + return result; +} + +QString referenceMusicUri(int index) +{ + QString result; + const TDesC& musicUri = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicUri)); + if(musicUri.Match(KOff) == KErrNotFound) + { + result = QString::fromUtf16( musicUri.Ptr(), musicUri.Length() ); + } + return result; +} + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + HbApplication app(argc, argv); + HbMainWindow window; + + TestMpMpxDetailsFrameworkWrapper tv; + +if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxdetailsframeworkwrapper.txt"; + + return QTest::qExec(&tv, 3, pass); + } + +} + +TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper() + : mTest(0), + iMediaTestData(0), + mSongDetailInfoChanged(false), + mPlaybackInfoChanged(false) +{ +} + +TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpMpxDetailsFrameworkWrapper::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpMpxDetailsFrameworkWrapper::cleanupTestCase() +{ +QCoreApplication::processEvents(); +} + +/*! + Called before each testfunction is executed. + */ +void TestMpMpxDetailsFrameworkWrapper::init() +{ + User::__DbgMarkStart(RHeap::EUser); + TInt freeCount(0); + mAllocCells = User::CountAllocCells(freeCount); + TRACE3("TestMpMpxDetailsFrameworkWrapper::init() -- allocCount: %d, freeCount: %d", + mAllocCells, freeCount ); + + mTest = new MpMpxDetailsFrameworkWrapper( TUid::Uid( MpCommon::KMusicPlayerUid ) ); + mTestPrivate = mTest->d_ptr; +} + +/*! + Called after every testfunction. + */ +void TestMpMpxDetailsFrameworkWrapper::cleanup() +{ + delete mTest; + mTest = 0; + mTestPrivate = 0; + + TInt freeCount(0); + TInt allocCount = User::CountAllocCells(freeCount); + TRACE3( "TestMpMpxDetailsFrameworkWrapper::cleanup() -- allocCount: %d, freeCount: %d", + allocCount, freeCount ); + User::__DbgMarkEnd(RHeap::EUser,0); // this should panic if leak +} + +/*! + Tests constructor. + */ +void TestMpMpxDetailsFrameworkWrapper::testConstructor() +{ + QVERIFY( mTestPrivate->q_ptr ); + QVERIFY( mTestPrivate->iPlaybackUtility ); + QVERIFY( mTestPrivate->iSongData ); + // TODO: test observer? +} + +/*! + Tests playbackData + */ +void TestMpMpxDetailsFrameworkWrapper::testSongData() +{ + QCOMPARE(mTestPrivate->iSongData, mTest->songData()); +} + +void TestMpMpxDetailsFrameworkWrapper::testHandleProperty() +{ + // dummy call just to get coverage up. Empty imp in function under test + mTestPrivate->HandlePropertyL(EPbPropertyVolume, 0, 0); +} + +void TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames() +{ + // dummy call just to get coverage up. Empty imp in function under test + mTestPrivate->HandleSubPlayerNamesL(TUid::Null(), 0, 0, 0); +} + +/*! + Tests testHandlePlaybackMessage + */ +void TestMpMpxDetailsFrameworkWrapper::testHandlePlaybackMessage() +{ + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMessageContentIdGeneral ); + CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array()); + CleanupStack::PopAndDestroy(&supportedIds); + CleanupStack::PushL(testMessage); + testMessage->SetTObjectValueL( KMPXMessageGeneralId, KMPXMessageGeneral); + + //Media change + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + CleanupStack::PopAndDestroy(testMessage); +} + +void TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData() +{ + QVERIFY(mTestPrivate->iSongData->title().isEmpty()); + QVERIFY(mTestPrivate->iSongData->album().isEmpty()); + QVERIFY(mTestPrivate->iSongData->artist().isEmpty()); + QVERIFY(mTestPrivate->iSongData->comment().isEmpty()); + QVERIFY(mTestPrivate->iSongData->year().isEmpty()); + QVERIFY(mTestPrivate->iSongData->genre().isEmpty()); + QVERIFY(mTestPrivate->iSongData->composer().isEmpty()); + QVERIFY(mTestPrivate->iSongData->albumTrack().isEmpty()); + QVERIFY(mTestPrivate->iSongData->link().isEmpty()); + QVERIFY(mTestPrivate->iSongData->mimeType().isEmpty()); + QVERIFY(mTestPrivate->songData()->duration().isEmpty()); + QVERIFY(mTestPrivate->songData()->bitRate().isEmpty()); + QVERIFY(mTestPrivate->songData()->sampleRate().isEmpty()); + QVERIFY(mTestPrivate->songData()->copyright().isEmpty()); + QVERIFY(mTestPrivate->songData()->musicURL().isEmpty()); +} + +void TestMpMpxDetailsFrameworkWrapper::verify(int index) +{ + QCOMPARE(mTestPrivate->songData()->title(), referenceGeneralTitle( index )); + QCOMPARE(mTestPrivate->songData()->album(), referenceMusicAlbum( index )); + QCOMPARE(mTestPrivate->songData()->artist(), referenceMusicArtist( index )); + // TODO: how to verify albumArt ? + QCOMPARE(mTestPrivate->songData()->composer(), referenceComposer( index )); + QCOMPARE(mTestPrivate->songData()->year().toInt(), referenceYear( index )); + QCOMPARE(mTestPrivate->songData()->albumTrack(), referenceMusicAlbumTrack( index )); + QCOMPARE(mTestPrivate->songData()->genre(), referenceMusicGenre( index )); + QCOMPARE(mTestPrivate->songData()->mimeType(), referenceMimeType( index )); + QVERIFY(mTestPrivate->songData()->duration().isEmpty()); + QVERIFY(mTestPrivate->songData()->bitRate().isEmpty()); + QVERIFY(mTestPrivate->songData()->sampleRate().isEmpty()); + QCOMPARE(mTestPrivate->songData()->copyright(), referenceGeneralCopyright(index) ); + QCOMPARE(mTestPrivate->songData()->musicURL(), referenceUrl(index) ); + +} + +void TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia(int dataIndex, TInt aResult) +{ + init(); + loadTestData(dataIndex); + mTestPrivate->HandleMediaL(*iMediaTestData, aResult); + if(aResult != KErrNone) + { + verifyEmptyTestData(); + } + else + { + verify(dataIndex); + } + cleanup(); +} + +/* + Tests handleMedia +*/ +void TestMpMpxDetailsFrameworkWrapper::testHandleMedia() +{ + // testing passing error code. iSongData should not be modified + // as it got constructed fresh with init(), all its string + // members must be empty + doTestHandleMedia(KTitleZeroSized, KErrGeneral); + + // Testing zero sized title + doTestHandleMedia(KTitleZeroSized, KErrNone); + + // very large title + doTestHandleMedia(KTitleVeryLarge, KErrNone); + + // Testing title field OFF + doTestHandleMedia(KTitleOff, KErrNone); + + // Testing artist empty string + doTestHandleMedia(KMusicArtistZeroSized, KErrNone); + + // Testing artist long + doTestHandleMedia(KMusicArtistLarge, KErrNone); + + // Testing artist field OFF + doTestHandleMedia(KMusicArtistOff, KErrNone); + + // Testing album zero sized + doTestHandleMedia(KAlbumZeroSized, KErrNone); + + // Testing album long + doTestHandleMedia(KAlbumLarge, KErrNone); + + // Testing album off + doTestHandleMedia(KAlbumOff, KErrNone); + + // Testing comment zero sized + doTestHandleMedia(KCommentZeroSized, KErrNone); + + // Testing comment large + doTestHandleMedia(KCommentLarge, KErrNone); + + // Testing comment OFF + doTestHandleMedia(KCommentOff, KErrNone); + + // Testing composer zero sized + doTestHandleMedia(KComposerZeroSized, KErrNone); + + // Testing composer large + doTestHandleMedia(KComposerLarge, KErrNone); + + // Testing composer OFF + doTestHandleMedia(KComposerOff, KErrNone); + + // Testing year negative + doTestHandleMedia(KYearNegative, KErrNone); + + // Testing year 0 + doTestHandleMedia(KYearZero, KErrNone); + + // Testing year + + doTestHandleMedia(KYearPositive, KErrNone); + + // Testing year OFF + doTestHandleMedia(KYearOff, KErrNone); + + // Testing album track zero sized + doTestHandleMedia(KAlbumTrackZeroSized, KErrNone); + + // Testing album track large + doTestHandleMedia(KAlbumTrackLarge, KErrNone); + + // Testing album track OFF + doTestHandleMedia(KAlbumTrackOff, KErrNone); + + // Testing genre zero sized + doTestHandleMedia(KGenreZeroSized, KErrNone); + + // Testing genre large + doTestHandleMedia(KGenreLarge, KErrNone); + + // Testing genre OFF + doTestHandleMedia(KGenreOff, KErrNone); + + // Testing all fields OFF + doTestHandleMedia(KAllFieldsOFF, KErrNone); + + // Zero sized Mime Type + doTestHandleMedia(KMimeTypeZeroSized, KErrNone); + + // audio/aac mime type + doTestHandleMedia(KMimeTypeMP3, KErrNone); + + // Damn long mime type + doTestHandleMedia(KMimeTypeLarge, KErrNone); + + // no mime type + doTestHandleMedia(KMimeTypeOff, KErrNone); + + doTestNoChange(); + + // duration + doTestHandleMedia(KDuration, KErrNone); + + // media audio bit rate + doTestHandleMedia(KMediaAudioBitrate, KErrNone); + + // audio sample rate + doTestHandleMedia(KMediaAudioSampleRate, KErrNone); + + // copyright + doTestHandleMedia(KMediaGeneralCopyright, KErrNone); + + // url + doTestHandleMedia(KMediaMusicURL, KErrNone); + +} + +void TestMpMpxDetailsFrameworkWrapper::doTestNoChange() +{ + init(); + mPlaybackInfoChanged = false; + loadTestData(KYearPositive); + connect( mTestPrivate->iSongData, SIGNAL( songDetailInfoChanged() ), this, SLOT( handleCommitPlaybackInfo() ) ); + mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); + QCOMPARE( mPlaybackInfoChanged, true ); + mPlaybackInfoChanged = false; + mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); + QCOMPARE( mPlaybackInfoChanged, true ); // TODO: this must be false, donno why we get songDetailInfoChanged signal + cleanup(); +} + +void TestMpMpxDetailsFrameworkWrapper::handleCommitPlaybackInfo() +{ + mPlaybackInfoChanged = true; +} + +/*! + Tests retrieveSong + */ +void TestMpMpxDetailsFrameworkWrapper::testRetrieveSong() +{ + mTest->retrieveSong(); // async + // no need to verify the data received. As we already + // tested them in testHandleMedia +} + +void TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged() +{ + mSongDetailInfoChanged = true; +} + +/*! + Used to load test data + */ +void TestMpMpxDetailsFrameworkWrapper::loadTestData( TInt aPos ) +{ + TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData entry"); + if( iMediaTestData ){ + delete iMediaTestData; + iMediaTestData=0; + } + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMediaIdMusic ); + supportedIds.AppendL( KMPXMediaIdGeneral ); + iMediaTestData = CMPXMedia::NewL( supportedIds.Array() ); + CleanupStack::PopAndDestroy( &supportedIds ); + + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Loading %d.th data entry", aPos); + TPtrC title( reinterpret_cast( KAllSongsTestData[aPos].GeneralTitle ) ); + if(title.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding title: %S to iMediaTestData", &title); + iMediaTestData->SetTextValueL( KMPXMediaGeneralTitle, title ); + } + + TPtrC artist( reinterpret_cast( KAllSongsTestData[aPos].MusicArtist ) ); + if(artist.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding artist: %S to iMediaTestData", &artist); + iMediaTestData->SetTextValueL( KMPXMediaMusicArtist, artist ); + } + + TPtrC musicAlbum( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbum ) ); + if(musicAlbum.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbum: %S to iMediaTestData", &musicAlbum); + iMediaTestData->SetTextValueL( KMPXMediaMusicAlbum, musicAlbum ); + } + + TPtrC musicAlbumArtFileName( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbumArtFileName ) ); + if(musicAlbumArtFileName.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumArtFileName: %S to iMediaTestData", &musicAlbumArtFileName); + iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumArtFileName, musicAlbumArtFileName ); + } + + TPtrC composer( reinterpret_cast( KAllSongsTestData[aPos].Composer ) ); + if(composer.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding composer: %S to iMediaTestData", &composer); + iMediaTestData->SetTextValueL( KMPXMediaMusicComposer, composer); + } + + if(KAllSongsTestData[aPos].Year != -1) { + TDateTime date_time; + date_time.SetYear(KAllSongsTestData[aPos].Year); + date_time.SetMonth(EJanuary); + date_time.SetDay(1); + date_time.SetHour(0); + date_time.SetMinute(0); + date_time.SetSecond(0); + date_time.SetMicroSecond(0); + TTime date(date_time); + TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding year: %d in %LD to iMediaTestData", KAllSongsTestData[aPos].Year, date.Int64()); + TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Is year %d equal to %d", KAllSongsTestData[aPos].Year, date.DateTime().Year()); + iMediaTestData->SetTObjectValueL( KMPXMediaMusicYear, date.Int64() ); + } + + TPtrC musicAlbumTrack( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbumTrack ) ); + if(musicAlbumTrack.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumTrack: %S to iMediaTestData", &musicAlbumTrack); + iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumTrack, musicAlbumTrack); + } + + TPtrC genre( reinterpret_cast( KAllSongsTestData[aPos].MusicGenre ) ); + if(genre.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding genre: %S to iMediaTestData", &genre); + iMediaTestData->SetTextValueL( KMPXMediaMusicGenre, genre); + } + + TPtrC musicUri( reinterpret_cast( KAllSongsTestData[aPos].MusicUri ) ); + if(musicUri.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicUri: %S to iMediaTestData", &musicUri); + iMediaTestData->SetTextValueL( KMPXMediaGeneralUri, musicUri); + } + + TPtrC mimeType( reinterpret_cast( KAllSongsTestData[aPos].MimeType ) ); + if(mimeType.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding mimeType: %S to iMediaTestData", &mimeType); + iMediaTestData->SetTextValueL( KMPXMediaGeneralMimeType, mimeType); + } + + if(KAllSongsTestData[aPos].Duration != -1) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding duration: %d to iMediaTestData", KAllSongsTestData[aPos].Duration ); + iMediaTestData->SetTObjectValueL( KMPXMediaGeneralDuration, KAllSongsTestData[aPos].Duration ); + } + + if(KAllSongsTestData[aPos].MediaAudioBitRate != -1) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding MediaAudioBitRate: %d to iMediaTestData", KAllSongsTestData[aPos].MediaAudioBitRate ); + iMediaTestData->SetTObjectValueL( KMPXMediaAudioBitrate, KAllSongsTestData[aPos].MediaAudioBitRate ); + } + + if(KAllSongsTestData[aPos].MediaAudioSampleRate != -1) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding MediaAudioBitRate: %d to iMediaTestData", KAllSongsTestData[aPos].MediaAudioSampleRate ); + iMediaTestData->SetTObjectValueL( KMPXMediaAudioSamplerate, KAllSongsTestData[aPos].MediaAudioSampleRate ); + } + + TPtrC copyright( reinterpret_cast( KAllSongsTestData[aPos].Copyright ) ); + if(copyright.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding copyright: %S to iMediaTestData", ©right); + iMediaTestData->SetTextValueL( KMPXMediaGeneralCopyright, copyright); + } + + TPtrC url( reinterpret_cast( KAllSongsTestData[aPos].Url ) ); + if(url.Match(KOff) == KErrNotFound) { + TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding url: %S to iMediaTestData", &url); + iMediaTestData->SetTextValueL( KMPXMediaMusicURL, url ); + } + + TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData exit"); +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,125 @@ +/* +* 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: Metadata of song for details view. +* +*/ + +#ifndef MPSONGDATA_H +#define MPSONGDATA_H + +#include +#include +#include + +//forward declartions +class HbIcon; + +//class declaration +class MpSongData : public QObject +{ + Q_OBJECT + +public: + explicit MpSongData( QObject *parent=0 ); + virtual ~MpSongData(); + + bool setTitle( const QString &title ); + bool setAlbum( const QString &album ); + bool setArtist( const QString &artist ); + bool setComment( const QString &comment ); + void setAlbumArtUri( const QString &albumArtUri ); + bool setYear( int date ); + bool setGenre( const QString &genre ); + bool setComposer( const QString &compoer ); + bool setAlbumTrack( const QString &albumtrack ); + void setLink( const QString &link ); + bool setFileName( const QString &fileName ); + bool setMimeType( const QString &mimeType ); + bool setDuration( int duration ); + bool setBitRate( int bitRate); + bool setSampleRate( int sampleRate ); + bool setSize( int size ); + bool setModified( const QString &modified ); + bool setCopyright( const QString ©right ); + bool setMusicURL( const QString &musicURL ); + bool setDrmProtected( bool drmProtected ); + + // inform details view when basic information is ready to accelerate UI update + void commitPlaybackInfo(); + // inform details view when details information is ready + void commitSongDetailInfo(); + +public slots: + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + + int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } + + QString title() const; + QString album() const; + QString artist() const; + QString comment() const; + void albumArt( HbIcon& icon ) const; + QString year() const; + QString genre() const; + QString composer() const; + QString albumTrack() const; + QString link() const; + + QString fileName() const; + QString mimeType() const; + QString duration() const; + QString bitRate() const; + QString sampleRate() const; + QString size() const; + QString modified() const; + QString copyright() const; + QString musicURL() const; + bool isDrmProtected() const; + + QString albumArtBase64() const; + +signals: + void albumArtReady(); + void playbackInfoChanged(); + void songDetailInfoChanged(); + +private: + QString mTitle; + QString mAlbum; + QString mArtist; + QString mComment; + QString mComposer; + QString mGenre; + QString mYear; + QString mAlbumTrack; + HbIcon *mAlbumArt; + TInt mReqId; + QString currentAAUri; + HbIcon *mDefaultAlbumArt; + QString mLink; + QString mFileName; + QString mMimeType; + QString mDuration; + QString mBitRate; + QString mSampleRate; + QString mSize; + QString mModified; + QString mCopyright; + QString mMusicURL; + bool mDrmProtected; + + Q_DISABLE_COPY(MpSongData) +}; + +#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,96 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + + +#ifndef MMPXPLAYBACKUTILITY_H +#define MMPXPLAYBACKUTILITY_H + +#include "stub/inc/mpxplayermanager.h" +#include "stub/inc/mpxsource.h" +#include +#include +#include +#include + +//Forward declarations +class CMPXCollectionPlaylist; +class MMPXPlaybackObserver; +class MMPXPlaybackCallback; +class CAsyncCallBack; +class CMPXSubscription; + +class MMPXPlaybackUtility +{ +public: + ~MMPXPlaybackUtility(); + +protected: + MMPXPlaybackUtility(); + void ConstructL(); + +public: // MMPXPlaybackUtility's overridden (stubbed by us) functions + static MMPXPlaybackUtility* NewL(const TUid& aModeId = KPbModeDefault, + MMPXPlaybackObserver* aObs=NULL); + + static MMPXPlaybackUtility* NewL(const TMPXCategory aCategory, + const TUid& aModeId = KPbModeDefault, + MMPXPlaybackObserver* aObs=NULL); + static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault ); + static MMPXPlaybackUtility* UtilityL(const TMPXCategory aCategory, + const TUid& aModeId = KPbModeDefault ); + +public: // MMPXPlaybackUtility stubbed pure virtuals + void AddObserverL(MMPXPlaybackObserver& aPlaybackObserver); + void RemoveObserverL(MMPXPlaybackObserver& aPlaybackObserver); + void GetClientsL(RArray& aClients); + void InitL(const CMPXCollectionPlaylist& aPlaylist, TBool aPlay=ETrue); + void InitL(const TDesC& aUri, const TDesC8* aType=NULL); + void InitL(RFile& aShareableFile); + void Close(); + void CancelRequest(); + void CommandL(TMPXPlaybackCommand aCmd, TInt aData=0); + void CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback=NULL); + TMPXPlaybackState StateL() const; + MMPXSource* Source(); + MMPXPlayerManager& PlayerManager(); + void SetL(TMPXPlaybackProperty aProperty, TInt aValue); + void ValueL(MMPXPlaybackCallback& aCallback, TMPXPlaybackProperty aProperty); + void PropertyL(MMPXPlaybackCallback& aCallback, TMPXPlaybackProperty aProperty); + CDesCArray* SupportedMimeTypes(); + CDesCArray* SupportedExtensions(); + CDesCArray* SupportedSchemas(); + void SetPriority( TInt aPriority ); + void AddSubscriptionL(const CMPXSubscription& aSubscription); + void RemoveSubscriptionL(const CMPXSubscription& aSubscription); + void ClearSubscriptionsL(); + void InitStreamingL(const TDesC& aUri, const TDesC8* aType, const TInt aAccessPoint); + void InitStreamingL(RFile& aShareableFile, const TInt aAccessPoint); + +private: + MMPXSource* iMpxSource; + MMPXPlayerManager* iMpxPlayerManager; + MMPXPlaybackObserver* iPlaybackObserver; + MMPXPlaybackCallback* iPlaybackCallback; + TMPXPlaybackState iState; + CAsyncCallBack* iOneShot; + +private: + static MMPXPlaybackUtility* singleton; +}; + +#endif // MMPXPLAYBACKUTILITY_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,52 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + + +#ifndef MPXPLAYERMANAGER_H +#define MPXPLAYERMANAGER_H + +#include +#include +#include + +class MMPXPlayer; +class MMPXPlaybackCallback; + +class MMPXPlayerManager +{ +public: + MMPXPlayerManager(); + ~MMPXPlayerManager(); + +public: // MMPXPlayerManager + void GetPlayerTypesL(RArray& aTypes); + HBufC* PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType); + void GetPlayerListL(RArray& aPlayers); + void GetPlayerListL(RArray& aPlayers, TMPXPlaybackPlayerType aType); + void SubPlayerNamesL(MMPXPlaybackCallback& aCallback, TUid aPlayer); + void SelectPlayersL(TMPXPlaybackPlayerType aType); + void SelectSubPlayerL(TUid aPlayer, TInt aSubPlayerIndex); + void SelectPlayerL(TUid aPlayer); + void ClearSelectPlayersL(); + void GetSelectionL(TMPXPlaybackPlayerType& aType, + TUid& aPlayer, + TInt& aSubPlayerIndex, + HBufC*& aSubPlayerName); + MMPXPlayer* CurrentPlayer(); +}; + +#endif // MPXPLAYERMANAGER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,46 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + + +#ifndef MPXSOURCE_H +#define MPXSOURCE_H + +#include +#include +#include + +class CMPXCollectionPlaylist; +class MMPXPlaybackCallback; +class TMPXAttribute; +class CMPXAttributeSpecs; + +class MMPXSource +{ +public: + MMPXSource(); + ~MMPXSource(); + +public: // MMPXSource + CMPXCollectionPlaylist* PlaylistL(); + RFile* FileL(); + HBufC* UriL(); + void MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback); + void MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback, + CMPXAttributeSpecs* aSpecs); +}; + +#endif // MPXSOURCE_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,477 @@ +/* +* 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: Playback Data provider for playback view. +* +*/ + + +#include +#include +#include +#include +#include +#include "stub/inc/mpsongdata.h" +#include "mptrace.h" + +const int KUndefined = -1; + + +MpSongData::MpSongData( QObject *parent ) + : QObject( parent ), + mTitle( NULL ), + mAlbum( NULL ), + mArtist( NULL ), + mComposer( NULL), + mGenre( NULL ), + mYear( NULL ), + mAlbumTrack( NULL ), + mAlbumArt(), + mReqId( KUndefined ) +{ + TX_ENTRY_ARGS("Stub") + TX_EXIT_ARGS("Stub") +} + +MpSongData::~MpSongData() +{ + TX_ENTRY_ARGS("Stub") + TX_EXIT_ARGS("Stub") +} + +void MpSongData::albumArt( HbIcon& icon ) const +{ + TX_ENTRY_ARGS("Stub") + TX_EXIT_ARGS("Stub") +} + + +QString MpSongData::title() const +{ + TX_ENTRY_ARGS("Stub") + return mTitle; +} + +QString MpSongData::album() const +{ + TX_ENTRY_ARGS("Stub") + return mAlbum; +} + +QString MpSongData::artist() const +{ + TX_ENTRY_ARGS("Stub") + return mArtist; +} + +QString MpSongData::comment() const +{ + TX_ENTRY_ARGS("Stub") + return mComment; +} + +QString MpSongData::composer() const +{ + TX_ENTRY_ARGS("Stub") + return mComposer; +} + + +QString MpSongData::genre() const +{ + TX_ENTRY_ARGS("Stub") + return mGenre; +} + + +QString MpSongData::albumTrack() const +{ + TX_ENTRY_ARGS("Stub") + return mAlbumTrack; +} + +QString MpSongData::link() const +{ + TX_ENTRY_ARGS("Stub") + return mLink; +} + +QString MpSongData::year() const +{ + TX_ENTRY_ARGS("Stub") + return mYear; +} + +QString MpSongData::fileName() const +{ + TX_ENTRY_ARGS("Stub") + return mFileName; +} + +QString MpSongData::mimeType() const +{ + TX_ENTRY_ARGS("Stub") + return mMimeType; +} + +QString MpSongData::duration() const +{ + TX_ENTRY_ARGS("Stub") + return mDuration; +} + +QString MpSongData::bitRate() const +{ + TX_ENTRY_ARGS("Stub") + return mBitRate; +} + +QString MpSongData::sampleRate() const +{ + TX_ENTRY_ARGS("Stub") + return mSampleRate; +} + +QString MpSongData::size() const +{ + TX_ENTRY_ARGS("Stub") + return mSize; +} + +QString MpSongData::modified() const +{ + TX_ENTRY_ARGS("Stub") + return mModified; +} + +QString MpSongData::copyright() const +{ + TX_ENTRY_ARGS("Stub") + return mCopyright; +} + +QString MpSongData::musicURL() const +{ + TX_ENTRY_ARGS("Stub") + return mMusicURL; +} + +bool MpSongData::isDrmProtected() const +{ + TX_ENTRY_ARGS("Stub") + return mDrmProtected; +} +bool MpSongData::setTitle( const QString &title ) +{ + TX_ENTRY_ARGS("Stub title =" << title ) + bool change = false; + if ( title != mTitle ) { + change = true; + mTitle = title; + } + TX_EXIT_ARGS("Stub") + return change; +} + +bool MpSongData::setAlbum( const QString &album ) +{ + TX_ENTRY_ARGS( "Stub album =" << album ) + bool change = false; + if ( album != mAlbum ) { + change = true; + mAlbum = album; + } + + return change; +} + +bool MpSongData::setArtist( const QString &artist ) +{ + TX_ENTRY_ARGS("Stub artist =" << artist ) + bool change = false; + if ( artist != mArtist ) { + change = true; + mArtist = artist; + } + TX_EXIT_ARGS("Stub") + return change; +} + +bool MpSongData::setComment( const QString &comment) +{ + TX_ENTRY_ARGS("Stub comment =" << comment ) + bool change = false; + if ( comment != mComment ) { + change = true; + mComment = comment; + } + TX_EXIT_ARGS("Stub") + return change; +} + +bool MpSongData::setComposer( const QString &composer ) +{ + TX_ENTRY_ARGS("Stub composer =" << composer ) + bool change = false; + if ( composer != mComposer ) { + change = true; + mComposer = composer; + } + TX_EXIT_ARGS("Stub") + return change; +} + +bool MpSongData::setGenre( const QString &genre ) +{ + TX_ENTRY_ARGS("Stub genre =" << genre ) + bool change = false; + if ( genre != mGenre ) { + change = true; + mGenre = genre; + } + TX_EXIT_ARGS("Stub") + return change; +} + + +bool MpSongData::setYear( int year ) +{ + TX_ENTRY_ARGS("Stub year =" << year ) + bool change = false; + if ( QString::number(year) != mYear ) { + change = true; + if ( year >= 0 && year < 9999 ) { + mYear = QString::number(year); + } + } + TX_EXIT_ARGS("Stub") + return change; +} + +bool MpSongData::setAlbumTrack( const QString &track ) +{ + TX_ENTRY_ARGS("Stub track =" << track ) + bool change = false; + if ( track != mAlbumTrack ) { + change = true; + mAlbumTrack = track; + } + TX_EXIT_ARGS("Stub") + return change; +} + +void MpSongData::setLink( const QString &link ) +{ + TX_ENTRY_ARGS("Stub Link =" << link ) + mLink = link; + TX_EXIT_ARGS("Stub") +} + +void MpSongData::setAlbumArtUri( const QString &albumArtUri) +{ + TX_ENTRY_ARGS("Stub albumArtUri = " << albumArtUri ) + // Set default album art. + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + TX_EXIT +} + +bool MpSongData::setFileName( const QString &fileName ) +{ + TX_ENTRY_ARGS( "File name =" << fileName ) + bool change = false; + if ( fileName != mFileName ) { + change = true; + mFileName = fileName; + } + TX_EXIT + return change; +} + +bool MpSongData::setMimeType( const QString &mimeType ) +{ + TX_ENTRY_ARGS( "Mime =" << mimeType ) + bool change = false; + if ( mimeType != mMimeType ) { + change = true; + mMimeType = mimeType; + } + TX_EXIT + return change; +} + +bool MpSongData::setDuration( int duration ) +{ + TX_ENTRY_ARGS( "Duration =" << duration ) + bool change = false; + QString timeFormatOne("%1:%2:%3"); + QString timeFormatTwo("%1:%2"); + if ( QString::number( duration ) != mDuration ) { + change = true; + if ( duration >= 3600 ) { + // more than one hours + QString hourStr, minStr, secStr; + int hour = duration / 3600; + int min = duration % 3600 / 60; + int sec = duration % 3600 % 60; + + hourStr = hour >= 10 ? QString::number( hour ) : QString::number( hour ).prepend( "0" ); + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatOne.arg( hourStr ).arg( minStr ).arg( secStr ); + } else if ( duration >= 60 && duration < 3600 ) { + // more than one min && less than one hour + QString minStr, secStr; + int min = duration / 60; + int sec = duration % 60; + + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatTwo.arg( minStr ).arg( secStr ); + } else if ( duration > 0 && duration < 60 ) { + QString secStr; + secStr = duration >= 10 ? QString::number( duration ) : QString::number( duration ).prepend( "0" ); + mDuration = secStr; + } else { + mDuration = QString(); + } + } + TX_EXIT + return change; +} + +bool MpSongData::setBitRate( int bitRate) +{ + TX_ENTRY_ARGS( "Bit rate =" << bitRate ) + bool change = false; + if ( QString::number( bitRate ) != mBitRate ) { + change = true; + if ( bitRate > 0 ) { + mBitRate = QString::number( bitRate / 1000 ); + } else { + mBitRate = QString(); + } + } + TX_EXIT + return change; +} + +bool MpSongData::setSampleRate( int sampleRate ) +{ + TX_ENTRY_ARGS( "Sample rate =" << sampleRate ) + bool change = false; + if ( QString::number( sampleRate ) != mSampleRate ) { + change = true; + if ( sampleRate > 0 ) { + mSampleRate = QString::number( sampleRate ); + } else { + mSampleRate = QString(); + } + } + TX_EXIT + return change; +} + +bool MpSongData::setSize( int size ) +{ + TX_ENTRY_ARGS( "Size =" << size ) + bool change = false; + if ( QString::number( size ) != mSize ) { + change = true; + mSize = QString::number( size / 1000 ).append( " MB" ); + } + TX_EXIT + return change; +} + +bool MpSongData::setModified( const QString &modified ) +{ + TX_ENTRY_ARGS( "Modified =" << modified ) + bool change = false; + if ( modified != mModified ) { + change = true; + mModified = modified; + } + TX_EXIT + return change; +} + +bool MpSongData::setCopyright( const QString ©right ) +{ + TX_ENTRY_ARGS( "Copyright =" << copyright ) + bool change = false; + if ( copyright != mCopyright ) { + change = true; + mCopyright = copyright; + } + TX_EXIT + return change; +} + +bool MpSongData::setMusicURL( const QString &musicURL ) +{ + TX_ENTRY_ARGS( "Music URL =" << musicURL ) + bool change = false; + if ( musicURL != mMusicURL ) { + change = true; + mMusicURL = musicURL; + } + TX_EXIT + return change; +} + +/*! + Set whether the song is DRM protected +*/ +bool MpSongData::setDrmProtected( bool drmProtected ) +{ + TX_ENTRY_ARGS( "STUB DRM protected =" << drmProtected ) + bool change = false; + if ( drmProtected != mDrmProtected ) { + change = true; + mDrmProtected = drmProtected; + } + TX_EXIT + return change; +} + +void MpSongData::thumbnailReady( + const QPixmap& pixmap, + void *data, + int id, + int error ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED( data ); + TX_EXIT_ARGS("Stub") +} + +void MpSongData::commitPlaybackInfo() +{ + TX_ENTRY_ARGS("Stub") + emit playbackInfoChanged(); + TX_EXIT_ARGS("Stub") +} + +void MpSongData::commitSongDetailInfo() +{ + TX_ENTRY_ARGS("Stub") + emit songDetailInfoChanged(); + TX_EXIT_ARGS("Stub") +} + +QString MpSongData::albumArtBase64() const +{ + TX_ENTRY_ARGS("Stub") + return QString(); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,220 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + +#include "stub/inc/mpxplaybackutility.h" +#include "stub/inc/mpxplayermanager.h" +#include "stub/inc/mpxsource.h" +#include "mptrace.h" + +MMPXPlaybackUtility* MMPXPlaybackUtility::singleton = NULL; + +MMPXPlaybackUtility* MMPXPlaybackUtility::NewL(const TUid& /*aModeId*/, + MMPXPlaybackObserver* /*aObs*/) +{ + MMPXPlaybackUtility* obj = new(ELeave) MMPXPlaybackUtility(); + CleanupStack::PushL(obj); + obj->ConstructL(); + CleanupStack::Pop(obj); + return obj; +} + +void MMPXPlaybackUtility::ConstructL() +{ + TX_ENTRY_ARGS("STUB") + iMpxPlayerManager = new(ELeave) MMPXPlayerManager(); + iMpxSource = new(ELeave) MMPXSource(); + TX_EXIT_ARGS("STUB") +} + +MMPXPlaybackUtility::~MMPXPlaybackUtility() +{ + TX_ENTRY_ARGS("STUB") +} + +MMPXPlaybackUtility::MMPXPlaybackUtility() + : iMpxSource(0), + iMpxPlayerManager(0), + iPlaybackObserver(0), + iPlaybackCallback(0), + iState(EPbStateNotInitialised), + iOneShot(0) +{ + TX_ENTRY_ARGS("STUB") +} + + +void MMPXPlaybackUtility::AddObserverL(MMPXPlaybackObserver& aPlaybackObserver) +{ + TX_ENTRY_ARGS("STUB") + iPlaybackObserver = &aPlaybackObserver; +} + +void MMPXPlaybackUtility::RemoveObserverL(MMPXPlaybackObserver& aPlaybackObserver) +{ + TX_ENTRY_ARGS("STUB") + if(iPlaybackObserver == &aPlaybackObserver) + { + iPlaybackObserver = NULL; + } +} + +void MMPXPlaybackUtility::GetClientsL(RArray& /*aClients*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::InitL(const CMPXCollectionPlaylist& /*aPlaylist*/, TBool /*aPlay*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::InitL(const TDesC& /*aUri*/, const TDesC8* /*aType*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::InitL(RFile& /*aShareableFile*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::Close() +{ + TX_ENTRY_ARGS("STUB") + delete singleton; + singleton = NULL; + TX_EXIT_ARGS("STUB") +} + +void MMPXPlaybackUtility::CancelRequest() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand /*aCmd*/, TInt /*aData*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::CommandL(CMPXCommand& /*aCmd*/, MMPXPlaybackCallback* /*aCallback*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +TMPXPlaybackState MMPXPlaybackUtility::StateL() const +{ + TX_ENTRY_ARGS("STUB") + return iState; +} + +MMPXSource* MMPXPlaybackUtility::Source() +{ + TX_ENTRY_ARGS("STUB") + return iMpxSource; +} + +MMPXPlayerManager& MMPXPlaybackUtility::PlayerManager() +{ + TX_ENTRY_ARGS("STUB") + return *iMpxPlayerManager; +} + +void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty /*aProperty*/, TInt /*aValue*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::ValueL(MMPXPlaybackCallback& /*aCallback*/, TMPXPlaybackProperty /*aProperty*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::PropertyL(MMPXPlaybackCallback& /*aCallback*/, TMPXPlaybackProperty /*aProperty*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +CDesCArray* MMPXPlaybackUtility::SupportedMimeTypes() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +CDesCArray* MMPXPlaybackUtility::SupportedExtensions() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +CDesCArray* MMPXPlaybackUtility::SupportedSchemas() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +void MMPXPlaybackUtility::SetPriority( TInt /*aPriority*/ ) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::AddSubscriptionL(const CMPXSubscription& /*aSubscription*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::RemoveSubscriptionL(const CMPXSubscription& /*aSubscription*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::ClearSubscriptionsL() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::InitStreamingL(const TDesC& /*aUri*/, const TDesC8* /*aType*/, const TInt /*aAccessPoint*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlaybackUtility::InitStreamingL(RFile& /*aShareableFile*/, const TInt /*aAccessPoint*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +MMPXPlaybackUtility* MMPXPlaybackUtility::NewL(const TMPXCategory /*aCategory*/, + const TUid& /*aModeId*/, + MMPXPlaybackObserver* /*aObs*/) +{ + return 0; +} + +MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TMPXCategory /*aCategory*/, + const TUid& /*aModeId*/ ) +{ + return 0; +} + +MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& /*aModeId*/ ) +{ + if(!singleton) { + singleton = MMPXPlaybackUtility::NewL(); + } + return singleton; +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,91 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + +#include "stub/inc/mpxplayermanager.h" +#include "mptrace.h" + +MMPXPlayerManager::MMPXPlayerManager() +{ + TX_ENTRY_ARGS("STUB") +} + +MMPXPlayerManager::~MMPXPlayerManager() +{ + TX_ENTRY_ARGS("STUB") +} + +void MMPXPlayerManager::GetPlayerTypesL(RArray& aTypes) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +HBufC* MMPXPlayerManager::PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +void MMPXPlayerManager::GetPlayerListL(RArray& aPlayers) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::GetPlayerListL(RArray& aPlayers, TMPXPlaybackPlayerType aType) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::SubPlayerNamesL(MMPXPlaybackCallback& aCallback, TUid aPlayer) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::SelectPlayersL(TMPXPlaybackPlayerType aType) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::SelectSubPlayerL(TUid aPlayer, TInt aSubPlayerIndex) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::SelectPlayerL(TUid aPlayer) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::ClearSelectPlayersL() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +void MMPXPlayerManager::GetSelectionL(TMPXPlaybackPlayerType& aType, + TUid& /*aPlayer*/, + TInt& /*aSubPlayerIndex*/, + HBufC*& /*aSubPlayerName*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} + +MMPXPlayer* MMPXPlayerManager::CurrentPlayer() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,58 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + +#include "mpxsource.h" +#include "mptrace.h" + +MMPXSource::MMPXSource() +{ + TX_ENTRY_ARGS("STUB") +} + +MMPXSource::~MMPXSource() +{ + TX_ENTRY_ARGS("STUB") +} + +CMPXCollectionPlaylist* MMPXSource::PlaylistL() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +RFile* MMPXSource::FileL() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +HBufC* MMPXSource::UriL() +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") + return 0; +} + +void MMPXSource::MediaL(const TArray& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/) +{ + TX_ENTRY_ARGS("STUB") +} + +void MMPXSource::MediaL(const TArray& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/, + CMPXAttributeSpecs* /*aSpecs*/) +{ + TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxdetailsframeworkwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxdetailsframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,52 @@ +# +# 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: +# +TEMPLATE = app +CONFIG += qtestlib \ + symbian_test \ + hb +TARGET = + +TARGET.CAPABILITY = All -TCB + +DEPENDPATH += . +INCLUDEPATH += ./stub/inc \ + ../../inc \ + ../../../inc + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lestor.dll \ + -lfbscli.dll \ + -lmpxcommon.dll \ + -lthumbnailmanagerqt.dll + + +HEADERS += inc/unittest_mpmpxdetailsframeworkwrapper.h \ + stub/inc/mpsongdata.h \ + stub/inc/mpxplaybackutility.h \ + stub/inc/mpxplayermanager.h \ + stub/inc/mpxsource.h \ + ../../inc/mpmpxdetailsframeworkwrapper.h \ + ../../inc/mpmpxdetailsframeworkwrapper_p.h + +SOURCES += src/unittest_mpmpxdetailsframeworkwrapper.cpp \ + stub/src/mpxplaybackutility.cpp \ + stub/src/mpsongdata.cpp \ + stub/src/mpxplayermanager.cpp \ + stub/src/mpxsource.cpp \ + ../../src/mpmpxdetailsframeworkwrapper.cpp \ + ../../src/mpmpxdetailsframeworkwrapper_p.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/src/unittest_mpmpxharvesterframeworkwrapper.cpp --- a/mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/src/unittest_mpmpxharvesterframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/src/unittest_mpmpxharvesterframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,8 +16,6 @@ */ #include -#include -#include #include #include @@ -40,19 +38,19 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - TestMpMpxHarvesterFrameworkWrapper tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxharvesterframeworkwrapper.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxharvesterframeworkwrapper.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpMpxHarvesterFrameworkWrapper::TestMpMpxHarvesterFrameworkWrapper() diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/unittest_mpmpxharvesterframeworkwrapper.pro --- a/mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/unittest_mpmpxharvesterframeworkwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxharvesterframeworkwrapper/unittest_mpmpxharvesterframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -1,25 +1,29 @@ +# # 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: Unit test for mpmpxframeworkwrapper +# +# Description: +# + TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = - -TARGET.CAPABILITY = All -TCB +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmpxharvesterframeworkwrapper +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ ../../inc \ ../../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lestor.dll \ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/src/unittest_mpmpxisolatedcollectionhelper.cpp --- a/mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/src/unittest_mpmpxisolatedcollectionhelper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/src/unittest_mpmpxisolatedcollectionhelper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,9 +15,6 @@ * */ -#include -#include - #include #include #include @@ -34,19 +31,19 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - TestCMpMpxIsolatedCollectionHelper tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxisolatedcollectionhelper.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxisolatedcollectionhelper.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestCMpMpxIsolatedCollectionHelper::TestCMpMpxIsolatedCollectionHelper() diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/unittest_mpmpxisolatedcollectionhelper.pro --- a/mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/unittest_mpmpxisolatedcollectionhelper.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpengine/tsrc/unittest_mpmpxisolatedcollectionhelper/unittest_mpmpxisolatedcollectionhelper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -1,25 +1,29 @@ +# # 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: Unit test for CMpMpxIsolatedCollectionHelper +# +# Description: +# + TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = - -TARGET.CAPABILITY = All -TCB +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmpxisolatedcollectionhelper +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ ../../inc \ ../../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lestor.dll \ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/inc/unittest_mpmpxplaybackframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/inc/unittest_mpmpxplaybackframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,84 @@ +/* +* 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: Unit test for mpmpxplaybackframeworkwrapper +* +*/ + +#ifndef TESTMPMPXPLAYBACKFRAMEWORKWRAPPER_H +#define TESTMPMPXPLAYBACKFRAMEWORKWRAPPER_H + +#include + +class MpMpxPlaybackFrameworkWrapper; +class MpMpxPlaybackFrameworkWrapperPrivate; +class CMPXMedia; +class MpPlaybackData; + +class TestMpMpxPlaybackFrameworkWrapper : public QObject +{ + Q_OBJECT + +public: + + TestMpMpxPlaybackFrameworkWrapper(); + virtual ~TestMpMpxPlaybackFrameworkWrapper(); + //test utility functions + void loadTestData(TInt aPos); + +public slots: + + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + + void testConstructor(); + void testPlaybackData(); + void testStop(); + void testPlayPause(); + void testSkipForward(); + void testSkipBackward(); + void testSetPosition(); + void testSetShuffle(); + void testSetRepeat(); + void testHandlePlaybackMessage(); + void testHandleProperty(); + void testHandleMedia(); + void testRetrieveSongDetails(); + void testUpdateState(); + void testForceStop(); + void testSetBalance(); + void testApplyAudioEffects(); + void testApplyEqualizer(); + void testPlay(); + void testStartSeekForward(); + void testStopSeeking(); + void testStartSeekBackward(); + void testHandleSubPlayerNamesL(); + +private: + + MpMpxPlaybackFrameworkWrapper *mTest; + MpMpxPlaybackFrameworkWrapperPrivate *mTestPrivate; + CMPXMedia *iMediaTestData; + +}; + +#endif // TESTMPMPXPLAYBACKFRAMEWORKWRAPPER_H + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/resources/nullsound.mp3 Binary file mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/resources/nullsound.mp3 has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/src/unittest_mpmpxplaybackframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/src/unittest_mpmpxplaybackframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,543 @@ +/* +* 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: Unit test for mpmpxpbframeworkwrapper +* +*/ + +#include +#include +#include + +#include "mpxaudioeffectengine.h" +#include "unittest_mpmpxplaybackframeworkwrapper.h" +#include "stub/inc/mpplaybackdata.h" +#include "stub/inc/mpxplaybackutility.h" + + +// Do this so we can access all member variables. +#define private public +#include "mpmpxplaybackframeworkwrapper.h" +#include "mpmpxplaybackframeworkwrapper_p.h" +#undef private + +//This so we can test private functions +#include "mpmpxplaybackframeworkwrapper_p.cpp" +//Test data +struct TTestAttrs + { + const wchar_t* GeneralTitle; + const wchar_t* MusicArtist; + const TInt GeneralCount; + const wchar_t* MusicAlbumArtFileName; + const wchar_t* MusicAlbum; + const wchar_t* MusicUri; + const wchar_t* MimeType; + }; + +const TTestAttrs KAllSongsTestData[] = + { + { L"Title 1", L"Artist 1", 1, L"e:\\data\\images\\art1.jpg", L"Album 1", L"Uri 1", L"audio/x-pn-realaudio"} + ,{ L"Title 2", L"Artist 2", 1, L"e:\\data\\images\\art2.jpg", L"Album 2", L"Uri 2", L"audio/x-realaudio"} + }; + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + TestMpMpxPlaybackFrameworkWrapper tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmpxplaybackframeworkwrapper.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpMpxPlaybackFrameworkWrapper::TestMpMpxPlaybackFrameworkWrapper() + : mTest(0), + iMediaTestData(0) +{ +} + +TestMpMpxPlaybackFrameworkWrapper::~TestMpMpxPlaybackFrameworkWrapper() +{ + delete mTest; + delete iMediaTestData; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpMpxPlaybackFrameworkWrapper::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpMpxPlaybackFrameworkWrapper::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpMpxPlaybackFrameworkWrapper::init() +{ + + mTest = new MpMpxPlaybackFrameworkWrapper(); + mTestPrivate = mTest->d_ptr; +} + +/*! + Called after every testfunction. + */ +void TestMpMpxPlaybackFrameworkWrapper::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Tests constructor. + */ +void TestMpMpxPlaybackFrameworkWrapper::testConstructor() +{ + QVERIFY(mTestPrivate->iPlaybackUtility != 0); + QVERIFY(mTestPrivate->iPlaybackData != 0); +} + +/*! + Tests playbackData + */ +void TestMpMpxPlaybackFrameworkWrapper::testPlaybackData() +{ + MpPlaybackData *playbackdata; + playbackdata = mTest->playbackData(); + QCOMPARE(mTestPrivate->iPlaybackData, playbackdata); +} + +/*! + Tests stop. + */ +void TestMpMpxPlaybackFrameworkWrapper::testStop() +{ + mTest->stop(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStop); +} + +/*! + Tests playPause. + */ +void TestMpMpxPlaybackFrameworkWrapper::testPlayPause() +{ + mTest->playPause(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPlayPause); +} + +/*! + Tests skipForward. + */ +void TestMpMpxPlaybackFrameworkWrapper::testSkipForward() +{ + mTest->skipForward(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdNext); +} + +/*! + Tests skipBackward + */ +void TestMpMpxPlaybackFrameworkWrapper::testSkipBackward() +{ + mTest->skipBackward(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPrevious); +} + +/*! + Tests setPosition + */ +void TestMpMpxPlaybackFrameworkWrapper::testSetPosition() +{ + mTest->setPosition(100); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 100); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); + mTest->setPosition(50); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 50); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); + mTest->setPosition(700); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 700); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); +} + +/*! + Tests setShuffle + */ +void TestMpMpxPlaybackFrameworkWrapper::testSetShuffle() +{ + mTest->setShuffle(true); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(ETrue)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); + mTest->setShuffle(false); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(EFalse)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); +} + +/*! + Tests setRepeat + */ +void TestMpMpxPlaybackFrameworkWrapper::testSetRepeat() +{ + mTest->setRepeat(true); + QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatAll); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); + mTest->setRepeat(false); + QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatOff); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); +} + +/*! + Tests handleProperty + */ +void TestMpMpxPlaybackFrameworkWrapper::testHandlePlaybackMessage() +{ + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMessageContentIdGeneral ); + CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array()); + CleanupStack::PopAndDestroy(&supportedIds); + CleanupStack::PushL(testMessage); + testMessage->SetTObjectValueL( KMPXMessageGeneralId, KMPXMessageGeneral); + + //Update State + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EStateChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); + mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); + + //Initialize complete + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EInitializeComplete); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,1); + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdPlay)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); + + //Property change + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EPropertyChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyPosition); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,50); + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 50); + + testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyDuration); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,100); + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); + + //Media change + testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); + testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); + testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); + mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 8); + + CleanupStack::PopAndDestroy(testMessage); +} + +/*! + Tests handleProperty + */ +void TestMpMpxPlaybackFrameworkWrapper::testHandleProperty() +{ + for(TInt i = 0; i < 10; i++){ + mTestPrivate->HandlePropertyL(EPbPropertyPosition, i, KErrNone); + mTestPrivate->HandlePropertyL(EPbPropertyDuration, i+1, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mPosition, i); + QCOMPARE(mTestPrivate->iPlaybackData->mDuration, i+1); + } + mTestPrivate->iPlaybackData->mPosition = 100; + mTestPrivate->iPlaybackData->mDuration = 100; + mTestPrivate->HandlePropertyL(EPbPropertyPosition, 10, KErrNotFound); + mTestPrivate->HandlePropertyL(EPbPropertyDuration, 10, KErrNotFound); + + QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 100); + QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); +} + +/*! + Tests handleMedia + */ +void TestMpMpxPlaybackFrameworkWrapper::testHandleMedia() +{ + loadTestData(0); + mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); + mTestPrivate->iPlaybackData->mMediaReady = EFalse; + mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(EFalse)); + + loadTestData(1); + mTestPrivate->iPlaybackData->mMediaReady = EFalse; + mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); + const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[1].GeneralTitle)); + QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( title.Ptr(), title.Length() )); + const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicArtist)); + QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString::fromUtf16( artist.Ptr(), artist.Length() )); + const TDesC& album = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbum)); + QCOMPARE(mTestPrivate->iPlaybackData->album(), QString::fromUtf16( album.Ptr(), album.Length() )); + const TDesC& albumArt = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbumArtFileName)); + QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( albumArt.Ptr(), albumArt.Length() )); + const TDesC& albumUri = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicUri)); + QCOMPARE(mTestPrivate->iPlaybackData->currentUri, QString::fromUtf16( albumUri.Ptr(), albumUri.Length() )); + QVERIFY(mTestPrivate->iPlaybackData->mRealAudio); + QCOMPARE(mTestPrivate->iPlaybackData->mId, 1); + QCOMPARE(mTestPrivate->iPlaybackData->mAlbumId, 2); + + //Empty data + cleanup(); + init(); + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMediaIdMusic ); + supportedIds.AppendL( KMPXMediaIdGeneral ); + CMPXMedia* entries = CMPXMedia::NewL(supportedIds.Array()); + CleanupStack::PopAndDestroy(&supportedIds); + CleanupStack::PushL(entries); + entries->SetTObjectValueL(KMPXMediaGeneralCount, KAllSongsTestData[1].GeneralCount); + entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicUri))); + CMPXMedia* emptyTestData = CMPXMedia::NewL(*entries); + CleanupStack::PopAndDestroy(entries); + CleanupStack::PushL(emptyTestData); + + mTestPrivate->iPlaybackData->mMediaReady = EFalse; + mTestPrivate->HandleMediaL(*emptyTestData, KErrNone); + QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); + const TDesC& musicUri = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicUri)); + QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( musicUri.Ptr(), musicUri.Length() )); + QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString()); + QCOMPARE(mTestPrivate->iPlaybackData->album(), QString()); + QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( musicUri.Ptr(), musicUri.Length() )); + QCOMPARE(mTestPrivate->iPlaybackData->currentUri, QString::fromUtf16( musicUri.Ptr(), musicUri.Length() )); + QVERIFY(!mTestPrivate->iPlaybackData->mRealAudio); + + CleanupStack::PopAndDestroy(emptyTestData); +} + +/*! + Tests retrieveSong + */ +void TestMpMpxPlaybackFrameworkWrapper::testRetrieveSongDetails() +{ + mTestPrivate->RetrieveSongDetailsL(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 8); +} + +/*! + Tests updateState + */ +void TestMpMpxPlaybackFrameworkWrapper::testUpdateState() +{ + mTestPrivate->iPlaybackUtility->iReturnSource = false; + mTestPrivate->UpdateStateL(); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::NotPlaying); + mTestPrivate->iPlaybackUtility->iReturnSource = true; + + mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; + mTestPrivate->UpdateStateL(); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); + + mTestPrivate->iPlaybackUtility->iState = EPbStatePaused; + mTestPrivate->UpdateStateL(); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Paused); + + mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; + mTestPrivate->UpdateStateL(); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); + + mTestPrivate->iPlaybackUtility->iState = EPbStateStopped; + mTestPrivate->UpdateStateL(); + QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Stopped); +} + +/*! + Tests forceStop + */ +void TestMpMpxPlaybackFrameworkWrapper::testForceStop() +{ + mTestPrivate->ForceStopL(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdStop)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); +} + +/*! + Tests setBalance + */ +void TestMpMpxPlaybackFrameworkWrapper::testSetBalance() +{ + int balance = 25; + mTest->setBalance( balance ); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, balance); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyBalance); + + balance = 75; + mTest->setBalance( balance ); + QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, balance); + QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyBalance); +} + +/*! + Tests applyAudioEffects + */ +void TestMpMpxPlaybackFrameworkWrapper::testApplyAudioEffects() +{ + mTest->applyAudioEffects(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iComandData, TInt(KAudioEffectsID)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbApplyEffect); +} + +/*! + Tests applyEqualizer + */ +void TestMpMpxPlaybackFrameworkWrapper::testApplyEqualizer() +{ + mTest->applyEqualizer(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iComandData, TInt(KEqualizerID)); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbApplyEffect); +} + +/*! + Tests applyEqualizer + */ +void TestMpMpxPlaybackFrameworkWrapper::testPlay() +{ + //Play from filename + QString fileName = QString("z:\\system\\data\\nullsound.mp3"); + mTest->play( fileName ); + QVERIFY( mTestPrivate->iPlaybackUtility->iInitialized ); + + //Play from Shareable file + mTestPrivate->iPlaybackUtility->iInitialized = false; + _LIT( KMPXNullSoundPath, "z:\\system\\data\\nullsound.mp3" ); + RFs fileServerSession; + RFile file; + TInt err( KErrNone ); + err = fileServerSession.Connect(); + if( err == KErrNone ) { + err = file.Open( fileServerSession, KMPXNullSoundPath, EFileShareReadersOrWriters ); + if( err == KErrNone ) { + XQSharableFile* sFile = new XQSharableFile(file); + + mTest->play( *sFile ); + QVERIFY( mTestPrivate->iPlaybackUtility->iInitialized ); + + sFile->close(); + delete sFile; + sFile = 0; + fileServerSession.Close(); + } + else { + QWARN("Not able to Open test file"); + } + } + else { + QWARN("Not able to create RF Session"); + } +} + +/*! + Tests startSeekForward() + */ +void TestMpMpxPlaybackFrameworkWrapper::testStartSeekForward() +{ + mTest->startSeekForward(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStartSeekForward); +} + +/*! + Tests stopSeeking() + */ +void TestMpMpxPlaybackFrameworkWrapper::testStopSeeking() +{ + mTest->stopSeeking(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStopSeeking); +} + +/*! + Tests startSeekBackward() + */ +void TestMpMpxPlaybackFrameworkWrapper::testStartSeekBackward() +{ + mTest->startSeekBackward(); + QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStartSeekBackward); +} + +/*! + Tests HandleSubPlayerNamesL() + */ +void TestMpMpxPlaybackFrameworkWrapper::testHandleSubPlayerNamesL() +{ + //HandleSubPlayerNamesL does nothing, included just to cover all declared functions. + TUid stubUid = {0x00000001}; + MDesCArray* stubArray = NULL; + mTestPrivate->HandleSubPlayerNamesL(stubUid, stubArray, false, KErrNone); + QVERIFY(mTestPrivate); +} + +/*! + Used to load test data + */ +void TestMpMpxPlaybackFrameworkWrapper::loadTestData(TInt aPos) +{ + if(iMediaTestData){ + delete iMediaTestData; + iMediaTestData=0; + } + RArray supportedIds; + CleanupClosePushL( supportedIds ); + supportedIds.AppendL( KMPXMediaIdMusic ); + supportedIds.AppendL( KMPXMediaIdGeneral ); + CMPXMedia* entries = CMPXMedia::NewL(supportedIds.Array()); + CleanupStack::PopAndDestroy(&supportedIds); + CleanupStack::PushL(entries); + + entries->SetTObjectValueL(KMPXMediaGeneralId, 1); + entries->SetTObjectValueL(KMPXMediaMusicAlbumId, 2); + entries->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].GeneralTitle))); + entries->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicArtist))); + entries->SetTObjectValueL(KMPXMediaGeneralCount, KAllSongsTestData[aPos].GeneralCount); + entries->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbumArtFileName))); + entries->SetTextValueL(KMPXMediaMusicAlbum, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbum))); + entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicUri))); + entries->SetTextValueL(TMPXAttribute(KMPXMediaGeneralMimeType), TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MimeType))); + + iMediaTestData = CMPXMedia::NewL(*entries); + CleanupStack::PopAndDestroy(entries); +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/hbglobal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/hbglobal.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2007 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: HbTrId stub +* +*/ + +#ifndef HBGLOBAL_H +#define HBGLOBAL_H + +#include + +typedef QString hbTrId; + +#endif // HBGLOBAL_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/mpplaybackdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/mpplaybackdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,80 @@ +/* +* 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: Playback Data stub for testing mpmpxpbframeworkwrapper +* +*/ + +#ifndef MPPLAYBACKDATA_H +#define MPPLAYBACKDATA_H + +#include +#include + + +//class declaration +class MpPlaybackData : public QObject +{ + Q_OBJECT + +public: + enum SimplifiedPlaybackState { + NotPlaying, + Playing, + Paused, + Stopped + }; + + explicit MpPlaybackData(); + virtual ~MpPlaybackData(); + + void setDuration( int duration); + void setPosition( int position); + bool setTitle( const QString& title); + bool setAlbum( const QString& album); + bool setArtist( const QString& artist); + void setAlbumArtUri( const QString& albumArtUri); + void setUri( const QString& aUri); + void setPlaybackState(const SimplifiedPlaybackState state ); + int duration() const; + int position() const; + const QString& title() const; + const QString& album() const; + const QString& artist() const; + MpPlaybackData::SimplifiedPlaybackState playbackState(); + void commitPlaybackInfo(); + void handleMediaReady(); + bool setRealAudio( bool mode ); + bool setAlbumId( int id ); + bool setId( int id ); + void resetData(); + + +public: + int mDuration; + int mPosition; + QString mTitle; + QString mAlbum; + QString mArtist; + SimplifiedPlaybackState mPlaybackState; + QString currentAAUri; + QString currentUri; + TBool mMediaReady; + bool mRealAudio; + int mAlbumId; + int mId; + + Q_DISABLE_COPY(MpPlaybackData) +}; + +#endif // MPPLAYBACKDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/mpxplaybackutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/inc/mpxplaybackutility.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,83 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + + +#ifndef MMPXPLAYBACKUTILITY_H +#define MMPXPLAYBACKUTILITY_H + +#include +#include +#include +#include +#include + +//Forward declarations +class CMPXCollectionPlaylist; +class MMPXPlaybackObserver; +class MMPXPlaybackCallback; + +class MMPXSource +{ +public: + //MMPXSource interface for playback utility stub + virtual CMPXCollectionPlaylist* PlaylistL()=0; + virtual void MediaL(const TArray& aAttrs, + MMPXPlaybackCallback& aCallback)=0; + + +}; + +class MMPXPlaybackUtility: public MMPXSource +{ +public: + + // Stub functions + MMPXPlaybackUtility(); + ~MMPXPlaybackUtility(); + static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault); + void AddObserverL(MMPXPlaybackObserver& aObs); + void RemoveObserverL(MMPXPlaybackObserver& aObs); + void Close(); + void CommandL(TMPXPlaybackCommand aCmd,TInt aData=0); + void CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback=NULL); + MMPXSource* Source(); + void SetL(TMPXPlaybackProperty aProperty, TInt aValue); + TMPXPlaybackState StateL() const; + // Stub function from MMPXSource + CMPXCollectionPlaylist* PlaylistL(); + void MediaL(const TArray& aAttrs, + MMPXPlaybackCallback& aCallback); + void InitL(RFile& aShareableFile); + void InitL(const TDesC& aUri,const TDesC8* aType=NULL); + + +public: + + TInt iValue; + TInt iComandData; + TMPXPlaybackProperty iProperty; + MMPXPlaybackObserver* iObs; + TMPXPlaybackCommand iCmd; + CMPXCommand* iCMPXCmd; + TMPXPlaybackState iState; + RArray* iAttrs; + bool iInitialized; + bool iReturnSource; +}; + +#endif // MMPXPLAYBACKUTILITY_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/src/mpplaybackdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/src/mpplaybackdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,282 @@ +/* +* 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: Playback Data stub for testing mpmpxframeworkwrapper +* +*/ + + +#include + +#include "stub/inc/mpplaybackdata.h" +#include "mptrace.h" + + +/*! + Stub function. +*/ +MpPlaybackData::MpPlaybackData() + : mDuration( 0 ), + mPosition( 0 ), + mTitle(""), + mAlbum(""), + mArtist("Unknown"), + mMediaReady(EFalse), + mPlaybackState(MpPlaybackData::Stopped), + mRealAudio( false ), + mAlbumId( 0 ), + mId( 0 ) +{ +} + +/*! + Stub function. +*/ +MpPlaybackData::~MpPlaybackData() +{ +} + +/*! + Stub function. +*/ +int MpPlaybackData::duration() const +{ + TX_LOG + return mDuration; +} + +/*! + Stub function. +*/ +int MpPlaybackData::position() const +{ + TX_LOG + return mPosition; +} + +/*! + Stub function. +*/ +const QString& MpPlaybackData::title() const +{ + TX_LOG + return mTitle; +} + +/*! + Stub function. +*/ +const QString& MpPlaybackData::album() const +{ + TX_LOG + return mAlbum; +} + +/*! + Stub function. +*/ +const QString& MpPlaybackData::artist() const +{ + TX_LOG + return mArtist; +} + +/*! + Stub function. +*/ +MpPlaybackData::SimplifiedPlaybackState MpPlaybackData::playbackState() +{ + TX_LOG_ARGS("mPlaybackState=" << mPlaybackState) + return mPlaybackState; +} + +/*! + Stub function. +*/ +void MpPlaybackData::setDuration( int duration ) +{ + TX_ENTRY_ARGS( "duration =" << duration ) + mDuration = duration; + TX_EXIT +} + +/*! + Stub function. +*/ +void MpPlaybackData::setPosition( int position ) +{ + TX_ENTRY_ARGS( "position =" << position ) + mPosition = position; + TX_EXIT +} + +/*! + Stub function. +*/ +bool MpPlaybackData::setTitle( const QString& title ) +{ + TX_ENTRY_ARGS( "title =" << title ) + bool change = false; + if ( title != mTitle ) { + change = true; + mTitle = title; + } + TX_EXIT + return change; +} + +/*! + Stub function. +*/ +bool MpPlaybackData::setAlbum( const QString& album ) +{ + TX_ENTRY_ARGS( "album =" << album ) + bool change = false; + if ( album != mAlbum ) { + change = true; + mAlbum = album; + } + TX_EXIT + return change; +} + +/*! + Stub function. +*/ +bool MpPlaybackData::setArtist( const QString& artist ) +{ + TX_ENTRY_ARGS( "artist =" << artist ) + bool change = false; + if ( artist != mArtist ) { + change = true; + mArtist = artist; + } + TX_EXIT + return change; +} + + +/*! + Stub function. +*/ +void MpPlaybackData::setAlbumArtUri( const QString& albumArtUri) +{ + TX_ENTRY_ARGS( "albumArtUri =" << albumArtUri ) + if ( !albumArtUri.isEmpty() ) { + if ( albumArtUri != currentAAUri ) { + currentAAUri = albumArtUri; + } + } + TX_EXIT +} + +/*! + Stub function. +*/ +void MpPlaybackData::setUri( const QString& aUri) +{ + TX_ENTRY_ARGS( "aUri =" << aUri ) + if ( !aUri.isEmpty() ) { + if ( aUri != currentUri ) { + currentUri = aUri; + } + } + TX_EXIT +} + +/*! + Stub function. +*/ +void MpPlaybackData::setPlaybackState(const SimplifiedPlaybackState state ) +{ + TX_ENTRY_ARGS( "state =" << state ) + mPlaybackState = state; + TX_EXIT +} + +/*! + Stub function. +*/ +void MpPlaybackData::commitPlaybackInfo() +{ + TX_ENTRY + mMediaReady = ETrue; + TX_EXIT +} + +/*! + Stub function. +*/ +void MpPlaybackData::handleMediaReady() +{ + mMediaReady = ETrue; +} + +/*! +Stub function. +*/ +bool MpPlaybackData::setRealAudio( bool mode ) +{ + if( mRealAudio != mode ) { + mRealAudio = mode; + return true; + } + else { + return false; + } +} + +/*! +Stub function. +*/ +bool MpPlaybackData::setAlbumId( int id ) +{ + if ( mAlbumId != id ) { + mAlbumId = id; + return true; + } + else { + return false; + } +} + +/*! +Stub function. +*/ +bool MpPlaybackData::setId( int id ) +{ + if( mId != id ) { + mId = id; + return true; + } + else { + return false; + } +} + +/*! +Stub function. +*/ +void MpPlaybackData::resetData() +{ + mDuration = 0; + mPosition = 0; + mTitle = QString(); + mAlbum = QString(); + mArtist = QString(); + currentUri = QString(); + mAlbumId = 0; + mId = 0; + mRealAudio = false; +} +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/src/mpxplaybackutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/stub/src/mpxplaybackutility.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,173 @@ +/* +* 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: mpxplaybackutility stub for testing mpmpxframeworkwrapper +* +*/ + +#include +#include +#include + +#include "stub/inc/mpxplaybackutility.h" + +/*! + Stub function. +*/ +MMPXPlaybackUtility::MMPXPlaybackUtility():iProperty(EPbPropertyVolume), + iObs(0), + iValue(0), + iComandData(0), + iState(EPbStateNotInitialised), + iAttrs(0), + iCMPXCmd(0), + iInitialized(false), + iReturnSource(true) +{ +} + +/*! + Stub function. +*/ +MMPXPlaybackUtility::~MMPXPlaybackUtility() +{ +} + +/*! + Stub function. + */ +MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& aModeId) +{ + Q_UNUSED(aModeId); + static MMPXPlaybackUtility playbackUtilility; + return &playbackUtilility; +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::AddObserverL(MMPXPlaybackObserver& aObs) +{ + iObs = &aObs; +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::RemoveObserverL(MMPXPlaybackObserver& aObs) +{ + if(iObs == &aObs){ + iObs = 0; + } +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::Close() +{ +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd,TInt aData) +{ + iComandData = aData; + iCmd = aCmd; +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback) +{ + Q_UNUSED(aCallback); + if(iCMPXCmd){ + delete iCMPXCmd; + iCMPXCmd = 0; + } + iCMPXCmd = CMPXCommand::NewL(aCmd); +} + +/*! + Stub function. +*/ +MMPXSource* MMPXPlaybackUtility::Source() +{ + if (iReturnSource) { + return this; + } + else { + return NULL; + } +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty aProperty, TInt aValue) +{ + iProperty = aProperty; + iValue = aValue; +} + +/*! + Stub function. +*/ +TMPXPlaybackState MMPXPlaybackUtility::StateL() const +{ + return iState; +} + +/*! + Stub function. +*/ +CMPXCollectionPlaylist* MMPXPlaybackUtility::PlaylistL() +{ + CMPXCollectionPlaylist* temp = CMPXCollectionPlaylist::NewL(); + return temp; +} + +/*! + Stub function. +*/ +void MMPXPlaybackUtility::MediaL(const TArray& aAttrs, + MMPXPlaybackCallback& aCallback) +{ + Q_UNUSED(aCallback); + RArray attrs; + CleanupClosePushL(attrs); + for(TInt i = 0; i < aAttrs.Count(); i++){ + attrs.AppendL(aAttrs[i]); + } + iAttrs = new RArray(attrs); + CleanupStack::PopAndDestroy(&attrs); + +} + +void MMPXPlaybackUtility::InitL(const TDesC& aUri,const TDesC8* aType) +{ + Q_UNUSED(aType); + if ( aUri.Length() ) + { + iInitialized = true; + } +} + +void MMPXPlaybackUtility::InitL(RFile& aShareableFile) +{ + Q_UNUSED(aShareableFile) + iInitialized = true; +} +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/unittest_mpmpxplaybackframeworkwrapper.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpmpxplaybackframeworkwrapper/unittest_mpmpxplaybackframeworkwrapper.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,56 @@ +# +# 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: Unit test for mpmpxplaybackframeworkwrapper +# + +TEMPLATE = app +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpmpxplaybackframeworkwrapper +TARGET.CAPABILITY = All -TCB + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../inc \ + ../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +symbian: +{ + TARGET.EPOCALLOWDLLDATA = 1 + + BLD_INF_RULES.prj_exports += \ + "resources/nullsound.mp3 /epoc32/release/winscw/udeb/Z/system/data/nullsound.mp3" \ + "resources/nullsound.mp3 /epoc32/release/winscw/urel/Z/system/data/nullsound.mp3" \ + "resources/nullsound.mp3 /epoc32/data/Z/system/data/nullsound.mp3" +} + +LIBS += -lestor.dll \ + -lfbscli.dll \ + -lmpxcommon.dll \ + -lmpxcollectionutility.dll \ + -lxqserviceutil + +HEADERS += inc/unittest_mpmpxplaybackframeworkwrapper.h \ + ../../inc/mpmpxplaybackframeworkwrapper.h \ + ../../inc/mpmpxplaybackframeworkwrapper_p.h \ + stub/inc/mpplaybackdata.h \ + stub/inc/mpxplaybackutility.h \ + stub/inc/hbglobal.h \ + ../../../mpserviceplugins/inc/mpxaudioeffectengine.h + +SOURCES += src/unittest_mpmpxplaybackframeworkwrapper.cpp \ + ../../src/mpmpxplaybackframeworkwrapper.cpp \ + stub/src/mpplaybackdata.cpp \ + stub/src/mpxplaybackutility.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpsongscanner/inc/unittest_mpsongscanner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpsongscanner/inc/unittest_mpsongscanner.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +/* +* 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: Unit test for MpSongScanner +* +*/ + +#ifndef TESTMPSONGSCANNER_H +#define TESTMPSONGSCANNER_H + +#include + +class MpSongScanner; +class MpMpxHarvesterFrameworkWrapper; + +class TestMpSongScanner : public QObject +{ + Q_OBJECT + +public: + TestMpSongScanner(); + virtual ~TestMpSongScanner(); + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testConstructor(); + void testScan(); + void testIsAutomaticScan(); + void testCancelScan(); + void testScanStartedSignal(); + void testHandleScanEnded(); + void testScanCountChangedSignal(); + void testHandleDiskEvent(); + +private: + MpSongScanner *mTest; + MpMpxHarvesterFrameworkWrapper *mHarvesterWrapper; + +}; + +#endif // TESTMPSONGSCANNER_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpsongscanner/src/unittest_mpsongscanner.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpsongscanner/src/unittest_mpsongscanner.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,265 @@ +/* +* 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: Unit test for MpSongScanner +* +*/ + +#include + +#include "stub/inc/mpmpxharvesterframeworkwrapper.h" +#include "unittest_mpsongscanner.h" + + +// Do this so we can access all member variables. +#define private public +#define protected public +#include "mpsongscanner.h" +#undef protected +#undef private + + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + TestMpSongScanner tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsongscanner.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpSongScanner::TestMpSongScanner() + : mTest( 0 ), + mHarvesterWrapper( 0 ) +{ +} + +TestMpSongScanner::~TestMpSongScanner() +{ + delete mTest; + delete mHarvesterWrapper; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpSongScanner::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpSongScanner::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpSongScanner::init() +{ + qRegisterMetaType("MpxDiskEvents"); + mHarvesterWrapper = new MpMpxHarvesterFrameworkWrapper(); + mTest = new MpSongScanner( mHarvesterWrapper ); +} + +/*! + Called after every testfunction. + */ +void TestMpSongScanner::cleanup() +{ + delete mTest; + mTest = 0; + delete mHarvesterWrapper; + mHarvesterWrapper = 0; +} + +/*! + Tests constructor. +*/ +void TestMpSongScanner::testConstructor() +{ + QVERIFY( mTest->mMpxHarvesterWrapper ); + QVERIFY( !mTest->mScanning ); + QVERIFY( mTest->mAutomaticScan ); +} + +/*! + testScan. + */ +void TestMpSongScanner::testScan() +{ + // Manual Scan + mTest->scan( false ); + QVERIFY( mTest->mScanning ); + QVERIFY( !mTest->mAutomaticScan ); + QVERIFY( mTest->mMpxHarvesterWrapper->mScanRequested ); + + // Automatic Scan + cleanup(); + init(); + mTest->scan( true ); + QVERIFY( mTest->mScanning ); + QVERIFY( mTest->mAutomaticScan ); + QVERIFY( mTest->mMpxHarvesterWrapper->mScanRequested ); +} + +/*! + testIsAutomaticScan. + */ +void TestMpSongScanner::testIsAutomaticScan() +{ + mTest->mAutomaticScan = true; + QVERIFY( mTest->isAutomaticScan() ); + mTest->mAutomaticScan = false; + QVERIFY( !mTest->isAutomaticScan() ); +} + +/*! + testCancelScan + */ +void TestMpSongScanner::testCancelScan( ) +{ + mTest->scan( true ); + mTest->cancelScan(); + QVERIFY( !mTest->mScanning ); + QVERIFY( !mTest->mMpxHarvesterWrapper->mScanRequested ); +} + +/*! + testScanStartedSignal + */ +void TestMpSongScanner::testScanStartedSignal( ) +{ + QSignalSpy spy( mTest, SIGNAL( scanStarted() ) ); + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitScanStarted(); + QTest::qWait(500); + QCOMPARE( spy.count(), 1 ); +} + +/*! + testHandleScanEnded + */ +void TestMpSongScanner::testHandleScanEnded( ) +{ + int itemsAdded( -1 ); + int error( KErrNone ); + + // Scand endend with error KErrDiskFull 1/4 + { + QSignalSpy spyScanFinished( mTest, SIGNAL( scanFinished( int, int ) ) ); + itemsAdded = 10; + error = KErrDiskFull; + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitScanEnded( itemsAdded, error ); + QTest::qWait(500); + QCOMPARE( spyScanFinished.count(), 1 ); + QCOMPARE( spyScanFinished.at(0).at(0), QVariant( MpSongScanner::ScanErrorDiskFull ) ); + QCOMPARE( spyScanFinished.at(0).at(1), QVariant( 0 ) ); + QVERIFY( !mTest->mScanning ); + } + + // Any other error 2/4 + { + cleanup(); + init(); + QSignalSpy spyScanFinished( mTest, SIGNAL( scanFinished( int, int ) ) ); + itemsAdded = 10; + error = KErrUnknown; + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitScanEnded( itemsAdded, error ); + QTest::qWait(500); + QCOMPARE( spyScanFinished.count(), 1 ); + QCOMPARE( spyScanFinished.at(0).at(0), QVariant( MpSongScanner::ScanGeneralError ) ); + QCOMPARE( spyScanFinished.at(0).at(1), QVariant( itemsAdded ) ); + QVERIFY( !mTest->mScanning ); + } + + // Normal scan finish (No error, no cancel) 3/4 + { + cleanup(); + init(); + QSignalSpy spyScanFinished( mTest, SIGNAL( scanFinished( int, int ) ) ); + itemsAdded = 20; + error = KErrNone; + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitScanEnded( itemsAdded, error ); + QTest::qWait(500); + QCOMPARE( spyScanFinished.count(), 1 ); + QCOMPARE( spyScanFinished.at(0).at(0), QVariant( MpSongScanner::ScanErrorNone ) ); + QCOMPARE( spyScanFinished.at(0).at(1), QVariant( itemsAdded ) ); + QVERIFY( !mTest->mScanning ); + } + + // Scan canceled 4/4 + { + cleanup(); + init(); + QSignalSpy spyScanFinished( mTest, SIGNAL( scanFinished( int, int ) ) ); + itemsAdded = 20; + error = KErrNone; + mTest->scan( true ); + mTest->cancelScan(); + mTest->mMpxHarvesterWrapper->emitScanEnded( itemsAdded, error ); + QTest::qWait(500); + QCOMPARE( spyScanFinished.count(), 1 ); + QCOMPARE( spyScanFinished.at(0).at(0), QVariant( MpSongScanner::ScanGeneralError ) ); + QCOMPARE( spyScanFinished.at(0).at(1), QVariant( itemsAdded ) ); + QVERIFY( !mTest->mScanning ); + } +} + +/*! + testScanCountChangedSignal + */ +void TestMpSongScanner::testScanCountChangedSignal() +{ + int itemsAdded = 15; + QSignalSpy spy( mTest, SIGNAL( scanCountChanged( int ) ) ); + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitScanCountChanged( itemsAdded ); + QTest::qWait(500); + QCOMPARE( spy.count(), 1 ); + QCOMPARE( spy.at(0).at(0), QVariant( itemsAdded ) ); +} + +/*! + testHandleDiskEvent + */ +void TestMpSongScanner::testHandleDiskEvent() +{ + QSignalSpy spyScanFinished( mTest, SIGNAL( scanFinished( int, int ) ) ); + mTest->scan( true ); + mTest->mMpxHarvesterWrapper->emitDiskEvent(); + QTest::qWait(500); + QCOMPARE( spyScanFinished.count(), 1 ); + QCOMPARE( spyScanFinished.at(0).at(0), QVariant( MpSongScanner::ScanInterrupted ) ); + QCOMPARE( spyScanFinished.at(0).at(1), QVariant( 0 ) ); + QVERIFY( !mTest->mScanning ); +} + +//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpsongscanner/stub/inc/mpmpxharvesterframeworkwrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpsongscanner/stub/inc/mpmpxharvesterframeworkwrapper.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,59 @@ +/* +* 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: Stub class for mpsongscanner unittest. +* +*/ + +#ifndef MPMPXHARVESTERFRAMEWORKWRAPPER_H +#define MPMPXHARVESTERFRAMEWORKWRAPPER_H + +#include + +#include "mpmpxcommondefs.h" + +class MpMpxHarvesterFrameworkWrapper : public QObject +{ + Q_OBJECT + +public: + explicit MpMpxHarvesterFrameworkWrapper( QObject *parent=0 ); + virtual ~MpMpxHarvesterFrameworkWrapper(); + + // mock functions + void scan(); + void cancelScan(); + void checkForSystemEvents(); + + // unittest specific functions + void emitScanStarted(); + void emitScanEnded( int count, int error ); + void emitScanCountChanged( int count ); + void emitDiskEvent(); + +signals: + void scanStarted(); + void scanEnded( int count, int error ); + void scanCountChanged( int count ); + + void diskEvent( MpxDiskEvents event ); + +public: + bool mScanRequested; + bool mScanning; + int mScanCount; + bool mCheckSystemEventsRequested; + +}; + +#endif // MPMPXHARVESTERFRAMEWORKWRAPPER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpsongscanner/stub/src/mpmpxharvesterframeworkwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpsongscanner/stub/src/mpmpxharvesterframeworkwrapper.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,95 @@ +/* +* 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: Stub class for mpsongscanner unittest. +* +*/ + +#include "stub/inc/mpmpxharvesterframeworkwrapper.h" + +/*! + Stub function. + */ +MpMpxHarvesterFrameworkWrapper::MpMpxHarvesterFrameworkWrapper( QObject *parent ) + : QObject( parent ), + mScanRequested( false ), + mScanning( false ), + mScanCount( -1 ), + mCheckSystemEventsRequested( false ) +{ +} + +/*! + Stub function. + */ +MpMpxHarvesterFrameworkWrapper::~MpMpxHarvesterFrameworkWrapper() +{ +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::scan() +{ + mScanRequested = true; +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::cancelScan() +{ + mScanRequested = false; +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::checkForSystemEvents() +{ + mCheckSystemEventsRequested = true; +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::emitScanStarted() +{ + mScanning = true; + emit scanStarted(); +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::emitScanEnded( int count, int error ) +{ + mScanning = false; + emit scanEnded( count, error ); +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::emitScanCountChanged( int count ) +{ + emit scanCountChanged( count ); +} + +/*! + Stub function. + */ +void MpMpxHarvesterFrameworkWrapper::emitDiskEvent() +{ + emit diskEvent( DiskInserted ); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpengine/tsrc/unittest_mpsongscanner/unittest_mpsongscanner.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpengine/tsrc/unittest_mpsongscanner/unittest_mpsongscanner.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,42 @@ +# +# 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: +# + +TEMPLATE = app +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpsongscanner +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../inc \ + ../../../inc + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lestor.dll \ + -lfbscli.dll + +HEADERS += inc/unittest_mpsongscanner.h \ + ../../../inc/mpsongscanner.h \ + stub/inc/mpmpxharvesterframeworkwrapper.h + +SOURCES += src/unittest_mpsongscanner.cpp \ + ../../src/mpsongscanner.cpp \ + stub/src/mpmpxharvesterframeworkwrapper.cpp + +DEFINES += BUILD_MPENGINE_LIB + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp --- a/mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -109,9 +109,20 @@ iProp->LoadFromFileL(); if(iMdaPlayer) { - if(iMdaPlayer->SetBalance(iProp->Balance())!=KErrNone) + TInt currentBalance; + TInt err = iMdaPlayer->GetBalance(currentBalance); + if( err !=KErrNone ) + { + User::Leave(KErrNotSupported); + } + // don't set non-changed values: + if( iProp->Balance() != currentBalance ) { - User::Leave(KErrNotSupported); + err = iMdaPlayer->SetBalance(iProp->Balance()); + if( err !=KErrNone ) + { + User::Leave(KErrNotSupported); + } } } } @@ -219,14 +230,18 @@ } } - iStereoEffect->EnableL(); - TUint8 level = 30; - iStereoEffect->SetStereoWideningLevelL( level ); - iStereoEffect->ApplyL(); + if ( !iStereoEffect->IsEnabled() ) + { + iStereoEffect->EnableL(); + TUint8 level = 30; + iStereoEffect->SetStereoWideningLevelL( level ); + iStereoEffect->ApplyL(); + } + } else { - if (iStereoEffect) // If audio effects was not on, then no need to disable + if (iStereoEffect && iStereoEffect->IsEnabled() ) // If audio effects was not on, then no need to disable { iStereoEffect->DisableL(); } @@ -295,12 +310,15 @@ } } - iLoudnessEffect->EnableL(); + if( !iLoudnessEffect->IsEnabled() ) + { + iLoudnessEffect->EnableL(); + } } else - { - if( iLoudnessEffect ) // Only disable if it was constructed - { + { + if( iLoudnessEffect && iLoudnessEffect->IsEnabled() ) + { iLoudnessEffect->DisableL(); } } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/inc/mpxdbcommondef.h --- a/mpserviceplugins/inc/mpxdbcommondef.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/inc/mpxdbcommondef.h Thu Jul 22 16:32:33 2010 +0100 @@ -34,6 +34,10 @@ _LIT(KMCAndKeyword," AND "); _LIT(KMCOrKeyword, " OR "); +// QT localization TS file +_LIT(KMPXMusicPlayerTsFile, "musicplayer_"); +_LIT(KMPXMusicPlayerTsPath, "z:/resource/qt/translations/"); + #endif // MPXDBCOMMONDEF_H //End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/localaudio/inc/mpxlocalaudioplayback.h --- a/mpserviceplugins/localaudio/inc/mpxlocalaudioplayback.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/localaudio/inc/mpxlocalaudioplayback.h Thu Jul 22 16:32:33 2010 +0100 @@ -180,14 +180,16 @@ /** * Sets the volume level in audio controller * @param aVolume Volume level, ranges from 0 - KPbPlaybackVolumeLevelMax + * @param aNotifyChange ETrue if EPVolumeChanged must be sent to observer */ - void SetVolume( TInt aVolume ); + void SetVolume( TInt aVolume, TBool aNotifyChange = ETrue ); /** * Sets the volume level in audio controller to mute. * @param aMute ETrue to indicated mute + * @param aNotifyChange ETrue if EPMuteChanged must be sent to observer */ - void SetMute( TBool aMute ); + void SetMute( TBool aMute, TBool aNotifyChange = ETrue ); /** * Consumes the rights for the current media according diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp --- a/mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/localaudio/src/mpxlocalaudioplayback.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -433,14 +433,19 @@ { // Re-init audio effects MPX_DEBUG1("CMPXLocalAudioPlayback::CommandL EPbApplyEffect"); - iAudioEffects->DestroyAudioEffect(); if( ( aData == KAudioEffectsID || aData == KEqualizerID ) && ( EStateInitialised == iState ) ) { + // Here we rely on CreateAudioEffectsL() to be safe to be called + // in order to just set values again TRAPD(err, iAudioEffects->CreateAudioEffectsL() ); if(err) { MPX_DEBUG2("EPbApplyEffect err = %d", err); + // Sometimes we get KErrAccessDenied, then destroying effects + // and setting them again should help. This is a work-around, + // and would be good to be fixed more properly. + iAudioEffects->DestroyAudioEffect(); TRAPD(err, iAudioEffects->CreateAudioEffectsL() ); if(err) { @@ -493,14 +498,14 @@ { case EPbPropertyVolume: { - SetVolume( aValue ); + SetVolume( aValue, EFalse ); // don't notify MPX because playback engine converts EPSetComplete to EPropertyChanged break; } case EPbPropertyVolumeRamp: iPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds(TInt64(aValue))); break; case EPbPropertyMute: - SetMute( aValue ); + SetMute( aValue, EFalse ); // don't notify MPX because playback engine converts EPSetComplete to EPropertyChanged break; case EPbPropertyBalance: iPlayer->SetBalance(MMFBalance(aValue)); @@ -1108,7 +1113,7 @@ // Sets the volume level in audio controller // ---------------------------------------------------------------------------- // -void CMPXLocalAudioPlayback::SetVolume( TInt aVolume ) +void CMPXLocalAudioPlayback::SetVolume( TInt aVolume, TBool aNotifyChange ) { MPX_DEBUG3("-->CMPXLocalAudioPlayback::SetVolume 0x%08x vol (%d)", this, aVolume); @@ -1160,9 +1165,15 @@ } } } + else if ( volError == KErrNone && aVolume == currentVol && changed ) + { + // volume changed only to player after it has been initialised, + // no need to reflect this to upper layers as the stored setting haven't changed + changed = EFalse; + } // Notify observer if value changed - if ( changed ) + if ( changed && aNotifyChange ) { iObs->HandlePluginEvent( MMPXPlaybackPluginObserver::EPVolumeChanged, aVolume, @@ -1176,7 +1187,7 @@ // Sets the volume level in audio controller // ---------------------------------------------------------------------------- // -void CMPXLocalAudioPlayback::SetMute( TBool aMute ) +void CMPXLocalAudioPlayback::SetMute( TBool aMute, TBool aNotifyChange ) { MPX_DEBUG3("-->CMPXLocalAudioPlayback::SetMute 0x%08x vol (%d)", this, aMute); @@ -1212,10 +1223,14 @@ { MPX_TRAP( muteError, iMuteWatcher->SetValueL( aMute ) ); } + else if ( changed ) // Cenrep setting hasn't changed, no need to propagate to MPX + { + changed = EFalse; + } } // Notify observer if value changed - if ( changed ) + if ( changed && aNotifyChange ) { iObs->HandlePluginEvent( MMPXPlaybackPluginObserver::EPMuteChanged, aMute, diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp --- a/mpserviceplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbcommon/src/mpxdbmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -29,7 +29,7 @@ #include #ifdef __RAMDISK_PERF_ENABLE #include -#include +#include #endif //__RAMDISK_PERF_ENABLE #include @@ -271,16 +271,20 @@ } TInt count(iDatabaseHandles.Count()); - //TBool ret = EFalse; for ( TInt i = 0; i < count ; ++i ) { + if ( ! iDatabaseHandles[i].iOpen ) + { + MPX_DEBUG1("CMPXDbManager::CopyDBsToRamL DB not open (assuming drive is not present)"); + continue; + } if ( iDatabaseHandles[i].iUseRAMdb ) { // already used MPX_DEBUG1("CMPXDbManager::CopyDBsToRamL iUseRAMdb already ETrue"); continue; } - CloseDatabaseAtIndexL( i ); // let leave: not much we can't do if we can't close the original DB + CloseDatabaseAtIndexL( i ); // let leave: not much we can do if we can't close the original DB DoCopyDBToRam( i, aIsMTPInUse ); // copies if it can TRAPD( err, OpenDatabaseAtIndexL( i ) ); if ( err != KErrNone ) @@ -863,30 +867,27 @@ { MPX_FUNC("CMPXDbManager::CloseAllDatabases"); - if (iInitialized) - { - // Close all prepared statements if a db is closed - // - ResetPreparedQueries(); + // Close all prepared statements if a db is closed + // + ResetPreparedQueries(); - TInt count(iDatabaseHandles.Count()); - for (TInt i = 0; i < count; ++i) - { - delete iDatabaseHandles[i].iAliasname; - iDatabaseHandles[i].iAliasname = 0; + TInt count(iDatabaseHandles.Count()); + for (TInt i = 0; i < count; ++i) + { + delete iDatabaseHandles[i].iAliasname; + iDatabaseHandles[i].iAliasname = 0; #ifdef __RAMDISK_PERF_ENABLE - RemoveDummyFile(i); - delete iDatabaseHandles[i].iOrigFullFilePath; - iDatabaseHandles[i].iOrigFullFilePath = 0; - delete iDatabaseHandles[i].iTargetFullFilePath; - iDatabaseHandles[i].iTargetFullFilePath = 0; + RemoveDummyFile(i); + delete iDatabaseHandles[i].iOrigFullFilePath; + iDatabaseHandles[i].iOrigFullFilePath = 0; + delete iDatabaseHandles[i].iTargetFullFilePath; + iDatabaseHandles[i].iTargetFullFilePath = 0; #endif //__RAMDISK_PERF_ENABLE - } + } - iDatabaseHandles.Reset(); - iDatabase.Close(); - iInitialized = EFalse; - } + iDatabaseHandles.Reset(); + iDatabase.Close(); + iInitialized = EFalse; } // ---------------------------------------------------------------------------- @@ -1728,6 +1729,16 @@ } // ---------------------------------------------------------------------------- +// CleanupTransaction: close transaction when creating DB +// ---------------------------------------------------------------------------- +// +static void CleanupTransaction(TAny * aDatabase) + { + TInt err = ((RSqlDatabase*)aDatabase)->Exec(KRollbackTransaction); + MPX_DEBUG2("CMPXDbManager CleanupTransaction rollback, error %d", err); + } + +// ---------------------------------------------------------------------------- // CMPXDbManager::CreateTablesL // ---------------------------------------------------------------------------- // @@ -1735,11 +1746,26 @@ RSqlDatabase& aDatabase, TBool aCorrupt) { + MPX_FUNC("CMPXDbManager::CreateTablesL"); + TInt err = aDatabase.Exec(KBeginTransaction); + if (err < 0) + { + MPX_DEBUG2("SQL BEGIN TRANSACTION error %d", err); + User::Leave (err); + } + CleanupStack::PushL(TCleanupItem(&CleanupTransaction, &aDatabase)); TInt count(iTables.Count()); for (TInt i = 0; i < count; ++i) { iTables[i]->CreateTableL(aDatabase, aCorrupt); } + err = aDatabase.Exec(KCommitTransaction); + if (err < 0) + { + MPX_DEBUG2("SQL COMMIT TRANSACTION error %d", err); + User::Leave (err); + } + CleanupStack::Pop(); } // ---------------------------------------------------------------------------- @@ -2019,12 +2045,7 @@ User::Leave(KErrNotReady); } -#ifndef __RAMDISK_PERF_ENABLE - EnsureDiskSpaceL(aDrive); - -#endif //__RAMDISK_PERF_ENABLE - } // ---------------------------------------------------------------------------- @@ -2864,19 +2885,24 @@ TInt count(iDatabaseHandles.Count()); for (TInt i = 0; i < count; ++i) { + DatabaseHandle& database = iDatabaseHandles[i]; if (((KDbManagerAllDrives == aDrive) || - (aDrive == iDatabaseHandles[i].iDrive)) && - iDatabaseHandles[i].iOpen) + (aDrive == database.iDrive)) && + database.iOpen +#ifdef __RAMDISK_PERF_ENABLE + && !database.iUseRAMdb +#endif + ) { if (SysUtil::DiskSpaceBelowCriticalLevelL(&iFs, 0, - iDatabaseHandles[i].iDrive)) + database.iDrive)) { MPX_DEBUG1("CMPXDbManager::EnsureDiskSpaceL Error diskspace full"); User::Leave(KErrDiskFull); } } - if (aDrive == iDatabaseHandles[i].iDrive) + if (aDrive == database.iDrive) { // exit if just one drive to check break; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/group/mpxsqlitedbhgplugin.mmp --- a/mpserviceplugins/mpxsqlitedbhgplugin/group/mpxsqlitedbhgplugin.mmp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/group/mpxsqlitedbhgplugin.mmp Thu Jul 22 16:32:33 2010 +0100 @@ -82,6 +82,7 @@ APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/ecom SYSTEMINCLUDE /epoc32/include/mmf/common +SYSTEMINCLUDE /epoc32/include/mw/hb/hbcore LIBRARY euser.lib LIBRARY ecom.lib @@ -91,6 +92,7 @@ LIBRARY bafl.lib LIBRARY apmime.lib LIBRARY sysutil.lib +LIBRARY hbcore.lib #ifdef __MTP_PROTOCOL_SUPPORT LIBRARY centralrepository.lib #endif diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondb.hrh --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondb.hrh Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondb.hrh Thu Jul 22 16:32:33 2010 +0100 @@ -32,7 +32,8 @@ #endif EBrowseGenre, EBrowseComposer, - EBrowseAlbumSong //added for ganes + EBrowseAlbumSong, //added for ganes + EBrowseAlbumMediaWall //added for mediawall }; #endif // MPXCOLLECTIONDB_HRH diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondbdef.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondbdef.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxcollectiondbdef.h Thu Jul 22 16:32:33 2010 +0100 @@ -28,9 +28,11 @@ // Db filename #ifdef ABSTRACTAUDIOALBUM_INCLUDED -_LIT(KMCDbFile, "mpxv2_6.db"); +_LIT(KMCDbFile, "mpxv3_0.db"); +_LIT(KMCDbFileEMMC, "mpxv3_0i.db"); #else -_LIT(KMCDbFile, "mpxv2_5.db"); +_LIT(KMCDbFile, "mpxv3_0n.db"); +_LIT(KMCDbFileEMMC, "mpxv3_0in.db"); #endif // ABSTRACTAUDIOALBUM_INCLUDED // Collection Db resource file _LIT(KMPXCollectionDbResourceFile, "mpxcollectiondbhgres.rsc"); @@ -133,6 +135,8 @@ _LIT(KMCPlaylistSongInfoVolumeId, "VolumeId"); _LIT(KMCPlaylistSongInfoDbFlag, "DbFlag"); +// == Album TABLE FIELDS ============================================== +_LIT(KMCAlbumArtistName, "ArtistName"); // == Auxiliary TABLE FIELDS ================================================== // Version of database // The version integer looks like: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbabstractalbum.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbabstractalbum.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbabstractalbum.h Thu Jul 22 16:32:33 2010 +0100 @@ -156,6 +156,25 @@ */ void GetAllItemsWithNoSongL(RArray& aItemsIds); + /** + * Create Thumbnail Manager session. + * Create Thumbnail Manager session when needed: rename/delete entries in Thumbnail table. + */ + void CreateTNMSessionL(); + + /** + * Remove all abstractalbum items with no songs associated, + * TN entry and .alb files also removed. + * + */ + void RemoveAbstractAlbumsWithNoSongL(); + + /** + /* When refresh library, Remove .alb entry from AbstractAlnum table, TN table if .alb files already deleted + /* from file system via file manager. + */ + void AbstractAlbumCleanUpL(); + private: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbalbum.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbalbum.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbalbum.h Thu Jul 22 16:32:33 2010 +0100 @@ -30,7 +30,14 @@ { public: virtual TInt HandleIsUnknownArtistL(TUint32 aId) = 0; - virtual TUint32 HandleArtistForAlbumL( const TUint32 aId ) = 0; + virtual HBufC* HandleArtistForAlbumL( const TUint32 aId ) = 0; + /** + * HandleAlbumartForAlbumL. + * @param aId, The album ID. + * @param aArt, The albumart uri. + * @returns alternative albumart retrieved in the specified Album. + */ + virtual HBufC* HandleAlbumartForAlbumL( const TUint32 aId, TPtrC aArt ) = 0; }; /** * Responsible for managing all music databases @@ -79,7 +86,7 @@ * into consideration when generating the unique row id * @return The unique id of the row added. */ - TUint32 AddItemL(const TDesC& aName, TUint32 aArtist, const TDesC& aArt, TInt aDriveId, TBool& aNewRecord, + TUint32 AddItemL(const TDesC& aName, const TDesC& aArtistName, const TDesC& aArt, TInt aDriveId, TBool& aNewRecord, TBool aCaseSensitive = ETrue); /** @@ -95,42 +102,51 @@ * category was deleted * @param aItemExist Out parameter, ETrue if the category is not deleted after the delete, * EFalse otherwise - * @param aArtist: The ID of the artist + * @param aArtist: The ID of the artist + * @param aArt: The albumart uri */ void DecrementSongsForCategoryL(TUint32 aId, TInt aDriveId, - CMPXMessageArray* aItemChangedMessages, TBool& aItemExist, const TUint32 aArtist); + CMPXMessageArray* aItemChangedMessages, TBool& aItemExist, const TUint32 aArtist, const TDesC& aArt ); - /** - * Gets the details for all category items. - * @param aAttrs attributes to be returned - * @param aMediaArray returns the requested attributes for all items - */ - void GetAllCategoryItemsL(const TArray& aAttrs, - CMPXMediaArray& aMediaArray); + /** + * Gets the details for all category items. + * @param aAttrs attributes to be returned + * @param aMediaArray returns the requested attributes for all items + */ + void GetAllCategoryItemsL(const TArray& aAttrs, + CMPXMediaArray& aMediaArray); + + /** + * Gets the details for all category items. + * @param aAttrs attributes to be returned + * @param aMediaArray returns the requested attributes for all items + */ + void GetAllCategoryItemsMediaWallL(const TArray& aAttrs, + CMPXMediaArray& aMediaArray); - /** - * Update a category item. - * @param aId: The ID of the category to update - * @param aMedia: The media data - * @param aDriveId: The Drive Id the name (category) belongs - * @param aItemChangedMessages: if valid on return contains a updated message if the - * category was updated - */ - void UpdateItemL(TUint32 aId, const CMPXMedia& aMedia, TInt aDriveId, CMPXMessageArray* aItemChangedMessages); + /** + * Update a category item. + * @param aId: The ID of the category to update + * @param aMedia: The media data + * @param aDriveId: The Drive Id the name (category) belongs + * @param aItemChangedMessages: if valid on return contains a updated message if the + * category was updated + */ + void UpdateItemL(TUint32 aId, const CMPXMedia& aMedia, TInt aDriveId, CMPXMessageArray* aItemChangedMessages); - public: - /** - * Get albums count for a specified artist - * @param aId: The ID of the artist - */ - TInt GetAlbumsCountForArtistL(TUint32 aArtistId); + public: + /** + * Get albums count for a specified artist + * @param aId: The ID of the artist + */ + TInt GetAlbumsCountForArtistL(TUint32 aArtistId); - /** - * Get songs count for a specified album and a specified artist - * @param aArtistId: The ID of the artist - * @param aAlbumId: The ID of the album - */ - TInt GetSongsCountInAlbumMatchingArtistL(TUint32 aArtistId, TUint32 aAlbumId); + /** + * Get songs count for a specified album and a specified artist + * @param aArtistId: The ID of the artist + * @param aAlbumId: The ID of the album + */ + TInt GetSongsCountInAlbumMatchingArtistL(TUint32 aArtistId, TUint32 aAlbumId); private: /** @@ -149,13 +165,25 @@ * @param aValues values of each field of Album table * @return a string containing the selection criteria. The ownership is passed to the caller. */ - void GenerateAlbumFieldsValuesL(const CMPXMedia& aMedia, - CDesCArray& aFields, CDesCArray& aValues); + void GenerateAlbumFieldsValuesL(const CMPXMedia& aMedia, + CDesCArray& aFields, CDesCArray& aValues); - TBool IsUnknownArtistL(TUint32 aId); + TBool IsUnknownArtistL(TUint32 aId); - TUint32 ArtistForAlbumL(const TUint32 aId); + /** + * Get the ArtistName of song which belongs to the specified Album. + * @param aId The ID of the album + * @returns alternative artistname retrieved in the specified Album. + */ + HBufC* ArtistForAlbumL(const TUint32 aId); + /** + * Get the Albumart of song which belongs to the specified Album. + * @param aId The ID of the album + * @param aArt albumart with the song is deleted. + * @returns alternative albumart retrieved in the specified Album. + */ + HBufC* AlbumartForAlbumL(const TUint32 aId, TPtrC aArt); private: // from MMPXTable @@ -191,11 +219,10 @@ enum TAlbumColumns { EAlbumUniqueId = KMPXTableDefaultIndex, + EAlbumArtistName, EAlbumName, - EAlbumSongCount, - EAlbumArtist, + EAlbumSongCount, EAlbumArt, - EAlbumArtistName, EAlbumFieldCount }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbhandler.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbhandler.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbhandler.h Thu Jul 22 16:32:33 2010 +0100 @@ -463,6 +463,14 @@ CMPXMediaArray* aMediaArray); /** + * Get all the album names from the music collection database sorted by artist. + * @param aAttrs required attributes + * @param aMediaArray Array to place all the albums' required info + */ + void GetAllAlbumsMediaWallL(const TArray& aAttrs, + CMPXMediaArray* aMediaArray); + + /** * Get all the albums that match the given artist ID sorted by name. * @param aArtistId ID of the artist to match * @param aAttrs required attributes @@ -905,21 +913,7 @@ void DoRemoveSongFromPlaylistL(TUint32 aPlaylistId, const TMPXItemId& aSongId, TInt aOrdinal, CMPXMessageArray& aItemChangedMessages); -#ifdef ABSTRACTAUDIOALBUM_INCLUDED - /** - * Remove all abstractalbum items with no songs associated, - * TN and .alb files also removed. - * - */ - void RemoveAbstractAlbumsWithNoSongL(); - - /** - /* When refresh library, Remove .alb entry from AbstractAlnum table, TN table if .alb files deleted - /* from file manager - */ - void AbstractAlbumCleanUpL(); - -#endif // ABSTRACTAUDIOALBUM_INCLUDED + /** * Deletes all song records marked as deleted. @@ -1044,7 +1038,7 @@ #endif // ABSTRACTAUDIOALBUM_INCLUDED virtual TUint32 AddCategoryItemL(TMPXGeneralCategory aCategory, const TDesC& aName, - TUint32 aArtist, const TDesC& aArt, + const TDesC& aArtistName, const TDesC& aArt, TInt aDrive, CMPXMessageArray* aItemChangedMessages, TBool& aItemExist); virtual void UpdateCategoryItemL(TMPXGeneralCategory aCategory, TUint32 aCategoryId, @@ -1082,8 +1076,21 @@ /** * @see MMPXDbAlbumObserver */ - virtual TBool HandleIsUnknownArtistL(TUint32 aArtistId); - virtual TUint32 HandleArtistForAlbumL(const TUint32 aAlbumId); + virtual TBool HandleIsUnknownArtistL(TUint32 aArtistId); + /** + * Get the Artistname of song which belongs to the specified Album. + * @param aId, The Album ID. + * @returns alternative artistname retrieved in the specified Album. + */ + virtual HBufC* HandleArtistForAlbumL(const TUint32 aAlbumId); + + /** + * Get the Albumart of song which belongs to the specified Album. + * @param aId, The Album ID. + * @param aArt, the AlbumArt uri. + * @returns alternative albumart retrieved in the specified Album. + */ + virtual HBufC* HandleAlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt); private: // From MMPXDbPlaylistObserver /** diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbmusic.h Thu Jul 22 16:32:33 2010 +0100 @@ -80,7 +80,7 @@ #endif // ABSTRACTAUDIOALBUM_INCLUDED // for Album and Artist table virtual TUint32 AddCategoryItemL(TMPXGeneralCategory aCategory, const TDesC& aName, - TUint32 aArtistId, const TDesC& aArt, + const TDesC& aArtistName, const TDesC& aArt, TInt aDrive, CMPXMessageArray* aItemChangedMessages, TBool& aItemExist) = 0; /** * Called when the ID of a category item changed for a Music record, for example when @@ -245,10 +245,11 @@ * @param aComposerId returns the artist ID * @param aAbstractAlbumId returns the AbstractAlbum ID * @param aDriveId returns the song drive + * @param aArt returns the albumart uri * @return song URI. The ownership is transferred. */ HBufC* GetSongInfoL(TUint32 aSongId, TUint32& aArtistId, TUint32& aAlbumId, - TUint32& aGenreId, TUint32& aComposerId, TUint32& aAbstractAlbumId, TInt& aDriveId); + TUint32& aGenreId, TUint32& aComposerId, TUint32& aAbstractAlbumId, TInt& aDriveId, HBufC*& aArt); #else /** * Get the drive and category IDs for a specified song @@ -258,10 +259,11 @@ * @param aGenreId returns the artist ID * @param aComposerId returns the artist ID * @param aDriveId returns the song drive + * @param aArt returns the albumart uri * @return song URI. The ownership is transferred. */ HBufC* GetSongInfoL(TUint32 aSongId, TUint32& aArtistId, TUint32& aAlbumId, - TUint32& aGenreId, TUint32& aComposerId, TInt& aDriveId); + TUint32& aGenreId, TUint32& aComposerId, TInt& aDriveId, HBufC*& aArt); #endif // ABSTRACTAUDIOALBUM_INCLUDED /** * Get the song Id, title, URI, and general flags from the given song Id and/or URI @@ -526,7 +528,16 @@ * Get the ID of Artist which belongs to the specified Album * @param aId, the ID of Album */ - TUint32 CMPXDbMusic::ArtistForAlbumL(const TUint32 aId); + TUint32 ArtistForAlbumL(const TUint32 aId); + + /** + * Get the Albumart of song which belongs to the specified Album + * @param aId, the ID of Album + * @param aArt, AlbumArt uri + * @returns alternative albumart retrieved in the specified Album. + */ + HBufC* AlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt); + /* * Check the integrity of the music basic table @@ -677,9 +688,6 @@ const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId, CMPXMessageArray* aItemChangedMessages, TUint32& aItemId); - TBool UpdateCategoryFieldL(TMPXGeneralCategory aCategory, const CMPXMedia& aMedia, - const TMPXAttribute& aAttribute, TUint32 aOldId, TInt aDriveId, - CMPXMessageArray* aItemChangedMessages, TUint32& aItemId, TUint32 aArtistId); /** * Checks if extra attributes are required. The "standard attribute set includes: * EMPXMediaGeneralId, EMPXMediaGeneralType, EMPXMediaGeneralCategory, @@ -696,6 +704,12 @@ * otherwise EFalse. */ TBool IsSupported(const CMPXMedia& aMedia); + + /** + * Query all songs from the database and add results to the + * iAllSongsQueryResult cache array. + */ + void ExecuteQueryAllSongsL(const TArray& aAttrs); private: // from MMPXTable @@ -798,6 +812,7 @@ #ifdef ABSTRACTAUDIOALBUM_INCLUDED TBool iArtNeedUpdated; #endif // ABSTRACTAUDIOALBUM_INCLUDED + RPointerArray iAllSongsQueryResult; }; #endif // MPXDBMUSIC_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbpluginqueries.h --- a/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbpluginqueries.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/inc/mpxdbpluginqueries.h Thu Jul 22 16:32:33 2010 +0100 @@ -229,7 +229,7 @@ #endif _LIT(KQuerySongsInArtistAlbum, "SELECT count(*) FROM :dbname.Music WHERE Deleted=0 AND Artist=%u AND Album=%u"); _LIT(KQueryMusicGetArtistForAlbum, "SELECT Artist FROM :dbname.Music,:dbname.Artist WHERE Music.Deleted=0 AND Music.Artist=Artist.UniqueId AND Music.Album=%u"); - +_LIT(KQueryMusicGetAlbumartForAlbum, "SELECT Art FROM :dbname.Music WHERE Music.Deleted=0 AND Music.Album=%u"); // == Category table queries ================================================== // _LIT(KCategoryTablePlaceholder, "##table##"); @@ -270,9 +270,9 @@ _LIT(KAuxiliaryDropTable,"DROP TABLE Auxiliary"); _LIT(KAuxiliaryCheckTable, "SELECT Id,Version,TimeRefreshed,TimeSynced,Corrupt,SaveDeletedRecordCount FROM AUXILIARY"); #ifdef ABSTRACTAUDIOALBUM_INCLUDED -_LIT(KQueryAuxiliaryInsert, "INSERT INTO Auxiliary(Id,Version,Corrupt) VALUES(0,'6.5.0',%u)"); +_LIT(KQueryAuxiliaryInsert, "INSERT INTO Auxiliary(Id,Version,Corrupt) VALUES(0,'6.6.0',%u)"); #else -_LIT(KQueryAuxiliaryInsert, "INSERT INTO Auxiliary(Id,Version,Corrupt) VALUES(0,'6.4.0',%u)"); +_LIT(KQueryAuxiliaryInsert, "INSERT INTO Auxiliary(Id,Version,Corrupt) VALUES(0,'6.6.1',%u)"); #endif // ABSTRACTAUDIOALBUM_INCLUDED _LIT(KQueryAuxiliarySetTime, "UPDATE :dbname.Auxiliary SET TimeRefreshed='%S', Corrupt=0"); _LIT(KQueryAuxiliaryGetTime, "SELECT TimeRefreshed FROM :dbname.Auxiliary"); @@ -427,18 +427,21 @@ // _LIT(KAlbumCreateTable,"CREATE TABLE Album(" L"UniqueId INTEGER PRIMARY KEY," + L"ArtistName TEXT COLLATE NOCASE," L"Name TEXT COLLATE NOCASE," L"SongCount INTEGER," - L"Artist INTEGER," - L"Art TEXT)"); + L"Art TEXT)"); -_LIT(KAlbumCheckTable,"SELECT UniqueId,Name,SongCount,Artist,Art FROM Album"); +_LIT(KAlbumCheckTable,"SELECT UniqueId,ArtistName,Name,SongCount,Art FROM Album"); -_LIT(KQueryAlbumInsert, "INSERT INTO :dbname.Album(UniqueId,Name,SongCount,Artist,Art) VALUES(%u,'%S',%u,%u,'%S')"); +_LIT(KQueryAlbumInsert, "INSERT INTO :dbname.Album(UniqueId,ArtistName,Name,SongCount,Art) VALUES(%u,'%S','%S',%u,'%S')"); _LIT(KQueryAlbumUpdate, "UPDATE :dbname.Album SET %S WHERE UniqueId=%u"); _LIT(KQueryAlbumItem, "SELECT Album.*,Artist.Name FROM :dbname.Album,:dbname.Artist WHERE Album.Artist=Artist.UniqueId AND UniqueId=%u"); -_LIT(KQueryAlbumAll, "SELECT Album.*,Artist.Name FROM :dbname.Album,:dbname.Artist WHERE Album.Artist=Artist.UniqueId ORDER BY 2"); +_LIT(KQueryAlbumAll, "SELECT Album.* FROM :dbname.Album ORDER BY Name"); +_LIT(KQueryAlbumAllMediaWall, "SELECT Album.* FROM :dbname.Album ORDER BY ArtistName"); +_LIT(KCriterionArtistName, "ArtistName='%S'"); +_LIT(KCriterionArt, "Art='%S'"); // == Artist table queries ========================================== // diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxcollectiondbmanager.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxcollectiondbmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxcollectiondbmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -80,7 +80,26 @@ void CMPXCollectionDbManager::ConstructL() { MPX_FUNC("CMPXCollectionDbManager::ConstructL"); - CMPXDbManager::ConstructL(TFileName(KMCDbFile)); + //Find out if the system has an internal drive (eMMC) + TBool eMMC( EFalse ); + TDriveInfo driveInfo; + if( Fs().Drive( driveInfo, EDriveE ) == KErrNone ) + { + if ( driveInfo.iDriveAtt & KDriveAttInternal ) + eMMC = ETrue; + } + + //Use different name for Dbs if the system has an internal drive vs. MMC-only. + //Since hard-coded drive letters in the Thumbnail URIs + //So Dbs are not interchangeable between an internal drive system and MMC-only system. + if ( eMMC ) + { + CMPXDbManager::ConstructL(TFileName( KMCDbFileEMMC )); + } + else + { + CMPXDbManager::ConstructL(TFileName( KMCDbFile )); + } } // End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbabstractalbum.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbabstractalbum.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbabstractalbum.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -78,7 +78,8 @@ { MPX_FUNC("CMPXDbAbstractAlbum::~CMPXDbAbstractAlbum"); #ifdef RD_MPX_TNM_INTEGRATION - delete iTNManager; + if (iTNManager) + delete iTNManager; #endif //RD_MPX_TNM_INTEGRATION } @@ -222,6 +223,81 @@ } // ---------------------------------------------------------------------------- +// Remove abstractalbums which have no songs associated. +// ---------------------------------------------------------------------------- +// +void CMPXDbAbstractAlbum::RemoveAbstractAlbumsWithNoSongL() + { + MPX_FUNC("CMPXDbAbstractAlbum::RemoveAbstractAlbumsWithNoSongL"); + + RArray iItemsIds; + CleanupClosePushL(iItemsIds); + + //get all abstractalbum with no songs associated. + GetAllItemsWithNoSongL(iItemsIds); + TInt count = iItemsIds.Count(); + TInt err = KErrNone; + if (count) + { + MPX_DEBUG2("CMPXDbAbstractAlbum::RemoveAbstractAlbumsWithNoSongL, abstractalbum count[%d] ", iItemsIds.Count()); + CMPXMessageArray* itemChangedMessages = CMPXMediaArray::NewL(); + CleanupStack::PushL(itemChangedMessages); + + //go through each one to delete + for (TInt i=0; i< count; i++) + { + TRAP(err, RemoveAbstractAlbumL(iItemsIds[i], *itemChangedMessages, EFalse)); + if (err != KErrNone) + { + MPX_DEBUG2("CMPXDbAbstractAlbum::RemoveAbstractAlbumsWithNoSongL, error happens when delete abstractalbum, err ", err); + } + } + CleanupStack::PopAndDestroy(itemChangedMessages); + } + CleanupStack::PopAndDestroy(&iItemsIds); + } + +// ---------------------------------------------------------------------------- +// Remove .alb entry from AbstractAlnum table, TN table if .alb files deleted +// from file manager when refresh library +// ---------------------------------------------------------------------------- +// +void CMPXDbAbstractAlbum::AbstractAlbumCleanUpL() + { + MPX_FUNC("CMPXDbAbstractAlbum::AbstractAlbumCleanUpL"); + RArray attributes; + CleanupClosePushL(attributes); + attributes.AppendL(KMPXMediaGeneralUri); + CMPXMediaArray* mediaArray = CMPXMediaArray::NewL(); + CleanupStack::PushL(mediaArray); + + GetAllCategoryItemsL(attributes.Array(), *mediaArray); + + TInt count(mediaArray->Count()); + if (count) + { + CMPXMessageArray* itemChangedMessages = CMPXMediaArray::NewL(); + CleanupStack::PushL(itemChangedMessages); + for (TInt i = 0; i < count; i++) + { + CMPXMedia* element = mediaArray->AtL(i); + const TDesC& uri = element->ValueText(KMPXMediaGeneralUri); + + //check if the file exists in file system + if (!(BaflUtils::FileExists(iFs, uri))) + { + //generate abstractalbum UID with the Uri + TUint32 abstractAlbumId(MPXDbCommonUtil::GenerateUniqueIdL(iFs, EMPXAbstractAlbum, uri, EFalse)); + RemoveAbstractAlbumL(abstractAlbumId, *itemChangedMessages, ETrue); + } + } + CleanupStack::PopAndDestroy(itemChangedMessages); + } + CleanupStack::PopAndDestroy(mediaArray); + CleanupStack::PopAndDestroy(&attributes); + } + +// ---------------------------------------------------------------------------- // CMPXDbAbstractAlbum::RemoveAbstractAlbumL // ---------------------------------------------------------------------------- // @@ -255,7 +331,10 @@ const TDesC& aNewPath, TInt aPriority ) { MPX_FUNC("CMPXDbAbstractAlbum::HandleTNL"); - + if (!iTNManager) + { + CreateTNMSessionL(); + } if (aNewPath.Compare(KNullDesC)==0 && aOldPath.Compare(KNullDesC)!=0) { // remove from thumbnail database table @@ -263,14 +342,15 @@ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC( aOldPath, KImageFileType ); iTNManager->DeleteThumbnails( *source ); + CleanupStack::PopAndDestroy( source ); } else if (aNewPath.Compare(KNullDesC)!=0) { //rename thumbnail - MPX_DEBUG1("CMPXDbAbstractAlbum::HandleTNL, rename TN"); - // TODO: uncomment when RenameThumbnailsL is supported. - //iTNManager->RenameThumbnailsL( aOldPath, aNewPath, aPriority ); + MPX_DEBUG1("CMPXDbAbstractAlbum::HandleTNL, rename Thumbnail entry in Thumbnail table"); + + iTNManager->RenameThumbnailsL( aOldPath, aNewPath, aPriority ); //after rename, reset flag iRenameTN = EFalse; } @@ -324,13 +404,19 @@ RSqlStatement recordset(GetCategoryRecordL(aId)); CleanupClosePushL(recordset); - - if (recordset.Next() != KSqlAtRow) + HBufC* uri = NULL; + if (recordset.Next() == KSqlAtRow) + { + uri = MPXDbCommonUtil::GetColumnTextL(recordset, EAbstractAlbumUri).AllocL(); + } + else { - User::LeaveIfError(KErrNotFound); + //entry is deleted due to garbage collection + MPX_DEBUG1("CMPXDbAbstractAlbum::GetUriL, no uri, entry is deleted due to garbage collection"); + TPtrC nullUri(KNullDesC); + uri = nullUri.AllocL(); } - HBufC* uri = MPXDbCommonUtil::GetColumnTextL(recordset, EAbstractAlbumUri).AllocL(); - CleanupStack::PopAndDestroy(&recordset); + CleanupStack::PopAndDestroy(&recordset); return uri; } @@ -526,6 +612,7 @@ CMPXDbManager& aDbManager, TMPXGeneralCategory aCategory, RFs& aFs) : CMPXDbCategory(aDbManager, aCategory), + iTNManager(NULL), iFs(aFs) { MPX_FUNC("CMPXDbAbstractAlbum::CMPXDbAbstractAlbum"); @@ -540,11 +627,7 @@ MPX_FUNC("CMPXDbAbstractAlbum::ConstructL"); BaseConstructL(); -#ifdef RD_MPX_TNM_INTEGRATION - // Create Thumbnail Manager instance. This object is the observer. - iTNManager = CThumbnailManager::NewL( *this ); iRenameTN = EFalse; -#endif //RD_MPX_TNM_INTEGRATION } @@ -567,4 +650,16 @@ MThumbnailData& /*aThumbnail*/, TThumbnailRequestId /*aId*/ ) { } + +// --------------------------------------------------------------------------- +// CMPXDbAbstractAlbum::CreateTNMSessionL +// Create thumbnail session +// --------------------------------------------------------------------------- +void CMPXDbAbstractAlbum::CreateTNMSessionL() + { + if(!iTNManager) + { + iTNManager = CThumbnailManager::NewL( *this ); + } + } // End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbalbum.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbalbum.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbalbum.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -33,6 +33,9 @@ #include "mpxdbalbum.h" // CONSTANTS +#ifdef ABSTRACTAUDIOALBUM_INCLUDED +_LIT( KAbstractAlbumExt, ".alb" ); +#endif // ABSTRACTAUDIOALBUM_INCLUDED // ============================ MEMBER FUNCTIONS ============================== @@ -109,7 +112,7 @@ // TUint32 CMPXDbAlbum::AddItemL( const TDesC& aName, - TUint32 aArtist, + const TDesC& aArtistName, const TDesC& aArt, TInt aDriveId, TBool& aNewRecord, @@ -127,11 +130,13 @@ // insert new HBufC* query = PreProcessStringLC(KQueryAlbumInsert); HBufC* name = MPXDbCommonUtil::ProcessSingleQuotesLC(aName); + HBufC* artistname = MPXDbCommonUtil::ProcessSingleQuotesLC(aArtistName); HBufC* art = MPXDbCommonUtil::ProcessSingleQuotesLC(aArt); - iDbManager.ExecuteQueryL(aDriveId, *query, rowId, name, 1, aArtist, art); + iDbManager.ExecuteQueryL(aDriveId, *query, rowId, artistname, name, 1, art); CleanupStack::PopAndDestroy(art); + CleanupStack::PopAndDestroy(artistname); CleanupStack::PopAndDestroy(name); CleanupStack::PopAndDestroy(query); } @@ -151,17 +156,21 @@ } // Artist - TUint32 artistId = recordset.ColumnInt64(EAlbumArtist); + TPtrC artistname(KNullDesC); + artistname.Set(MPXDbCommonUtil::GetColumnTextL(recordset, EAlbumArtistName)); // the current one is Unknown and the new one is Not Unknown. - if ( IsUnknownArtistL( artistId ) && !IsUnknownArtistL( aArtist ) ) + if ( artistname == KNullDesC && aArtistName!= KNullDesC ) { - _LIT( KFormatArtistId, "Artist=%d" ); - HBufC* setStr = HBufC::NewLC(KFormatArtistId().Length() + KMCIntegerLen); - setStr->Des().Format( KFormatArtistId, aArtist ); - + HBufC* artistnameReplaceSingleQuote = + MPXDbCommonUtil::ProcessSingleQuotesLC( aArtistName ); + TPtrC criteria(KCriterionArtistName); + HBufC* setStr = HBufC::NewLC(criteria.Length() + artistnameReplaceSingleQuote->Length()); + setStr->Des().Format( KCriterionArtistName, artistnameReplaceSingleQuote ); + iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, rowId); CleanupStack::PopAndDestroy(setStr); + CleanupStack::PopAndDestroy(artistnameReplaceSingleQuote); } // Album Art @@ -173,9 +182,10 @@ { HBufC* artReplaceSingleQuote = MPXDbCommonUtil::ProcessSingleQuotesLC( aArt ); - _LIT( KFormatArt, "Art=\'%S\'" ); - HBufC* setStr = HBufC::NewLC(256); - setStr->Des().Format( KFormatArt, artReplaceSingleQuote ); + + TPtrC criteria(KCriterionArt); + HBufC* setStr = HBufC::NewLC(criteria.Length() + artReplaceSingleQuote->Length()); + setStr->Des().Format( KCriterionArt, artReplaceSingleQuote ); iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, rowId); CleanupStack::PopAndDestroy(setStr); @@ -202,7 +212,8 @@ TInt aDriveId, CMPXMessageArray* aItemChangedMessages, TBool& aItemExist, - const TUint32 aArtist) + const TUint32 aArtist, + const TDesC& aArt) { MPX_FUNC("CMPXDbAlbum::DecrementSongsForCategoryL"); @@ -236,31 +247,84 @@ User::Leave(KErrNotFound); } - TUint32 artistId = recordset.ColumnInt64(EAlbumArtist); - - CleanupStack::PopAndDestroy(&recordset); + TBool itemModified = EFalse; + TPtrC artistname(MPXDbCommonUtil::GetColumnTextL(recordset, EAlbumArtistName)); + TUint32 artistId = MPXDbCommonUtil::GenerateUniqueIdL(iDbManager.Fs(), EMPXArtist, + artistname, ETrue); // the current artist is equal to deleted song's artist if ( artistId == aArtist ) { - TUint32 newArtistId = ArtistForAlbumL(aId); - if ( artistId != newArtistId ) - { - _LIT( KFormatArtistId, "Artist=%d" ); - HBufC* setStr = HBufC::NewLC(KFormatArtistId().Length() + KMCIntegerLen); - setStr->Des().Format(KFormatArtistId, newArtistId); + HBufC* newArtistname = ArtistForAlbumL(aId); + + CleanupStack::PushL(newArtistname); + if (newArtistname && newArtistname->CompareF(artistname)!=0) + { + HBufC* artistnameReplaceSingleQuote = MPXDbCommonUtil::ProcessSingleQuotesLC( *newArtistname ); + TPtrC criteria(KCriterionArtistName); + HBufC* setStr = HBufC::NewLC(criteria.Length() + artistnameReplaceSingleQuote->Length()); + setStr->Des().Format( KCriterionArtistName, artistnameReplaceSingleQuote ); iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, aId); CleanupStack::PopAndDestroy(setStr); - - if (aItemChangedMessages) - { - // add the item changed message - MPXDbCommonUtil::AddItemAlbumChangedMessageL(*aItemChangedMessages, aId, EMPXItemModified, - EMPXAlbum, KDBPluginUid, ETrue, 0 ); - } + CleanupStack::PopAndDestroy(artistnameReplaceSingleQuote); + itemModified = ETrue; } + CleanupStack::PopAndDestroy(newArtistname); + } + +#ifdef ABSTRACTAUDIOALBUM_INCLUDED + TBool nonEmbeddedArt = EFalse; + if (aArt.Length()>0) + { + TParsePtrC parse(aArt); + TPtrC ext(parse.Ext()); + //set flag to false, so .alb will not overwrite art field in album, artist table + // when song with embedded art + if (ext.CompareF(KAbstractAlbumExt)== 0) + { + nonEmbeddedArt = ETrue; } + } + if (!nonEmbeddedArt) + { +#endif // ABSTRACTAUDIOALBUM_INCLUDED + TPtrC art(MPXDbCommonUtil::GetColumnTextL(recordset, EAlbumArt)); + // the current art is equal to deleted song's art + if(aArt.Length()>0 && art.Length()>0 && aArt.CompareF(art) ==0 ) + { + MPX_DEBUG2("AlbumArt of the Song to be deleted is [%S]", &aArt); + + //need to get alternative art in the same album to display + HBufC* newArt = AlbumartForAlbumL(aId, aArt); + CleanupStack::PushL(newArt); + + //update Album table only if alternative albumart found + if (newArt) + { + MPX_DEBUG1("CMPXDbAlbum::DecrementSongsForCategoryL, get newArt"); + HBufC* artReplaceSingleQuote = MPXDbCommonUtil::ProcessSingleQuotesLC( *newArt ); + TPtrC criteria(KCriterionArt); + HBufC* setStr = HBufC::NewLC(criteria.Length() + artReplaceSingleQuote->Length()); + setStr->Des().Format( KCriterionArt, artReplaceSingleQuote ); + + iDbManager.ExecuteQueryL(aDriveId, KQueryAlbumUpdate, setStr, aId); + CleanupStack::PopAndDestroy(setStr); + CleanupStack::PopAndDestroy(artReplaceSingleQuote); + itemModified = ETrue; + } + CleanupStack::PopAndDestroy(newArt); + } +#ifdef ABSTRACTAUDIOALBUM_INCLUDED + } +#endif // ABSTRACTAUDIOALBUM_INCLUDED + if (aItemChangedMessages && itemModified) + { + // add the item changed message + MPXDbCommonUtil::AddItemAlbumChangedMessageL(*aItemChangedMessages, aId, EMPXItemModified, + EMPXAlbum, KDBPluginUid, ETrue, 0 ); + } + CleanupStack::PopAndDestroy(&recordset); // decrement the number of songs for the category query = PreProcessStringLC(KQueryCategoryDecrementSongCount); @@ -289,6 +353,24 @@ } // ---------------------------------------------------------------------------- +// CMPXDbAlbum::GetAllCategoryItemsMediaWallL +// ---------------------------------------------------------------------------- +// +void CMPXDbAlbum::GetAllCategoryItemsMediaWallL( + const TArray& aAttrs, + CMPXMediaArray& aMediaArray) + { + MPX_FUNC("CMPXDbAlbum::GetAllCategoryItemsL"); + + HBufC* query = PreProcessStringLC(KQueryAlbumAllMediaWall); + RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(*query)); + CleanupStack::PopAndDestroy(query); + + CleanupClosePushL(recordset); + ProcessRecordsetL(aAttrs, recordset, aMediaArray); + CleanupStack::PopAndDestroy(&recordset); + } +// ---------------------------------------------------------------------------- // CMPXDbAlbum::UpdateItemL // ---------------------------------------------------------------------------- // @@ -485,9 +567,7 @@ if (aMedia.IsSupported(KMPXMediaMusicArtist)) { const TDesC& artistName = aMedia.ValueText(KMPXMediaMusicArtist).Left(KMCMaxTextLen); - TUint32 artistId = MPXDbCommonUtil::GenerateUniqueIdL(iDbManager.Fs(), EMPXArtist, - artistName, ETrue); - MPXDbCommonUtil::AppendValueL(aFields, aValues, KMCMusicArtist, artistId); + MPXDbCommonUtil::AppendValueL(aFields, aValues, KMCAlbumArtistName, artistName); } } @@ -504,12 +584,21 @@ // CMPXDbAlbum::ArtistForAlbumL // ---------------------------------------------------------------------------- // -TUint32 CMPXDbAlbum::ArtistForAlbumL(const TUint32 aId) +HBufC* CMPXDbAlbum::ArtistForAlbumL(const TUint32 aId) { return iObserver.HandleArtistForAlbumL(aId); } // ---------------------------------------------------------------------------- +// CMPXDbAlbum::AlbumartForAlbumL +// ---------------------------------------------------------------------------- +// +HBufC* CMPXDbAlbum::AlbumartForAlbumL(const TUint32 aId, TPtrC aArt) + { + return iObserver.HandleAlbumartForAlbumL(aId, aArt); + } + +// ---------------------------------------------------------------------------- // CMPXDbAlbum::CreateTableL // ---------------------------------------------------------------------------- // diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbautoplaylist.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbautoplaylist.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbautoplaylist.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -20,6 +20,7 @@ #include #include #include +#include #include "mpxresource.h" #include "mpxdbcommonutil.h" @@ -28,17 +29,13 @@ #include "mpxcollectiondbdef.h" #include "mpxdbautoplaylist.h" #include "mpxdbpluginqueries.h" +#include "mpxdbcommondef.h" const TInt KMPXTableDefaultIndex = 0; const TInt32 KMPXRecentlyPlayedPlaylistId = 0x20000000; const TInt32 KMPXMostPlayedPlaylistId = 0x20000001; const TInt32 KMPXRecentlyAddedPlaylistId = 0x20000002; -const TInt KPlaylistTitleSize = 32; -_LIT( KMostPlayed, "Most played" ); -_LIT( KRecentlyPlayed, "Recently played" ); -_LIT( KRecentlyAdded, "Recently added" ); - // ============================ MEMBER FUNCTIONS ============================== @@ -107,12 +104,26 @@ CMPXResource& /*aResource*/) { MPX_FUNC("CMPXDbAutoPlaylist::ConstructL"); - iRecentlyPlayedPlaylist = HBufC::NewL(KPlaylistTitleSize); - iRecentlyPlayedPlaylist->Des().Append(KMostPlayed); - iMostPlayedPlaylist = HBufC::NewL(KPlaylistTitleSize); - iMostPlayedPlaylist->Des().Append(KRecentlyPlayed); - iRecentlyAddedPlaylist = HBufC::NewL(KPlaylistTitleSize); - iRecentlyAddedPlaylist->Des().Append(KRecentlyAdded); + + // Localization using QT + TBool result = HbTextResolverSymbian::Init(KMPXMusicPlayerTsFile, KMPXMusicPlayerTsPath); + if ( result ) + { + iMostPlayedPlaylist = HbTextResolverSymbian::LoadL( _L("txt_mus_list_most_played") ); + iRecentlyAddedPlaylist = HbTextResolverSymbian::LoadL( _L("txt_mus_list_recently_added") ); + iRecentlyPlayedPlaylist = HbTextResolverSymbian::LoadL( _L("txt_mus_list_recently_played") ); + } + else + { + // error initializing HbTextResolverSymbian, use logical string. + MPX_DEBUG1("CMPXDbAutoPlaylist::ConstructL - HbTextResolverSymbian::Init() Failed."); + TBufC<50> buf( _L("txt_mus_list_most_played") ); + iMostPlayedPlaylist = buf.AllocL(); + buf = _L("txt_mus_list_recently_added"); + iRecentlyAddedPlaylist = buf.AllocL(); + buf = _L("txt_mus_list_recently_played"); + iRecentlyPlayedPlaylist = buf.AllocL(); + } iRecentlyPlayedPlaylistId = KMPXRecentlyPlayedPlaylistId; iMostPlayedPlaylistId = KMPXMostPlayedPlaylistId; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbhandler.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -963,6 +963,18 @@ } // ---------------------------------------------------------------------------- +// Get all albums for Media Wall +// ---------------------------------------------------------------------------- +// +void CMPXDbHandler::GetAllAlbumsMediaWallL( + const TArray& aAttrs, + CMPXMediaArray* aMediaArray) + { + MPX_FUNC("CMPXDbHandler::GetAllAlbumsL"); + iDbAlbum->GetAllCategoryItemsMediaWallL(aAttrs, *aMediaArray); + } + +// ---------------------------------------------------------------------------- // Get all albums for the given artist ID // ---------------------------------------------------------------------------- // @@ -1537,6 +1549,8 @@ iOutOfDisk = ETrue; } + User::LeaveIfError( err ); + if(!iOutOfDisk) { MPX_TRAP(err,CheckDiskSpaceOnDrivesL()); @@ -1561,26 +1575,28 @@ void CMPXDbHandler::RefreshEndL() { MPX_FUNC("CMPXDbHandler::RefreshEndL"); - iRefresh = EFalse; - EndTransactionL(KErrNone); - if (!iOutOfDisk) - { - // Write last refreshed time as current time - // This also sets corrupt = 0 - TTime curTime; - curTime.HomeTime(); - SetLastRefreshedTimeL(curTime); - } + if ( iRefresh ) + { + iRefresh = EFalse; + EndTransactionL(KErrNone); + if (!iOutOfDisk) + { + // Write last refreshed time as current time + // This also sets corrupt = 0 + TTime curTime; + curTime.HomeTime(); + SetLastRefreshedTimeL(curTime); + } #ifdef ABSTRACTAUDIOALBUM_INCLUDED //for AbstractAlbum garbage collection - //can not leave - TRAP_IGNORE( AbstractAlbumCleanUpL() ); + TRAP_IGNORE( iDbAbstractAlbum->AbstractAlbumCleanUpL() ); #endif #ifdef __RAMDISK_PERF_ENABLE - iDbManager->CopyDBsFromRamL(); + iDbManager->CopyDBsFromRamL(); #endif //__RAMDISK_PERF_ENABLE + } } // ---------------------------------------------------------------------------- @@ -1605,6 +1621,12 @@ iDbManager->BeginL(); } + //create Thumbnail manager session for cleanup for abstractalbum when MTP end. + //because when MTP end comes, in case of mode switching, we need to do it as fast as possible, + //hence we don’t want the delay happens on that time. +#ifdef RD_MPX_TNM_INTEGRATION + iDbAbstractAlbum->CreateTNMSessionL(); +#endif //RD_MPX_TNM_INTEGRATION MPX_DEBUG1("<--CMPXDbHandler::MtpStartL"); } @@ -1630,11 +1652,13 @@ #endif //__RAMDISK_PERF_ENABLE #ifdef ABSTRACTAUDIOALBUM_INCLUDED - TRAP(err, RemoveAbstractAlbumsWithNoSongL()); + BeginTransactionL(); + TRAP(err, iDbAbstractAlbum->RemoveAbstractAlbumsWithNoSongL()); if ( err != KErrNone ) { MPX_DEBUG2("CMPXDbHandler::MtpEndL error happened when cleanup albstractalbum with no songs association[%d]", err); } + EndTransactionL(err); #endif MPX_DEBUG1("<--CMPXDbHandler::MtpEndL"); } @@ -2114,6 +2138,7 @@ TUint32 albumID(0); TUint32 genreID(0); TUint32 composerID(0); + HBufC* art(NULL); #ifdef ABSTRACTAUDIOALBUM_INCLUDED TUint32 abstractAlbumID(0); #endif // ABSTRACTAUDIOALBUM_INCLUDED @@ -2121,11 +2146,12 @@ // Get information from the Music table first #ifdef ABSTRACTAUDIOALBUM_INCLUDED - HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive); + HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, abstractAlbumID, drive, art); #else - HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive); + HBufC* uri = iDbMusic->GetSongInfoL(aSongId, artistID, albumID, genreID, composerID, drive, art); #endif // ABSTRACTAUDIOALBUM_INCLUDED + CleanupStack::PushL(art); // add the URI to the return array CleanupStack::PushL(uri); aUriArray.AppendL(*uri); @@ -2134,9 +2160,10 @@ // Update the category records TBool categoryExist( EFalse ); iDbArtist->DecrementSongsForCategoryL(artistID, drive, &aItemChangedMessages, categoryExist); - iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID); + iDbAlbum->DecrementSongsForCategoryL(albumID, drive, &aItemChangedMessages, categoryExist, artistID, *art); iDbGenre->DecrementSongsForCategoryL(genreID, drive, &aItemChangedMessages, categoryExist); iDbComposer->DecrementSongsForCategoryL(composerID, drive, &aItemChangedMessages, categoryExist); + CleanupStack::PopAndDestroy(art); #ifdef ABSTRACTAUDIOALBUM_INCLUDED if (abstractAlbumID) { @@ -2363,83 +2390,6 @@ EMPXSong, KDBPluginUid); } -#ifdef ABSTRACTAUDIOALBUM_INCLUDED -// ---------------------------------------------------------------------------- -// Remove abstractalbums which have no songs associated. -// ---------------------------------------------------------------------------- -// -void CMPXDbHandler::RemoveAbstractAlbumsWithNoSongL() - { - MPX_FUNC("CMPXDbHandler::RemoveAbstractAlbumsWithNoSongL"); - - BeginTransactionL(); - RArray iItemsIds; - CleanupClosePushL(iItemsIds); - //get all abstractalbum with no songs associated. - iDbAbstractAlbum->GetAllItemsWithNoSongL(iItemsIds); - TInt count = iItemsIds.Count(); - TInt err = KErrNone; - if (count) - { - MPX_DEBUG2("CMPXDbHandler::RemoveAbstractAlbumsWithNoSongL, abstractalbum count[%d] ", iItemsIds.Count()); - CMPXMessageArray* itemChangedMessages = CMPXMediaArray::NewL(); - CleanupStack::PushL(itemChangedMessages); - - //go through each one to delete - for (TInt i=0; i< count; i++) - { - TRAP(err, RemoveAbstractAlbumL(iItemsIds[i], *itemChangedMessages, EFalse)); - if (err != KErrNone) - { - MPX_DEBUG2("CMPXDbHandler::RemoveAbstractAlbumsWithNoSongL, error happens when delete abstractalbum, err ", err); - } - } - CleanupStack::PopAndDestroy(itemChangedMessages); - } - CleanupStack::PopAndDestroy(&iItemsIds); - EndTransactionL(err); - } - -// ---------------------------------------------------------------------------- -// Remove .alb entry from AbstractAlnum table, TN table if .alb files deleted -// from file manager when refresh library -// ---------------------------------------------------------------------------- -// -void CMPXDbHandler::AbstractAlbumCleanUpL() - { - MPX_FUNC("CMPXDbHandler::AbstractAlbumCleanUpL"); - RArray attributes; - CleanupClosePushL(attributes); - attributes.AppendL(KMPXMediaGeneralUri); - CMPXMediaArray* mediaArray = CMPXMediaArray::NewL(); - CleanupStack::PushL(mediaArray); - - iDbAbstractAlbum->GetAllCategoryItemsL(attributes.Array(), *mediaArray); - - TInt count(mediaArray->Count()); - if (count) - { - CMPXMessageArray* itemChangedMessages = CMPXMediaArray::NewL(); - CleanupStack::PushL(itemChangedMessages); - for (TInt i = 0; i < count; i++) - { - CMPXMedia* element = mediaArray->AtL(i); - const TDesC& uri = element->ValueText(KMPXMediaGeneralUri); - - //check if the file exists in file system - if (!(BaflUtils::FileExists(iFs, uri))) - { - //generate abstractalbum UID with the Uri - TUint32 abstractAlbumId(MPXDbCommonUtil::GenerateUniqueIdL(iFs, EMPXAbstractAlbum, uri, EFalse)); - RemoveAbstractAlbumL(abstractAlbumId, *itemChangedMessages, ETrue); - } - } - CleanupStack::PopAndDestroy(itemChangedMessages); - } - CleanupStack::PopAndDestroy(mediaArray); - CleanupStack::PopAndDestroy(&attributes); - } -#endif //ABSTRACTAUDIOALBUM_INCLUDED // ---------------------------------------------------------------------------- // CMPXDbHandler::DoCleanupDeletedRecordsL @@ -2891,22 +2841,6 @@ // append the drive to the drive list iDbDrives.AppendL(driveUnit); - - // make sure the folder is created - TVolumeInfo info; - if (iFs.Volume(info, driveUnit) == KErrNone) - { - if (!BaflUtils::PathExists(iFs, folder)) - { - // create music folder if necessary - TInt err(iFs.MkDirAll(folder)); - MPX_DEBUG3("Try to create music folder %S return code %d", &folder, err); - if (err != KErrAlreadyExists) - { - User::LeaveIfError(err); - } - } - } } } @@ -3182,7 +3116,7 @@ TUint32 CMPXDbHandler::AddCategoryItemL( TMPXGeneralCategory aCategory, const TDesC& aName, - TUint32 aArtist, + const TDesC& aArtistName, const TDesC& aArt, TInt aDriveId, CMPXMessageArray* aItemChangedMessages, @@ -3195,9 +3129,9 @@ TBool newRecord(EFalse); TUint32 id = 0; - if ( aArtist ) + if(aCategory == EMPXAlbum) { - id = iDbAlbum->AddItemL(aName, aArtist, aArt, aDriveId, newRecord, (aCategory != EMPXGenre)); + id = iDbAlbum->AddItemL(aName, aArtistName, aArt, aDriveId, newRecord, (aCategory != EMPXGenre)); } else { @@ -3355,9 +3289,25 @@ return iDbArtist->IsUnknownArtistL(aArtistId); } -TUint32 CMPXDbHandler::HandleArtistForAlbumL(const TUint32 aAlbumId) +// --------------------------------------------------------------------------- +// CMPXDbHandler::HandleArtistForAlbumL +// --------------------------------------------------------------------------- +// +HBufC* CMPXDbHandler::HandleArtistForAlbumL(const TUint32 aAlbumId) { - return iDbMusic->ArtistForAlbumL(aAlbumId); + + TUint32 artistId = iDbMusic->ArtistForAlbumL(aAlbumId); + HBufC* artistname = GetNameMatchingIdL(artistId); + return artistname; + } + +// --------------------------------------------------------------------------- +// CMPXDbHandler::HandleAlbumartForAlbumL +// --------------------------------------------------------------------------- +// +HBufC* CMPXDbHandler::HandleAlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt) + { + return iDbMusic->AlbumartForAlbumL(aAlbumId, aArt); } #ifdef ABSTRACTAUDIOALBUM_INCLUDED // ---------------------------------------------------------------------------------------------------------- diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbmusic.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbmusic.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbmusic.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -56,6 +56,7 @@ _LIT( KAbstractAlbumExt, ".alb" ); #endif // ABSTRACTAUDIOALBUM_INCLUDED +const TInt KAllSongsQueryResultGranularity = 250; // ============================ MEMBER FUNCTIONS ============================== @@ -99,6 +100,7 @@ { MPX_FUNC("CMPXDbMusic::~CMPXDbMusic"); delete iExtensionsDrm; + iAllSongsQueryResult.ResetAndDestroy(); } // ---------------------------------------------------------------------------- @@ -113,6 +115,7 @@ #ifdef ABSTRACTAUDIOALBUM_INCLUDED ,iArtNeedUpdated(ETrue) #endif + ,iAllSongsQueryResult(KAllSongsQueryResultGranularity) { MPX_FUNC("CMPXDbMusic::CMPXDbMusic"); } @@ -448,7 +451,8 @@ #ifdef ABSTRACTAUDIOALBUM_INCLUDED TUint32& aAbstractAlbumId, #endif // ABSTRACTAUDIOALBUM_INCLUDED - TInt& aDriveId) + TInt& aDriveId, + HBufC*& aArt) { MPX_FUNC("CMPXDbMusic::GetSongInfoL"); @@ -469,6 +473,7 @@ #ifdef ABSTRACTAUDIOALBUM_INCLUDED aAbstractAlbumId = recordset.ColumnInt64(EMusicAbstractAlbum); #endif // ABSTRACTAUDIOALBUM_INCLUDED + aArt = MPXDbCommonUtil::GetColumnTextL(recordset, EMusicArt).AllocL(); HBufC* uri = ConstructUriL(recordset, aSongId); CleanupStack::PopAndDestroy(&recordset); @@ -680,11 +685,51 @@ { MPX_FUNC("CMPXDbMusic::GetAllSongsLimitedL"); - // Gets a subset of the data from all songs ordered by title - HBufC* query = HBufC::NewLC( KQueryMusicGetSongsLimited().Length() + KMCIntegerLen ); - query->Des().Format( KQueryMusicGetSongsLimited, aLimit ); - ExecuteMediaQueryL(aAttrs, aMediaArray, *query); - CleanupStack::PopAndDestroy( query ); + // Reset and create a cache for the query results. + if (iAllSongsQueryResult.Count()) + { + iAllSongsQueryResult.ResetAndDestroy(); + } + + ExecuteQueryAllSongsL(aAttrs); + + TInt limit = aLimit > iAllSongsQueryResult.Count() ? + iAllSongsQueryResult.Count() : aLimit; + + for ( TInt i=0; i < limit; i++ ) + { + CMPXMedia* m = iAllSongsQueryResult[i]; + aMediaArray.AppendL(*m); + } + } + +// ---------------------------------------------------------------------------- +// CMPXDbMusic::ExecuteQueryAllSongsL +// ---------------------------------------------------------------------------- +// +void CMPXDbMusic::ExecuteQueryAllSongsL(const TArray& aAttrs) + { + // Run query and add result media objects to the cache array. + MPX_FUNC("CMPXDbMusic::ExecuteQueryAllSongsL"); + + RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(KQueryMusicGetAllSongs)); + CleanupClosePushL(recordset); + + TInt err(KErrNone); + while ((err = recordset.Next()) == KSqlAtRow) + { + CMPXMedia* media = CMPXMedia::NewL(); + CleanupStack::PushL(media); + UpdateMediaL(recordset, aAttrs, *media); + iAllSongsQueryResult.AppendL(media); + CleanupStack::Pop(media); + } + + CleanupStack::PopAndDestroy(&recordset); + if (err!= KSqlAtEnd) + { + User::Leave(KErrCorrupt); + } } // ---------------------------------------------------------------------------- @@ -721,12 +766,23 @@ TInt aOffset, TInt aCount ) { - MPX_DEBUG1("CMPXDbMusic::GetSongsAtOffsetL <--"); + MPX_DEBUG3("CMPXDbMusic::GetSongsAtOffsetL offset[%d], count[%d]", aOffset, aCount); + + if ( !iAllSongsQueryResult.Count() ) + { + // If there's no cache, create a cache for the query results. + ExecuteQueryAllSongsL(aAttrs); + } - ExecuteMediaQueryL(aAttrs, aMediaArray, KQueryMusicGetSongsAtOffset, - aCount, aOffset, EOffSetQuery ); - - MPX_DEBUG1("CMPXDbMusic::GetSongsAtOffsetL() -->"); + TInt limit = aOffset + aCount > iAllSongsQueryResult.Count() ? + iAllSongsQueryResult.Count() : aOffset + aCount; + for ( TInt i = aOffset; i < limit; i++ ) + { + CMPXMedia* m = iAllSongsQueryResult[i]; + aMediaArray.AppendL(*m); + } + + MPX_DEBUG1("CMPXDbMusic::GetSongsAtOffsetL() -->"); } // ---------------------------------------------------------------------------- @@ -1063,6 +1119,30 @@ } // ---------------------------------------------------------------------------- +// CMPXDbMusic::AlbumartForAlbumL +// ---------------------------------------------------------------------------- +// +HBufC* CMPXDbMusic::AlbumartForAlbumL(const TUint32 aAlbumId, TPtrC aArt) + { + MPX_FUNC("CMPXDbMusic::AlbumartForAlbumL"); + RSqlStatement recordset(iDbManager.ExecuteSelectQueryL(KQueryMusicGetAlbumartForAlbum, aAlbumId)); + HBufC* albumart(NULL); + + CleanupClosePushL(recordset); + while ( recordset.Next() == KSqlAtRow ) + { + TPtrC art(MPXDbCommonUtil::GetColumnTextL(recordset, KMPXTableDefaultIndex)); + if (art.Length()>0 && art.Compare(KNullDesC)!=0 && art.CompareF(aArt)!=0 ) + { + albumart = art.AllocL(); + break; + } + } + + CleanupStack::PopAndDestroy(&recordset); + return albumart; + } +// ---------------------------------------------------------------------------- // CMPXDbMusic::SongExistsL // ---------------------------------------------------------------------------- // @@ -2055,19 +2135,17 @@ // update the artist field TUint32 id(0); - TUint32 artistIdForAlbum(artistId); if (UpdateCategoryFieldL(EMPXArtist, aMedia, KMPXMediaMusicArtist, artistId, - aDrive, aItemChangedMessages, id, 0)) + aDrive, aItemChangedMessages, id)) { MPXDbCommonUtil::AppendValueL(aFields, aValues, KMCMusicArtist, id); metaDataModified = (aMusicTable != NULL); visibleChange = CMPXDbActiveTask::EAllVisible; - artistIdForAlbum = id; } // update the album field if (UpdateCategoryFieldL(EMPXAlbum, aMedia, KMPXMediaMusicAlbum, albumId, - aDrive, aItemChangedMessages, id, artistIdForAlbum)) + aDrive, aItemChangedMessages, id)) { MPXDbCommonUtil::AppendValueL(aFields, aValues, KMCMusicAlbum, id); metaDataModified = (aMusicTable != NULL); @@ -2462,6 +2540,25 @@ } else #endif // ABSTRACTAUDIOALBUM_INCLUDED + if (aCategory == EMPXArtist || aCategory == EMPXAlbum) + { + TPtrC art(KNullDesC); + TPtrC artistname(KNullDesC); + + if (aMedia.IsSupported(KMPXMediaMusicAlbumArtFileName)) + { + art.Set(aMedia.ValueText(KMPXMediaMusicAlbumArtFileName).Left(KMCMaxTextLen)); + } + if (aCategory == EMPXAlbum) + { + if (aMedia.IsSupported(KMPXMediaMusicArtist)) + { + artistname.Set(aMedia.ValueText(KMPXMediaMusicArtist).Left(KMCMaxTextLen)); + } + } + iObserver.AddCategoryItemL(aCategory, name, artistname, art, aDriveId, aItemChangedMessages, itemAdded); + } + else { // ignore the return value iObserver.AddCategoryItemL(aCategory, name, aDriveId, @@ -2497,8 +2594,27 @@ } else #endif // ABSTRACTAUDIOALBUM_INCLUDED - { - // ignore the return value + if (aCategory == EMPXArtist || aCategory == EMPXAlbum) + { + TPtrC art(KNullDesC); + TPtrC artistname(KNullDesC); + if (aMedia.IsSupported(KMPXMediaMusicAlbumArtFileName)) + { + art.Set(aMedia.ValueText(KMPXMediaMusicAlbumArtFileName).Left(KMCMaxTextLen)); + } + if (aCategory == EMPXAlbum) + { + if (aMedia.IsSupported(KMPXMediaMusicArtist)) + { + artistname.Set(aMedia.ValueText(KMPXMediaMusicArtist).Left(KMCMaxTextLen)); + } + } + iObserver.AddCategoryItemL(aCategory, KNullDesC, artistname, art, aDriveId, + aItemChangedMessages, itemAdded); + } + else + { + // ignore the return value iObserver.AddCategoryItemL(aCategory, KNullDesC, aDriveId, aItemChangedMessages, itemAdded); } @@ -2569,132 +2685,7 @@ return updated; } -TBool CMPXDbMusic::UpdateCategoryFieldL( - TMPXGeneralCategory aCategory, - const CMPXMedia& aMedia, - const TMPXAttribute& aAttribute, - TUint32 aOldId, - TInt aDriveId, - CMPXMessageArray* aItemChangedMessages, - TUint32& aItemId, - TUint32 aArtistId) - { - TBool updated(EFalse); - TBool itemNotRemoved( EFalse ); - TBool itemAdded( EFalse ); - // update category table and add category Id to the music table - if (!aOldId || aMedia.IsSupported(aAttribute)) - { - TInt changeMsgCount( 0 ); - if( aItemChangedMessages ) - { - changeMsgCount = aItemChangedMessages->Count(); - } - - if (aMedia.IsSupported(aAttribute)) - { - TPtrC name(aMedia.ValueText(aAttribute).Left(KMCMaxTextLen)); - - // construct the new ID for the category record - // only genre is not case sensitive - aItemId = MPXDbCommonUtil::GenerateUniqueIdL(iDbManager.Fs(), aCategory, - name, (aCategory != EMPXGenre)); - if (!aOldId || (aOldId != aItemId)) - { - // only add if the ID changed, - // otherwise the song was updated but the artist name was not - TPtrC art(KNullDesC); - if (aMedia.IsSupported(KMPXMediaMusicAlbumArtFileName)) - { - art.Set(aMedia.ValueText(KMPXMediaMusicAlbumArtFileName).Left(KMCMaxTextLen)); - } - - iObserver.AddCategoryItemL(aCategory, name, aArtistId, art, aDriveId, aItemChangedMessages, itemAdded); - updated = ETrue; - } - } - else - { - // only genre is not case sensitive - aItemId = MPXDbCommonUtil::GenerateUniqueIdL(iDbManager.Fs(), aCategory, KNullDesC, - (aCategory != EMPXGenre)); - if (!aOldId || (aOldId != aItemId)) - { - TPtrC art(KNullDesC); - if (aMedia.IsSupported(KMPXMediaMusicAlbumArtFileName)) - { - art.Set(aMedia.ValueText(KMPXMediaMusicAlbumArtFileName).Left(KMCMaxTextLen)); - } - - iObserver.AddCategoryItemL(aCategory, KNullDesC, aArtistId, art, aDriveId, - aItemChangedMessages, itemAdded); - updated = ETrue; - } - } - - if (aOldId && (aOldId != aItemId)) - { - iObserver.DeleteSongForCategoryL(aCategory, aOldId, aDriveId, - aItemChangedMessages, itemNotRemoved); - updated = ETrue; - } - - // Special case where the item(s) has been renamed. - // In this case, a new category is created +1 change msg - // a old category is removed +1 change msg - // We merge these 2 change messages into one using the deprecated ID - // - if( aItemChangedMessages ) - { - TInt newChangeMsgCount( aItemChangedMessages->Count() ); - if( newChangeMsgCount - changeMsgCount > 0 ) - { - TInt oldId = KErrNotFound; - TInt newId = KErrNotFound; - for( TInt i=0; i(KMPXMessageMediaGeneralId); - TMPXChangeEventType changeType = msg.ValueTObjectL(KMPXMessageChangeEventType); - - // Look for the added and deleted category IDs - // - if( id == aOldId && changeType == EMPXItemDeleted ) - { - oldId = i; - } - else if( id == aItemId && changeType == EMPXItemInserted ) - { - newId = i; - } - } - - if( oldId != KErrNotFound && - newId != KErrNotFound ) - { - aItemChangedMessages->Remove(oldId); // category removed - aItemChangedMessages->Remove(newId); // category added - MPXDbCommonUtil::AddItemChangedMessageL(*aItemChangedMessages, aItemId, EMPXItemModified, - aCategory, KDBPluginUid, aOldId ); - } - else if ( oldId !=KErrNotFound && itemAdded ) // old item removed, new item already exist - { - MPXDbCommonUtil::AddItemChangedMessageL(*aItemChangedMessages, aItemId, EMPXItemModified, - aCategory, KDBPluginUid, aOldId ); - } - else if ( newId !=KErrNotFound && itemNotRemoved ) // new item added, old item still exist - { - MPXDbCommonUtil::AddItemChangedMessageL(*aItemChangedMessages, aOldId, EMPXItemModified, - aCategory, KDBPluginUid, aItemId ); - } - } - } - } - - return updated; - } // ---------------------------------------------------------------------------- // CMPXDbMusic::ExtraFieldsRequired // ---------------------------------------------------------------------------- diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbplugin.cpp --- a/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbplugin.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitedbhgplugin/src/mpxdbplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -145,7 +146,20 @@ iDbHandler = CMPXDbHandler::NewL(iFs, *iResource); iMusicLibraryMenuTitles = iResource->ReadMenuArrayL(R_MC_MENU_ITEMS_ARRAY, iMusicLibraryMenuIds); iMusicLibraryTitles = iResource->ReadMenuArrayL(R_MC_TITLE_ITEMS_ARRAY, iMusicLibraryMenuIds ); - iAllSongsForArtistTitle = iResource->ReadHBufCL(R_MC_ALL_SONGS_FOR_ARTIST); + + // Localization using QT + TBool result = HbTextResolverSymbian::Init(KMPXMusicPlayerTsFile, KMPXMusicPlayerTsPath); + if ( result ) + { + iAllSongsForArtistTitle = HbTextResolverSymbian::LoadL( _L("txt_mus_dblist_all_songs") ); + } + else + { + // error initializing HbTextResolverSymbian, use logical string. + MPX_DEBUG1("CMPXDbPlugin::ConstructL - HbTextResolverSymbian::Init() Failed."); + TBufC<50> buf( _L("txt_mus_dblist_all_songs") ); + iAllSongsForArtistTitle = buf.AllocL(); + } #ifdef __ENABLE_MUSIC_TEXT_ALIGNMENT iMusicMenuTitle = iResource->ReadHBufCL(R_MPX_QTN_MP_TITLE_MY_MUSIC_MENU_NSERIES); @@ -410,7 +424,6 @@ case EMcRefreshEnded: { MPX_DEBUG1("CMPXDbPlugin::CommandL - EMcRefreshEnded"); - iDbHandler->CheckDiskSpaceOnDrivesL(); // ask the handler to finalize the transaction iDbHandler->RefreshEndL(); iRefreshing=EFalse; @@ -442,7 +455,6 @@ iDbHandler->MtpStartL(); break; case EMcCmdMtpEnd: - iDbHandler->CheckDiskSpaceOnDrivesL(); iMtpInUse = EFalse; iDbHandler->MtpEndL(); break; @@ -894,6 +906,7 @@ } case EBrowseAlbum: + case EBrowseAlbumMediaWall: { if( iAllSongsValid ) { @@ -1259,8 +1272,15 @@ case 2: { MPX_PERF_START(CMPXDbPlugin_DoOpenBrowseAlbumL_All); - - TRAPD(err, iDbHandler->GetAllAlbumsL(aAttrs, aArray) ); + TInt err = 0; + if( aPath.Id(1).iId2 == EBrowseAlbumMediaWall ) + { + TRAP(err, iDbHandler->GetAllAlbumsMediaWallL(aAttrs, aArray) ); + } + else + { + TRAP(err, iDbHandler->GetAllAlbumsL(aAttrs, aArray) ); + } // in error case, return empty list and append empty id to path // in order to increase one level if ( err != KErrNone ) @@ -4059,12 +4079,13 @@ TInt numItems = aCmd.ValueTObjectL( KMPXCollectionCommandIdIncOpenLNumItems ); TReadDirection direction(EReadUnknown); +/* Ascending and Decending reads are currently not used. We optimized for offset reads. if( aCmd.IsSupported(KMPXCollectionCommandIdIncOpenLAscDsc) && aCmd.IsSupported(KMPXCollectionCommandIdIncOpenLKeyItem) ) { direction = aCmd.ValueTObjectL(KMPXCollectionCommandIdIncOpenLAscDsc); } - +*/ CMPXCollectionPath* path = aCmd.ValueCObjectL(KMPXCollectionCommandIdIncOpenLPath); CleanupStack::PushL( path ); MPX_DEBUG_PATH( *path ); @@ -4339,6 +4360,7 @@ break; } case EBrowseAlbum: + case EBrowseAlbumMediaWall: { aAttrs.AppendL( TMPXAttribute(KMPXMediaIdMusic, EMPXMediaMusicArtist | EMPXMediaMusicAlbum | EMPXMediaMusicAlbumArtFileName ) ); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpserviceplugins/mpxsqlitepodcastdbplugin/inc/mpxpodcastcollectiondbdef.h --- a/mpserviceplugins/mpxsqlitepodcastdbplugin/inc/mpxpodcastcollectiondbdef.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpserviceplugins/mpxsqlitepodcastdbplugin/inc/mpxpodcastcollectiondbdef.h Thu Jul 22 16:32:33 2010 +0100 @@ -27,7 +27,7 @@ // Db filename _LIT(KMCDbFile, "pcv6_1.db"); - +_LIT(KMCDbFileEMMC, "pcv6_1i.db"); // Collection Db resource file _LIT(KMPXCollectionDbResourceFile, "PCRes.rsc"); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainer.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainer.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainer.h Thu Jul 22 16:32:33 2010 +0100 @@ -47,6 +47,13 @@ void itemActivated( int index ); void itemLongPressed( int index, const QPointF &coords ); + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex ); + void shuffleEnabled( bool enabled ); + +public slots: + + virtual void dataReloaded() = 0; protected: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontaineralbums.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontaineralbums.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontaineralbums.h Thu Jul 22 16:32:33 2010 +0100 @@ -21,6 +21,8 @@ #include "mpcollectionlistcontainer.h" class HbGroupBox; +class HgMediawall; +class MpCollectionTBoneListDataModel; class MpCollectionContainerAlbums : public MpCollectionListContainer { @@ -31,9 +33,16 @@ explicit MpCollectionContainerAlbums( HbDocumentLoader *loader, QGraphicsItem *parent=0 ); virtual ~MpCollectionContainerAlbums(); + void setDataModel( MpCollectionDataModel *dataModel ); + public slots: void itemActivated( const QModelIndex &index ); + void albumCentered(); + void dataReloaded(); + void albumDataChanged(); + void scrollingStarted(); + void albumDataAvailable(); private: @@ -41,10 +50,10 @@ private: - HbGroupBox *mInfoBar; // Own - - QString mArtist; - QString mAlbum; + HbGroupBox *mInfoBar; // Own + HgMediawall *mTBone; // Own + MpCollectionTBoneListDataModel *mTBoneListModel; // Own + int mCurrentAlbumIndex; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h Thu Jul 22 16:32:33 2010 +0100 @@ -31,6 +31,10 @@ explicit MpCollectionContainerAllSongs( HbDocumentLoader *loader, QGraphicsItem *parent=0 ); virtual ~MpCollectionContainerAllSongs(); +public slots: + + void dataReloaded(); + private: void setupContainer(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerartists.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerartists.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerartists.h Thu Jul 22 16:32:33 2010 +0100 @@ -21,6 +21,8 @@ #include "mpcollectionlistcontainer.h" class HbGroupBox; +class HgMediawall; +class MpCollectionTBoneListDataModel; class MpCollectionContainerArtists : public MpCollectionListContainer { @@ -31,9 +33,16 @@ explicit MpCollectionContainerArtists( HbDocumentLoader *loader, QGraphicsItem *parent=0 ); virtual ~MpCollectionContainerArtists(); + void setDataModel( MpCollectionDataModel *dataModel ); + public slots: void itemActivated( const QModelIndex &index ); + void albumCentered(); + void dataReloaded(); + void albumDataChanged(); + void scrollingStarted(); + void albumDataAvailable(); private: @@ -41,10 +50,12 @@ private: - HbGroupBox *mInfoBar; // Own - - QString mArtist; - QString mAlbum; + HbGroupBox *mInfoBar; // Own + HgMediawall *mTBone; // Own + MpCollectionTBoneListDataModel *mTBoneListModel; // Own + int mCurrentArtistIndex; + int mCurrentAlbumIndex; + int mAlbumIndexOffset; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainergenres.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainergenres.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +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: Music Player collection container definition - Genres. -* -*/ - -#ifndef MPCOLLECTIONCONTAINERGENRES_H -#define MPCOLLECTIONCONTAINERGENRES_H - -#include "mpcollectionlistcontainer.h" - -class MpCollectionContainerGenres : public MpCollectionListContainer -{ - Q_OBJECT - -public: - - explicit MpCollectionContainerGenres( HbDocumentLoader *loader, QGraphicsItem *parent=0 ); - virtual ~MpCollectionContainerGenres(); - -private: - - void setupContainer(); - -}; - -#endif // MPCOLLECTIONCONTAINERGENRES_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h Thu Jul 22 16:32:33 2010 +0100 @@ -31,6 +31,13 @@ explicit MpCollectionContainerPlaylists( HbDocumentLoader *loader, QGraphicsItem *parent=0 ); virtual ~MpCollectionContainerPlaylists(); + void setDataModel( MpCollectionDataModel *dataModel ); + +public slots: + + void itemActivated( const QModelIndex &index ); + void dataReloaded(); + private: void setupContainer(); @@ -38,7 +45,8 @@ private: HbGroupBox *mInfoBar; // Own - + int mCurrentPlaylistIndex; + }; #endif // MPCOLLECTIONCONTAINERPLAYLISTS_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h Thu Jul 22 16:32:33 2010 +0100 @@ -40,14 +40,13 @@ virtual ~MpCollectionListContainer(); void initialize(); - void setDataModel( MpCollectionDataModel *dataModel ); - + virtual void setDataModel( MpCollectionDataModel *dataModel ); public slots: virtual void itemActivated( const QModelIndex &index ); virtual void onLongPressed(HbAbstractViewItem *listViewItem, const QPointF &coords); - + virtual void dataReloaded(); protected: @@ -60,6 +59,8 @@ HbListView *mList; HbLabel *mNoMusic; HbIndexFeedback *mIndexFeedback; + int mLongPressedIndex; + bool mLongPressEnabled; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectionpopuphandler.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionpopuphandler.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionpopuphandler.h Thu Jul 22 16:32:33 2010 +0100 @@ -19,6 +19,7 @@ #define MPCOLLECTIONPOPUPHANDLER_H #include +#include "mpmpxcollectionviewdefs.h" class MpCollectionView; class HbPopup; @@ -27,6 +28,7 @@ class QAbstractItemModel; class MpMpxCollectionData; class QPointF; +class MpPopupHandlerPermanentData; class MpCollectionPopupHandler : public QObject { @@ -41,13 +43,12 @@ void openRenamePlaylistContainerDialog( const QString ¤tName ); void openRenamePlaylistItemDialog( const QString ¤tName ); void openAddSongsToPlaylist( QAbstractItemModel* model ); + void openAddSongsToPlaylistFromTBone(); void openDeleteSongs( QAbstractItemModel* model ); void openAddToCurrentPlaylist( MpMpxCollectionData* collectionData ); void openCreateNewPlaylist( MpMpxCollectionData* collectionData ); - void openArrangeSongs( MpMpxCollectionData* collectionData ); - void cancelOngoingPopup(); - - bool showingPopup(); + void openArrangeSongs(); + void cancelOngoingPopup( bool onlyContextMenu ); public slots: //Context Menus @@ -67,6 +68,11 @@ void handleArrangeSongs( HbAction *selectedAction ); void handleRequestDelete( HbAction *selectedAction ); + //External Events + void handleDeleteStarted( TCollectionContext context, int count ); + void handleAddingSongs( int count ); + void handleOperationEnded( bool success ); + void outstandingPopupClosing(); private: @@ -76,29 +82,17 @@ void queryNewPlaylistName(const QStringList &playlists, const char *handler ); void getText(const QString &label, const QString &text, const char *handler ); void getModelIndexes( const QString &label, QAbstractItemModel* model, const char *handler ); - void launchArrangeSongsDialog( MpMpxCollectionData* collectionData ); + void launchArrangeSongsDialog(); void requestDelete( QList &selection ); + void launchProgressDialog( const char *id ); + void connectExternalEvents(); private: MpCollectionView *mView; // Not own HbPopup *mOutstandingPopup; // Own MpEngine *mMpEngine; // Not own - - class MpPopupHandlerPermanentData : public QObject - { - public: - MpPopupHandlerPermanentData( QObject *parent=0 ); - virtual ~MpPopupHandlerPermanentData(); - void clear(); - public: - MpMpxCollectionData *mIsolatedCollectionData; // Not own - QAbstractItemModel *mAbstractItemModel; // Own - QList mSelectedItems; - QString mOriginalName; - int mContextMenuIndex; - }; - MpPopupHandlerPermanentData *mPermanentData; // Own + bool mExternalEventsConnected; }; #endif // MPCOLLECTIONPOPUPHANDLER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h Thu Jul 22 16:32:33 2010 +0100 @@ -39,7 +39,6 @@ class MpNowPlayingWidget; class MpSnapshotWidget; class MpCollectionPopupHandler; -class QTranslator; class MpCollectionView : public MpViewBase { @@ -69,11 +68,12 @@ void openArtists(); void openAlbums(); void openPlaylists(); - void openGenres(); void find(); void openMusicStore(); void openIndex( int index ); + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex ); void back(); void exit(); @@ -83,7 +83,6 @@ void containerTransitionComplete( const HbEffect::EffectStatus &status ); void shufflePlayAll(); - void refreshLibrary(); void addToPlaylist(); void deleteSongs(); void renameCurrentPlaylistContainer(); @@ -101,13 +100,15 @@ void handleLibraryAboutToUpdate(); void handleLibraryUpdated(); + void setShuffleAction( bool enabled ); + private: void setMainToolBar(); void setPlaylistToolBar(); HbAction *createToolBarAction( QActionGroup *actionsGroup, - const QString& icon ); + const QString& icon, const QString& objectName ); void updateMenu(); void updateToolBar(); @@ -116,7 +117,7 @@ void setBannerVisibility( bool visible ); int generateShuffleIndex(); void startContainerTransition( TCollectionContext contextFrom, TCollectionContext contextTo ); - void cancelOngoingOperation(); + void closeActiveDialog( bool onlyContextMenu = false ); private: @@ -134,8 +135,10 @@ bool mBannerAttached; HbMainWindow *mWindow; // Not own - HbAction *mNavigationQuit; // Not own - HbAction *mNavigationBack; // Not own + HbAction *mSoftKeyQuit; // Not own + HbAction *mSoftKeyBack; // Not own + HbAction *mShuffleAction; // Not own + bool mShuffleEnabled; MpCollectionDocumentLoader *mDocumentLoader; // Own HbWidget *mMainContainer; // Own @@ -145,9 +148,6 @@ MpSnapshotWidget *mSnapshot; - QTranslator *mMpTranslator; // Own - QTranslator *mCommonTranslator; // Own - bool mActivationWaiting; MpCollectionPopupHandler *mMpPopupHandler; // Own diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpcollectionviewplugin.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionviewplugin.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionviewplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -19,7 +19,7 @@ #define MPCOLLECTIONVIEWPLUGIN_H -#include +#include #include class MpCollectionView; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/inc/mpsnapshotwidget.h --- a/mpviewplugins/mpcollectionviewplugin/inc/mpsnapshotwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/inc/mpsnapshotwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -19,7 +19,7 @@ #define MPSNAPSHOTWIDGET_H -#include +#include #include diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro --- a/mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,32 +14,47 @@ # Description: # -symbian:TARGET.UID3 = 0x10207C63 - TEMPLATE = lib CONFIG += hb qt ecomplugin TARGET = mpcollectionviewplugin +symbian: { + TARGET.UID3 = 0x10207C63 + TARGET.CAPABILITY = All -TCB + TARGET.EPOCALLOWDLLDATA = 1 +} SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0 SERVICE.CONFIGURATION = "0x101FFCA1

0x101FFC3A;0xE419BEEE

EMPXViewPluginPriorityNormal0x00000001" -TARGET.CAPABILITY = All -TCB - DEPENDPATH += . INCLUDEPATH += . \ - inc \ - ../../inc + inc \ + ../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) -LIBS += -lmpxviewframeworkqt.dll \ - -lmpnowplayingbanner.dll \ - -lmpsettingsmanager \ - -lmpengine \ - -lmpdata.dll +LIBS += -lmpxviewframeworkqt \ + -lganeswidgets \ + -lmpnowplayingbanner \ + -lmpsettingsmanager \ + -lmpengine \ + -lmpdata -symbian:TARGET.EPOCALLOWDLLDATA = 1 - # Input +HEADERS += ../../inc/mpviewbase.h \ + inc/mpcollectionviewplugin.h \ + inc/mpcollectionview.h \ + inc/mpcollectiondocumentloader.h \ + inc/mpcollectioncontainerfactory.h \ + inc/mpcollectioncontainer.h \ + inc/mpcollectionlistcontainer.h \ + inc/mpcollectioncontainerallsongs.h \ + inc/mpcollectioncontainerartists.h \ + inc/mpcollectioncontaineralbums.h \ + inc/mpcollectioncontainerplaylists.h \ + inc/mpsnapshotwidget.h \ + inc/mpcollectionpopuphandler.h + SOURCES += src/mpcollectionviewplugin.cpp \ src/mpcollectionview.cpp \ src/mpcollectiondocumentloader.cpp \ @@ -50,23 +65,8 @@ src/mpcollectioncontainerartists.cpp \ src/mpcollectioncontaineralbums.cpp \ src/mpcollectioncontainerplaylists.cpp \ - src/mpcollectioncontainergenres.cpp \ src/mpsnapshotwidget.cpp \ src/mpcollectionpopuphandler.cpp - -HEADERS = ../../inc/mpviewbase.h \ - inc/mpcollectionviewplugin.h \ - inc/mpcollectionview.h \ - inc/mpcollectiondocumentloader.h \ - inc/mpcollectioncontainerfactory.h \ - inc/mpcollectioncontainer.h \ - inc/mpcollectionlistcontainer.h \ - inc/mpcollectioncontainerallsongs.h \ - inc/mpcollectioncontainerartists.h \ - inc/mpcollectioncontaineralbums.h \ - inc/mpcollectioncontainerplaylists.h \ - inc/mpcollectioncontainergenres.h \ - inc/mpsnapshotwidget.h \ - inc/mpcollectionpopuphandler.h RESOURCES += resources/mpcollectionviewresources.qrc + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/effects_item_select.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/effects_item_select.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - - - -0.01 - -1.0 -1.2 - - -1.0 -1.2 - -0.5 -0.5 - -0.01 - -1.0 -0.5 - - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/effects_item_select_end.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/effects_item_select_end.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ - - - - - - -0.01 - -1.2 -1.0 - - -1.2 -1.0 - -0.5 -0.5 - -0.01 - -0.5 -1.0 - - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc --- a/mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc Thu Jul 22 16:32:33 2010 +0100 @@ -7,16 +7,5 @@ default_album.png - - - effects_item_select.fxml - effects_item_select_end.fxml - slide_out_to_top.fxml - slide_out_to_right.fxml - slide_out_to_left.fxml - slide_in_to_top_and_fade_in.fxml - slide_in_to_right_and_fade_in.fxml - slide_in_to_left_and_fade_in.fxml - - + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/musiccollection.docml --- a/mpviewplugins/mpcollectionviewplugin/resources/musiccollection.docml Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/resources/musiccollection.docml Thu Jul 22 16:32:33 2010 +0100 @@ -59,20 +59,57 @@ -
+
- + - +
+
+ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + +
+
@@ -85,16 +122,39 @@
-
+
- + + + + + + + + + + + + +
+ +
+ + - + + + + + + + - - + + +
diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_left_and_fade_in.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_left_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - .3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_right_and_fade_in.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_right_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - -.3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_top_and_fade_in.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_in_to_top_and_fade_in.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - .3 - 1 - - - - .6 - - 0.0 - 1.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_left.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_left.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - -0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_right.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_right.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - 0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_top.fxml --- a/mpviewplugins/mpcollectionviewplugin/resources/slide_out_to_top.fxml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - .6 - - 0.0 - 1.0 - 1 - -0.3 - - - - .6 - - 1.0 - 0.0 - - - - \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainer.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainer.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainer.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -46,12 +46,19 @@ */ /*! + \fn void albumCentered( int index ); + + This signal is emitted only when container contains hgmediawall T-Bone when album + with \a index is centered following a scrolling action. + */ + +/*! Constructs the collection container. */ MpCollectionContainer::MpCollectionContainer( HbDocumentLoader *loader, QGraphicsItem *parent ) : HbWidget(parent), mDocumentLoader(loader), - mCollectionContext(ECollectionContextUnknown) + mViewMode(MpCommon::DefaultView) { TX_LOG } @@ -66,6 +73,9 @@ /*! Sets the data model for the container. + Some of the containers are used for multiple contexts, i.e. Artist, Albums, Playlists. So, + setDataModel() is called multiple times to the same container object. We only want to connect + to dataReloaded() signal once or we'll receive multiple call backs. */ void MpCollectionContainer::setDataModel( MpCollectionDataModel *dataModel ) { @@ -73,6 +83,7 @@ mDataModel = dataModel; mCollectionData = mDataModel->collectionData(); mCollectionContext = mCollectionData->context(); + connect( dataModel, SIGNAL(dataReloaded()), this, SLOT(dataReloaded()), Qt::UniqueConnection ); setupContainer(); TX_EXIT diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontaineralbums.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontaineralbums.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontaineralbums.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -22,8 +22,12 @@ #include #include +#include + #include "mpcollectioncontaineralbums.h" #include "mpmpxcollectiondata.h" +#include "mpcollectiondatamodel.h" +#include "mpcollectiontbonelistdatamodel.h" #include "mptrace.h" /*! @@ -36,7 +40,7 @@ This container handles the following contexts: \li ECollectionContextAlbums - \li ECollectionContextAlbumSongs + \li ECollectionContextAlbumsTBone \sa MpCollectionContainer */ @@ -46,9 +50,13 @@ */ MpCollectionContainerAlbums::MpCollectionContainerAlbums( HbDocumentLoader *loader, QGraphicsItem *parent ) : MpCollectionListContainer(loader, parent), - mInfoBar(0) + mInfoBar(0), + mTBone(0), + mTBoneListModel(0), + mCurrentAlbumIndex(0) { TX_LOG + mCollectionContext = ECollectionContextAlbums; } /*! @@ -57,30 +65,178 @@ MpCollectionContainerAlbums::~MpCollectionContainerAlbums() { TX_ENTRY - delete mInfoBar; + delete mInfoBar; + delete mTBone; delete mList; + delete mTBoneListModel; + TX_EXIT +} + +/*! + Sets the data model for the container. + */ +void MpCollectionContainerAlbums::setDataModel( MpCollectionDataModel *dataModel ) +{ + TX_ENTRY + MpCollectionContainer::setDataModel(dataModel); + if ( mCollectionContext == ECollectionContextAlbums ) { + if ( mList ) { + mList->setModel(dataModel); + if ( mCollectionData->count() ) { + mList->scrollTo( dataModel->index(mCurrentAlbumIndex, 0) ); + } + } + } + else if ( mCollectionContext == ECollectionContextAlbumsTBone ) { + if ( mTBone ) { + mTBone->setModel(dataModel); + mTBone->scrollTo( dataModel->index(mCurrentAlbumIndex, 0) ); + if ( mTBoneListModel == 0 ) { + mTBoneListModel = new MpCollectionTBoneListDataModel(mCollectionData); + connect( mTBoneListModel, SIGNAL(albumDataChanged()), this, SLOT(albumDataChanged()) ); + connect( mTBoneListModel, SIGNAL(albumDataAvailable()), this, SLOT(albumDataAvailable()) ); + } + mList->setModel(mTBoneListModel); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + else { + emit shuffleEnabled(false); + } + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); + emit shuffleEnabled(false); + } + } + } TX_EXIT } /*! Slot to be called when an item is selected by the user. - */ +*/ void MpCollectionContainerAlbums::itemActivated( const QModelIndex &index ) { - int row = index.row(); - TX_ENTRY_ARGS("index=" << row); + if ( mCollectionContext == ECollectionContextAlbums ) { + mCurrentAlbumIndex = index.row(); + TX_ENTRY_ARGS("mCurrentAlbumIndex=" << mCurrentAlbumIndex); + MpCollectionListContainer::itemActivated(index); + } + else if ( mCollectionContext == ECollectionContextAlbumsTBone ) { + int row = index.row(); + TX_ENTRY_ARGS("index=" << row); + if ( mViewMode == MpCommon::FetchView ) { + MpCollectionListContainer::itemActivated(index); + } + else { + emit playAlbumSongs(mCurrentAlbumIndex, row); + } + } + TX_EXIT +} - mAlbum = mCollectionData->itemData(row, MpMpxCollectionData::Title); - if ( mAlbum.isEmpty() ) { - mAlbum = hbTrId("txt_mus_dblist_val_unknown3"); +/*! + Slot to be called when scrolling ends in media wall and an album is centered. + */ +void MpCollectionContainerAlbums::albumCentered() +{ + TX_ENTRY + QModelIndex index = mTBone->currentIndex(); + if ( mCurrentAlbumIndex != index.row() ) { + // Prevent reloading if user just moves the center album a little + // and the same album re-centers. + mCurrentAlbumIndex = index.row(); + TX_LOG_ARGS("mCurrentAlbumIndex=" << mCurrentAlbumIndex); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); + } + } + else { + // Landed on the same album. Just update menu. + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; } + TX_EXIT +} - mArtist = mCollectionData->itemData(row, MpMpxCollectionData::Artist); - if ( mArtist.isEmpty() ) { - mArtist = hbTrId("txt_mus_subtitle_unknown"); +/*! + Slot to be called data model has new data. + Two cases: + 1) User deleted an album. + 2) User deleted last song in an album. + */ +void MpCollectionContainerAlbums::dataReloaded() +{ + TX_ENTRY + if ( mCollectionContext == ECollectionContextAlbumsTBone ) { + if ( mCurrentAlbumIndex > 0 ) { + --mCurrentAlbumIndex; + } + mTBone->scrollTo( mDataModel->index(mCurrentAlbumIndex, 0) ); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() == 1 ) { + emit shuffleEnabled(false); + } + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); + } + } + else { + MpCollectionListContainer::dataReloaded(); } + TX_EXIT +} - MpCollectionListContainer::itemActivated(index); +/*! + Slot to be called data model has new data. + User has deleted one of the songs from TBone list. + */ +void MpCollectionContainerAlbums::albumDataChanged() +{ + TX_ENTRY + emit findAlbumSongs(mCurrentAlbumIndex); + emit shuffleEnabled(false); + TX_EXIT +} + +/*! + Slot to be called TBone starts scrolling. + */ +void MpCollectionContainerAlbums::scrollingStarted() +{ + TX_ENTRY + // Disable shuffle action from the menu + emit shuffleEnabled(false); + // Disable context menu + mLongPressEnabled = false; + TX_EXIT +} + +/*! + Slot to be called album data is available. This is a result of findAlbumSongs signal. + */ +void MpCollectionContainerAlbums::albumDataAvailable() +{ + TX_ENTRY + int count = mCollectionData->albumSongsCount(); + if ( count > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; TX_EXIT } @@ -111,35 +267,52 @@ delete mInfoBar; mInfoBar = 0; } - } - else if ( mCollectionContext == ECollectionContextAlbumSongs ) { - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "albumSongs", &ok); - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file"); + if ( mTBone ) { + delete mTBone; + mTBone = 0; } - - widget = mDocumentLoader->findWidget(QString("albumSongsDetail")); - mInfoBar = qobject_cast(widget); - - QString details; + } + else if ( mCollectionContext == ECollectionContextAlbumsTBone ) { if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "albumTBoneFetcher", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file"); + } + widget = mDocumentLoader->findWidget(QString("albumTBoneDetail")); + mInfoBar = qobject_cast(widget); + mInfoBar->setHeading( hbTrId("txt_mus_subtitle_select_a_song") ); } else { - details = mArtist; - details.append(" : "); - details.append(mAlbum); + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "albumTBone", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file"); + } } - mInfoBar->setHeading(details); + widget = mDocumentLoader->findWidget(QString("albumWall")); + mTBone = qobject_cast(widget); + HbIcon defaultIcon( "qtg_large_album_art" ); + defaultIcon.setSize(mTBone->itemSize()); + mTBone->setDefaultImage( defaultIcon.pixmap().toImage() ); + mTBone->setTitleFontSpec( HbFontSpec(HbFontSpec::Primary) ); + mTBone->setDescriptionFontSpec( HbFontSpec(HbFontSpec::Secondary) ); + mTBone->setScrollBarPolicy( HgWidget::ScrollBarAlwaysOff ); + mTBone->enableReflections(true); + connect( mTBone, SIGNAL(scrollingStarted()), this, SLOT(scrollingStarted()) ); + connect( mTBone, SIGNAL(scrollingEnded()), this, SLOT(albumCentered()) ); } } else { + // Must delete widgets when last song is deleted and view is reloaded. if ( mInfoBar ) { - // When last song in an album is deleted and album list is reloaded delete mInfoBar; mInfoBar = 0; } + if ( mTBone ) { + delete mTBone; + mTBone = 0; + } // Call empty list from base class setupEmptyListContainer(); } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -45,6 +45,7 @@ mInfoBar(0) { TX_LOG + mCollectionContext = ECollectionContextAllSongs; } /*! @@ -59,6 +60,30 @@ } /*! + Slot to be called data model has new data. + Two cases: + 1) User deleted a song. + 2) New song found during 'Refresh' operation. + */ +void MpCollectionContainerAllSongs::dataReloaded() +{ + TX_ENTRY + MpCollectionListContainer::dataReloaded(); + if ( mViewMode != MpCommon::FetchView ) { + int count = mCollectionData->count(); + QString details = hbTrId("txt_mus_subhead_ln_songs", count); + mInfoBar->setHeading(details); + } + if ( mCollectionData->count() > 1 ) { + emit shuffleEnabled(true); + } + else { + emit shuffleEnabled(false); + } + TX_EXIT +} + +/*! Sets up the container by organizing widgets according to its layout. \reimp @@ -84,7 +109,7 @@ QString details; if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; + details = hbTrId("txt_mus_subtitle_select_a_song"); } else { int count = mCollectionData->count(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerartists.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerartists.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerartists.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -22,8 +22,12 @@ #include #include +#include + #include "mpcollectioncontainerartists.h" #include "mpmpxcollectiondata.h" +#include "mpcollectiondatamodel.h" +#include "mpcollectiontbonelistdatamodel.h" #include "mptrace.h" /*! @@ -37,8 +41,9 @@ This container handles the following contexts: \li ECollectionContextArtists \li ECollectionContextArtistAlbums - \li ECollectionContextArtistSongs - + \li ECollectionContextArtistAlbumsTBone + \li ECollectionContextArtistAllSongs + \sa MpCollectionContainer */ @@ -47,9 +52,14 @@ */ MpCollectionContainerArtists::MpCollectionContainerArtists( HbDocumentLoader *loader, QGraphicsItem *parent ) : MpCollectionListContainer(loader, parent), - mInfoBar(0) + mInfoBar(0), + mTBone(0), + mTBoneListModel(0), + mCurrentArtistIndex(0), + mCurrentAlbumIndex(0) { TX_LOG + mCollectionContext = ECollectionContextArtists; } /*! @@ -59,7 +69,98 @@ { TX_ENTRY delete mInfoBar; + delete mTBone; delete mList; + delete mTBoneListModel; + TX_EXIT +} + +/*! + Sets the data model for the container. + */ +void MpCollectionContainerArtists::setDataModel( MpCollectionDataModel *dataModel ) +{ + TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext); + MpCollectionContainer::setDataModel(dataModel); + int count = mCollectionData->count(); + switch ( mCollectionContext ) { + case ECollectionContextArtists: + if ( mList ) { + mList->setModel(dataModel); + if ( count ) { + if ( mCurrentArtistIndex >= count ) { + // This can happen if the last item is deleted + mCurrentArtistIndex = count - 1; + } + mList->scrollTo( dataModel->index(mCurrentArtistIndex, 0) ); + } + // Reset the current album index for navigation: + // ECollectionContextArtistAlbums -> ECollectionContextArtists + mCurrentAlbumIndex = 0; + } + break; + case ECollectionContextArtistAlbums: + if ( mList ) { + mList->setModel(dataModel); + if ( count ) { + if ( mCurrentAlbumIndex >= count ) { + // This can happen if the last item is deleted + mCurrentAlbumIndex = count - 1; + } + mList->scrollTo( dataModel->index(mCurrentAlbumIndex, 0) ); + } + // Reset the album index offset for navigation: + // ECollectionContextArtistAlbumsTBone -> ECollectionContextArtistAlbums + mAlbumIndexOffset = 0; + } + break; + case ECollectionContextArtistAlbumsTBone: + if ( mTBone ) { + if ( count > 1 ) { + // Selected artist has more than 1 album and therefore the + // artist's "All songs" exist. Since we don't show artist's + // "All songs" in TBone, we need to set an offset. + mAlbumIndexOffset = 1; + } + else { + // Selected artist has exactly 1 album and therefore the + // artist's "All songs" doesn't exist. + mAlbumIndexOffset = 0; + } + if ( mCurrentAlbumIndex >= count ) { + // This can happen if the last item is deleted + mCurrentAlbumIndex = count - 1; + } + mTBone->setModel(dataModel); + mTBone->scrollTo( dataModel->index(mCurrentAlbumIndex - mAlbumIndexOffset, 0) ); + if ( mTBoneListModel == 0 ) { + mTBoneListModel = new MpCollectionTBoneListDataModel(mCollectionData); + connect( mTBoneListModel, SIGNAL(albumDataChanged()), this, SLOT(albumDataChanged()) ); + connect( mTBoneListModel, SIGNAL(albumDataAvailable()), this, SLOT(albumDataAvailable()) ); + } + mList->setModel(mTBoneListModel); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + else { + emit shuffleEnabled(false); + } + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); + emit shuffleEnabled(false); + } + } + break; + case ECollectionContextArtistAllSongs: + if ( mList ) { + mList->setModel(dataModel); + } + break; + default: + break; + } TX_EXIT } @@ -69,21 +170,138 @@ void MpCollectionContainerArtists::itemActivated( const QModelIndex &index ) { int row = index.row(); - TX_ENTRY_ARGS("index=" << row); - - if ( mCollectionContext == ECollectionContextArtists ) { - mArtist = mCollectionData->itemData(row, MpMpxCollectionData::Title); - if ( mArtist.isEmpty() ) { - mArtist = hbTrId("txt_mus_subtitle_unknown"); + TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext << "index=" << row); + switch ( mCollectionContext ) { + case ECollectionContextArtists: + mCurrentArtistIndex = row; + TX_LOG_ARGS("mCurrentArtistIndex=" << mCurrentArtistIndex); + MpCollectionListContainer::itemActivated(index); + break; + case ECollectionContextArtistAlbums: + mCurrentAlbumIndex = row; + TX_LOG_ARGS("mCurrentAlbumIndex=" << mCurrentAlbumIndex); + MpCollectionListContainer::itemActivated(index); + break; + case ECollectionContextArtistAlbumsTBone: + TX_LOG_ARGS("mCurrentAlbumIndex=" << mCurrentAlbumIndex); + if ( mViewMode == MpCommon::FetchView ) { + MpCollectionListContainer::itemActivated(index); + } + else { + emit playAlbumSongs(mCurrentAlbumIndex, row); + } + break; + case ECollectionContextArtistAllSongs: + MpCollectionListContainer::itemActivated(index); + break; + default: + break; + } + TX_EXIT +} + +/*! + Slot to be called when scrolling ends in media wall and an album is centered. + */ +void MpCollectionContainerArtists::albumCentered() +{ + TX_ENTRY + int index = mTBone->currentIndex().row(); + TX_LOG_ARGS("index=" << index); + index += mAlbumIndexOffset; + if ( mCurrentAlbumIndex != index ) { + // Prevent reloading if user just moves the center album a little + // and the same album re-centers. + mCurrentAlbumIndex = index; + TX_LOG_ARGS("mCurrentAlbumIndex=" << mCurrentAlbumIndex); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); } } - else if ( mCollectionContext == ECollectionContextArtistAlbums ) { - mAlbum = mCollectionData->itemData(row, MpMpxCollectionData::Title); - if ( mAlbum.isEmpty() ) { - mAlbum = hbTrId("txt_mus_dblist_val_unknown3"); + else { + // Landed on the same album. Just update menu. + if ( mCollectionData->albumSongsCount() > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; + } + TX_EXIT +} + +/*! + Slot to be called when data model has new data. This occurs after a delete operation is complete. + Two cases: + 1) User deleted an artist. + 2) User deleted last song in an album. + */ +void MpCollectionContainerArtists::dataReloaded() +{ + TX_ENTRY + if ( mCollectionContext == ECollectionContextArtistAlbumsTBone ) { + if ( mCurrentAlbumIndex > 0 ) { + --mCurrentAlbumIndex; + } + mTBone->scrollTo( mDataModel->index(mCurrentAlbumIndex - mAlbumIndexOffset, 0) ); + if ( mCollectionData->setCurrentAlbum(mCurrentAlbumIndex) ) { + if ( mCollectionData->albumSongsCount() == 1 ) { + emit shuffleEnabled(false); + } + } + else { + emit findAlbumSongs(mCurrentAlbumIndex); } } - MpCollectionListContainer::itemActivated(index); + else { + MpCollectionListContainer::dataReloaded(); + } + TX_EXIT +} + +/*! + Slot to be called when data model has new data. + User has deleted one of the songs from TBone list. + */ +void MpCollectionContainerArtists::albumDataChanged() +{ + TX_ENTRY + emit findAlbumSongs(mCurrentAlbumIndex); + emit shuffleEnabled(false); + TX_EXIT +} + +/*! + Slot to be called TBone starts scrolling. + */ +void MpCollectionContainerArtists::scrollingStarted() +{ + TX_ENTRY + // Disable shuffle action from the menu + emit shuffleEnabled(false); + // Disable context menu + mLongPressEnabled = false; + TX_EXIT +} + +/*! + Slot to be called album data is available. This is a result of findAlbumSongs signal. + */ +void MpCollectionContainerArtists::albumDataAvailable() +{ + TX_ENTRY + int count = mCollectionData->albumSongsCount(); + if ( count > 1 ) { + emit shuffleEnabled(true); + } + // Enable context menu + mLongPressEnabled = true; TX_EXIT } @@ -98,93 +316,115 @@ if ( mCollectionData->count() ) { bool ok = false; QGraphicsWidget *widget; - if ( mCollectionContext == ECollectionContextArtists ) { - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artists", &ok); - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); - } - if ( !mList ) { - widget = mDocumentLoader->findWidget(QString("artistsList")); - mList = qobject_cast(widget); - mIndexFeedback->setItemView(mList); - initializeList(); - } - if ( mInfoBar ) { - delete mInfoBar; - mInfoBar = 0; - } - } - else if ( mCollectionContext == ECollectionContextArtistAlbums ) { - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistSongs", &ok); - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); - } - - widget = mDocumentLoader->findWidget(QString("artistSongsDetail")); - mInfoBar = qobject_cast(widget); - - QString details; - if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; - } - else { - details = mArtist; - } - mInfoBar->setHeading(details); + QString artist; + switch ( mCollectionContext ) { + case ECollectionContextArtists: + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artists", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); + } + if ( !mList ) { + widget = mDocumentLoader->findWidget(QString("artistsList")); + mList = qobject_cast(widget); + mIndexFeedback->setItemView(mList); + initializeList(); + } + if ( mInfoBar ) { + delete mInfoBar; + mInfoBar = 0; + } + if ( mTBone ) { + delete mTBone; + mTBone = 0; + } + break; + case ECollectionContextArtistAlbums: + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistAlbums", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); + } + widget = mDocumentLoader->findWidget(QString("artistDetail")); + mInfoBar = qobject_cast(widget); + + artist = mCollectionData->collectionTitle(); + if ( artist.isEmpty() ) { + artist = hbTrId("txt_mus_subtitle_unknown"); + } + mInfoBar->setHeading(artist); + if ( mTBone ) { + delete mTBone; + mTBone = 0; + } + break; + case ECollectionContextArtistAlbumsTBone: + { + if ( mViewMode == MpCommon::FetchView ) { + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistAlbumTBoneFetcher", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file"); + } + widget = mDocumentLoader->findWidget(QString("artistDetail")); + mInfoBar = qobject_cast(widget); + mInfoBar->setHeading( hbTrId("txt_mus_subtitle_select_a_song") ); + } + else { + mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistAlbumTBone", &ok); + if ( !ok ) { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file"); + } + if ( mInfoBar ) { + delete mInfoBar; + mInfoBar = 0; + } + } + widget = mDocumentLoader->findWidget(QString("artistAlbumWall")); + mTBone = qobject_cast(widget); + HbIcon defaultIcon( "qtg_large_album_art" ); + defaultIcon.setSize(mTBone->itemSize()); + mTBone->setDefaultImage( defaultIcon.pixmap().toImage() ); + mTBone->setTitleFontSpec( HbFontSpec(HbFontSpec::Primary) ); + mTBone->setDescriptionFontSpec( HbFontSpec(HbFontSpec::Secondary) ); + mTBone->setScrollBarPolicy( HgWidget::ScrollBarAlwaysOff ); + mTBone->enableReflections(true); + connect( mTBone, SIGNAL(scrollingStarted()), this, SLOT(scrollingStarted()) ); + connect( mTBone, SIGNAL(scrollingEnded()), this, SLOT(albumCentered()) ); + } + break; + case ECollectionContextArtistAllSongs: + // No need to load anything. Just reuse the section "artistAlbums" loaded + // in ECollectionContextArtistAlbums context. + if ( mViewMode == MpCommon::FetchView ) { + mInfoBar->setHeading( hbTrId("txt_mus_subtitle_select_a_song") ); + } + else { + artist = mCollectionData->collectionTitle(); + if ( artist.isEmpty() ) { + artist = hbTrId("txt_mus_subtitle_unknown_all"); + } + else { + artist = hbTrId("txt_mus_subtitle_1_all").arg(artist); + } + mInfoBar->setHeading(artist); + } + break; + default: + break; } - else if ( mCollectionContext == ECollectionContextAlbumSongs ) { - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistSongs", &ok); - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); - } - - widget = mDocumentLoader->findWidget(QString("artistSongsDetail")); - mInfoBar = qobject_cast(widget); - - QString details; - if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; - } - else { - details = mArtist; - details.append(" - "); - details.append(mAlbum); - } - mInfoBar->setHeading(details); - } - else if ( mCollectionContext == ECollectionContextArtistSongs ) { - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artistSongs", &ok); - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file"); - } - - widget = mDocumentLoader->findWidget(QString("artistSongsDetail")); - mInfoBar = qobject_cast(widget); - - QString details; - if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; - } - else if ( mArtist.isEmpty() ) { - details = hbTrId("txt_mus_subtitle_unknown_all"); - } - else{ - details = hbTrId( "txt_mus_subtitle_1_all" ).arg(mArtist); - - } - mInfoBar->setHeading(details); - } - } + } else { + // Must delete widgets when last song is deleted and view is reloaded. if ( mInfoBar ) { - // When last song in an album is deleted and album list is reloaded delete mInfoBar; mInfoBar = 0; } + if ( mTBone ) { + delete mTBone; + mTBone = 0; + } // Call empty list from base class setupEmptyListContainer(); } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -24,7 +24,6 @@ #include "mpcollectioncontainerartists.h" #include "mpcollectioncontaineralbums.h" #include "mpcollectioncontainerplaylists.h" -#include "mpcollectioncontainergenres.h" #include "mptrace.h" /*! @@ -75,24 +74,33 @@ mCurrentContainer->initialize(); connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); + connect( mCurrentContainer, SIGNAL(shuffleEnabled(bool)), mView, SLOT(setShuffleAction(bool)) ); break; case ECollectionContextArtists: - if ( ( mCurrentContext != ECollectionContextArtistAlbums ) && ( mCurrentContext != ECollectionContextAlbumSongs) ) - { - deleteCurrentContainer(); - mCurrentContainer = new MpCollectionContainerArtists(mDocumentLoader); - mCurrentContainer->initialize(); - connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); - connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); - } - break; + if ( ( mCurrentContext != ECollectionContextArtistAlbums ) + && ( mCurrentContext != ECollectionContextArtistAlbumsTBone) + && ( mCurrentContext != ECollectionContextArtistAllSongs) ) + { + deleteCurrentContainer(); + mCurrentContainer = new MpCollectionContainerArtists(mDocumentLoader); + mCurrentContainer->initialize(); + connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); + connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); + connect( mCurrentContainer, SIGNAL(findAlbumSongs(int)), mView, SLOT(findAlbumSongs(int)) ); + connect( mCurrentContainer, SIGNAL(playAlbumSongs(int, int)), mView, SLOT(playAlbumSongs(int, int)) ); + connect( mCurrentContainer, SIGNAL(shuffleEnabled(bool)), mView, SLOT(setShuffleAction(bool)) ); + } + break; case ECollectionContextAlbums: - if ( mCurrentContext != ECollectionContextAlbumSongs ) { + if ( mCurrentContext != ECollectionContextAlbumsTBone ) { deleteCurrentContainer(); mCurrentContainer = new MpCollectionContainerAlbums(mDocumentLoader); mCurrentContainer->initialize(); connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); + connect( mCurrentContainer, SIGNAL(findAlbumSongs(int)), mView, SLOT(findAlbumSongs(int)) ); + connect( mCurrentContainer, SIGNAL(playAlbumSongs(int, int)), mView, SLOT(playAlbumSongs(int, int)) ); + connect( mCurrentContainer, SIGNAL(shuffleEnabled(bool)), mView, SLOT(setShuffleAction(bool)) ); } break; case ECollectionContextPlaylists: @@ -102,22 +110,14 @@ mCurrentContainer->initialize(); connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); + connect( mCurrentContainer, SIGNAL(shuffleEnabled(bool)), mView, SLOT(setShuffleAction(bool)) ); } break; - case ECollectionContextGenres: - if ( mCurrentContext != ECollectionContextGenreSongs ) { - deleteCurrentContainer(); - mCurrentContainer = new MpCollectionContainerGenres(mDocumentLoader); - mCurrentContainer->initialize(); - connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) ); - //connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) ); - } - break; - case ECollectionContextAlbumSongs: case ECollectionContextArtistAlbums: - case ECollectionContextArtistSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + case ECollectionContextAlbumsTBone: case ECollectionContextPlaylistSongs: - case ECollectionContextGenreSongs: // For this contexts, reuse the same container. break; } @@ -138,21 +138,18 @@ break; case ECollectionContextArtists: case ECollectionContextArtistAlbums: - case ECollectionContextArtistSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: delete static_cast(mCurrentContainer); break; case ECollectionContextAlbums: - case ECollectionContextAlbumSongs: + case ECollectionContextAlbumsTBone: delete static_cast(mCurrentContainer); break; case ECollectionContextPlaylists: case ECollectionContextPlaylistSongs: delete static_cast(mCurrentContainer); break; - case ECollectionContextGenres: - case ECollectionContextGenreSongs: - delete static_cast(mCurrentContainer); - break; } TX_EXIT } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainergenres.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainergenres.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +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: Music Player collection container definition - Genres. -* -*/ - -// INCLUDE FILES -#include - -#include -#include -#include - -#include "mpcollectioncontainergenres.h" -#include "mptrace.h" - -/*! - \class MpCollectionContainerGenres - \brief Music Player collection container definition - Genres. - - 'Genres' collection container implements the interface specified - by MpCollectionContainer. It provides a layout and widgets for the - 'Genres' view. - - This container handles the following contexts: - \li ECollectionContextGenres - \li ECollectionContextGenreSongs - - \sa MpCollectionContainer -*/ - -/*! - Constructs the collection container. - */ -MpCollectionContainerGenres::MpCollectionContainerGenres( HbDocumentLoader *loader, QGraphicsItem *parent ) - : MpCollectionListContainer(loader, parent) -{ - TX_LOG -} - -/*! - Destructs the collection container. - */ -MpCollectionContainerGenres::~MpCollectionContainerGenres() -{ - TX_ENTRY - delete mList; - TX_EXIT -} - -/*! - Sets up the container by organizing widgets according to its layout. - - \reimp - */ -void MpCollectionContainerGenres::setupContainer() -{ - TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext); - if ( !mList ) { - bool ok = false; - mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "genre", &ok); - - if ( !ok ) { - TX_LOG_ARGS("Error: invalid xml file."); - Q_ASSERT_X(ok, "MpCollectionContainerGenres::setupContainer", "invalid xml file"); - } - - QGraphicsWidget *widget; - widget = mDocumentLoader->findWidget(QString("genreList")); - mList = qobject_cast(widget); - mIndexFeedback->setItemView(mList); - initializeList(); - } - TX_EXIT -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -23,6 +23,7 @@ #include #include "mpcollectioncontainerplaylists.h" +#include "mpcollectiondatamodel.h" #include "mpmpxcollectiondata.h" #include "mptrace.h" @@ -48,9 +49,12 @@ */ MpCollectionContainerPlaylists::MpCollectionContainerPlaylists( HbDocumentLoader *loader, QGraphicsItem *parent ) : MpCollectionListContainer(loader, parent), - mInfoBar(0) + mInfoBar(0), + mCurrentPlaylistIndex(0) { TX_LOG + mCollectionContext = ECollectionContextPlaylists; + } /*! @@ -65,6 +69,60 @@ } /*! + Sets the data model for the container. + */ +void MpCollectionContainerPlaylists::setDataModel( MpCollectionDataModel *dataModel ) +{ + TX_ENTRY + MpCollectionListContainer::setDataModel(dataModel); + if ( mCollectionContext == ECollectionContextPlaylists ) { + if ( mList ) { + if ( mCollectionData->count() ) { + mList->scrollTo( dataModel->index(mCurrentPlaylistIndex, 0) ); + } + } + } + TX_EXIT +} + +/*! + Slot to be called when an item is selected by the user. +*/ +void MpCollectionContainerPlaylists::itemActivated( const QModelIndex &index ) +{ + if ( mCollectionContext == ECollectionContextPlaylists ) { + mCurrentPlaylistIndex = index.row(); + TX_ENTRY_ARGS("mCurrentPlaylistIndex=" << mCurrentPlaylistIndex); + } + MpCollectionListContainer::itemActivated(index); + TX_EXIT +} + +/*! + Slot to be called data model has new data. + Use cases: + 1) User renames a playlist. + 2) Song added or removed from playlist. + */ +void MpCollectionContainerPlaylists::dataReloaded() +{ + TX_ENTRY + MpCollectionListContainer::dataReloaded(); + if ( mCollectionContext == ECollectionContextPlaylistSongs ) { + // Playlist could have been renamed. + QString details = mCollectionData->collectionTitle(); + mInfoBar->setHeading(details); + if ( mCollectionData->count() > 1 ) { + emit shuffleEnabled(true); + } + else { + emit shuffleEnabled(false); + } + } + TX_EXIT +} + +/*! Sets up the container by organizing widgets according to its layout. \reimp @@ -103,7 +161,7 @@ QString details; if ( mViewMode == MpCommon::FetchView ) { - details = "Select a song"; + details = hbTrId("txt_mus_subtitle_select_a_song"); } else { details = mCollectionData->collectionTitle(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,7 +15,8 @@ * */ -// INCLUDE FILES +#include + #include "mpcollectiondocumentloader.h" #include "mpnowplayingwidget.h" #include "mpcommondefs.h" @@ -39,8 +40,14 @@ { TX_ENTRY_ARGS("type=" << type << ", name=" << name); - if (type == MpNowPlayingWidget::staticMetaObject.className()) { - QObject *object = new MpNowPlayingWidget(MpCommon::KMusicPlayerUid); + if ( type == MpNowPlayingWidget::staticMetaObject.className() ) { + QObject *object = new MpNowPlayingWidget(); + object->setObjectName(name); + TX_EXIT + return object; + } + else if ( type == HgMediawall::staticMetaObject.className() ) { + QObject *object = new HgMediawall(); object->setObjectName(name); TX_EXIT return object; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -49,9 +49,12 @@ : MpCollectionContainer(loader, parent), mList(0), mNoMusic(0), - mIndexFeedback( new HbIndexFeedback()) + mIndexFeedback(0), + mLongPressedIndex(0), + mLongPressEnabled(true) { TX_ENTRY + mIndexFeedback = new HbIndexFeedback(); mIndexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter); TX_EXIT } @@ -91,7 +94,6 @@ /*! Slot to be called when an item is selected by the user. - Start animation. */ void MpCollectionListContainer::itemActivated( const QModelIndex &index ) { @@ -102,11 +104,35 @@ /*! Slot to be called when an item is long pressed by the user. + Remember the index so that we can scroll to this vicinity if the data is reloaded, for example, + after a delete operation is selected from the context menu. */ void MpCollectionListContainer::onLongPressed( HbAbstractViewItem *listViewItem, const QPointF &coords ) { TX_ENTRY - emit MpCollectionContainer::itemLongPressed(listViewItem->modelIndex().row(), coords); + if ( mLongPressEnabled ) { + mLongPressedIndex = listViewItem->modelIndex().row(); + emit MpCollectionContainer::itemLongPressed(mLongPressedIndex, coords); + } + TX_EXIT +} + +/*! + Slot to be called data model has new data. + If the data is reloaded as a result of operation like delete, we want to scroll to the + nearby area where user has performed the action. + + \sa onLongPressed + */ +void MpCollectionListContainer::dataReloaded() +{ + TX_ENTRY + if ( mLongPressedIndex > 0 ) { + --mLongPressedIndex; + } + if ( mList ) { + mList->scrollTo( mDataModel->index(mLongPressedIndex, 0) ); + } TX_EXIT } @@ -117,8 +143,6 @@ { TX_ENTRY mList->setItemRecycling(true); - mList->setScrollingStyle( HbListView::PanOrFlick ); - mList->setClampingStyle( HbListView::BounceBackClamping ); mList->setLongPressEnabled(true); connect(mList, SIGNAL(activated(QModelIndex)), this, SLOT(itemActivated(QModelIndex))); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectionpopuphandler.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionpopuphandler.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionpopuphandler.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -19,21 +19,121 @@ #include #include #include +#include #include #include #include #include #include -#include "mpengine.h" +#include "mpenginefactory.h" #include "mpcollectionview.h" #include "mpmpxcollectiondata.h" #include "mpcollectiondatamodel.h" -#include "mpmpxcollectionviewdefs.h" +#include "mpcollectiontbonelistdatamodel.h" #include "mpcollectionpopuphandler.h" #include "mptrace.h" const int KNullIndex = -1; +const int KSongsToDisplayProgressDlg = 100; + +// Popups launched by this class +const QString KContextMenu = QString( "ContextMenu" ); +const QString KProgressDialog = QString( "ProgressDialog" ); +const QString KAddToPlaylistSelectionDialog = QString( "AddToPlaylistSelectionDialog" ); +const QString KInputTextDialog = QString( "InputTextDialog" ); +const QString KGetModelIndexesListDialog = QString( "GetModelIndexesListDialog" ); +const QString KArrangeSongsDialog = QString( "ArrangeSongsDialog" ); +const QString KRequestDeleteMessageBox = QString( "RequestDeleteMessageBox" ); + +// Popups Actions +const QString KOk = QString( "Ok" ); +const QString KCancel = QString( "Cancel" ); +const QString KNew = QString( "New" ); +const QString KOpen = QString( "Open" ); +const QString KAdd = QString( "Add" ); +const QString KDelete = QString( "Delete" ); +const QString KRenamePlayList = QString( "RenamePlayList" ); + + +//------------------------------------------------------------------ +// MpPopupHandlerPermanentData +//------------------------------------------------------------------ + +/*! + \class MpPopupHandlerPermanentData. This class is used by MpCollectionPopupHandler to + store permanent data needed during asynchronous popups operation. + +*/ + +class MpPopupHandlerPermanentData : public QObject +{ + public: + MpPopupHandlerPermanentData( QObject *parent=0 ); + virtual ~MpPopupHandlerPermanentData(); + void clear(); + public: + MpMpxCollectionData *mIsolatedCollectionData; // Not own + QAbstractItemModel *mAbstractItemModel; // Own + QList mSelectedItems; + QString mOriginalName; + int mContextMenuIndex; +}; + +/*! + Constructs the popup handler permanent data. + */ +MpPopupHandlerPermanentData::MpPopupHandlerPermanentData( QObject *parent ) + : QObject( parent ), + mIsolatedCollectionData( 0 ), + mAbstractItemModel( 0 ), + mContextMenuIndex( KNullIndex ) +{ + TX_ENTRY + mSelectedItems.clear(); + mOriginalName.clear(); + TX_EXIT +} + +/*! + Destructs the popup handler permanent data. + */ +MpPopupHandlerPermanentData::~MpPopupHandlerPermanentData() +{ + TX_ENTRY + clear(); + TX_EXIT +} + +/*! + \internal + Clears all permanent data. + */ +void MpPopupHandlerPermanentData::clear() +{ + TX_ENTRY + mSelectedItems.clear(); + mOriginalName.clear(); + mContextMenuIndex = KNullIndex; + if ( mIsolatedCollectionData ) { + MpEngineFactory::sharedEngine()->releaseIsolatedCollection(); + mIsolatedCollectionData = 0; + } + if ( mAbstractItemModel ) { + delete mAbstractItemModel; + mAbstractItemModel = 0; + } + //clearing any child Objects. + foreach (QObject* child, children()) { + child->deleteLater(); + } + TX_EXIT +} + + +//------------------------------------------------------------------ +// MpCollectionPopupHandler +//------------------------------------------------------------------ /*! \class MpCollectionPopupHandler @@ -51,10 +151,11 @@ mView( parent ), mOutstandingPopup( 0 ), mMpEngine( 0 ), - mPermanentData( 0 ) + mPermanentData( 0 ), + mExternalEventsConnected( false ) { TX_ENTRY - mMpEngine = MpEngine::instance(); + mMpEngine = MpEngineFactory::sharedEngine(); mPermanentData = new MpPopupHandlerPermanentData( this ); TX_EXIT } @@ -75,76 +176,76 @@ void MpCollectionPopupHandler::openDefaultViewContextMenu( int index, const QPointF &coords ) { TX_ENTRY - HbMenu *contextMenu = 0; - HbAction *action; - bool usbBlocked = mMpEngine->verifyUsbBlocking(); + + if ( mView->isActivated() ) { + + HbMenu *contextMenu = 0; + HbAction *action; + bool usbBlocked = mMpEngine->verifyUsbBlocking(); - switch ( mMpEngine->collectionData()->context() ) { - case ECollectionContextAllSongs: - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: - contextMenu = new HbMenu(); - action = contextMenu->addAction( hbTrId( "txt_common_menu_play_music" ) ); - action->setObjectName( "open" ); - action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) ); - action->setObjectName( "add" ); - action->setEnabled( !usbBlocked ); - action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) ); - action->setObjectName( "delete" ); - action->setEnabled( !usbBlocked ); - break; - case ECollectionContextAlbums: - case ECollectionContextArtists: - case ECollectionContextArtistAlbums: - contextMenu = new HbMenu(); - action = contextMenu->addAction( hbTrId( "txt_common_menu_open" ) ); - action->setObjectName( "open" ); - action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) ); - action->setObjectName( "add" ); - action->setEnabled( !usbBlocked ); - action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) ); - action->setObjectName( "delete" ); - action->setEnabled( !usbBlocked ); - break; - case ECollectionContextPlaylists: - if ( !mMpEngine->collectionData()->isAutoPlaylist( index ) ) { + switch ( mMpEngine->collectionData()->context() ) { + case ECollectionContextAllSongs: + case ECollectionContextArtistAllSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + contextMenu = new HbMenu(); + action = contextMenu->addAction( hbTrId( "txt_common_menu_play_music" ) ); + action->setObjectName( KOpen ); + action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) ); + action->setObjectName( KAdd ); + action->setEnabled( !usbBlocked ); + action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) ); + action->setObjectName( KDelete ); + action->setEnabled( !usbBlocked ); + break; + case ECollectionContextAlbums: + case ECollectionContextArtists: + case ECollectionContextArtistAlbums: contextMenu = new HbMenu(); action = contextMenu->addAction( hbTrId( "txt_common_menu_open" ) ); - action->setObjectName( "open" ); + action->setObjectName( KOpen ); + action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) ); + action->setObjectName( KAdd ); + action->setEnabled( !usbBlocked ); action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) ); - action->setObjectName("delete"); - action->setEnabled( !usbBlocked ); - action = contextMenu->addAction( hbTrId( "txt_common_menu_rename_item" ) ); - action->setObjectName( "rename playlist" ); + action->setObjectName( KDelete ); action->setEnabled( !usbBlocked ); - } - break; - case ECollectionContextPlaylistSongs: - if ( !mMpEngine->collectionData()->isAutoPlaylist() ) { - contextMenu = new HbMenu(); - action = contextMenu->addAction( hbTrId( "txt_common_menu_play_music" ) ); - action->setObjectName( "open" ); - action = contextMenu->addAction( hbTrId( "txt_common_menu_remove" ) ); - action->setObjectName( "delete" ); - action->setEnabled( !usbBlocked ); - } - break; - default: - break; - } + break; + case ECollectionContextPlaylists: + if ( !mMpEngine->collectionData()->isAutoPlaylist( index ) ) { + contextMenu = new HbMenu(); + action = contextMenu->addAction( hbTrId( "txt_common_menu_open" ) ); + action->setObjectName( KOpen ); + action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) ); + action->setObjectName(KDelete); + action->setEnabled( !usbBlocked ); + action = contextMenu->addAction( hbTrId( "txt_common_menu_rename_item" ) ); + action->setObjectName( KRenamePlayList ); + action->setEnabled( !usbBlocked ); + } + break; + case ECollectionContextPlaylistSongs: + if ( !mMpEngine->collectionData()->isAutoPlaylist() ) { + contextMenu = new HbMenu(); + action = contextMenu->addAction( hbTrId( "txt_common_menu_play_music" ) ); + action->setObjectName( KOpen ); + action = contextMenu->addAction( hbTrId( "txt_common_menu_remove" ) ); + action->setObjectName( KDelete ); + action->setEnabled( !usbBlocked ); + } + break; + default: + break; + } - if ( contextMenu ) { - if ( mView->isActivated() ) { + if ( contextMenu ) { mPermanentData->mContextMenuIndex = index; contextMenu->setPreferredPos( coords ); + contextMenu->setObjectName( KContextMenu ); contextMenu->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup( contextMenu ); contextMenu->open( this, SLOT( defaultContextMenuOptionSelected( HbAction* ) ) ); } - else { - delete contextMenu; - contextMenu = 0; - } } TX_EXIT @@ -157,34 +258,32 @@ { TX_ENTRY_ARGS( "index=" << index ); - HbAction *action; - HbMenu *contextMenu = 0; + if ( mView->isActivated() ) { + + HbAction *action; + HbMenu *contextMenu = 0; - switch ( mMpEngine->collectionData()->context() ) { - case ECollectionContextAllSongs: - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: - case ECollectionContextPlaylistSongs: - case ECollectionContextGenreSongs: - contextMenu = new HbMenu(); - action = contextMenu->addAction( hbTrId("txt_common_menu_play_music") ); - action->setEnabled( mMpEngine->verifyUsbBlocking() ); - break; - default: - break; - } + switch ( mMpEngine->collectionData()->context() ) { + case ECollectionContextAllSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + case ECollectionContextAlbumsTBone: + case ECollectionContextPlaylistSongs: + contextMenu = new HbMenu(); + action = contextMenu->addAction( hbTrId("txt_common_menu_play_music") ); + action->setEnabled( !mMpEngine->verifyUsbBlocking() ); + break; + default: + break; + } - if ( contextMenu ) { - if ( mView->isActivated() ) { + if ( contextMenu ) { mPermanentData->mContextMenuIndex = index; contextMenu->setPreferredPos( coords ); contextMenu->setAttribute( Qt::WA_DeleteOnClose ); + contextMenu->setObjectName( KContextMenu ); setOutstandingPopup( contextMenu ); - contextMenu->open( this, SLOT( fetcherContextMenuOptionSelected( HbAction* ) ) ); - } - else { - delete contextMenu; - contextMenu = 0; + contextMenu->open( this, SLOT( fetcherContextMenuOptionSelected( HbAction* ) ) ); } } @@ -227,6 +326,22 @@ } /*! + Request to select songs to add to the playlist from TBone + */ +void MpCollectionPopupHandler::openAddSongsToPlaylistFromTBone( ) +{ + TX_ENTRY + MpCollectionTBoneListDataModel *model; + model = new MpCollectionTBoneListDataModel( mMpEngine->collectionData() ); + //this item will be deleted when clearing permanent data. + model->setParent(mPermanentData); + model->refreshModel(); + getModelIndexes( hbTrId( "txt_mus_title_select_songs" ), model, + SLOT( handleAddSongsToPlayList( HbAction* ) ) ); + TX_EXIT +} + +/*! Request to select songs to be deleted */ void MpCollectionPopupHandler::openDeleteSongs( QAbstractItemModel* model ) @@ -275,43 +390,41 @@ /*! Request to reorder songs */ -void MpCollectionPopupHandler::openArrangeSongs( MpMpxCollectionData* collectionData ) +void MpCollectionPopupHandler::openArrangeSongs( ) { TX_ENTRY - launchArrangeSongsDialog( collectionData ); + launchArrangeSongsDialog(); TX_EXIT } /*! Closes any active popup */ -void MpCollectionPopupHandler::cancelOngoingPopup() +void MpCollectionPopupHandler::cancelOngoingPopup( bool onlyContextMenu ) { - TX_ENTRY + TX_ENTRY if ( mOutstandingPopup ) { - mOutstandingPopup->close(); - - //Delete/Clear permanent data until current popup gets deleted - mPermanentData->setParent( mOutstandingPopup ); - //Generate new permanent data for future popups - mPermanentData = new MpPopupHandlerPermanentData( this ); + if ( onlyContextMenu ) { + if ( mOutstandingPopup->objectName() == KContextMenu ) { + mOutstandingPopup->close(); + mPermanentData->clear(); + } + } + else { + mOutstandingPopup->close(); + //Delete/Clear permanent data until current popup gets deleted + mPermanentData->setParent( mOutstandingPopup ); + //Generate new permanent data for future popups + mPermanentData = new MpPopupHandlerPermanentData( this ); + } } else { mPermanentData->clear(); } - TX_EXIT } /*! - TODO: Workaround for HbListView multiple events: longPress and activated. Remove once HbListView get fixed (wk16) - */ -bool MpCollectionPopupHandler::showingPopup() -{ - return mOutstandingPopup; -} - -/*! Slot to be called when an option has been selected from default context menu. */ void MpCollectionPopupHandler::defaultContextMenuOptionSelected( HbAction *selectedAction ) @@ -321,16 +434,16 @@ QString objectName = selectedAction->objectName(); QList selection; selection.append( mPermanentData->mContextMenuIndex ); - if ( objectName == "open" ) { + if ( objectName == KOpen ) { mView->openItem( mPermanentData->mContextMenuIndex ); } - if ( objectName == "add" ) { + if ( objectName == KAdd ) { launchAddToPlaylistDialog( selection ); } - else if ( objectName == "delete" ) { + else if ( objectName == KDelete ) { requestDelete( selection ); } - else if ( objectName == "rename playlist" ) { + else if ( objectName == KRenamePlayList ) { QString currentName; currentName = mMpEngine->collectionData()->itemData( mPermanentData->mContextMenuIndex, MpMpxCollectionData::Title ); @@ -365,7 +478,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "new" ) { + if ( objectName == KNew ) { QStringList playlists; mMpEngine->findPlaylists( playlists ); queryNewPlaylistName( playlists, SLOT( handleAddToPlaylistGetTextFinished( HbAction* ) ) ); @@ -395,7 +508,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QString newPlaylistName = dialog->value().toString(); if ( newPlaylistName.length() ) { //Create new playlist with given name @@ -438,7 +551,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QString newPlaylistName = dialog->value().toString(); if ( newPlaylistName.length() ) { if ( newPlaylistName != mPermanentData->mOriginalName ) { @@ -472,7 +585,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QString newPlaylistName = dialog->value().toString(); if ( newPlaylistName.length() ) { if ( newPlaylistName != mPermanentData->mOriginalName ) { @@ -505,7 +618,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QModelIndexList selectedModelIndexes; selectedModelIndexes = dialog->selectedModelIndexes(); if ( selectedModelIndexes.count() ) { @@ -516,6 +629,9 @@ launchAddToPlaylistDialog( selection ); } } + else { + mPermanentData->clear(); + } } //Dialog is using CollectionView main model, avoid dialog destructor to alter it. @@ -535,7 +651,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QModelIndexList selectedModelIndexes; selectedModelIndexes = dialog->selectedModelIndexes(); if ( selectedModelIndexes.count() ) { @@ -565,7 +681,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QModelIndexList selectedModelIndexes; selectedModelIndexes = dialog->selectedModelIndexes(); if ( selectedModelIndexes.count() ) { @@ -600,7 +716,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QString newPlaylistName = dialog->value().toString(); if ( newPlaylistName.length() ) { //Store the new playlist name and query for the items to be added @@ -635,7 +751,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { QList selection; QModelIndexList selectedModelIndexes; selectedModelIndexes = dialog->selectedModelIndexes(); @@ -685,7 +801,7 @@ if ( selectedAction ) { QString objectName = selectedAction->objectName(); - if ( objectName == "ok" ) { + if ( objectName == KOk ) { mMpEngine->deleteSongs( mPermanentData->mSelectedItems ); } selectedAction->setEnabled( false ); @@ -697,6 +813,59 @@ } /*! + Slot called upon notification from MpEngine indicating start of + deleting process. + */ +void MpCollectionPopupHandler::handleDeleteStarted( TCollectionContext context, int count ) +{ + TX_ENTRY + if ( context == ECollectionContextPlaylistSongs ) { + if (count >= KSongsToDisplayProgressDlg) { //show progress dialog if removing more than 100 songs + launchProgressDialog( "txt_mus_info_removing_songs" ); + } + } + else if (context != ECollectionContextPlaylists ) { //no progress dialog for delete playlist + launchProgressDialog( "txt_mus_info_deleting" ); + } + TX_EXIT +} + +/*! + Slot called upon notification from MpEngine indicating 'count' songs are going to be added. + */ +void MpCollectionPopupHandler::handleAddingSongs( int count ) +{ + TX_ENTRY + if ( count >= KSongsToDisplayProgressDlg ) + { + HbProgressDialog *addSongsWaitNote = new HbProgressDialog( HbProgressDialog::WaitDialog ); + connect( addSongsWaitNote, SIGNAL( cancelled() ), mMpEngine, SLOT( cancelCollectionRequest() ) ); + addSongsWaitNote->setModal( true ); + addSongsWaitNote->setText( hbTrId( "txt_mus_info_adding_songs" ) ); + addSongsWaitNote->setObjectName( KProgressDialog ); + addSongsWaitNote->setAttribute( Qt::WA_DeleteOnClose ); + setOutstandingPopup( addSongsWaitNote ); + addSongsWaitNote->show(); + } + TX_EXIT +} + +/*! + Slot called upon notification from MpEngine indicating end of + deleting or adding process. + */ +void MpCollectionPopupHandler::handleOperationEnded( bool success ) +{ + TX_ENTRY + Q_UNUSED( success ); + if ( mOutstandingPopup && ( mOutstandingPopup->objectName() == KProgressDialog ) ) { + HbProgressDialog *dialog = qobject_cast( mOutstandingPopup ); + dialog->cancel(); + } + TX_EXIT +} + +/*! Slot to be called when a popup is getting closed. Usefull when a dialog is closed before it finishes (dialog not closed by a direct user action). */ @@ -747,11 +916,7 @@ void MpCollectionPopupHandler::launchAddToPlaylistDialog( QList &selection ) { TX_ENTRY - if (!mView->isActivated()) { - mPermanentData->clear(); - return; - } - + QStringList playlists; mPermanentData->mSelectedItems = selection; mMpEngine->findPlaylists( playlists ); @@ -764,11 +929,12 @@ dialog->setHeadingWidget(new HbLabel( hbTrId( "txt_mus_title_select_playlist" ) ) ); dialog->clearActions(); action = new HbAction( hbTrId( "txt_mus_button_new" ) ); - action->setObjectName( "new" ); + action->setObjectName( KNew ); dialog->addAction( action ); action = new HbAction( hbTrId( "txt_common_button_cancel" ) ); - action->setObjectName( "cancel" ); + action->setObjectName( KCancel ); dialog->addAction( action ); + dialog->setObjectName( KAddToPlaylistSelectionDialog ); dialog->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup( dialog ); dialog->open( this, SLOT( handleAddToPlaylistDialogFinished( HbAction* ) ) ); @@ -810,11 +976,6 @@ const char *handler ) { TX_ENTRY - if ( !mView->isActivated() ) { - mPermanentData->clear(); - return; - } - HbAction *action; HbInputDialog *dialog = new HbInputDialog(); dialog->setPromptText( label ); @@ -822,11 +983,12 @@ dialog->setValue( text ); dialog->clearActions(); action = new HbAction( hbTrId( "txt_common_button_ok" ) ); - action->setObjectName( "ok" ); + action->setObjectName( KOk ); dialog->addAction( action ); action = new HbAction( hbTrId( "txt_common_button_cancel" ) ); - action->setObjectName( "cancel" ); + action->setObjectName( KCancel ); dialog->addAction( action ); + dialog->setObjectName( KInputTextDialog ); dialog->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup( dialog ); dialog->open( this, handler ); @@ -845,10 +1007,7 @@ { TX_ENTRY - if ( !mView->isActivated() ) { - mPermanentData->clear(); - return; - } + connectExternalEvents(); HbAction *action; HbSelectionDialog *dialog = new HbSelectionDialog(); @@ -857,11 +1016,12 @@ dialog->setModel( model ); dialog->clearActions(); action = new HbAction( hbTrId( "txt_common_button_ok" ) ); - action->setObjectName( "ok" ); + action->setObjectName( KOk ); dialog->addAction( action ); action = new HbAction( hbTrId( "txt_common_button_cancel" ) ); - action->setObjectName( "cancel" ); + action->setObjectName( KCancel ); dialog->addAction( action ); + dialog->setObjectName( KGetModelIndexesListDialog ); dialog->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup( dialog ); dialog->open( this, handler ); @@ -872,16 +1032,11 @@ /*! \internal Launches a list dialog to reorder them. - \a collectionData Base to generate dialog's model. */ -void MpCollectionPopupHandler::launchArrangeSongsDialog( MpMpxCollectionData* collectionData ) +void MpCollectionPopupHandler::launchArrangeSongsDialog() { TX_ENTRY - if ( !mView->isActivated() ) { - return; - } - HbListView *listView = new HbListView(); listView->setItemRecycling( true ); listView->setScrollingStyle( HbListView::PanOrFlick ); @@ -892,7 +1047,7 @@ listView->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded); MpCollectionDataModel *model; //Ownership of the model is passed to the listView as a child object. - model = new MpCollectionDataModel( collectionData, listView ); + model = new MpCollectionDataModel( mMpEngine->collectionData() , listView ); model->refreshModel(); connect( model, SIGNAL( orderChanged( int, int, int, int ) ), @@ -911,6 +1066,7 @@ HbAction *action; action = new HbAction( hbTrId( "txt_common_button_ok" ) ); dialog->addAction( action ); + dialog->setObjectName( KArrangeSongsDialog ); dialog->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup(dialog); dialog->open( this, SLOT( handleArrangeSongs( HbAction* ) ) ); @@ -929,11 +1085,13 @@ QString message; mPermanentData->mSelectedItems = selection; bool needsConfirmation = true; + connectExternalEvents(); switch ( mMpEngine->collectionData()->context() ) { case ECollectionContextAllSongs: - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + case ECollectionContextAlbumsTBone: message = hbTrId( "txt_mus_delete_song" ); break; case ECollectionContextArtists: @@ -947,8 +1105,6 @@ message = hbTrId( "txt_mus_delete_playlist" ); break; case ECollectionContextPlaylistSongs: - case ECollectionContextGenres: - case ECollectionContextGenreSongs: needsConfirmation = false; mMpEngine->deleteSongs( mPermanentData->mSelectedItems ); mPermanentData->clear(); @@ -963,11 +1119,6 @@ } if ( needsConfirmation ) { - if ( !mView->isActivated() ) { - mPermanentData->clear(); - return; - } - HbAction *action; HbMessageBox *dialog = new HbMessageBox( HbMessageBox::MessageTypeQuestion ); @@ -975,11 +1126,12 @@ dialog->setTimeout( HbPopup::NoTimeout ); dialog->clearActions(); action = new HbAction( hbTrId( "txt_common_button_yes" ) ); - action->setObjectName( "ok" ); + action->setObjectName( KOk ); dialog->addAction( action ); action = new HbAction( hbTrId( "txt_common_button_no" ) ); - action->setObjectName( "cancel" ); + action->setObjectName( KCancel ); dialog->addAction( action ); + dialog->setObjectName( KRequestDeleteMessageBox ); dialog->setAttribute( Qt::WA_DeleteOnClose ); setOutstandingPopup( dialog ); dialog->open( this, SLOT( handleRequestDelete( HbAction* ) ) ); @@ -988,52 +1140,37 @@ TX_EXIT } - -//------------------------------------------------------------------ -// MpPopupHandlerPermanentData -//------------------------------------------------------------------ /*! - Constructs the popup handler permanent data. + \internal + Launches a waiting progress note. + \a content String id to display in the dialog. */ -MpCollectionPopupHandler::MpPopupHandlerPermanentData::MpPopupHandlerPermanentData( QObject *parent ) - : QObject( parent ), - mIsolatedCollectionData( 0 ), - mAbstractItemModel( 0 ), - mContextMenuIndex( KNullIndex ) +void MpCollectionPopupHandler::launchProgressDialog( const char *id ) { - TX_ENTRY - mSelectedItems.clear(); - mOriginalName.clear(); - TX_EXIT -} - -/*! - Destructs the popup handler permanent data. - */ -MpCollectionPopupHandler::MpPopupHandlerPermanentData::~MpPopupHandlerPermanentData() -{ - TX_ENTRY - clear(); - TX_EXIT + HbProgressDialog *deleteProgressNote = new HbProgressDialog( HbProgressDialog::WaitDialog ); + connect( deleteProgressNote, SIGNAL( cancelled() ), mMpEngine, SLOT( cancelCollectionRequest() ) ); + deleteProgressNote->setModal( true ); + deleteProgressNote->setDismissPolicy( HbPopup::NoDismiss ); + deleteProgressNote->setText( hbTrId( id ) ); + deleteProgressNote->setObjectName( KProgressDialog ); + deleteProgressNote->setAttribute( Qt::WA_DeleteOnClose ); + setOutstandingPopup( deleteProgressNote ); + deleteProgressNote->show(); } /*! \internal - Clears all permanent data. - */ -void MpCollectionPopupHandler::MpPopupHandlerPermanentData::clear() + Connects MpEngine signals on demand in order to save time at start up. + */ +void MpCollectionPopupHandler::connectExternalEvents() { - TX_ENTRY - mSelectedItems.clear(); - mOriginalName.clear(); - mContextMenuIndex = KNullIndex; - if ( mIsolatedCollectionData ) { - MpEngine::instance()->releaseIsolatedCollection(); - mIsolatedCollectionData = 0; + if ( !mExternalEventsConnected ) { + connect( mMpEngine, SIGNAL( deleteStarted( TCollectionContext, int ) ), + this, SLOT( handleDeleteStarted( TCollectionContext, int ) ) ); + connect( mMpEngine, SIGNAL( songsDeleted( bool ) ), this, SLOT( handleOperationEnded( bool ) ) ); + connect( mMpEngine, SIGNAL( aboutToAddSongs( int ) ), this, SLOT( handleAddingSongs( int ) ) ); + connect( mMpEngine, SIGNAL( playlistSaved( bool ) ), this, SLOT( handleOperationEnded( bool ) ) ); + mExternalEventsConnected = true; } - if ( mAbstractItemModel ) { - delete mAbstractItemModel; - mAbstractItemModel = 0; - } - TX_EXIT } + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ // INCLUDE FILES #include #include -#include +#include #include #include @@ -27,8 +27,6 @@ #include #include #include -#include -#include #include #include @@ -37,7 +35,7 @@ #include "mpcollectioncontainerfactory.h" #include "mpcollectioncontainer.h" #include "mpcollectiondatamodel.h" -#include "mpengine.h" +#include "mpenginefactory.h" #include "mpmpxcollectiondata.h" #include "mpnowplayingwidget.h" #include "mpcommondefs.h" @@ -49,8 +47,21 @@ const char*MUSIC_COLLECTION_DOCML = ":/docml/musiccollection.docml"; -const char*EFFECT_SELECT = ":/effects/select.fxml"; -const char*EFFECT_SELECT_END = ":/effects/select_end.fxml"; + +const char*CONTAINER_EFFECT_GROUP = "mpcontainer"; + +const char*SHOW_EFFECT = "show"; +const char*HIDE_EFFECT = "hide"; +const char*SHOW_BACK_EFFECT = "show_back"; +const char*HIDE_BACK_EFFECT = "hide_back"; + +const char*SHOW_EFFECT_RESOURCE_NAME = "view_show_normal"; +const char*HIDE_EFFECT_RESOURCE_NAME = "view_hide_normal"; +const char*SHOW_BACK_EFFECT_RESOURCE_NAME = "view_show_back"; +const char*HIDE_BACK_EFFECT_RESOURCE_NAME = "view_hide_back"; + +const char*EFFECT_TARGET_SNAPSHOT = "snapshot"; +const char*EFFECT_TARGET_CONTAINER = "container"; const int KMainToolBarAll = 0; const int KMainToolBarArtists = 1; @@ -90,15 +101,15 @@ mActivated( false ), mNowPlayingBanner( 0 ), mBannerAttached( false ), - mNavigationQuit( 0 ), - mNavigationBack( 0 ), + mSoftKeyQuit( 0 ), + mSoftKeyBack( 0 ), + mShuffleAction( 0 ), + mShuffleEnabled( false ), mDocumentLoader( 0 ), mMainContainer( 0 ), mMainToolBar( 0 ), mPlaylistToolBar( 0 ), mSnapshot( 0 ), - mMpTranslator( 0 ), - mCommonTranslator( 0 ), mActivationWaiting( false ), mMpPopupHandler( 0 ), mUsbBlocked( false ) @@ -113,8 +124,8 @@ { TX_ENTRY delete mSnapshot; - delete mNavigationQuit; - delete mNavigationBack; + delete mSoftKeyQuit; + delete mSoftKeyBack; HbToolBar *toolBar = takeToolBar(); if ( mMainToolBar != toolBar && mPlaylistToolBar != toolBar ) { @@ -127,12 +138,10 @@ mPlaylistToolBar->deleteLater(); } - delete mCollectionDataModel; delete mCollectionContainer; delete mContainerFactory; + delete mCollectionDataModel; delete mDocumentLoader; - delete mMpTranslator; - delete mCommonTranslator; TX_EXIT } @@ -143,56 +152,27 @@ { TX_ENTRY - //Load musicplayer and common translators - QString lang = QLocale::system().name(); - QString path = QString( "z:/resource/qt/translations/" ); - bool translatorLoaded = false; - - mMpTranslator = new QTranslator( this ); - translatorLoaded = mMpTranslator->load( path + "musicplayer_" + lang ); - TX_LOG_ARGS( "Loading translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mMpTranslator ); - } - - mCommonTranslator = new QTranslator( this ); - translatorLoaded = mCommonTranslator->load( path + "common_" + lang ); - TX_LOG_ARGS( "Loading common translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mCommonTranslator ); - } - mWindow = mainWindow(); // Create softkey actions - mNavigationQuit = new HbAction( Hb::QuitNaviAction, this ); - connect( mNavigationQuit, SIGNAL( triggered() ), this, SLOT( back() ) ); + mSoftKeyQuit = new HbAction( Hb::QuitNaviAction, this ); + connect( mSoftKeyQuit, SIGNAL( triggered() ), this, SLOT( back() ) ); - mNavigationBack = new HbAction( Hb::BackNaviAction, this ); - connect( mNavigationBack, SIGNAL( triggered() ), this, SLOT( back() ) ); + mSoftKeyBack = new HbAction( Hb::BackNaviAction, this ); + connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) ); + + mMpEngine = MpEngineFactory::sharedEngine(); - mMpEngine = MpEngine::instance(); - - connect( mMpEngine, - SIGNAL( collectionPlaylistOpened() ), - this, - SLOT( startPlaybackView() ) ); - connect( mMpEngine, - SIGNAL( playlistSaved( bool ) ), - this, - SLOT( playlistSaved( bool ) ) ); - connect( mMpEngine, - SIGNAL( songsDeleted( bool ) ), - this, - SLOT( songsDeleted( bool ) ) ); - connect( mMpEngine, - SIGNAL( playlistsRenamed( bool ) ), - this, - SLOT( playlistsRenamed( bool ) ) ); - connect( mMpEngine, - SIGNAL( isolatedCollectionOpened( MpMpxCollectionData* ) ), - this, - SLOT( handleIsolatedCollectionOpened( MpMpxCollectionData* ) ) ); + connect( mMpEngine, SIGNAL( collectionPlaylistOpened() ), + this, SLOT( startPlaybackView() ) ); + connect( mMpEngine, SIGNAL( playlistSaved( bool ) ), + this, SLOT( playlistSaved( bool ) ) ); + connect( mMpEngine, SIGNAL( songsDeleted( bool ) ), + this, SLOT( songsDeleted( bool ) ) ); + connect( mMpEngine, SIGNAL( playlistsRenamed( bool ) ), + this, SLOT( playlistsRenamed( bool ) ) ); + connect( mMpEngine, SIGNAL( isolatedCollectionOpened( MpMpxCollectionData* ) ), + this, SLOT( handleIsolatedCollectionOpened( MpMpxCollectionData* ) ) ); mCollectionData = mMpEngine->collectionData(); qRegisterMetaType("TCollectionContext"); @@ -213,10 +193,13 @@ // Banner is not needed since playback is stopped when returning // from playback preview. Disable the banner from updating. mNowPlayingBanner->setEnabled( false ); + attachNowPlayingBanner( false ); } else { connect( mNowPlayingBanner, SIGNAL( clicked() ), this, SLOT( startPlaybackView() ) ); - connect( mNowPlayingBanner, SIGNAL( playbackAttachmentChanged( bool ) ), this, SLOT( attachNowPlayingBanner( bool ) ) ); + connect( mNowPlayingBanner, SIGNAL( playbackAttachmentChanged( bool ) ), + this, SLOT( attachNowPlayingBanner( bool ) ) ); + attachNowPlayingBanner( mNowPlayingBanner->isBannerAttached() ); } widget = mDocumentLoader->findWidget( QString( "mainContainer" ) ); @@ -224,29 +207,12 @@ setWidget( mMainContainer ); - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_out_to_left.fxml" ), - QString( "slide_out_to_left" ) ); - - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_out_to_right.fxml" ), - QString( "slide_out_to_right" ) ); - - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_out_to_top.fxml" ), - QString( "slide_out_to_top" ) ); + HbEffect::add( + QStringList() << CONTAINER_EFFECT_GROUP << CONTAINER_EFFECT_GROUP << CONTAINER_EFFECT_GROUP << CONTAINER_EFFECT_GROUP, + QStringList() << SHOW_EFFECT_RESOURCE_NAME << HIDE_EFFECT_RESOURCE_NAME << SHOW_BACK_EFFECT_RESOURCE_NAME << HIDE_BACK_EFFECT_RESOURCE_NAME, + QStringList() << SHOW_EFFECT << HIDE_EFFECT << SHOW_BACK_EFFECT << HIDE_BACK_EFFECT); - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_in_to_right_and_fade_in.fxml" ), - QString( "slide_in_to_right_and_fade_in" ) ); - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_in_to_left_and_fade_in.fxml" ), - QString( "slide_in_to_left_and_fade_in" ) ); - - HbEffect::add( QString( "container" ), - QString( ":/effects/slide_in_to_top_and_fade_in.fxml" ), - QString( "slide_in_to_top_and_fade_in" ) ); } else { TX_LOG_ARGS( "Error: invalid xml file." ); @@ -267,7 +233,7 @@ if ( MpSettingsManager::firstStartup() ) { mActivationWaiting = true; - mMpEngine->refreshLibrary(); + mMpEngine->refreshLibrary( true ); } TX_EXIT @@ -285,7 +251,12 @@ TX_ENTRY_ARGS( "mCollectionContext=" << mCollectionContext ); if ( mCollectionContext == ECollectionContextUnknown ) { // Open 'All Songs' by default - mMpEngine->openCollection( ECollectionContextAllSongs ); + if ( mCollectionData->context() == ECollectionContextAllSongs ){ + setContext( ECollectionContextAllSongs ); + } + else { + mMpEngine->openCollection( ECollectionContextAllSongs ); + } } else { // This true when returning from other views, e.g. playback view @@ -301,8 +272,8 @@ { TX_ENTRY mActivated = false; - - cancelOngoingOperation(); + + closeActiveDialog( true ); setNavigationAction( 0 ); TX_EXIT @@ -319,9 +290,7 @@ mMpEngine->openCollection( ECollectionContextAllSongs ); } - if ( mBannerAttached ) { - setBannerVisibility( false ); - } + TX_EXIT } @@ -356,18 +325,24 @@ if ( mActivated ) { startContainerTransition( mCollectionContext, context ); } + mCollectionContext = context; + // Reset softkey and the menu + if ( mActivated ) { + setSoftkey(); + } + + // Close any possible popup already launched with previous context + closeActiveDialog(); + + updateToolBar(); + updateMenu(); + mCollectionContainer = mContainerFactory->createContainer( context ); mCollectionContainer->setViewMode( mViewMode ); mCollectionDataModel->refreshModel(); mCollectionContainer->setDataModel( mCollectionDataModel ); - // Reset softkey and the menu - if ( mActivated ) { - setSoftkey(); - } - updateToolBar(); - updateMenu(); TX_EXIT } @@ -421,18 +396,6 @@ } /*! - Slot to be called when 'Genres' action is triggered from the toolbar. - */ -void MpCollectionView::openGenres() -{ - TX_ENTRY - if ( mCollectionContext != ECollectionContextGenres ) { - mMpEngine->openCollection( ECollectionContextGenres ); - } - TX_EXIT -} - -/*! Slot to be called when 'Find' action is triggered from the toolbar. */ void MpCollectionView::find() @@ -467,22 +430,41 @@ QString songUri; switch ( mCollectionContext ) { case ECollectionContextAllSongs: - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: + case ECollectionContextArtistAllSongs: case ECollectionContextPlaylistSongs: - case ECollectionContextGenreSongs: doOpen = false; songUri = mCollectionData->itemData( index, MpMpxCollectionData::Uri ); emit songSelected( songUri ); break; + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + doOpen = false; + songUri = mCollectionData->albumSongData( index, MpMpxCollectionData::Uri ); + emit songSelected( songUri ); + break; default: break; } } + if ( doOpen ) { - // TODO: "if" used as workaround for HbListView multiple events: longPress and activated. - // Remove once HbListView get fixed (wk14 or 16) - if ( !mMpPopupHandler->showingPopup() ) { + if ( mCollectionContext == ECollectionContextArtistAlbums ) { + if ( (mCollectionData->count() > 1) && (index == 0) ) { + mMpEngine->openCollectionItem( index ); + } + else { + // Artist-Album view going into T-bone. We don't actually open the + // collection. Just fake an open. + mCollectionData->setContext( ECollectionContextArtistAlbumsTBone ); + } + } + else if ( mCollectionContext == ECollectionContextAlbums ) { + // Album view going into T-bone. We don't actually open the + // collection. Just fake an open. + mCollectionData->setContext( ECollectionContextAlbumsTBone ); + } + else { + // Real open. Forward it to the engine. mMpEngine->openCollectionItem( index ); } } @@ -490,6 +472,28 @@ } /*! + Slot to be called when an album is centered in T-Bone view and we need to + find the songs beloging to album with \a index. + */ +void MpCollectionView::findAlbumSongs( int index ) +{ + TX_ENTRY_ARGS( "index=" << index ); + mMpEngine->findAlbumSongs(index); + TX_EXIT +} + +/*! + Slot to be called when a song is selected in T-Bone view and we need to + play album with \a albumIndex starting with the songs with \a songIndex. + */ +void MpCollectionView::playAlbumSongs( int albumIndex, int songIndex ) +{ + TX_ENTRY_ARGS( "albumIndex=" << albumIndex << "songIndex=" << songIndex ); + mMpEngine->playAlbumSongs(albumIndex, songIndex); + TX_EXIT +} + +/*! Slot to be called when back/quit softkey is pressed. */ void MpCollectionView::back() @@ -501,17 +505,28 @@ case ECollectionContextArtists: case ECollectionContextAlbums: case ECollectionContextPlaylists: - case ECollectionContextGenres: // Exit from these levels. doExit = true; break; - case ECollectionContextAlbumSongs: case ECollectionContextArtistAlbums: - case ECollectionContextArtistSongs: + case ECollectionContextArtistAllSongs: case ECollectionContextPlaylistSongs: - case ECollectionContextGenreSongs: mMpEngine->back(); break; + case ECollectionContextArtistAlbumsTBone: + if ( mCollectionData->count() > 1 ) { + // Going from T-Bone to Artist-Album view; Need to fake back. + mCollectionData->setContext(ECollectionContextArtistAlbums); + } + else { + // There only 1 album under this artist. Return to artist view. + mMpEngine->back(); + } + break; + case ECollectionContextAlbumsTBone: + // Going from T-Bone to Album view; Need to fake back. + mCollectionData->setContext(ECollectionContextAlbums); + break; default: doExit = true; break; @@ -524,7 +539,7 @@ emit songSelected( "" ); } else { - emit command( MpCommon::Exit ); + emit command( MpCommon::SendToBackground ); } } TX_EXIT @@ -568,7 +583,7 @@ */ void MpCollectionView::containerTransitionComplete( const HbEffect::EffectStatus &status ) { - if ( status.userData == "snapshot_effect" ) { + if ( status.userData == EFFECT_TARGET_SNAPSHOT ) { qobject_cast( mWindow )->scene()->removeItem( mSnapshot ); mSnapshot->deleteLater(); mSnapshot = 0; @@ -583,16 +598,15 @@ mMpEngine->setShuffle( true ); MpSettingsManager::setShuffle( true ); int index = generateShuffleIndex(); - openIndex( index ); -} - - -/*! - Slot to be called when 'Refresh Library' is clicked by the user from the menu. - */ -void MpCollectionView::refreshLibrary() -{ - mMpEngine->refreshLibrary(); + switch ( mCollectionContext ) { + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + playAlbumSongs( mCollectionData->currentAlbumIndex(), index ); + break; + default: + openIndex( index ); + break; + } } /*! @@ -600,7 +614,15 @@ */ void MpCollectionView::addToPlaylist() { - mMpPopupHandler->openAddSongsToPlaylist( mCollectionDataModel ); + switch ( mCollectionContext ) { + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + mMpPopupHandler->openAddSongsToPlaylistFromTBone(); + break; + default: + mMpPopupHandler->openAddSongsToPlaylist( mCollectionDataModel ); + break; + } } /*! @@ -627,9 +649,9 @@ */ void MpCollectionView::playlistSaved( bool success ) { - if ( success && - ( ECollectionContextPlaylists == mCollectionContext || - ECollectionContextPlaylistSongs == mCollectionContext ) ) { + if ( success + && ( ECollectionContextPlaylists == mCollectionContext + || ECollectionContextPlaylistSongs == mCollectionContext ) ) { mMpEngine->reopenCollection(); } } @@ -687,7 +709,7 @@ */ void MpCollectionView::arrangeSongs( ) { - mMpPopupHandler->openArrangeSongs( mCollectionData ); + mMpPopupHandler->openArrangeSongs(); } /*! @@ -717,7 +739,7 @@ TX_ENTRY_ARGS( "blocked=" << blocked ); mUsbBlocked = blocked; - cancelOngoingOperation(); + closeActiveDialog(); updateMenu(); if ( mCollectionContext == ECollectionContextPlaylistSongs ) { @@ -732,7 +754,7 @@ void MpCollectionView::handleLibraryAboutToUpdate() { TX_ENTRY - cancelOngoingOperation(); + closeActiveDialog(); TX_EXIT } @@ -747,7 +769,7 @@ activateView(); } else { - cancelOngoingOperation(); + closeActiveDialog(); //Update cache, even if collection is in background. //Library refreshing could be triggered at any point due USB/MMC events. @@ -757,6 +779,21 @@ } /*! + Slot to be called when shuffle action status changes. This is called by the + containers. Shuffle is only enabled when there is more than 1 song and the + it can change when songs are deleted or when new songs are found during refresh. + */ +void MpCollectionView::setShuffleAction( bool enabled ) +{ + TX_ENTRY + mShuffleEnabled = enabled; + if ( mShuffleAction ) { + mShuffleAction->setEnabled(enabled); + } + TX_EXIT +} + +/*! \internal Sets the main ( default ) toolbar for the view. */ @@ -766,38 +803,34 @@ if ( !mMainToolBar ) { //Create the toolbar. mMainToolBar = new HbToolBar(); + mMainToolBar->setObjectName( "MainToolBar" ); mMainToolBar->setOrientation( Qt::Horizontal ); QActionGroup *actionsGroup = new QActionGroup( mMainToolBar ); HbAction *action; // All Songs - action = createToolBarAction( actionsGroup, "qtg_mono_songs_all" ); + action = createToolBarAction( actionsGroup, "qtg_mono_songs_all", "AllSongsAction" ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openSongs() ) ); mMainToolBar->addAction( action ); // Artists - action = createToolBarAction( actionsGroup, "qtg_mono_artists" ); + action = createToolBarAction( actionsGroup, "qtg_mono_artists", "ArtistsAction" ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openArtists() ) ); mMainToolBar->addAction( action ); // Albums - action = createToolBarAction( actionsGroup, "qtg_mono_music_albums" ); + action = createToolBarAction( actionsGroup, "qtg_mono_music_albums", "AlbumsAction" ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openAlbums() ) ); mMainToolBar->addAction( action ); // Playlists - action = createToolBarAction( actionsGroup, "qtg_mono_playlist" ); + action = createToolBarAction( actionsGroup, "qtg_mono_playlist", "PlaylistsAction" ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openPlaylists() ) ); mMainToolBar->addAction( action ); - - // Genres - action = createToolBarAction( actionsGroup, "qtg_mono_search" ); - connect( action, SIGNAL( triggered( bool ) ), this, SLOT( find() ) ); - mMainToolBar->addAction( action ); - + if ( mViewMode != MpCommon::FetchView ) { // Music Store - action = createToolBarAction(actionsGroup, "qtg_mono_ovistore" ); + action = createToolBarAction(actionsGroup, "qtg_mono_ovistore", "MusicStoreAction" ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openMusicStore() ) ); mMainToolBar->addAction( action ); } @@ -808,15 +841,12 @@ action = qobject_cast( mMainToolBar->actions()[KMainToolBarAll] ); break; case ECollectionContextArtists: - case ECollectionContextArtistAlbums: action = qobject_cast( mMainToolBar->actions()[KMainToolBarArtists] ); break; case ECollectionContextAlbums: - case ECollectionContextAlbumSongs: action = qobject_cast( mMainToolBar->actions()[KMainToolBarAlbums] ); break; case ECollectionContextPlaylists: - case ECollectionContextPlaylistSongs: action = qobject_cast( mMainToolBar->actions()[KMainToolBarPlaylists] ); break; } @@ -843,26 +873,26 @@ TX_ENTRY if ( !mPlaylistToolBar ) { mPlaylistToolBar = new HbToolBar(); + mPlaylistToolBar->setObjectName( "PlaylistToolBar" ); mPlaylistToolBar->setOrientation( Qt::Horizontal ); HbAction *action; - HbIcon *icon; action = new HbAction( this ); - icon = new HbIcon( "qtg_mono_plus" ); - action->setIcon( *icon ); + action->setIcon( HbIcon( "qtg_mono_plus" ) ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( prepareToAddToPlaylist() ) ); + action->setObjectName( "AddToPlaylistAction" ); mPlaylistToolBar->addAction( action ); action = new HbAction( this ); - icon = new HbIcon( "qtg_mono_minus" ); - action->setIcon( *icon); + action->setIcon( HbIcon( "qtg_mono_minus" ) ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( deleteSongs() ) ); + action->setObjectName( "RemoveFromPlaylistAction" ); mPlaylistToolBar->addAction( action ); action = new HbAction( this ); - icon = new HbIcon( "qtg_mono_organize" ); - action->setIcon( *icon ); + action->setIcon( HbIcon( "qtg_mono_organize" ) ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( arrangeSongs() ) ); + action->setObjectName( "OrganizePlaylistAction" ); mPlaylistToolBar->addAction( action ); } @@ -893,13 +923,15 @@ */ HbAction *MpCollectionView::createToolBarAction( QActionGroup *actionsGroup, - const QString& icon ) + const QString& icon, + const QString& objectName ) { HbIcon actionIcon( icon ); HbAction *action = new HbAction( actionsGroup ); action->setIcon( actionIcon ); action->setCheckable( true ); + action->setObjectName( objectName ); return action; } @@ -913,61 +945,63 @@ HbMenu *myMenu = new HbMenu(); HbAction *menuAction; if ( mViewMode == MpCommon::DefaultView ) { - bool items = mCollectionData->count() != 0; + int count = mCollectionData->count(); switch ( mCollectionContext ) { - case ECollectionContextAllSongs: - menuAction = myMenu->addAction( hbTrId( "txt_mus_dblist_shuffle" ) ); - if ( items ){ - connect( menuAction, SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) ); + case ECollectionContextAllSongs: + mShuffleAction = myMenu->addAction( hbTrId( "txt_mus_opt_shuffle" ) ); + connect( mShuffleAction, SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) ); + if ( count <= 1 ) { + mShuffleAction->setDisabled( true ); } - else { - menuAction->setDisabled( true ); - } - - menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ); - if ( items && !mUsbBlocked ) { + menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ); + if ( count && !mUsbBlocked ) { connect( menuAction, SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) ); } else { menuAction->setDisabled( true ); } - - menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); + menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); if ( !mUsbBlocked ) { - connect( menuAction, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); - } - else { - menuAction->setDisabled( true ); - } - - connect( myMenu->addAction(hbTrId("txt_common_opt_exit")), SIGNAL(triggered()), this, SLOT(exit()) ); - break; - - case ECollectionContextArtists: - menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); - if ( !mUsbBlocked ) { - connect( menuAction, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); + connect( menuAction, SIGNAL( triggered() ), mMpEngine, SLOT( refreshLibrary() ) ); } else { menuAction->setDisabled( true ); } connect( myMenu->addAction(hbTrId("txt_common_opt_exit")), SIGNAL(triggered()), this, SLOT(exit()) ); break; + case ECollectionContextArtists: case ECollectionContextAlbums: - //connect( myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ), SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) ); - // Todo: View as coverflow menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); if ( !mUsbBlocked ) { - connect( menuAction, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); + connect( menuAction, SIGNAL( triggered() ), mMpEngine, SLOT( refreshLibrary() ) ); } else { menuAction->setDisabled( true ); } connect( myMenu->addAction(hbTrId("txt_common_opt_exit")), SIGNAL(triggered()), this, SLOT(exit()) ); break; - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: - menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ); + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + mShuffleAction = myMenu->addAction( hbTrId( "txt_mus_opt_shuffle" ) ); + connect( mShuffleAction, SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) ); + if ( !mShuffleEnabled ) { + mShuffleAction->setDisabled( true ); + } + menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ); + if ( !mUsbBlocked ) { + connect( menuAction, SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) ); + } + else { + menuAction->setDisabled( true ); + } + break; + case ECollectionContextArtistAllSongs: + mShuffleAction = myMenu->addAction( hbTrId( "txt_mus_opt_shuffle" ) ); + connect( mShuffleAction, SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) ); + if ( count <= 1 ) { + mShuffleAction->setDisabled( true ); + } + menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ); if ( !mUsbBlocked ) { connect( menuAction, SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) ); } @@ -986,7 +1020,12 @@ connect( myMenu->addAction(hbTrId("txt_common_opt_exit")), SIGNAL(triggered()), this, SLOT(exit()) ); break; case ECollectionContextPlaylistSongs: - if ( !mCollectionData->isAutoPlaylist() ){ + mShuffleAction = myMenu->addAction( hbTrId( "txt_mus_opt_shuffle" ) ); + connect( mShuffleAction, SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) ); + if ( count <= 1 ) { + mShuffleAction->setDisabled( true ); + } + if ( !mCollectionData->isAutoPlaylist() ) { menuAction = myMenu->addAction( hbTrId( "txt_common_menu_rename_item" ) ); if ( !mUsbBlocked ) { connect( menuAction, SIGNAL( triggered() ), this, SLOT( renameCurrentPlaylistContainer() ) ); @@ -1002,21 +1041,12 @@ } else if ( mViewMode == MpCommon::FetchView ) { switch ( mCollectionContext ) { - case ECollectionContextAllSongs: - menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); - if ( !mUsbBlocked ) { - connect( menuAction, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); - } - else { - menuAction->setDisabled( true ); - } - break; + case ECollectionContextAllSongs: + case ECollectionContextArtists: case ECollectionContextAlbums: - //connect( myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ), SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) ); - // Todo: View as coverflow menuAction = myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ); if ( !mUsbBlocked ) { - connect( menuAction, SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) ); + connect( menuAction, SIGNAL( triggered() ), mMpEngine, SLOT( refreshLibrary() ) ); } else { menuAction->setDisabled( true ); @@ -1050,9 +1080,9 @@ } break; case ECollectionContextArtistAlbums: - case ECollectionContextArtistSongs: - case ECollectionContextAlbumSongs: - case ECollectionContextGenreSongs: + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextArtistAllSongs: + case ECollectionContextAlbumsTBone: if ( !toolBar()->actions().empty() ) { takeToolBar(); setToolBar( new HbToolBar ); @@ -1074,7 +1104,7 @@ if ( mViewMode == MpCommon::FetchView ) { // 'Back' is used in all views in fetch mode because we must // appear as an embedded application. - setNavigationAction( mNavigationBack ); + setNavigationAction( mSoftKeyBack ); } else { switch ( mCollectionContext ) { @@ -1082,11 +1112,10 @@ case ECollectionContextArtists: case ECollectionContextAlbums: case ECollectionContextPlaylists: - case ECollectionContextGenres: - setNavigationAction( mNavigationQuit ); + setNavigationAction( mSoftKeyQuit ); break; default: - setNavigationAction( mNavigationBack ); + setNavigationAction( mSoftKeyBack ); break; } } @@ -1121,7 +1150,16 @@ int MpCollectionView::generateShuffleIndex() { int low = 0; - int high = mCollectionData->count(); + int high = 0; + switch ( mCollectionContext ) { + case ECollectionContextArtistAlbumsTBone: + case ECollectionContextAlbumsTBone: + high = mCollectionData->albumSongsCount(); + break; + default: + high = mCollectionData->count(); + break; + } time_t seconds; time( &seconds ); @@ -1148,73 +1186,50 @@ mWindow->scene()->addItem( mSnapshot ); - if ( ( contextFrom == ECollectionContextAlbums && contextTo == ECollectionContextAlbumSongs ) || - ( contextFrom == ECollectionContextArtists && contextTo == ECollectionContextArtistAlbums ) || - ( contextFrom == ECollectionContextArtistAlbums && contextTo == ECollectionContextAlbumSongs ) || - ( contextFrom == ECollectionContextArtistAlbums && contextTo == ECollectionContextArtistSongs ) || - ( contextFrom == ECollectionContextPlaylists && contextTo == ECollectionContextPlaylistSongs ) || - ( contextFrom == ECollectionContextGenres && contextTo == ECollectionContextGenreSongs ) ) { + if( ( contextFrom == ECollectionContextAlbumsTBone && contextTo == ECollectionContextAlbums ) || + ( contextFrom == ECollectionContextArtistAlbums && contextTo == ECollectionContextArtists ) || + ( contextFrom == ECollectionContextArtistAlbumsTBone && contextTo == ECollectionContextArtistAlbums ) || + ( contextFrom == ECollectionContextArtistAlbumsTBone && contextTo == ECollectionContextArtists ) || + ( contextFrom == ECollectionContextArtistAllSongs && contextTo == ECollectionContextArtistAlbums ) || + ( contextFrom == ECollectionContextPlaylistSongs && contextTo == ECollectionContextPlaylists ) ) { HbEffect::start( mSnapshot, - QString( "container" ), - QString( "slide_out_to_left" ), - this, - "containerTransitionComplete", - QString( "snapshot_effect") ); - - HbEffect::start( mMainContainer, - QString( "container" ), - QString( "slide_in_to_left_and_fade_in" ), + QString( CONTAINER_EFFECT_GROUP ), + QString( HIDE_BACK_EFFECT ), this, "containerTransitionComplete", - QString( "mainContainer_effect") ); - } - else if( ( contextFrom == ECollectionContextAlbumSongs && contextTo == ECollectionContextAlbums ) || - ( contextFrom == ECollectionContextArtistAlbums && contextTo == ECollectionContextArtists ) || - ( contextFrom == ECollectionContextAlbumSongs && contextTo == ECollectionContextArtistAlbums ) || - ( contextFrom == ECollectionContextArtistSongs && contextTo == ECollectionContextArtistAlbums ) || - ( contextFrom == ECollectionContextPlaylistSongs && contextTo == ECollectionContextPlaylists ) || - ( contextFrom == ECollectionContextGenreSongs && contextTo == ECollectionContextGenres ) ) { - HbEffect::start( mSnapshot, - QString( "container" ), - QString( "slide_out_to_right" ), + QString( EFFECT_TARGET_SNAPSHOT) ); + + HbEffect::start( mMainContainer, + QString( CONTAINER_EFFECT_GROUP ), + QString( SHOW_BACK_EFFECT ), this, "containerTransitionComplete", - QString( "snapshot_effect") ); - - HbEffect::start( mMainContainer, - QString( "container" ), - QString( "slide_in_to_right_and_fade_in" ), - this, - "containerTransitionComplete", - QString( "mainContainer_effect") ); + QString( EFFECT_TARGET_CONTAINER) ); } else { HbEffect::start( mSnapshot, - QString( "container" ), - QString( "slide_out_to_top" ), + QString( CONTAINER_EFFECT_GROUP ), + QString( HIDE_EFFECT ), this, "containerTransitionComplete", - QString( "snapshot_effect") ); + QString( EFFECT_TARGET_SNAPSHOT) ); HbEffect::start( mMainContainer, - QString( "container" ), - QString( "slide_in_to_top_and_fade_in" ), + QString( CONTAINER_EFFECT_GROUP ), + QString( SHOW_EFFECT ), this, "containerTransitionComplete", - QString( "mainContainer_effect") ); + QString( EFFECT_TARGET_CONTAINER ) ); } - } /*! \internal Closes any active dialog or menu. */ -void MpCollectionView::cancelOngoingOperation() +void MpCollectionView::closeActiveDialog( bool onlyContextMenu ) { - if ( mActivated ) { - mMpPopupHandler->cancelOngoingPopup(); - menu()->close(); - } + mMpPopupHandler->cancelOngoingPopup( onlyContextMenu ); + menu()->close(); } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/src/mpsnapshotwidget.cpp --- a/mpviewplugins/mpcollectionviewplugin/src/mpsnapshotwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/src/mpsnapshotwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,7 +17,7 @@ #include #include -#include +#include #include "mpsnapshotwidget.h" #include "mptrace.h" @@ -39,6 +39,7 @@ mSnapshot(0) { TX_ENTRY_ARGS( " Parent=" << (void *)parent ) + setFlag( QGraphicsItem::ItemHasNoContents, false ); TX_EXIT } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,22 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpcollectioncontainers \ + unittest_mpcollectiondocumentloader \ + unittest_mpsnapshotwidget + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/inc/unittest_mpcollectioncontainers.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/inc/unittest_mpcollectioncontainers.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/inc/unittest_mpcollectioncontainers.h Thu Jul 22 16:32:33 2010 +0100 @@ -20,7 +20,7 @@ #include -//Forward declarations +class QTranslator; class MpCollectionContainer; class MpCollectionContainerFactory; class MpCollectionDocumentLoader; @@ -48,11 +48,34 @@ private slots: - void testConstructors(); - void testSetupContainers(); - void testItemActivated(); + void testConstructorAllSongs(); + void testConstructorArtists(); + void testConstructorAlbums(); + void testConstructorPlaylists(); + + void testSetupContainerAllSongs(); + void testSetupContainerAllSongsFetcher(); + void testSetupContainerAllSongsNoData(); + void testSetupContainerArtists(); + void testSetupContainerArtistsFetcher(); + void testSetupContainerArtistsNoData(); + void testSetupContainerAlbums(); + void testSetupContainerAlbumsFetcher(); + void testSetupContainerAlbumsNoData(); + void testSetupContainerPlaylists(); + void testSetupContainerPlaylistsFetcher(); + void testSetupContainerPlaylistsNoData(); + + void testItemActivatedAllSongs(); + void testItemActivatedArtists(); + void testItemActivatedAlbums(); + void testItemActivatedPlaylists(); + void testOnLongPressed(); - + + void testAlbumCenteredArtists(); + void testAlbumCenteredAlbums(); + private: MpCollectionContainer *mTest; @@ -60,6 +83,8 @@ MpCollectionDataModel *mCollectionDataModel; MpMpxCollectionData *mCollectionData; + QTranslator *mMpTranslator; // Own + }; #endif // TESTMPCOLLECTIONCONTAINERS_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,12 +15,16 @@ * */ -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mpcommondefs.h" #include "mpcollectiondocumentloader.h" #include "stub/inc/mpcollectionview.h" #include "stub/inc/mpmpxcollectiondata.h" @@ -39,7 +43,6 @@ #include "mpcollectioncontainerartists.h" #include "mpcollectioncontaineralbums.h" #include "mpcollectioncontainerplaylists.h" -#include "mpcollectioncontainergenres.h" #undef private #undef protected /*! @@ -47,30 +50,34 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpCollectionContainers tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpcollectioncontainers.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpcollectioncontainers.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpCollectionContainers::TestMpCollectionContainers() : mTest(0), mCollectionDataModel(0), - mCollectionData(0) + mCollectionData(0), + mMpTranslator(0) { } TestMpCollectionContainers::~TestMpCollectionContainers() { delete mTest; + delete mMpTranslator; } /*! @@ -78,6 +85,15 @@ */ void TestMpCollectionContainers::initTestCase() { + QString lang = QLocale::system().name(); + QString path = QString("z:/resource/qt/translations/"); + bool translatorLoaded = false; + + mMpTranslator = new QTranslator(this); + translatorLoaded = mMpTranslator->load(path + "musicplayer_" + lang); + if ( translatorLoaded ) { + qApp->installTranslator(mMpTranslator); + } } /*! @@ -96,6 +112,7 @@ mView->initializeView(); mCollectionData = new MpMpxCollectionData(); mCollectionDataModel = new MpCollectionDataModel(mCollectionData); + mTest = 0; } /*! @@ -109,345 +126,661 @@ } /*! - Test constructors + Test constructor for AllSongs container + */ +void TestMpCollectionContainers::testConstructorAllSongs() +{ + mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); + QCOMPARE(mTest->mCollectionContext, ECollectionContextAllSongs); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs); + MpCollectionContainerAllSongs *allSongs = static_cast(mTest); + QVERIFY(allSongs->mList == 0); + QVERIFY(allSongs->mInfoBar == 0); + QVERIFY(allSongs->mNoMusic == 0); + QVERIFY(allSongs->mIndexFeedback != 0); + QVERIFY(allSongs->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); +} + +/*! + Test constructor for Artists container */ -void TestMpCollectionContainers::testConstructors() +void TestMpCollectionContainers::testConstructorArtists() +{ + MpCollectionContainer *temp = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); + QCOMPARE(mTest->mCollectionContext, ECollectionContextArtists); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists); + MpCollectionContainerArtists *artists = static_cast(mTest); + QVERIFY(artists->mList == 0); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mNoMusic == 0); + QVERIFY(artists->mIndexFeedback != 0); + QVERIFY(artists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); + + temp = mView->mContainerFactory->createContainer(ECollectionContextArtistAlbums); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtistAlbums); + // Verify that the same container is used. + QVERIFY(mTest == temp); + + temp = 0; + temp = mView->mContainerFactory->createContainer(ECollectionContextArtistAlbumsTBone); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtistAlbumsTBone); + // Verify that the same container is used. + QVERIFY(mTest == temp); + + temp = 0; + temp = mView->mContainerFactory->createContainer(ECollectionContextArtistAllSongs); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtistAllSongs); + // Verify that the same container is used. + QVERIFY(mTest == temp); +} + +/*! + Test constructor for Albums container + */ +void TestMpCollectionContainers::testConstructorAlbums() { - mTest = new MpCollectionContainerAllSongs(mView->mDocumentLoader); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); + MpCollectionContainer *temp = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); + QCOMPARE(mTest->mCollectionContext, ECollectionContextAlbums); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); + MpCollectionContainerAlbums *albums = static_cast(mTest); + QVERIFY(albums->mList == 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mNoMusic == 0); + QVERIFY(albums->mIndexFeedback != 0); + QVERIFY(albums->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); + + temp = 0; + temp = mView->mContainerFactory->createContainer(ECollectionContextAlbumsTBone); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbumsTBone); + // Verify that the same container is used. + QVERIFY(mTest == temp); +} + +/*! + Test constructor for Playlists container + */ +void TestMpCollectionContainers::testConstructorPlaylists() +{ + MpCollectionContainer *temp = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); + QCOMPARE(mTest->mCollectionContext, ECollectionContextPlaylists); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); + MpCollectionContainerPlaylists *playlists = static_cast(mTest); + + QVERIFY(playlists->mList == 0); + QVERIFY(playlists->mInfoBar == 0); + QVERIFY(playlists->mNoMusic == 0); + QVERIFY(playlists->mIndexFeedback != 0); + QVERIFY(playlists->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); + + temp = 0; + temp = mView->mContainerFactory->createContainer(ECollectionContextPlaylistSongs); + QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylistSongs); + // Verify that the same container is used. + QVERIFY(mTest == temp); +} + +/*! + Test setupContainer via setDataModel for AllSongs container. + */ +void TestMpCollectionContainers::testSetupContainerAllSongs() +{ + mCollectionData->mCount = 5; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerAllSongs *allSongs = static_cast(mTest); + + QVERIFY(allSongs->mList != 0); + QVERIFY(allSongs->mInfoBar != 0); + QVERIFY(allSongs->mNoMusic == 0); + QCOMPARE(allSongs->mList->itemRecycling(), true); + QCOMPARE(allSongs->mList->scrollingStyle(), HbListView::PanOrFlick); + QCOMPARE(allSongs->mList->clampingStyle(), HbListView::BounceBackClamping); + QCOMPARE(allSongs->mList->frictionEnabled(), true); + QCOMPARE(allSongs->mList->longPressEnabled(), true); + QCOMPARE(allSongs->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); + QCOMPARE(allSongs->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); + QVERIFY(allSongs->mIndexFeedback->itemView() == allSongs->mList); + + // Normal mode. Should see count. + QCOMPARE(allSongs->mInfoBar->heading(), hbTrId("txt_mus_subhead_ln_songs", 5)); +} + +/*! + Test setupContainer via setDataModel for AllSongs container in Fetcher mode. + */ +void TestMpCollectionContainers::testSetupContainerAllSongsFetcher() +{ + mCollectionData->mCount = 5; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); + mTest->setViewMode(MpCommon::FetchView); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerAllSongs *allSongs = static_cast(mTest); + + // Fetcher mode. + QCOMPARE(allSongs->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_a_song")); +} + +/*! + Test setupContainer via setDataModel for AllSongs container with no data. + */ +void TestMpCollectionContainers::testSetupContainerAllSongsNoData() +{ + mCollectionData->mCount = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerAllSongs *allSongs = static_cast(mTest); + + QVERIFY(allSongs->mList == 0); + QVERIFY(allSongs->mInfoBar == 0); + QVERIFY(allSongs->mNoMusic != 0); +} - delete mTest; - mTest = 0; - - mTest = new MpCollectionContainerArtists(mView->mDocumentLoader); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - - delete mTest; - mTest = 0; - - mTest = new MpCollectionContainerAlbums(mView->mDocumentLoader); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - - delete mTest; - mTest = 0; - - mTest = new MpCollectionContainerPlaylists(mView->mDocumentLoader); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - - delete mTest; - mTest = 0; - - mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->indexFeedbackPolicy() == HbIndexFeedback::IndexFeedbackSingleCharacter); - QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); +/*! + Test setupContainer via setDataModel for Artists container. + */ +void TestMpCollectionContainers::testSetupContainerArtists() +{ + mCollectionData->mCount = 5; + + // User selects Artists + mCollectionData->mContext = ECollectionContextArtists; + mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerArtists *artists = static_cast(mTest); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtists); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone == 0); + QVERIFY(artists->mNoMusic == 0); + QCOMPARE(artists->mList->itemRecycling(), true); + QCOMPARE(artists->mList->scrollingStyle(), HbListView::PanOrFlick); + QCOMPARE(artists->mList->clampingStyle(), HbListView::BounceBackClamping); + QCOMPARE(artists->mList->frictionEnabled(), true); + QCOMPARE(artists->mList->longPressEnabled(), true); + QCOMPARE(artists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); + QCOMPARE(artists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); + QVERIFY(artists->mIndexFeedback->itemView() == artists->mList); + QVERIFY(artists->mCurrentAlbumIndex == 0); + + // User selects an artist - case where artist has more than 1 album + mCollectionData->mContext = ECollectionContextArtistAlbums; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QCOMPARE(artists->mInfoBar->heading(), QString("Title")); + + // User selects an album + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + mCollectionData->mContext = ECollectionContextArtistAlbumsTBone; + mCollectionData->mCurrentAlbumAvailable = false; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone != 0); + QVERIFY(artists->mTBoneListModel != 0); + QVERIFY(artists->mAlbumIndexOffset == 1); + QCOMPARE(artists->mTBone->reflectionsEnabled(), false); + QCOMPARE(spy.count(), 1); + + // User selects back - navigate back to artist albums + mCollectionData->mContext = ECollectionContextArtistAlbums; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QVERIFY(artists->mTBone == 0); + QVERIFY(artists->mAlbumIndexOffset == 0); + QCOMPARE(artists->mInfoBar->heading(), QString("Title")); + + // User selects Artist's all songs + mCollectionData->mContext = ECollectionContextArtistAllSongs; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAllSongs); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subtitle_1_all").arg("Title")); + + // User selects back - navigate back to artist albums + mCollectionData->mContext = ECollectionContextArtistAlbums; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums); + + // User selects back - navigate back to artists + mCollectionData->mContext = ECollectionContextArtists; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtists); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mCurrentAlbumIndex == 0); + + // User selects an artist - case where artist has 1 album + // Goes directly to TBone + mCollectionData->mCount = 1; + mCollectionData->mContext = ECollectionContextArtistAlbumsTBone; + mCollectionData->mCurrentAlbumAvailable = true; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone != 0); + QVERIFY(artists->mTBoneListModel != 0); + QVERIFY(artists->mAlbumIndexOffset == 0); + // We set mCurrentAlbumAvailable to true, so no signal should emit. + QCOMPARE(spy.count(), 1); + + // User selects back - navigate back to artists + mCollectionData->mContext = ECollectionContextArtists; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtists); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone == 0); + QVERIFY(artists->mCurrentAlbumIndex == 0); +} + +/*! + Test setupContainer via setDataModel for Artists container in Fetcher mode. + */ +void TestMpCollectionContainers::testSetupContainerArtistsFetcher() +{ + mCollectionData->mCount = 1; + + // User selects Artists + mCollectionData->mContext = ECollectionContextArtists; + mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); + mTest->setViewMode(MpCommon::FetchView); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerArtists *artists = static_cast(mTest); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtists); + + // User selects an artist - case where artist has 1 album + // Goes directly to TBone + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + mCollectionData->mContext = ECollectionContextArtistAlbumsTBone; + mCollectionData->mCurrentAlbumAvailable = false; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbumsTBone); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QVERIFY(artists->mTBone != 0); + QVERIFY(artists->mTBoneListModel != 0); + QVERIFY(artists->mAlbumIndexOffset == 0); + QCOMPARE(spy.count(), 1); + QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_a_song")); + + // User selects back - navigate back to artists + mCollectionData->mContext = ECollectionContextArtists; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtists); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone == 0); + QVERIFY(artists->mCurrentAlbumIndex == 0); + + // User selects an artist - case where artist has more than 1 album + mCollectionData->mCount = 5; + mCollectionData->mContext = ECollectionContextArtistAlbums; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAlbums); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QCOMPARE(artists->mInfoBar->heading(), QString("Title")); + + // User selects Artist's all songs + mCollectionData->mContext = ECollectionContextArtistAllSongs; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(artists->mCollectionContext, ECollectionContextArtistAllSongs); + QVERIFY(artists->mList != 0); + QVERIFY(artists->mInfoBar != 0); + QCOMPARE(artists->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_a_song")); } /*! - Test setupContainer via setDataModel + Test setupContainer via setDataModel for Artists container with no data. */ -void TestMpCollectionContainers::testSetupContainers() +void TestMpCollectionContainers::testSetupContainerArtistsNoData() { - mCollectionData->mCount = 1; - mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); + mCollectionData->mCount = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); - mCollectionData->mContext = ECollectionContextArtists; + MpCollectionContainerArtists *artists = static_cast(mTest); + + QVERIFY(artists->mList == 0); + QVERIFY(artists->mInfoBar == 0); + QVERIFY(artists->mTBone == 0); + QVERIFY(artists->mNoMusic != 0); +} + +/*! + Test setupContainer via setDataModel for Albums container. + */ +void TestMpCollectionContainers::testSetupContainerAlbums() +{ + mCollectionData->mCount = 5; + + // User selects Albums + mCollectionData->mContext = ECollectionContextAlbums; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists); - - mCollectionData->mContext = ECollectionContextArtistAlbums; + MpCollectionContainerAlbums *albums = static_cast(mTest); + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums); + QVERIFY(albums->mList != 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mTBone == 0); + QVERIFY(albums->mNoMusic == 0); + QCOMPARE(albums->mList->itemRecycling(), true); + QCOMPARE(albums->mList->scrollingStyle(), HbListView::PanOrFlick); + QCOMPARE(albums->mList->clampingStyle(), HbListView::BounceBackClamping); + QCOMPARE(albums->mList->frictionEnabled(), true); + QCOMPARE(albums->mList->longPressEnabled(), true); + QCOMPARE(albums->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); + QCOMPARE(albums->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); + QVERIFY(albums->mIndexFeedback->itemView() == albums->mList); + + // User selects an album + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + mCollectionData->mContext = ECollectionContextAlbumsTBone; + mCollectionData->mCurrentAlbumAvailable = false; mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists); - - mCollectionData->mContext = ECollectionContextArtistSongs; - mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextArtists); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone); + QVERIFY(albums->mList != 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mTBone != 0); + QVERIFY(albums->mTBoneListModel != 0); + QCOMPARE(albums->mTBone->reflectionsEnabled(), false); + QCOMPARE(spy.count(), 1); + + // User selects back - navigate back to albums mCollectionData->mContext = ECollectionContextAlbums; mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); - - mCollectionData->mContext = ECollectionContextAlbumSongs; - mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == static_cast(mTest)->mList); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); - mCollectionData->mContext = ECollectionContextPlaylists; - mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - - mCollectionData->mContext = ECollectionContextPlaylistSongs; + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums); + QVERIFY(albums->mList != 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mTBone == 0); +} + +/*! + Test setupContainer via setDataModel for Albums container in Fetcher mode. + */ +void TestMpCollectionContainers::testSetupContainerAlbumsFetcher() +{ + mCollectionData->mCount = 5; + + // User selects Albums + mCollectionData->mContext = ECollectionContextAlbums; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); + mTest->setViewMode(MpCommon::FetchView); mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QCOMPARE(static_cast(mTest)->mList->itemRecycling(), true); - QCOMPARE(static_cast(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick); - QCOMPARE(static_cast(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping); - QCOMPARE(static_cast(mTest)->mList->longPressEnabled(), true); - QCOMPARE(static_cast(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); - QCOMPARE(static_cast(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - - //Test the case when all the songs are removed from a playlist, previous case is precondition... - mCollectionData->mCount = 0; + MpCollectionContainerAlbums *albums = static_cast(mTest); + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums); + + // User selects an album + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + mCollectionData->mContext = ECollectionContextAlbumsTBone; + mCollectionData->mCurrentAlbumAvailable = true; mTest->setDataModel(mCollectionDataModel); - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - - //Test the case when songs get added to empty playlist, previous case is precondition... - mCollectionData->mCount = 1; - mTest->setDataModel(mCollectionDataModel); - QVERIFY(static_cast(mTest)->mList != 0); - QVERIFY(static_cast(mTest)->mInfoBar != 0); - QVERIFY(static_cast(mTest)->mNoMusic == 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - - - //No data - mTest = 0; - mCollectionData->mCount = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); - mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbumsTBone); + QVERIFY(albums->mList != 0); + QVERIFY(albums->mInfoBar != 0); + QVERIFY(albums->mTBone != 0); + QVERIFY(albums->mTBoneListModel != 0); + QCOMPARE(albums->mTBone->reflectionsEnabled(), false); + // We set mCurrentAlbumAvailable to true, so no signal should emit. + QCOMPARE(spy.count(), 0); + QCOMPARE(albums->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_a_song")); + + // User selects back - navigate back to albums mCollectionData->mContext = ECollectionContextAlbums; mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); - - mCollectionData->mContext = ECollectionContextAlbumSongs; + QCOMPARE(albums->mCollectionContext, ECollectionContextAlbums); + QVERIFY(albums->mList != 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mTBone == 0); +} + +/*! + Test setupContainer via setDataModel for Albums container with no data. + */ +void TestMpCollectionContainers::testSetupContainerAlbumsNoData() +{ + mCollectionData->mCount = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums); - - mTest = 0; - mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); - mCollectionData->mContext = ECollectionContextPlaylists; - mTest->setDataModel(mCollectionDataModel); - - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - - mCollectionData->mContext = ECollectionContextPlaylistSongs; - mTest->setDataModel(mCollectionDataModel); - mCollectionData->mCount = 0; - QVERIFY(static_cast(mTest)->mList == 0); - QVERIFY(static_cast(mTest)->mInfoBar == 0); - QVERIFY(static_cast(mTest)->mNoMusic != 0); - QVERIFY(static_cast(mTest)->mIndexFeedback->itemView() == 0 ); - QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists); - + MpCollectionContainerAlbums *albums = static_cast(mTest); + + QVERIFY(albums->mList == 0); + QVERIFY(albums->mInfoBar == 0); + QVERIFY(albums->mTBone == 0); + QVERIFY(albums->mNoMusic != 0); } /*! - Test itemActivated + Test setupContainer via setDataModel for Playlists container. + */ +void TestMpCollectionContainers::testSetupContainerPlaylists() +{ + mCollectionData->mCount = 5; + + // User selects Playlists + mCollectionData->mContext = ECollectionContextPlaylists; + mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerPlaylists *playlists = static_cast(mTest); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists); + QVERIFY(playlists->mList != 0); + QVERIFY(playlists->mInfoBar == 0); + QVERIFY(playlists->mNoMusic == 0); + QCOMPARE(playlists->mList->itemRecycling(), true); + QCOMPARE(playlists->mList->scrollingStyle(), HbListView::PanOrFlick); + QCOMPARE(playlists->mList->clampingStyle(), HbListView::BounceBackClamping); + QCOMPARE(playlists->mList->frictionEnabled(), true); + QCOMPARE(playlists->mList->longPressEnabled(), true); + QCOMPARE(playlists->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded); + QCOMPARE(playlists->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail); + QVERIFY(playlists->mIndexFeedback->itemView() == 0 ); + + // User selects a playlist + mCollectionData->mContext = ECollectionContextPlaylistSongs; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylistSongs); + QVERIFY(playlists->mList != 0); + QVERIFY(playlists->mInfoBar != 0); + QVERIFY(playlists->mNoMusic == 0); + QCOMPARE(playlists->mInfoBar->heading(), QString("Title")); + + // User selects back - navigate back to playlists + mCollectionData->mContext = ECollectionContextPlaylists; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists); + QVERIFY(playlists->mList != 0); + QVERIFY(playlists->mInfoBar == 0); +} + +/*! + Test setupContainer via setDataModel for Playlists container in Fetcher mode. */ -void TestMpCollectionContainers::testItemActivated() -{ +void TestMpCollectionContainers::testSetupContainerPlaylistsFetcher() +{ + mCollectionData->mCount = 5; + + // User selects Playlists + mCollectionData->mContext = ECollectionContextPlaylists; + mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); + mTest->setViewMode(MpCommon::FetchView); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerPlaylists *playlists = static_cast(mTest); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists); + + // User selects a playlist + mCollectionData->mContext = ECollectionContextPlaylistSongs; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylistSongs); + QVERIFY(playlists->mList != 0); + QVERIFY(playlists->mInfoBar != 0); + QVERIFY(playlists->mNoMusic == 0); + QCOMPARE(playlists->mInfoBar->heading(), hbTrId("txt_mus_subtitle_select_a_song")); + + // User selects back - navigate back to playlists + mCollectionData->mContext = ECollectionContextPlaylists; + mTest->setDataModel(mCollectionDataModel); + QCOMPARE(playlists->mCollectionContext, ECollectionContextPlaylists); + QVERIFY(playlists->mList != 0); + QVERIFY(playlists->mInfoBar == 0); +} + +/*! + Test setupContainer via setDataModel for Playlists container with no data. + */ +void TestMpCollectionContainers::testSetupContainerPlaylistsNoData() +{ + mCollectionData->mCount = 0; + mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); + mTest->setDataModel(mCollectionDataModel); + MpCollectionContainerPlaylists *playlists = static_cast(mTest); + + QVERIFY(playlists->mList == 0); + QVERIFY(playlists->mInfoBar == 0); + QVERIFY(playlists->mNoMusic != 0); +} + +/*! + Test itemActivated - AllSongs container + */ +void TestMpCollectionContainers::testItemActivatedAllSongs() +{ mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); - - QSignalSpy spy(mTest, SIGNAL(itemActivated( int ))); + QSignalSpy spy(mTest, SIGNAL(itemActivated(int))); static_cast(mTest)->itemActivated(QModelIndex()); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); - - mTest = 0; +} + +/*! + Test itemActivated - Artists container. + */ +void TestMpCollectionContainers::testItemActivatedArtists() +{ + QModelIndex index = QModelIndex(); mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); - QSignalSpy spy2(mTest, SIGNAL(itemActivated( int ))); - static_cast(mTest)->itemActivated(QModelIndex()); + QSignalSpy spy(mTest, SIGNAL(itemActivated(int))); + MpCollectionContainerArtists *artists = static_cast(mTest); + + artists->itemActivated(index); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); + QCOMPARE(artists->mCurrentArtistIndex, -1); + + artists->mCollectionContext = ECollectionContextArtistAlbums; + artists->itemActivated(index); + QCOMPARE(spy.count(), 2); + QCOMPARE(qvariant_cast(spy.at(1).at(0)), -1); + QCOMPARE(artists->mCurrentAlbumIndex, -1); + + artists->mCollectionContext = ECollectionContextArtistAlbumsTBone; + QSignalSpy spy2(mTest, SIGNAL(playAlbumSongs(int, int))); + artists->mCurrentAlbumIndex = 1; + artists->itemActivated(index); + QCOMPARE(spy.count(), 2); QCOMPARE(spy2.count(), 1); - QCOMPARE(qvariant_cast(spy2.at(0).at(0)), -1); - - mTest = 0; + QCOMPARE(qvariant_cast(spy2.at(0).at(0)), 1); + QCOMPARE(qvariant_cast(spy2.at(0).at(1)), -1); + + artists->setViewMode(MpCommon::FetchView); + artists->mCollectionContext = ECollectionContextArtistAlbumsTBone; + artists->itemActivated(index); + QCOMPARE(spy.count(), 3); + QCOMPARE(spy2.count(), 1); + QCOMPARE(qvariant_cast(spy.at(2).at(0)), -1); + + artists->mCollectionContext = ECollectionContextArtistAllSongs; + artists->itemActivated(index); + QCOMPARE(spy.count(), 4); + QCOMPARE(qvariant_cast(spy.at(3).at(0)), -1); +} + +/*! + Test itemActivated - Albums container. + */ +void TestMpCollectionContainers::testItemActivatedAlbums() +{ + QModelIndex index = QModelIndex(); mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); - QSignalSpy spy3(mTest, SIGNAL(itemActivated( int ))); - static_cast(mTest)->itemActivated(QModelIndex()); - QCOMPARE(spy3.count(), 1); - QCOMPARE(qvariant_cast(spy3.at(0).at(0)), -1); - - mTest = 0; + QSignalSpy spy(mTest, SIGNAL(itemActivated(int))); + MpCollectionContainerAlbums *albums = static_cast(mTest); + + albums->itemActivated(index); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); + QCOMPARE(albums->mCurrentAlbumIndex, -1); + + albums->mCollectionContext = ECollectionContextAlbumsTBone; + QSignalSpy spy2(mTest, SIGNAL(playAlbumSongs(int, int))); + albums->mCurrentAlbumIndex = 1; + albums->itemActivated(index); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy2.count(), 1); + QCOMPARE(qvariant_cast(spy2.at(0).at(0)), 1); + QCOMPARE(qvariant_cast(spy2.at(0).at(1)), -1); + + albums->setViewMode(MpCommon::FetchView); + albums->mCollectionContext = ECollectionContextAlbumsTBone; + albums->itemActivated(index); + QCOMPARE(spy.count(), 2); + QCOMPARE(spy2.count(), 1); + QCOMPARE(qvariant_cast(spy.at(1).at(0)), -1); +} + +/*! + Test itemActivated - Playlists container + */ +void TestMpCollectionContainers::testItemActivatedPlaylists() +{ + QModelIndex index = QModelIndex(); mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); - QSignalSpy spy4(mTest, SIGNAL(itemActivated( int ))); - static_cast(mTest)->itemActivated(QModelIndex()); - QCOMPARE(spy4.count(), 1); - QCOMPARE(qvariant_cast(spy4.at(0).at(0)), -1); + QSignalSpy spy(mTest, SIGNAL(itemActivated(int))); + MpCollectionContainerPlaylists *playlists = static_cast(mTest); + + playlists->itemActivated(index); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); + QCOMPARE(playlists->mCurrentPlaylistIndex, -1); + + playlists->mCollectionContext = ECollectionContextPlaylistSongs; + playlists->itemActivated(index); + QCOMPARE(spy.count(), 2); + QCOMPARE(qvariant_cast(spy.at(1).at(0)), -1); } /*! Test onLongPressed - */ +*/ void TestMpCollectionContainers::testOnLongPressed() { mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs); QSignalSpy spy(mTest, SIGNAL(itemLongPressed( int, QPointF ))); - + HbListView *viewItem = new HbListView(); static_cast(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF()); QCOMPARE(spy.count(), 1); QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); - - mTest = 0; + + mTest = 0; mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); QSignalSpy spy2(mTest, SIGNAL(itemLongPressed( int, QPointF ))); static_cast(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF()); QCOMPARE(spy2.count(), 1); QCOMPARE(qvariant_cast(spy2.at(0).at(0)), -1); - - mTest = 0; + + mTest = 0; mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); QSignalSpy spy3(mTest, SIGNAL(itemLongPressed( int, QPointF ))); static_cast(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF()); QCOMPARE(spy3.count(), 1); QCOMPARE(qvariant_cast(spy3.at(0).at(0)), -1); - - mTest = 0; + + mTest = 0; mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists); QSignalSpy spy4(mTest, SIGNAL(itemLongPressed( int, QPointF ))); static_cast(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF()); @@ -455,4 +788,65 @@ QCOMPARE(qvariant_cast(spy4.at(0).at(0)), -1); } -// End of file + +/*! + Test albumCentered - Artists container. + */ +void TestMpCollectionContainers::testAlbumCenteredArtists() +{ + mTest = mView->mContainerFactory->createContainer(ECollectionContextArtists); + mTest->mCollectionData = mCollectionData; + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + MpCollectionContainerArtists *artists = static_cast(mTest); + + mCollectionData->mCurrentAlbumAvailable = false; + artists->mAlbumIndexOffset = 0; + artists->mCurrentAlbumIndex = 0; + artists->albumCentered(); + QCOMPARE(artists->mCurrentAlbumIndex, -1); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); + + mCollectionData->mCurrentAlbumAvailable = true; + artists->mAlbumIndexOffset = 0; + artists->mCurrentAlbumIndex = 0; + artists->albumCentered(); + QCOMPARE(artists->mCurrentAlbumIndex, -1); + QCOMPARE(spy.count(), 1); + + // Re-centered on same item + artists->mAlbumIndexOffset = 1; + artists->mCurrentAlbumIndex = 0; + artists->albumCentered(); + QCOMPARE(spy.count(), 1); +} + +/*! + Test albumCentered - Albums container. + */ +void TestMpCollectionContainers::testAlbumCenteredAlbums() +{ + mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums); + mTest->mCollectionData = mCollectionData; + QSignalSpy spy(mTest, SIGNAL(findAlbumSongs(int))); + MpCollectionContainerAlbums *albums = static_cast(mTest); + + mCollectionData->mCurrentAlbumAvailable = false; + albums->mCurrentAlbumIndex = 0; + albums->albumCentered(); + QCOMPARE(albums->mCurrentAlbumIndex, -1); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast(spy.at(0).at(0)), -1); + + mCollectionData->mCurrentAlbumAvailable = true; + albums->mCurrentAlbumIndex = 0; + albums->albumCentered(); + QCOMPARE(albums->mCurrentAlbumIndex, -1); + QCOMPARE(spy.count(), 1); + + // Re-centered on same item + albums->mCurrentAlbumIndex = -1; + albums->albumCentered(); + QCOMPARE(spy.count(), 1); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/hgmediawall.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/hgmediawall.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,82 @@ +/* +* 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: HgMediawall stub for testing mpcollectioncontainers +* +*/ + +#ifndef HGMEDIAWALL_H +#define HGMEDIAWALL_H + +//includes +#include +#include +#include + +class HgWidget : public HbWidget +{ + Q_OBJECT + +public: + + enum ScrollBarPolicy { + ScrollBarAsNeeded = Qt::ScrollBarAsNeeded, + ScrollBarAlwaysOff = Qt::ScrollBarAlwaysOff, + ScrollBarAlwaysOn = Qt::ScrollBarAlwaysOn, + ScrollBarAutoHide + }; + + explicit HgWidget ( QGraphicsItem *parent = 0 ); + virtual ~HgWidget (); + + void setScrollBarPolicy( ScrollBarPolicy policy ); + virtual void setModel(QAbstractItemModel *model); + void scrollTo(const QModelIndex &index); + QModelIndex currentIndex() const; + +signals: + + void scrollingEnded(); + +}; + +class HgMediawall : public HgWidget +{ + Q_OBJECT + +public: + + enum LabelPosition { + PositionNone = 0, + PositionAboveImage, + PositionBelowImage + }; + + explicit HgMediawall( QGraphicsItem *parent = 0 ); + virtual ~HgMediawall(); + + void setTitlePosition( LabelPosition position ); + void setDescriptionPosition( LabelPosition position ); + void setTitleFontSpec( const HbFontSpec &fontSpec ); + void setDescriptionFontSpec( const HbFontSpec &fontSpec ); + + void enableReflections( bool enabled ); + bool reflectionsEnabled() const; + +public: + + bool mReflectionEnabled; + +}; + +#endif // HGMEDIAWALL_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiondatamodel.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiondatamodel.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiondatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -11,7 +11,8 @@ * * Contributors: * -* Description: Music Player collection abstract data model stub for testing mpcollectioncontainers +* Description: Music Player collection abstract data model stub for testing +* mpcollectioncontainers. * */ @@ -39,7 +40,6 @@ void refreshModel(); MpMpxCollectionData *collectionData(); - public: MpMpxCollectionData *mCollectionData; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiontbonelistdatamodel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiontbonelistdatamodel.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,50 @@ +/* +* 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: Music Player collection abstract data model (for TBone) stub +* for testing mpcollectioncontainers. +* +*/ + +#ifndef MPCOLLECTIONTBONELISTDATAMODEL_H +#define MPCOLLECTIONTBONELISTDATAMODEL_H + +#include + +class MpMpxCollectionData; + +class MpCollectionTBoneListDataModel : public QAbstractListModel +{ + Q_OBJECT + +public: + + explicit MpCollectionTBoneListDataModel( MpMpxCollectionData *data, QObject *parent=0 ); + virtual ~MpCollectionTBoneListDataModel(); + + int rowCount(const QModelIndex &parent=QModelIndex()) const; + QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const; + +public slots: + + void refreshModel(); + +private: + + MpMpxCollectionData *mCollectionData; // Not own + int mRowCount; + +}; + +#endif // MPCOLLECTIONTBONELISTDATAMODEL_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectionview.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectionview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectionview.h Thu Jul 22 16:32:33 2010 +0100 @@ -55,9 +55,11 @@ public slots: - + void openIndex( int index ); void openContextMenu( int index, const QPointF &coords ); + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex ); public: @@ -76,8 +78,8 @@ bool mEffectOnGoing; HbMainWindow *mWindow; // Not own - HbAction *mNavigationQuit; // Not own - HbAction *mNavigationBack; // Not own + HbAction *mSoftKeyQuit; // Not own + HbAction *mSoftKeyBack; // Not own MpCollectionDocumentLoader *mDocumentLoader; // Own HbWidget *mMainContainer; // Own diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpmpxcollectiondata.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpmpxcollectiondata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpmpxcollectiondata.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,12 +18,12 @@ #ifndef MPMPXCOLLECTIONDATA_H #define MPMPXCOLLECTIONDATA_H +#include #include "mpmpxcollectionviewdefs.h" class CMPXMedia; - -class MpMpxCollectionData +class MpMpxCollectionData : public QObject { public: @@ -41,22 +41,29 @@ }; // Stub functions - MpMpxCollectionData(); - ~MpMpxCollectionData(); + explicit MpMpxCollectionData( QObject *parent=0 ); + virtual ~MpMpxCollectionData(); TCollectionContext context(); + + int count() const; + QString collectionTitle() const; QString itemData( int index, MpMpxCollectionData::DataType type ) const; - void setMpxMedia( const CMPXMedia& entries ); + bool setCurrentAlbum( int index ); + const CMPXMedia& containerMedia(); - int count() const; - QString collectionTitle() const; public: + CMPXMedia *mContainerMedia; - TBool mMediaSet; + bool mMediaSet; TCollectionContext mContext; int mCount; + int mCurrentAlbumIndex; + bool mCurrentAlbumAvailable; + bool mReturnCollectionTitle; + }; #endif // MPMPXCOLLECTIONDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/hgmediawall.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/hgmediawall.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,135 @@ +/* +* 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: HgMediawall stub for testing mpcollectioncontainers +* +*/ + +#include "hgmediawall.h" + + +/*! + Constructs the mediawall widget stub. + */ +HgWidget::HgWidget( QGraphicsItem *parent ) +{ + Q_UNUSED(parent); +} + +/*! + Destructs the mediawall widget stub. + */ +HgWidget::~HgWidget() +{ +} + +/*! + Stub function + */ +void HgWidget::setScrollBarPolicy( ScrollBarPolicy policy ) +{ + Q_UNUSED(policy); +} + +/*! + Stub function + */ +void HgWidget::setModel( QAbstractItemModel *model ) +{ + Q_UNUSED(model); +} + +/*! + Stub function + */ +void HgWidget::scrollTo( const QModelIndex &index ) +{ + Q_UNUSED(index); +} + +/*! + Stub function + */ +QModelIndex HgWidget::currentIndex() const +{ + return QModelIndex(); +} + + +//=========================================================================== +//=========================================================================== + +/*! + Constructs the mediawall widget stub. + */ +HgMediawall::HgMediawall( QGraphicsItem *parent ) +{ + Q_UNUSED(parent); + mReflectionEnabled = true; +} + +/*! + Destructs the mediawall widget stub. + */ +HgMediawall::~HgMediawall() +{ +} + +/*! + Stub function + */ +void HgMediawall::setTitlePosition( LabelPosition position ) +{ + Q_UNUSED(position); +} + +/*! + Stub function + */ +void HgMediawall::setDescriptionPosition( LabelPosition position ) +{ + Q_UNUSED(position); +} + +/*! + Stub function + */ +void HgMediawall::setTitleFontSpec( const HbFontSpec &fontSpec ) +{ + Q_UNUSED(fontSpec); +} + +/*! + Stub function + */ +void HgMediawall::setDescriptionFontSpec( const HbFontSpec &fontSpec ) +{ + Q_UNUSED(fontSpec); +} + +/*! + Stub function + */ +void HgMediawall::enableReflections( bool enabled ) +{ + mReflectionEnabled = enabled; +} + +/*! + Stub function + */ +bool HgMediawall::reflectionsEnabled() const +{ + return mReflectionEnabled; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiondatamodel.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiondatamodel.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiondatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -11,7 +11,8 @@ * * Contributors: * -* Description: Music Player collection data model stub for testing mpcollectioncontainers. +* Description: Music Player collection abstract data model stub for testing +* mpcollectioncontainers. * */ @@ -28,8 +29,7 @@ : QAbstractListModel(parent), mCollectionData(data) { - TX_ENTRY - TX_EXIT + TX_LOG } /*! @@ -37,8 +37,7 @@ */ MpCollectionDataModel::~MpCollectionDataModel() { - TX_ENTRY - TX_EXIT + TX_LOG } /*! @@ -65,8 +64,8 @@ Q_UNUSED(index); Q_UNUSED(role); QVariant returnValue = QVariant(); + TX_EXIT return returnValue; - TX_EXIT } /*! @@ -74,8 +73,7 @@ */ void MpCollectionDataModel::refreshModel() { - TX_ENTRY - TX_EXIT + TX_LOG } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiontbonelistdatamodel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiontbonelistdatamodel.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,72 @@ +/* +* 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: Music Player collection abstract data model (for TBone) stub +* for testing mpcollectioncontainers. +* +*/ + +#include "stub/inc/mpcollectiontbonelistdatamodel.h" +#include "stub/inc/mpmpxcollectiondata.h" +#include "mptrace.h" + +/*! + Stub function + */ +MpCollectionTBoneListDataModel::MpCollectionTBoneListDataModel( MpMpxCollectionData *data, QObject *parent ) + : QAbstractListModel(parent), + mCollectionData(data), + mRowCount(0) +{ + TX_LOG +} + +/*! + Stub function + */ +MpCollectionTBoneListDataModel::~MpCollectionTBoneListDataModel() +{ + TX_LOG +} + +/*! + Stub function + */ +int MpCollectionTBoneListDataModel::rowCount( const QModelIndex &parent ) const +{ + TX_LOG + Q_UNUSED(parent); + return mRowCount; +} + +/*! + Stub function + */ +QVariant MpCollectionTBoneListDataModel::data(const QModelIndex &index, int role) const +{ + TX_ENTRY + Q_UNUSED(index); + Q_UNUSED(role); + QVariant returnValue = QVariant(); + TX_EXIT + return returnValue; +} + +/*! + Stub function + */ +void MpCollectionTBoneListDataModel::refreshModel() +{ + TX_LOG +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectionview.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectionview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectionview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ // INCLUDE FILES #include -#include +#include #include "stub/inc/mpcollectionview.h" #include "mpcollectiondocumentloader.h" @@ -36,7 +36,7 @@ */ MpCollectionView::MpCollectionView() : mContainerFactory(0), - mDocumentLoader(0) + mDocumentLoader(0) { TX_LOG } @@ -84,5 +84,21 @@ Q_UNUSED(coords); } +/*! + Stub function + */ +void MpCollectionView::findAlbumSongs( int index ) +{ + Q_UNUSED(index); +} + +/*! + Stub function + */ +void MpCollectionView::playAlbumSongs( int albumIndex, int songIndex ) +{ + Q_UNUSED(albumIndex); + Q_UNUSED(songIndex); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpmpxcollectiondata.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpmpxcollectiondata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpmpxcollectiondata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -23,18 +23,23 @@ /*! Stub function. */ -MpMpxCollectionData::MpMpxCollectionData() - :mContainerMedia(0), - mMediaSet(EFalse), - mContext (ECollectionContextUnknown) -{ +MpMpxCollectionData::MpMpxCollectionData( QObject *parent ) + : QObject(parent), + mContainerMedia(0), + mMediaSet(false), + mContext(ECollectionContextUnknown), + mCount(0), + mCurrentAlbumIndex(-1), + mCurrentAlbumAvailable(false), + mReturnCollectionTitle(true) +{ } /*! Stub function. */ MpMpxCollectionData::~MpMpxCollectionData() -{ +{ } /*! @@ -47,6 +52,27 @@ /*! Stub function. + */ +int MpMpxCollectionData::count() const +{ + return mCount; +} + +/*! + Stub function. + */ +QString MpMpxCollectionData::collectionTitle() const +{ + if ( mReturnCollectionTitle ) { + return QString("Title"); + } + else { + return QString(); + } +} + +/*! + Stub function. */ QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const { @@ -58,15 +84,14 @@ return QString(); } } + /*! Stub function. */ -void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries ) +bool MpMpxCollectionData::setCurrentAlbum( int index ) { - delete mContainerMedia; - mContainerMedia = 0; - mContainerMedia = CMPXMedia::NewL(entries); - mMediaSet = ETrue; + mCurrentAlbumIndex = index; + return mCurrentAlbumAvailable; } /*! @@ -77,20 +102,3 @@ return *mContainerMedia; } -/*! - Stub function. - */ -int MpMpxCollectionData::count() const -{ - return mCount; -} - -/*! - Stub function. - */ -QString MpMpxCollectionData::collectionTitle() const -{ - QString title("Title"); - return title; -} -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/unittest_mpcollectioncontainers.pro --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/unittest_mpcollectioncontainers.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/unittest_mpcollectioncontainers.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,19 +16,21 @@ TEMPLATE = app CONFIG += qtestlib hb -TARGET = +CONFIG += symbian_test +TARGET = unittest_mpcollectioncontainers +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ stub/inc \ ../../../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) LIBS += -lestor.dll \ - -lmpnowplayingbanner.dll - + -lmpnowplayingbanner.dll \ + -lganeswidgets.dll HEADERS += inc/unittest_mpcollectioncontainers.h \ ../../inc/mpcollectioncontainerfactory.h \ @@ -38,12 +40,13 @@ ../../inc/mpcollectioncontainerartists.h \ ../../inc/mpcollectioncontaineralbums.h \ ../../inc/mpcollectioncontainerplaylists.h \ - ../../inc/mpcollectioncontainergenres.h \ ../../inc/mpcollectiondocumentloader.h \ stub/inc/mpcollectiondatamodel.h \ + stub/inc/mpcollectiontbonelistdatamodel.h \ stub/inc/mpmpxcollectiondata.h \ - stub/inc/mpcollectionview.h - + stub/inc/mpcollectionview.h \ + stub/inc/hgmediawall.h + SOURCES += src/unittest_mpcollectioncontainers.cpp \ ../../src/mpcollectioncontainerfactory.cpp \ ../../src/mpcollectioncontainer.cpp \ @@ -52,10 +55,11 @@ ../../src/mpcollectioncontainerartists.cpp \ ../../src/mpcollectioncontaineralbums.cpp \ ../../src/mpcollectioncontainerplaylists.cpp \ - ../../src/mpcollectioncontainergenres.cpp \ ../../src/mpcollectiondocumentloader.cpp \ stub/src/mpcollectiondatamodel.cpp \ + stub/src/mpcollectiontbonelistdatamodel.cpp \ stub/src/mpmpxcollectiondata.cpp \ - stub/src/mpcollectionview.cpp - + stub/src/mpcollectionview.cpp \ + stub/src/hgmediawall.cpp + RESOURCES += ../../resources/mpcollectionviewresources.qrc \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h Thu Jul 22 16:32:33 2010 +0100 @@ -31,17 +31,17 @@ TestMpCollectionDocumentLoader(); virtual ~TestMpCollectionDocumentLoader(); -signals: +public slots: - -public slots: void initTestCase(); void cleanupTestCase(); void init(); void cleanup(); private slots: + void testCreateMpNowPlayingWidget(); + void testCreateHgMediawall(); void testCreateQObject(); private: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,12 +16,10 @@ */ #include -#include -#include -#include #include "unittest_mpcollectiondocumentloader.h" #include "mpnowplayingwidget.h" +#include "hgmediawall.h" // Do this so we can access all member variables. #define private public @@ -33,18 +31,20 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpCollectionDocumentLoader tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpcollectiondocumentloader.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpcollectiondocumentloader.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpCollectionDocumentLoader::TestMpCollectionDocumentLoader() @@ -93,30 +93,37 @@ */ void TestMpCollectionDocumentLoader::testCreateMpNowPlayingWidget() { - cleanup(); - init(); QObject *theObject; - theObject = mTest->createObject(QString("MpNowPlayingWidget"),QString("myMpNowPlayingWidget")); - QCOMPARE(theObject->metaObject()->className(),"MpNowPlayingWidget"); - QCOMPARE(theObject->objectName(),QString("myMpNowPlayingWidget")); + theObject = mTest->createObject(QString("MpNowPlayingWidget"), QString("myMpNowPlayingWidget")); + QCOMPARE(theObject->metaObject()->className(), "MpNowPlayingWidget"); + QCOMPARE(theObject->objectName(), QString("myMpNowPlayingWidget")); QVERIFY(qobject_cast(theObject)); delete theObject; +} +/*! + Tests the correct creation of HgMediawall. + */ +void TestMpCollectionDocumentLoader::testCreateHgMediawall() +{ + QObject *theObject; + theObject = mTest->createObject(QString("HgMediawall"), QString("HgMediawall")); + QCOMPARE(theObject->metaObject()->className(),"HgMediawall"); + QCOMPARE(theObject->objectName(),QString("HgMediawall")); + QVERIFY(qobject_cast(theObject)); + delete theObject; } /*! Tests the correct creation of QObject, this should be pased to the - base clas and base clas should return a named object. + base class and base class should return a named object. */ void TestMpCollectionDocumentLoader::testCreateQObject() { - cleanup(); - init(); QObject *theObject; - theObject = mTest->createObject(QString("QObject"),QString("myQObject")); - QCOMPARE(theObject->metaObject()->className(),"QObject"); - QCOMPARE(theObject->objectName(),QString("myQObject")); + theObject = mTest->createObject(QString("QObject"), QString("myQObject")); + QCOMPARE(theObject->metaObject()->className(), "QObject"); + QCOMPARE(theObject->objectName(), QString("myQObject")); delete theObject; } -// End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/hgmediawall.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/hgmediawall.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,36 @@ +/* +* 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: HgMediawall stub for testing MpCollectionDocumentLoader +* +*/ + +#ifndef HGMEDIAWALL_H +#define HGMEDIAWALL_H + +//includes +#include +#include + +class HgMediawall : public QObject +{ + Q_OBJECT + +public: + + explicit HgMediawall( QGraphicsItem *parent = 0 ); + virtual ~HgMediawall(); + +}; + +#endif // HGMEDIAWALL_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/mpnowplayingwidget.h --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/mpnowplayingwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/mpnowplayingwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -26,7 +26,7 @@ Q_OBJECT public: - explicit MpNowPlayingWidget(long int playerId); + explicit MpNowPlayingWidget(); virtual ~MpNowPlayingWidget(); }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/hgmediawall.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/hgmediawall.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,34 @@ +/* +* 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: HgMediawall stub for testing MpCollectionDocumentLoader +* +*/ + +#include "hgmediawall.h" + + +/*! + Constructs the mediawall widget stub. + */ +HgMediawall::HgMediawall( QGraphicsItem *parent ) +{ + Q_UNUSED(parent); +} + +/*! + Destructs the mediawall widget stub. + */ +HgMediawall::~HgMediawall() +{ +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/mpnowplayingwidget.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/mpnowplayingwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/mpnowplayingwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -21,9 +21,8 @@ /*! Constructs the now playing widget stub */ -MpNowPlayingWidget::MpNowPlayingWidget(long int playerId ) +MpNowPlayingWidget::MpNowPlayingWidget( ) { - Q_UNUSED(playerId); } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,20 +16,25 @@ TEMPLATE = app CONFIG += qtestlib hb -TARGET = +CONFIG += symbian_test +TARGET = unittest_mpcollectiondocumentloader +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ stub/inc \ ../../../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) HEADERS += inc/unittest_mpcollectiondocumentloader.h \ ../../inc/mpcollectiondocumentloader.h \ - stub/inc/mpnowplayingwidget.h - + stub/inc/mpnowplayingwidget.h \ + stub/inc/hgmediawall.h + SOURCES += src/unittest_mpcollectiondocumentloader.cpp \ ../../src/mpcollectiondocumentloader.cpp \ - stub/src/mpnowplayingwidget.cpp + stub/src/mpnowplayingwidget.cpp \ + stub/src/hgmediawall.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/src/unittest_mpsnapshotwidget.cpp --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/src/unittest_mpsnapshotwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/src/unittest_mpsnapshotwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,9 +16,7 @@ */ #include -#include -#include -#include +#include #include "unittest_mpsnapshotwidget.h" @@ -32,19 +30,24 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - window.show(); + QApplication app(argc, argv); + QGraphicsScene *testScene = new QGraphicsScene(QRectF(0,0,200,200)); + QGraphicsView mainWindow(testScene); + mainWindow.show(); + TestMpSnapshotWidget tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpsnapshotwidget.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsnapshotwidget.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpSnapshotWidget::TestMpSnapshotWidget() @@ -112,7 +115,8 @@ { cleanup(); init(); - HbMainWindow *mainWindow = hbInstance->allMainWindows()[0]; + QGraphicsView *mainWindow = qobject_cast(qApp->activeWindow()); + QVERIFY(mainWindow != 0); QGraphicsRectItem rectItem(QRectF(0,0,10,10)); mainWindow->scene()->addItem(&rectItem); rectItem.show(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/unittest_mpsnapshotwidget.pro --- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/unittest_mpsnapshotwidget.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpsnapshotwidget/unittest_mpsnapshotwidget.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,7 +16,9 @@ TEMPLATE = app CONFIG += qtestlib hb -TARGET = +CONFIG += symbian_test +TARGET = unittest_mpsnapshotwidget +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ @@ -26,6 +28,6 @@ HEADERS += inc/unittest_mpsnapshotwidget.h \ ../../inc/mpsnapshotwidget.h - + SOURCES += src/unittest_mpsnapshotwidget.cpp \ ../../src/mpsnapshotwidget.cpp \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpdetailssharedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/inc/mpdetailssharedialog.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,90 @@ +/* +* 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: Header file for share player. +* +*/ + +#ifdef SHARE_FUNC_ENABLED +#ifndef MPDETAILSSHAREDIALOG_H +#define MPDETAILSSHAREDIALOG_H + +#include +#include +#include +#include "mpsharedata.h" + +class QGraphicsWebView; +class QNetworkAccessManager; +class QNetworkReply; +class MpShareWebView; +class MpSongData; +class HbProgressDialog; + +/*! + Implements Share Player dialog for music player details view. + First, construct an instance of the class, then call initialize method. +*/ +class MpDetailsShareDialog : public HbDialog +{ + Q_OBJECT + +public: + MpDetailsShareDialog(); + + /*! + Initializes an instance of the class with given MpSongData. + Translation for "unknown" string is passed so that the share + dialog can display "unknown" if artist or title are not set. + MpSongData object ownership is not transferred, + Music Player Engine retains the ownership. + */ + void initialize( MpSongData* aSongData, const QString& aUnknownTr ); + virtual ~MpDetailsShareDialog(); + void cachePublishingPlayerFiles(); + void logoutPlayer(); + bool isInitialized() const; + +public slots: + void addContext(); + void updateSharedData(); + void onIndexLoad( bool ok ); + void debugJs( QString s ); + void errorHandler( QString aError, QString aMessage ); + void clearCache(); + void showWindow(); + void showProgressDialog(); + void handleRequestSSLErrors( QNetworkReply* aReply, const QList< QSslError >& aErrors ); + void handleRequestFinished( QNetworkReply* aReply ); + +signals: + void closeShareDialog(); + +private: + void initShareData( MpSongData* aSongData, const QString& aUnknownTr ); + void initLanguage(); + void initNetworkAccessManager(); + void initWebView(); + void initSignalSlots(); + bool initUser(); + +private: + MpShareData mShareData; + MpShareWebView* mShareWebView; // Owned by HbDialog + QNetworkAccessManager* mShareNetAccMan; // Owned + HbProgressDialog* mProgressbar; // Owned + bool mIsInitialized; +}; + +#endif // MPDETAILSSHAREDIALOG_H +#endif // SHARE_FUNC_ENABLED diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h --- a/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,8 +18,7 @@ #ifndef MPDETAILSVIEW_H #define MPDETAILSVIEW_H -#include -#include +#include #include #include #include @@ -37,15 +36,32 @@ class HbPushButton; class HbDocumentLoader; class HbListWidget; -class HbDialog; -class ThumbnailManager; -class QTranslator; + class QGraphicsLinearLayout; +class HbProgressBar; +class MpEngine; class MpSongData; -class MpMpxDetailsFrameworkWrapper; +class MpQueryManager; + +#ifdef SHARE_FUNC_ENABLED +#include +QTM_USE_NAMESPACE +class MpDetailsShareDialog; +#endif //class declaration +/*! + Details view is the "flipside view" of Music Player. + In addition to displaying song details, details view + also provides user the possibility to comment a + track (by initiating sharedialog), and to get + recommendations based on his playlist (by displaying + a list of favourites, fetched from OVI music server). + + DetailsView's song information will not be updated + if the track changes while detailsview is active. +*/ class MpDetailsView : public MpViewBase { Q_OBJECT @@ -67,51 +83,39 @@ void albumArtChanged(); private slots: - void share(); - void webViewLoaded( bool ok ); - void playbackInfoChanged(); + void handlePlaybackInfoChanged(); void songDetailInfoChanged(); - // groupbox handling, one or zero groupbox is expanded - void toggleDetailsGroupBox( bool state ); - void toggleInspireMeGroupBox( bool state ); - - void retrieveInformationFinished( QNetworkReply* reply ); - void retrieveInformationNetworkError( QNetworkReply::NetworkError error ); - void retrieveInformationSslErrors( const QList &error ); - - void DownloadFinished( QNetworkReply* reply ); - - void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); - - void addContext(); - void close(); - + void handleDetailsGroupBoxToggled( bool state ); + void handleInspireMeGroupBoxToggled( bool state ); + void RenderInspireMeGroupBox(); + void handleNetworkError(); + void updateSharedData(const QString& url); + +#ifdef SHARE_FUNC_ENABLED + void share(); + void closeShareDialog(); +#endif + private: + bool canQueryRecommendations() const; + bool canQuerySharePlayerLink() const; void setupMenu(); - void loadSharePlayer(); - - void constructRequest( QString &uri ); - // retrieve URI from Ovi music server - void retrieveInformation( const QString &urlEncoded ); + void clearInspireMe(); + +#ifdef SHARE_FUNC_ENABLED + void createShareDialog(); + void preloadShareDialog(); +#endif + +private: + MpEngine *mMpEngine; // Own - void composeAlbumCover( QPixmap albumart ); - QString keyValues( QStringList keys, QStringList values ) const; - void handleParsedXML(); - - void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ); - void RenderInspireMeGroupBox(); - void recommendationAlbumArtReady(); - -private: MpSongData *mSongData; - MpMpxDetailsFrameworkWrapper *mFrameworkWrapper; bool mActivated; - HbMainWindow *mWindow; - HbAction *mNavigationBack; + HbAction *mSoftKeyBack; - HbWidget *mContainer; HbLabel *mSongText; //owned HbLabel *mAlbumText; //owned HbLabel *mArtistText; //owned @@ -120,37 +124,22 @@ HbGroupBox *mInspireMeGroupBox; //owned HbPushButton *mShareButton; //owned HbDocumentLoader *mDocumentLoader;//owned - QPixmap mCompositePixmap; HbListWidget *mDetailList; // owned by mSongDetailsGroupBox HbListWidget *mInspireList; // owned by mInspireMeGroupBox - HbWidget *mInspireMe; - QGraphicsLinearLayout *mLayout; HbPushButton *mButton; - - QList mRecommendationSongs; - QList mRecommendationArtists; - QList mRecommendationAlbumArtsLink; - QList mRecommendationAlbumArtsName; - - QNetworkAccessManager *mManager; - QNetworkAccessManager *mDownloadManager; - - int mDownloadedAlbumArts; + HbProgressBar *mInspireMeProgressBar; + + MpQueryManager* mMpQueryManager; // Own + + bool mInspireMeQueryOngoing; + bool mInspireMeQueryRendered; + bool mInspireMeOpen; + bool mSongDetailsGbOpen; - ThumbnailManager *mThumbnailManager; //owned - QPixmap mDefaultRecommendationAlbumArt; - QMap mRecommendationAlbumArtsMap; - int mAlbumArtsReadyCount; - QList mReplys; - - QDomDocument mDomDocument; - - QTranslator *mMpTranslator; // Own - QTranslator *mCommonTranslator; // Own - - HbDialog *mPopup; - QGraphicsWebView *mWebView; // owned by popup dialog - +#ifdef SHARE_FUNC_ENABLED + MpDetailsShareDialog* mSharePopup; // Own +#endif + Q_DISABLE_COPY(MpDetailsView) }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h --- a/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,13 +18,22 @@ #ifndef MPDETAILSVIEWPLUGIN_H #define MPDETAILSVIEWPLUGIN_H -#include +#include #include //forward declartions class MpDetailsView; //class declaration +/*! + MpDetailsViewPlugin is one of the four view plugins in Music Player. + Each view plugin is instantiated on music player startup, and + destructed on music player exit. + + The actual view is a member variable of ViewPlugin. + View's visibility is controlled by using its activateView() and + deactivateView() methods. +*/ class MpDetailsViewPlugin : public MpxViewPlugin { Q_OBJECT diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h --- a/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +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 wrapper -* -*/ - -#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_H_ -#define MPMPXDETAILSFRAMEWORKWRAPPER_H_ - -//includes -#include - -//forward declartions -class MpSongData; -class MpMpxDetailsFrameworkWrapperPrivate; - -//class declaration -class MpMpxDetailsFrameworkWrapper : public QObject -{ - Q_OBJECT - friend class MpMpxDetailsFrameworkWrapperPrivate; - -public: - explicit MpMpxDetailsFrameworkWrapper( QObject *parent=0 ); - virtual ~MpMpxDetailsFrameworkWrapper(); - - MpSongData *songData(); - -public: - void retrieveSong(); - -private: - Q_DISABLE_COPY( MpMpxDetailsFrameworkWrapper ) - MpMpxDetailsFrameworkWrapperPrivate *d_ptr; //owned -}; - - -#endif /* MPMPXDETAILSFRAMEWORKWRAPPER_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h --- a/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +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 wrapper - Private. -* -*/ - - -#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ -#define MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ - -#include -#include - -//forward declartions -class MMPXPlaybackUtility; -class MpMpxDetailsFrameworkWrapper; -class CMPXMedia; -class MpSongData; - -//class declaration -class MpMpxDetailsFrameworkWrapperPrivate : public MMPXPlaybackObserver, - public MMPXPlaybackCallback -{ - -public: - explicit MpMpxDetailsFrameworkWrapperPrivate( MpMpxDetailsFrameworkWrapper *qq ); - virtual ~MpMpxDetailsFrameworkWrapperPrivate(); - -public: //from MMPXPlaybackObserver - void HandlePlaybackMessage( CMPXMessage *aMessage, TInt aError ); - -public: //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 ); - -public: - MpSongData *songData(); - void retrieveSong(); - -private: - void constructProviderL(); - void destructProviderL(); - void doRetrieveSongL(); - -private: - MpMpxDetailsFrameworkWrapper *q_ptr; //not owned - MpSongData *iSongData; // not owned - MMPXPlaybackUtility *iPlaybackUtility; // owned -}; - - -#endif /* MPMPXDETAILSFRAMEWORKWRAPPER_P_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpquerymanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/inc/mpquerymanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,110 @@ +/* +* 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: Music Player Query Manager. +* +*/ +#ifndef MPQUERYMANAGER_H_ +#define MPQUERYMANAGER_H_ + +#include +#include +#include +#include +#include + +#include "mpviewbase.h" + +class QNetworkAccessManager; +class ThumbnailManager; + +/*! + MpQueryManager class is responsible for performing music player + related network queries, including retrieving the URL for the + music. + + It emits searchUrlRetrieved signal when it has received the + URL. +*/ +class MpQueryManager : public QObject +{ + Q_OBJECT + +public: + MpQueryManager(); + ~MpQueryManager(); + +public: + void clearNetworkReplies(); + void queryLocalMusicStore( QString mArtist,QString mAlbum,QString mTitle ); + void queryInspireMeItems( QString mArtist,QString mAlbum,QString mTitle ); + void clearRecommendations(); + + QStringList recommendationSongs(); + QStringList recommendationArtists(); + QStringList recommendationAlbumArtsLink(); + QMap recommendationAlbumArtsMap(); + void insertMapItem( const QString &uri, const QPixmap &pixmap ); + +private slots: + void retrieveInformationFinished( QNetworkReply* reply ); + void retrieveInformationNetworkError( QNetworkReply::NetworkError error ); + void retrieveInformationSslErrors( const QList &error ); + void DownloadFinished( QNetworkReply* reply ); + void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ); + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + +private: + void constructRequest( QString &uri ); + // retrieve URI from Ovi music server + void retrieveInformation( const QString &urlEncoded ); + + void composeAlbumCover( QPixmap albumart ); + QString keyValues( QStringList keys, QStringList values ) const; + void handleParsedXML(); + + bool writeImageToFile( const QByteArray &aImageData, const QString &aImageFileName ); + +signals: + void networkError(); + void searchUrlRetrieved( const QString& url ); + void recommendationAlbumArtsReady(); + +private: + + QNetworkAccessManager *mManager; + QNetworkAccessManager *mDownloadManager; + + int mDownloadedAlbumArts; + + QList mReplys; + + QDomDocument mDomDocument; + ThumbnailManager *mThumbnailManager; //owned + + QString mArtist; + QString mAlbum; + QString mTitle; + + QStringList mRecommendationAlbumArtsName; + + QStringList mRecommendationSongs; + QStringList mRecommendationArtists; + QStringList mRecommendationAlbumArtsLink; + QMap mRecommendationAlbumArtsMap; + int mAlbumArtsReadyCount; + QPixmap mDefaultRecommendationAlbumArt; + + +}; +#endif /* MPQUERYMANAGER_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpsharedata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/inc/mpsharedata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,76 @@ +/* +* 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: meta data used by publish player. +* +*/ + +#ifdef SHARE_FUNC_ENABLED + +#ifndef MPSHAREDATA_H +#define MPSHAREDATA_H + +#include +#include +#include + +class MpSongData; +class HbIcon; + +/*! + MpShareData represents the information that is + used for sharing purposes. This information includes + e.g. song information and user information. +*/ +class MpShareData : public QObject +{ + Q_OBJECT + +public: + MpShareData(); + virtual ~MpShareData(); + + void setOwner( QObject* aOwner ); + void setSongData( MpSongData* aSongData ); + void setErrorMessage( const QString& s ); + void setLanguage( const QString& s ); + void setUnknownTr( const QString& s ); + +public slots: + QObject* owner() const; + MpSongData* songData() const; + QString errorMessage() const; + void setUsername( const QString& s ); + QString username() const; + void setPassword( const QString& s ); + QString password() const; + QString objectType() const; + QString objectContent() const; + int objectReservedLength() const; + QString language() const; + QString title() const; + QString artist() const; + QString albumArtBase64() const; + +private: + QObject* mOwner; // NOT owned. + MpSongData* mSongData; // NOT owned. + QString mErrorMessage; + QString mUsername; + QString mPassword; + QString mLanguage; + QString mUnknownTr; +}; + +#endif // MPSHAREDATA_H +#endif // SHARE_FUNC_ENABLED diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h --- a/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +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: Metadata of song for details view. -* -*/ - -#ifndef MPSONGDATA_H -#define MPSONGDATA_H - -#include -#include -#include - -//forward declartions -class QIcon; -class ThumbnailManager; - -//class declaration -class MpSongData : public QObject -{ - Q_OBJECT - -public: - explicit MpSongData( QObject *parent=0 ); - virtual ~MpSongData(); - - bool setTitle( const QString &title ); - bool setAlbum( const QString &album ); - bool setArtist( const QString &artist ); - bool setComment( const QString &comment ); - void setAlbumArtUri( const QString &albumArtUri ); - bool setYear( int date ); - bool setGenre( const QString &genre ); - bool setComposer( const QString &compoer ); - bool setAlbumTrack( const QString &albumtrack ); - void setLink( const QString &link ); - - // inform details view when basic information is ready to accelerate UI update - void commitPlaybackInfo(); - // inform details view when details information is ready - void commitSongDetailInfo(); - -public slots: - void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); - - int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } - - QString title() const; - QString album() const; - QString artist() const; - QString comment() const; - void albumArt( QPixmap& pixmap ); - QString year() const; - QString genre() const; - QString composer() const; - QString albumTrack() const; - QString link() const; - -signals: - void albumArtReady(); - void playbackInfoChanged(); - void songDetailInfoChanged(); - -private: - QString mTitle; - QString mAlbum; - QString mArtist; - QString mComment; - QString mComposer; - QString mGenre; - QString mYear; - QString mAlbumTrack; - QPixmap mAlbumArt; - ThumbnailManager *mThumbnailManager; //owned - TInt mReqId; - QString currentAAUri; - QPixmap mDefaultAlbumArt; - QString mLink; - - Q_DISABLE_COPY(MpSongData) -}; - -#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/mpdetailsviewplugin.pro --- a/mpviewplugins/mpdetailsviewplugin/mpdetailsviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/mpdetailsviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,45 +14,55 @@ # Description: # -symbian:TARGET.UID3 = 0x2002D0AA - TEMPLATE = lib -CONFIG += hb qt ecomplugin +CONFIG += hb qt ecomplugin mobility SHARE_FUNC_ENABLED QT += webkit \ - network \ - xml + network \ + xml TARGET = mpdetailsviewplugin +MOBILITY += bearer systeminfo +symbian: { + TARGET.UID3 = 0x2002D0AA + TARGET.CAPABILITY = All -TCB + TARGET.EPOCALLOWDLLDATA = 1 +} SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0 SERVICE.CONFIGURATION = "" -TARGET.CAPABILITY = All -TCB - DEPENDPATH += . INCLUDEPATH += . \ - inc \ - ../../inc + inc \ + ../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lmpxviewframeworkqt.dll \ - -lmpxplaybackutility.dll \ - -lmpxcommon.dll \ - -lthumbnailmanagerqt.dll - -symbian:TARGET.EPOCALLOWDLLDATA = 1 +LIBS += -lmpxviewframeworkqt \ + -lmpxplaybackutility \ + -lmpxcommon \ + -lthumbnailmanagerqt \ + -lmpsettingsmanager \ + -lmpengine \ + -lmpdata # Input +HEADERS += ../../inc/mpviewbase.h \ + inc/mpdetailsviewplugin.h \ + inc/mpdetailsview.h \ + inc/mpquerymanager.h + SOURCES += src/mpdetailsviewplugin.cpp \ - src/mpdetailsview.cpp \ - src/mpmpxdetailsframeworkwrapper.cpp \ - src/mpmpxdetailsframeworkwrapper_p.cpp \ - src/mpsongdata.cpp + src/mpdetailsview.cpp \ + src/mpquerymanager.cpp -HEADERS = ../../inc/mpviewbase.h \ - inc/mpdetailsviewplugin.h \ - inc/mpdetailsview.h \ - inc/mpmpxdetailsframeworkwrapper.h \ - inc/mpmpxdetailsframeworkwrapper_p.h \ - inc/mpsongdata.h - +# Sharing functionality +CONFIG(SHARE_FUNC_ENABLED) { + SOURCES += src/mpdetailssharedialog.cpp src/mpsharedata.cpp + HEADERS += inc/mpdetailssharedialog.h inc/mpsharedata.h + DEFINES += SHARE_FUNC_ENABLED + debug { + DEFINES += SHARE_PLAYER_RND + } +} + RESOURCES += resources/mpdetailsviewresources.qrc + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/defaultalbumart.png Binary file mpviewplugins/mpdetailsviewplugin/resources/defaultalbumart.png has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/detailsview.docml --- a/mpviewplugins/mpdetailsviewplugin/resources/detailsview.docml Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/index.html Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,48 @@ + + + + + Publish + + + + + + + + + + + + + + + + +
+ + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/mpdetailsview.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/mpdetailsview.docml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/mpdetailsviewresources.qrc --- a/mpviewplugins/mpdetailsviewplugin/resources/mpdetailsviewresources.qrc Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/resources/mpdetailsviewresources.qrc Thu Jul 22 16:32:33 2010 +0100 @@ -1,9 +1,13 @@ - - - detailsview.docml + + + mpdetailsview.docml - - - defaultalbumart.png + + qtg_large_music_album.svg + + + index.html + musiccontext.js + musiccontext.css diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/musiccontext.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/musiccontext.css Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,23 @@ +/* Info */ +table.info-list { + padding-top:10px; +} + +table.info-list td { + padding: 2px 0; +} + +.info-list .description .artist { + padding-top:10px; + color:#ccc; +} + +.info-list .description .title { + +} + +.info-list .description { + display:inline-block; + padding-left:20px; + vertical-align:top; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/musiccontext.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/musiccontext.js Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,165 @@ +//Logging for QT + +// Override the default alert function. +// TODO remove this when alert in platform is working? +alert = function(str) { + console.log(str); + window.context.owner().errorHandler("Alert", str); +} + +function logme(str){ + console.log(str); + if(window['context'] && context['owner']){ + context.owner().debugJs('debugJs: ' + str); + } +} + +function traceme(){ + var cf = arguments.callee.caller; + logme('-------------- Start traceme ' + new Date().toLocaleTimeString() + ' --------------'); + var arr = new Array(); + while (cf) { + var fn = cf.toString(); + fn = fn.substr(0,fn.indexOf('{')); + arr.push(fn); + cf = cf.caller; + } + //arr.reverse(); + for(i=0;i<=arr.length -1;i++){ + logme(arr[i]); + } + logme('-------------- End traceme --------------'); +} + + +window["music"] = window["music"] || +{}; + +(function(){ + var musicContext = null; + var publishingPlayer = null; + + music.getPostContent = function(){ + traceme(); + return { + reservedLength : window.context.objectReservedLength(), + type : window.context.objectType(), + content : window.context.objectContent() + }; + } + + /** + * Call this for player to show UI and initialize connection to SNC + */ + music.initPlayer = function() + { + traceme(); + // Initialize player + publishingPlayer = new ovi.player.publish.Player({ + locale : window.context.language(), + credentials : { + type : "", + sso_base_url : "", + token : _getNoa() + } + }); + + // Show UI + publishingPlayer.create(null, function(status, data){ + traceme(); + if (status != publishingPlayer.status.updateservices_ok && status != publishingPlayer.status.show_ok) { + // Delegate errors to native side + window.context.owner().errorHandler(status, data.message); + } + }); + + } + + /** + * Call this for player to update context area (the song UI). + */ + music.updateContextArea = function() { + // Update artist and title metadata. + traceme(); + publishingPlayer.setContextObject(_getMusicContext()); + if(window['context'] && context['owner']){ + context.owner().showWindow(); + } +} + + /** + * Call this function to update metadata (called when music player has retrieved the link) + */ + music.updateMetadata = function() { + // Update url at bottom of comment field. + traceme(); + musicContext.updateObject(music.getPostContent()); + } + + /** + * Call this function to release all resources from player. + */ + music.teardown = function() { + traceme(); + publishingPlayer.cancel(); + } + + // Private functions, read data from native side.. + function _playerReady() { + traceme(); + return typeof ovi != "undefined" && + typeof ovi.player != "undefined" && + typeof ovi.player.publish != "undefinded"; + } + + + function _getMusicContext() { + traceme(); + musicContext = new ovi.player.contextobject.Player(); + + var attachment = music.getPostContent(); + + logme('music._getMusicContext() | attachment'); + + logme('music._getMusicContext() | musicContext.create'); + + var sharePlayerArtImage = ""; + var sharePlayerArtBase64 = window.context.albumArtBase64(); + if ( sharePlayerArtBase64.length > 0 ) { + // TODO: this is temporary solution until base64 defect in QT is fixed. + sharePlayerArtImage = ""; +// sharePlayerArtImage = ""; + } + // Create context object + musicContext.create({ + view: "none", + data: { + miniview: "" + /* + // TODO REMOVE, for testing only + + "" + */ + + sharePlayerArtImage + + "
" + + "" + + "
" + window.context.title() + "
" + + "
" + window.context.artist() + "
" + + "
" + + "
", + object: attachment + } + }); + return musicContext; + } + + function _getNoa() { + traceme(); + // temporary solution until SSO token get from QT SSO DE (now we fetch username, password and re-authenticate using api.ovi.com) + var token = (window.context.username)? [window.context.username(),window.context.password()] : window.context.token.split(":"); + logme(token[0] + "/" + token[1]); + return { + username: token[0], + password: token[1] + } + } +})(); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/ovicredentials.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/ovicredentials.txt Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,1 @@ +hipsu:hipsupass diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/resources/qtg_large_music_album.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/resources/qtg_large_music_album.svg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpdetailssharedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/src/mpdetailssharedialog.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,568 @@ +/* +* 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: Implementation for share player. +* +*/ + +#ifdef SHARE_FUNC_ENABLED + +#include "mpdetailssharedialog.h" +#include "mpsharedata.h" +#include "mpsongdata.h" +#include "mptrace.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QTM_USE_NAMESPACE + +// SHARE_INDEX_FILE defines where the index.html file is loaded from. +#define SHARE_INDEX_URL "qrc:///shareview/index.html" + +#ifdef Q_OS_SYMBIAN +// Symbian target. +#ifdef SHARE_PLAYER_RND +// For R&D testing, index.html may be loaded from E: drive. +// User must manually place index.html in the correct location. +// If the RND file does not exist, then SHARE_INDEX_URL will be used. +#define RND_SHARE_INDEX_URL "file:///f:/index.html" +#define RND_SHARE_INDEX_FILE "f:\\index.html" +#define RND_OVI_LOGIN_FILE "f:\\ovicredentials.txt" +#endif +#else +// Assume Windows target. +#define RND_SHARE_INDEX_URL "file:///c:/temp/index.html" +#define RND_SHARE_INDEX_FILE "c:\\temp\\index.html" +#define RND_OVI_LOGIN_FILE "c:\\temp\\ovicredentials.txt" + +#endif + +// Default language in case QSystemInfo does not work. +#define DEFAULT_LANGUAGE "en-US" + +// Default error message. +#define ERROR_MESSAGE "An error occured. Sharing is not currently available" + + +/*! + MpNetworkAccessManager allows local caching of publishing player files + in order to minimize network traffic. + The files will be cached to the private directory of the application, + i.e. in the music player's case, this is C:\Private\10207C62\Cache. + */ +class MpNetworkAccessManager : public QNetworkAccessManager +{ +public: + MpNetworkAccessManager( QObject* parent = 0 ) + : QNetworkAccessManager( parent ) + { + proxyFactory()->setUseSystemConfiguration( true ); + QNetworkDiskCache* diskCache = new QNetworkDiskCache( this ); + QString location = QDesktopServices::storageLocation( QDesktopServices::CacheLocation ); + diskCache->setCacheDirectory( location ); + setCache( diskCache ); + } + +private: + QNetworkReply* createRequest( Operation op, + const QNetworkRequest &request, + QIODevice* outgoingData = 0 ) + { + TX_ENTRY + TX_LOG_ARGS( "share: createRequest URL=" << request.url().toString() ) + + QVariant val = request.attribute( QNetworkRequest::CacheLoadControlAttribute ); + + // Change the cache load control attrbute! + QNetworkRequest req = request; + req.setAttribute( QNetworkRequest::CacheLoadControlAttribute, + QVariant( QNetworkRequest::PreferCache ) ); + QNetworkReply* result = QNetworkAccessManager::createRequest( op, req, outgoingData ); + TX_EXIT + return result; + } +}; + +/*! + MpShareWebView derives from QGraphicsWebView in order to override it's + contextMenuEvent method to prevent the background context menu from + being displayed when user makes long click in the web view. + */ +class MpShareWebView : public QGraphicsWebView +{ +public: + MpShareWebView( QGraphicsItem * parent = 0 ) + : QGraphicsWebView( parent ) + { + settings()->setAttribute( QWebSettings::LocalContentCanAccessRemoteUrls, true ); + settings()->setAttribute( QWebSettings::LocalStorageDatabaseEnabled, true ); + settings()->enablePersistentStorage(); + } + +protected: + void contextMenuEvent( QGraphicsSceneContextMenuEvent* /*ev*/ ) // Override QGraphicsWebView::contextMenuEvent + { + // Fix to prevent "Stop" and "Reload" buttons in page background. + // Do not respond to the contextMenuEvent. + } +}; + + +/*! + Constructor. + */ +MpDetailsShareDialog::MpDetailsShareDialog() + : mShareWebView( 0 ), + mShareNetAccMan( 0 ), + mProgressbar ( 0 ), + mIsInitialized( false ) +{ + // DeleteOnClose attribute prevents crash when user presses Cancel + // before publishing player is fully loaded. + setAttribute( Qt::WA_DeleteOnClose, true ); +} + +/*! + Initialize the share dialog. + When fully initialized we set our mIsInitialized flag to true. + Our isInitialized() method can be called to determine whether + initialization was successful. + */ +void MpDetailsShareDialog::initialize( MpSongData* aSongData, const QString& aUnknownTr ) +{ + TX_ENTRY + if ( !initUser() ) + { + emit closeShareDialog(); + return; + } + initShareData( aSongData, aUnknownTr ); + initLanguage(); + initNetworkAccessManager(); + initWebView(); + initSignalSlots(); + + setDismissPolicy( HbDialog::NoDismiss ); + + // No timeout needed for the dialog. + setTimeout( HbPopup::NoTimeout ); + +#ifdef SHARE_PLAYER_RND + // Test whether the RND file exists. + QFile file( RND_SHARE_INDEX_FILE ); + if ( file.exists() ) + { + // Load the RND URL from the specified location to the web view. + TX_LOG_ARGS( "share: Use RND index.html file " << RND_SHARE_INDEX_FILE ) + mShareWebView->load( QUrl( RND_SHARE_INDEX_URL ) ); + } + else +#endif + { + // Load the production URL from the application resources to the web view. + TX_LOG_ARGS( "share: Use QRC index.html file " << SHARE_INDEX_URL ) + mShareWebView->load( QUrl( SHARE_INDEX_URL ) ); + } + + // Flag that the dialog is now fully initialized. + mIsInitialized = true; + + // Show progress dialog in .3 second if loading not finished. + QTimer::singleShot(300, this, SLOT(showProgressDialog())); + + TX_EXIT +} + +/*! + Destructor. + */ +MpDetailsShareDialog::~MpDetailsShareDialog() +{ + TX_ENTRY + if ( mShareData.songData() ) + { + // Ensure that we remove the temporary album art file when we close the dialog. + // TODO this should be removed when base64 issue is solved. + TX_LOG_ARGS( "share: remove album art file" ) + mShareData.songData()->removeAlbumArtFile(); + } + logoutPlayer(); + // Probably mShareNetAccMan should not be deleted but qt documentation + // does not indicate whether QWebPage takes ownership of the object or not. + // See http://doc.qt.nokia.com/4.6/qwebpage.html + //delete mShareNetAccMan; + TX_EXIT +} + +/*! + Initialize share data. + */ +void MpDetailsShareDialog::initShareData( MpSongData* aSongData, const QString& aUnknownTr ) +{ + TX_ENTRY + // Set information for the share data. + mShareData.setOwner( this ); + mShareData.setSongData( aSongData ); + mShareData.setErrorMessage( tr( ERROR_MESSAGE ) ); + mShareData.setUnknownTr( aUnknownTr ); + TX_EXIT +} + +/*! + Initialize language. + Language string is formatted like "en-US", where "en" is the ISO-639-1 language code, + and "US" is the ISO-3166-1 country code. + We use the QT Mobility API (systeminfo) to obtain the settings from the device. + In the event that we cannot construct the QSystemInfo variable then we will fallback + to some DEFAULT_LANGUAGE setting. + */ +void MpDetailsShareDialog::initLanguage() +{ + TX_ENTRY + // Set language string, example "en-US". + QString language; + QSystemInfo* sysInfo = new QSystemInfo( this ); + if ( sysInfo ) + { + language += sysInfo->currentLanguage(); // ISO-639-1 language code. + language += "-"; + language += sysInfo->currentCountryCode(); // ISO-3166-1 country code. + delete sysInfo; + } + else + { + // Fallback to the default language. + language = DEFAULT_LANGUAGE; + } + TX_LOG_ARGS( "share: language '" << language << "'" ) + mShareData.setLanguage( language ); + TX_EXIT +} + +/*! + Initialize network access manager. + */ +void MpDetailsShareDialog::initNetworkAccessManager() +{ + TX_ENTRY + // Make our own network access manager to allow file retrieval from local cache, + // since configuration for the default network access manager seems to be + // to always redownload from network. + if ( !mShareNetAccMan ) + { + TX_LOG_ARGS( "share: construct network access manager" ) + mShareNetAccMan = new MpNetworkAccessManager( this ); + } + TX_EXIT +} + +/*! + Initialize the web view. + */ +void MpDetailsShareDialog::initWebView() +{ + TX_ENTRY + if ( !mShareWebView ) + { + TX_LOG_ARGS( "share: construct share web view" ) + mShareWebView = new MpShareWebView( this ); + mShareWebView->page()->setNetworkAccessManager( mShareNetAccMan ); + mShareWebView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff); + mShareWebView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAsNeeded); + setContentWidget( mShareWebView ); + addContext(); + mProgressbar = new HbProgressDialog(HbProgressDialog::WaitDialog); + mProgressbar->setText(tr("Loading")); + } + TX_EXIT +} + +/*! + Initialize signals and slots. + */ +void MpDetailsShareDialog::initSignalSlots() +{ + TX_ENTRY + // Connect various signals to slots for networking. + connect( mShareNetAccMan, SIGNAL( sslErrors( QNetworkReply*, const QList< QSslError >& ) ), + this, SLOT( handleRequestSSLErrors( QNetworkReply*, const QList< QSslError >& ) ) ); + connect( mShareNetAccMan, SIGNAL( finished( QNetworkReply* ) ), this, SLOT( handleRequestFinished( QNetworkReply* ) ) ); + + // Connect various signals to slots for interface to webview. + connect( mShareWebView, SIGNAL( loadFinished( bool ) ), SLOT( onIndexLoad( bool ) ) ); + connect( mShareWebView->page()->mainFrame(), SIGNAL( javaScriptWindowObjectCleared() ), this, SLOT( addContext() ) ); + connect( mShareWebView->page(), SIGNAL( windowCloseRequested() ), this, SIGNAL( closeShareDialog() ) ); + connect( mProgressbar, SIGNAL(cancelled()), this, SIGNAL( closeShareDialog() ) ); + TX_EXIT +} + +/*! + initUser is used as temporary solution until Single Sign On is implemented in platform. + */ +bool MpDetailsShareDialog::initUser() +{ + TX_ENTRY + bool result = false; +#ifdef SHARE_PLAYER_RND + // ovicredentials.txt is used as temporary solution until Single Sign On is implemented in platform. + QFile file( RND_OVI_LOGIN_FILE ); + if ( !file.open( QFile::ReadOnly ) ) + { + // There must be e:ovicredentials.txt in the filesystem but don't show error dialog + // otherwise it will appear as soon as detailsview is created. + result = false; + } + else + { + QTextStream stream ( &file ); + QString strCred = stream.readLine( 0 ); + file.close(); + QStringList slCred = strCred.split( ":" ); + if ( slCred.length() > 1 ) + { + mShareData.setUsername( slCred[ 0 ] ); + mShareData.setPassword( slCred[ 1 ] ); + result = true; + } + else + { + errorHandler( "share", QString( RND_OVI_LOGIN_FILE ) + " username:password expected" ); + } + } + TX_LOG_ARGS( "share: credentials " << mShareData.username() << " / " << mShareData.password() ) +#else + // TODO: Single Sign On stuff. +#endif // SHARE_PLAYER_RND + TX_EXIT + return result; +} + +/*! + Returns true if the dialog has been fully initialized. + */ +bool MpDetailsShareDialog::isInitialized() const +{ + return mIsInitialized; +} + +/*! + Attempt to cache the publishing player files from internet + to improve user experience for first-time use. + If the files are already in the cache and have not expired, + then this should not do anything. + */ +void MpDetailsShareDialog::cachePublishingPlayerFiles() +{ + TX_ENTRY + // We need the network access manager, so make sure it is initialized. + if ( !mShareNetAccMan ) + { + initNetworkAccessManager(); + } + // Attempt to get the required publishing player files from the net in advance. + // We don't listen to any signal that the download succeeded or failed + // since we will let it silently fail at this stage. + // These URLs are also included in index.html resource, and the two must + // be kept the same. + mShareNetAccMan->get( QNetworkRequest( QUrl( + "http://hf.ci.wipsl.com/PleiXXPTsup/noheva-be/css/ovi.player.share.ui.css" ) ) ); + mShareNetAccMan->get( QNetworkRequest( QUrl( + "http://hf.ci.wipsl.com/PleiXXPTsup/noheva-be/js/publishplayer.js" ) ) ); + TX_EXIT +} + +/*! + Release resources from share player. + */ +void MpDetailsShareDialog::logoutPlayer() +{ + TX_ENTRY + if ( mShareWebView ) + { + mShareWebView->page()->mainFrame()->evaluateJavaScript( "music.teardown();" ); + } + TX_EXIT +} + +/*! + Adds the shared data context to the javascript of the loaded page. + */ +void MpDetailsShareDialog::addContext() +{ + TX_ENTRY + if ( mShareWebView ) + { + mShareWebView->page()->mainFrame()->addToJavaScriptWindowObject( "context", &mShareData ); + } + TX_EXIT +} + +/*! + Updates the shared data context in the javascript of the loaded page. + */ +void MpDetailsShareDialog::updateSharedData() +{ + TX_ENTRY + if ( mShareWebView ) + { + // We don't need to call updateContextArea when the track URL has been updated. + //mShareWebView->page()->mainFrame()->evaluateJavaScript( "music.updateContextArea();" ); + mShareWebView->page()->mainFrame()->evaluateJavaScript( "music.updateMetadata();" ); + } + TX_EXIT +} + +/*! + Slot to call when index.html loading completes. + */ +void MpDetailsShareDialog::onIndexLoad( bool aOk ) +{ + TX_ENTRY + if ( !aOk ) + { + // Close the popup window, failed to load index.html. + // This is pretty serious and most likely unrecoverable error. + // Only thing we can do really is to close the share player + // dialog - TODO do we need to show any error message to user? + TX_LOG_ARGS( "share: failed to load index.html" ) + emit closeShareDialog(); + } + TX_EXIT +} + +/*! + Slot to call for debug output. + */ +void MpDetailsShareDialog::debugJs( QString s ) +{ + TX_ENTRY + TX_LOG_ARGS( "share: debugJs: " << s ) + TX_EXIT +} + +/*! + Slot to call for displaying an error message to the user. + */ +void MpDetailsShareDialog::errorHandler( QString aError, QString aMessage ) +{ + TX_ENTRY + // If error argument ends with "_SUCCESS", then this should be an info message. + // If error argument ends with "_FAILED" or something else, then this should be a warning message. + TX_LOG_ARGS( "share: errorHandler: " << aError << ": " << aMessage ) + if ( aError.endsWith( "_SUCCESS" ) ) + { + // TODO this method seems to be deprecated? + HbMessageBox::information( tr( "%1" ).arg( aError ) + ": " + tr( "%1" ).arg( aMessage ) ); // For week16 hbwidgets + } + else + { + // TODO this method seems to be deprecated? + HbMessageBox::warning( tr( "%1" ).arg( aError ) + ": " + tr( "%1" ).arg( aMessage ) ); // For week16 hbwidgets + // HbMessageBox::launchWarningMessageBox( tr( "%1" ).arg( aError ) + ": " + tr( "%1" ).arg( message ) ); // For week12 hbwidgets + } + TX_EXIT +} + +/*! + Slot to call to clear the web view cache. + */ +void MpDetailsShareDialog::clearCache() +{ + TX_ENTRY + QAbstractNetworkCache* cache = mShareNetAccMan ? mShareNetAccMan->cache() : NULL; + if ( cache ) + { + TX_LOG_ARGS( "share: clearCache: clearing cache" ) + cache->clear(); +#ifdef SHARE_PLAYER_RND + errorHandler( "Cache", "Cleared cache!" ); +#endif + } + else + { + TX_LOG_ARGS( "share: clearCache: unable to clear cache" ) +#ifdef SHARE_PLAYER_RND + errorHandler( "Cache", "Could not clear cache!" ); +#endif + } + TX_EXIT +} + +/*! + Slot to show the publishing window after html elements are created in javascript. + */ +void MpDetailsShareDialog::showWindow() +{ + TX_ENTRY + if (mProgressbar) + mProgressbar->close(); + show(); + TX_EXIT +} + +/*! + Slot to show progress dialog if the publishing window is not loaded in .3 sec. + */ +void MpDetailsShareDialog::showProgressDialog() +{ + TX_ENTRY + if (!isVisible()) + mProgressbar->show(); + TX_EXIT +} + +/*! + Slot to SSL errors in network request. We will ignore any errors. + */ +void MpDetailsShareDialog::handleRequestSSLErrors( QNetworkReply* aReply, const QList< QSslError >& aErrors ) +{ + TX_ENTRY + aReply->ignoreSslErrors(); + for( int i = 0; i < aErrors.count(); i++ ) + { + TX_LOG_ARGS( "SSL error " << aErrors.at( i ).errorString() ); + } + TX_EXIT +} + +/*! + Slot to handle network request completion. + */ +void MpDetailsShareDialog::handleRequestFinished( QNetworkReply* aReply ) +{ + TX_ENTRY + if ( aReply->error() != QNetworkReply::NoError ) + { + TX_LOG_ARGS( "Network request error " << aReply->error() << aReply->errorString() ); + // TODO what to do now? + } + TX_EXIT +} + +#endif // SHARE_FUNC_ENABLED diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp --- a/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -1,7 +1,7 @@ /* * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. -* This component and the accompanying materials are made available +* 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". @@ -14,24 +14,17 @@ * Description: Music Player details view. * */ -#include -#include +#include #include #include #include -#include #include -#include -#include #include #include -#include -#include #include +#include -#include -#include -#include + #include #include @@ -45,76 +38,127 @@ #include #include #include +#include +#include #include "mpdetailsview.h" +#include "mpenginefactory.h" #include "mpcommondefs.h" -#include "mpmpxdetailsframeworkwrapper.h" #include "mpsongdata.h" +#include "mpsettingsmanager.h" +#include "mpquerymanager.h" #include "mptrace.h" -const int KUndefined = -1; -const int KRecommendationNum = 2; +#ifdef SHARE_FUNC_ENABLED +#include "mpdetailssharedialog.h" +#endif + + +const int KRecommendationCount = 2; + /*! Constructor */ MpDetailsView::MpDetailsView() - : mSongData( 0 ), - mFrameworkWrapper( 0 ), + : mMpEngine( 0 ), + mSongData( 0 ), mActivated( false ), - mWindow( 0 ), - mNavigationBack( 0 ), - mSongText( NULL ), - mAlbumText( NULL ), - mArtistText( NULL ), - mAlbumArt( NULL ), - mDocumentLoader( NULL ), - mDownloadedAlbumArts( 0 ), - mAlbumArtsReadyCount( 0 ), - mMpTranslator( 0 ), - mCommonTranslator( 0 ) + mSoftKeyBack( 0 ), + mSongText( 0 ), + mAlbumText( 0 ), + mArtistText( 0 ), + mAlbumArt( 0 ), + mSongDetailsGroupBox(0), + mInspireMeGroupBox(0), + mShareButton(0), + mDocumentLoader( 0 ), + mDetailList(0), + mInspireList(0), + mInspireMeProgressBar(0), + mMpQueryManager( 0 ), + mInspireMeQueryOngoing( false ), + mInspireMeQueryRendered( false ), + mInspireMeOpen(true), + mSongDetailsGbOpen(false) +#ifdef SHARE_FUNC_ENABLED + , mSharePopup( 0 ) +#endif { TX_ENTRY bool widgetsOk = false; HbMainWindow *mainWindow = hbInstance->allMainWindows()[0]; mDocumentLoader = new HbDocumentLoader(); - if ( mDocumentLoader ) { - mDocumentLoader->load( QString(":/detailsviewdocml/detailsview.docml"), &widgetsOk ); - } - if ( widgetsOk ) { - QGraphicsWidget *widget; - - widget = mDocumentLoader->findWidget( QString("content") ); - mContainer = qobject_cast(widget); - if ( mContainer ) { - setWidget( mContainer ); - } - - widget = mDocumentLoader->findWidget( QString("shareButton") ); - mShareButton = qobject_cast(widget); - - widget = mDocumentLoader->findWidget( QString("songText") ); - mSongText = qobject_cast(widget); + TX_LOG_ARGS("Document loader created") + if(!mDocumentLoader) { + TX_LOG_ARGS( "MpDetailsView() Error: HbDocumentLoader not constructed" ); + return; + } + + TX_LOG_ARGS("Loading :/mpdetailsviewdocml/mpdetailsview.docml") + mDocumentLoader->load( QString(":/mpdetailsviewdocml/mpdetailsview.docml"), &widgetsOk ); + if(!widgetsOk) { + TX_LOG_ARGS( "MpDetailsView() Error: invalid mpdetailsview.docml" ); + return; + } + + TX_LOG_ARGS("Loaded :/mpdetailsviewdocml/mpdetailsview.docml") + QGraphicsWidget *widget = 0; + + widget = mDocumentLoader->findWidget( QString("content") ); + TX_LOG_ARGS( "MpDetailsView() mDocumentLoader->findWidget for : " << (int)(widget) ); + setWidget( qobject_cast(widget) ); + + widget = mDocumentLoader->findWidget( QString("shareButton") ); + mShareButton = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mShareButton: " << (int)(mShareButton) ); + + widget = mDocumentLoader->findWidget( QString("trackTitle") ); + mSongText = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mSongText: " << (int)(mSongText) ); + + widget = mDocumentLoader->findWidget( QString("artist") ); + mArtistText = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mArtistText: " << (int)(mArtistText) ); + + widget = mDocumentLoader->findWidget( QString("albumName") ); + mAlbumText = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mAlbumText: " << (int)(mAlbumText) ); + + widget = mDocumentLoader->findWidget( QString("albumArt") ); + mAlbumArt = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mAlbumArt: " << (int)(mAlbumArt) ); + + widget = mDocumentLoader->findWidget( QString("songDetails") ); + mSongDetailsGroupBox = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mSongDetailsGroupBox: " << (int)(mSongDetailsGroupBox) ); + + widget = mDocumentLoader->findWidget( QString("songDetailsListWidget") ); + mDetailList = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mDetailList: " << (int)(mDetailList) ); + + widget = mDocumentLoader->findWidget( QString("inspireMeGroupBox") ); + mInspireMeGroupBox = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mInspireMeGroupBox: " << (int)(mInspireMeGroupBox) ); + + widget = mDocumentLoader->findWidget( QString("inspireListWidget") ); + mInspireList = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mInspireList: " << (int)(mInspireList) ); + + widget = mDocumentLoader->findWidget( QString("inspireMeProgressBar") ); + mInspireMeProgressBar = qobject_cast(widget); + TX_LOG_ARGS("MpDetailsView() widget found mInspireMeProgressBar: " << (int)(mInspireMeProgressBar) ); - widget = mDocumentLoader->findWidget( QString("artistText") ); - mArtistText = qobject_cast(widget); - - widget = mDocumentLoader->findWidget( QString("albumText") ); - mAlbumText = qobject_cast(widget); + // load section HideInspireMe if no ovi store suport + bool loadingSectionOk = false; + mDocumentLoader->load( QString(":/mpdetailsviewdocml/mpdetailsview.docml"), QString( "ShowInspireMe" ), &loadingSectionOk ); + if( loadingSectionOk ) { + TX_LOG_ARGS( "Loading ShowInspireMe section is successful." ); + } else { + TX_LOG_ARGS( "Loading ShowInspireMe section fails." ); + } - widget = mDocumentLoader->findWidget( QString("albumArt") ); - mAlbumArt = qobject_cast(widget); - - widget = mDocumentLoader->findWidget( QString("songDetailsGroupBox") ); - mSongDetailsGroupBox = qobject_cast(widget); - - widget = mDocumentLoader->findWidget( QString("inspireMeGroupBox") ); - mInspireMeGroupBox = qobject_cast(widget); - } - else { - TX_LOG_ARGS( "Error: invalid detailsview.docml" ); - } TX_EXIT } @@ -123,103 +167,50 @@ */ MpDetailsView::~MpDetailsView() { - TX_ENTRY - if ( mFrameworkWrapper ) { - delete mFrameworkWrapper; - } - if ( mNavigationBack ) { - delete mNavigationBack; - } - if ( mDocumentLoader ) { - delete mDocumentLoader; - } - if ( mManager ) { - mManager->deleteLater(); - } - if ( mDownloadManager ) { - mDownloadManager->deleteLater(); - } - if( mThumbnailManager ) { - delete mThumbnailManager; - } - delete mMpTranslator; - delete mCommonTranslator; + TX_ENTRY + delete mSoftKeyBack; + delete mDocumentLoader; + delete mMpQueryManager; + +#ifdef SHARE_FUNC_ENABLED + closeShareDialog(); +#endif TX_EXIT } + /*! Initializes the details view. Allocates all resources needed by the view. */ void MpDetailsView::initializeView() { - TX_ENTRY - - //Load musicplayer and common translators - QString lang = QLocale::system().name(); - QString path = QString( "z:/resource/qt/translations/" ); - bool translatorLoaded = false; + TX_ENTRY - mMpTranslator = new QTranslator( this ); - translatorLoaded = mMpTranslator->load( path + "musicplayer_" + lang ); - TX_LOG_ARGS( "Loading translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mMpTranslator ); - } + mSoftKeyBack = new HbAction( Hb::BackNaviAction, this ); - mCommonTranslator = new QTranslator( this ); - translatorLoaded = mCommonTranslator->load( path + "common_" + lang ); - TX_LOG_ARGS( "Loading common translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mCommonTranslator ); - } - - mWindow = mainWindow(); - mNavigationBack = new HbAction( Hb::BackNaviAction, this ); - mFrameworkWrapper = new MpMpxDetailsFrameworkWrapper( ); - mSongData = mFrameworkWrapper->songData(); - - mCompositePixmap = QPixmap( 150, 150 ); - - mDetailList = new HbListWidget( mSongDetailsGroupBox ); - mButton = new HbPushButton( tr( "More recommendations" ) ); - mSongDetailsGroupBox->setCollapsable( true ); - mSongDetailsGroupBox->setHeading( tr("Song details") ); - mSongDetailsGroupBox->setContentWidget( mDetailList ); - mSongDetailsGroupBox->setCollapsed( true ); + mMpEngine = MpEngineFactory::sharedEngine(); + mSongData = mMpEngine->songData(); - mLayout = new QGraphicsLinearLayout( Qt::Vertical ); - mInspireMe = new HbWidget( mInspireMeGroupBox ); - mInspireList = new HbListWidget(); - mInspireMeGroupBox->setCollapsable( true ); - mInspireMeGroupBox->setHeading( tr("Inspire me") ); - mInspireMeGroupBox->setContentWidget( mInspireMe ); - - - mManager = new QNetworkAccessManager( this ); - connect( mManager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( retrieveInformationFinished( QNetworkReply * ) ) ); - - mDownloadManager = new QNetworkAccessManager( this ); - connect( mDownloadManager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( DownloadFinished( QNetworkReply * ) ) ); - - mRecommendationAlbumArtsName << "C:\\Data\\albumOne.png" << "C:\\Data\\albumTwo.png"; - - mThumbnailManager = new ThumbnailManager( this ); - mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); - mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailSmall ); - QObject::connect( mThumbnailManager, SIGNAL( thumbnailReady( QPixmap , void * , int , int ) ), - this, SLOT( thumbnailReady( QPixmap , void * , int , int ) ) ); - mDefaultRecommendationAlbumArt = QPixmap( ":/detailsviewicons/defaultalbumart.png" ); - // TODO: might need later setupMenu(); - - connect( mNavigationBack, SIGNAL( triggered() ), this, SLOT( back() ) ); - connect( mShareButton, SIGNAL( clicked() ), this, SLOT( share() ) ); - connect( mSongData, SIGNAL( albumArtReady() ), this, SLOT( albumArtChanged() ) ); - connect( mSongData, SIGNAL( playbackInfoChanged() ), this, SLOT( playbackInfoChanged() ) ); - connect( mSongData, SIGNAL( songDetailInfoChanged() ), this, SLOT( songDetailInfoChanged() ) ); - connect( mSongDetailsGroupBox, SIGNAL( toggled( bool ) ), this, SLOT( toggleInspireMeGroupBox( bool ) ) ); - connect( mInspireMeGroupBox, SIGNAL( toggled( bool ) ), this, SLOT( toggleDetailsGroupBox( bool ) ) ); + mMpQueryManager = new MpQueryManager(); + + connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) ); + connect( mSongData, SIGNAL( albumArtReady() ), this, SLOT( albumArtChanged() ) ); + connect( mSongData, SIGNAL( playbackInfoChanged() ), this, SLOT( handlePlaybackInfoChanged() ) ); + connect( mSongData, SIGNAL( songDetailInfoChanged() ), this, SLOT( songDetailInfoChanged() ) ); + connect( mSongDetailsGroupBox, SIGNAL( toggled( bool ) ), this, SLOT( handleDetailsGroupBoxToggled( bool ) ) ); + connect( mInspireMeGroupBox, SIGNAL( toggled( bool ) ), this, SLOT( handleInspireMeGroupBoxToggled( bool ) ) ); + connect( mMpQueryManager, SIGNAL( networkError() ), this ,SLOT( handleNetworkError() ) ); + connect( mMpQueryManager, SIGNAL(searchUrlRetrieved(const QString&)), this, SLOT(updateSharedData(const QString&))); + connect( mMpQueryManager, SIGNAL(recommendationAlbumArtsReady()), this, SLOT(RenderInspireMeGroupBox())); + +#ifdef SHARE_FUNC_ENABLED + connect( mShareButton, SIGNAL( clicked() ), this, SLOT( share() ) ); + + // Preload the share popup + preloadShareDialog(); +#endif TX_EXIT } @@ -228,11 +219,17 @@ */ void MpDetailsView::activateView() { - TX_ENTRY - setNavigationAction( mNavigationBack ); - mFrameworkWrapper->retrieveSong(); - + TX_ENTRY + setNavigationAction( mSoftKeyBack ); + mMpEngine->retrieveSong(); + mActivated = true; + mInspireMeOpen = MpSettingsManager::inspireMe(); + mSongDetailsGbOpen = MpSettingsManager::songDetailsGb(); + TX_LOG_ARGS( "InspireMeVal: " << mInspireMeOpen ); + TX_LOG_ARGS( "SongDetailsGbVal: " << mSongDetailsGbOpen ); + mInspireMeGroupBox->setCollapsed(!mInspireMeOpen); + mSongDetailsGroupBox->setCollapsed(!mSongDetailsGbOpen); TX_EXIT } @@ -241,9 +238,21 @@ */ void MpDetailsView::deactivateView() { - TX_ENTRY + TX_ENTRY + if (mInspireMeGroupBox->isCollapsed() ) { + MpSettingsManager::setInspireMe(false); + } else { + MpSettingsManager::setInspireMe(true); + } + + if (mSongDetailsGroupBox->isCollapsed() ) { + MpSettingsManager::setSongDetailsGb(false); + } else { + MpSettingsManager::setSongDetailsGb(true); + } + setNavigationAction( 0 ); - mActivated = false; + mActivated = false; TX_EXIT } @@ -259,302 +268,162 @@ /*! Slot to handle back command from softkey. - - \reimp */ void MpDetailsView::back() { - TX_ENTRY + TX_ENTRY emit command( MpCommon::ActivatePlaybackView ); TX_EXIT } /*! - Slot to be called when share button is clicked - */ -void MpDetailsView::share() -{ - TX_ENTRY - TX_EXIT -} - -/*! Slot to handle Album art changed. */ void MpDetailsView::albumArtChanged( ) -{ - TX_ENTRY - QPixmap pixmap; - QIcon qicon; - mSongData->albumArt( pixmap ); - composeAlbumCover( pixmap ); - if ( !mCompositePixmap.isNull() ) - qicon = QIcon( mCompositePixmap ); - else - qicon = QIcon( pixmap ); - HbIcon icon( qicon ); - mAlbumArt->setIcon( icon ); - TX_EXIT -} - -void MpDetailsView::loadSharePlayer() -{ - TX_ENTRY - TX_EXIT -} - - -/*! - Slot to call when widget is loaded - */ -void MpDetailsView::webViewLoaded( bool ok ) -{ - TX_ENTRY - if ( ok ) { - TX_LOG_ARGS( "Loading web page successfully." ); - - } else { - TX_LOG_ARGS( "Loading web page failed!" ); - } - TX_EXIT -} - - -/*! - Compose the album art. - */ -void MpDetailsView::composeAlbumCover( QPixmap albumart ) { TX_ENTRY - mCompositePixmap.fill( Qt::transparent ); - QPainter painter( &mCompositePixmap ); - painter.setCompositionMode( QPainter::CompositionMode_Clear ); - painter.setCompositionMode( QPainter::CompositionMode_SourceOver ); - painter.fillRect( mCompositePixmap.rect(), Qt::transparent ); - painter.drawPixmap( QRect( 0, 0, 150, 150 ), albumart ); + HbIcon icon; + mSongData->albumArt( icon ); + mAlbumArt->setIcon( icon ); TX_EXIT } /*! - Make a key & value pair string for querying + Slot to handle network error. */ -QString MpDetailsView::keyValues( QStringList keys, QStringList values ) const -{ - TX_ENTRY - QString str; - if ( keys.length() != values.length() ) { - TX_LOG_ARGS( "Error: keys length is not equal to values length" ); - } else { - for ( int i = 0; i < keys.length(); i++ ) { - QString tValue = values.at( i ); - if ( 0 != tValue.length() ) - { - str += keys.at( i ) + "=" + values.at( i ) + "&"; - } - } - } - TX_EXIT - return str.left( str.length() - 1 ); -} - -/*! - Find the most suitable link based on Atom response from Ovi music server - */ -void MpDetailsView::handleParsedXML() +void MpDetailsView::handleNetworkError() { TX_ENTRY - QDomElement rootElement = mDomDocument.documentElement(); - - if ( rootElement.attribute( "type" ) == tr( "search" ) ) { - TX_LOG_ARGS( "URI response" ) - QString result; - QDomElement entry = rootElement.firstChildElement( "entry" ); - while ( !entry.isNull() ) - { - if ( entry.attribute( "type" ) == tr( "musictrack" ) ) { - QDomElement link = entry.firstChildElement( "link" ); - while ( !link.isNull() ) - { - if ( link.attribute( "rel" ) == tr( "alternate" ) - && link.attribute( "type" ) == tr( "text/html" ) ) { - result = link.attribute( "href" ); - } - link = link.nextSiblingElement( "link" ); - } - } - entry = entry.nextSiblingElement( "entry" ); - } - - mSongData->setLink( result ); - } else if ( rootElement.attribute( "type" ) == tr( "recommendedTracks" ) ) { - TX_LOG_ARGS( "Recommendation response" ) - QDomElement entry = rootElement.firstChildElement( "entry" ); - QNetworkReply *reply; - int count = 0; - while ( !entry.isNull() && count < KRecommendationNum ) - { - if ( entry.attribute( "type" ) == tr( "musictrack" ) ) { - QDomElement link = entry.firstChildElement( "link" ); - while ( !link.isNull() ) - { - if ( link.attribute( "title" ) == tr( "albumart100" ) ) { - mRecommendationAlbumArtsLink.append( link.attribute( "href" ) ); - break; - } else { - link = link.nextSiblingElement( "link" ); - } - } - QDomElement metadata = entry.firstChildElement( "metadata" ); - mRecommendationSongs.append( metadata.firstChildElement( "name" ).text() ); - mRecommendationArtists.append( metadata.firstChildElement( "primaryartist" ).text() ); - count++; - } - entry = entry.nextSiblingElement( "entry" ); - } - - for (int i = 0; i < KRecommendationNum; i++ ) { - TX_LOG_ARGS( "song name: " << mRecommendationSongs.at(i) ); - TX_LOG_ARGS( "Artist name: " << mRecommendationArtists.at(i) ); - TX_LOG_ARGS( "Album art link: " << mRecommendationAlbumArtsLink.at(i) ); - - if ( mRecommendationAlbumArtsLink.at( i ).contains( "http", Qt::CaseInsensitive ) ) { - reply = mDownloadManager->get( QNetworkRequest( QUrl( mRecommendationAlbumArtsLink.at(i) ) ) ); - mReplys.append( reply ); - connect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( retrieveInformationNetworkError( QNetworkReply::NetworkError ) ) ); - connect( reply, SIGNAL( sslErrors( QList ) ), this, SLOT( retrieveInformationSslErrors( QList ) ) ); - } - } - } else { - TX_LOG_ARGS( "Not supported response" ) - } - TX_EXIT -} - -/*! - Sets recommendation album art -*/ -void MpDetailsView::setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ) -{ - TX_ENTRY_ARGS( "albumArtUri = " << albumArtUri ) - TX_LOG_ARGS( "albumArtName = " << albumArtName ) - if ( !albumArtUri.isEmpty() ) { - int id = mThumbnailManager->getThumbnail( albumArtName, reinterpret_cast( const_cast( &albumArtUri ) ) ); - if ( id == KUndefined ) { - // Request failed. Set default album art. - mRecommendationAlbumArtsMap.insert( albumArtUri, mDefaultRecommendationAlbumArt ); - recommendationAlbumArtReady(); - } - } - else { - // No album art uri. Set default album art. - mRecommendationAlbumArtsMap.insert( albumArtUri, mDefaultRecommendationAlbumArt ); - recommendationAlbumArtReady(); - } + mInspireMeQueryOngoing = false; + mInspireMeQueryRendered = false; + clearInspireMe(); + mInspireMeGroupBox->setCollapsed( true ); TX_EXIT } /*! Render inspireme groupbox after album arts downloaded */ -void MpDetailsView::RenderInspireMeGroupBox() +void MpDetailsView::RenderInspireMeGroupBox() { TX_ENTRY - for ( int i = 0; i < KRecommendationNum; i++ ) { - HbListWidgetItem *item = new HbListWidgetItem(); - HbIcon icon( QIcon( mRecommendationAlbumArtsMap.value( mRecommendationAlbumArtsLink.at( i ) ) ) ); - item->setIcon( icon ); - item->setText( mRecommendationSongs.at( i ) ); - item->setSecondaryText( mRecommendationArtists.at( i ) ); - - mInspireList->addItem( item ); + mInspireMeQueryOngoing = false; + mInspireMeQueryRendered = true; + mInspireMeProgressBar->hide(); + if( mMpQueryManager->recommendationAlbumArtsMap().count() ) { + TX_LOG_ARGS( "There are recommendations." ) + // we have recommendations + for ( int i = 0; i < KRecommendationCount; i++ ) { + // configure the layout properties + if(!mInspireList->count()) { + // we havent configured the prototype before + HbListViewItem *prototype = mInspireList->listItemPrototype(); + prototype->setGraphicsSize( HbListViewItem::LargeIcon ); + } + // create the item + HbListWidgetItem *inspireMeItem = new HbListWidgetItem(); + HbIcon icon( QIcon( mMpQueryManager->recommendationAlbumArtsMap().value(mMpQueryManager->recommendationAlbumArtsLink().at( i ) ) ) ); + inspireMeItem->setIcon( icon ); + inspireMeItem->setText( mMpQueryManager->recommendationSongs().at( i ) ); + inspireMeItem->setSecondaryText( mMpQueryManager->recommendationArtists().at( i ) ); + mInspireList->addItem( inspireMeItem ); + } } - - // TODO: HbListWidget has some problem to return the correct height, hard code to 180 for now. - TX_LOG_ARGS( "height = " << mInspireList->geometry().height() ); - TX_LOG_ARGS( "height2 = " << mInspireList->size().height() ); - mInspireList->setMinimumHeight( 180 ); - mInspireList->setMaximumHeight( 180 ); - - mLayout->addItem( mInspireList ); - mButton->show(); - mLayout->addItem( mButton ); - mInspireMe->setLayout( mLayout ); - + else { + TX_LOG_ARGS( "There is NO recommendation." ) + // we dont have recommendations + // we havent configured the prototype before + HbListViewItem *prototype = mInspireList->listItemPrototype(); + const int maxTextRowCount = 20; + const int minTextRowCount = 1; + prototype->setSecondaryTextRowCount(minTextRowCount,maxTextRowCount); + + HbListWidgetItem *inspireMeItem = new HbListWidgetItem(); + QString info(tr("There are no recommendations for this track, but you can always discover new music on Ovi")); + inspireMeItem->setText( QString( " " ) ); + inspireMeItem->setSecondaryText( info ); + mInspireList->addItem( inspireMeItem ); + } + TX_EXIT } -void MpDetailsView::recommendationAlbumArtReady() -{ - TX_ENTRY_ARGS( "mAlbumArtsReadyCount = " << mAlbumArtsReadyCount ) - mAlbumArtsReadyCount++; - if ( mAlbumArtsReadyCount == KRecommendationNum ) { +bool MpDetailsView::canQueryRecommendations() const +{ + bool result = ( ( !mSongData->album().isEmpty() ) || + ( !mSongData->artist().isEmpty() ) ) && + !( mInspireMeGroupBox->isCollapsed() ); + TX_LOG_ARGS( "Can query recommendations:" << result ); + return result; +} + +bool MpDetailsView::canQuerySharePlayerLink() const +{ + bool result = ( !mSongData->title().isEmpty() ) && + ( !mSongData->artist().isEmpty() ) ; + TX_LOG_ARGS( "Can query share player link:" << result ); + return result; +} + +/*! + Slot to handle basic song information + */ +void MpDetailsView::handlePlaybackInfoChanged() +{ + TX_ENTRY + mMpQueryManager->clearNetworkReplies(); + clearInspireMe(); + mInspireMeQueryRendered = false; + + // Clear the song data link until new query has been made. + mSongData->setLink( "" ); + + if ( !mSongData->title().isEmpty () ) { + mSongText->setPlainText( mSongData->title() ); + } else { + mSongText->setPlainText( mSongData->fileName() ); + } + + if ( !mSongData->album().isEmpty () ) { + mAlbumText->setPlainText( mSongData->album() ); + } else { + mAlbumText->setPlainText( tr( "Unknown") ); + } + + if ( !mSongData->artist().isEmpty() ) { + mArtistText->setPlainText( mSongData->artist() ); + } else { + mArtistText->setPlainText( tr( "Unknown") ); + } + + if (canQuerySharePlayerLink() ) { + mMpQueryManager->queryLocalMusicStore(mSongData->artist(),mSongData->album(),mSongData->title()); + } + + if (canQueryRecommendations()) { + // start inspire me area progress bar + // TODO: currently, till we get to this callback from MPX the bar not shown + // TODO: check if inspireMe is ON, if not, dont show + mInspireMeProgressBar->show(); + mMpQueryManager->queryInspireMeItems(mSongData->artist(),mSongData->album(),mSongData->title()); + mInspireMeQueryOngoing = true; + } + else { + // metadata to query for inspire me items not available + // show information note + if (!mInspireMeGroupBox->isCollapsed()) RenderInspireMeGroupBox(); } TX_EXIT } - -/*! - Slot to handle basic song information - */ -void MpDetailsView::playbackInfoChanged() +void MpDetailsView::clearInspireMe() { TX_ENTRY - mSongText->setPlainText( mSongData->title() ); - mAlbumText->setPlainText( mSongData->album() ); - mArtistText->setPlainText( mSongData->artist() ); - - // Clear information & Remove album arts downloaded previously when song changes - TX_LOG_ARGS( "Reply count = " << mReplys.count() ); - for ( int i = 0; i < mReplys.count(); i++ ) { - QNetworkReply *reply = mReplys.at( i ); - if ( reply != NULL ) { - TX_LOG_ARGS( "Reply index : " << i ); - reply->close(); - delete reply; - reply = NULL; - } - } - mReplys.clear(); - - mDownloadedAlbumArts = 0; - mAlbumArtsReadyCount = 0; mInspireList->clear(); - for ( int i = 0; i < KRecommendationNum; i++) { - mRecommendationSongs.clear(); - mRecommendationArtists.clear(); - mRecommendationAlbumArtsLink.clear(); - mRecommendationAlbumArtsMap.clear(); - - QFile file( mRecommendationAlbumArtsName.at( i ) ); - if ( file.exists() ) { - if ( file.remove() ) { - TX_LOG_ARGS( "File removed - " << file.fileName() ); - } - else { - TX_LOG_ARGS( "Cannot remove file - " << file.fileName() ); - } - } else { - TX_LOG_ARGS( "File doesn't exist - " << file.fileName() ); - } - } - mButton->hide(); - - // TODO: country information handling, MCC - QString queryURI("http://api.music.ovi.com/1.0/ru/?"); - constructRequest( queryURI ); - TX_LOG_ARGS( "queryURI : " << queryURI ); - retrieveInformation( queryURI ); - - QString queryRecommendation("http://api.music.ovi.com/1.0/gb/releases/recommend/?"); - constructRequest( queryRecommendation ); - TX_LOG_ARGS( "queryRecommendation : " << queryRecommendation ); - retrieveInformation( queryRecommendation ); - - loadSharePlayer(); + mMpQueryManager->clearRecommendations(); TX_EXIT } - /*! Slot to handle detail song information */ @@ -562,225 +431,241 @@ { TX_ENTRY mDetailList->clear(); - - HbListWidgetItem *item = new HbListWidgetItem(); - item->setText( tr( "Track" ) ); - item->setSecondaryText( mSongData->albumTrack() ); - mDetailList->addItem( item ); - - item = new HbListWidgetItem(); - item->setText( tr( "Composer" ) ); - item->setSecondaryText( mSongData->composer() ); - mDetailList->addItem( item ); + + if ( !mSongData->albumTrack().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Song number" ) ); + item->setSecondaryText( mSongData->albumTrack() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->year().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Year" ) ); + item->setSecondaryText( mSongData->year() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->genre().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Genre" ) ); + item->setSecondaryText( mSongData->genre() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->composer().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Composer" ) ); + item->setSecondaryText( mSongData->composer() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->fileName().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "File name" ) ); + item->setSecondaryText( mSongData->fileName() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->mimeType().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Format" ) ); + item->setSecondaryText( mSongData->mimeType() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->duration().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Duration" ) ); + item->setSecondaryText( mSongData->duration() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } - item = new HbListWidgetItem(); - item->setText( tr( "Year" ) ); - item->setSecondaryText( mSongData->year() ); - mDetailList->addItem( item ); - - item = new HbListWidgetItem(); - item->setText( tr( "Genre" ) ); - item->setSecondaryText( mSongData->genre() ); - mDetailList->addItem( item ); + if ( !mSongData->bitRate().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Bitrate" ) ); + item->setSecondaryText( mSongData->bitRate().append( " Kbps" ) ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->sampleRate().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Sampling rate" ) ); + item->setSecondaryText( mSongData->sampleRate().append( " hz" ) ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->size().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Size" ) ); + item->setSecondaryText( mSongData->size().append( " MB" ) ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } - item = new HbListWidgetItem(); - item->setText( tr( "Comment" ) ); - item->setSecondaryText( mSongData->comment() ); - mDetailList->addItem( item ); + if ( !mSongData->modified().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Modified" ) ); + item->setSecondaryText( mSongData->modified() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->copyright().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Copyright" ) ); + item->setSecondaryText( mSongData->copyright() ); + item->setEnabled( false ); + mDetailList->addItem( item ); + } + + if ( !mSongData->musicURL().isNull() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Web site" ) ); + item->setSecondaryText( mSongData->musicURL() ); + item->setEnabled( true ); + mDetailList->addItem( item ); + } + + if ( mSongData->isDrmProtected() ) { + HbListWidgetItem *item = new HbListWidgetItem(); + item->setText( tr( "Licences" ) ); + item->setSecondaryText( tr( "Click for details" ) ); + item->setEnabled( true ); + mDetailList->addItem( item ); + } + TX_EXIT } -/*! - Slot to handle details groupbox toggling - */ -void MpDetailsView::toggleDetailsGroupBox(bool /*state*/) +void MpDetailsView::handleDetailsGroupBoxToggled(bool /*state*/) { TX_ENTRY - if ( !mInspireMeGroupBox->isCollapsed() ) { - mSongDetailsGroupBox->setCollapsed( true ); + if ( !mSongDetailsGroupBox->isCollapsed() ) { + mInspireMeGroupBox->setCollapsed( true ); } TX_EXIT } -/*! - Slot to handle inspire me groupbox toggling - */ -void MpDetailsView::toggleInspireMeGroupBox(bool /*state*/) +void MpDetailsView::handleInspireMeGroupBoxToggled(bool /*state*/) { TX_ENTRY - if ( !mSongDetailsGroupBox->isCollapsed() ) { - mInspireMeGroupBox->setCollapsed( true ); + if ( !mInspireMeGroupBox->isCollapsed() ) { + TX_LOG_ARGS( "InspireMe is expanded." ) + mSongDetailsGroupBox->setCollapsed( true ); + if ( mInspireMeQueryOngoing ) { + TX_LOG_ARGS( "Query is ongoing " ) + mInspireMeProgressBar->show(); + } else { + TX_LOG_ARGS( "Query is NOT ongoing " ) + if ( mInspireMeQueryRendered ) { + TX_LOG_ARGS( "InspireMe is rendered already. " ) + mInspireMeProgressBar->hide(); + } else { + if ( canQueryRecommendations() ) { + TX_LOG_ARGS( "InspireMe is NOT rendered yet but can query for recommendations. " ) + mMpQueryManager->queryInspireMeItems(mSongData->artist(),mSongData->album(),mSongData->title()); + mInspireMeProgressBar->show(); + mInspireMeQueryOngoing = true; + } else { + TX_LOG_ARGS( "InspireMe is NOT rendered yet and CANNOT query for recommendations either. " ) + RenderInspireMeGroupBox(); + } + } + } + } else { + TX_LOG_ARGS( "InspireMe is collapsed." ) + mInspireMeProgressBar->hide(); + } + TX_EXIT +} + +#ifdef SHARE_FUNC_ENABLED +/*! + Slot to be called when share button is clicked + */ +void MpDetailsView::share() +{ + TX_ENTRY + createShareDialog(); + if (canQuerySharePlayerLink() ) + { + mMpQueryManager->queryLocalMusicStore(mSongData->artist(),mSongData->album(),mSongData->title() ); } TX_EXIT } /*! - Construct the query for fetching URI & recommendations - */ -void MpDetailsView::constructRequest( QString &uri ) -{ - TX_ENTRY_ARGS( "uri =" << uri) - - QStringList keys; - keys << tr("artist") << tr("albumtitle") << tr("tracktitle") << tr("orderby"); - - // TODO: need to clarify which crition to use for sort, currently hard code to "relevancy" - // order can be relevancy, alltimedownloads, streetreleasedate, sortname, recentdownloads - QStringList values; - values << mSongData->artist() << mSongData->album() - << mSongData->title() << QString(tr("relevancy")); - TX_LOG_ARGS( "Artist: " << mSongData->artist() ); - TX_LOG_ARGS( "Album: " << mSongData->album() ); - TX_LOG_ARGS( "Title: " << mSongData->title() ); - - uri += keyValues( keys, values ); - - QUrl url(uri); - uri = url.toEncoded(); - TX_EXIT -} - -/*! - Get Atom response from Ovi server based on query - */ -void MpDetailsView::retrieveInformation( const QString &urlEncoded ) -{ - TX_ENTRY_ARGS( "urlEconded = " << urlEncoded) - QNetworkReply *reply = mManager->get( QNetworkRequest( QUrl( urlEncoded ) ) ); - mReplys.append( reply ); - - connect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( retrieveInformationNetworkError( QNetworkReply::NetworkError ) ) ); - connect( reply, SIGNAL( sslErrors( QList ) ), this, SLOT( retrieveInformationSslErrors( QList ) ) ); - TX_EXIT -} - - -/*! - Slot to call when getting response - */ -void MpDetailsView::retrieveInformationFinished( QNetworkReply* reply ) + Method to create the share dialog on demand. + This will cause the share web view to be created and start loading. + */ +void MpDetailsView::createShareDialog() { TX_ENTRY - QString errorStr; - int errorLine; - int errorColumn; - bool parsingSuccess; - - if ( reply->error() == QNetworkReply::NoError ) + if ( !mSharePopup ) { - parsingSuccess = mDomDocument.setContent( reply, true, &errorStr, &errorLine, &errorColumn ); - if ( parsingSuccess ) { - handleParsedXML(); //CodeScanner throws a warning mis-interpreting the trailing 'L' to be a leaving function. - } else { - // TODO: agree on error handling - TX_LOG_ARGS( "XML parsing error" ); - } + mSharePopup = new MpDetailsShareDialog(); } - else + if ( !mSharePopup->isInitialized() ) { - // TODO: agree on error handling - TX_LOG_ARGS( "Network error in retrieving Information" ); + connect( mSharePopup, SIGNAL( closeShareDialog() ), this, SLOT( closeShareDialog() ) ); + mSharePopup->initialize( mSongData, tr( "Unknown" ) ); } TX_EXIT } /*! - Slot to call when there is network error - */ -void MpDetailsView::retrieveInformationNetworkError( QNetworkReply::NetworkError /*error*/ ) + Method to create the share dialog on demand and preload publishing player files. + This will construct the share dialog but it will still be in "uninitialized" state. + */ +void MpDetailsView::preloadShareDialog() { - // TODO: agree on error handling - TX_ENTRY_ARGS( "Network error for retrieving Information" ); - TX_EXIT -} - -/*! - Slot to call when there is ssl error - */ -void MpDetailsView::retrieveInformationSslErrors( const QList &/*error*/ ) -{ - // TODO: agree on error handling - TX_ENTRY_ARGS( "SSL error for retrieving Information" ); + TX_ENTRY + if ( !mSharePopup ) + { + mSharePopup = new MpDetailsShareDialog(); + } + mSharePopup->cachePublishingPlayerFiles(); TX_EXIT } /*! - Slot to call when downloading finished + Slot to be called when ok/close button in share dialog is pressed. */ -void MpDetailsView::DownloadFinished( QNetworkReply* reply ) +void MpDetailsView::closeShareDialog() { - TX_ENTRY_ARGS( "mDownloadedAlbumArts = " << mDownloadedAlbumArts ); - if ( reply->error() == QNetworkReply::NoError ) + TX_ENTRY + if ( mSharePopup ) { - QString fileName = mRecommendationAlbumArtsName.at( mDownloadedAlbumArts ); - TX_LOG_ARGS( "File name: " << fileName ); - QFile file(fileName); - - if ( fileName.isEmpty() ) { - TX_LOG_ARGS( "Only store two album arts" ); - } else { - if ( !file.open( QIODevice::ReadWrite ) ) { - TX_LOG_ARGS( "Unable to open file" ); - } else { - file.write( reply->readAll() ); - file.flush(); - file.close(); - setAlbumArtUri( mRecommendationAlbumArtsLink.at( mDownloadedAlbumArts ), - mRecommendationAlbumArtsName.at( mDownloadedAlbumArts ) ); - } - } + // Dialog uses WA_DeleteOnClose so no need to delete it explicitely here, just close it. + mSharePopup->close(); + mSharePopup = NULL; } - else - { - TX_LOG_ARGS( "Downloading album art failed!" ); - } - - mDownloadedAlbumArts++; TX_EXIT } +#endif /*! - Slot to handle the recommendation album art + Slot to handle the music store URL retrieval from the query manager. */ -void MpDetailsView::thumbnailReady( - const QPixmap& pixmap, - void *data, - int /*id*/, - int error ) +void MpDetailsView::updateSharedData(const QString& url) { TX_ENTRY - QString uri = *( reinterpret_cast( data ) ); - TX_LOG_ARGS( "Uri: " << uri ); - - if ( error == 0 ) { - TX_LOG_ARGS( "album art link: " << uri ); - mRecommendationAlbumArtsMap.insert( uri, pixmap ); - recommendationAlbumArtReady(); - } - else { - mRecommendationAlbumArtsMap.insert( uri, mDefaultRecommendationAlbumArt ); - recommendationAlbumArtReady(); - } - + mSongData->setLink( url ); +#ifdef SHARE_FUNC_ENABLED + if ( mSharePopup ) + { + mSharePopup->updateSharedData(); + } +#endif TX_EXIT } - - -/*! - Slot to add context to javascript - */ -void MpDetailsView::addContext() -{ - TX_ENTRY - TX_EXIT -} - -/*! - Slot to close widget - */ -void MpDetailsView::close() -{ - TX_ENTRY - TX_EXIT -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp --- a/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +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 wrapper -* -*/ - - -#include "mpmpxdetailsframeworkwrapper.h" -#include "mpmpxdetailsframeworkwrapper_p.h" -#include "mptrace.h" - -/*! - \class MpMpxDetailsFrameworkWrapper - \brief Wrapper for mpx framework utilities. - - MPX framework wrapper provides Qt style interface to the MPX framework - utilities. Its implementation is hidden using private class data pattern. -*/ - - -/*! - Constructs the utility wrapper. - */ -MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper( QObject *parent ) - : QObject(parent), - d_ptr( q_check_ptr( new MpMpxDetailsFrameworkWrapperPrivate( this ) ) ) //from Qt 4.6 -{ - TX_ENTRY - TX_EXIT -} - -/*! - Destructs the utility wrapper. - */ -MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() -{ - TX_ENTRY - delete d_ptr; - TX_EXIT -} - -/*! - Returns pointer to MpSongData - */ -MpSongData *MpMpxDetailsFrameworkWrapper::songData() -{ - TX_LOG - return d_ptr->songData(); -} - -/*! - Retrieve currently playing song meta data - */ -void MpMpxDetailsFrameworkWrapper::retrieveSong() -{ - TX_LOG - d_ptr->retrieveSong(); -} - 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 -} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpquerymanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/src/mpquerymanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,528 @@ +/* +* 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: Music Player Query Manager. +* +*/ + +#include "mpquerymanager.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "mpdetailssharedialog.h" +#include "mptrace.h" + +const int KUndefined = -1; +const int KRecommendationCount = 2; + +MpQueryManager::MpQueryManager() + : mManager(0), + mDownloadManager(0), + mThumbnailManager(0) + +{ + TX_ENTRY + + QString privatePathQt( QCoreApplication::applicationDirPath() ); + TX_LOG_ARGS( "Private path: " << privatePathQt ); + QDir dir( privatePathQt ); + QString newDir = "detailsview"; + bool res = dir.mkdir( newDir ); + TX_LOG_ARGS( "New dir creation result: " << res); + + // We're not handling a negative result for directory creation here, + // instead it will be escalated in DownloadFinished() method. + privatePathQt = privatePathQt + "/detailsview"; + QString albumArt1( privatePathQt + "/albumOne.png" ); + QString albumArt2( privatePathQt + "/albumTwo.png" ); + mRecommendationAlbumArtsName << albumArt1 << albumArt2; + TX_LOG_ARGS( "recommendation album art names: " << mRecommendationAlbumArtsName ); + + mManager = new QNetworkAccessManager( this ); + + mDownloadManager = new QNetworkAccessManager( this ); + connect( mDownloadManager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( DownloadFinished( QNetworkReply * ) ) ); + + mThumbnailManager = new ThumbnailManager( this ); + mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); + mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailSmall ); + QObject::connect( mThumbnailManager, SIGNAL( thumbnailReady( QPixmap , void * , int , int ) ), + this, SLOT( thumbnailReady( QPixmap , void * , int , int ) ) ); + // TODO: Use the album art in provided by 10.1 wk16 platform. Current one is in the binary + mDefaultRecommendationAlbumArt = QPixmap( ":/mpdetailsviewicons/qtg_large_music_album.svg" ); + + TX_EXIT +} + +MpQueryManager::~MpQueryManager() +{ + TX_ENTRY + if ( mManager ) { + mManager->deleteLater(); + } + if ( mDownloadManager ) { + mDownloadManager->deleteLater(); + } + delete mThumbnailManager; + TX_EXIT +} + + +void MpQueryManager::clearNetworkReplies() +{ + disconnect( mManager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( retrieveInformationFinished( QNetworkReply * ) ) ); + TX_ENTRY_ARGS( "Reply count = " << mReplys.count() ); + for ( int i = 0; i < mReplys.count(); i++ ) { + QNetworkReply *reply = mReplys.at( i ); + disconnect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( retrieveInformationNetworkError( QNetworkReply::NetworkError ) ) ); + if ( reply != NULL ) { + reply->close(); + reply->deleteLater(); + reply = NULL; + } + } + mReplys.clear(); + TX_EXIT +} + + +void MpQueryManager::queryLocalMusicStore(QString artist,QString album,QString title) +{ + TX_ENTRY + mArtist=artist; + mAlbum=album; + mTitle=title; + // TODO: country information handling, MCC + QString queryURI("http://api.music.ovi.com/1.0/ru/?"); + constructRequest( queryURI ); + TX_LOG_ARGS( "queryURI : " << queryURI ); + retrieveInformation( queryURI ); + TX_EXIT +} + +void MpQueryManager::queryInspireMeItems(QString artist,QString album,QString title) +{ + TX_ENTRY + mArtist=artist; + mAlbum=album; + mTitle=title; + // start querying inspire me items + QString queryRecommendation("http://api.music.ovi.com/1.0/gb/releases/recommend/?"); + constructRequest( queryRecommendation ); + TX_LOG_ARGS( "queryRecommendation : " << queryRecommendation ); + retrieveInformation( queryRecommendation ); + TX_EXIT +} + +void MpQueryManager::clearRecommendations() +{ + TX_ENTRY + mDownloadedAlbumArts = 0; + mAlbumArtsReadyCount = 0; + for ( int i = 0; i < KRecommendationCount; i++ ) { + mRecommendationSongs.clear(); + mRecommendationArtists.clear(); + mRecommendationAlbumArtsLink.clear(); + mRecommendationAlbumArtsMap.clear(); + QFile file( mRecommendationAlbumArtsName.at( i ) ); + if ( file.exists() ) { + if ( file.remove() ) { + TX_LOG_ARGS( "File removed - " << file.fileName() ); + } + else { + TX_LOG_ARGS( "Cannot remove file - " << file.fileName() ); + } + } else { + TX_LOG_ARGS( "File doesn't exist - " << file.fileName() ); + } + } + TX_EXIT +} + +/*! + Return recommendation songs + */ +QStringList MpQueryManager::recommendationSongs() +{ + TX_LOG + return mRecommendationSongs; +} + +/*! + Return recommendation artists + */ +QStringList MpQueryManager::recommendationArtists() +{ + TX_LOG + return mRecommendationArtists; +} + +/*! + Return recommendation album arts links + */ +QStringList MpQueryManager::recommendationAlbumArtsLink() +{ + TX_LOG + return mRecommendationAlbumArtsLink; +} + +/*! + Return map of name and pixmap + */ +QMap MpQueryManager::recommendationAlbumArtsMap() +{ + TX_LOG + return mRecommendationAlbumArtsMap; +} + +/*! + Insert one uri & pixmap item into map + */ +void MpQueryManager::insertMapItem( const QString &uri, const QPixmap &pixmap ) +{ + TX_ENTRY_ARGS( "Map Item URI: " << uri ); + mRecommendationAlbumArtsMap.insert( uri, pixmap ); + TX_EXIT +} + +/*! + Slot to call when getting response + */ +void MpQueryManager::retrieveInformationFinished( QNetworkReply* reply ) +{ + TX_ENTRY + QString errorStr; + int errorLine; + int errorColumn; + bool parsingSuccess; + + if ( reply->error() == QNetworkReply::NoError ) + { + parsingSuccess = mDomDocument.setContent( reply, true, &errorStr, &errorLine, &errorColumn ); + if ( parsingSuccess ) { + handleParsedXML(); //CodeScanner throws a warning mis-interpreting the trailing 'L' to be a leaving function. + } else { + // TODO: agree on error handling + TX_LOG_ARGS( "XML parsing error" ); + } + } + else + { + // TODO: agree on error handling + TX_LOG_ARGS( "Network error in retrieving Information" ); + emit networkError(); + } + TX_EXIT +} + +/*! + Slot to call when there is network error + */ +void MpQueryManager::retrieveInformationNetworkError( QNetworkReply::NetworkError error ) +{ + // TODO: agree on error handling + TX_ENTRY_ARGS( "Network error for retrieving Information" << error); + TX_EXIT +} + +/*! + Slot to call when there is ssl error + */ +void MpQueryManager::retrieveInformationSslErrors( const QList &/*error*/ ) +{ + // TODO: agree on error handling + TX_ENTRY_ARGS( "SSL error for retrieving Information" ); + TX_EXIT +} + +/*! + Slot to call when downloading finished + */ +void MpQueryManager::DownloadFinished( QNetworkReply* reply ) +{ + TX_ENTRY_ARGS( "mDownloadedAlbumArts = " << mDownloadedAlbumArts ); + if ( reply->error() == QNetworkReply::NoError ) + { + QString fileName = mRecommendationAlbumArtsName.at( mDownloadedAlbumArts ); + QByteArray imageData = reply->readAll(); + bool ret = writeImageToFile( imageData, fileName ); + + // If file writing went OK, emit a signal with the real filename + // If it failed, use empty filename (since file was removed in any case) + if ( ret ) + { + setAlbumArtUri( mRecommendationAlbumArtsLink.at( mDownloadedAlbumArts), + mRecommendationAlbumArtsName.at( mDownloadedAlbumArts ) ); + } + else + { + setAlbumArtUri(mRecommendationAlbumArtsLink.at( mDownloadedAlbumArts), ""); + } + } + else + { + TX_LOG_ARGS( "Downloading album art failed!" ); + emit networkError(); + } + + mDownloadedAlbumArts++; + TX_EXIT +} + +/*! + Write the image data to a file with the given filename. + If writing operation fails for any reason (e.g. OOD), + returns false, otherwise true. + */ +bool MpQueryManager::writeImageToFile(const QByteArray &aImageData, const QString &aImageFileName ) + { + bool ret( false ); + TX_ENTRY_ARGS( "imagefile: " << aImageFileName ); + if ( aImageFileName.isEmpty() ) + { + TX_LOG_ARGS( "Only store two album arts" ); + } + else + { + QFile file( aImageFileName ); + + if ( !file.open( QIODevice::ReadWrite ) ) + { + TX_LOG_ARGS( "Unable to open file" ); + } + else + { + qint64 writtenBytes = file.write( aImageData ); + + // Verify file write status + if ( writtenBytes < aImageData.size() ) + { + // If write succeeded only partially, or completely failed, + // remove the file from filesystem to remove risk of corruption + TX_LOG_ARGS( "Wrote only " << writtenBytes << " bytes, aborting operation!" ); + file.close(); + QFile::remove( mRecommendationAlbumArtsName.at( mDownloadedAlbumArts ) ); + } + else + { + // If write fully succeeded, flush contents + TX_LOG_ARGS( "Wrote all the bytes (" << writtenBytes << "), flushing and closing!"); + file.flush(); + file.close(); + ret = true; + } + } + } + TX_LOG_ARGS( "Returning with value: " << ret ); + TX_EXIT + return ret; + } + +/*! + Get Atom response from Ovi server based on query + */ +void MpQueryManager::retrieveInformation( const QString &urlEncoded ) +{ + TX_ENTRY_ARGS( "urlEconded = " << urlEncoded) + connect( mManager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( retrieveInformationFinished( QNetworkReply * ) ) ); + QNetworkReply *reply = mManager->get( QNetworkRequest( QUrl( urlEncoded ) ) ); + mReplys.append( reply ); + + connect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( retrieveInformationNetworkError( QNetworkReply::NetworkError ) ) ); + connect( reply, SIGNAL( sslErrors( QList ) ), this, SLOT( retrieveInformationSslErrors( QList ) ) ); + TX_EXIT +} + + +/*! + Find the most suitable link based on Atom response from Ovi music server + */ +void MpQueryManager::handleParsedXML() +{ + TX_ENTRY + QDomElement rootElement = mDomDocument.documentElement(); + + if ( rootElement.attribute( "type" ) == "search" ) { + TX_LOG_ARGS( "URI response" ) + QString result; + QDomElement entry = rootElement.firstChildElement( "entry" ); + while ( !entry.isNull() ) + { + if ( entry.attribute( "type" ) == "musictrack" ) { + QDomElement link = entry.firstChildElement( "link" ); + while ( !link.isNull() ) + { + if ( link.attribute( "rel" ) == "alternate" + && link.attribute( "type" ) == "text/html" ) { + result = link.attribute( "href" ); + } + link = link.nextSiblingElement( "link" ); + } + } + entry = entry.nextSiblingElement( "entry" ); + } + // Signal that the url was received. Might be empty string. + emit searchUrlRetrieved( result ); + } else if ( rootElement.attribute( "type" ) == "recommendedTracks" ) { + TX_LOG_ARGS( "Recommendation response" ) + QDomElement entry = rootElement.firstChildElement( "entry" ); + QNetworkReply *reply; + int count = 0; + while ( !entry.isNull() && count < KRecommendationCount ) + { + if ( entry.attribute( "type" ) == "musictrack" ) { + QDomElement link = entry.firstChildElement( "link" ); + while ( !link.isNull() ) + { + if ( link.attribute( "title" ) == "albumart100" ) { + mRecommendationAlbumArtsLink.append( link.attribute( "href" ) ); + break; + } else { + link = link.nextSiblingElement( "link" ); + } + } + QDomElement metadata = entry.firstChildElement( "metadata" ); + mRecommendationSongs.append( metadata.firstChildElement( "name" ).text() ); + mRecommendationArtists.append( metadata.firstChildElement( "primaryartist" ).text() ); + count++; + } + entry = entry.nextSiblingElement( "entry" ); + } + + for (int i = 0; i < KRecommendationCount; i++ ) { + TX_LOG_ARGS( "song name: " << mRecommendationSongs.at(i) ); + TX_LOG_ARGS( "Artist name: " << mRecommendationArtists.at(i) ); + TX_LOG_ARGS( "Album art link: " << mRecommendationAlbumArtsLink.at(i) ); + + if ( mRecommendationAlbumArtsLink.at( i ).contains( "http", Qt::CaseInsensitive ) ) { + reply = mDownloadManager->get( QNetworkRequest( QUrl( mRecommendationAlbumArtsLink.at(i) ) ) ); + mReplys.append( reply ); + connect( reply, SIGNAL( error( QNetworkReply::NetworkError ) ), this, SLOT( retrieveInformationNetworkError( QNetworkReply::NetworkError ) ) ); + connect( reply, SIGNAL( sslErrors( QList ) ), this, SLOT( retrieveInformationSslErrors( QList ) ) ); + } + } + } else { + TX_LOG_ARGS( "Not supported response" ) + } + TX_EXIT +} + +/*! + Construct the query for fetching URI & recommendations + */ +void MpQueryManager::constructRequest( QString &uri ) +{ + TX_ENTRY_ARGS( "uri =" << uri) + + QStringList keys; + keys << "artist" << "albumtitle" << "tracktitle" << "orderby"; + + // TODO: need to clarify which crition to use for sort, currently hard code to "relevancy" + // order can be relevancy, alltimedownloads, streetreleasedate, sortname, recentdownloads + QStringList values; + values << mArtist << mAlbum << mTitle << QString("relevancy"); + TX_LOG_ARGS( "Artist: " << mArtist ); + TX_LOG_ARGS( "Album: " << mAlbum ); + TX_LOG_ARGS( "Title: " << mTitle ); + + uri += keyValues( keys, values ); + + QUrl url(uri); + uri = url.toEncoded(); + TX_EXIT +} + +/*! + Make a key & value pair string for querying + */ +QString MpQueryManager::keyValues( QStringList keys, QStringList values ) const +{ + TX_ENTRY + QString str; + if ( keys.length() != values.length() ) { + TX_LOG_ARGS( "Error: keys length is not equal to values length" ); + } else { + for ( int i = 0; i < keys.length(); i++ ) { + QString tValue = values.at( i ); + if ( 0 != tValue.length() ) + { + str += keys.at( i ) + "=" + values.at( i ) + "&"; + } + } + } + TX_EXIT + return str.left( str.length() - 1 ); +} + +/*! + Sets recommendation album art +*/ +void MpQueryManager::setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName ) +{ + TX_ENTRY_ARGS( "albumArtUri = " << albumArtUri ) + TX_LOG_ARGS( "albumArtName = " << albumArtName ) + if ( !albumArtUri.isEmpty() && !albumArtName.isEmpty() ) { + int id = mThumbnailManager->getThumbnail( albumArtName, reinterpret_cast( const_cast( &albumArtUri ) ) ); + if ( id == KUndefined ) { + // Request failed. Set default album art. + insertMapItem( albumArtUri, mDefaultRecommendationAlbumArt ); + } + } + else { + // No album art uri. Set default album art. + insertMapItem( albumArtUri, mDefaultRecommendationAlbumArt ); + } + TX_EXIT +} + +/*! + Slot to handle the recommendation album art +*/ +void MpQueryManager::thumbnailReady( + const QPixmap& pixmap, + void *data, + int /*id*/, + int error ) +{ + TX_ENTRY + // TODO: Hkn: use qobject_cast + QString uri = *( reinterpret_cast( data ) ); + TX_LOG_ARGS( "Uri: " << uri ); + + if ( error == 0 ) { + TX_LOG_ARGS( "album art link: " << uri ); + insertMapItem( uri, pixmap ); + } else { + insertMapItem( uri, mDefaultRecommendationAlbumArt ); + } + if(++mAlbumArtsReadyCount == KRecommendationCount) { + emit recommendationAlbumArtsReady(); + } + TX_EXIT +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpsharedata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/src/mpsharedata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,156 @@ +/* +* 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: +* +*/ + +#ifdef SHARE_FUNC_ENABLED + +#include "mpsharedata.h" +#include "mpsongdata.h" + + +// TODO OVI_URL needs to come from cenrep +const QString OVI_URL = "http://music.ovi.com"; + +// The music note symbol that we post if we do not have music store URL. +const QString MUSIC_NOTE_SYMBOL = "♫"; + + +MpShareData::MpShareData() + : mOwner( 0 ), + mSongData( 0 ) +{ +} + +MpShareData::~MpShareData() +{ + // Intentionally empty. +} + +void MpShareData::setOwner( QObject* aOwner ) +{ + mOwner = aOwner; +} + +QObject* MpShareData::owner() const +{ + return mOwner; +} + +void MpShareData::setSongData( MpSongData* aSongData ) +{ + mSongData = aSongData; +} + +MpSongData* MpShareData::songData() const +{ + return mSongData; +} + +void MpShareData::setErrorMessage( const QString& s ) +{ + mErrorMessage = s; +} + +QString MpShareData::errorMessage() const +{ + return mErrorMessage; +} + +void MpShareData::setUsername( const QString& s ) +{ + mUsername = s; +} + +QString MpShareData::username() const +{ + return mUsername; +} + +void MpShareData::setPassword( const QString& s ) +{ + mPassword = s; +} + +QString MpShareData::password() const +{ + return mPassword; +} + +void MpShareData::setLanguage( const QString& s ) +{ + mLanguage = s; +} + +QString MpShareData::language() const +{ + return mLanguage; +} + +void MpShareData::setUnknownTr( const QString& s ) +{ + mUnknownTr = s; +} + +QString MpShareData::objectType() const +{ + if ( !mSongData || mSongData->link().isEmpty() ) + { + return "NOTE-APPEND"; + } + // No link, append artist-song + return "URI"; +} + +int MpShareData::objectReservedLength() const +{ + return objectContent().length(); +} + +QString MpShareData::objectContent() const +{ + if ( mSongData && !mSongData->link().isEmpty() ) + { + return mSongData->link(); + } + // TODO: do we need to have right-to-left text direction here, + // i.e. putting the title before the artist in such a case? + return MUSIC_NOTE_SYMBOL + " " + artist() + ": " + title() + " " + OVI_URL; +} + +QString MpShareData::title() const +{ + if ( mSongData && !mSongData->title().isEmpty() ) + { + return mSongData->title(); + } + return mUnknownTr; +} + +QString MpShareData::artist() const +{ + if ( mSongData && !mSongData->artist().isEmpty() ) + { + return mSongData->artist(); + } + return mUnknownTr; +} + +QString MpShareData::albumArtBase64() const +{ + return mSongData ? mSongData->albumArtBase64() : ""; +} + +#endif // SHARE_FUNC_ENABLED diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp --- a/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,400 +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: Playback Data provider for playback view. -* -*/ - - -#include -#include - -#include -#include -#include - -#include "mpsongdata.h" -#include "mptrace.h" - - -const int KUndefined = -1; - -/*! - \class MpSongData - \brief Music Player song metadata. - - Song data provide acces to current playing song metadata -*/ - -/*! - \fn void albumArtReady() - - This signal is albuma alrt is ready. - */ - -/*! - \fn void playbackInfoChanged() - - This signal is emitted when basic information is available - */ - -/*! - \fn void songDetailInfoChanged() - - This signal is emitted when detail information is available - */ - - - -/*! - Constructs a new MpSongData. - */ -MpSongData::MpSongData( QObject *parent ) - : QObject( parent ), - mAlbumArt(), - mReqId( KUndefined ) -{ - TX_ENTRY - mThumbnailManager = new ThumbnailManager( this ); - mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); - mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailMedium ); - QObject::connect( mThumbnailManager, SIGNAL( thumbnailReady( QPixmap , void * , int , int ) ), - this, SLOT( thumbnailReady( QPixmap , void * , int , int ) ) ); - - mDefaultAlbumArt = QPixmap( ":/detailsviewicons/defaultalbumart.png" ); - TX_EXIT -} - -/*! - Constructs a new MpSongData. - */ -MpSongData::~MpSongData() -{ - TX_ENTRY - if( mThumbnailManager ) { - delete mThumbnailManager; - } - TX_EXIT -} - -/*! - Returns the song album art on \a pixmap. -*/ -void MpSongData::albumArt( QPixmap& pixmap ) -{ - TX_ENTRY - if ( !mAlbumArt.isNull() ) { - pixmap = mAlbumArt; - } - else { - pixmap = QPixmap(); - } - TX_EXIT -} - - -/*! - Returns the song title. -*/ -QString MpSongData::title() const -{ - TX_LOG - return mTitle; -} - -/*! - Returns the song album. -*/ -QString MpSongData::album() const -{ - TX_LOG - return mAlbum; -} - -/*! - Returns the song artist. -*/ -QString MpSongData::artist() const -{ - TX_LOG - return mArtist; -} - -/*! - Returns comment -*/ -QString MpSongData::comment() const -{ - TX_LOG - return mComment; -} - -/*! - Returns the song composer. -*/ -QString MpSongData::composer() const -{ - TX_LOG - return mComposer; -} - - -/*! - Returns the song genre. -*/ -QString MpSongData::genre() const -{ - TX_LOG - return mGenre; -} - - -/*! - Returns the album track. -*/ -QString MpSongData::albumTrack() const -{ - TX_LOG - return mAlbumTrack; -} - -/*! - Returns link -*/ -QString MpSongData::link() const -{ - TX_LOG - return mLink; -} - -/*! - Returns the release date. -*/ -QString MpSongData::year() const -{ - TX_LOG - return mYear; -} - - -/*! - Sets the song \a title, returns true if the value is new. -*/ -bool MpSongData::setTitle( const QString &title ) -{ - TX_ENTRY_ARGS( "title =" << title ) - bool change = false; - if ( title != mTitle ) { - change = true; - mTitle = title; - } - TX_EXIT - return change; -} - -/*! - Sets the song \a album, returns true if the value is new. -*/ -bool MpSongData::setAlbum( const QString &album ) -{ - TX_ENTRY_ARGS( "album =" << album ) - bool change = false; - if ( album != mAlbum ) { - change = true; - mAlbum = album; - } - TX_EXIT - return change; -} - -/*! - Sets the song \a artist, returns true if the value is new. -*/ -bool MpSongData::setArtist( const QString &artist ) -{ - TX_ENTRY_ARGS( "artist =" << artist ) - bool change = false; - if ( artist != mArtist ) { - change = true; - mArtist = artist; - } - TX_EXIT - return change; -} - -/*! - Sets the song \a comment, returns true if the value is new. -*/ -bool MpSongData::setComment( const QString &comment) -{ - TX_ENTRY_ARGS( "comment =" << comment ) - bool change = false; - if ( comment != mComment ) { - change = true; - mComment = comment; - } - TX_EXIT - return change; -} - - -/*! - Sets the song \a composer, returns true if the value is new. -*/ -bool MpSongData::setComposer( const QString &composer ) -{ - TX_ENTRY_ARGS( "composer =" << composer ) - bool change = false; - if ( composer != mComposer ) { - change = true; - mComposer = composer; - } - TX_EXIT - return change; -} - -/*! - Sets the song \a genre, returns true if the value is new. -*/ -bool MpSongData::setGenre( const QString &genre ) -{ - TX_ENTRY_ARGS( "genre =" << genre ) - bool change = false; - if ( genre != mGenre ) { - change = true; - mGenre = genre; - } - TX_EXIT - return change; -} - - -/*! - Sets the song \a date, returns true if the value is new. -*/ -bool MpSongData::setYear( int year ) -{ - TX_ENTRY_ARGS( "year =" << year ) - bool change = false; - if ( QString::number(year) != mYear ) { - change = true; - if ( year >= 0 && year < 9999 ) { - mYear = QString::number(year); - } else { - mYear = QString(); - } - } - TX_EXIT - return change; -} - -/*! - Sets the \a album track, returns true if the value is new. -*/ -bool MpSongData::setAlbumTrack( const QString &track ) -{ - TX_ENTRY_ARGS( "track =" << track ) - bool change = false; - if ( track != mAlbumTrack ) { - change = true; - mAlbumTrack = track; - } - TX_EXIT - return change; -} - -/*! - Sets the \a link -*/ -void MpSongData::setLink( const QString &link ) -{ - TX_ENTRY_ARGS( "Link =" << link ) - mLink = link; - TX_EXIT -} - -/*! - Sets the song \a albumArtUri. -*/ -void MpSongData::setAlbumArtUri( const QString &albumArtUri) -{ - TX_ENTRY_ARGS( "albumArtUri = " << albumArtUri ) - if ( !albumArtUri.isEmpty() ) { - bool ok = true; - if ( mReqId != KUndefined ) { - // There is already an outstanding request. Cancel it first. - bool ok = mThumbnailManager->cancelRequest( mReqId ); - } - if ( ok ) { - mReqId = mThumbnailManager->getThumbnail( albumArtUri ); - if ( mReqId == KUndefined ) { - // Request failed. Set default album art. - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - } - } - } - else { - // No album art uri. Set default album art. - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - } - TX_EXIT -} - - -/*! - Slot to handle the album art thumb. -*/ -void MpSongData::thumbnailReady( - const QPixmap& pixmap, - void *data, - int id, - int error ) -{ - TX_ENTRY - Q_UNUSED( data ); - if ( error == 0 && mReqId == id ) { - mReqId = 0; - mAlbumArt = pixmap; - emit albumArtReady(); - } - else { - mReqId = 0; - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - } - - TX_EXIT -} - -/*! - Emit signal when playback information changed, such as artist, track name -*/ -void MpSongData::commitPlaybackInfo() -{ - TX_ENTRY - emit playbackInfoChanged(); - TX_EXIT -} - -/*! - Emit signal when song detail information changed -*/ -void MpSongData::commitSongDetailInfo() -{ - TX_ENTRY - emit songDetailInfoChanged(); - TX_EXIT -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pkg --- a/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pkg Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -1,7 +1,18 @@ -; unittest_mpmpxpbframeworkwrapper_template.pkg generated by qmake at 2010-03-07T16:15:41 -; This file is generated by qmake and should not be modified by the user +; +; 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: +; ; Language &EN @@ -15,8 +26,8 @@ :"Vendor" ; Executable and default resource files -"/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe" - "!:\sys\bin\unittest_mpmpxpbframeworkwrapper.exe" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpmpxpbframeworkwrapper_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpmpxpbframeworkwrapper_reg.rsc" +"/epoc32/release/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.exe" - "!:\sys\bin\unittest_mpmpxdetailsframeworkwrapper.exe" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpmpxdetailsframeworkwrapper_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpmpxdetailsframeworkwrapper_reg.rsc" "/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe" - "!:\sys\bin\unittest_mpdetailsview.exe" "/epoc32/data/z/private/10003a3f/import/apps/unittest_mpdetailsview_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpdetailsview_reg.rsc" @@ -27,4 +38,6 @@ "/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe" - "!:\sys\bin\unittest_mpdetailsviewplugin.exe" "/epoc32/data/z/private/10003a3f/import/apps/unittest_mpdetailsviewplugin_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpdetailsviewplugin_reg.rsc" +"/epoc32/release/armv5/udeb/unittest_mpquerymanager.exe" - "!:\sys\bin\unittest_mpquerymanager.exe" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpquerymanager_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpquerymanager_reg.rsc" diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pro --- a/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -11,16 +11,18 @@ # # Contributors: # -# Description: +# Description: Unit test for mpdetailsviewplugin # + TEMPLATE = subdirs ## TODO: fix this pro file, unit tests in their own root compile, but not within this pro file -##SUBDIRS += ./unittest_mpdetailsview -##SUBDIRS += ./unittest_mpdetailsviewplugin -##SUBDIRS += ./unittest_mpmpxdetailsframeworkwrapper -##SUBDIRS += ./unittest_mpsongdata +SUBDIRS += ./unittest_mpdetailssharedialog +SUBDIRS += ./unittest_mpdetailsview +SUBDIRS += ./unittest_mpdetailsviewplugin +SUBDIRS += ./unittest_mpquerymanager +SUBDIRS += ./unittest_mpsharedata test.depends = first test.CONFIG += recursive diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.sisx Binary file mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.sisx has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/megapak.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/megapak.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,46 @@ +; +; 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: Metapackage for all unit tests +; +; Language +&EN + +; SIS header: name, uid, version +#{"megapak"},(0xEEEECAFE),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + + +; Manual PKG pre-rules from PRO files +; Default HW/platform dependencies +;[0x101F7961],0,0,0,{"S60ProductID"} +;[0x102032BE],0,0,0,{"S60ProductID"} +;[0x102752AE],0,0,0,{"S60ProductID"} +;[0x1028315F],0,0,0,{"S60ProductID"} + +; Default dependency to Qt libraries +;(0x2001E61C), 4, 6, 3, {"Qt"} +; Dependency to Qt Webkit +;(0x200267C2), 4, 6, 3, {"QtWebKit"} + +; Embedded SIS files +@"./unittest_mpdetailssharedialog/unittest_mpdetailssharedialog.sisx", (0xE3fe6204) +@"./unittest_mpdetailsview/UT_detailsview.sisx", (0xE003e880) +@"./unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.sisx", (0xE003e881) +@"./unittest_mpquerymanager/UT_mpquerymanager.sisx", (0xE003e882) +@"./unittest_mpsharedata/unittest_mpsharedata.sisx", (0xE5d27be8) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/sis.bat --- a/mpviewplugins/mpdetailsviewplugin/tsrc/sis.bat Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ @rem -@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @rem All rights reserved. @rem This component and the accompanying materials are made available @rem under the terms of "Eclipse Public License v1.0" @@ -14,7 +14,8 @@ @rem Description: @rem +@echo off del *.sisx makesis UT_ALL_mpdetailsviewplugin.pkg -signsis UT_ALL_mpdetailsviewplugin.sis UT_ALL_mpdetailsviewplugin.sisx .\RndCerts\Nokia_RnDCert_02.der .\RndCerts\Nokia_RnDCert_02.key +signsis UT_ALL_mpdetailsviewplugin.sis UT_ALL_mpdetailsviewplugin.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key del UT_ALL_mpdetailsviewplugin.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/sissify.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/sissify.py Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,69 @@ +# +# 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: +# + +import os +import sys +import re + + +def scanUnitTestDirs( dir ): + unitTestDirectories = [] + for root, dirs, files in os.walk(dir): + for dir in dirs: + m = re.match("unittest_.+", dir) + if m != None: + m = re.match("unittest_resources", dir) + if m == None: + fullpath = root + "\\" + dir + unitTestDirectories.append( fullpath ) + return unitTestDirectories + +print "Creating all unit test SIS files" +print " Compiling all unit test binaries..." +os.system( "sbs -c armv5.test reallyclean > NULL" ) +os.system( "qmake" ) +os.system( "sbs -c armv5_udeb.test -j 4" ) + +print " Generating individual SIS files..." +dirs = scanUnitTestDirs( "." ) +for dir in dirs: + print " Processing unit test directory " + dir + os.chdir( dir ) + +### Removed individual compiling for now, using main level +### PRO template to handle all at once. +# print " Cleaning up the project..." +# os.system( "sbs -c armv5_udeb.test reallyclean > NULL" ) +# print " Compiling the project..." +# os.system( "qmake" ) +# os.system( "sbs -c armv5_udeb.test -j 4" ) + + print " Creating the SISX..." + os.system( "sis.bat > NULL" ) + print " Directory processed!\n" + os.chdir( ".." ) + +print "Generating main SIS..." +print " Remove previous files..." +os.system( "del megapak.sisx > NULL" ) +print " Makesis..." +os.system( "makesis megapak.pkg megapak.sis > NULL" ) +os.system( "signsis megapak.sis megapak.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key" ) +print " Cleaning up..." +os.system( "del megapak.sis > NULL" ) + +print "\n\nJob's done!" + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/UT_mpdetailssharedialog.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/UT_mpdetailssharedialog.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,46 @@ +; +; 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: +; +; Language +&EN + +; SIS header: name, uid, version +#{"unittest_mpdetailssharedialog"},(0xE3fe6204),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + + +; Manual PKG pre-rules from PRO files +; Default HW/platform dependencies +;[0x101F7961],0,0,0,{"S60ProductID"} +;[0x102032BE],0,0,0,{"S60ProductID"} +;[0x102752AE],0,0,0,{"S60ProductID"} +;[0x1028315F],0,0,0,{"S60ProductID"} + +; Default dependency to Qt libraries +;(0x2001E61C), 4, 6, 3, {"Qt"} +; Dependency to Qt Webkit +;(0x200267C2), 4, 6, 3, {"QtWebKit"} + +; Executable and default resource files +"/epoc32/release/armv5/udeb/unittest_mpdetailssharedialog.exe" - "!:\sys\bin\unittest_mpdetailssharedialog.exe" +"/epoc32/data/z/resource/apps/unittest_mpdetailssharedialog.rsc" - "!:\resource\apps\unittest_mpdetailssharedialog.rsc" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpdetailssharedialog_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpdetailssharedialog_reg.rsc" + +; Manual PKG post-rules from PRO files diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/inc/unittest_mpdetailssharedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/inc/unittest_mpdetailssharedialog.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2010 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: Unit test for mpdetailssharedialog +* +*/ + +#ifndef UNITTEST_MPDETAILSSHAREDIALOG_H_ +#define UNITTEST_MPDETAILSSHAREDIALOG_H_ + +#include + +class MpDetailsShareDialog; +class MpSongData; + +class TestMpDetailsShareDialog : public QObject +{ + Q_OBJECT + +public: + + TestMpDetailsShareDialog(); + virtual ~TestMpDetailsShareDialog(); + +signals: + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testIndexLoadOk(); + void testConstruction(); + +private: + MpDetailsShareDialog *mTest; + MpSongData* mSongData; + +}; + + +#endif /* UNITTEST_MPDETAILSSHAREDIALOG_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +@echo off +del *.sisx +makesis UT_mpdetailssharedialog.pkg +signsis UT_mpdetailssharedialog.sis UT_mpdetailssharedialog.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key +del UT_mpdetailssharedialog.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/src/unittest_mpdetailssharedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/src/unittest_mpdetailssharedialog.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2010 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: Unit test for MpDetailsShareDialog +* +*/ +#include +#ifdef Q_OS_SYMBIAN +#include +#include +#include +#endif +#include"unittest_mpdetailssharedialog.h" +#include "hbmessagebox.h" + +// Do this so we can access all member variables. +#define private public +#include "mpdetailssharedialog.h" +#undef private +#include "mpsharedata.h" +#include "mpsongdata.h" + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +#ifdef Q_OS_SYMBIAN +int main(int argc, char *argv[]) +{ + + HbApplication app(argc, argv); + HbMainWindow window; + + TestMpDetailsShareDialog tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_testmpdetailssharedialog.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} +#endif + +#ifdef Q_OS_WIN32 +QTEST_MAIN(TestMpDetailsShareDialog) +#endif +//Constructor +TestMpDetailsShareDialog::TestMpDetailsShareDialog() + : mTest(0) +{ + +} + +//Destructor +TestMpDetailsShareDialog::~TestMpDetailsShareDialog() +{ + if (mTest) delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpDetailsShareDialog::initTestCase() +{ + qDebug() << "unit test for mpdetailssharedialog begin."; +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpDetailsShareDialog::cleanupTestCase() +{ + qDebug() << "unit test for mpdetailssharedialog end."; + QCoreApplication::processEvents(); +} + +/*! + Called before each testfunction is executed. + */ +void TestMpDetailsShareDialog::init() +{ + mSongData = new MpSongData(); + mTest = new MpDetailsShareDialog(); + mTest->initialize(mSongData, "unknown"); +} + +/*! + Called after every testfunction. + */ +void TestMpDetailsShareDialog::cleanup() +{ + delete mTest; + delete mSongData; + mTest = 0; + mSongData = 0; +} + +void TestMpDetailsShareDialog::testConstruction() +{ + mTest->updateSharedData(); + mTest->debugJs("Test"); + mTest->errorHandler("Test error", "Test message"); + mTest->clearCache(); + mTest->addContext(); + + mTest->mShareNetAccMan = NULL; + mTest->mShareWebView = NULL; + mTest->updateSharedData(); + mTest->debugJs("Test"); + mTest->errorHandler("Test error", "Test message"); + mTest->clearCache(); + mTest->addContext(); + //nothing to verify + QCOMPARE(true, true); +} + +void TestMpDetailsShareDialog::testIndexLoadOk() +{ + mTest->onIndexLoad(true); + mTest->onIndexLoad(false); + //nothing to verify + QCOMPARE(true, true); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/hbmessagebox.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/hbmessagebox.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,35 @@ +/* +* 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: stub file for hbmessagebox class. +* +*/ +#ifndef HBMESSAGEBOX_H +#define HBMESSAGEBOX_H + +#include + +class HbMessageBox : public QObject +{ + Q_OBJECT +public: + explicit HbMessageBox(); + virtual ~HbMessageBox(); + +public: + static void information(const QString &warningText); + static void warning(const QString &warningText); +}; + +#endif // HB_MESSAGEBOX_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/mpsongdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,95 @@ +/* +* 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: Stub of Metadata of song +* +*/ + +#ifndef MPSONGDATA_H +#define MPSONGDATA_H + +#include +#include +#include + + +//forward declartions +class QIcon; + +//class declaration +class MpSongData : public QObject +{ + Q_OBJECT + +public: + explicit MpSongData( QObject *parent=0 ); + virtual ~MpSongData(); + + bool setTitle( const QString &title ); + bool setAlbum( const QString &album ); + bool setArtist( const QString &artist ); + bool setComment( const QString &comment ); + void setAlbumArtUri( const QString &albumArtUri ); + bool setYear( int date ); + bool setGenre( const QString &genre ); + bool setComposer( const QString &compoer ); + bool setAlbumTrack( const QString &albumtrack ); + void setLink( const QString &link ); + + // inform details view when basic information is ready to accelerate UI update + void commitPlaybackInfo(); + // inform details view when details information is ready + void commitSongDetailInfo(); + void removeAlbumArtFile() const; //TODO: Remove when base64 starts to work + +public slots: + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + + int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } + + QString title() const; + QString album() const; + QString artist() const; + QString comment() const; + void albumArt( QPixmap& pixmap ); + QString year() const; + QString genre() const; + QString composer() const; + QString albumTrack() const; + QString link() const; + QString albumArtBase64() const; + +signals: + void albumArtReady(); + void playbackInfoChanged(); + void songDetailInfoChanged(); + +private: + QString mTitle; + QString mAlbum; + QString mArtist; + QString mComment; + QString mComposer; + QString mGenre; + QString mYear; + QString mAlbumTrack; + QPixmap mAlbumArt; + int mReqId; + QString currentAAUri; + QPixmap mDefaultAlbumArt; + QString mLink; + + Q_DISABLE_COPY(MpSongData) +}; + +#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/qsysteminfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/inc/qsysteminfo.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,40 @@ +/* +* 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: Stub of QSystemInfo +* +*/ + +#ifndef QSYSTEMINFO_H +#define QSYSTEMINFO_H + +#include +#include + + +//class declaration +class QSystemInfo : public QObject +{ + Q_OBJECT + +public: + QSystemInfo( QObject *parent = 0 ); + ~QSystemInfo(); + + QString currentLanguage(); + QString currentCountryCode(); +}; + +#define QTM_USE_NAMESPACE ; + +#endif // QSYSTEMINFO_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/hbmessagebox.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/hbmessagebox.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,38 @@ +/* +* 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: Stub +* +*/ + +#include "hbmessagebox.h" + +HbMessageBox::HbMessageBox() +{ + +} + +HbMessageBox::~HbMessageBox() +{ + +} + +void HbMessageBox::information(const QString &warningText) +{ + +} + +void HbMessageBox::warning(const QString &warningText) +{ + +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/mpsongdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,382 @@ +/* +* 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: Playback Data provider for playback view. +* +*/ + + +#include +#include + +#include "mpsongdata.h" +#include "mptrace.h" + + +const int KUndefined = -1; + +/*! + \class MpSongData + \brief Music Player song metadata. + + Song data provide acces to current playing song metadata +*/ + +/*! + \fn void albumArtReady() + + This signal is albuma alrt is ready. + */ + +/*! + \fn void playbackInfoChanged() + + This signal is emitted when basic information is available + */ + +/*! + \fn void songDetailInfoChanged() + + This signal is emitted when detail information is available + */ + + + +/*! + Constructs a new MpSongData. + */ +MpSongData::MpSongData( QObject *parent ) + : QObject( parent ), + mTitle( NULL ), + mAlbum( NULL ), + mArtist( NULL ), + mComposer( NULL), + mGenre( NULL ), + mYear( NULL ), + mAlbumTrack( NULL ), + mAlbumArt(), + mReqId( KUndefined ) +{ + //TX_ENTRY + //TX_EXIT +} + +/*! + Constructs a new MpSongData. + */ +MpSongData::~MpSongData() +{ + //TX_ENTRY + //TX_EXIT +} + +/*! + Returns the song album art on \a pixmap. +*/ +void MpSongData::albumArt( QPixmap& pixmap ) +{ + //TX_ENTRY + if ( !mAlbumArt.isNull() ) { + pixmap = mAlbumArt; + } + else { + pixmap = QPixmap(); + } + //TX_EXIT +} + + +/*! + Returns the song title. +*/ +QString MpSongData::title() const +{ + //TX_LOG + return mTitle; +} + +/*! + Returns the song album. +*/ +QString MpSongData::album() const +{ + //TX_LOG + return mAlbum; +} + +/*! + Returns the song artist. +*/ +QString MpSongData::artist() const +{ + //TX_LOG + return mArtist; +} + +/*! + Returns comment +*/ +QString MpSongData::comment() const +{ + //TX_LOG + return mComment; +} + +/*! + Returns the song composer. +*/ +QString MpSongData::composer() const +{ + //TX_LOG + return mComposer; +} + + +/*! + Returns the song genre. +*/ +QString MpSongData::genre() const +{ + //TX_LOG + return mGenre; +} + + +/*! + Returns the album track. +*/ +QString MpSongData::albumTrack() const +{ + //TX_LOG + return mAlbumTrack; +} + +/*! + Returns link +*/ +QString MpSongData::link() const +{ + //TX_LOG + return mLink; +} + +/*! + Returns the release date. +*/ +QString MpSongData::year() const +{ + //TX_LOG + return mYear; +} + + +/*! + Sets the song \a title, returns true if the value is new. +*/ +bool MpSongData::setTitle( const QString &title ) +{ + //TX_ENTRY_ARGS( "title =" << title ) + bool change = false; + if ( title != mTitle ) { + change = true; + mTitle = title; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a album, returns true if the value is new. +*/ +bool MpSongData::setAlbum( const QString &album ) +{ + //TX_ENTRY_ARGS( "album =" << album ) + bool change = false; + if ( album != mAlbum ) { + change = true; + mAlbum = album; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a artist, returns true if the value is new. +*/ +bool MpSongData::setArtist( const QString &artist ) +{ + //TX_ENTRY_ARGS( "artist =" << artist ) + bool change = false; + if ( artist != mArtist ) { + change = true; + mArtist = artist; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a comment, returns true if the value is new. +*/ +bool MpSongData::setComment( const QString &comment) +{ + //TX_ENTRY_ARGS( "comment =" << comment ) + bool change = false; + if ( comment != mComment ) { + change = true; + mComment = comment; + } + //TX_EXIT + return change; +} + + +/*! + Sets the song \a composer, returns true if the value is new. +*/ +bool MpSongData::setComposer( const QString &composer ) +{ + //TX_ENTRY_ARGS( "composer =" << composer ) + bool change = false; + if ( composer != mComposer ) { + change = true; + mComposer = composer; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a genre, returns true if the value is new. +*/ +bool MpSongData::setGenre( const QString &genre ) +{ + //TX_ENTRY_ARGS( "genre =" << genre ) + bool change = false; + if ( genre != mGenre ) { + change = true; + mGenre = genre; + } + //TX_EXIT + return change; +} + + +/*! + Sets the song \a date, returns true if the value is new. +*/ +bool MpSongData::setYear( int year ) +{ + //TX_ENTRY_ARGS( "year =" << year ) + bool change = false; + if ( QString::number(year) != mYear ) { + change = true; + if ( year >= 0 && year < 9999 ) { + mYear = QString::number(year); + } + } + //TX_EXIT + return change; +} + +/*! + Sets the \a album track, returns true if the value is new. +*/ +bool MpSongData::setAlbumTrack( const QString &track ) +{ + //TX_ENTRY_ARGS( "track =" << track ) + bool change = false; + if ( track != mAlbumTrack ) { + change = true; + mAlbumTrack = track; + } + //TX_EXIT + return change; +} + +/*! + Sets the \a link +*/ +void MpSongData::setLink( const QString &link ) +{ + //TX_ENTRY_ARGS( "Link =" << link ) + mLink = link; + //TX_EXIT +} + +/*! + Sets the song \a albumArtUri. +*/ +void MpSongData::setAlbumArtUri( const QString &albumArtUri) +{ + //TX_ENTRY + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + //TX_EXIT +} + + +/*! + Slot to handle the album art thumb. +*/ +void MpSongData::thumbnailReady( + const QPixmap& pixmap, + void *data, + int id, + int error ) +{ + //TX_ENTRY + Q_UNUSED( data ); + + //TX_EXIT +} + +/*! + Emit signal when playback information changed, such as artist, track name +*/ +void MpSongData::commitPlaybackInfo() +{ + //TX_ENTRY + emit playbackInfoChanged(); + //TX_EXIT +} + +/*! + Emit signal when song detail information changed +*/ +void MpSongData::commitSongDetailInfo() +{ + //TX_ENTRY + emit songDetailInfoChanged(); + //TX_EXIT +} + +QString MpSongData::albumArtBase64() const +{ + // Converts the current album art pixmap to a base64 string, and return the string. +// TX_ENTRY +// QByteArray array; +// QBuffer buffer(&array); +// buffer.open(QIODevice::WriteOnly); +// mAlbumArt.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format +// buffer.close(); +// QByteArray base64 = array.toBase64(); +// TX_EXIT +// return base64.constData(); + return QString(""); +} + +void MpSongData::removeAlbumArtFile() const +{ + +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/qsysteminfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/stub/src/qsysteminfo.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,35 @@ +/* +* 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: Stub of QSystemInfo +* +*/ + + +#include "qsysteminfo.h" + +QSystemInfo::QSystemInfo( QObject *parent ) + : QObject( parent ) +{ + //TX_ENTRY + //TX_EXIT +} + +QSystemInfo::~QSystemInfo() +{ + //TX_ENTRY + //TX_EXIT +} + +QString QSystemInfo::currentLanguage() { return "fi"; }; +QString QSystemInfo::currentCountryCode() { return "Fi"; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/unittest_mpdetailssharedialog.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailssharedialog/unittest_mpdetailssharedialog.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,58 @@ +# +# 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: +# +TEMPLATE = app +CONFIG += qtestlib \ + symbian_test \ + hb \ + mobility + +QT += webkit \ + network \ + xml + +MOBILITY += bearer systeminfo + +TARGET = unittest_mpdetailssharedialog + +TARGET.CAPABILITY = All -TCB + +DEPENDPATH += . +INCLUDEPATH += ./inc \ + ./stub/inc \ + ../../inc \ + ../../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +DEFINES += SHARE_FUNC_ENABLED SHARE_PLAYER_RND + +# Input +HEADERS += inc/unittest_mpdetailssharedialog.h \ + ../../inc/mpdetailssharedialog.h \ + ../../inc/mpsharedata.h \ + stub/inc/mpsongdata.h \ + stub/inc/hbmessagebox.h +win32:{ +HEADERS += stub/inc/qsysteminfo.h +} +SOURCES += src/unittest_mpdetailssharedialog.cpp \ + ../../src/mpdetailssharedialog.cpp \ + ../../src/mpsharedata.cpp \ + stub/src/mpsongdata.cpp \ + stub/src/hbmessagebox.cpp + +win32:{ +SOURCES += stub/src/qsysteminfo.cpp +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/CTCHTML.zip Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/CTCHTML.zip has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.dat Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.dat has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.sym --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.sym Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,718 +0,0 @@ -CTC++ sym 5.0 -Tue Mar 16 12:54:07 2010 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp -3 1268394783 -0 0 46 0 MpMpxDetailsFrameworkWrapper::getStaticMetaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpmpxdetailsframeworkwrapper.h -0 13 46 1 staticMetaObject -1 0 49 0 MpMpxDetailsFrameworkWrapper::metaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpmpxdetailsframeworkwrapper.h -0 25 51 1 QObject::d_ptr -> metaObject -1 13 51 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 54 0 MpMpxDetailsFrameworkWrapper::qt_metacast -0 90 0 0 ( const char * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpmpxdetailsframeworkwrapper.h -1 20 56 1 ! _clname -2 13 56 2 0 -2 20 57 1 ! strcmp ( _clname , qt_meta_stringdata_MpMpxDetailsFrameworkWrapper ) -3 13 58 2 static_cast < void * > ( const_cast < MpMpxDetailsFrameworkWrapper * > ( this ) ) -4 13 59 1 QObject::qt_metacast ( _clname ) -3 0 62 0 MpMpxDetailsFrameworkWrapper::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpmpxdetailsframeworkwrapper.h -3 20 65 1 _id < 0 -5 13 66 2 _id -6 13 67 1 _id -%69,4,7,4,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp -3 1268394783 -0 0 79 0 MpDetailsView::getStaticMetaObject -0 90 0 0 ( ) -0 91 50 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\../../inc/mpdetailsview.h -0 13 79 1 staticMetaObject -1 0 82 0 MpDetailsView::metaObject -0 90 0 0 ( ) -0 91 50 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\../../inc/mpdetailsview.h -0 25 84 1 QObject::d_ptr -> metaObject -1 13 84 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 87 0 MpDetailsView::qt_metacast -0 90 0 0 ( const char * ) -0 91 50 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\../../inc/mpdetailsview.h -1 20 89 1 ! _clname -2 13 89 2 0 -2 20 90 1 ! strcmp ( _clname , qt_meta_stringdata_MpDetailsView ) -3 13 91 2 static_cast < void * > ( const_cast < MpDetailsView * > ( this ) ) -4 13 92 1 HbView::qt_metacast ( _clname ) -3 0 95 0 MpDetailsView::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 50 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\../../inc/mpdetailsview.h -3 20 98 1 _id < 0 -5 13 99 2 _id -4 20 100 1 _c == QMetaObject::InvokeMetaMethod -0 1 101 2 switch ( _id ) -6 14 102 2 0 -7 12 102 3 -8 14 103 2 1 -9 12 103 3 -10 14 104 2 2 -11 12 104 3 -12 14 105 2 3 -13 12 105 3 -14 14 106 2 4 -15 12 106 3 -16 14 107 2 5 -17 12 107 3 -18 14 108 2 6 -19 12 108 3 -20 14 109 2 7 -21 12 109 3 -22 14 110 2 8 -23 12 110 3 -24 14 111 2 9 -25 12 111 3 -26 14 112 2 10 -27 12 112 3 -28 14 113 2 11 -29 12 113 3 -30 14 114 2 12 -31 12 114 3 -32 14 115 2 13 -33 12 115 3 -34 14 116 2 14 -35 12 116 3 -36 14 117 2 15 -37 12 117 3 -38 15 118 2 -39 13 122 1 _id -4 0 126 0 MpDetailsView::command -0 90 0 0 ( int aCommand ) -0 91 62 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\../../inc/mpdetailsview.h -%131,5,40,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp -3 1268394783 -0 0 86 0 TestMpDetailsView::getStaticMetaObject -0 90 0 0 ( ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -0 13 86 1 staticMetaObject -1 0 89 0 TestMpDetailsView::metaObject -0 90 0 0 ( ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -0 25 91 1 QObject::d_ptr -> metaObject -1 13 91 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 94 0 TestMpDetailsView::qt_metacast -0 90 0 0 ( const char * ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -1 20 96 1 ! _clname -2 13 96 2 0 -2 20 97 1 ! strcmp ( _clname , qt_meta_stringdata_TestMpDetailsView ) -3 13 98 2 static_cast < void * > ( const_cast < TestMpDetailsView * > ( this ) ) -4 13 99 1 HbView::qt_metacast ( _clname ) -3 0 102 0 TestMpDetailsView::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -3 20 105 1 _id < 0 -5 13 106 2 _id -4 20 107 1 _c == QMetaObject::InvokeMetaMethod -0 1 108 2 switch ( _id ) -6 14 109 2 0 -7 12 109 3 -8 14 110 2 1 -9 12 110 3 -10 14 111 2 2 -11 12 111 3 -12 14 112 2 3 -13 12 112 3 -14 14 113 2 4 -15 12 113 3 -16 14 114 2 5 -17 12 114 3 -18 14 115 2 6 -19 12 115 3 -20 14 116 2 7 -21 12 116 3 -22 14 117 2 8 -23 12 117 3 -24 14 118 2 9 -25 12 118 3 -26 14 119 2 10 -27 12 119 3 -28 14 120 2 11 -29 12 120 3 -30 14 121 2 12 -31 12 121 3 -32 14 122 2 13 -33 12 122 3 -34 14 123 2 14 -35 12 123 3 -36 14 124 2 15 -37 12 124 3 -38 14 125 2 16 -39 12 125 3 -40 14 126 2 17 -41 12 126 3 -42 14 127 2 18 -43 12 127 3 -44 14 128 2 19 -45 12 128 3 -46 14 129 2 20 -47 12 129 3 -48 14 130 2 21 -49 12 130 3 -50 15 131 2 -51 13 135 1 _id -4 0 139 0 TestMpDetailsView::back -0 90 0 0 ( ) -0 91 41 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -5 0 145 0 TestMpDetailsView::albumArtChanged -0 90 0 0 ( ) -0 91 42 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -6 0 151 0 TestMpDetailsView::share -0 90 0 0 ( ) -0 91 43 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -7 0 157 0 TestMpDetailsView::webViewLoaded -0 90 0 0 ( bool ok ) -0 91 44 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -8 0 164 0 TestMpDetailsView::playbackInfoChanged -0 90 0 0 ( ) -0 91 45 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -9 0 170 0 TestMpDetailsView::songDetailInfoChanged -0 90 0 0 ( ) -0 91 46 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -10 0 176 0 TestMpDetailsView::toggleDetailsGroupBox -0 90 0 0 ( bool state ) -0 91 48 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -11 0 183 0 TestMpDetailsView::toggleInspireMeGroupBox -0 90 0 0 ( bool state ) -0 91 49 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -12 0 190 0 TestMpDetailsView::retrieveInformationFinished -0 90 0 0 ( QNetworkReply * reply ) -0 91 51 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -13 0 197 0 TestMpDetailsView::retrieveInformationNetworkError -0 90 0 0 ( QNetworkReply::NetworkError error ) -0 91 52 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -14 0 204 0 TestMpDetailsView::retrieveInformationSslErrors -0 90 0 0 ( const QList & error ) -0 91 53 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -15 0 211 0 TestMpDetailsView::DownloadFinished -0 90 0 0 ( QNetworkReply * reply ) -0 91 55 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -16 0 218 0 TestMpDetailsView::addContext -0 90 0 0 ( ) -0 91 57 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -17 0 224 0 TestMpDetailsView::close -0 90 0 0 ( ) -0 91 58 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -18 0 230 0 TestMpDetailsView::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 59 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\inc/unittest_mpdetailsview.h -%235,19,52,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp -3 1268394784 -0 0 61 0 MpDetailsView::MpDetailsView -0 90 0 0 ( ) -0 91 54 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -0 20 82 1 mDocumentLoader -1 20 85 1 widgetsOk -2 20 90 2 mContainer -0 1 115 1 else -1 0 124 0 MpDetailsView::~MpDetailsView -0 90 0 0 ( ) -0 91 55 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -3 20 127 1 mFrameworkWrapper -4 20 130 1 mSoftKeyBack -5 20 133 1 mDocumentLoader -6 20 136 1 mManager -7 20 139 1 mDownloadManager -8 20 142 1 mThumbnailManager -2 0 153 0 MpDetailsView::initializeView -0 90 0 0 ( ) -0 91 57 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -9 20 165 1 translatorLoaded -10 20 172 1 translatorLoaded -3 0 230 0 MpDetailsView::activateView -0 90 0 0 ( ) -0 91 58 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -4 0 243 0 MpDetailsView::deactivateView -0 90 0 0 ( ) -0 91 59 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -5 0 254 0 MpDetailsView::setupMenu -0 90 0 0 ( ) -0 91 90 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -6 0 266 0 MpDetailsView::back -0 90 0 0 ( ) -0 91 65 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -7 0 276 0 MpDetailsView::share -0 90 0 0 ( ) -0 91 69 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -8 0 285 0 MpDetailsView::albumArtChanged -0 90 0 0 ( ) -0 91 66 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -11 20 292 1 ! mCompositePixmap . isNull ( ) -0 1 294 1 else -9 0 301 0 MpDetailsView::loadSharePlayer -0 90 0 0 ( ) -0 91 91 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -10 0 311 0 MpDetailsView::webViewLoaded -0 90 0 0 ( bool ok ) -0 91 70 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -12 20 314 1 ok -0 1 317 1 else -11 0 327 0 MpDetailsView::composeAlbumCover -0 90 0 0 ( QPixmap albumart ) -0 91 97 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -12 0 342 0 MpDetailsView::keyValues -0 90 0 0 ( QStringList keys , QStringList values ) -0 91 98 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -13 20 346 1 keys . length ( ) != values . length ( ) -0 1 348 1 else -14 23 349 2 i < keys . length ( ) -15 20 351 3 0 != tValue . length ( ) -0 13 358 1 str . left ( str . length ( ) - 1 ) -13 0 364 0 MpDetailsView::handleParsedXML -0 90 0 0 ( ) -0 91 99 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -16 20 369 1 rootElement . attribute ( "type" ) == tr ( "search" ) -17 22 373 2 ! entry . isNull ( ) -18 20 375 3 entry . attribute ( "type" ) == tr ( "musictrack" ) -19 22 377 4 ! link . isNull ( ) -20 20 380 5 link . attribute ( "rel" ) == tr ( "alternate" ) && link . attribute ( "type" ) == tr ( "text/html" ) -21 21 390 1 rootElement . attribute ( "type" ) == tr ( "recommendedTracks" ) -22 22 395 2 ! entry . isNull ( ) && count isCollapsed ( ) -20 0 609 0 MpDetailsView::toggleInspireMeGroupBox -0 90 0 0 ( bool state ) -0 91 76 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -38 20 612 1 ! mSongDetailsGroupBox -> isCollapsed ( ) -21 0 621 0 MpDetailsView::constructRequest -0 90 0 0 ( QString & uri ) -0 91 93 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -22 0 647 0 MpDetailsView::retrieveInformation -0 90 0 0 ( const QString & urlEncoded ) -0 91 95 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -23 0 662 0 MpDetailsView::retrieveInformationFinished -0 90 0 0 ( QNetworkReply * reply ) -0 91 78 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -39 20 670 1 reply -> error ( ) == QNetworkReply::NoError -40 20 673 2 parsingSuccess -0 1 675 2 else -0 1 680 1 else -24 0 691 0 MpDetailsView::retrieveInformationNetworkError -0 90 0 0 ( QNetworkReply::NetworkError error ) -0 91 79 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -25 0 701 0 MpDetailsView::retrieveInformationSslErrors -0 90 0 0 ( const QList & error ) -0 91 80 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -26 0 711 0 MpDetailsView::DownloadFinished -0 90 0 0 ( QNetworkReply * reply ) -0 91 82 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -41 20 714 1 reply -> error ( ) == QNetworkReply::NoError -42 20 720 2 fileName . isEmpty ( ) -0 1 722 2 else -43 20 723 3 ! file . open ( QIODevice::ReadWrite ) -0 1 725 3 else -0 1 734 1 else -27 0 746 0 MpDetailsView::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 84 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -44 20 756 1 error == 0 -0 1 761 1 else -28 0 773 0 MpDetailsView::addContext -0 90 0 0 ( ) -0 91 86 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -29 0 782 0 MpDetailsView::close -0 90 0 0 ( ) -0 91 87 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h -%787,30,2,45,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp -3 1268394786 -0 0 72 0 MpSongData::getStaticMetaObject -0 90 0 0 ( ) -0 91 33 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -0 13 72 1 staticMetaObject -1 0 75 0 MpSongData::metaObject -0 90 0 0 ( ) -0 91 33 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -0 25 77 1 QObject::d_ptr -> metaObject -1 13 77 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 80 0 MpSongData::qt_metacast -0 90 0 0 ( const char * ) -0 91 33 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -1 20 82 1 ! _clname -2 13 82 2 0 -2 20 83 1 ! strcmp ( _clname , qt_meta_stringdata_MpSongData ) -3 13 84 2 static_cast < void * > ( const_cast < MpSongData * > ( this ) ) -4 13 85 1 QObject::qt_metacast ( _clname ) -3 0 88 0 MpSongData::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 33 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -3 20 91 1 _id < 0 -5 13 92 2 _id -4 20 93 1 _c == QMetaObject::InvokeMetaMethod -0 1 94 2 switch ( _id ) -6 14 95 2 0 -7 12 95 3 -8 14 96 2 1 -9 12 96 3 -10 14 97 2 2 -11 12 97 3 -12 14 98 2 3 -13 12 98 3 -14 14 99 2 4 -5 20 100 4 _a [ 0 ] -15 12 100 3 -16 14 101 2 5 -6 20 102 4 _a [ 0 ] -17 12 102 3 -18 14 103 2 6 -7 20 104 4 _a [ 0 ] -19 12 104 3 -20 14 105 2 7 -8 20 106 4 _a [ 0 ] -21 12 106 3 -22 14 107 2 8 -9 20 108 4 _a [ 0 ] -23 12 108 3 -24 14 109 2 9 -25 12 109 3 -26 14 110 2 10 -10 20 111 4 _a [ 0 ] -27 12 111 3 -28 14 112 2 11 -11 20 113 4 _a [ 0 ] -29 12 113 3 -30 14 114 2 12 -12 20 115 4 _a [ 0 ] -31 12 115 3 -32 14 116 2 13 -13 20 117 4 _a [ 0 ] -33 12 117 3 -34 14 118 2 14 -14 20 119 4 _a [ 0 ] -35 12 119 3 -36 15 120 2 -37 13 124 1 _id -4 0 128 0 MpSongData::albumArtReady -0 90 0 0 ( ) -0 91 72 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -5 0 134 0 MpSongData::playbackInfoChanged -0 90 0 0 ( ) -0 91 73 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -6 0 140 0 MpSongData::songDetailInfoChanged -0 90 0 0 ( ) -0 91 74 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/mpsongdata.h -%144,7,38,15,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp -3 1268394787 -0 0 50 0 ThumbnailManager::getStaticMetaObject -0 90 0 0 ( ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/thumbnailmanager_qt.h -0 13 50 1 staticMetaObject -1 0 53 0 ThumbnailManager::metaObject -0 90 0 0 ( ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/thumbnailmanager_qt.h -0 25 55 1 QObject::d_ptr -> metaObject -1 13 55 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 58 0 ThumbnailManager::qt_metacast -0 90 0 0 ( const char * ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/thumbnailmanager_qt.h -1 20 60 1 ! _clname -2 13 60 2 0 -2 20 61 1 ! strcmp ( _clname , qt_meta_stringdata_ThumbnailManager ) -3 13 62 2 static_cast < void * > ( const_cast < ThumbnailManager * > ( this ) ) -4 13 63 1 QObject::qt_metacast ( _clname ) -3 0 66 0 ThumbnailManager::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/thumbnailmanager_qt.h -3 20 69 1 _id < 0 -5 13 70 2 _id -4 20 71 1 _c == QMetaObject::InvokeMetaMethod -0 1 72 2 switch ( _id ) -6 14 73 2 0 -7 12 73 3 -8 15 74 2 -9 13 78 1 _id -4 0 82 0 ThumbnailManager::thumbnailReady -0 90 0 0 ( QPixmap , void * , int , int ) -0 91 118 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\stub/inc/thumbnailmanager_qt.h -%87,5,10,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp -3 1268394787 -0 0 10532 0 qInitResources_mpdetailsviewresources -0 90 0 0 ( ) -0 91 10532 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\qrc_mpdetailsviewresources.cpp -0 13 10536 1 1 -1 0 10541 0 qCleanupResources_mpdetailsviewresources -0 90 0 0 ( ) -0 91 10541 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\qrc_mpdetailsviewresources.cpp -1 13 10545 1 1 -2 0 10548 0 qCleanupResources_mpdetailsviewresources__dest_class__::qCleanupResources_mpdetailsviewresources__dest_class__ -0 90 0 0 ( ) -0 91 10548 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\qrc_mpdetailsviewresources.cpp -3 0 10548 0 qCleanupResources_mpdetailsviewresources__dest_class__::~qCleanupResources_mpdetailsviewresources__dest_class__ -0 90 0 0 ( ) -0 91 10548 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\qrc_mpdetailsviewresources.cpp -%10549,4,2,0,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp -3 1268394789 -0 0 25 0 MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper -0 90 0 0 ( QObject * parent = 0 ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h -1 0 36 0 MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper -0 90 0 0 ( ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h -2 0 46 0 MpMpxDetailsFrameworkWrapper::songData -0 90 0 0 ( ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h -0 13 48 1 iSongData -3 0 54 0 MpMpxDetailsFrameworkWrapper::retrieveSong -0 90 0 0 ( ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h -%60,4,1,0,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp -3 1268394789 -0 0 62 0 MpSongData::MpSongData -0 90 0 0 ( QObject * parent = 0 ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -1 0 88 0 MpSongData::~MpSongData -0 90 0 0 ( ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -0 20 91 1 mThumbnailManager -2 0 100 0 MpSongData::albumArt -0 90 0 0 ( QPixmap & pixmap ) -0 91 64 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -1 20 103 1 ! mAlbumArt . isNull ( ) -0 1 106 1 else -3 0 116 0 MpSongData::title -0 90 0 0 ( ) -0 91 60 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -0 13 119 1 mTitle -4 0 125 0 MpSongData::album -0 90 0 0 ( ) -0 91 61 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -1 13 128 1 mAlbum -5 0 134 0 MpSongData::artist -0 90 0 0 ( ) -0 91 62 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -2 13 137 1 mArtist -6 0 143 0 MpSongData::comment -0 90 0 0 ( ) -0 91 63 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -3 13 146 1 mComment -7 0 152 0 MpSongData::composer -0 90 0 0 ( ) -0 91 67 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -4 13 155 1 mComposer -8 0 162 0 MpSongData::genre -0 90 0 0 ( ) -0 91 66 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -5 13 165 1 mGenre -9 0 172 0 MpSongData::albumTrack -0 90 0 0 ( ) -0 91 68 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -6 13 175 1 mAlbumTrack -10 0 181 0 MpSongData::link -0 90 0 0 ( ) -0 91 69 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -7 13 184 1 mLink -11 0 190 0 MpSongData::year -0 90 0 0 ( ) -0 91 65 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -8 13 193 1 mYear -12 0 200 0 MpSongData::setTitle -0 90 0 0 ( const QString & title ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -2 20 204 1 title != mTitle -9 13 209 1 change -13 0 215 0 MpSongData::setAlbum -0 90 0 0 ( const QString & album ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -3 20 219 1 album != mAlbum -10 13 224 1 change -14 0 230 0 MpSongData::setArtist -0 90 0 0 ( const QString & artist ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -4 20 234 1 artist != mArtist -11 13 239 1 change -15 0 245 0 MpSongData::setComment -0 90 0 0 ( const QString & comment ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -5 20 249 1 comment != mComment -12 13 254 1 change -16 0 261 0 MpSongData::setComposer -0 90 0 0 ( const QString & compoer ) -0 91 46 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -6 20 265 1 composer != mComposer -13 13 270 1 change -17 0 276 0 MpSongData::setGenre -0 90 0 0 ( const QString & genre ) -0 91 45 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -7 20 280 1 genre != mGenre -14 13 285 1 change -18 0 292 0 MpSongData::setYear -0 90 0 0 ( int date ) -0 91 44 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -8 20 296 1 QString::number ( year ) != mYear -9 20 298 2 year >= 0 && year < 9999 -15 13 303 1 change -19 0 309 0 MpSongData::setAlbumTrack -0 90 0 0 ( const QString & albumtrack ) -0 91 47 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -10 20 313 1 track != mAlbumTrack -16 13 318 1 change -20 0 324 0 MpSongData::setLink -0 90 0 0 ( const QString & link ) -0 91 48 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -21 0 334 0 MpSongData::setAlbumArtUri -0 90 0 0 ( const QString & albumArtUri ) -0 91 43 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -11 20 337 1 ! albumArtUri . isEmpty ( ) -12 20 339 2 mReqId != KUndefined -13 20 343 2 ok -14 20 345 3 mReqId == KUndefined -0 1 352 1 else -22 0 364 0 MpSongData::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 56 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -15 20 372 1 error == 0 && mReqId == id -0 1 377 1 else -23 0 389 0 MpSongData::commitPlaybackInfo -0 90 0 0 ( ) -0 91 51 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -24 0 399 0 MpSongData::commitSongDetailInfo -0 90 0 0 ( ) -0 91 53 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h -%405,25,17,16,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp -3 1268394789 -0 0 62 0 main -0 90 0 0 ( int argc , char * argv [ ] ) -0 91 62 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsview\src\unittest_mpdetailsview.cpp -0 13 76 1 res -1 0 80 0 TestMpDetailsView::TestMpDetailsView -0 90 0 0 ( ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -2 0 87 0 TestMpDetailsView::~TestMpDetailsView -0 90 0 0 ( ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -3 0 95 0 TestMpDetailsView::initTestCase -0 90 0 0 ( ) -0 91 62 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -4 0 103 0 TestMpDetailsView::cleanupTestCase -0 90 0 0 ( ) -0 91 63 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -5 0 111 0 TestMpDetailsView::init -0 90 0 0 ( ) -0 91 64 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -6 0 120 0 TestMpDetailsView::cleanup -0 90 0 0 ( ) -0 91 65 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -7 0 126 0 TestMpDetailsView::testactivateView -0 90 0 0 ( ) -0 91 69 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -0 1 129 1 do -0 20 129 2 ! QTest::qVerify ( ( mTest -> mActivated == true ) , "mTest->mActivated==true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsview\\src\\unittest_mpdetailsview.cpp" , 129 ) -1 13 129 3 -0 1 129 1 while ( 0 ) -8 0 132 0 TestMpDetailsView::testdeactivateView -0 90 0 0 ( ) -0 91 70 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -0 1 135 1 do -1 20 135 2 ! QTest::qVerify ( ( mTest -> mActivated == false ) , "mTest->mActivated==false" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsview\\src\\unittest_mpdetailsview.cpp" , 135 ) -2 13 135 3 -0 1 135 1 while ( 0 ) -9 0 138 0 TestMpDetailsView::testbackSlot -0 90 0 0 ( ) -0 91 71 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h -0 1 141 1 do -2 20 141 2 ! QTest::qVerify ( ( spy . isValid ( ) ) , "spy.isValid()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsview\\src\\unittest_mpdetailsview.cpp" , 141 ) -3 13 141 3 -0 1 141 1 while ( 0 ) -0 1 142 1 do -3 20 142 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsview\\src\\unittest_mpdetailsview.cpp" , 142 ) -4 13 142 3 -0 1 142 1 while ( 0 ) -0 1 145 1 do -4 20 145 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsview\\src\\unittest_mpdetailsview.cpp" , 145 ) -5 13 145 3 -0 1 145 1 while ( 0 ) -%148,10,6,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp -3 1268394790 -0 0 26 0 ThumbnailManager::getInitCounter -0 90 0 0 ( ) -0 91 103 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -0 13 28 1 gInitCounter -1 0 34 0 ThumbnailManager::resetInitCounter -0 90 0 0 ( ) -0 91 104 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -2 0 42 0 ThumbnailManager::ThumbnailManager -0 90 0 0 ( QObject * parentPtr = 0 ) -0 91 107 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -3 0 54 0 ThumbnailManager::~ThumbnailManager -0 90 0 0 ( ) -0 91 108 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -4 0 62 0 ThumbnailManager::setMode -0 90 0 0 ( ThumbnailMode mode ) -0 91 109 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -1 13 65 1 true -5 0 71 0 ThumbnailManager::setQualityPreference -0 90 0 0 ( QualityPreference qualityPreference ) -0 91 110 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -2 13 75 1 true -6 0 81 0 ThumbnailManager::setThumbnailSize -0 90 0 0 ( ThumbnailSize thumbnailSize ) -0 91 111 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -3 13 84 1 true -7 0 90 0 ThumbnailManager::getThumbnail -0 90 0 0 ( const QString & fileName , void * clientData = 0 , int priority = tnmWrapperPriorityIdle ) -0 91 112 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -0 20 96 1 clientData -1 20 104 1 mGetThumbFails -4 13 105 2 - 1 -5 13 109 1 mThumbnailReqCounter -8 0 115 0 ThumbnailManager::cancelRequest -0 90 0 0 ( int id ) -0 91 114 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h -6 13 119 1 true -%120,9,7,2,0,0 -END OF SYMBOLFILE diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.pkg --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.pkg Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -1,7 +1,18 @@ -; unittest_mpmpxpbframeworkwrapper_template.pkg generated by qmake at 2010-03-07T16:15:41 -; This file is generated by qmake and should not be modified by the user +; +; 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: +; ; Language &EN diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.sisx Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.sisx has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcdata.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcdata.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,652 +0,0 @@ - - -CTCRTS: Write coverage data to file 2010-03-12 13:39:14 - -CTCDATA: - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcerr.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcerr.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5167 +0,0 @@ - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/iRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/iepoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsvie-JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32ins/mpdetailsviewplugin/src/mpdetailsview.cpp - -gins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp - -/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5428.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3352.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5728.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3156.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-824.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4708.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-6060.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5080.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2484.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5944.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3024.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsview{000a0000}[e0b6d7d1].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtWebKit.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtXml.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[35]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[36]: Z:/epoc32/release/armv5/lib/libc.dso -argv[37]: Z:/epoc32/release/armv5/lib/libm.dso -argv[38]: Z:/epoc32/release/armv5/lib/euser.dso -argv[39]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[40]: Z:/epoc32/release/armv5/lib/cone.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[42]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[43]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[44]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[45]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[46]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[47]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[48]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[49]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[50]: Z:/epoc32/release/armv5/lib/hal.dso -argv[51]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[52]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[53]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[54]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[57]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[58]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5012.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-444.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5296.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3032.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3648.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-6112.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4948.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5240.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5464.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4664.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1984.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3444.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsview{000a0000}[e0b6d7d1].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtWebKit.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtXml.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[35]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[36]: Z:/epoc32/release/armv5/lib/libc.dso -argv[37]: Z:/epoc32/release/armv5/lib/libm.dso -argv[38]: Z:/epoc32/release/armv5/lib/euser.dso -argv[39]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[40]: Z:/epoc32/release/armv5/lib/cone.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[42]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[43]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[44]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[45]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[46]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[47]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[48]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[49]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[50]: Z:/epoc32/release/armv5/lib/hal.dso -argv[51]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[52]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[53]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[54]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[57]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[58]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-264.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3648.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4844.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4740.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5940.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5904.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-6080.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3100.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1648.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3916.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5884.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4380.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsview{000a0000}[e0b6d7d1].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtWebKit.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtXml.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[35]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[36]: Z:/epoc32/release/armv5/lib/libc.dso -argv[37]: Z:/epoc32/release/armv5/lib/libm.dso -argv[38]: Z:/epoc32/release/armv5/lib/euser.dso -argv[39]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[40]: Z:/epoc32/release/armv5/lib/cone.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[42]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[43]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[44]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[45]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[46]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[47]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[48]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[49]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[50]: Z:/epoc32/release/armv5/lib/hal.dso -argv[51]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[52]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[53]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[54]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[57]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[58]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-1044.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp - -gins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4396.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3996.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5464.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5756.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2364.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/moc_thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2728.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/qrc_mpdetailsviewresources.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5280.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5384.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4232.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/mpsongdata.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5904.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_WEBKIT_LIB -argv[48]: -DQT_SVG_LIB -argv[49]: -DQT_XML_LIB -argv[50]: -DQT_GUI_LIB -argv[51]: -DQT_NETWORK_LIB -argv[52]: -DQT_CORE_LIB -argv[53]: -D__MARM_ARMV5__ -argv[54]: -D__ARMCC_2__ -argv[55]: -D__ARMCC_2_2__ -argv[56]: -D__EXE__ -argv[57]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[58]: --preinclude -argv[59]: Z:/epoc32/include/rvct/rvct.h -argv[60]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[61]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[62]: -JZ:/epoc32/include/mw/QtCore -argv[63]: -JZ:/epoc32/include/mw/QtNetwork -argv[64]: -JZ:/epoc32/include/mw/QtGui -argv[65]: -JZ:/epoc32/include/mw/QtXml -argv[66]: -JZ:/epoc32/include/mw/QtSvg -argv[67]: -JZ:/epoc32/include/mw/QtWebKit -argv[68]: -JZ:/epoc32/include/mw -argv[69]: -JZ:/epoc32/include/mw/QtTest -argv[70]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[71]: -JZ:/epoc32/include -argv[72]: -JZ:/epoc32/include/stdapis -argv[73]: -JZ:/epoc32/include/stdapis/sys -argv[74]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc -argv[75]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[76]: -JZ:/musicplayer/inc -argv[77]: -JZ:/epoc32/include/platform/mw -argv[78]: -JZ:/epoc32/include/platform -argv[79]: -JZ:/epoc32/include/app -argv[80]: -JZ:/epoc32/include/platform/app -argv[81]: -JZ:/epoc32/include/platform/loc -argv[82]: -JZ:/epoc32/include/platform/mw/loc -argv[83]: -JZ:/epoc32/include/platform/app/loc -argv[84]: -JZ:/epoc32/include/platform/loc/sc -argv[85]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[86]: -JZ:/epoc32/include/platform/app/loc/sc -argv[87]: -JZ:/epoc32/include/mw/hb/hbcore -argv[88]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[89]: -JZ:/epoc32/include/mw/hb/hbtools -argv[90]: -JZ:/epoc32/include/mw/QtXmlPatterns -argv[91]: -JZ:/epoc32/include/mw/qtwebkit -argv[92]: -JZ:/epoc32/include/mw/qtsvg -argv[93]: -JZ:/epoc32/include/mw/qtxml -argv[94]: -JZ:/epoc32/include/mw/qtgui -argv[95]: -JZ:/epoc32/include/mw/qtnetwork -argv[96]: -JZ:/epoc32/include/mw/qtcore -argv[97]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview -argv[98]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[99]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc -argv[100]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src -argv[101]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[102]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src -argv[103]: -JZ:/epoc32/include -argv[104]: -JZ:/epoc32/include/stdapis -argv[105]: --depend_format=unix -argv[106]: --depend -argv[107]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[108]: -o -argv[109]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/thumbnailmanager_qt.o -argv[110]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2508.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsview{000a0000}[e0b6d7d1].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsview.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsview/c_01737eaf1f968da1/unittest_mpdetailsview_exe/armv5/udeb/unittest_mpdetailsview_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtWebKit.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtXml.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[35]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[36]: Z:/epoc32/release/armv5/lib/libc.dso -argv[37]: Z:/epoc32/release/armv5/lib/libm.dso -argv[38]: Z:/epoc32/release/armv5/lib/euser.dso -argv[39]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[40]: Z:/epoc32/release/armv5/lib/cone.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[42]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[43]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[44]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[45]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[46]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[47]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[48]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[49]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[50]: Z:/epoc32/release/armv5/lib/hal.dso -argv[51]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[52]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[53]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[54]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[57]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[58]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5076.rsp -*** CTC++/ctcagent command status: 0 - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h Thu Jul 22 16:32:33 2010 +0100 @@ -40,24 +40,7 @@ signals: void back (); void albumArtChanged(); - void share(); - void webViewLoaded( bool ok ); - void playbackInfoChanged(); - void songDetailInfoChanged(); - - void toggleDetailsGroupBox( bool state ); - void toggleInspireMeGroupBox( bool state ); - - void retrieveInformationFinished( QNetworkReply* reply ); - void retrieveInformationNetworkError( QNetworkReply::NetworkError error ); - void retrieveInformationSslErrors( const QList &error ); - - void DownloadFinished( QNetworkReply* reply ); - - void addContext(); - void close(); - void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); - + public slots: void initTestCase(); void cleanupTestCase(); @@ -69,6 +52,14 @@ void testactivateView(); void testdeactivateView(); void testbackSlot(); + void testAlbumArtChanged(); + void testHandleNetworkError(); + void testCanQueryRecommendations(); + void testCanQuerySharePlayerLink(); + void testHandlePlaybackInfoChanged(); + void testClearInspireMe(); + void testHandleDetailsGroupBoxToggled(); + void testHandleInspireMeGroupBoxToggled(); private: MpDetailsView *mTest; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/profile.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/profile.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1094 +0,0 @@ -***************************************************************************** -* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * -* * -* EXECUTION PROFILE LISTING * -* * -* Copyright (c) 1993-2009 Testwell Oy * -***************************************************************************** - - -Symbol file(s) used : MON.sym (Fri Mar 12 15:14:36 2010) -Data file(s) used : MON.dat (Fri Mar 12 15:56:49 2010) -Listing produced at : Fri Mar 12 16:01:10 2010 -Coverage view : As instrumented - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 46 FUNCTION MpMpxDetailsFrameworkWrapper::getStaticMetaObject() - 0 - 46 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpMpxDetailsFrameworkWrapper::getStaticMetaObject() ------------------------------------------------------------------------------ - - 0 0 - 49 FUNCTION MpMpxDetailsFrameworkWrapper::metaObject() - 0 0 - 51 ternary-?: QObject::d_ptr -> metaObject - 0 - 51 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 0 % ( 0/ 4) of FUNCTION MpMpxDetailsFrameworkWrapper::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 54 FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacast() - 0 0 - 56 if (! _clname) - 0 - 56 return 0 - 0 0 - 57 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 58 return static_cast < void * > ( const_cast <.. - 0 - 59 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 62 FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacall() - 0 0 - 65 if (_id < 0) - 0 - 66 return _id - 0 - 67 return _id - -***TER 0 % ( 0/ 5) of FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacall() ------------------------------------------------------------------------------ - - -***TER 0 % ( 0/ 19) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 79 FUNCTION MpDetailsView::getStaticMetaObject() - 0 - 79 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpDetailsView::getStaticMetaObject() ------------------------------------------------------------------------------ - - 200 0 82 FUNCTION MpDetailsView::metaObject() - 0 200 - 84 ternary-?: QObject::d_ptr -> metaObject - 200 84 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION MpDetailsView::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 87 FUNCTION MpDetailsView::qt_metacast() - 0 0 - 89 if (! _clname) - 0 - 89 return 0 - 0 0 - 90 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 91 return static_cast < void * > ( const_cast <.. - 0 - 92 return HbView::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpDetailsView::qt_metacast() ------------------------------------------------------------------------------ - - 4 0 95 FUNCTION MpDetailsView::qt_metacall() - 0 4 - 98 if (_id < 0) - 0 - 99 return _id - 4 0 - 100 if (_c == QMetaObject::InvokeMetaMethod) - 101 switch ( _id ) - 0 - 102 case 0: - 0 - 102 break - 4 103 case 1: - 4 103 break - 0 - 104 case 2: - 0 - 104 break - 0 - 105 case 3: - 0 - 105 break - 0 - 106 case 4: - 0 - 106 break - 0 - 107 case 5: - 0 - 107 break - 0 - 108 case 6: - 0 - 108 break - 0 - 109 case 7: - 0 - 109 break - 0 - 110 case 8: - 0 - 110 break - 0 - 111 case 9: - 0 - 111 break - 0 - 112 case 10: - 0 - 112 break - 0 - 113 case 11: - 0 - 113 break - 0 - 114 case 12: - 0 - 114 break - 0 - 115 case 13: - 0 - 115 break - 0 - 116 case 14: - 0 - 116 break - 0 - 117 case 15: - 0 - 117 break - 0 - 118 default: - 4 122 return _id - -***TER 15 % ( 6/ 40) of FUNCTION MpDetailsView::qt_metacall() ------------------------------------------------------------------------------ - - 4 4 126 FUNCTION MpDetailsView::command() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::command() ------------------------------------------------------------------------------ - - -***TER 18 % ( 10/ 55) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpdetailsview.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 86 FUNCTION TestMpDetailsView::getStaticMetaObject() - 0 - 86 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION TestMpDetailsView::getStaticMetaObject() ------------------------------------------------------------------------------ - - 224 0 89 FUNCTION TestMpDetailsView::metaObject() - 0 224 - 91 ternary-?: QObject::d_ptr -> metaObject - 224 91 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION TestMpDetailsView::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 94 FUNCTION TestMpDetailsView::qt_metacast() - 0 0 - 96 if (! _clname) - 0 - 96 return 0 - 0 0 - 97 if (! strcmp ( _clname , qt_meta_stringdata_Te.. - 0 - 98 return static_cast < void * > ( const_cast <.. - 0 - 99 return HbView::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION TestMpDetailsView::qt_metacast() ------------------------------------------------------------------------------ - - 56 0 102 FUNCTION TestMpDetailsView::qt_metacall() - 4 52 105 if (_id < 0) - 4 106 return _id - 52 0 - 107 if (_c == QMetaObject::InvokeMetaMethod) - 108 switch ( _id ) - 0 - 109 case 0: - 0 - 109 break - 0 - 110 case 1: - 0 - 110 break - 0 - 111 case 2: - 0 - 111 break - 0 - 112 case 3: - 0 - 112 break - 0 - 113 case 4: - 0 - 113 break - 0 - 114 case 5: - 0 - 114 break - 0 - 115 case 6: - 0 - 115 break - 0 - 116 case 7: - 0 - 116 break - 0 - 117 case 8: - 0 - 117 break - 0 - 118 case 9: - 0 - 118 break - 0 - 119 case 10: - 0 - 119 break - 0 - 120 case 11: - 0 - 120 break - 0 - 121 case 12: - 0 - 121 break - 0 - 122 case 13: - 0 - 122 break - 0 - 123 case 14: - 0 - 123 break - 4 124 case 15: - 4 124 break - 4 125 case 16: - 4 125 break - 16 126 case 17: - 16 126 break - 16 127 case 18: - 16 127 break - 4 128 case 19: - 4 128 break - 4 129 case 20: - 4 129 break - 4 130 case 21: - 4 130 break - 0 - 131 default: - 52 135 return _id - -***TER 38 % ( 20/ 52) of FUNCTION TestMpDetailsView::qt_metacall() ------------------------------------------------------------------------------ - - 4 4 139 FUNCTION TestMpDetailsView::back() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::back() ------------------------------------------------------------------------------ - - 0 0 - 145 FUNCTION TestMpDetailsView::albumArtChanged() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::albumArtChanged() ------------------------------------------------------------------------------ - - 0 0 - 151 FUNCTION TestMpDetailsView::share() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::share() ------------------------------------------------------------------------------ - - 0 0 - 157 FUNCTION TestMpDetailsView::webViewLoaded() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::webViewLoaded() ------------------------------------------------------------------------------ - - 0 0 - 164 FUNCTION TestMpDetailsView::playbackInfoChanged() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::playbackInfoChanged() ------------------------------------------------------------------------------ - - 0 0 - 170 FUNCTION TestMpDetailsView::songDetailInfoChanged() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::songDetailInfoChanged() ------------------------------------------------------------------------------ - - 0 0 - 176 FUNCTION TestMpDetailsView::toggleDetailsGroupBox() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::toggleDetailsGroupBox() ------------------------------------------------------------------------------ - - 0 0 - 183 FUNCTION TestMpDetailsView::toggleInspireMeGroupBox() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::toggleInspireMeGroupBox() ------------------------------------------------------------------------------ - - 0 0 - 190 FUNCTION TestMpDetailsView::retrieveInformationFinished() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::retrieveInformationFinished() ------------------------------------------------------------------------------ - - 0 0 - 197 FUNCTION TestMpDetailsView::retrieveInformationNetworkError() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::retrieveInformationNetworkError() ------------------------------------------------------------------------------ - - 0 0 - 204 FUNCTION TestMpDetailsView::retrieveInformationSslErrors() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::retrieveInformationSslErrors() ------------------------------------------------------------------------------ - - 0 0 - 211 FUNCTION TestMpDetailsView::DownloadFinished() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::DownloadFinished() ------------------------------------------------------------------------------ - - 0 0 - 218 FUNCTION TestMpDetailsView::addContext() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::addContext() ------------------------------------------------------------------------------ - - 0 0 - 224 FUNCTION TestMpDetailsView::close() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::close() ------------------------------------------------------------------------------ - - 0 0 - 230 FUNCTION TestMpDetailsView::thumbnailReady() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpDetailsView::thumbnailReady() ------------------------------------------------------------------------------ - - -***TER 30 % ( 24/ 81) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_unittest_mpdetailsview.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 16 16 61 FUNCTION MpDetailsView::MpDetailsView() - 16 0 - 82 if (mDocumentLoader) - 16 0 - 85 if (widgetsOk) - 16 0 - 90 if (mContainer) - 115 else - -***TER 57 % ( 4/ 7) of FUNCTION MpDetailsView::MpDetailsView() ------------------------------------------------------------------------------ - - 16 16 124 FUNCTION MpDetailsView::~MpDetailsView() - 16 0 - 127 if (mFrameworkWrapper) - 16 0 - 130 if (mSoftKeyBack) - 16 0 - 133 if (mDocumentLoader) - 16 0 - 136 if (mManager) - 16 0 - 139 if (mDownloadManager) - 16 0 - 142 if (mThumbnailManager) - -***TER 54 % ( 7/ 13) of FUNCTION MpDetailsView::~MpDetailsView() ------------------------------------------------------------------------------ - - 16 16 153 FUNCTION MpDetailsView::initializeView() - 16 0 - 165 if (translatorLoaded) - 0 16 - 172 if (translatorLoaded) - -***TER 60 % ( 3/ 5) of FUNCTION MpDetailsView::initializeView() ------------------------------------------------------------------------------ - - 4 4 230 FUNCTION MpDetailsView::activateView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::activateView() ------------------------------------------------------------------------------ - - 4 4 243 FUNCTION MpDetailsView::deactivateView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::deactivateView() ------------------------------------------------------------------------------ - - 16 16 254 FUNCTION MpDetailsView::setupMenu() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::setupMenu() ------------------------------------------------------------------------------ - - 4 4 266 FUNCTION MpDetailsView::back() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::back() ------------------------------------------------------------------------------ - - 0 0 - 276 FUNCTION MpDetailsView::share() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::share() ------------------------------------------------------------------------------ - - 0 0 - 285 FUNCTION MpDetailsView::albumArtChanged() - 0 0 - 292 if (! mCompositePixmap . isNull ( )) - 294 else - -***TER 0 % ( 0/ 3) of FUNCTION MpDetailsView::albumArtChanged() ------------------------------------------------------------------------------ - - 0 0 - 301 FUNCTION MpDetailsView::loadSharePlayer() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::loadSharePlayer() ------------------------------------------------------------------------------ - - 0 0 - 311 FUNCTION MpDetailsView::webViewLoaded() - 0 0 - 314 if (ok) - 317 else - -***TER 0 % ( 0/ 3) of FUNCTION MpDetailsView::webViewLoaded() ------------------------------------------------------------------------------ - - 0 0 - 327 FUNCTION MpDetailsView::composeAlbumCover() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::composeAlbumCover() ------------------------------------------------------------------------------ - - 0 0 - 342 FUNCTION MpDetailsView::keyValues() - 0 0 - 346 if (keys . length ( ) != values . length ( )) - 348 else - 0 0 - 349 for (;i < keys . length ( );) - 0 0 - 351 if (0 != tValue . length ( )) - 0 - 358 return str . left ( str . length ( ) - 1 ) - -***TER 0 % ( 0/ 8) of FUNCTION MpDetailsView::keyValues() ------------------------------------------------------------------------------ - - 0 0 - 364 FUNCTION MpDetailsView::handleParsedXML() - 0 0 - 369 if (rootElement . attribute ( "type" ) == tr (.. - 0 0 - 373 while (! entry . isNull ( )) - 0 0 - 375 if (entry . attribute ( "type" ) == tr ( ".. - 0 0 - 377 while (! link . isNull ( )) - 0 0 - 380 if (link . attribute ( "rel" ) == tr (.. - 0 0 - 390 else if (rootElement . attribute ( "type" ) ==.. - 0 0 - 395 while (! entry . isNull ( ) && count isCollapsed ( )) - -***TER 0 % ( 0/ 3) of FUNCTION MpDetailsView::toggleDetailsGroupBox() ------------------------------------------------------------------------------ - - 0 0 - 609 FUNCTION MpDetailsView::toggleInspireMeGroupBox() - 0 0 - 612 if (! mSongDetailsGroupBox -> isCollapsed ( )) - -***TER 0 % ( 0/ 3) of FUNCTION MpDetailsView::toggleInspireMeGroupBox() ------------------------------------------------------------------------------ - - 0 0 - 621 FUNCTION MpDetailsView::constructRequest() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::constructRequest() ------------------------------------------------------------------------------ - - 0 0 - 647 FUNCTION MpDetailsView::retrieveInformation() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::retrieveInformation() ------------------------------------------------------------------------------ - - 0 0 - 662 FUNCTION MpDetailsView::retrieveInformationFinished() - 0 0 - 670 if (reply -> error ( ) == QNetworkReply::NoErr.. - 0 0 - 673 if (parsingSuccess) - 675 else - 680 else - -***TER 0 % ( 0/ 5) of FUNCTION MpDetailsView::retrieveInformationFinished() ------------------------------------------------------------------------------ - - 0 0 - 691 FUNCTION MpDetailsView::retrieveInformationNetworkError() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::retrieveInformationNetworkError() ------------------------------------------------------------------------------ - - 0 0 - 701 FUNCTION MpDetailsView::retrieveInformationSslErrors() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::retrieveInformationSslErrors() ------------------------------------------------------------------------------ - - 0 0 - 711 FUNCTION MpDetailsView::DownloadFinished() - 0 0 - 714 if (reply -> error ( ) == QNetworkReply::NoErr.. - 0 0 - 720 if (fileName . isEmpty ( )) - 722 else - 0 0 - 723 if (! file . open ( QIODevice::ReadWrite )) - 725 else - 734 else - -***TER 0 % ( 0/ 7) of FUNCTION MpDetailsView::DownloadFinished() ------------------------------------------------------------------------------ - - 0 0 - 746 FUNCTION MpDetailsView::thumbnailReady() - 0 0 - 756 if (error == 0) - 761 else - -***TER 0 % ( 0/ 3) of FUNCTION MpDetailsView::thumbnailReady() ------------------------------------------------------------------------------ - - 0 0 - 773 FUNCTION MpDetailsView::addContext() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::addContext() ------------------------------------------------------------------------------ - - 0 0 - 782 FUNCTION MpDetailsView::close() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsView::close() ------------------------------------------------------------------------------ - - -***TER 15 % ( 18/122) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 72 FUNCTION MpSongData::getStaticMetaObject() - 0 - 72 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::getStaticMetaObject() ------------------------------------------------------------------------------ - - 64 0 75 FUNCTION MpSongData::metaObject() - 0 64 - 77 ternary-?: QObject::d_ptr -> metaObject - 64 77 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION MpSongData::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 80 FUNCTION MpSongData::qt_metacast() - 0 0 - 82 if (! _clname) - 0 - 82 return 0 - 0 0 - 83 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 84 return static_cast < void * > ( const_cast <.. - 0 - 85 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpSongData::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 88 FUNCTION MpSongData::qt_metacall() - 0 0 - 91 if (_id < 0) - 0 - 92 return _id - 0 0 - 93 if (_c == QMetaObject::InvokeMetaMethod) - 94 switch ( _id ) - 0 - 95 case 0: - 0 - 95 break - 0 - 96 case 1: - 0 - 96 break - 0 - 97 case 2: - 0 - 97 break - 0 - 98 case 3: - 0 - 98 break - 0 - 99 case 4: - 0 0 - 100 if (_a [ 0 ]) - 0 - 100 break - 0 - 101 case 5: - 0 0 - 102 if (_a [ 0 ]) - 0 - 102 break - 0 - 103 case 6: - 0 0 - 104 if (_a [ 0 ]) - 0 - 104 break - 0 - 105 case 7: - 0 0 - 106 if (_a [ 0 ]) - 0 - 106 break - 0 - 107 case 8: - 0 0 - 108 if (_a [ 0 ]) - 0 - 108 break - 0 - 109 case 9: - 0 - 109 break - 0 - 110 case 10: - 0 0 - 111 if (_a [ 0 ]) - 0 - 111 break - 0 - 112 case 11: - 0 0 - 113 if (_a [ 0 ]) - 0 - 113 break - 0 - 114 case 12: - 0 0 - 115 if (_a [ 0 ]) - 0 - 115 break - 0 - 116 case 13: - 0 0 - 117 if (_a [ 0 ]) - 0 - 117 break - 0 - 118 case 14: - 0 0 - 119 if (_a [ 0 ]) - 0 - 119 break - 0 - 120 default: - 0 - 124 return _id - -***TER 0 % ( 0/ 58) of FUNCTION MpSongData::qt_metacall() ------------------------------------------------------------------------------ - - 0 0 - 128 FUNCTION MpSongData::albumArtReady() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::albumArtReady() ------------------------------------------------------------------------------ - - 0 0 - 134 FUNCTION MpSongData::playbackInfoChanged() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::playbackInfoChanged() ------------------------------------------------------------------------------ - - 0 0 - 140 FUNCTION MpSongData::songDetailInfoChanged() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::songDetailInfoChanged() ------------------------------------------------------------------------------ - - -***TER 4 % ( 3/ 75) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 50 FUNCTION ThumbnailManager::getStaticMetaObject() - 0 - 50 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::getStaticMetaObject() ------------------------------------------------------------------------------ - - 64 0 53 FUNCTION ThumbnailManager::metaObject() - 0 64 - 55 ternary-?: QObject::d_ptr -> metaObject - 64 55 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION ThumbnailManager::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 58 FUNCTION ThumbnailManager::qt_metacast() - 0 0 - 60 if (! _clname) - 0 - 60 return 0 - 0 0 - 61 if (! strcmp ( _clname , qt_meta_stringdata_Th.. - 0 - 62 return static_cast < void * > ( const_cast <.. - 0 - 63 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION ThumbnailManager::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 66 FUNCTION ThumbnailManager::qt_metacall() - 0 0 - 69 if (_id < 0) - 0 - 70 return _id - 0 0 - 71 if (_c == QMetaObject::InvokeMetaMethod) - 72 switch ( _id ) - 0 - 73 case 0: - 0 - 73 break - 0 - 74 default: - 0 - 78 return _id - -***TER 0 % ( 0/ 10) of FUNCTION ThumbnailManager::qt_metacall() ------------------------------------------------------------------------------ - - 0 0 - 82 FUNCTION ThumbnailManager::thumbnailReady() - -***TER 0 % ( 0/ 1) of FUNCTION ThumbnailManager::thumbnailReady() ------------------------------------------------------------------------------ - - -***TER 12 % ( 3/ 25) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/moc_thumbnailmanager_qt.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 4 0 10532 FUNCTION qInitResources_mpdetailsviewresources() - 4 10536 return 1 - -***TER 100 % ( 2/ 2) of FUNCTION qInitResources_mpdetailsviewresources() ------------------------------------------------------------------------------ - - 0 0 - 10541 FUNCTION qCleanupResources_mpdetailsviewresources() - 0 - 10545 return 1 - -***TER 0 % ( 0/ 2) of FUNCTION qCleanupResources_mpdetailsviewresources() ------------------------------------------------------------------------------ - - 4 4 10548 FUNCTION qCleanupResources_mpdetailsviewresources__dest_class__::qCleanupResources_mpdetailsviewresources__dest_class__() - -***TER 100 % ( 1/ 1) of FUNCTION qCleanupResources_mpdetailsviewresources__dest_class__::qCleanupResources_mpdetailsviewresources__dest_class__() ------------------------------------------------------------------------------ - - 0 0 - 10548 FUNCTION qCleanupResources_mpdetailsviewresources__dest_class__::~qCleanupResources_mpdetailsviewresources__dest_class__() - -***TER 0 % ( 0/ 1) of FUNCTION qCleanupResources_mpdetailsviewresources__dest_class__::~qCleanupResources_mpdetailsviewresources__dest_class__() ------------------------------------------------------------------------------ - - -***TER 50 % ( 3/ 6) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/qrc_mpdetailsviewresources.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 16 16 25 FUNCTION MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 16 16 36 FUNCTION MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 16 0 46 FUNCTION MpMpxDetailsFrameworkWrapper::songData() - 16 48 return iSongData - -***TER 100 % ( 2/ 2) of FUNCTION MpMpxDetailsFrameworkWrapper::songData() ------------------------------------------------------------------------------ - - 4 4 54 FUNCTION MpMpxDetailsFrameworkWrapper::retrieveSong() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::retrieveSong() ------------------------------------------------------------------------------ - - -***TER 100 % ( 5/ 5) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 16 16 62 FUNCTION MpSongData::MpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::MpSongData() ------------------------------------------------------------------------------ - - 0 0 - 88 FUNCTION MpSongData::~MpSongData() - 0 0 - 91 if (mThumbnailManager) - -***TER 0 % ( 0/ 3) of FUNCTION MpSongData::~MpSongData() ------------------------------------------------------------------------------ - - 0 0 - 100 FUNCTION MpSongData::albumArt() - 0 0 - 103 if (! mAlbumArt . isNull ( )) - 106 else - -***TER 0 % ( 0/ 3) of FUNCTION MpSongData::albumArt() ------------------------------------------------------------------------------ - - 0 0 - 116 FUNCTION MpSongData::title() - 0 - 119 return mTitle - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::title() ------------------------------------------------------------------------------ - - 0 0 - 125 FUNCTION MpSongData::album() - 0 - 128 return mAlbum - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::album() ------------------------------------------------------------------------------ - - 0 0 - 134 FUNCTION MpSongData::artist() - 0 - 137 return mArtist - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::artist() ------------------------------------------------------------------------------ - - 0 0 - 143 FUNCTION MpSongData::comment() - 0 - 146 return mComment - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::comment() ------------------------------------------------------------------------------ - - 0 0 - 152 FUNCTION MpSongData::composer() - 0 - 155 return mComposer - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::composer() ------------------------------------------------------------------------------ - - 0 0 - 162 FUNCTION MpSongData::genre() - 0 - 165 return mGenre - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::genre() ------------------------------------------------------------------------------ - - 0 0 - 172 FUNCTION MpSongData::albumTrack() - 0 - 175 return mAlbumTrack - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::albumTrack() ------------------------------------------------------------------------------ - - 0 0 - 181 FUNCTION MpSongData::link() - 0 - 184 return mLink - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::link() ------------------------------------------------------------------------------ - - 0 0 - 190 FUNCTION MpSongData::year() - 0 - 193 return mYear - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::year() ------------------------------------------------------------------------------ - - 0 0 - 200 FUNCTION MpSongData::setTitle() - 0 0 - 204 if (title != mTitle) - 0 - 209 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setTitle() ------------------------------------------------------------------------------ - - 0 0 - 215 FUNCTION MpSongData::setAlbum() - 0 0 - 219 if (album != mAlbum) - 0 - 224 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setAlbum() ------------------------------------------------------------------------------ - - 0 0 - 230 FUNCTION MpSongData::setArtist() - 0 0 - 234 if (artist != mArtist) - 0 - 239 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setArtist() ------------------------------------------------------------------------------ - - 0 0 - 245 FUNCTION MpSongData::setComment() - 0 0 - 249 if (comment != mComment) - 0 - 254 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setComment() ------------------------------------------------------------------------------ - - 0 0 - 261 FUNCTION MpSongData::setComposer() - 0 0 - 265 if (composer != mComposer) - 0 - 270 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setComposer() ------------------------------------------------------------------------------ - - 0 0 - 276 FUNCTION MpSongData::setGenre() - 0 0 - 280 if (genre != mGenre) - 0 - 285 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setGenre() ------------------------------------------------------------------------------ - - 0 0 - 292 FUNCTION MpSongData::setYear() - 0 0 - 296 if (QString::number ( year ) != mYear) - 0 0 - 298 if (year >= 0 && year < 9999) - 0 - 303 return change - -***TER 0 % ( 0/ 6) of FUNCTION MpSongData::setYear() ------------------------------------------------------------------------------ - - 0 0 - 309 FUNCTION MpSongData::setAlbumTrack() - 0 0 - 313 if (track != mAlbumTrack) - 0 - 318 return change - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::setAlbumTrack() ------------------------------------------------------------------------------ - - 0 0 - 324 FUNCTION MpSongData::setLink() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::setLink() ------------------------------------------------------------------------------ - - 0 0 - 334 FUNCTION MpSongData::setAlbumArtUri() - 0 0 - 337 if (! albumArtUri . isEmpty ( )) - 0 0 - 339 if (mReqId != KUndefined) - 0 0 - 343 if (ok) - 0 0 - 345 if (mReqId == KUndefined) - 352 else - -***TER 0 % ( 0/ 9) of FUNCTION MpSongData::setAlbumArtUri() ------------------------------------------------------------------------------ - - 0 0 - 364 FUNCTION MpSongData::thumbnailReady() - 0 0 - 372 if (error == 0 && mReqId == id) - 377 else - -***TER 0 % ( 0/ 3) of FUNCTION MpSongData::thumbnailReady() ------------------------------------------------------------------------------ - - 0 0 - 389 FUNCTION MpSongData::commitPlaybackInfo() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::commitPlaybackInfo() ------------------------------------------------------------------------------ - - 0 0 - 399 FUNCTION MpSongData::commitSongDetailInfo() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::commitSongDetailInfo() ------------------------------------------------------------------------------ - - -***TER 1 % ( 1/ 74) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 4 0 62 FUNCTION main() - 4 76 return res - -***TER 100 % ( 2/ 2) of FUNCTION main() ------------------------------------------------------------------------------ - - 4 4 80 FUNCTION TestMpDetailsView::TestMpDetailsView() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::TestMpDetailsView() ------------------------------------------------------------------------------ - - 4 4 87 FUNCTION TestMpDetailsView::~TestMpDetailsView() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::~TestMpDetailsView() ------------------------------------------------------------------------------ - - 4 4 95 FUNCTION TestMpDetailsView::initTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::initTestCase() ------------------------------------------------------------------------------ - - 4 4 103 FUNCTION TestMpDetailsView::cleanupTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::cleanupTestCase() ------------------------------------------------------------------------------ - - 16 16 111 FUNCTION TestMpDetailsView::init() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::init() ------------------------------------------------------------------------------ - - 16 16 120 FUNCTION TestMpDetailsView::cleanup() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsView::cleanup() ------------------------------------------------------------------------------ - - 4 4 126 FUNCTION TestMpDetailsView::testactivateView() - 129 do - 0 4 - 129 if (! QTest::qVerify ( ( mTest -> mActivated.. - 0 - 129 return - 129 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpDetailsView::testactivateView() ------------------------------------------------------------------------------ - - 4 4 132 FUNCTION TestMpDetailsView::testdeactivateView() - 135 do - 0 4 - 135 if (! QTest::qVerify ( ( mTest -> mActivated.. - 0 - 135 return - 135 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpDetailsView::testdeactivateView() ------------------------------------------------------------------------------ - - 4 4 138 FUNCTION TestMpDetailsView::testbackSlot() - 141 do - 0 4 - 141 if (! QTest::qVerify ( ( spy . isValid ( ) ).. - 0 - 141 return - 141 while ( 0 ) - 142 do - 0 4 - 142 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 142 return - 142 while ( 0 ) - 145 do - 0 4 - 145 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 145 return - 145 while ( 0 ) - -***TER 40 % ( 4/ 10) of FUNCTION TestMpDetailsView::testbackSlot() ------------------------------------------------------------------------------ - - -***TER 62 % ( 16/ 26) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 26 FUNCTION ThumbnailManager::getInitCounter() - 0 - 28 return gInitCounter - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::getInitCounter() ------------------------------------------------------------------------------ - - 0 0 - 34 FUNCTION ThumbnailManager::resetInitCounter() - -***TER 0 % ( 0/ 1) of FUNCTION ThumbnailManager::resetInitCounter() ------------------------------------------------------------------------------ - - 32 32 42 FUNCTION ThumbnailManager::ThumbnailManager() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::ThumbnailManager() ------------------------------------------------------------------------------ - - 16 16 54 FUNCTION ThumbnailManager::~ThumbnailManager() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::~ThumbnailManager() ------------------------------------------------------------------------------ - - 0 0 - 62 FUNCTION ThumbnailManager::setMode() - 0 - 65 return true - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::setMode() ------------------------------------------------------------------------------ - - 32 0 71 FUNCTION ThumbnailManager::setQualityPreference() - 32 75 return true - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::setQualityPreference() ------------------------------------------------------------------------------ - - 32 0 81 FUNCTION ThumbnailManager::setThumbnailSize() - 32 84 return true - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::setThumbnailSize() ------------------------------------------------------------------------------ - - 0 0 - 90 FUNCTION ThumbnailManager::getThumbnail() - 0 0 - 96 if (clientData) - 0 0 - 104 if (mGetThumbFails) - 0 - 105 return - 1 - 0 - 109 return mThumbnailReqCounter - -***TER 0 % ( 0/ 7) of FUNCTION ThumbnailManager::getThumbnail() ------------------------------------------------------------------------------ - - 0 0 - 115 FUNCTION ThumbnailManager::cancelRequest() - 0 - 119 return true - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::cancelRequest() ------------------------------------------------------------------------------ - - -***TER 30 % ( 6/ 20) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp ------------------------------------------------------------------------------ - - - - - -SUMMARY -======= - -Number of monitored source files : 11 -Number of source lines : 12735 -Number of measurement points : 630 -TER : 18% (decision) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/sis.bat --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/sis.bat Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ @rem -@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @rem All rights reserved. @rem This component and the accompanying materials are made available @rem under the terms of "Eclipse Public License v1.0" @@ -16,5 +16,5 @@ del *.sisx makesis UT_detailsview.pkg -signsis UT_detailsview.sis UT_detailsview.sisx ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key +signsis UT_detailsview.sis UT_detailsview.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key del UT_detailsview.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,8 +15,8 @@ * */ #include -#include -#include +#include +#include #include #include #include @@ -41,13 +41,14 @@ #include #include #include -#include +#include +#include #include "unittest_mpdetailsview.h" #include "stub/inc/mpsongdata.h" #include "stub/inc/thumbnailmanager_qt.h" -#include "stub/inc/mpmpxdetailsframeworkwrapper.h" #include "mpcommondefs.h" +#include "mpsettingsmanager.h" // Do this so we can access all member variables. #define private public @@ -66,14 +67,17 @@ TestMpDetailsView tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_testmpdetailsview.txt"; +if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpdetailsview.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } //Constructor @@ -94,7 +98,7 @@ */ void TestMpDetailsView::initTestCase() { - + } /*! @@ -102,7 +106,7 @@ */ void TestMpDetailsView::cleanupTestCase() { - +QCoreApplication::processEvents(); } /*! @@ -124,27 +128,167 @@ } void TestMpDetailsView::testactivateView() - { +{ mTest->activateView(); - QVERIFY(mTest->mActivated==true); - } + QCOMPARE( mTest->mActivated, true ); + + QCOMPARE( mTest->mInspireMeOpen, MpSettingsManager::inspireMe() ); + QCOMPARE( mTest->mSongDetailsGbOpen, MpSettingsManager::songDetailsGb() ); +} void TestMpDetailsView::testdeactivateView() - { - /* TODO: Fix +{ mTest->deactivateView(); - QVERIFY(mTest->mActivated==false); - */ - } + QCOMPARE( mTest->mActivated, false ); +} + +void TestMpDetailsView::testbackSlot() +{ + connect( this, SIGNAL( back() ), mTest->mSoftKeyBack, SIGNAL( triggered() ) ); + QSignalSpy spy( mTest, SIGNAL( command(int) ) ); + QVERIFY( spy.isValid() ); + QCOMPARE( spy.count(),0 ); + + emit back(); + QCOMPARE( spy.count(), 1 ); +} + +void TestMpDetailsView::testAlbumArtChanged() +{ + connect( this, SIGNAL( albumArtChanged() ), mTest->mSongData, SIGNAL( albumArtReady() ) ); + + emit albumArtChanged(); + QVERIFY( mTest->mAlbumArt->icon().isNull() == false ); +} + +void TestMpDetailsView::testHandleNetworkError() +{ + mTest->handleNetworkError(); + QVERIFY( mTest->mInspireMeQueryOngoing == false ); + QVERIFY( mTest->mInspireMeQueryRendered == false ); +} + +void TestMpDetailsView::testCanQueryRecommendations() +{ + mTest->mSongData = new MpSongData(); + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->mInspireMeGroupBox->setCollapsed( true ); + QVERIFY( mTest->canQueryRecommendations() == false ); + + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString(); + mTest->mInspireMeGroupBox->setCollapsed( true ); + QVERIFY( mTest->canQueryRecommendations() == false ); + + mTest->mSongData->mAlbum = QString(); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->mInspireMeGroupBox->setCollapsed( true ); + QVERIFY( mTest->canQueryRecommendations() == false ); + + mTest->mSongData->mAlbum = QString(); + mTest->mSongData->mArtist = QString(); + mTest->mInspireMeGroupBox->setCollapsed( true ); + QVERIFY( mTest->canQueryRecommendations() == false ); + + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->mInspireMeGroupBox->setCollapsed( false ); + QVERIFY( mTest->canQueryRecommendations() == true ); + + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString(); + mTest->mInspireMeGroupBox->setCollapsed( false ); + QVERIFY( mTest->canQueryRecommendations() == true ); + + mTest->mSongData->mAlbum = QString(); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->mInspireMeGroupBox->setCollapsed( false ); + QVERIFY( mTest->canQueryRecommendations() == true ); + + mTest->mSongData->mAlbum = QString(); + mTest->mSongData->mArtist = QString(); + mTest->mInspireMeGroupBox->setCollapsed( false ); + QVERIFY( mTest->canQueryRecommendations() == false ); +} -void TestMpDetailsView::testbackSlot() { - connect(this, SIGNAL(back()), mTest->mNavigationBack, SIGNAL(triggered())); - QSignalSpy spy(mTest, SIGNAL(command(int))); - QVERIFY(spy.isValid()); - QCOMPARE(spy.count(),0); - - emit back(); - QCOMPARE(spy.count(),1); - } +void TestMpDetailsView::testCanQuerySharePlayerLink() +{ + mTest->mSongData = new MpSongData(); + mTest->mSongData->mTitle = QString( "title" ); + mTest->mSongData->mArtist = QString( "artist" ); + QVERIFY( mTest->canQuerySharePlayerLink() == true ); + + mTest->mSongData->mTitle = QString(); + mTest->mSongData->mArtist = QString( "artist" ); + QVERIFY( mTest->canQuerySharePlayerLink() == false ); + + mTest->mSongData->mTitle = QString( "title" ); + mTest->mSongData->mArtist = QString(); + QVERIFY( mTest->canQuerySharePlayerLink() == false ); + + mTest->mSongData->mTitle = QString(); + mTest->mSongData->mArtist = QString(); + QVERIFY( mTest->canQuerySharePlayerLink() == false ); +} + +void TestMpDetailsView::testHandlePlaybackInfoChanged() +{ + mTest->mSongData = new MpSongData(); + mTest->mInspireMeQueryRendered = true; + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->handlePlaybackInfoChanged(); + QVERIFY( mTest->mInspireMeQueryRendered == false ); + QVERIFY( mTest->mSongData->link().isEmpty() == true ); + QCOMPARE( mTest->mAlbumText->plainText(), QString( "album" ) ); + QCOMPARE( mTest->mArtistText->plainText(), QString( "artist" ) ); + + mTest->mInspireMeQueryRendered = true; + mTest->mSongData->mAlbum = QString(""); + mTest->mSongData->mArtist = QString(""); + mTest->handlePlaybackInfoChanged(); + QVERIFY( mTest->mInspireMeQueryRendered == true ); + QVERIFY( mTest->mSongData->link().isEmpty() == true ); + QCOMPARE( mTest->mAlbumText->plainText(), QString( "Unknown" ) ); + QCOMPARE( mTest->mArtistText->plainText(), QString( "Unknown" ) ); +} + +void TestMpDetailsView::testClearInspireMe() +{ + mTest->clearInspireMe(); + QVERIFY( mTest->mInspireList->count() == 0 ); +} + +void TestMpDetailsView::testHandleDetailsGroupBoxToggled() +{ + mTest->handleDetailsGroupBoxToggled( false ); + QVERIFY( mTest->mInspireMeGroupBox->isCollapsed() == true ); +} + +void TestMpDetailsView::testHandleInspireMeGroupBoxToggled() +{ + mTest->mSongData = new MpSongData(); + + mTest->mInspireMeQueryOngoing = true; + mTest->handleInspireMeGroupBoxToggled( false ); + QVERIFY( mTest->mSongDetailsGroupBox->isCollapsed() == true ); + QVERIFY ( mTest->mInspireMeProgressBar->isVisible() == true ); + + mTest->mInspireMeQueryOngoing = false; + mTest->mInspireMeQueryRendered = true; + mTest->handleInspireMeGroupBoxToggled( false ); + QVERIFY( mTest->mSongDetailsGroupBox->isCollapsed() == true ); + + mTest->mInspireMeQueryOngoing = false; + mTest->mInspireMeQueryRendered = false; + mTest->mSongData->mAlbum = QString( "album" ); + mTest->mSongData->mArtist = QString( "artist" ); + mTest->handleInspireMeGroupBoxToggled( false ); + QVERIFY( mTest->mSongDetailsGroupBox->isCollapsed() == true ); + QVERIFY ( mTest->mInspireMeProgressBar->isVisible() == true ); + QVERIFY ( mTest->mInspireMeQueryOngoing == true ); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpdetailssharedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpdetailssharedialog.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,47 @@ +/* +* 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: +* +*/ + +#ifndef MPDETAILSSHAREDIALOG_H +#define MPDETAILSSHAREDIALOG_H + +#include + +class QGraphicsWebView; +class QNetworkAccessManager; +class MpSongData; + +class MpDetailsShareDialog : public HbDialog +{ + Q_OBJECT + +public: + MpDetailsShareDialog(); + void initialize( MpSongData* aSongData ); + virtual ~MpDetailsShareDialog(); + void reload(); + +public slots: + void updateSharedData(); + void onIndexLoad( bool ok ); + +private: + QObject* mSharedData; // NOT owned. + QGraphicsWebView* mShareWebView; // Owned by HbDialog + QNetworkAccessManager* mShareNetAccMan; // Owned +}; + +#endif // MPDETAILSSHAREDIALOG_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpengine.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,140 @@ +/* +* 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: Music Player engine. +* +*/ + +#ifndef MPENGINE_H +#define MPENGINE_H + +#include +#include "mpmpxcollectionviewdefs.h" +#include "mpmpxcommondefs.h" +#include "mpcommondefs.h" + +class MpMpxCollectionData; +class MpPlaybackData; +class MpSongData; +class XQSharableFile; +class MpEngine : public QObject +{ + Q_OBJECT + + friend class MpEngineFactory; + +public: + enum EngineMode{ + StandAlone, + Fetch, + Embedded, + MediaBrowsing + }; + +private: + + enum UsbBlockingState { + USB_NotConnected, // Not connected + USB_Connected, // Connected in MTP mode but not synchronizing + USB_Synchronizing // Connected in MassStorage mode or MTP mode and synchronizing + }; + +private: + explicit MpEngine(); + +public: + + virtual ~MpEngine(); + + // Harvester related + void refreshLibrary(); + bool verifyUsbBlocking( bool showMessage = false ); + void checkForSystemEvents(); + + // Collection related + void openCollection( TCollectionContext context ); + void openCollectionItem( int index ); + void back(); + void findPlaylists( QStringList &playlists ); + void createPlaylist( QString &playlistName, QList &selection, MpMpxCollectionData* collectionData = 0 ); + void saveToPlaylist( int playlistIndex, QList &selection ); + void saveToCurrentPlaylist( QList &selection, MpMpxCollectionData *collectionData ); + void renamePlaylist( QString &newName, int index ); + void renamePlaylist( QString &newName ); + void deleteSongs( QList &selection ); + + void previewItem( int index ); + void openIsolatedCollection( TCollectionContext context ); + void releaseIsolatedCollection(); + + void findAlbumSongs( int index ); + void playAlbumSongs( int albumIndex, int songIndex ); + + MpMpxCollectionData *collectionData(); + + // Playback related + + MpPlaybackData *playbackData(); + + // Details related + MpSongData *songData(); + void retrieveSong(); + +signals: + + // Harvester related + void libraryAboutToRefresh(); + void libraryRefreshed(); + void usbBlocked( bool blocked ); + + // Collection related + void collectionPlaylistOpened(); + void playlistSaved( bool success ); + void songsDeleted( bool success ); + void playlistsRenamed( bool success ); + + void isolatedCollectionOpened( MpMpxCollectionData* collectionData ); + + void containerContentsChanged(); + +public slots: + + // Harvester related + void handleScanStarted(); + void handleScanEnded( int count, int error ); + void handleDiskEvent( MpxDiskEvents event ); + void handleUsbEvent( MpxUsbEvents event ); + void handleBlockingNoteClosing(); + + // Collection related + void reopenCollection(); + void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ); + + // Playback related + void playEmbedded( QString aFilename ); + void playEmbedded( const XQSharableFile& file ); + void playPause(); + void stop(); + void skipForward(); + void skipBackward(); + void setPosition( int position ); + void setShuffle( bool mode ); + void setRepeat( bool mode ); + +private: + + Q_DISABLE_COPY( MpEngine ) + +}; + +#endif // MPENGINE_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpenginefactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpenginefactory.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,44 @@ +/* +* 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: Music Player engine. +* +*/ + +#ifndef MPENGINEFACTORY_H +#define MPENGINEFACTORY_H + +#include + +#include "mpengine.h" +#include "mpcommondefs.h" + + +class MpEngineFactory +{ +private: + explicit MpEngineFactory(); + +public: + virtual ~MpEngineFactory(); + static MpEngineFactory * instance(); + + static MpEngine *createSharedEngine( TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ), MpEngine::EngineMode mode = MpEngine::StandAlone ); + static MpEngine *sharedEngine(); + static void close(); + +private: + MpEngine *mSharedEngine; +}; + +#endif // MPENGINEFACTORY_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +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 wrapper -* -*/ - -#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_H_ -#define MPMPXDETAILSFRAMEWORKWRAPPER_H_ - -//includes -#include -#include "stub/inc/mpsongdata.h" - -//forward declartions -class MpSongData; - -//class declaration -class MpMpxDetailsFrameworkWrapper : public QObject -{ - Q_OBJECT - -public: - MpMpxDetailsFrameworkWrapper( QObject *parent=0 ); - virtual ~MpMpxDetailsFrameworkWrapper(); - - MpSongData *songData(); - void retrieveSong(); -private: - MpSongData* iSongData; - -}; - - -#endif /* MPMPXDETAILSFRAMEWORKWRAPPER_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpquerymanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpquerymanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,76 @@ +/* +* 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: Music Player Query Manager. +* +*/ +#ifndef MPQUERYMANAGER_H_ +#define MPQUERYMANAGER_H_ + +#include +#include +#include +#include +#include "mpviewbase.h" + +class MpSongData; +class MpDetailsShareDialog; +class MpEngine; + +QTM_USE_NAMESPACE + +class MpQueryManager : public QObject +{ + Q_OBJECT + +public: + MpQueryManager( QObject *parent=0 ); + ~MpQueryManager(); + +public: + void clearNetworkReplies(); + void queryLocalMusicStore( QString mArtist,QString mAlbum,QString mTitle ); + void queryInspireMeItems( QString mArtist,QString mAlbum,QString mTitle ); + void clearRecommendations(); + + QStringList recommendationSongs(); + QStringList recommendationArtists(); + QStringList recommendationAlbumArtsLink(); + QMap recommendationAlbumArtsMap(); + int &albumArtsReadyCount(); + + void insertMapItem( const QString &uri, const QPixmap &pixmap ); + +signals: + void onlineStatusChanged( bool state ); + void setAlbumArt( const QString &albumArtUri, const QString &albumArtName ); + +private: + + int mDownloadedAlbumArts; + MpDetailsShareDialog* mSharePopup; + + QString mArtist; + QString mAlbum; + QString mTitle; + + QStringList mRecommendationAlbumArtsName; + + QStringList mRecommendationSongs; + QStringList mRecommendationArtists; + QStringList mRecommendationAlbumArtsLink; + QMap mRecommendationAlbumArtsMap; + int mAlbumArtsReadyCount; + +}; +#endif /* MPQUERYMANAGER_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -22,10 +22,9 @@ #include #include - //forward declartions -class QIcon; class ThumbnailManager; +class HbIcon; //class declaration class MpSongData : public QObject @@ -46,7 +45,17 @@ bool setComposer( const QString &compoer ); bool setAlbumTrack( const QString &albumtrack ); void setLink( const QString &link ); - + bool setFileName( const QString &fileName ); + bool setMimeType( const QString &mimeType ); + bool setDuration( int duration ); + bool setBitRate( int bitRate); + bool setSampleRate( int sampleRate ); + bool setSize( int size ); + bool setModified( const QString &modified ); + bool setCopyright( const QString ©right ); + bool setMusicURL( const QString &musicURL ); + bool setDrmProtected( bool drmProtected ); + // inform details view when basic information is ready to accelerate UI update void commitPlaybackInfo(); // inform details view when details information is ready @@ -61,19 +70,32 @@ QString album() const; QString artist() const; QString comment() const; - void albumArt( QPixmap& pixmap ); + void albumArt( HbIcon& icon ) const; QString year() const; QString genre() const; QString composer() const; QString albumTrack() const; QString link() const; + + QString fileName() const; + QString mimeType() const; + QString duration() const; + QString bitRate() const; + QString sampleRate() const; + QString size() const; + QString modified() const; + QString copyright() const; + QString musicURL() const; + bool isDrmProtected() const; + + QString albumArtBase64() const; signals: void albumArtReady(); void playbackInfoChanged(); void songDetailInfoChanged(); -private: +public: QString mTitle; QString mAlbum; QString mArtist; @@ -82,12 +104,22 @@ QString mGenre; QString mYear; QString mAlbumTrack; - QPixmap mAlbumArt; + HbIcon *mAlbumArt; ThumbnailManager *mThumbnailManager; //owned TInt mReqId; QString currentAAUri; - QPixmap mDefaultAlbumArt; + HbIcon *mDefaultAlbumArt; QString mLink; + QString mFileName; + QString mMimeType; + QString mDuration; + QString mBitRate; + QString mSampleRate; + QString mSize; + QString mModified; + QString mCopyright; + QString mMusicURL; + bool mDrmProtected; Q_DISABLE_COPY(MpSongData) }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h Thu Jul 22 16:32:33 2010 +0100 @@ -17,8 +17,8 @@ #ifndef THUMBNAILMANAGER_QT_H_ #define THUMBNAILMANAGER_QT_H_ -#include -#include +#include +#include /** default priority value */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpdetailssharedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpdetailssharedialog.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,81 @@ +/* +* 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: +* +*/ + +#include "mpdetailssharedialog.h" +#include "mptrace.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +// For allowing local caching of javascript files loaded by popup +class MpNetworkAccessManager : public QNetworkAccessManager +{ +public: + MpNetworkAccessManager() { }; + +private: + QNetworkReply *createRequest( Operation /*op*/, + const QNetworkRequest &/*request*/, + QIODevice *outgoingData = 0 ) { return 0; } +}; + + +MpDetailsShareDialog::MpDetailsShareDialog( ) + : mSharedData( ), + mShareWebView( 0 ), + mShareNetAccMan( 0 ) +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + +MpDetailsShareDialog::~MpDetailsShareDialog() +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + +void MpDetailsShareDialog::initialize( MpSongData* aSongData ) +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + +void MpDetailsShareDialog::updateSharedData() +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + +void MpDetailsShareDialog::reload() +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + +void MpDetailsShareDialog::onIndexLoad( bool aOk ) +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpengine.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,229 @@ +/* +* 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: Wrapper for mpx framework utilities. +* +*/ + +#include "mpengine.h" + +#include "mptrace.h" + + +MpEngine::MpEngine() +{ + TX_LOG_ARGS("Stub") +} + +/*! + Destructs music player engine. + */ +MpEngine::~MpEngine() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::refreshLibrary() +{ + TX_ENTRY_ARGS("Stub") +} + +bool MpEngine::verifyUsbBlocking( bool showMessage ) +{ + TX_ENTRY_ARGS("Stub") + return false; +} + +void MpEngine::checkForSystemEvents() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::handleScanStarted() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::handleScanEnded( int count, int error ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::handleDiskEvent( MpxDiskEvents event ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::handleUsbEvent( MpxUsbEvents event ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::handleBlockingNoteClosing() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::openCollection( TCollectionContext context ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::openCollectionItem( int index ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::back() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::findPlaylists( QStringList &playlists ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::createPlaylist( QString &playlistName, QList &selection, MpMpxCollectionData* collectionData ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::saveToPlaylist( int playlistIndex, QList &selection ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::renamePlaylist( QString &newName, int index ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::saveToCurrentPlaylist( QList &selection, MpMpxCollectionData *collectionData ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::renamePlaylist( QString &newName ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::deleteSongs( QList &selection ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::previewItem( int index ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::openIsolatedCollection( TCollectionContext context ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::releaseIsolatedCollection() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::findAlbumSongs( int index ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::playAlbumSongs( int albumIndex, int songIndex ) +{ + TX_ENTRY_ARGS("Stub") +} + +MpMpxCollectionData *MpEngine::collectionData() +{ + TX_ENTRY_ARGS("Stub") + return false; +} + +void MpEngine::reopenCollection() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal ) +{ + TX_ENTRY_ARGS("Stub") +} + +MpPlaybackData *MpEngine::playbackData() +{ + TX_ENTRY_ARGS("Stub") + return false; +} + + +void MpEngine::playEmbedded( QString aFilename ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::playEmbedded(const XQSharableFile& file ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::playPause() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::stop() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::skipForward() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::skipBackward() +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::setPosition( int position ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::setShuffle( bool mode ) +{ + TX_ENTRY_ARGS("Stub") +} + +void MpEngine::setRepeat( bool mode ) +{ + TX_ENTRY_ARGS("Stub") +} + +MpSongData *MpEngine::songData() +{ + TX_ENTRY_ARGS("Stub") + return 0; +} + +void MpEngine::retrieveSong() +{ + TX_ENTRY_ARGS("Stub") +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpenginefactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpenginefactory.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,87 @@ +/* +* 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: mp engine factory. +* +*/ + +#include "mpengine.h" +#include "mpenginefactory.h" +#include "mptrace.h" + +/*! + \class MpEngineFactory + \brief Music Player engine factory. + + MP Engine factory is responsible to create and mantain ownership of MP engines. +*/ + +/*! + Constructs music player engine factory. + */ +MpEngineFactory::MpEngineFactory() + : mSharedEngine( 0 ) +{ + TX_ENTRY_ARGS("Stub") +} + +/*! + Destructs music player engine factory. + */ +MpEngineFactory::~MpEngineFactory() +{ + TX_ENTRY_ARGS("Stub") +} + +/*! + Returns the singleton instance of music player engine factory. + */ +MpEngineFactory * MpEngineFactory::instance() +{ + TX_LOG_ARGS("MpEngineFactory::instance() Stub") + static MpEngineFactory instance; + return &instance; +} + +/*! + Returns an instance to an engine with \a hostUid, and \a mode, if the shared engine is + already created parameters are ignored. + */ +MpEngine *MpEngineFactory::createSharedEngine( TUid hostUid , MpEngine::EngineMode mode ) +{ + TX_LOG_ARGS("MpEngineFactory::createSharedEngine() Stub") + if ( !instance()->mSharedEngine ) { + instance()->mSharedEngine = new MpEngine(); + } + return instance()->mSharedEngine; +} + +/*! + Returns an instance to the current shared engine previously created with createEngine(). + */ +MpEngine *MpEngineFactory::sharedEngine() +{ + return instance()->mSharedEngine; +} + +/*! + Closes all engines created on this process. + */ +void MpEngineFactory::close() +{ + if ( instance()->mSharedEngine ) { + delete instance()->mSharedEngine; + instance()->mSharedEngine = 0; + + } +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +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 wrapper -* -*/ - - -#include "stub/inc/mpmpxdetailsframeworkwrapper.h" -//#include "mptrace.h" - -/*! - Constructs the utility wrapper. - */ -MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper( QObject *parent ) - : QObject(parent) -{ -// TX_ENTRY - iSongData = new MpSongData(); -// TX_EXIT -} - -/*! - Destructs the utility wrapper. - */ -MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() -{ - // TX_ENTRY - - //TX_EXIT -} - -/*! - Returns pointer to MpSongData - */ -MpSongData *MpMpxDetailsFrameworkWrapper::songData() -{ - return iSongData; -} - -/*! - Retrieve currently playing song meta data - */ -void MpMpxDetailsFrameworkWrapper::retrieveSong() -{ - //TX_ENTRY - - //TX_EXIT -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpquerymanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpquerymanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,148 @@ +/* +* 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: Music Player Query Manager. +* +*/ + +#include "mpquerymanager.h" +#include +#include +#include +#include + +#include "mpdetailssharedialog.h" +#include "mptrace.h" + +const int KRecommendationNum = 2; + +MpQueryManager::MpQueryManager(QObject *parent) + :QObject(parent) +{ + TX_ENTRY_ARGS("STUB") + mRecommendationAlbumArtsName << "C:\\Data\\albumOne.png" << "C:\\Data\\albumTwo.png"; + TX_EXIT_ARGS("STUB") +} + +MpQueryManager::~MpQueryManager() +{ + TX_ENTRY_ARGS("STUB") + TX_EXIT_ARGS("STUB") +} + + +void MpQueryManager::clearNetworkReplies() +{ + TX_ENTRY_ARGS("STUB Reply count = "); + TX_EXIT_ARGS("STUB") +} + + +void MpQueryManager::queryLocalMusicStore(QString artist,QString album,QString title) +{ + TX_ENTRY_ARGS("STUB") + mArtist=artist; + mAlbum=album; + mTitle=title; + TX_EXIT_ARGS("STUB") +} + +void MpQueryManager::queryInspireMeItems(QString artist,QString album,QString title) +{ + TX_ENTRY_ARGS("STUB") + mArtist=artist; + mAlbum=album; + mTitle=title; + TX_EXIT_ARGS("STUB") +} + +void MpQueryManager::clearRecommendations() +{ + TX_ENTRY_ARGS("STUB") + mDownloadedAlbumArts = 0; + mAlbumArtsReadyCount = 0; + for ( int i = 0; i < KRecommendationNum; i++ ) { + mRecommendationSongs.clear(); + mRecommendationArtists.clear(); + mRecommendationAlbumArtsLink.clear(); + mRecommendationAlbumArtsMap.clear(); + QFile file( mRecommendationAlbumArtsName.at( i ) ); + if ( file.exists() ) { + if ( file.remove() ) { + TX_LOG_ARGS( "File removed - " << file.fileName() ); + } + else { + TX_LOG_ARGS( "Cannot remove file - " << file.fileName() ); + } + } else { + TX_LOG_ARGS( "File doesn't exist - " << file.fileName() ); + } + } + TX_EXIT_ARGS("STUB") +} + +/*! + Return recommendation songs + */ +QStringList MpQueryManager::recommendationSongs() +{ + TX_LOG + return mRecommendationSongs; +} + +/*! + Return recommendation artists + */ +QStringList MpQueryManager::recommendationArtists() +{ + TX_LOG + return mRecommendationArtists; +} + +/*! + Return recommendation album arts links + */ +QStringList MpQueryManager::recommendationAlbumArtsLink() +{ + TX_LOG + return mRecommendationAlbumArtsLink; +} + +/*! + Return map of name and pixmap + */ +QMap MpQueryManager::recommendationAlbumArtsMap() +{ + TX_LOG + return mRecommendationAlbumArtsMap; +} + +/*! + Return the number of ready album arts + */ +int &MpQueryManager::albumArtsReadyCount() +{ + TX_LOG + return mAlbumArtsReadyCount; +} + +/*! + Insert one uri & pixmap item into map + */ +void MpQueryManager::insertMapItem( const QString &uri, const QPixmap &pixmap ) +{ + TX_ENTRY_ARGS("STUB Map Item URI: " << uri ); + mRecommendationAlbumArtsMap.insert( uri, pixmap ); + TX_EXIT_ARGS("STUB") +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,8 +16,11 @@ */ -#include -#include +#include +#include +#include +#include +#include #include "stub/inc/thumbnailmanager_qt.h" #include @@ -26,44 +29,14 @@ #include "stub/inc/mpsongdata.h" #include "mptrace.h" - const int KUndefined = -1; -/*! - \class MpSongData - \brief Music Player song metadata. - Song data provide acces to current playing song metadata -*/ - -/*! - \fn void albumArtReady() - - This signal is albuma alrt is ready. - */ - -/*! - \fn void playbackInfoChanged() - - This signal is emitted when basic information is available - */ - -/*! - \fn void songDetailInfoChanged() - - This signal is emitted when detail information is available - */ - - - -/*! - Constructs a new MpSongData. - */ MpSongData::MpSongData( QObject *parent ) : QObject( parent ), - mTitle( NULL ), - mAlbum( NULL ), - mArtist( NULL ), + mTitle( QString( "title" ) ), + mAlbum( QString( "album" ) ), + mArtist( QString( "artist" ) ), mComposer( NULL), mGenre( NULL ), mYear( NULL ), @@ -71,227 +44,218 @@ mAlbumArt(), mReqId( KUndefined ) { - //TX_ENTRY + TX_ENTRY_ARGS("Stub") mThumbnailManager = new ThumbnailManager( this ); mThumbnailManager->setQualityPreference( ThumbnailManager::OptimizeForQuality ); mThumbnailManager->setThumbnailSize( ThumbnailManager::ThumbnailMedium ); QObject::connect( mThumbnailManager, SIGNAL( thumbnailReady( QPixmap , void * , int , int ) ), this, SLOT( thumbnailReady( QPixmap , void * , int , int ) ) ); - mDefaultAlbumArt = QPixmap( ":/detailsviewicons/defaultalbumart.png" ); - //TX_EXIT + TX_EXIT_ARGS("Stub") } -/*! - Constructs a new MpSongData. - */ MpSongData::~MpSongData() { - //TX_ENTRY + TX_ENTRY_ARGS("Stub") if( mThumbnailManager ) { delete mThumbnailManager; } - //TX_EXIT + TX_EXIT_ARGS("Stub") } -/*! - Returns the song album art on \a pixmap. -*/ -void MpSongData::albumArt( QPixmap& pixmap ) +void MpSongData::albumArt( HbIcon& icon ) const { - //TX_ENTRY - if ( !mAlbumArt.isNull() ) { - pixmap = mAlbumArt; - } - else { - pixmap = QPixmap(); - } - //TX_EXIT + TX_ENTRY_ARGS("Stub") + TX_EXIT_ARGS("Stub") } -/*! - Returns the song title. -*/ QString MpSongData::title() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mTitle; } -/*! - Returns the song album. -*/ QString MpSongData::album() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mAlbum; } -/*! - Returns the song artist. -*/ QString MpSongData::artist() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mArtist; } -/*! - Returns comment -*/ QString MpSongData::comment() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mComment; } -/*! - Returns the song composer. -*/ QString MpSongData::composer() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mComposer; } -/*! - Returns the song genre. -*/ QString MpSongData::genre() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mGenre; } -/*! - Returns the album track. -*/ QString MpSongData::albumTrack() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mAlbumTrack; } -/*! - Returns link -*/ QString MpSongData::link() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mLink; } -/*! - Returns the release date. -*/ QString MpSongData::year() const { - //TX_LOG + TX_ENTRY_ARGS("Stub") return mYear; } +QString MpSongData::fileName() const +{ + TX_LOG + return mFileName; +} -/*! - Sets the song \a title, returns true if the value is new. -*/ +QString MpSongData::mimeType() const +{ + TX_LOG + return mMimeType; +} + +QString MpSongData::duration() const +{ + TX_LOG + return mDuration; +} + +QString MpSongData::bitRate() const +{ + TX_LOG + return mBitRate; +} + +QString MpSongData::sampleRate() const +{ + TX_LOG + return mSampleRate; +} + +QString MpSongData::size() const +{ + TX_LOG + return mSize; +} + +QString MpSongData::modified() const +{ + TX_LOG + return mModified; +} + +QString MpSongData::copyright() const +{ + TX_LOG + return mCopyright; +} + +QString MpSongData::musicURL() const +{ + TX_LOG + return mMusicURL; +} + +bool MpSongData::isDrmProtected() const +{ + TX_LOG + return mDrmProtected; +} bool MpSongData::setTitle( const QString &title ) { - //TX_ENTRY_ARGS( "title =" << title ) + TX_ENTRY_ARGS("Stub title =" << title ) bool change = false; if ( title != mTitle ) { change = true; mTitle = title; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the song \a album, returns true if the value is new. -*/ bool MpSongData::setAlbum( const QString &album ) { - //TX_ENTRY_ARGS( "album =" << album ) - bool change = false; - if ( album != mAlbum ) { - change = true; - mAlbum = album; - } - //TX_EXIT - return change; + TX_ENTRY_ARGS("Stub album =" << album ) + TX_EXIT_ARGS("Stub") + return false; } -/*! - Sets the song \a artist, returns true if the value is new. -*/ bool MpSongData::setArtist( const QString &artist ) { - //TX_ENTRY_ARGS( "artist =" << artist ) + TX_ENTRY_ARGS("Stub artist =" << artist ) bool change = false; if ( artist != mArtist ) { change = true; mArtist = artist; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the song \a comment, returns true if the value is new. -*/ bool MpSongData::setComment( const QString &comment) { - //TX_ENTRY_ARGS( "comment =" << comment ) + TX_ENTRY_ARGS("Stub comment =" << comment ) bool change = false; if ( comment != mComment ) { change = true; mComment = comment; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } - -/*! - Sets the song \a composer, returns true if the value is new. -*/ bool MpSongData::setComposer( const QString &composer ) { - //TX_ENTRY_ARGS( "composer =" << composer ) + TX_ENTRY_ARGS("Stub composer =" << composer ) bool change = false; if ( composer != mComposer ) { change = true; mComposer = composer; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the song \a genre, returns true if the value is new. -*/ bool MpSongData::setGenre( const QString &genre ) { - //TX_ENTRY_ARGS( "genre =" << genre ) + TX_ENTRY_ARGS("Stub genre =" << genre ) bool change = false; if ( genre != mGenre ) { change = true; mGenre = genre; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the song \a date, returns true if the value is new. -*/ bool MpSongData::setYear( int year ) { - //TX_ENTRY_ARGS( "year =" << year ) + TX_ENTRY_ARGS("Stub year =" << year ) bool change = false; if ( QString::number(year) != mYear ) { change = true; @@ -299,41 +263,32 @@ mYear = QString::number(year); } } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the \a album track, returns true if the value is new. -*/ bool MpSongData::setAlbumTrack( const QString &track ) { - //TX_ENTRY_ARGS( "track =" << track ) + TX_ENTRY_ARGS("Stub track =" << track ) bool change = false; if ( track != mAlbumTrack ) { change = true; mAlbumTrack = track; } - //TX_EXIT + TX_EXIT_ARGS("Stub") return change; } -/*! - Sets the \a link -*/ void MpSongData::setLink( const QString &link ) { - //TX_ENTRY_ARGS( "Link =" << link ) + TX_ENTRY_ARGS("Stub Link =" << link ) mLink = link; - //TX_EXIT + TX_EXIT_ARGS("Stub") } -/*! - Sets the song \a albumArtUri. -*/ void MpSongData::setAlbumArtUri( const QString &albumArtUri) { - //TX_ENTRY_ARGS( "albumArtUri = " << albumArtUri ) + TX_ENTRY_ARGS("Stub albumArtUri = " << albumArtUri ) if ( !albumArtUri.isEmpty() ) { bool ok = true; if ( mReqId != KUndefined ) { @@ -354,52 +309,191 @@ mAlbumArt = mDefaultAlbumArt; emit albumArtReady(); } - //TX_EXIT + TX_EXIT +} + +bool MpSongData::setFileName( const QString &fileName ) +{ + TX_ENTRY_ARGS( "File name =" << fileName ) + bool change = false; + if ( fileName != mFileName ) { + change = true; + mFileName = fileName; + } + TX_EXIT + return change; +} + +bool MpSongData::setMimeType( const QString &mimeType ) +{ + TX_ENTRY_ARGS( "Mime =" << mimeType ) + bool change = false; + if ( mimeType != mMimeType ) { + change = true; + mMimeType = mimeType; + } + TX_EXIT + return change; +} + +bool MpSongData::setDuration( int duration ) +{ + TX_ENTRY_ARGS( "Duration =" << duration ) + bool change = false; + QString timeFormatOne("%1:%2:%3"); + QString timeFormatTwo("%1:%2"); + if ( QString::number( duration ) != mDuration ) { + change = true; + if ( duration >= 3600 ) { + // more than one hours + QString hourStr, minStr, secStr; + int hour = duration / 3600; + int min = duration % 3600 / 60; + int sec = duration % 3600 % 60; + + hourStr = hour >= 10 ? QString::number( hour ) : QString::number( hour ).prepend( "0" ); + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatOne.arg( hourStr ).arg( minStr ).arg( secStr ); + } else if ( duration >= 60 && duration < 3600 ) { + // more than one min && less than one hour + QString minStr, secStr; + int min = duration / 60; + int sec = duration % 60; + + minStr = min >= 10 ? QString::number( min ) : QString::number( min ).prepend( "0" ); + secStr = sec >= 10 ? QString::number( sec ) : QString::number( sec ).prepend( "0" ); + mDuration = timeFormatTwo.arg( minStr ).arg( secStr ); + } else if ( duration > 0 && duration < 60 ) { + QString secStr; + secStr = duration >= 10 ? QString::number( duration ) : QString::number( duration ).prepend( "0" ); + mDuration = secStr; + } else { + mDuration = QString(); + } + } + TX_EXIT + return change; } +bool MpSongData::setBitRate( int bitRate) +{ + TX_ENTRY_ARGS( "Bit rate =" << bitRate ) + bool change = false; + if ( QString::number( bitRate ) != mBitRate ) { + change = true; + if ( bitRate > 0 ) { + mBitRate = QString::number( bitRate / 1000 ); + } else { + mBitRate = QString(); + } + } + TX_EXIT + return change; +} -/*! - Slot to handle the album art thumb. -*/ +bool MpSongData::setSampleRate( int sampleRate ) +{ + TX_ENTRY_ARGS( "Sample rate =" << sampleRate ) + bool change = false; + if ( QString::number( sampleRate ) != mSampleRate ) { + change = true; + if ( sampleRate > 0 ) { + mSampleRate = QString::number( sampleRate ); + } else { + mSampleRate = QString(); + } + } + TX_EXIT + return change; +} + +bool MpSongData::setSize( int size ) +{ + TX_ENTRY_ARGS( "Size =" << size ) + bool change = false; + if ( QString::number( size ) != mSize ) { + change = true; + mSize = QString::number( size / 1000 ).append( " MB" ); + } + TX_EXIT + return change; +} + +bool MpSongData::setModified( const QString &modified ) +{ + TX_ENTRY_ARGS( "Modified =" << modified ) + bool change = false; + if ( modified != mModified ) { + change = true; + mModified = modified; + } + TX_EXIT + return change; +} + +bool MpSongData::setCopyright( const QString ©right ) +{ + TX_ENTRY_ARGS( "Copyright =" << copyright ) + bool change = false; + if ( copyright != mCopyright ) { + change = true; + mCopyright = copyright; + } + TX_EXIT + return change; +} + +bool MpSongData::setMusicURL( const QString &musicURL ) +{ + TX_ENTRY_ARGS( "Music URL =" << musicURL ) + bool change = false; + if ( musicURL != mMusicURL ) { + change = true; + mMusicURL = musicURL; + } + TX_EXIT + return change; +} + +bool MpSongData::setDrmProtected( bool drmProtected ) +{ + TX_ENTRY_ARGS( "DRM protected =" << drmProtected ) + bool change = false; + if ( drmProtected != mDrmProtected ) { + change = true; + mDrmProtected = drmProtected; + } + TX_EXIT + return change; +} + void MpSongData::thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ) { - //TX_ENTRY + TX_ENTRY_ARGS("Stub") Q_UNUSED( data ); - if ( error == 0 && mReqId == id ) { - mReqId = 0; - mAlbumArt = pixmap; - emit albumArtReady(); - } - else { - mReqId = 0; - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - } + TX_EXIT_ARGS("Stub") +} - //TX_EXIT +void MpSongData::commitPlaybackInfo() +{ + TX_ENTRY_ARGS("Stub") + emit playbackInfoChanged(); + TX_EXIT_ARGS("Stub") } -/*! - Emit signal when playback information changed, such as artist, track name -*/ -void MpSongData::commitPlaybackInfo() +void MpSongData::commitSongDetailInfo() { - //TX_ENTRY - emit playbackInfoChanged(); - //TX_EXIT + TX_ENTRY_ARGS("Stub") + emit songDetailInfoChanged(); + TX_EXIT_ARGS("Stub") } -/*! - Emit signal when song detail information changed -*/ -void MpSongData::commitSongDetailInfo() +QString MpSongData::albumArtBase64() const { - //TX_ENTRY - emit songDetailInfoChanged(); - //TX_EXIT + return QString(); } - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -14,8 +14,9 @@ * Description: ThumbnailManager stub for testing MpSongData * */ -#include +#include #include "stub/inc/thumbnailmanager_qt.h" +#include "mptrace.h" int gInitCounter = 0; @@ -25,6 +26,7 @@ */ int ThumbnailManager::getInitCounter() { + TX_LOG_ARGS("ThumbnailManager::getInitCounter() STUB"); return gInitCounter; } @@ -33,63 +35,52 @@ */ void ThumbnailManager::resetInitCounter() { + TX_LOG_ARGS("ThumbnailManager::resetInitCounter() STUB"); gInitCounter = 0; } -/*! - Stub function. - */ ThumbnailManager::ThumbnailManager( QObject* parentPtr ) : QObject( parentPtr ), mGetThumbFails(false), mThumbnailReqCounter(0), mCancelCounter(0) { + TX_ENTRY_ARGS("Stub") gInitCounter++; } -/*! - Stub function. - */ ThumbnailManager::~ThumbnailManager() { + TX_ENTRY_ARGS("Stub") gInitCounter--; } -/*! - Stub function. - */ bool ThumbnailManager::setMode( ThumbnailMode mode ) { + TX_ENTRY_ARGS("Stub") Q_UNUSED(mode); return true; } -/*! - Stub function. - */ bool ThumbnailManager::setQualityPreference( QualityPreference qualityPreference ) { + TX_ENTRY_ARGS("Stub") Q_UNUSED(qualityPreference); return true; } -/*! - Stub function. - */ bool ThumbnailManager::setThumbnailSize( ThumbnailSize thumbnailSize ) { + TX_ENTRY_ARGS("Stub") Q_UNUSED(thumbnailSize); return true; } -/*! - Stub function. - */ int ThumbnailManager::getThumbnail( const QString& fileName, void *clientData, int priority ) { + TX_ENTRY_ARGS("Stub") Q_UNUSED(fileName); Q_UNUSED(priority); @@ -109,11 +100,9 @@ return mThumbnailReqCounter; } -/*! - Stub function. - */ bool ThumbnailManager::cancelRequest( int id ) { + TX_ENTRY_ARGS("Stub") Q_UNUSED(id); mCancelCounter++; return true; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/unittest_mpdetailsview.pro --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/unittest_mpdetailsview.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/unittest_mpdetailsview.pro Thu Jul 22 16:32:33 2010 +0100 @@ -1,10 +1,23 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Tue 9. Mar 14:34:59 2010 -###################################################################### +# +# 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: +# TEMPLATE = app -CONFIG += qtestlib hb - +CONFIG += qtestlib \ + symbian_test \ + hb QT += webkit \ network \ xml @@ -13,24 +26,33 @@ DEPENDPATH += . INCLUDEPATH += ./stub/inc \ ../../inc \ - ../../../../inc \ + ../../../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lmpxviewframeworkqt.dll +LIBS += -lmpxviewframeworkqt.dll \ + -lmpsettingsmanager.dll # Input HEADERS += inc/unittest_mpdetailsview.h \ ../../inc/mpdetailsview.h \ - stub/inc/mpmpxdetailsframeworkwrapper.h \ + stub/inc/mpquerymanager.h \ + stub/inc/mpengine.h \ + stub/inc/mpenginefactory.h \ stub/inc/mpsongdata.h \ - stub/inc/thumbnailmanager_qt.h + stub/inc/thumbnailmanager_qt.h \ + stub/inc/mpdetailssharedialog.h \ + ../../../../inc/mpviewbase.h + SOURCES += src/unittest_mpdetailsview.cpp \ ../../src/mpdetailsview.cpp \ - stub/src/mpmpxdetailsframeworkwrapper.cpp \ + stub/src/mpquerymanager.cpp \ + stub/src/mpengine.cpp \ + stub/src/mpenginefactory.cpp \ stub/src/mpsongdata.cpp \ - stub/src/thumbnailmanager_qt.cpp + stub/src/thumbnailmanager_qt.cpp \ + stub/src/mpdetailssharedialog.cpp -RESOURCES += ../../resources/mpdetailsviewresources.qrc \ No newline at end of file +RESOURCES += ../../resources/mpdetailsviewresources.qrc diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/CTCHTML.zip Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/CTCHTML.zip has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.dat Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.dat has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.sym --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.sym Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,444 +0,0 @@ -CTC++ sym 5.0 -Fri Mar 12 15:15:16 2010 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsviewplugin.cpp -3 1268393482 -0 0 55 0 MpDetailsViewPlugin::getStaticMetaObject -0 90 0 0 ( ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\../../inc/mpdetailsviewplugin.h -0 13 55 1 staticMetaObject -1 0 58 0 MpDetailsViewPlugin::metaObject -0 90 0 0 ( ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\../../inc/mpdetailsviewplugin.h -0 25 60 1 QObject::d_ptr -> metaObject -1 13 60 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 63 0 MpDetailsViewPlugin::qt_metacast -0 90 0 0 ( const char * ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\../../inc/mpdetailsviewplugin.h -1 20 65 1 ! _clname -2 13 65 2 0 -2 20 66 1 ! strcmp ( _clname , qt_meta_stringdata_MpDetailsViewPlugin ) -3 13 67 2 static_cast < void * > ( const_cast < MpDetailsViewPlugin * > ( this ) ) -4 13 68 1 MpxViewPlugin::qt_metacast ( _clname ) -3 0 71 0 MpDetailsViewPlugin::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\../../inc/mpdetailsviewplugin.h -3 20 74 1 _id < 0 -5 13 75 2 _id -4 20 76 1 _c == QMetaObject::InvokeMetaMethod -0 1 77 2 switch ( _id ) -6 14 78 2 0 -7 12 78 3 -8 14 79 2 1 -9 12 79 3 -10 14 80 2 2 -11 12 80 3 -12 15 81 2 -13 13 85 1 _id -4 0 89 0 MpDetailsViewPlugin::command -0 90 0 0 ( int command ) -0 91 43 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\../../inc/mpdetailsviewplugin.h -%94,5,14,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsview.cpp -3 1268393482 -0 0 49 0 MpDetailsView::getStaticMetaObject -0 90 0 0 ( ) -0 91 26 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\stub/inc/mpdetailsview.h -0 13 49 1 staticMetaObject -1 0 52 0 MpDetailsView::metaObject -0 90 0 0 ( ) -0 91 26 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\stub/inc/mpdetailsview.h -0 25 54 1 QObject::d_ptr -> metaObject -1 13 54 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 57 0 MpDetailsView::qt_metacast -0 90 0 0 ( const char * ) -0 91 26 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\stub/inc/mpdetailsview.h -1 20 59 1 ! _clname -2 13 59 2 0 -2 20 60 1 ! strcmp ( _clname , qt_meta_stringdata_MpDetailsView ) -3 13 61 2 static_cast < void * > ( const_cast < MpDetailsView * > ( this ) ) -4 13 62 1 QGraphicsWidget::qt_metacast ( _clname ) -3 0 65 0 MpDetailsView::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 26 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\stub/inc/mpdetailsview.h -3 20 68 1 _id < 0 -5 13 69 2 _id -4 20 70 1 _c == QMetaObject::InvokeMetaMethod -0 1 71 2 switch ( _id ) -6 14 72 2 0 -7 12 72 3 -8 15 73 2 -9 13 77 1 _id -4 0 81 0 MpDetailsView::command -0 90 0 0 ( int cmd ) -0 91 40 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\stub/inc/mpdetailsview.h -%86,5,10,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp -3 1268393482 -0 0 42 0 MpDetailsViewPlugin::MpDetailsViewPlugin -0 90 0 0 ( ) -0 91 33 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -1 0 52 0 MpDetailsViewPlugin::~MpDetailsViewPlugin -0 90 0 0 ( ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -2 0 60 0 MpDetailsViewPlugin::createView -0 90 0 0 ( ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -0 20 63 1 mState == NullView -3 0 74 0 MpDetailsViewPlugin::destroyView -0 90 0 0 ( ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -1 20 77 1 mState != NullView -4 0 88 0 MpDetailsViewPlugin::activateView -0 90 0 0 ( ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -0 1 91 1 switch ( mState ) -0 14 92 1 Created -1 12 96 2 -2 14 97 1 Initialized -3 12 100 2 -4 15 101 1 -5 12 103 2 -5 0 111 0 MpDetailsViewPlugin::deactivateView -0 90 0 0 ( ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -2 20 114 1 mState == Activated -6 0 127 0 MpDetailsViewPlugin::getView -0 90 0 0 ( ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -6 13 130 1 mView -7 0 138 0 MpDetailsViewPlugin::orientationChange -0 90 0 0 ( Qt::Orientation orientation ) -0 91 46 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -8 0 149 0 MpDetailsViewPlugin::back -0 90 0 0 ( ) -0 91 47 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h -9 0 155 0 CmpdetailsviewpluginFactory::NewL -0 90 0 0 ( ) -0 91 155 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\src\mpdetailsviewplugin.cpp -7 13 155 1 new ( ELeave ) CmpdetailsviewpluginFactory -10 0 155 0 CmpdetailsviewpluginFactory::constructPlugin -0 90 0 0 ( ) -0 91 155 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\src\mpdetailsviewplugin.cpp -8 13 155 1 new MpDetailsViewPlugin -%156,11,9,3,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_unittest_mpdetailsviewplugin.cpp -3 1268393482 -0 0 62 0 TestMpDetailsViewPlugin::getStaticMetaObject -0 90 0 0 ( ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\inc/unittest_mpdetailsviewplugin.h -0 13 62 1 staticMetaObject -1 0 65 0 TestMpDetailsViewPlugin::metaObject -0 90 0 0 ( ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\inc/unittest_mpdetailsviewplugin.h -0 25 67 1 QObject::d_ptr -> metaObject -1 13 67 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 70 0 TestMpDetailsViewPlugin::qt_metacast -0 90 0 0 ( const char * ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\inc/unittest_mpdetailsviewplugin.h -1 20 72 1 ! _clname -2 13 72 2 0 -2 20 73 1 ! strcmp ( _clname , qt_meta_stringdata_TestMpDetailsViewPlugin ) -3 13 74 2 static_cast < void * > ( const_cast < TestMpDetailsViewPlugin * > ( this ) ) -4 13 75 1 QObject::qt_metacast ( _clname ) -3 0 78 0 TestMpDetailsViewPlugin::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\inc/unittest_mpdetailsviewplugin.h -3 20 81 1 _id < 0 -5 13 82 2 _id -4 20 83 1 _c == QMetaObject::InvokeMetaMethod -0 1 84 2 switch ( _id ) -6 14 85 2 0 -7 12 85 3 -8 14 86 2 1 -9 12 86 3 -10 14 87 2 2 -11 12 87 3 -12 14 88 2 3 -13 12 88 3 -14 14 89 2 4 -15 12 89 3 -16 14 90 2 5 -17 12 90 3 -18 14 91 2 6 -19 12 91 3 -20 14 92 2 7 -21 12 92 3 -22 14 93 2 8 -23 12 93 3 -24 14 94 2 9 -25 12 94 3 -26 15 95 2 -27 13 99 1 _id -%101,4,28,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp -3 1268393485 -0 0 36 0 main -0 90 0 0 ( int argc , char * argv [ ] ) -0 91 36 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpdetailsviewplugin\src\unittest_mpdetailsviewplugin.cpp -0 13 49 1 res -1 0 52 0 TestMpDetailsViewPlugin::TestMpDetailsViewPlugin -0 90 0 0 ( ) -0 91 31 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -2 0 57 0 TestMpDetailsViewPlugin::~TestMpDetailsViewPlugin -0 90 0 0 ( ) -0 91 32 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -3 0 65 0 TestMpDetailsViewPlugin::initTestCase -0 90 0 0 ( ) -0 91 35 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -4 0 72 0 TestMpDetailsViewPlugin::cleanupTestCase -0 90 0 0 ( ) -0 91 36 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -5 0 79 0 TestMpDetailsViewPlugin::init -0 90 0 0 ( ) -0 91 37 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -6 0 87 0 TestMpDetailsViewPlugin::cleanup -0 90 0 0 ( ) -0 91 38 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -7 0 96 0 TestMpDetailsViewPlugin::testConstructor -0 90 0 0 ( ) -0 91 41 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 98 1 do -0 20 98 2 ! QTest::qVerify ( ( ! mTest -> mView ) , "!mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 98 ) -1 13 98 3 -0 1 98 1 while ( 0 ) -0 1 99 1 do -1 20 99 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::NullView , "mTest->mState" , "MpDetailsViewPlugin::NullView" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 99 ) -2 13 99 3 -0 1 99 1 while ( 0 ) -8 0 105 0 TestMpDetailsViewPlugin::testCreateView -0 90 0 0 ( ) -0 91 42 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 108 1 do -2 20 108 2 ! QTest::qVerify ( ( mTest -> mView ) , "mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 108 ) -3 13 108 3 -0 1 108 1 while ( 0 ) -0 1 109 1 do -3 20 109 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Created , "mTest->mState" , "MpDetailsViewPlugin::Created" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 109 ) -4 13 109 3 -0 1 109 1 while ( 0 ) -0 1 112 1 do -4 20 112 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 112 ) -5 13 112 3 -0 1 112 1 while ( 0 ) -0 1 113 1 do -5 20 113 2 ! QTest::qCompare ( spy . at ( 0 ) . at ( 0 ) , QVariant ( 123 ) , "spy.at( 0 ).at( 0 )" , "QVariant( 123 )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 113 ) -6 13 113 3 -0 1 113 1 while ( 0 ) -0 1 115 1 do -6 20 115 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 115 ) -7 13 115 3 -0 1 115 1 while ( 0 ) -0 1 116 1 do -7 20 116 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 116 ) -8 13 116 3 -0 1 116 1 while ( 0 ) -0 1 117 1 do -8 20 117 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 117 ) -9 13 117 3 -0 1 117 1 while ( 0 ) -9 0 127 0 TestMpDetailsViewPlugin::testdestroyView -0 90 0 0 ( ) -0 91 43 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 132 1 do -9 20 132 2 ! QTest::qVerify ( ( ! mTest -> mView ) , "!mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 132 ) -10 13 132 3 -0 1 132 1 while ( 0 ) -0 1 137 1 do -10 20 137 2 ! QTest::qVerify ( ( ! mTest -> mView ) , "!mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 137 ) -11 13 137 3 -0 1 137 1 while ( 0 ) -0 1 142 1 do -11 20 142 2 ! QTest::qVerify ( ( ! mTest -> mView ) , "!mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 142 ) -12 13 142 3 -0 1 142 1 while ( 0 ) -0 1 147 1 do -12 20 147 2 ! QTest::qVerify ( ( mTest -> mView ) , "mTest->mView" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 147 ) -13 13 147 3 -0 1 147 1 while ( 0 ) -0 1 149 1 do -13 20 149 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 149 ) -14 13 149 3 -0 1 149 1 while ( 0 ) -0 1 150 1 do -14 20 150 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 150 ) -15 13 150 3 -0 1 150 1 while ( 0 ) -0 1 151 1 do -15 20 151 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 151 ) -16 13 151 3 -0 1 151 1 while ( 0 ) -10 0 160 0 TestMpDetailsViewPlugin::testActivateView -0 90 0 0 ( ) -0 91 44 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 164 1 do -16 20 164 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::NullView , "mTest->mState" , "MpDetailsViewPlugin::NullView" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 164 ) -17 13 164 3 -0 1 164 1 while ( 0 ) -0 1 169 1 do -17 20 169 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::NullView , "mTest->mState" , "MpDetailsViewPlugin::NullView" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 169 ) -18 13 169 3 -0 1 169 1 while ( 0 ) -0 1 170 1 do -18 20 170 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 170 ) -19 13 170 3 -0 1 170 1 while ( 0 ) -0 1 171 1 do -19 20 171 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 171 ) -20 13 171 3 -0 1 171 1 while ( 0 ) -0 1 172 1 do -20 20 172 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 172 ) -21 13 172 3 -0 1 172 1 while ( 0 ) -0 1 177 1 do -21 20 177 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Activated , "mTest->mState" , "MpDetailsViewPlugin::Activated" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 177 ) -22 13 177 3 -0 1 177 1 while ( 0 ) -0 1 178 1 do -22 20 178 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 178 ) -23 13 178 3 -0 1 178 1 while ( 0 ) -0 1 179 1 do -23 20 179 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 179 ) -24 13 179 3 -0 1 179 1 while ( 0 ) -0 1 180 1 do -24 20 180 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 180 ) -25 13 180 3 -0 1 180 1 while ( 0 ) -0 1 185 1 do -25 20 185 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Activated , "mTest->mState" , "MpDetailsViewPlugin::Activated" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 185 ) -26 13 185 3 -0 1 185 1 while ( 0 ) -0 1 186 1 do -26 20 186 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 1 , "mTest->mView->mInitializeViewCount" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 186 ) -27 13 186 3 -0 1 186 1 while ( 0 ) -0 1 187 1 do -27 20 187 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 1 , "mTest->mView->mActivateViewCount" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 187 ) -28 13 187 3 -0 1 187 1 while ( 0 ) -0 1 188 1 do -28 20 188 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 188 ) -29 13 188 3 -0 1 188 1 while ( 0 ) -0 1 193 1 do -29 20 193 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Activated , "mTest->mState" , "MpDetailsViewPlugin::Activated" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 193 ) -30 13 193 3 -0 1 193 1 while ( 0 ) -0 1 194 1 do -30 20 194 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 194 ) -31 13 194 3 -0 1 194 1 while ( 0 ) -0 1 195 1 do -31 20 195 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 1 , "mTest->mView->mActivateViewCount" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 195 ) -32 13 195 3 -0 1 195 1 while ( 0 ) -0 1 196 1 do -32 20 196 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 196 ) -33 13 196 3 -0 1 196 1 while ( 0 ) -11 0 205 0 TestMpDetailsViewPlugin::testDeactivateView -0 90 0 0 ( ) -0 91 45 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 209 1 do -33 20 209 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::NullView , "mTest->mState" , "MpDetailsViewPlugin::NullView" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 209 ) -34 13 209 3 -0 1 209 1 while ( 0 ) -0 1 214 1 do -34 20 214 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::NullView , "mTest->mState" , "MpDetailsViewPlugin::NullView" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 214 ) -35 13 214 3 -0 1 214 1 while ( 0 ) -0 1 215 1 do -35 20 215 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 215 ) -36 13 215 3 -0 1 215 1 while ( 0 ) -0 1 216 1 do -36 20 216 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 216 ) -37 13 216 3 -0 1 216 1 while ( 0 ) -0 1 217 1 do -37 20 217 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 217 ) -38 13 217 3 -0 1 217 1 while ( 0 ) -0 1 222 1 do -38 20 222 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Created , "mTest->mState" , "MpDetailsViewPlugin::Created" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 222 ) -39 13 222 3 -0 1 222 1 while ( 0 ) -0 1 223 1 do -39 20 223 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 223 ) -40 13 223 3 -0 1 223 1 while ( 0 ) -0 1 224 1 do -40 20 224 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 224 ) -41 13 224 3 -0 1 224 1 while ( 0 ) -0 1 225 1 do -41 20 225 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 225 ) -42 13 225 3 -0 1 225 1 while ( 0 ) -0 1 230 1 do -42 20 230 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Initialized , "mTest->mState" , "MpDetailsViewPlugin::Initialized" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 230 ) -43 13 230 3 -0 1 230 1 while ( 0 ) -0 1 231 1 do -43 20 231 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 231 ) -44 13 231 3 -0 1 231 1 while ( 0 ) -0 1 232 1 do -44 20 232 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 232 ) -45 13 232 3 -0 1 232 1 while ( 0 ) -0 1 233 1 do -45 20 233 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 0 , "mTest->mView->mDeactivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 233 ) -46 13 233 3 -0 1 233 1 while ( 0 ) -0 1 238 1 do -46 20 238 2 ! QTest::qCompare ( mTest -> mState , MpDetailsViewPlugin::Initialized , "mTest->mState" , "MpDetailsViewPlugin::Initialized" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 238 ) -47 13 238 3 -0 1 238 1 while ( 0 ) -0 1 239 1 do -47 20 239 2 ! QTest::qCompare ( mTest -> mView -> mInitializeViewCount , 0 , "mTest->mView->mInitializeViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 239 ) -48 13 239 3 -0 1 239 1 while ( 0 ) -0 1 240 1 do -48 20 240 2 ! QTest::qCompare ( mTest -> mView -> mActivateViewCount , 0 , "mTest->mView->mActivateViewCount" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 240 ) -49 13 240 3 -0 1 240 1 while ( 0 ) -0 1 241 1 do -49 20 241 2 ! QTest::qCompare ( mTest -> mView -> mDeactivateViewCount , 1 , "mTest->mView->mDeactivateViewCount" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 241 ) -50 13 241 3 -0 1 241 1 while ( 0 ) -12 0 247 0 TestMpDetailsViewPlugin::testGetView -0 90 0 0 ( ) -0 91 46 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h -0 1 252 1 do -50 20 252 2 ! QTest::qCompare ( int ( tmpView ) , int ( mTest -> getView ( ) ) , "int( tmpView )" , "int( mTest->getView() )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpdetailsviewplugin\\src\\unittest_mpdetailsviewplugin.cpp" , 252 ) -51 13 252 3 -0 1 252 1 while ( 0 ) -%257,13,52,51,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp -3 1268393485 -0 0 24 0 MpDetailsView::MpDetailsView -0 90 0 0 ( ) -0 91 29 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -1 0 34 0 MpDetailsView::~MpDetailsView -0 90 0 0 ( ) -0 91 30 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -2 0 41 0 MpDetailsView::initializeView -0 90 0 0 ( ) -0 91 32 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -3 0 49 0 MpDetailsView::activateView -0 90 0 0 ( ) -0 91 33 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -4 0 57 0 MpDetailsView::deactivateView -0 90 0 0 ( ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -5 0 65 0 MpDetailsView::resetCounters -0 90 0 0 ( ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -6 0 75 0 MpDetailsView::emitCommand -0 90 0 0 ( int cmd ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h -%78,7,0,0,0,0 -END OF SYMBOLFILE diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.pkg --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.pkg Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -1,12 +1,23 @@ -; unittest_mpmpxpbframeworkwrapper_template.pkg generated by qmake at 2010-03-07T16:15:41 -; This file is generated by qmake and should not be modified by the user +; +; 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: +; ; Language &EN ; SIS header: name, uid, version -#{"unittest_mpdetailsviewplugin"},(0xE003e880),1,0,0 +#{"unittest_mpdetailsviewplugin"},(0xE003e881),1,0,0 ; Localised Vendor name %{"Vendor"} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.sisx Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.sisx has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcdata.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcdata.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,652 +0,0 @@ - - -CTCRTS: Write coverage data to file 2010-03-12 13:39:14 - -CTCDATA: - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcerr.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcerr.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1513 +0,0 @@ - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/ -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/includ -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5128.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2080.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1396.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4240.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5692.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1996.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsviewplugin{000a0000}[efb642d8].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/xqplugins.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[34]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[35]: Z:/epoc32/release/armv5/lib/libc.dso -argv[36]: Z:/epoc32/release/armv5/lib/libm.dso -argv[37]: Z:/epoc32/release/armv5/lib/euser.dso -argv[38]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[39]: Z:/epoc32/release/armv5/lib/cone.dso -argv[40]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[41]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[43]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[44]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[45]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[46]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[47]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[48]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[49]: Z:/epoc32/release/armv5/lib/hal.dso -argv[50]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[51]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[52]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[53]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[56]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[57]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5048.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp - -gins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_unittest_mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5496.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5960.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5952.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4748.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5892.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5804.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsviewplugin{000a0000}[efb642d8].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/xqplugins.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[34]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[35]: Z:/epoc32/release/armv5/lib/libc.dso -argv[36]: Z:/epoc32/release/armv5/lib/libm.dso -argv[37]: Z:/epoc32/release/armv5/lib/euser.dso -argv[38]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[39]: Z:/epoc32/release/armv5/lib/cone.dso -argv[40]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[41]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[43]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[44]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[45]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[46]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[47]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[48]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[49]: Z:/epoc32/release/armv5/lib/hal.dso -argv[50]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[51]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[52]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[53]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[56]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[57]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-3332.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/moc_mpdetailsview.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/moc_mpdetailsview.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugiv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/moc_mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/moc_mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsviewplugin.cpp - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp - -gins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_unittest_mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4956.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5668.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3204.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4652.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4356.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/mpdetailsview.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5236.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpdetailsviewplugin{000a0000}[efb642d8].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpdetailsviewplugin.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpdetailsviewplugin/c_0aff2bab8ac9e677/unittest_mpdetailsviewplugin_exe/armv5/udeb/unittest_mpdetailsviewplugin_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/xqplugins.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[34]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[35]: Z:/epoc32/release/armv5/lib/libc.dso -argv[36]: Z:/epoc32/release/armv5/lib/libm.dso -argv[37]: Z:/epoc32/release/armv5/lib/euser.dso -argv[38]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[39]: Z:/epoc32/release/armv5/lib/cone.dso -argv[40]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[41]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[43]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[44]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[45]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[46]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[47]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[48]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[49]: Z:/epoc32/release/armv5/lib/hal.dso -argv[50]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[51]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[52]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[53]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[55]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[56]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[57]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5620.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/profile.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/profile.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,616 +0,0 @@ -***************************************************************************** -* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * -* * -* EXECUTION PROFILE LISTING * -* * -* Copyright (c) 1993-2009 Testwell Oy * -***************************************************************************** - - -Symbol file(s) used : MON.sym (Fri Mar 12 15:15:16 2010) -Data file(s) used : MON.dat (Fri Mar 12 15:56:49 2010) -Listing produced at : Fri Mar 12 16:00:41 2010 -Coverage view : As instrumented - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsviewplugin.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 55 FUNCTION MpDetailsViewPlugin::getStaticMetaObject() - 0 - 55 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpDetailsViewPlugin::getStaticMetaObject() ------------------------------------------------------------------------------ - - 12 0 58 FUNCTION MpDetailsViewPlugin::metaObject() - 0 12 - 60 ternary-?: QObject::d_ptr -> metaObject - 12 60 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION MpDetailsViewPlugin::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 63 FUNCTION MpDetailsViewPlugin::qt_metacast() - 0 0 - 65 if (! _clname) - 0 - 65 return 0 - 0 0 - 66 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 67 return static_cast < void * > ( const_cast <.. - 0 - 68 return MpxViewPlugin::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpDetailsViewPlugin::qt_metacast() ------------------------------------------------------------------------------ - - 4 0 71 FUNCTION MpDetailsViewPlugin::qt_metacall() - 0 4 - 74 if (_id < 0) - 0 - 75 return _id - 4 0 - 76 if (_c == QMetaObject::InvokeMetaMethod) - 77 switch ( _id ) - 4 78 case 0: - 4 78 break - 0 - 79 case 1: - 0 - 79 break - 0 - 80 case 2: - 0 - 80 break - 0 - 81 default: - 4 85 return _id - -***TER 43 % ( 6/ 14) of FUNCTION MpDetailsViewPlugin::qt_metacall() ------------------------------------------------------------------------------ - - 4 4 89 FUNCTION MpDetailsViewPlugin::command() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsViewPlugin::command() ------------------------------------------------------------------------------ - - -***TER 34 % ( 10/ 29) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsviewplugin.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 49 FUNCTION MpDetailsView::getStaticMetaObject() - 0 - 49 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpDetailsView::getStaticMetaObject() ------------------------------------------------------------------------------ - - 8 0 52 FUNCTION MpDetailsView::metaObject() - 0 8 - 54 ternary-?: QObject::d_ptr -> metaObject - 8 54 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION MpDetailsView::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 57 FUNCTION MpDetailsView::qt_metacast() - 0 0 - 59 if (! _clname) - 0 - 59 return 0 - 0 0 - 60 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 61 return static_cast < void * > ( const_cast <.. - 0 - 62 return QGraphicsWidget::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpDetailsView::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 65 FUNCTION MpDetailsView::qt_metacall() - 0 0 - 68 if (_id < 0) - 0 - 69 return _id - 0 0 - 70 if (_c == QMetaObject::InvokeMetaMethod) - 71 switch ( _id ) - 0 - 72 case 0: - 0 - 72 break - 0 - 73 default: - 0 - 77 return _id - -***TER 0 % ( 0/ 10) of FUNCTION MpDetailsView::qt_metacall() ------------------------------------------------------------------------------ - - 4 4 81 FUNCTION MpDetailsView::command() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::command() ------------------------------------------------------------------------------ - - -***TER 16 % ( 4/ 25) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_mpdetailsview.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 24 24 42 FUNCTION MpDetailsViewPlugin::MpDetailsViewPlugin() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsViewPlugin::MpDetailsViewPlugin() ------------------------------------------------------------------------------ - - 24 24 52 FUNCTION MpDetailsViewPlugin::~MpDetailsViewPlugin() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsViewPlugin::~MpDetailsViewPlugin() ------------------------------------------------------------------------------ - - 4 4 60 FUNCTION MpDetailsViewPlugin::createView() - 4 0 - 63 if (mState == NullView) - -***TER 67 % ( 2/ 3) of FUNCTION MpDetailsViewPlugin::createView() ------------------------------------------------------------------------------ - - 16 16 74 FUNCTION MpDetailsViewPlugin::destroyView() - 12 4 77 if (mState != NullView) - -***TER 100 % ( 3/ 3) of FUNCTION MpDetailsViewPlugin::destroyView() ------------------------------------------------------------------------------ - - 20 20 88 FUNCTION MpDetailsViewPlugin::activateView() - 91 switch ( mState ) - 4 92 case Created: - 4 96 break - 4 97 case Initialized: - 4 100 break - 12 101 default: - 12 103 break - -***TER 100 % ( 7/ 7) of FUNCTION MpDetailsViewPlugin::activateView() ------------------------------------------------------------------------------ - - 20 20 111 FUNCTION MpDetailsViewPlugin::deactivateView() - 4 16 114 if (mState == Activated) - -***TER 100 % ( 3/ 3) of FUNCTION MpDetailsViewPlugin::deactivateView() ------------------------------------------------------------------------------ - - 4 0 127 FUNCTION MpDetailsViewPlugin::getView() - 4 130 return mView - -***TER 100 % ( 2/ 2) of FUNCTION MpDetailsViewPlugin::getView() ------------------------------------------------------------------------------ - - 0 0 - 138 FUNCTION MpDetailsViewPlugin::orientationChange() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsViewPlugin::orientationChange() ------------------------------------------------------------------------------ - - 0 0 - 149 FUNCTION MpDetailsViewPlugin::back() - -***TER 0 % ( 0/ 1) of FUNCTION MpDetailsViewPlugin::back() ------------------------------------------------------------------------------ - - 0 0 - 155 FUNCTION CmpdetailsviewpluginFactory::NewL() - 0 - 155 return new ( ELeave ) CmpdetailsviewpluginFact.. - -***TER 0 % ( 0/ 2) of FUNCTION CmpdetailsviewpluginFactory::NewL() ------------------------------------------------------------------------------ - - 0 0 - 155 FUNCTION CmpdetailsviewpluginFactory::constructPlugin() - 0 - 155 return new MpDetailsViewPlugin - -***TER 0 % ( 0/ 2) of FUNCTION CmpdetailsviewpluginFactory::constructPlugin() ------------------------------------------------------------------------------ - - -***TER 73 % ( 19/ 26) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_unittest_mpdetailsviewplugin.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 62 FUNCTION TestMpDetailsViewPlugin::getStaticMetaObject() - 0 - 62 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION TestMpDetailsViewPlugin::getStaticMetaObject() ------------------------------------------------------------------------------ - - 304 0 65 FUNCTION TestMpDetailsViewPlugin::metaObject() - 0 304 - 67 ternary-?: QObject::d_ptr -> metaObject - 304 67 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION TestMpDetailsViewPlugin::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 70 FUNCTION TestMpDetailsViewPlugin::qt_metacast() - 0 0 - 72 if (! _clname) - 0 - 72 return 0 - 0 0 - 73 if (! strcmp ( _clname , qt_meta_stringdata_Te.. - 0 - 74 return static_cast < void * > ( const_cast <.. - 0 - 75 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION TestMpDetailsViewPlugin::qt_metacast() ------------------------------------------------------------------------------ - - 80 0 78 FUNCTION TestMpDetailsViewPlugin::qt_metacall() - 0 80 - 81 if (_id < 0) - 0 - 82 return _id - 80 0 - 83 if (_c == QMetaObject::InvokeMetaMethod) - 84 switch ( _id ) - 4 85 case 0: - 4 85 break - 4 86 case 1: - 4 86 break - 24 87 case 2: - 24 87 break - 24 88 case 3: - 24 88 break - 4 89 case 4: - 4 89 break - 4 90 case 5: - 4 90 break - 4 91 case 6: - 4 91 break - 4 92 case 7: - 4 92 break - 4 93 case 8: - 4 93 break - 4 94 case 9: - 4 94 break - 0 - 95 default: - 80 99 return _id - -***TER 86 % ( 24/ 28) of FUNCTION TestMpDetailsViewPlugin::qt_metacall() ------------------------------------------------------------------------------ - - -***TER 64 % ( 27/ 42) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/moc_unittest_mpdetailsviewplugin.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 4 0 36 FUNCTION main() - 4 49 return res - -***TER 100 % ( 2/ 2) of FUNCTION main() ------------------------------------------------------------------------------ - - 4 4 52 FUNCTION TestMpDetailsViewPlugin::TestMpDetailsViewPlugin() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::TestMpDetailsViewPlugin() ------------------------------------------------------------------------------ - - 4 4 57 FUNCTION TestMpDetailsViewPlugin::~TestMpDetailsViewPlugin() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::~TestMpDetailsViewPlugin() ------------------------------------------------------------------------------ - - 4 4 65 FUNCTION TestMpDetailsViewPlugin::initTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::initTestCase() ------------------------------------------------------------------------------ - - 4 4 72 FUNCTION TestMpDetailsViewPlugin::cleanupTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::cleanupTestCase() ------------------------------------------------------------------------------ - - 24 24 79 FUNCTION TestMpDetailsViewPlugin::init() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::init() ------------------------------------------------------------------------------ - - 24 24 87 FUNCTION TestMpDetailsViewPlugin::cleanup() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpDetailsViewPlugin::cleanup() ------------------------------------------------------------------------------ - - 4 4 96 FUNCTION TestMpDetailsViewPlugin::testConstructor() - 98 do - 0 4 - 98 if (! QTest::qVerify ( ( ! mTest -> mView ) .. - 0 - 98 return - 98 while ( 0 ) - 99 do - 0 4 - 99 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 99 return - 99 while ( 0 ) - -***TER 43 % ( 3/ 7) of FUNCTION TestMpDetailsViewPlugin::testConstructor() ------------------------------------------------------------------------------ - - 4 4 105 FUNCTION TestMpDetailsViewPlugin::testCreateView() - 108 do - 0 4 - 108 if (! QTest::qVerify ( ( mTest -> mView ) , .. - 0 - 108 return - 108 while ( 0 ) - 109 do - 0 4 - 109 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 109 return - 109 while ( 0 ) - 112 do - 0 4 - 112 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 112 return - 112 while ( 0 ) - 113 do - 0 4 - 113 if (! QTest::qCompare ( spy . at ( 0 ) . at .. - 0 - 113 return - 113 while ( 0 ) - 115 do - 0 4 - 115 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 115 return - 115 while ( 0 ) - 116 do - 0 4 - 116 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 116 return - 116 while ( 0 ) - 117 do - 0 4 - 117 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 117 return - 117 while ( 0 ) - -***TER 36 % ( 8/ 22) of FUNCTION TestMpDetailsViewPlugin::testCreateView() ------------------------------------------------------------------------------ - - 4 4 127 FUNCTION TestMpDetailsViewPlugin::testdestroyView() - 132 do - 0 4 - 132 if (! QTest::qVerify ( ( ! mTest -> mView ) .. - 0 - 132 return - 132 while ( 0 ) - 137 do - 0 4 - 137 if (! QTest::qVerify ( ( ! mTest -> mView ) .. - 0 - 137 return - 137 while ( 0 ) - 142 do - 0 4 - 142 if (! QTest::qVerify ( ( ! mTest -> mView ) .. - 0 - 142 return - 142 while ( 0 ) - 147 do - 0 4 - 147 if (! QTest::qVerify ( ( mTest -> mView ) , .. - 0 - 147 return - 147 while ( 0 ) - 149 do - 0 4 - 149 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 149 return - 149 while ( 0 ) - 150 do - 0 4 - 150 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 150 return - 150 while ( 0 ) - 151 do - 0 4 - 151 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 151 return - 151 while ( 0 ) - -***TER 36 % ( 8/ 22) of FUNCTION TestMpDetailsViewPlugin::testdestroyView() ------------------------------------------------------------------------------ - - 4 4 160 FUNCTION TestMpDetailsViewPlugin::testActivateView() - 164 do - 0 4 - 164 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 164 return - 164 while ( 0 ) - 169 do - 0 4 - 169 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 169 return - 169 while ( 0 ) - 170 do - 0 4 - 170 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 170 return - 170 while ( 0 ) - 171 do - 0 4 - 171 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 171 return - 171 while ( 0 ) - 172 do - 0 4 - 172 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 172 return - 172 while ( 0 ) - 177 do - 0 4 - 177 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 177 return - 177 while ( 0 ) - 178 do - 0 4 - 178 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 178 return - 178 while ( 0 ) - 179 do - 0 4 - 179 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 179 return - 179 while ( 0 ) - 180 do - 0 4 - 180 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 180 return - 180 while ( 0 ) - 185 do - 0 4 - 185 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 185 return - 185 while ( 0 ) - 186 do - 0 4 - 186 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 186 return - 186 while ( 0 ) - 187 do - 0 4 - 187 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 187 return - 187 while ( 0 ) - 188 do - 0 4 - 188 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 188 return - 188 while ( 0 ) - 193 do - 0 4 - 193 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 193 return - 193 while ( 0 ) - 194 do - 0 4 - 194 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 194 return - 194 while ( 0 ) - 195 do - 0 4 - 195 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 195 return - 195 while ( 0 ) - 196 do - 0 4 - 196 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 196 return - 196 while ( 0 ) - -***TER 35 % ( 18/ 52) of FUNCTION TestMpDetailsViewPlugin::testActivateView() ------------------------------------------------------------------------------ - - 4 4 205 FUNCTION TestMpDetailsViewPlugin::testDeactivateView() - 209 do - 0 4 - 209 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 209 return - 209 while ( 0 ) - 214 do - 0 4 - 214 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 214 return - 214 while ( 0 ) - 215 do - 0 4 - 215 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 215 return - 215 while ( 0 ) - 216 do - 0 4 - 216 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 216 return - 216 while ( 0 ) - 217 do - 0 4 - 217 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 217 return - 217 while ( 0 ) - 222 do - 0 4 - 222 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 222 return - 222 while ( 0 ) - 223 do - 0 4 - 223 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 223 return - 223 while ( 0 ) - 224 do - 0 4 - 224 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 224 return - 224 while ( 0 ) - 225 do - 0 4 - 225 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 225 return - 225 while ( 0 ) - 230 do - 0 4 - 230 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 230 return - 230 while ( 0 ) - 231 do - 0 4 - 231 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 231 return - 231 while ( 0 ) - 232 do - 0 4 - 232 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 232 return - 232 while ( 0 ) - 233 do - 0 4 - 233 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 233 return - 233 while ( 0 ) - 238 do - 0 4 - 238 if (! QTest::qCompare ( mTest -> mState , Mp.. - 0 - 238 return - 238 while ( 0 ) - 239 do - 0 4 - 239 if (! QTest::qCompare ( mTest -> mView -> mI.. - 0 - 239 return - 239 while ( 0 ) - 240 do - 0 4 - 240 if (! QTest::qCompare ( mTest -> mView -> mA.. - 0 - 240 return - 240 while ( 0 ) - 241 do - 0 4 - 241 if (! QTest::qCompare ( mTest -> mView -> mD.. - 0 - 241 return - 241 while ( 0 ) - -***TER 35 % ( 18/ 52) of FUNCTION TestMpDetailsViewPlugin::testDeactivateView() ------------------------------------------------------------------------------ - - 4 4 247 FUNCTION TestMpDetailsViewPlugin::testGetView() - 252 do - 0 4 - 252 if (! QTest::qCompare ( int ( tmpView ) , in.. - 0 - 252 return - 252 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpDetailsViewPlugin::testGetView() ------------------------------------------------------------------------------ - - -***TER 39 % ( 65/167) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 32 32 24 FUNCTION MpDetailsView::MpDetailsView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::MpDetailsView() ------------------------------------------------------------------------------ - - 32 32 34 FUNCTION MpDetailsView::~MpDetailsView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::~MpDetailsView() ------------------------------------------------------------------------------ - - 4 4 41 FUNCTION MpDetailsView::initializeView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::initializeView() ------------------------------------------------------------------------------ - - 8 8 49 FUNCTION MpDetailsView::activateView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::activateView() ------------------------------------------------------------------------------ - - 4 4 57 FUNCTION MpDetailsView::deactivateView() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::deactivateView() ------------------------------------------------------------------------------ - - 24 24 65 FUNCTION MpDetailsView::resetCounters() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::resetCounters() ------------------------------------------------------------------------------ - - 4 4 75 FUNCTION MpDetailsView::emitCommand() - -***TER 100 % ( 1/ 1) of FUNCTION MpDetailsView::emitCommand() ------------------------------------------------------------------------------ - - -***TER 100 % ( 7/ 7) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp ------------------------------------------------------------------------------ - - - - - -SUMMARY -======= - -Number of monitored source files : 6 -Number of source lines : 772 -Number of measurement points : 341 -TER : 45% (decision) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/sis.bat --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/sis.bat Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ @rem -@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). @rem All rights reserved. @rem This component and the accompanying materials are made available @rem under the terms of "Eclipse Public License v1.0" @@ -14,7 +14,8 @@ @rem Description: @rem +@echo off del *.sisx makesis UT_mpdetailsviewplugin.pkg -signsis UT_mpdetailsviewplugin.sis UT_mpdetailsviewplugin.sisx ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key +signsis UT_mpdetailsviewplugin.sis UT_mpdetailsviewplugin.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key del UT_mpdetailsviewplugin.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -39,14 +39,18 @@ HbMainWindow window; TestMpDetailsViewPlugin tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpdetailsviewplugin.txt"; - int res = QTest::qExec( &tv, 3, pass ); +if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpdetailsviewplugin.txt"; - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpDetailsViewPlugin::TestMpDetailsViewPlugin() @@ -71,6 +75,7 @@ */ void TestMpDetailsViewPlugin::cleanupTestCase() { +QCoreApplication::processEvents(); } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/unittest_mpdetailsviewplugin.pro --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/unittest_mpdetailsviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/unittest_mpdetailsviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,6 +16,7 @@ TEMPLATE = app CONFIG += qtestlib \ + symbian_test \ hb TARGET = @@ -38,4 +39,4 @@ SOURCES += src/unittest_mpdetailsviewplugin.cpp \ ../../src/mpdetailsviewplugin.cpp \ stub/src/mpdetailsview.cpp - + \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.dat Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.dat has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.sym --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.sym Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,774 +0,0 @@ -CTC++ sym 5.0 -Tue Mar 16 12:57:21 2010 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp -3 1268659888 -0 0 35 0 MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper -0 90 0 0 ( QObject * parent = 0 ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h -1 0 46 0 MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper -0 90 0 0 ( ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h -2 0 56 0 MpMpxDetailsFrameworkWrapper::songData -0 90 0 0 ( ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h -0 13 59 1 d_ptr -> songData ( ) -3 0 65 0 MpMpxDetailsFrameworkWrapper::retrieveSong -0 90 0 0 ( ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h -%70,4,1,0,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp -3 1268659888 -0 0 64 0 TestMpMpxDetailsFrameworkWrapper::getStaticMetaObject -0 90 0 0 ( ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\inc/unittest_mpmpxdetailsframeworkwrapper.h -0 13 64 1 staticMetaObject -1 0 67 0 TestMpMpxDetailsFrameworkWrapper::metaObject -0 90 0 0 ( ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\inc/unittest_mpmpxdetailsframeworkwrapper.h -0 25 69 1 QObject::d_ptr -> metaObject -1 13 69 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 72 0 TestMpMpxDetailsFrameworkWrapper::qt_metacast -0 90 0 0 ( const char * ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\inc/unittest_mpmpxdetailsframeworkwrapper.h -1 20 74 1 ! _clname -2 13 74 2 0 -2 20 75 1 ! strcmp ( _clname , qt_meta_stringdata_TestMpMpxDetailsFrameworkWrapper ) -3 13 76 2 static_cast < void * > ( const_cast < TestMpMpxDetailsFrameworkWrapper * > ( this ) ) -4 13 77 1 QObject::qt_metacast ( _clname ) -3 0 80 0 TestMpMpxDetailsFrameworkWrapper::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 30 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\inc/unittest_mpmpxdetailsframeworkwrapper.h -3 20 83 1 _id < 0 -5 13 84 2 _id -4 20 85 1 _c == QMetaObject::InvokeMetaMethod -0 1 86 2 switch ( _id ) -6 14 87 2 0 -7 12 87 3 -8 14 88 2 1 -9 12 88 3 -10 14 89 2 2 -11 12 89 3 -12 14 90 2 3 -13 12 90 3 -14 14 91 2 4 -15 12 91 3 -16 14 92 2 5 -17 12 92 3 -18 14 93 2 6 -19 12 93 3 -20 14 94 2 7 -21 12 94 3 -22 14 95 2 8 -23 12 95 3 -24 14 96 2 9 -25 12 96 3 -26 14 97 2 10 -27 12 97 3 -28 15 98 2 -29 13 102 1 _id -%104,4,30,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp -3 1268659891 -0 0 46 0 MpMpxDetailsFrameworkWrapper::getStaticMetaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\../../inc/mpmpxdetailsframeworkwrapper.h -0 13 46 1 staticMetaObject -1 0 49 0 MpMpxDetailsFrameworkWrapper::metaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\../../inc/mpmpxdetailsframeworkwrapper.h -0 25 51 1 QObject::d_ptr -> metaObject -1 13 51 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 54 0 MpMpxDetailsFrameworkWrapper::qt_metacast -0 90 0 0 ( const char * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\../../inc/mpmpxdetailsframeworkwrapper.h -1 20 56 1 ! _clname -2 13 56 2 0 -2 20 57 1 ! strcmp ( _clname , qt_meta_stringdata_MpMpxDetailsFrameworkWrapper ) -3 13 58 2 static_cast < void * > ( const_cast < MpMpxDetailsFrameworkWrapper * > ( this ) ) -4 13 59 1 QObject::qt_metacast ( _clname ) -3 0 62 0 MpMpxDetailsFrameworkWrapper::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\../../inc/mpmpxdetailsframeworkwrapper.h -3 20 65 1 _id < 0 -5 13 66 2 _id -6 13 67 1 _id -%69,4,7,4,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp -3 1268737034 -0 0 43 0 MpMpxDetailsFrameworkWrapperPrivate::MpMpxDetailsFrameworkWrapperPrivate -0 90 0 0 ( MpMpxDetailsFrameworkWrapper * qq ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -1 60 50 3 -0 63 50 3 XLeaveException & l -1 63 50 3 ... -2 0 57 0 MpMpxDetailsFrameworkWrapperPrivate::~MpMpxDetailsFrameworkWrapperPrivate -0 90 0 0 ( ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -3 60 61 2 -2 63 61 2 XLeaveException & l -3 63 61 2 ... -4 0 69 0 MpMpxDetailsFrameworkWrapperPrivate::constructProviderL -0 90 0 0 ( ) -0 91 54 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -5 0 85 0 MpMpxDetailsFrameworkWrapperPrivate::destructProviderL -0 90 0 0 ( ) -0 91 55 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -0 20 88 1 iPlaybackUtility -6 0 103 0 MpMpxDetailsFrameworkWrapperPrivate::HandlePlaybackMessage -0 90 0 0 ( CMPXMessage * aMessage , TInt aError ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -7 0 114 0 MpMpxDetailsFrameworkWrapperPrivate::HandlePropertyL -0 90 0 0 ( TMPXPlaybackProperty aProperty , TInt aValue , TInt aError ) -0 91 44 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -8 0 122 0 MpMpxDetailsFrameworkWrapperPrivate::HandleSubPlayerNamesL -0 90 0 0 ( TUid aPlayer , const MDesC16Array * aSubPlayers , TBool aComplete , TInt aError ) -0 91 45 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -9 0 130 0 MpMpxDetailsFrameworkWrapperPrivate::HandleMediaL -0 90 0 0 ( const CMPXMedia & aProperties , TInt aError ) -0 91 47 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -1 20 136 1 KErrNone != aError -4 13 139 2 -2 20 143 1 aProperties . IsSupported ( KMPXMediaGeneralTitle ) -0 1 148 1 else -3 20 152 1 aProperties . IsSupported ( KMPXMediaMusicArtist ) -0 1 157 1 else -4 20 161 1 aProperties . IsSupported ( KMPXMediaMusicAlbum ) -0 1 166 1 else -5 20 169 1 changed -6 20 174 1 aProperties . IsSupported ( TMPXAttribute ( KMPXMediaMusicAlbumArtFileName ) ) -0 1 179 1 else -7 20 185 1 aProperties . IsSupported ( KMPXMediaGeneralComment ) -0 1 191 1 else -8 20 195 1 aProperties . IsSupported ( TMPXAttribute ( KMPXMediaMusicComposer ) ) -0 1 201 1 else -9 20 205 1 aProperties . IsSupported ( TMPXAttribute ( KMPXMediaMusicYear ) ) -0 1 209 1 else -10 20 214 1 aProperties . IsSupported ( TMPXAttribute ( KMPXMediaMusicAlbumTrack ) ) -0 1 219 1 else -11 20 223 1 aProperties . IsSupported ( TMPXAttribute ( KMPXMediaMusicGenre ) ) -0 1 228 1 else -12 20 232 1 changed -10 0 241 0 MpMpxDetailsFrameworkWrapperPrivate::songData -0 90 0 0 ( ) -0 91 50 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -5 13 244 1 iSongData -11 0 250 0 MpMpxDetailsFrameworkWrapperPrivate::retrieveSong -0 90 0 0 ( ) -0 91 51 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -12 60 253 2 -6 63 253 2 XLeaveException & l -7 63 253 2 ... -13 0 260 0 MpMpxDetailsFrameworkWrapperPrivate::doRetrieveSongL -0 90 0 0 ( ) -0 91 56 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h -%282,14,8,13,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp -3 1268664710 -0 0 140 0 referenceGeneralTitle -0 90 0 0 ( int index ) -0 91 140 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -0 20 144 1 title . Match ( KOff ) == KErrNotFound -0 13 148 1 result -1 0 151 0 referenceMusicArtist -0 90 0 0 ( int index ) -0 91 151 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -1 20 155 1 artist . Match ( KOff ) == KErrNotFound -1 13 159 1 result -2 0 162 0 referenceMusicAlbum -0 90 0 0 ( int index ) -0 91 162 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -2 20 166 1 album . Match ( KOff ) == KErrNotFound -2 13 170 1 result -3 0 173 0 referenceMusicAlbumArtFileName -0 90 0 0 ( int index ) -0 91 173 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -3 20 177 1 musicAlbumArtFileName . Match ( KOff ) == KErrNotFound -3 13 181 1 result -4 0 184 0 referenceComment -0 90 0 0 ( int index ) -0 91 184 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -4 20 188 1 musicComment . Match ( KOff ) == KErrNotFound -4 13 192 1 result -5 0 195 0 referenceComposer -0 90 0 0 ( int index ) -0 91 195 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -5 20 199 1 composer . Match ( KOff ) == KErrNotFound -5 13 203 1 result -6 0 206 0 referenceYear -0 90 0 0 ( int index ) -0 91 206 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -6 25 208 1 ( KAllSongsTestData [ index ] . Year >= 0 ) -6 13 208 1 ( KAllSongsTestData [ index ] . Year >= 0 ) ? KAllSongsTestData [ index ] . Year : 0 -7 0 211 0 referenceMusicAlbumTrack -0 90 0 0 ( int index ) -0 91 211 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -7 20 215 1 musicAlbumTrack . Match ( KOff ) == KErrNotFound -7 13 219 1 result -8 0 222 0 referenceMusicGenre -0 90 0 0 ( int index ) -0 91 222 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -8 20 226 1 musicGenre . Match ( KOff ) == KErrNotFound -8 13 230 1 result -9 0 233 0 referenceMusicUri -0 90 0 0 ( int index ) -0 91 233 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -9 20 237 1 musicUri . Match ( KOff ) == KErrNotFound -9 13 241 1 result -10 0 247 0 main -0 90 0 0 ( int argc , char * argv [ ] ) -0 91 247 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\src\unittest_mpmpxdetailsframeworkwrapper.cpp -10 13 261 1 res -11 0 264 0 TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper -0 90 0 0 ( ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -12 0 271 0 TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper -0 90 0 0 ( ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -13 0 279 0 TestMpMpxDetailsFrameworkWrapper::initTestCase -0 90 0 0 ( ) -0 91 46 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -14 0 286 0 TestMpMpxDetailsFrameworkWrapper::cleanupTestCase -0 90 0 0 ( ) -0 91 47 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -15 0 293 0 TestMpMpxDetailsFrameworkWrapper::init -0 90 0 0 ( ) -0 91 48 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 298 1 do -0 1 298 1 while ( 0 ) -16 0 308 0 TestMpMpxDetailsFrameworkWrapper::cleanup -0 90 0 0 ( ) -0 91 49 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 316 1 do -0 1 316 1 while ( 0 ) -17 0 324 0 TestMpMpxDetailsFrameworkWrapper::testConstructor -0 90 0 0 ( ) -0 91 52 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 326 1 do -10 20 326 2 ! QTest::qVerify ( ( mTestPrivate -> q_ptr ) , "mTestPrivate->q_ptr" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 326 ) -11 13 326 3 -0 1 326 1 while ( 0 ) -0 1 327 1 do -11 20 327 2 ! QTest::qVerify ( ( mTestPrivate -> iPlaybackUtility ) , "mTestPrivate->iPlaybackUtility" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 327 ) -12 13 327 3 -0 1 327 1 while ( 0 ) -0 1 328 1 do -12 20 328 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData ) , "mTestPrivate->iSongData" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 328 ) -13 13 328 3 -0 1 328 1 while ( 0 ) -18 0 335 0 TestMpMpxDetailsFrameworkWrapper::testSongData -0 90 0 0 ( ) -0 91 53 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 337 1 do -13 20 337 2 ! QTest::qCompare ( mTestPrivate -> iSongData , mTest -> songData ( ) , "mTestPrivate->iSongData" , "mTest->songData()" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 337 ) -14 13 337 3 -0 1 337 1 while ( 0 ) -19 0 340 0 TestMpMpxDetailsFrameworkWrapper::testHandleProperty -0 90 0 0 ( ) -0 91 57 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -20 0 346 0 TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames -0 90 0 0 ( ) -0 91 58 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -21 0 355 0 TestMpMpxDetailsFrameworkWrapper::testHandlePlaybackMessage -0 90 0 0 ( ) -0 91 54 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -22 0 373 0 TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData -0 90 0 0 ( ) -0 91 39 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 375 1 do -14 20 375 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> title ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->title().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 375 ) -15 13 375 3 -0 1 375 1 while ( 0 ) -0 1 376 1 do -15 20 376 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> album ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->album().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 376 ) -16 13 376 3 -0 1 376 1 while ( 0 ) -0 1 377 1 do -16 20 377 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> artist ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->artist().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 377 ) -17 13 377 3 -0 1 377 1 while ( 0 ) -0 1 378 1 do -17 20 378 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> comment ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->comment().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 378 ) -18 13 378 3 -0 1 378 1 while ( 0 ) -0 1 379 1 do -18 20 379 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> year ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->year().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 379 ) -19 13 379 3 -0 1 379 1 while ( 0 ) -0 1 380 1 do -19 20 380 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> genre ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->genre().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 380 ) -20 13 380 3 -0 1 380 1 while ( 0 ) -0 1 381 1 do -20 20 381 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> composer ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->composer().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 381 ) -21 13 381 3 -0 1 381 1 while ( 0 ) -0 1 382 1 do -21 20 382 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> albumTrack ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->albumTrack().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 382 ) -22 13 382 3 -0 1 382 1 while ( 0 ) -0 1 383 1 do -22 20 383 2 ! QTest::qVerify ( ( mTestPrivate -> iSongData -> link ( ) . isEmpty ( ) ) , "mTestPrivate->iSongData->link().isEmpty()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 383 ) -23 13 383 3 -0 1 383 1 while ( 0 ) -23 0 386 0 TestMpMpxDetailsFrameworkWrapper::verify -0 90 0 0 ( int index ) -0 91 40 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 388 1 do -23 20 388 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> title ( ) , referenceGeneralTitle ( index ) , "mTestPrivate->songData()->title()" , "referenceGeneralTitle( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 388 ) -24 13 388 3 -0 1 388 1 while ( 0 ) -0 1 389 1 do -24 20 389 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> album ( ) , referenceMusicAlbum ( index ) , "mTestPrivate->songData()->album()" , "referenceMusicAlbum( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 389 ) -25 13 389 3 -0 1 389 1 while ( 0 ) -0 1 390 1 do -25 20 390 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> artist ( ) , referenceMusicArtist ( index ) , "mTestPrivate->songData()->artist()" , "referenceMusicArtist( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 390 ) -26 13 390 3 -0 1 390 1 while ( 0 ) -0 1 392 1 do -26 20 392 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> comment ( ) , referenceComment ( index ) , "mTestPrivate->songData()->comment()" , "referenceComment( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 392 ) -27 13 392 3 -0 1 392 1 while ( 0 ) -0 1 393 1 do -27 20 393 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> composer ( ) , referenceComposer ( index ) , "mTestPrivate->songData()->composer()" , "referenceComposer( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 393 ) -28 13 393 3 -0 1 393 1 while ( 0 ) -0 1 394 1 do -28 20 394 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> year ( ) . toInt ( ) , referenceYear ( index ) , "mTestPrivate->songData()->year().toInt()" , "referenceYear( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 394 ) -29 13 394 3 -0 1 394 1 while ( 0 ) -0 1 395 1 do -29 20 395 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> albumTrack ( ) , referenceMusicAlbumTrack ( index ) , "mTestPrivate->songData()->albumTrack()" , "referenceMusicAlbumTrack( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 395 ) -30 13 395 3 -0 1 395 1 while ( 0 ) -0 1 396 1 do -30 20 396 2 ! QTest::qCompare ( mTestPrivate -> songData ( ) -> genre ( ) , referenceMusicGenre ( index ) , "mTestPrivate->songData()->genre()" , "referenceMusicGenre( index )" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpmpxdetailsframeworkwrapper\\src\\unittest_mpmpxdetailsframeworkwrapper.cpp" , 396 ) -31 13 396 3 -0 1 396 1 while ( 0 ) -24 0 399 0 TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia -0 90 0 0 ( int index , TInt aResult ) -0 91 42 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -31 20 404 1 aResult != KErrNone -0 1 408 1 else -25 0 418 0 TestMpMpxDetailsFrameworkWrapper::testHandleMedia -0 90 0 0 ( ) -0 91 55 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -26 0 507 0 TestMpMpxDetailsFrameworkWrapper::testRetrieveSong -0 90 0 0 ( ) -0 91 56 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -27 0 514 0 TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged -0 90 0 0 ( ) -0 91 41 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -28 0 522 0 TestMpMpxDetailsFrameworkWrapper::loadTestData -0 90 0 0 ( TInt aPos ) -0 91 38 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h -0 1 524 1 do -0 1 524 1 while ( 0 ) -32 20 525 1 iMediaTestData -0 1 536 1 do -0 1 536 1 while ( 0 ) -33 20 538 1 title . Match ( KOff ) == KErrNotFound -0 1 539 2 do -0 1 539 2 while ( 0 ) -34 20 544 1 artist . Match ( KOff ) == KErrNotFound -0 1 545 2 do -0 1 545 2 while ( 0 ) -35 20 550 1 musicAlbum . Match ( KOff ) == KErrNotFound -0 1 551 2 do -0 1 551 2 while ( 0 ) -36 20 556 1 musicAlbumArtFileName . Match ( KOff ) == KErrNotFound -0 1 557 2 do -0 1 557 2 while ( 0 ) -37 20 562 1 comment . Match ( KOff ) == KErrNotFound -0 1 563 2 do -0 1 563 2 while ( 0 ) -38 20 568 1 composer . Match ( KOff ) == KErrNotFound -0 1 569 2 do -0 1 569 2 while ( 0 ) -39 20 573 1 KAllSongsTestData [ aPos ] . Year != - 1 -0 1 583 2 do -0 1 583 2 while ( 0 ) -0 1 584 2 do -0 1 584 2 while ( 0 ) -40 20 589 1 musicAlbumTrack . Match ( KOff ) == KErrNotFound -0 1 590 2 do -0 1 590 2 while ( 0 ) -41 20 595 1 genre . Match ( KOff ) == KErrNotFound -0 1 596 2 do -0 1 596 2 while ( 0 ) -42 20 601 1 musicUri . Match ( KOff ) == KErrNotFound -0 1 602 2 do -0 1 602 2 while ( 0 ) -0 1 605 1 do -0 1 605 1 while ( 0 ) -%608,29,32,43,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp -3 1268659893 -0 0 72 0 MpSongData::getStaticMetaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -0 13 72 1 staticMetaObject -1 0 75 0 MpSongData::metaObject -0 90 0 0 ( ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -0 25 77 1 QObject::d_ptr -> metaObject -1 13 77 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 80 0 MpSongData::qt_metacast -0 90 0 0 ( const char * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -1 20 82 1 ! _clname -2 13 82 2 0 -2 20 83 1 ! strcmp ( _clname , qt_meta_stringdata_MpSongData ) -3 13 84 2 static_cast < void * > ( const_cast < MpSongData * > ( this ) ) -4 13 85 1 QObject::qt_metacast ( _clname ) -3 0 88 0 MpSongData::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 31 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -3 20 91 1 _id < 0 -5 13 92 2 _id -4 20 93 1 _c == QMetaObject::InvokeMetaMethod -0 1 94 2 switch ( _id ) -6 14 95 2 0 -7 12 95 3 -8 14 96 2 1 -9 12 96 3 -10 14 97 2 2 -11 12 97 3 -12 14 98 2 3 -13 12 98 3 -14 14 99 2 4 -5 20 100 4 _a [ 0 ] -15 12 100 3 -16 14 101 2 5 -6 20 102 4 _a [ 0 ] -17 12 102 3 -18 14 103 2 6 -7 20 104 4 _a [ 0 ] -19 12 104 3 -20 14 105 2 7 -8 20 106 4 _a [ 0 ] -21 12 106 3 -22 14 107 2 8 -9 20 108 4 _a [ 0 ] -23 12 108 3 -24 14 109 2 9 -25 12 109 3 -26 14 110 2 10 -10 20 111 4 _a [ 0 ] -27 12 111 3 -28 14 112 2 11 -11 20 113 4 _a [ 0 ] -29 12 113 3 -30 14 114 2 12 -12 20 115 4 _a [ 0 ] -31 12 115 3 -32 14 116 2 13 -13 20 117 4 _a [ 0 ] -33 12 117 3 -34 14 118 2 14 -14 20 119 4 _a [ 0 ] -35 12 119 3 -36 15 120 2 -37 13 124 1 _id -4 0 128 0 MpSongData::albumArtReady -0 90 0 0 ( ) -0 91 70 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -5 0 134 0 MpSongData::playbackInfoChanged -0 90 0 0 ( ) -0 91 71 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -6 0 140 0 MpSongData::songDetailInfoChanged -0 90 0 0 ( ) -0 91 72 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub/inc/mpsongdata.h -%144,7,38,15,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp -3 1268659893 -0 0 25 0 MMPXPlaybackUtility::NewL -0 90 0 0 ( const TUid & , MMPXPlaybackObserver * ) -0 91 25 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -0 13 32 1 obj -1 0 35 0 MMPXPlaybackUtility::ConstructL -0 90 0 0 ( ) -0 91 43 3 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -2 0 43 0 MMPXPlaybackUtility::~MMPXPlaybackUtility -0 90 0 0 ( ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -3 0 48 0 MMPXPlaybackUtility::MMPXPlaybackUtility -0 90 0 0 ( ) -0 91 42 3 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -4 0 60 0 MMPXPlaybackUtility::AddObserverL -0 90 0 0 ( MMPXPlaybackObserver & aPlaybackObserver ) -0 91 57 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -5 0 66 0 MMPXPlaybackUtility::RemoveObserverL -0 90 0 0 ( MMPXPlaybackObserver & aPlaybackObserver ) -0 91 58 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -0 20 69 1 iPlaybackObserver == & aPlaybackObserver -6 0 75 0 MMPXPlaybackUtility::GetClientsL -0 90 0 0 ( RArray & aClients ) -0 91 59 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -7 0 80 0 MMPXPlaybackUtility::InitL -0 90 0 0 ( const CMPXCollectionPlaylist & , TBool ) -0 91 80 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -8 0 85 0 MMPXPlaybackUtility::InitL -0 90 0 0 ( const TDesC & , const TDesC8 * ) -0 91 85 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -9 0 90 0 MMPXPlaybackUtility::InitL -0 90 0 0 ( RFile & aShareableFile ) -0 91 62 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -10 0 95 0 MMPXPlaybackUtility::Close -0 90 0 0 ( ) -0 91 63 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -11 0 103 0 MMPXPlaybackUtility::CancelRequest -0 90 0 0 ( ) -0 91 64 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -12 0 108 0 MMPXPlaybackUtility::CommandL -0 90 0 0 ( TMPXPlaybackCommand , TInt ) -0 91 108 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -13 0 113 0 MMPXPlaybackUtility::CommandL -0 90 0 0 ( CMPXCommand & , MMPXPlaybackCallback * ) -0 91 113 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -14 0 118 0 MMPXPlaybackUtility::StateL -0 90 0 0 ( ) -0 91 67 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -1 13 121 1 iState -15 0 124 0 MMPXPlaybackUtility::Source -0 90 0 0 ( ) -0 91 68 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -2 13 127 1 iMpxSource -16 0 130 0 MMPXPlaybackUtility::PlayerManager -0 90 0 0 ( ) -0 91 69 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -3 13 133 1 * iMpxPlayerManager -17 0 136 0 MMPXPlaybackUtility::SetL -0 90 0 0 ( TMPXPlaybackProperty aProperty , TInt aValue ) -0 91 70 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -18 0 141 0 MMPXPlaybackUtility::ValueL -0 90 0 0 ( MMPXPlaybackCallback & aCallback , TMPXPlaybackProperty aProperty ) -0 91 71 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -19 0 146 0 MMPXPlaybackUtility::PropertyL -0 90 0 0 ( MMPXPlaybackCallback & aCallback , TMPXPlaybackProperty aProperty ) -0 91 72 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -20 0 151 0 MMPXPlaybackUtility::SupportedMimeTypes -0 90 0 0 ( ) -0 91 73 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -4 13 154 1 0 -21 0 157 0 MMPXPlaybackUtility::SupportedExtensions -0 90 0 0 ( ) -0 91 74 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -5 13 160 1 0 -22 0 163 0 MMPXPlaybackUtility::SupportedSchemas -0 90 0 0 ( ) -0 91 75 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -6 13 166 1 0 -23 0 169 0 MMPXPlaybackUtility::SetPriority -0 90 0 0 ( TInt aPriority ) -0 91 76 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -24 0 174 0 MMPXPlaybackUtility::AddSubscriptionL -0 90 0 0 ( const CMPXSubscription & aSubscription ) -0 91 77 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -25 0 179 0 MMPXPlaybackUtility::RemoveSubscriptionL -0 90 0 0 ( const CMPXSubscription & aSubscription ) -0 91 78 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -26 0 184 0 MMPXPlaybackUtility::ClearSubscriptionsL -0 90 0 0 ( ) -0 91 79 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -27 0 189 0 MMPXPlaybackUtility::InitStreamingL -0 90 0 0 ( const TDesC & aUri , const TDesC8 * aType , const TInt aAccessPoint ) -0 91 80 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -28 0 194 0 MMPXPlaybackUtility::InitStreamingL -0 90 0 0 ( RFile & aShareableFile , const TInt aAccessPoint ) -0 91 81 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h -29 0 199 0 MMPXPlaybackUtility::NewL -0 90 0 0 ( const TMPXCategory , const TUid & , MMPXPlaybackObserver * ) -0 91 199 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -7 13 203 1 0 -30 0 206 0 MMPXPlaybackUtility::UtilityL -0 90 0 0 ( const TMPXCategory , const TUid & ) -0 91 206 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -8 13 209 1 0 -31 0 212 0 MMPXPlaybackUtility::UtilityL -0 90 0 0 ( const TUid & ) -0 91 212 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpmpxdetailsframeworkwrapper\stub\src\mpxplaybackutility.cpp -1 20 214 1 ! singleton -9 13 217 1 singleton -%220,32,10,2,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp -3 1268659895 -0 0 62 0 MpSongData::MpSongData -0 90 0 0 ( QObject * parent = 0 ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -1 0 83 0 MpSongData::~MpSongData -0 90 0 0 ( ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -2 0 93 0 MpSongData::albumArt -0 90 0 0 ( QPixmap & pixmap ) -0 91 62 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -0 20 96 1 ! mAlbumArt . isNull ( ) -0 1 99 1 else -3 0 109 0 MpSongData::title -0 90 0 0 ( ) -0 91 58 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -0 13 112 1 mTitle -4 0 118 0 MpSongData::album -0 90 0 0 ( ) -0 91 59 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -1 13 121 1 mAlbum -5 0 127 0 MpSongData::artist -0 90 0 0 ( ) -0 91 60 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -2 13 130 1 mArtist -6 0 136 0 MpSongData::comment -0 90 0 0 ( ) -0 91 61 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -3 13 139 1 mComment -7 0 145 0 MpSongData::composer -0 90 0 0 ( ) -0 91 65 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -4 13 148 1 mComposer -8 0 155 0 MpSongData::genre -0 90 0 0 ( ) -0 91 64 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -5 13 158 1 mGenre -9 0 165 0 MpSongData::albumTrack -0 90 0 0 ( ) -0 91 66 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -6 13 168 1 mAlbumTrack -10 0 174 0 MpSongData::link -0 90 0 0 ( ) -0 91 67 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -7 13 177 1 mLink -11 0 183 0 MpSongData::year -0 90 0 0 ( ) -0 91 63 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -8 13 186 1 mYear -12 0 193 0 MpSongData::setTitle -0 90 0 0 ( const QString & title ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -1 20 197 1 title != mTitle -9 13 202 1 change -13 0 208 0 MpSongData::setAlbum -0 90 0 0 ( const QString & album ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -2 20 212 1 album != mAlbum -10 13 217 1 change -14 0 223 0 MpSongData::setArtist -0 90 0 0 ( const QString & artist ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -3 20 227 1 artist != mArtist -11 13 232 1 change -15 0 238 0 MpSongData::setComment -0 90 0 0 ( const QString & comment ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -4 20 242 1 comment != mComment -12 13 247 1 change -16 0 254 0 MpSongData::setComposer -0 90 0 0 ( const QString & compoer ) -0 91 44 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -5 20 258 1 composer != mComposer -13 13 263 1 change -17 0 269 0 MpSongData::setGenre -0 90 0 0 ( const QString & genre ) -0 91 43 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -6 20 273 1 genre != mGenre -14 13 278 1 change -18 0 285 0 MpSongData::setYear -0 90 0 0 ( int date ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -7 20 289 1 QString::number ( year ) != mYear -8 20 291 2 year >= 0 && year < 9999 -0 1 293 2 else -15 13 298 1 change -19 0 304 0 MpSongData::setAlbumTrack -0 90 0 0 ( const QString & albumtrack ) -0 91 45 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -9 20 308 1 track != mAlbumTrack -16 13 313 1 change -20 0 319 0 MpSongData::setLink -0 90 0 0 ( const QString & link ) -0 91 46 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -21 0 329 0 MpSongData::setAlbumArtUri -0 90 0 0 ( const QString & albumArtUri ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -22 0 343 0 MpSongData::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 54 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -10 20 351 1 error == 0 && mReqId == id -0 1 356 1 else -23 0 368 0 MpSongData::commitPlaybackInfo -0 90 0 0 ( ) -0 91 49 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -24 0 378 0 MpSongData::commitSongDetailInfo -0 90 0 0 ( ) -0 91 51 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h -%384,25,17,11,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp -3 1268659896 -0 0 21 0 MMPXPlayerManager::MMPXPlayerManager -0 90 0 0 ( ) -0 91 32 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -1 0 26 0 MMPXPlayerManager::~MMPXPlayerManager -0 90 0 0 ( ) -0 91 33 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -2 0 31 0 MMPXPlayerManager::GetPlayerTypesL -0 90 0 0 ( RArray & aTypes ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -3 0 36 0 MMPXPlayerManager::PlayerTypeDisplayNameL -0 90 0 0 ( TMPXPlaybackPlayerType aType ) -0 91 37 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -0 13 39 1 0 -4 0 42 0 MMPXPlayerManager::GetPlayerListL -0 90 0 0 ( RArray & aPlayers ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -5 0 47 0 MMPXPlayerManager::GetPlayerListL -0 90 0 0 ( RArray & aPlayers , TMPXPlaybackPlayerType aType ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -6 0 52 0 MMPXPlayerManager::SubPlayerNamesL -0 90 0 0 ( MMPXPlaybackCallback & aCallback , TUid aPlayer ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -7 0 57 0 MMPXPlayerManager::SelectPlayersL -0 90 0 0 ( TMPXPlaybackPlayerType aType ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -8 0 62 0 MMPXPlayerManager::SelectSubPlayerL -0 90 0 0 ( TUid aPlayer , TInt aSubPlayerIndex ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -9 0 67 0 MMPXPlayerManager::SelectPlayerL -0 90 0 0 ( TUid aPlayer ) -0 91 43 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -10 0 72 0 MMPXPlayerManager::ClearSelectPlayersL -0 90 0 0 ( ) -0 91 44 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -11 0 77 0 MMPXPlayerManager::GetSelectionL -0 90 0 0 ( TMPXPlaybackPlayerType & aType , TUid & aPlayer , TInt & aSubPlayerIndex , HBufC * & aSubPlayerName ) -0 91 45 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -12 0 85 0 MMPXPlayerManager::CurrentPlayer -0 90 0 0 ( ) -0 91 49 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h -1 13 88 1 0 -%91,13,2,0,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp -3 1268659896 -0 0 21 0 MMPXSource::MMPXSource -0 90 0 0 ( ) -0 91 34 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -1 0 26 0 MMPXSource::~MMPXSource -0 90 0 0 ( ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -2 0 31 0 MMPXSource::PlaylistL -0 90 0 0 ( ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -0 13 34 1 0 -3 0 37 0 MMPXSource::FileL -0 90 0 0 ( ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -1 13 40 1 0 -4 0 43 0 MMPXSource::UriL -0 90 0 0 ( ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -2 13 46 1 0 -5 0 49 0 MMPXSource::MediaL -0 90 0 0 ( const TArray & aAttrs , MMPXPlaybackCallback & aCallback ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -6 0 54 0 MMPXSource::MediaL -0 90 0 0 ( const TArray & aAttrs , MMPXPlaybackCallback & aCallback , CMPXAttributeSpecs * aSpecs ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h -%58,7,3,0,0,0 -END OF SYMBOLFILE diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.pkg --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -; unittest_mpmpxpbframeworkwrapper_template.pkg generated by qmake at 2010-03-07T16:15:41 -; This file is generated by qmake and should not be modified by the user -; - -; Language -&EN - -; SIS header: name, uid, version -#{"unittest_mpmpxpbframeworkwrapper"},(0xE003e880),1,0,0 - -; Localised Vendor name -%{"Vendor"} - -; Unique Vendor name -:"Vendor" - -; Executable and default resource files -"/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe" - "!:\sys\bin\unittest_mpmpxpbframeworkwrapper.exe" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpmpxpbframeworkwrapper_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpmpxpbframeworkwrapper_reg.rsc" - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.sisx Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.sisx has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcdata.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcdata.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1044 +0,0 @@ - - -CTCRTS: Write coverage data to file 2010-03-12 13:39:14 - -CTCDATA: - - - -CTCRTS: Write coverage data to file 2010-03-12 14:18:14 - -CTCDATA: - - - -CTCRTS: Write coverage data to file 2010-03-15 15:03:54 - -CTCDATA: - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcerr.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcerr.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5529 +0,0 @@ - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4936.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-268.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4364.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4668.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3356.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1076.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4612.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4616.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3516.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5196.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpmpxpbframeworkwrapper{000a0000}[e003e880].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxpbframeworkwrapper_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/estor.dso -argv[25]: Z:/epoc32/release/armv5/lib/fbscli.dso -argv[26]: Z:/epoc32/release/armv5/lib/mpxcommon.dso -argv[27]: Z:/epoc32/release/armv5/lib/thumbnailmanagerqt.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[29]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[30]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[35]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[36]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[37]: Z:/epoc32/release/armv5/lib/libc.dso -argv[38]: Z:/epoc32/release/armv5/lib/libm.dso -argv[39]: Z:/epoc32/release/armv5/lib/euser.dso -argv[40]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[41]: Z:/epoc32/release/armv5/lib/cone.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[43]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[44]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[45]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[47]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[48]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[49]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[50]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[51]: Z:/epoc32/release/armv5/lib/hal.dso -argv[52]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[53]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[54]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[57]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[58]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[59]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5956.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4184.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4104.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4660.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4692.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2424.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3560.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-440.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5260.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4820.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4892.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpmpxpbframeworkwrapper{000a0000}[e003e880].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxpbframeworkwrapper_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/estor.dso -argv[25]: Z:/epoc32/release/armv5/lib/fbscli.dso -argv[26]: Z:/epoc32/release/armv5/lib/mpxcommon.dso -argv[27]: Z:/epoc32/release/armv5/lib/thumbnailmanagerqt.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[29]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[30]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[35]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[36]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[37]: Z:/epoc32/release/armv5/lib/libc.dso -argv[38]: Z:/epoc32/release/armv5/lib/libm.dso -argv[39]: Z:/epoc32/release/armv5/lib/euser.dso -argv[40]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[41]: Z:/epoc32/release/armv5/lib/cone.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[43]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[44]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[45]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[47]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[48]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[49]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[50]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[51]: Z:/epoc32/release/armv5/lib/hal.dso -argv[52]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[53]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[54]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[57]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[58]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[59]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-1996.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4832.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5356.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4384.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-440.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4768.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5724.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5484.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-536.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5424.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpmpxpbframeworkwrapper{000a0000}[e003e880].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxpbframeworkwrapper_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/estor.dso -argv[25]: Z:/epoc32/release/armv5/lib/fbscli.dso -argv[26]: Z:/epoc32/release/armv5/lib/mpxcommon.dso -argv[27]: Z:/epoc32/release/armv5/lib/thumbnailmanagerqt.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[29]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[30]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[35]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[36]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[37]: Z:/epoc32/release/armv5/lib/libc.dso -argv[38]: Z:/epoc32/release/armv5/lib/libm.dso -argv[39]: Z:/epoc32/release/armv5/lib/euser.dso -argv[40]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[41]: Z:/epoc32/release/armv5/lib/cone.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[43]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[44]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[45]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[47]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[48]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[49]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[50]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[51]: Z:/epoc32/release/armv5/lib/hal.dso -argv[52]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[53]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[54]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[57]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[58]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[59]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-6036.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: --vsn - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --vsn -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-264.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5300.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4312.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5368.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5756.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4496.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3024.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3272.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2144.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4164.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpmpxpbframeworkwrapper{000a0000}[e003e880].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxpbframeworkwrapper_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/estor.dso -argv[25]: Z:/epoc32/release/armv5/lib/fbscli.dso -argv[26]: Z:/epoc32/release/armv5/lib/mpxcommon.dso -argv[27]: Z:/epoc32/release/armv5/lib/thumbnailmanagerqt.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[29]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[30]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[35]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[36]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[37]: Z:/epoc32/release/armv5/lib/libc.dso -argv[38]: Z:/epoc32/release/armv5/lib/libm.dso -argv[39]: Z:/epoc32/release/armv5/lib/euser.dso -argv[40]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[41]: Z:/epoc32/release/armv5/lib/cone.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[43]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[44]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[45]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[47]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[48]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[49]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[50]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[51]: Z:/epoc32/release/armv5/lib/hal.dso -argv[52]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[53]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[54]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[57]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[58]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[59]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5196.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpmpxdetailsframeworkwrapper_p.o -argv[103]: Z:/mu: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp - -est_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4484.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5208.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4880.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4548.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/moc_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4436.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxdetailsframeworkwrapper.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-652.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplaybackutility.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4540.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4952.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxplayermanager.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2924.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/mpxsource.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5816.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpmpxpbframeworkwrapper{000a0000}[e003e880].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpmpxpbframeworkwrapper.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpmpxdetailsframeworkwrapper/c_fdc6c1688fce786a/unittest_mpmpxpbframeworkwrapper_exe/armv5/udeb/unittest_mpmpxpbframeworkwrapper_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/estor.dso -argv[25]: Z:/epoc32/release/armv5/lib/fbscli.dso -argv[26]: Z:/epoc32/release/armv5/lib/mpxcommon.dso -argv[27]: Z:/epoc32/release/armv5/lib/thumbnailmanagerqt.dso -argv[28]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[29]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[30]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[33]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[34]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[35]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[36]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[37]: Z:/epoc32/release/armv5/lib/libc.dso -argv[38]: Z:/epoc32/release/armv5/lib/libm.dso -argv[39]: Z:/epoc32/release/armv5/lib/euser.dso -argv[40]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[41]: Z:/epoc32/release/armv5/lib/cone.dso -argv[42]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[43]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[44]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[45]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[47]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[48]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[49]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[50]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[51]: Z:/epoc32/release/armv5/lib/hal.dso -argv[52]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[53]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[54]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[56]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[57]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[58]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[59]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-4784.rsp -*** CTC++/ctcagent command status: 0 - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +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: Tracing macros for clipdownloader. -* -*/ - - -#ifndef LOGGER_H -#define LOGGER_H - -#ifndef _DEBUG - - #define TRACE( AA ) - - #define TRACE2( AA, BB ) - - #define TRACE3( AA, BB, CC ) - - #define TRACE4( AA, BB, CC, DD ) - - #define TRACE5( AA, BB, CC, DD, EE ) - - #define DUMP8( AA ) - - #define TRACE_DOWNLOADER_STATE( AA ) - - #define TRACE_AND_PANIC( AA ) - - #define PANIC_ON_ERROR(AA, BB) - -#else - - // INCLUDES - #include - - #define TRACE_AND_PANIC( AA ) \ - { \ - RDebug::Printf( "ERROR: " AA ); \ - ASSERT(EFalse); \ - } - - #define PANIC_ON_ERROR(AA, BB) \ - { \ - if(AA) \ - { \ - RDebug::Printf( "ERROR: " BB, AA ); \ - ASSERT(EFalse); \ - } \ - } - - #define TRACE( AA ) do { RDebug::Printf( AA ); } while( 0 ) - - #define TRACE2( AA, BB ) do { RDebug::Printf( AA, BB ); } while( 0 ) - - #define TRACE3( AA, BB, CC ) do { RDebug::Printf( AA, BB, CC ); } while( 0 ) - - #define TRACE4( AA, BB, CC, DD ) do { RDebug::Printf( AA, BB, CC, DD ); } while( 0 ) - - #define TRACE5( AA, BB, CC, DD, EE ) do { RDebug::Printf( AA, BB, CC, DD, EE ); } while( 0 ) - - #define DUMP8( AA ) \ - TRAP_IGNORE( \ - { \ - HBufC* conversion = HBufC::NewLC( AA.Length() ); \ - TPtr convPtr( conversion->Des() ); \ - convPtr.Copy( AA ); \ - const TInt KMaxLine = 60; \ - for ( TInt index = convPtr.Length(); index > 0; \ - index -= KMaxLine ) \ - { \ - if ( index <= KMaxLine ) \ - { \ - RDebug::Print( convPtr ); \ - break; \ - } \ - else \ - { \ - RDebug::Print( convPtr.Left( KMaxLine ) ); \ - convPtr.Copy( convPtr.Mid( KMaxLine ) ); \ - } \ - } \ - CleanupStack::PopAndDestroy( conversion ); \ - } ); - - -#endif // _LOGGER - -#endif // _LOGGER - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +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: Unit test for mpmpxdetailsframeworkwrapper -* -*/ - -#ifndef TESTMPMPXDETAILSFRAMEWORKWRAPPER_H -#define TESTMPMPXDETAILSFRAMEWORKWRAPPER_H - -#include - -class MpMpxDetailsFrameworkWrapper; -class MpMpxDetailsFrameworkWrapperPrivate; -class CMPXMedia; -class MpSongData; - -class TestMpMpxDetailsFrameworkWrapper : public QObject -{ - Q_OBJECT - -public: - - TestMpMpxDetailsFrameworkWrapper(); - virtual ~TestMpMpxDetailsFrameworkWrapper(); - -private: //test utility functions - void loadTestData(TInt aPos); - void verifyEmptyTestData(); - void verify(int index); - void handleSongDetailInfoChanged(); - void doTestHandleMedia(int index, TInt aResult); - -private slots: - - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: // test functions - void testConstructor(); - void testSongData(); - void testHandlePlaybackMessage(); - void testHandleMedia(); - void testRetrieveSong(); - void testHandleProperty(); - void testHandleSubPlayerNames(); - -private: - - MpMpxDetailsFrameworkWrapper *mTest; - MpMpxDetailsFrameworkWrapperPrivate *mTestPrivate; - CMPXMedia *iMediaTestData; - bool mSongDetailInfoChanged; - TInt mAllocCells; - -}; - -#endif // TESTMPMPXDETAILSFRAMEWORKWRAPPER_H - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/profile.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/profile.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1168 +0,0 @@ -***************************************************************************** -* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * -* * -* EXECUTION PROFILE LISTING * -* * -* Copyright (c) 1993-2009 Testwell Oy * -***************************************************************************** - - -Symbol file(s) used : MON.sym (Mon Mar 15 17:00:37 2010) -Data file(s) used : MON.dat (Mon Mar 15 17:09:14 2010) -Listing produced at : Mon Mar 15 17:09:26 2010 -Coverage view : As instrumented - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 34 34 35 FUNCTION MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::MpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 33 33 46 FUNCTION MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::~MpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 1 0 56 FUNCTION MpMpxDetailsFrameworkWrapper::songData() - 1 59 return d_ptr -> songData ( ) - -***TER 100 % ( 2/ 2) of FUNCTION MpMpxDetailsFrameworkWrapper::songData() ------------------------------------------------------------------------------ - - 1 1 65 FUNCTION MpMpxDetailsFrameworkWrapper::retrieveSong() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapper::retrieveSong() ------------------------------------------------------------------------------ - - -***TER 100 % ( 5/ 5) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 64 FUNCTION TestMpMpxDetailsFrameworkWrapper::getStaticMetaObject() - 0 - 64 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION TestMpMpxDetailsFrameworkWrapper::getStaticMetaObject() ------------------------------------------------------------------------------ - - 87 0 67 FUNCTION TestMpMpxDetailsFrameworkWrapper::metaObject() - 0 87 - 69 ternary-?: QObject::d_ptr -> metaObject - 87 69 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION TestMpMpxDetailsFrameworkWrapper::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 72 FUNCTION TestMpMpxDetailsFrameworkWrapper::qt_metacast() - 0 0 - 74 if (! _clname) - 0 - 74 return 0 - 0 0 - 75 if (! strcmp ( _clname , qt_meta_stringdata_Te.. - 0 - 76 return static_cast < void * > ( const_cast <.. - 0 - 77 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION TestMpMpxDetailsFrameworkWrapper::qt_metacast() ------------------------------------------------------------------------------ - - 23 0 80 FUNCTION TestMpMpxDetailsFrameworkWrapper::qt_metacall() - 0 23 - 83 if (_id < 0) - 0 - 84 return _id - 23 0 - 85 if (_c == QMetaObject::InvokeMetaMethod) - 86 switch ( _id ) - 1 87 case 0: - 1 87 break - 1 88 case 1: - 1 88 break - 7 89 case 2: - 7 89 break - 7 90 case 3: - 7 90 break - 1 91 case 4: - 1 91 break - 1 92 case 5: - 1 92 break - 1 93 case 6: - 1 93 break - 1 94 case 7: - 1 94 break - 1 95 case 8: - 1 95 break - 1 96 case 9: - 1 96 break - 1 97 case 10: - 1 97 break - 0 - 98 default: - 23 102 return _id - -***TER 87 % ( 26/ 30) of FUNCTION TestMpMpxDetailsFrameworkWrapper::qt_metacall() ------------------------------------------------------------------------------ - - -***TER 66 % ( 29/ 44) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_unittest_mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 46 FUNCTION MpMpxDetailsFrameworkWrapper::getStaticMetaObject() - 0 - 46 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpMpxDetailsFrameworkWrapper::getStaticMetaObject() ------------------------------------------------------------------------------ - - 0 0 - 49 FUNCTION MpMpxDetailsFrameworkWrapper::metaObject() - 0 0 - 51 ternary-?: QObject::d_ptr -> metaObject - 0 - 51 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 0 % ( 0/ 4) of FUNCTION MpMpxDetailsFrameworkWrapper::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 54 FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacast() - 0 0 - 56 if (! _clname) - 0 - 56 return 0 - 0 0 - 57 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 58 return static_cast < void * > ( const_cast <.. - 0 - 59 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 62 FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacall() - 0 0 - 65 if (_id < 0) - 0 - 66 return _id - 0 - 67 return _id - -***TER 0 % ( 0/ 5) of FUNCTION MpMpxDetailsFrameworkWrapper::qt_metacall() ------------------------------------------------------------------------------ - - -***TER 0 % ( 0/ 19) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 34 34 43 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::MpMpxDetailsFrameworkWrapperPrivate() - 34 34 50 try - 0 - 50 catch (XLeaveException & l) - 0 - 50 catch (...) - -***TER 50 % ( 2/ 4) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::MpMpxDetailsFrameworkWrapperPrivate() ------------------------------------------------------------------------------ - - 33 33 57 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::~MpMpxDetailsFrameworkWrapperPrivate() - 33 33 61 try - 0 - 61 catch (XLeaveException & l) - 0 - 61 catch (...) - -***TER 50 % ( 2/ 4) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::~MpMpxDetailsFrameworkWrapperPrivate() ------------------------------------------------------------------------------ - - 34 34 69 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::constructProviderL() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::constructProviderL() ------------------------------------------------------------------------------ - - 33 33 85 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::destructProviderL() - 33 0 - 88 if (iPlaybackUtility) - -***TER 67 % ( 2/ 3) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::destructProviderL() ------------------------------------------------------------------------------ - - 1 1 103 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandlePlaybackMessage() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandlePlaybackMessage() ------------------------------------------------------------------------------ - - 1 1 113 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandlePropertyL() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandlePropertyL() ------------------------------------------------------------------------------ - - 1 1 121 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandleSubPlayerNamesL() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandleSubPlayerNamesL() ------------------------------------------------------------------------------ - - 27 26 129 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandleMediaL() - 1 26 135 if (KErrNone != aError) - 1 138 return - 24 2 142 if (aProperties . IsSupported ( KMPXMediaGener.. - 147 else - 24 2 151 if (aProperties . IsSupported ( KMPXMediaMusic.. - 156 else - 24 2 160 if (aProperties . IsSupported ( KMPXMediaMusic.. - 165 else - 25 1 168 if (changed) - 25 1 173 if (aProperties . IsSupported ( TMPXAttribute .. - 178 else - 24 2 184 if (aProperties . IsSupported ( KMPXMediaGener.. - 190 else - 24 2 194 if (aProperties . IsSupported ( TMPXAttribute .. - 200 else - 24 2 204 if (aProperties . IsSupported ( TMPXAttribute .. - 208 else - 24 2 213 if (aProperties . IsSupported ( TMPXAttribute .. - 218 else - 24 2 222 if (aProperties . IsSupported ( TMPXAttribute .. - 227 else - 26 0 - 231 if (changed) - -***TER 96 % ( 25/ 26) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::HandleMediaL() ------------------------------------------------------------------------------ - - 209 0 240 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::songData() - 209 243 return iSongData - -***TER 100 % ( 2/ 2) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::songData() ------------------------------------------------------------------------------ - - 1 1 249 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::retrieveSong() - 1 1 252 try - 0 - 252 catch (XLeaveException & l) - 0 - 252 catch (...) - -***TER 50 % ( 2/ 4) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::retrieveSong() ------------------------------------------------------------------------------ - - 1 1 259 FUNCTION MpMpxDetailsFrameworkWrapperPrivate::doRetrieveSongL() - -***TER 100 % ( 1/ 1) of FUNCTION MpMpxDetailsFrameworkWrapperPrivate::doRetrieveSongL() ------------------------------------------------------------------------------ - - -***TER 83 % ( 40/ 48) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 26 0 140 FUNCTION referenceGeneralTitle() - 24 2 144 if (title . Match ( KOff ) == KErrNotFound) - 26 148 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceGeneralTitle() ------------------------------------------------------------------------------ - - 26 0 151 FUNCTION referenceMusicArtist() - 24 2 155 if (artist . Match ( KOff ) == KErrNotFound) - 26 159 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceMusicArtist() ------------------------------------------------------------------------------ - - 26 0 162 FUNCTION referenceMusicAlbum() - 24 2 166 if (album . Match ( KOff ) == KErrNotFound) - 26 170 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceMusicAlbum() ------------------------------------------------------------------------------ - - 0 0 - 173 FUNCTION referenceMusicAlbumArtFileName() - 0 0 - 177 if (musicAlbumArtFileName . Match ( KOff ) == .. - 0 - 181 return result - -***TER 0 % ( 0/ 4) of FUNCTION referenceMusicAlbumArtFileName() ------------------------------------------------------------------------------ - - 26 0 184 FUNCTION referenceComment() - 24 2 188 if (musicComment . Match ( KOff ) == KErrNotFo.. - 26 192 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceComment() ------------------------------------------------------------------------------ - - 26 0 195 FUNCTION referenceComposer() - 24 2 199 if (composer . Match ( KOff ) == KErrNotFound) - 26 203 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceComposer() ------------------------------------------------------------------------------ - - 26 0 206 FUNCTION referenceYear() - 23 3 208 ternary-?: ( KAllSongsTestData [ index ] . Yea.. - 26 208 return ( KAllSongsTestData [ index ] . Year >=.. - -***TER 100 % ( 4/ 4) of FUNCTION referenceYear() ------------------------------------------------------------------------------ - - 26 0 211 FUNCTION referenceMusicAlbumTrack() - 24 2 215 if (musicAlbumTrack . Match ( KOff ) == KErrNo.. - 26 219 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceMusicAlbumTrack() ------------------------------------------------------------------------------ - - 26 0 222 FUNCTION referenceMusicGenre() - 24 2 226 if (musicGenre . Match ( KOff ) == KErrNotFound) - 26 230 return result - -***TER 100 % ( 4/ 4) of FUNCTION referenceMusicGenre() ------------------------------------------------------------------------------ - - 0 0 - 233 FUNCTION referenceMusicUri() - 0 0 - 237 if (musicUri . Match ( KOff ) == KErrNotFound) - 0 - 241 return result - -***TER 0 % ( 0/ 4) of FUNCTION referenceMusicUri() ------------------------------------------------------------------------------ - - 1 0 247 FUNCTION main() - 1 261 return res - -***TER 100 % ( 2/ 2) of FUNCTION main() ------------------------------------------------------------------------------ - - 1 1 264 FUNCTION TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 1 1 271 FUNCTION TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper() ------------------------------------------------------------------------------ - - 1 1 279 FUNCTION TestMpMpxDetailsFrameworkWrapper::initTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::initTestCase() ------------------------------------------------------------------------------ - - 1 1 286 FUNCTION TestMpMpxDetailsFrameworkWrapper::cleanupTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::cleanupTestCase() ------------------------------------------------------------------------------ - - 34 34 293 FUNCTION TestMpMpxDetailsFrameworkWrapper::init() - 298 do - 298 while ( 0 ) - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::init() ------------------------------------------------------------------------------ - - 34 34 308 FUNCTION TestMpMpxDetailsFrameworkWrapper::cleanup() - 316 do - 316 while ( 0 ) - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::cleanup() ------------------------------------------------------------------------------ - - 1 1 324 FUNCTION TestMpMpxDetailsFrameworkWrapper::testConstructor() - 326 do - 0 1 - 326 if (! QTest::qVerify ( ( mTestPrivate -> q_p.. - 0 - 326 return - 326 while ( 0 ) - 327 do - 0 1 - 327 if (! QTest::qVerify ( ( mTestPrivate -> iPl.. - 0 - 327 return - 327 while ( 0 ) - 328 do - 0 1 - 328 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 328 return - 328 while ( 0 ) - -***TER 40 % ( 4/ 10) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testConstructor() ------------------------------------------------------------------------------ - - 1 1 335 FUNCTION TestMpMpxDetailsFrameworkWrapper::testSongData() - 337 do - 0 1 - 337 if (! QTest::qCompare ( mTestPrivate -> iSon.. - 0 - 337 return - 337 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testSongData() ------------------------------------------------------------------------------ - - 1 1 340 FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleProperty() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleProperty() ------------------------------------------------------------------------------ - - 1 1 346 FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames() ------------------------------------------------------------------------------ - - 1 1 355 FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandlePlaybackMessage() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandlePlaybackMessage() ------------------------------------------------------------------------------ - - 1 1 373 FUNCTION TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData() - 375 do - 0 1 - 375 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 375 return - 375 while ( 0 ) - 376 do - 0 1 - 376 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 376 return - 376 while ( 0 ) - 377 do - 0 1 - 377 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 377 return - 377 while ( 0 ) - 378 do - 0 1 - 378 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 378 return - 378 while ( 0 ) - 379 do - 0 1 - 379 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 379 return - 379 while ( 0 ) - 380 do - 0 1 - 380 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 380 return - 380 while ( 0 ) - 381 do - 0 1 - 381 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 381 return - 381 while ( 0 ) - 382 do - 0 1 - 382 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 382 return - 382 while ( 0 ) - 383 do - 0 1 - 383 if (! QTest::qVerify ( ( mTestPrivate -> iSo.. - 0 - 383 return - 383 while ( 0 ) - -***TER 36 % ( 10/ 28) of FUNCTION TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData() ------------------------------------------------------------------------------ - - 26 26 386 FUNCTION TestMpMpxDetailsFrameworkWrapper::verify() - 388 do - 0 26 - 388 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 388 return - 388 while ( 0 ) - 389 do - 0 26 - 389 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 389 return - 389 while ( 0 ) - 390 do - 0 26 - 390 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 390 return - 390 while ( 0 ) - 392 do - 0 26 - 392 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 392 return - 392 while ( 0 ) - 393 do - 0 26 - 393 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 393 return - 393 while ( 0 ) - 394 do - 0 26 - 394 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 394 return - 394 while ( 0 ) - 395 do - 0 26 - 395 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 395 return - 395 while ( 0 ) - 396 do - 0 26 - 396 if (! QTest::qCompare ( mTestPrivate -> song.. - 0 - 396 return - 396 while ( 0 ) - -***TER 36 % ( 9/ 25) of FUNCTION TestMpMpxDetailsFrameworkWrapper::verify() ------------------------------------------------------------------------------ - - 27 27 399 FUNCTION TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia() - 1 26 404 if (aResult != KErrNone) - 408 else - -***TER 100 % ( 3/ 3) of FUNCTION TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia() ------------------------------------------------------------------------------ - - 1 1 418 FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleMedia() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testHandleMedia() ------------------------------------------------------------------------------ - - 1 1 507 FUNCTION TestMpMpxDetailsFrameworkWrapper::testRetrieveSong() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::testRetrieveSong() ------------------------------------------------------------------------------ - - 0 0 - 514 FUNCTION TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged() - -***TER 0 % ( 0/ 1) of FUNCTION TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged() ------------------------------------------------------------------------------ - - 27 27 522 FUNCTION TestMpMpxDetailsFrameworkWrapper::loadTestData() - 524 do - 524 while ( 0 ) - 26 1 525 if (iMediaTestData) - 536 do - 536 while ( 0 ) - 25 2 538 if (title . Match ( KOff ) == KErrNotFound) - 539 do - 539 while ( 0 ) - 25 2 544 if (artist . Match ( KOff ) == KErrNotFound) - 545 do - 545 while ( 0 ) - 25 2 550 if (musicAlbum . Match ( KOff ) == KErrNotFound) - 551 do - 551 while ( 0 ) - 26 1 556 if (musicAlbumArtFileName . Match ( KOff ) == .. - 557 do - 557 while ( 0 ) - 25 2 562 if (comment . Match ( KOff ) == KErrNotFound) - 563 do - 563 while ( 0 ) - 25 2 568 if (composer . Match ( KOff ) == KErrNotFound) - 569 do - 569 while ( 0 ) - 25 2 573 if (KAllSongsTestData [ aPos ] . Year != - 1) - 583 do - 583 while ( 0 ) - 584 do - 584 while ( 0 ) - 25 2 589 if (musicAlbumTrack . Match ( KOff ) == KErrNo.. - 590 do - 590 while ( 0 ) - 25 2 595 if (genre . Match ( KOff ) == KErrNotFound) - 596 do - 596 while ( 0 ) - 26 1 601 if (musicUri . Match ( KOff ) == KErrNotFound) - 602 do - 602 while ( 0 ) - 605 do - 605 while ( 0 ) - -***TER 100 % ( 23/ 23) of FUNCTION TestMpMpxDetailsFrameworkWrapper::loadTestData() ------------------------------------------------------------------------------ - - -***TER 65 % ( 96/147) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 72 FUNCTION MpSongData::getStaticMetaObject() - 0 - 72 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::getStaticMetaObject() ------------------------------------------------------------------------------ - - 0 0 - 75 FUNCTION MpSongData::metaObject() - 0 0 - 77 ternary-?: QObject::d_ptr -> metaObject - 0 - 77 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 0 % ( 0/ 4) of FUNCTION MpSongData::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 80 FUNCTION MpSongData::qt_metacast() - 0 0 - 82 if (! _clname) - 0 - 82 return 0 - 0 0 - 83 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 84 return static_cast < void * > ( const_cast <.. - 0 - 85 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpSongData::qt_metacast() ------------------------------------------------------------------------------ - - 0 0 - 88 FUNCTION MpSongData::qt_metacall() - 0 0 - 91 if (_id < 0) - 0 - 92 return _id - 0 0 - 93 if (_c == QMetaObject::InvokeMetaMethod) - 94 switch ( _id ) - 0 - 95 case 0: - 0 - 95 break - 0 - 96 case 1: - 0 - 96 break - 0 - 97 case 2: - 0 - 97 break - 0 - 98 case 3: - 0 - 98 break - 0 - 99 case 4: - 0 0 - 100 if (_a [ 0 ]) - 0 - 100 break - 0 - 101 case 5: - 0 0 - 102 if (_a [ 0 ]) - 0 - 102 break - 0 - 103 case 6: - 0 0 - 104 if (_a [ 0 ]) - 0 - 104 break - 0 - 105 case 7: - 0 0 - 106 if (_a [ 0 ]) - 0 - 106 break - 0 - 107 case 8: - 0 0 - 108 if (_a [ 0 ]) - 0 - 108 break - 0 - 109 case 9: - 0 - 109 break - 0 - 110 case 10: - 0 0 - 111 if (_a [ 0 ]) - 0 - 111 break - 0 - 112 case 11: - 0 0 - 113 if (_a [ 0 ]) - 0 - 113 break - 0 - 114 case 12: - 0 0 - 115 if (_a [ 0 ]) - 0 - 115 break - 0 - 116 case 13: - 0 0 - 117 if (_a [ 0 ]) - 0 - 117 break - 0 - 118 case 14: - 0 0 - 119 if (_a [ 0 ]) - 0 - 119 break - 0 - 120 default: - 0 - 124 return _id - -***TER 0 % ( 0/ 58) of FUNCTION MpSongData::qt_metacall() ------------------------------------------------------------------------------ - - 26 26 128 FUNCTION MpSongData::albumArtReady() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::albumArtReady() ------------------------------------------------------------------------------ - - 25 25 134 FUNCTION MpSongData::playbackInfoChanged() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::playbackInfoChanged() ------------------------------------------------------------------------------ - - 26 26 140 FUNCTION MpSongData::songDetailInfoChanged() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::songDetailInfoChanged() ------------------------------------------------------------------------------ - - -***TER 4 % ( 3/ 75) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/moc_mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 33 0 25 FUNCTION MMPXPlaybackUtility::NewL() - 33 32 return obj - -***TER 100 % ( 2/ 2) of FUNCTION MMPXPlaybackUtility::NewL() ------------------------------------------------------------------------------ - - 33 33 35 FUNCTION MMPXPlaybackUtility::ConstructL() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlaybackUtility::ConstructL() ------------------------------------------------------------------------------ - - 33 33 43 FUNCTION MMPXPlaybackUtility::~MMPXPlaybackUtility() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlaybackUtility::~MMPXPlaybackUtility() ------------------------------------------------------------------------------ - - 33 33 48 FUNCTION MMPXPlaybackUtility::MMPXPlaybackUtility() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlaybackUtility::MMPXPlaybackUtility() ------------------------------------------------------------------------------ - - 34 34 60 FUNCTION MMPXPlaybackUtility::AddObserverL() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlaybackUtility::AddObserverL() ------------------------------------------------------------------------------ - - 33 33 66 FUNCTION MMPXPlaybackUtility::RemoveObserverL() - 33 0 - 69 if (iPlaybackObserver == & aPlaybackObserver) - -***TER 67 % ( 2/ 3) of FUNCTION MMPXPlaybackUtility::RemoveObserverL() ------------------------------------------------------------------------------ - - 0 0 - 75 FUNCTION MMPXPlaybackUtility::GetClientsL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::GetClientsL() ------------------------------------------------------------------------------ - - 0 0 - 80 FUNCTION MMPXPlaybackUtility::InitL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::InitL() ------------------------------------------------------------------------------ - - 0 0 - 85 FUNCTION MMPXPlaybackUtility::InitL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::InitL() ------------------------------------------------------------------------------ - - 0 0 - 90 FUNCTION MMPXPlaybackUtility::InitL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::InitL() ------------------------------------------------------------------------------ - - 33 33 95 FUNCTION MMPXPlaybackUtility::Close() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlaybackUtility::Close() ------------------------------------------------------------------------------ - - 0 0 - 103 FUNCTION MMPXPlaybackUtility::CancelRequest() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::CancelRequest() ------------------------------------------------------------------------------ - - 0 0 - 108 FUNCTION MMPXPlaybackUtility::CommandL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::CommandL() ------------------------------------------------------------------------------ - - 0 0 - 113 FUNCTION MMPXPlaybackUtility::CommandL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::CommandL() ------------------------------------------------------------------------------ - - 0 0 - 118 FUNCTION MMPXPlaybackUtility::StateL() - 0 - 121 return iState - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::StateL() ------------------------------------------------------------------------------ - - 1 0 124 FUNCTION MMPXPlaybackUtility::Source() - 1 127 return iMpxSource - -***TER 100 % ( 2/ 2) of FUNCTION MMPXPlaybackUtility::Source() ------------------------------------------------------------------------------ - - 0 0 - 130 FUNCTION MMPXPlaybackUtility::PlayerManager() - 0 - 133 return * iMpxPlayerManager - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::PlayerManager() ------------------------------------------------------------------------------ - - 0 0 - 136 FUNCTION MMPXPlaybackUtility::SetL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::SetL() ------------------------------------------------------------------------------ - - 0 0 - 141 FUNCTION MMPXPlaybackUtility::ValueL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::ValueL() ------------------------------------------------------------------------------ - - 0 0 - 146 FUNCTION MMPXPlaybackUtility::PropertyL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::PropertyL() ------------------------------------------------------------------------------ - - 0 0 - 151 FUNCTION MMPXPlaybackUtility::SupportedMimeTypes() - 0 - 154 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::SupportedMimeTypes() ------------------------------------------------------------------------------ - - 0 0 - 157 FUNCTION MMPXPlaybackUtility::SupportedExtensions() - 0 - 160 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::SupportedExtensions() ------------------------------------------------------------------------------ - - 0 0 - 163 FUNCTION MMPXPlaybackUtility::SupportedSchemas() - 0 - 166 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::SupportedSchemas() ------------------------------------------------------------------------------ - - 0 0 - 169 FUNCTION MMPXPlaybackUtility::SetPriority() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::SetPriority() ------------------------------------------------------------------------------ - - 0 0 - 174 FUNCTION MMPXPlaybackUtility::AddSubscriptionL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::AddSubscriptionL() ------------------------------------------------------------------------------ - - 0 0 - 179 FUNCTION MMPXPlaybackUtility::RemoveSubscriptionL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::RemoveSubscriptionL() ------------------------------------------------------------------------------ - - 0 0 - 184 FUNCTION MMPXPlaybackUtility::ClearSubscriptionsL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::ClearSubscriptionsL() ------------------------------------------------------------------------------ - - 0 0 - 189 FUNCTION MMPXPlaybackUtility::InitStreamingL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::InitStreamingL() ------------------------------------------------------------------------------ - - 0 0 - 194 FUNCTION MMPXPlaybackUtility::InitStreamingL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlaybackUtility::InitStreamingL() ------------------------------------------------------------------------------ - - 0 0 - 199 FUNCTION MMPXPlaybackUtility::NewL() - 0 - 203 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::NewL() ------------------------------------------------------------------------------ - - 0 0 - 206 FUNCTION MMPXPlaybackUtility::UtilityL() - 0 - 209 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlaybackUtility::UtilityL() ------------------------------------------------------------------------------ - - 34 0 212 FUNCTION MMPXPlaybackUtility::UtilityL() - 33 1 214 if (! singleton) - 34 217 return singleton - -***TER 100 % ( 4/ 4) of FUNCTION MMPXPlaybackUtility::UtilityL() ------------------------------------------------------------------------------ - - -***TER 33 % ( 15/ 46) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 34 34 62 FUNCTION MpSongData::MpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::MpSongData() ------------------------------------------------------------------------------ - - 33 33 83 FUNCTION MpSongData::~MpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::~MpSongData() ------------------------------------------------------------------------------ - - 0 0 - 93 FUNCTION MpSongData::albumArt() - 0 0 - 96 if (! mAlbumArt . isNull ( )) - 99 else - -***TER 0 % ( 0/ 3) of FUNCTION MpSongData::albumArt() ------------------------------------------------------------------------------ - - 27 0 109 FUNCTION MpSongData::title() - 27 112 return mTitle - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::title() ------------------------------------------------------------------------------ - - 27 0 118 FUNCTION MpSongData::album() - 27 121 return mAlbum - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::album() ------------------------------------------------------------------------------ - - 27 0 127 FUNCTION MpSongData::artist() - 27 130 return mArtist - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::artist() ------------------------------------------------------------------------------ - - 27 0 136 FUNCTION MpSongData::comment() - 27 139 return mComment - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::comment() ------------------------------------------------------------------------------ - - 27 0 145 FUNCTION MpSongData::composer() - 27 148 return mComposer - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::composer() ------------------------------------------------------------------------------ - - 27 0 155 FUNCTION MpSongData::genre() - 27 158 return mGenre - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::genre() ------------------------------------------------------------------------------ - - 27 0 165 FUNCTION MpSongData::albumTrack() - 27 168 return mAlbumTrack - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::albumTrack() ------------------------------------------------------------------------------ - - 1 0 174 FUNCTION MpSongData::link() - 1 177 return mLink - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::link() ------------------------------------------------------------------------------ - - 27 0 183 FUNCTION MpSongData::year() - 27 186 return mYear - -***TER 100 % ( 2/ 2) of FUNCTION MpSongData::year() ------------------------------------------------------------------------------ - - 26 0 193 FUNCTION MpSongData::setTitle() - 23 3 197 if (title != mTitle) - 26 202 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setTitle() ------------------------------------------------------------------------------ - - 26 0 208 FUNCTION MpSongData::setAlbum() - 23 3 212 if (album != mAlbum) - 26 217 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setAlbum() ------------------------------------------------------------------------------ - - 26 0 223 FUNCTION MpSongData::setArtist() - 23 3 227 if (artist != mArtist) - 26 232 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setArtist() ------------------------------------------------------------------------------ - - 26 0 238 FUNCTION MpSongData::setComment() - 23 3 242 if (comment != mComment) - 26 247 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setComment() ------------------------------------------------------------------------------ - - 26 0 254 FUNCTION MpSongData::setComposer() - 24 2 258 if (composer != mComposer) - 26 263 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setComposer() ------------------------------------------------------------------------------ - - 26 0 269 FUNCTION MpSongData::setGenre() - 14 12 273 if (genre != mGenre) - 26 278 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setGenre() ------------------------------------------------------------------------------ - - 26 0 285 FUNCTION MpSongData::setYear() - 26 0 - 289 if (QString::number ( year ) != mYear) - 23 3 291 if (year >= 0 && year < 9999) - 293 else - 26 298 return change - -***TER 83 % ( 5/ 6) of FUNCTION MpSongData::setYear() ------------------------------------------------------------------------------ - - 26 0 304 FUNCTION MpSongData::setAlbumTrack() - 23 3 308 if (track != mAlbumTrack) - 26 313 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setAlbumTrack() ------------------------------------------------------------------------------ - - 0 0 - 319 FUNCTION MpSongData::setLink() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::setLink() ------------------------------------------------------------------------------ - - 26 26 329 FUNCTION MpSongData::setAlbumArtUri() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::setAlbumArtUri() ------------------------------------------------------------------------------ - - 0 0 - 343 FUNCTION MpSongData::thumbnailReady() - 0 0 - 351 if (error == 0 && mReqId == id) - 356 else - -***TER 0 % ( 0/ 3) of FUNCTION MpSongData::thumbnailReady() ------------------------------------------------------------------------------ - - 25 25 368 FUNCTION MpSongData::commitPlaybackInfo() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::commitPlaybackInfo() ------------------------------------------------------------------------------ - - 26 26 378 FUNCTION MpSongData::commitSongDetailInfo() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::commitSongDetailInfo() ------------------------------------------------------------------------------ - - -***TER 88 % ( 56/ 64) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 33 33 21 FUNCTION MMPXPlayerManager::MMPXPlayerManager() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXPlayerManager::MMPXPlayerManager() ------------------------------------------------------------------------------ - - 0 0 - 26 FUNCTION MMPXPlayerManager::~MMPXPlayerManager() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::~MMPXPlayerManager() ------------------------------------------------------------------------------ - - 0 0 - 31 FUNCTION MMPXPlayerManager::GetPlayerTypesL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::GetPlayerTypesL() ------------------------------------------------------------------------------ - - 0 0 - 36 FUNCTION MMPXPlayerManager::PlayerTypeDisplayNameL() - 0 - 39 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlayerManager::PlayerTypeDisplayNameL() ------------------------------------------------------------------------------ - - 0 0 - 42 FUNCTION MMPXPlayerManager::GetPlayerListL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::GetPlayerListL() ------------------------------------------------------------------------------ - - 0 0 - 47 FUNCTION MMPXPlayerManager::GetPlayerListL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::GetPlayerListL() ------------------------------------------------------------------------------ - - 0 0 - 52 FUNCTION MMPXPlayerManager::SubPlayerNamesL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::SubPlayerNamesL() ------------------------------------------------------------------------------ - - 0 0 - 57 FUNCTION MMPXPlayerManager::SelectPlayersL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::SelectPlayersL() ------------------------------------------------------------------------------ - - 0 0 - 62 FUNCTION MMPXPlayerManager::SelectSubPlayerL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::SelectSubPlayerL() ------------------------------------------------------------------------------ - - 0 0 - 67 FUNCTION MMPXPlayerManager::SelectPlayerL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::SelectPlayerL() ------------------------------------------------------------------------------ - - 0 0 - 72 FUNCTION MMPXPlayerManager::ClearSelectPlayersL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::ClearSelectPlayersL() ------------------------------------------------------------------------------ - - 0 0 - 77 FUNCTION MMPXPlayerManager::GetSelectionL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXPlayerManager::GetSelectionL() ------------------------------------------------------------------------------ - - 0 0 - 85 FUNCTION MMPXPlayerManager::CurrentPlayer() - 0 - 88 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXPlayerManager::CurrentPlayer() ------------------------------------------------------------------------------ - - -***TER 7 % ( 1/ 15) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 33 33 21 FUNCTION MMPXSource::MMPXSource() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXSource::MMPXSource() ------------------------------------------------------------------------------ - - 0 0 - 26 FUNCTION MMPXSource::~MMPXSource() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXSource::~MMPXSource() ------------------------------------------------------------------------------ - - 0 0 - 31 FUNCTION MMPXSource::PlaylistL() - 0 - 34 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXSource::PlaylistL() ------------------------------------------------------------------------------ - - 0 0 - 37 FUNCTION MMPXSource::FileL() - 0 - 40 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXSource::FileL() ------------------------------------------------------------------------------ - - 0 0 - 43 FUNCTION MMPXSource::UriL() - 0 - 46 return 0 - -***TER 0 % ( 0/ 2) of FUNCTION MMPXSource::UriL() ------------------------------------------------------------------------------ - - 1 1 49 FUNCTION MMPXSource::MediaL() - -***TER 100 % ( 1/ 1) of FUNCTION MMPXSource::MediaL() ------------------------------------------------------------------------------ - - 0 0 - 54 FUNCTION MMPXSource::MediaL() - -***TER 0 % ( 0/ 1) of FUNCTION MMPXSource::MediaL() ------------------------------------------------------------------------------ - - -***TER 20 % ( 2/ 10) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp ------------------------------------------------------------------------------ - - - - - -SUMMARY -======= - -Number of monitored source files : 10 -Number of source lines : 2029 -Number of measurement points : 612 -TER : 52% (decision) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -@rem -@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -@rem All rights reserved. -@rem This component and the accompanying materials are made available -@rem under the terms of "Eclipse Public License v1.0" -@rem which accompanies this distribution, and is available -@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". -@rem -@rem Initial Contributors: -@rem Nokia Corporation - initial contribution. -@rem -@rem Contributors: -@rem -@rem Description: -@rem - -del *.sisx -makesis UT_mpmpxpbframeworkwrapper.pkg -signsis UT_mpmpxpbframeworkwrapper.sis UT_mpmpxpbframeworkwrapper.sisx ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key -del UT_mpmpxpbframeworkwrapper.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,608 +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: Unit test for mpmpxdetailsframeworkwrapper -* -*/ - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include "unittest_mpmpxdetailsframeworkwrapper.h" -#include "stub/inc/mpxplaybackutility.h" -#include "stub/inc/mpsongdata.h" -#include "logger.h" - -// classes under test -#define private public -#include "mpmpxdetailsframeworkwrapper.h" -#include "mpmpxdetailsframeworkwrapper_p.h" -#undef private - -struct TTestAttrs - { - const wchar_t* GeneralTitle; // MpSongData::mTitle - const wchar_t* MusicArtist; // MpSongData::mArtist - const wchar_t* MusicAlbum; // MpSongData::mAlbum - const wchar_t* MusicAlbumArtFileName; // MpSongData::mAlbumArt (TODO: not tested yet) - const wchar_t* Comment; // MpSongData::mComment - const wchar_t* Composer; // MpSongData::mComposer - const TInt Year; // MpSongData::mYear - const wchar_t* MusicAlbumTrack; // MpSongData::mAlbumTrack - const wchar_t* MusicGenre; // MpSongData::mGenre - const wchar_t* MusicUri; // N/A in MpSongData (TODO: not tested yet) - }; - -// title -const TInt KTitleZeroSized = 0; -const TInt KTitleVeryLarge = 1; -const TInt KTitleOff = 2; - -// artist -const TInt KMusicArtistZeroSized = 3; -const TInt KMusicArtistLarge = 4; -const TInt KMusicArtistOff = 5; - -// album -const TInt KAlbumZeroSized = 6; -const TInt KAlbumLarge = 7; -const TInt KAlbumOff = 8; - -// comment -const TInt KCommentZeroSized = 9; -const TInt KCommentLarge = 10; -const TInt KCommentOff = 11; - -// composer -const TInt KComposerZeroSized = 12; -const TInt KComposerLarge = 13; -const TInt KComposerOff = 14; - -// year -const TInt KYearNegative = 15; -const TInt KYearZero = 16; -const TInt KYearPositive = 17; -const TInt KYearOff = 18; - -// album track -const TInt KAlbumTrackZeroSized = 19; -const TInt KAlbumTrackLarge = 20; -const TInt KAlbumTrackOff = 21; - -// genre -const TInt KGenreZeroSized = 22; -const TInt KGenreLarge = 23; -const TInt KGenreOff = 24; - -// everything is OFF -const TInt KAllFieldsOFF = 25; - -_LIT(KOff,"OFF"); - -const TTestAttrs KAllSongsTestData[] = - { - // Title - { L"", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"} - ,{ L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"} - ,{ L"OFF", L"Artist 1", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - // Artist - , { L"Title", L"", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - , { L"Title", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"} - ,{ L"Title", L"OFF", L"Album 1", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - // Album - , { L"Title", L"Artist", L"", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - , { L"Title", L"Artist", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"OFF", L"e:\\data\\images\\art1.jpg", L"Comment 1", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - // Comment - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Composer 1", 2009, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"OFF", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - // Composer - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2009, L"Track 1", L"", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", 2009, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"OFF", 2009, L"Track 1", L"", L"Uri 1"} - // Year - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", -200, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 0, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 3000, L"Track 1", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", -1, L"Track 1", L"Genre", L"Uri 1"} - // Album Track - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Genre", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"OFF", L"Genre", L"Uri 1"} - // Genre - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM LOREM IPSUM", L"Uri 1"} - , { L"Title", L"Artist", L"Album", L"e:\\data\\images\\art1.jpg", L"Comment", L"Composer 1", 2000, L"Track", L"OFF", L"Uri 1"} - // all fields OFF - , { L"OFF", L"OFF", L"OFF", L"OFF", L"OFF", L"OFF", -1, L"OFF", L"OFF", L"OFF"} - }; - -QString referenceGeneralTitle(int index) -{ - QString result; - const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[index].GeneralTitle)); - if(title.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( title.Ptr(), title.Length() ); - } - return result; -} - -QString referenceMusicArtist(int index) -{ - QString result; - const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicArtist)); - if(artist.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( artist.Ptr(), artist.Length()); - } - return result; -} - -QString referenceMusicAlbum(int index) -{ - QString result; - const TDesC& album = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbum)); - if(album.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( album.Ptr(), album.Length() ); - } - return result; -} - -QString referenceMusicAlbumArtFileName(int index) -{ - QString result; - const TDesC& musicAlbumArtFileName = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbumArtFileName)); - if(musicAlbumArtFileName.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( musicAlbumArtFileName.Ptr(), musicAlbumArtFileName.Length() ); - } - return result; -} - -QString referenceComment(int index) -{ - QString result; - const TDesC& musicComment = TPtrC(reinterpret_cast(KAllSongsTestData[index].Comment)); - if(musicComment.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( musicComment.Ptr(), musicComment.Length() ); - } - return result; -} - -QString referenceComposer(int index) -{ - QString result; - const TDesC& composer = TPtrC(reinterpret_cast(KAllSongsTestData[index].Composer)); - if(composer.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( composer.Ptr(), composer.Length() ); - } - return result; -} - -int referenceYear(int index) -{ - return (KAllSongsTestData[index].Year >= 0) ? KAllSongsTestData[index].Year : 0; -} - -QString referenceMusicAlbumTrack(int index) -{ - QString result; - const TDesC& musicAlbumTrack = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicAlbumTrack)); - if(musicAlbumTrack.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( musicAlbumTrack.Ptr(), musicAlbumTrack.Length() ); - } - return result; -} - -QString referenceMusicGenre(int index) -{ - QString result; - const TDesC& musicGenre = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicGenre)); - if(musicGenre.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( musicGenre.Ptr(), musicGenre.Length() ); - } - return result; -} - -QString referenceMusicUri(int index) -{ - QString result; - const TDesC& musicUri = TPtrC(reinterpret_cast(KAllSongsTestData[index].MusicUri)); - if(musicUri.Match(KOff) == KErrNotFound) - { - result = QString::fromUtf16( musicUri.Ptr(), musicUri.Length() ); - } - return result; -} - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpMpxDetailsFrameworkWrapper tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxdetailsframeworkwrapper.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpMpxDetailsFrameworkWrapper::TestMpMpxDetailsFrameworkWrapper() - : mTest(0), - iMediaTestData(0), - mSongDetailInfoChanged(false) -{ -} - -TestMpMpxDetailsFrameworkWrapper::~TestMpMpxDetailsFrameworkWrapper() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpMpxDetailsFrameworkWrapper::initTestCase() -{ -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpMpxDetailsFrameworkWrapper::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpMpxDetailsFrameworkWrapper::init() -{ - User::__DbgMarkStart(RHeap::EUser); - TInt freeCount(0); - mAllocCells = User::CountAllocCells(freeCount); - TRACE3("TestMpMpxDetailsFrameworkWrapper::init() -- allocCount: %d, freeCount: %d", - mAllocCells, freeCount ); - - mTest = new MpMpxDetailsFrameworkWrapper(); - mTestPrivate = mTest->d_ptr; -} - -/*! - Called after every testfunction. - */ -void TestMpMpxDetailsFrameworkWrapper::cleanup() -{ - delete mTest; - mTest = 0; - mTestPrivate = 0; - - TInt freeCount(0); - TInt allocCount = User::CountAllocCells(freeCount); - TRACE3( "TestMpMpxDetailsFrameworkWrapper::cleanup() -- allocCount: %d, freeCount: %d", - allocCount, freeCount ); - User::__DbgMarkEnd(RHeap::EUser,0); // this should panic if leak -} - -/*! - Tests constructor. - */ -void TestMpMpxDetailsFrameworkWrapper::testConstructor() -{ - QVERIFY( mTestPrivate->q_ptr ); - QVERIFY( mTestPrivate->iPlaybackUtility ); - QVERIFY( mTestPrivate->iSongData ); - // TODO: test observer? -} - -/*! - Tests playbackData - */ -void TestMpMpxDetailsFrameworkWrapper::testSongData() -{ - QCOMPARE(mTestPrivate->iSongData, mTest->songData()); -} - -void TestMpMpxDetailsFrameworkWrapper::testHandleProperty() -{ - // dummy call just to get coverage up. Empty imp in function under test - mTestPrivate->HandlePropertyL(EPbPropertyVolume, 0, 0); -} - -void TestMpMpxDetailsFrameworkWrapper::testHandleSubPlayerNames() -{ - // dummy call just to get coverage up. Empty imp in function under test - mTestPrivate->HandleSubPlayerNamesL(TUid::Null(), 0, 0, 0); -} - -/*! - Tests testHandlePlaybackMessage - */ -void TestMpMpxDetailsFrameworkWrapper::testHandlePlaybackMessage() -{ - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMessageContentIdGeneral ); - CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array()); - CleanupStack::PopAndDestroy(&supportedIds); - CleanupStack::PushL(testMessage); - testMessage->SetTObjectValueL( KMPXMessageGeneralId, KMPXMessageGeneral); - - //Media change - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - CleanupStack::PopAndDestroy(testMessage); -} - -void TestMpMpxDetailsFrameworkWrapper::verifyEmptyTestData() -{ - QVERIFY(mTestPrivate->iSongData->title().isEmpty()); - QVERIFY(mTestPrivate->iSongData->album().isEmpty()); - QVERIFY(mTestPrivate->iSongData->artist().isEmpty()); - QVERIFY(mTestPrivate->iSongData->comment().isEmpty()); - QVERIFY(mTestPrivate->iSongData->year().isEmpty()); - QVERIFY(mTestPrivate->iSongData->genre().isEmpty()); - QVERIFY(mTestPrivate->iSongData->composer().isEmpty()); - QVERIFY(mTestPrivate->iSongData->albumTrack().isEmpty()); - QVERIFY(mTestPrivate->iSongData->link().isEmpty()); -} - -void TestMpMpxDetailsFrameworkWrapper::verify(int index) -{ - QCOMPARE(mTestPrivate->songData()->title(), referenceGeneralTitle( index )); - QCOMPARE(mTestPrivate->songData()->album(), referenceMusicAlbum( index )); - QCOMPARE(mTestPrivate->songData()->artist(), referenceMusicArtist( index )); - // TODO: how to verify albumArt ? - QCOMPARE(mTestPrivate->songData()->comment(), referenceComment( index )); - QCOMPARE(mTestPrivate->songData()->composer(), referenceComposer( index )); - QCOMPARE(mTestPrivate->songData()->year().toInt(), referenceYear( index )); - QCOMPARE(mTestPrivate->songData()->albumTrack(), referenceMusicAlbumTrack( index )); - QCOMPARE(mTestPrivate->songData()->genre(), referenceMusicGenre( index )); -} - -void TestMpMpxDetailsFrameworkWrapper::doTestHandleMedia(int dataIndex, TInt aResult) -{ - init(); - loadTestData(dataIndex); - mTestPrivate->HandleMediaL(*iMediaTestData, aResult); - if(aResult != KErrNone) - { - verifyEmptyTestData(); - } - else - { - verify(dataIndex); - } - cleanup(); -} - -/* - Tests handleMedia -*/ -void TestMpMpxDetailsFrameworkWrapper::testHandleMedia() -{ - // testing passing error code. iSongData should not be modified - // as it got constructed fresh with init(), all its string - // members must be empty - doTestHandleMedia(KTitleZeroSized, KErrGeneral); - - // Testing zero sized title - doTestHandleMedia(KTitleZeroSized, KErrNone); - - // very large title - doTestHandleMedia(KTitleVeryLarge, KErrNone); - - // Testing title field OFF - doTestHandleMedia(KTitleOff, KErrNone); - - // Testing artist empty string - doTestHandleMedia(KMusicArtistZeroSized, KErrNone); - - // Testing artist long - doTestHandleMedia(KMusicArtistLarge, KErrNone); - - // Testing artist field OFF - doTestHandleMedia(KMusicArtistOff, KErrNone); - - // Testing album zero sized - doTestHandleMedia(KAlbumZeroSized, KErrNone); - - // Testing album long - doTestHandleMedia(KAlbumLarge, KErrNone); - - // Testing album off - doTestHandleMedia(KAlbumOff, KErrNone); - - // Testing comment zero sized - doTestHandleMedia(KCommentZeroSized, KErrNone); - - // Testing comment large - doTestHandleMedia(KCommentLarge, KErrNone); - - // Testing comment OFF - doTestHandleMedia(KCommentOff, KErrNone); - - // Testing composer zero sized - doTestHandleMedia(KComposerZeroSized, KErrNone); - - // Testing composer large - doTestHandleMedia(KComposerLarge, KErrNone); - - // Testing composer OFF - doTestHandleMedia(KComposerOff, KErrNone); - - // Testing year negative - doTestHandleMedia(KYearNegative, KErrNone); - - // Testing year 0 - doTestHandleMedia(KYearZero, KErrNone); - - // Testing year + - doTestHandleMedia(KYearPositive, KErrNone); - - // Testing year OFF - doTestHandleMedia(KYearOff, KErrNone); - - // Testing album track zero sized - doTestHandleMedia(KAlbumTrackZeroSized, KErrNone); - - // Testing album track large - doTestHandleMedia(KAlbumTrackLarge, KErrNone); - - // Testing album track OFF - doTestHandleMedia(KAlbumTrackOff, KErrNone); - - // Testing genre zero sized - doTestHandleMedia(KGenreZeroSized, KErrNone); - - // Testing genre large - doTestHandleMedia(KGenreLarge, KErrNone); - - // Testing genre OFF - doTestHandleMedia(KGenreOff, KErrNone); - - // Testing all fields OFF - doTestHandleMedia(KAllFieldsOFF, KErrNone); -} - -/*! - Tests retrieveSong - */ -void TestMpMpxDetailsFrameworkWrapper::testRetrieveSong() -{ - mTest->retrieveSong(); // async - // no need to verify the data received. As we already - // tested them in testHandleMedia -} - -void TestMpMpxDetailsFrameworkWrapper::handleSongDetailInfoChanged() -{ - mSongDetailInfoChanged = true; -} - -/*! - Used to load test data - */ -void TestMpMpxDetailsFrameworkWrapper::loadTestData( TInt aPos ) -{ - TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData entry"); - if( iMediaTestData ){ - delete iMediaTestData; - iMediaTestData=0; - } - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMediaIdMusic ); - supportedIds.AppendL( KMPXMediaIdGeneral ); - iMediaTestData = CMPXMedia::NewL( supportedIds.Array() ); - CleanupStack::PopAndDestroy( &supportedIds ); - - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Loading %d.th data entry", aPos); - TPtrC title( reinterpret_cast( KAllSongsTestData[aPos].GeneralTitle ) ); - if(title.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding title: %S to iMediaTestData", &title); - iMediaTestData->SetTextValueL( KMPXMediaGeneralTitle, title ); - } - - TPtrC artist( reinterpret_cast( KAllSongsTestData[aPos].MusicArtist ) ); - if(artist.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding artist: %S to iMediaTestData", &artist); - iMediaTestData->SetTextValueL( KMPXMediaMusicArtist, artist ); - } - - TPtrC musicAlbum( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbum ) ); - if(musicAlbum.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbum: %S to iMediaTestData", &musicAlbum); - iMediaTestData->SetTextValueL( KMPXMediaMusicAlbum, musicAlbum ); - } - - TPtrC musicAlbumArtFileName( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbumArtFileName ) ); - if(musicAlbumArtFileName.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumArtFileName: %S to iMediaTestData", &musicAlbumArtFileName); - iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumArtFileName, musicAlbumArtFileName ); - } - - TPtrC comment( reinterpret_cast( KAllSongsTestData[aPos].Comment ) ); - if(comment.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding comment: %S to iMediaTestData", &comment); - iMediaTestData->SetTextValueL( KMPXMediaGeneralComment, comment); - } - - TPtrC composer( reinterpret_cast( KAllSongsTestData[aPos].Composer ) ); - if(composer.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding composer: %S to iMediaTestData", &composer); - iMediaTestData->SetTextValueL( KMPXMediaMusicComposer, composer); - } - - if(KAllSongsTestData[aPos].Year != -1) { - TDateTime date_time; - date_time.SetYear(KAllSongsTestData[aPos].Year); - date_time.SetMonth(EJanuary); - date_time.SetDay(1); - date_time.SetHour(0); - date_time.SetMinute(0); - date_time.SetSecond(0); - date_time.SetMicroSecond(0); - TTime date(date_time); - TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding year: %d in %LD to iMediaTestData", KAllSongsTestData[aPos].Year, date.Int64()); - TRACE3("TestMpMpxDetailsFrameworkWrapper::loadTestData Is year %d equal to %d", KAllSongsTestData[aPos].Year, date.DateTime().Year()); - iMediaTestData->SetTObjectValueL( KMPXMediaMusicYear, date.Int64() ); - } - - TPtrC musicAlbumTrack( reinterpret_cast( KAllSongsTestData[aPos].MusicAlbumTrack ) ); - if(musicAlbumTrack.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicAlbumTrack: %S to iMediaTestData", &musicAlbumTrack); - iMediaTestData->SetTextValueL( KMPXMediaMusicAlbumTrack, musicAlbumTrack); - } - - TPtrC genre( reinterpret_cast( KAllSongsTestData[aPos].MusicGenre ) ); - if(genre.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding genre: %S to iMediaTestData", &genre); - iMediaTestData->SetTextValueL( KMPXMediaMusicGenre, genre); - } - - TPtrC musicUri( reinterpret_cast( KAllSongsTestData[aPos].MusicUri ) ); - if(musicUri.Match(KOff) == KErrNotFound) { - TRACE2("TestMpMpxDetailsFrameworkWrapper::loadTestData Adding musicUri: %S to iMediaTestData", &musicUri); - iMediaTestData->SetTextValueL( KMPXMediaGeneralUri, musicUri); - } - TRACE("TestMpMpxDetailsFrameworkWrapper::loadTestData exit"); -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +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: Metadata of song for details view. -* -*/ - -#ifndef MPSONGDATA_H -#define MPSONGDATA_H - -#include -#include -#include - -//forward declartions -class QIcon; - -//class declaration -class MpSongData : public QObject -{ - Q_OBJECT - -public: - explicit MpSongData( QObject *parent=0 ); - virtual ~MpSongData(); - - bool setTitle( const QString &title ); - bool setAlbum( const QString &album ); - bool setArtist( const QString &artist ); - bool setComment( const QString &comment ); - void setAlbumArtUri( const QString &albumArtUri ); - bool setYear( int date ); - bool setGenre( const QString &genre ); - bool setComposer( const QString &compoer ); - bool setAlbumTrack( const QString &albumtrack ); - void setLink( const QString &link ); - - // inform details view when basic information is ready to accelerate UI update - void commitPlaybackInfo(); - // inform details view when details information is ready - void commitSongDetailInfo(); - -public slots: - void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); - - int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } - - QString title() const; - QString album() const; - QString artist() const; - QString comment() const; - void albumArt( QPixmap& pixmap ); - QString year() const; - QString genre() const; - QString composer() const; - QString albumTrack() const; - QString link() const; - -signals: - void albumArtReady(); - void playbackInfoChanged(); - void songDetailInfoChanged(); - -private: - QString mTitle; - QString mAlbum; - QString mArtist; - QString mComment; - QString mComposer; - QString mGenre; - QString mYear; - QString mAlbumTrack; - QPixmap mAlbumArt; - TInt mReqId; - QString currentAAUri; - QPixmap mDefaultAlbumArt; - QString mLink; - - Q_DISABLE_COPY(MpSongData) -}; - -#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - - -#ifndef MMPXPLAYBACKUTILITY_H -#define MMPXPLAYBACKUTILITY_H - -#include "stub/inc/mpxplayermanager.h" -#include "stub/inc/mpxsource.h" -#include -#include -#include -#include - -//Forward declarations -class CMPXCollectionPlaylist; -class MMPXPlaybackObserver; -class MMPXPlaybackCallback; -class CAsyncCallBack; -class CMPXSubscription; - -class MMPXPlaybackUtility -{ -public: - ~MMPXPlaybackUtility(); - -protected: - MMPXPlaybackUtility(); - void ConstructL(); - -public: // MMPXPlaybackUtility's overridden (stubbed by us) functions - static MMPXPlaybackUtility* NewL(const TUid& aModeId = KPbModeDefault, - MMPXPlaybackObserver* aObs=NULL); - - static MMPXPlaybackUtility* NewL(const TMPXCategory aCategory, - const TUid& aModeId = KPbModeDefault, - MMPXPlaybackObserver* aObs=NULL); - static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault ); - static MMPXPlaybackUtility* UtilityL(const TMPXCategory aCategory, - const TUid& aModeId = KPbModeDefault ); - -public: // MMPXPlaybackUtility stubbed pure virtuals - void AddObserverL(MMPXPlaybackObserver& aPlaybackObserver); - void RemoveObserverL(MMPXPlaybackObserver& aPlaybackObserver); - void GetClientsL(RArray& aClients); - void InitL(const CMPXCollectionPlaylist& aPlaylist, TBool aPlay=ETrue); - void InitL(const TDesC& aUri, const TDesC8* aType=NULL); - void InitL(RFile& aShareableFile); - void Close(); - void CancelRequest(); - void CommandL(TMPXPlaybackCommand aCmd, TInt aData=0); - void CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback=NULL); - TMPXPlaybackState StateL() const; - MMPXSource* Source(); - MMPXPlayerManager& PlayerManager(); - void SetL(TMPXPlaybackProperty aProperty, TInt aValue); - void ValueL(MMPXPlaybackCallback& aCallback, TMPXPlaybackProperty aProperty); - void PropertyL(MMPXPlaybackCallback& aCallback, TMPXPlaybackProperty aProperty); - CDesCArray* SupportedMimeTypes(); - CDesCArray* SupportedExtensions(); - CDesCArray* SupportedSchemas(); - void SetPriority( TInt aPriority ); - void AddSubscriptionL(const CMPXSubscription& aSubscription); - void RemoveSubscriptionL(const CMPXSubscription& aSubscription); - void ClearSubscriptionsL(); - void InitStreamingL(const TDesC& aUri, const TDesC8* aType, const TInt aAccessPoint); - void InitStreamingL(RFile& aShareableFile, const TInt aAccessPoint); - -private: - MMPXSource* iMpxSource; - MMPXPlayerManager* iMpxPlayerManager; - MMPXPlaybackObserver* iPlaybackObserver; - MMPXPlaybackCallback* iPlaybackCallback; - TMPXPlaybackState iState; - CAsyncCallBack* iOneShot; - -private: - static MMPXPlaybackUtility* singleton; -}; - -#endif // MMPXPLAYBACKUTILITY_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - - -#ifndef MPXPLAYERMANAGER_H -#define MPXPLAYERMANAGER_H - -#include -#include -#include - -class MMPXPlayer; -class MMPXPlaybackCallback; - -class MMPXPlayerManager -{ -public: - MMPXPlayerManager(); - ~MMPXPlayerManager(); - -public: // MMPXPlayerManager - void GetPlayerTypesL(RArray& aTypes); - HBufC* PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType); - void GetPlayerListL(RArray& aPlayers); - void GetPlayerListL(RArray& aPlayers, TMPXPlaybackPlayerType aType); - void SubPlayerNamesL(MMPXPlaybackCallback& aCallback, TUid aPlayer); - void SelectPlayersL(TMPXPlaybackPlayerType aType); - void SelectSubPlayerL(TUid aPlayer, TInt aSubPlayerIndex); - void SelectPlayerL(TUid aPlayer); - void ClearSelectPlayersL(); - void GetSelectionL(TMPXPlaybackPlayerType& aType, - TUid& aPlayer, - TInt& aSubPlayerIndex, - HBufC*& aSubPlayerName); - MMPXPlayer* CurrentPlayer(); -}; - -#endif // MPXPLAYERMANAGER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - - -#ifndef MPXSOURCE_H -#define MPXSOURCE_H - -#include -#include -#include - -class CMPXCollectionPlaylist; -class MMPXPlaybackCallback; -class TMPXAttribute; -class CMPXAttributeSpecs; - -class MMPXSource -{ -public: - MMPXSource(); - ~MMPXSource(); - -public: // MMPXSource - CMPXCollectionPlaylist* PlaylistL(); - RFile* FileL(); - HBufC* UriL(); - void MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback); - void MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback, - CMPXAttributeSpecs* aSpecs); -}; - -#endif // MPXSOURCE_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,384 +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: Playback Data provider for playback view. -* -*/ - - -#include -#include - -#include -#include -#include - -#include "mpsongdata.h" -#include "mptrace.h" - - -const int KUndefined = -1; - -/*! - \class MpSongData - \brief Music Player song metadata. - - Song data provide acces to current playing song metadata -*/ - -/*! - \fn void albumArtReady() - - This signal is albuma alrt is ready. - */ - -/*! - \fn void playbackInfoChanged() - - This signal is emitted when basic information is available - */ - -/*! - \fn void songDetailInfoChanged() - - This signal is emitted when detail information is available - */ - - - -/*! - Constructs a new MpSongData. - */ -MpSongData::MpSongData( QObject *parent ) - : QObject( parent ), - mTitle( NULL ), - mAlbum( NULL ), - mArtist( NULL ), - mComposer( NULL), - mGenre( NULL ), - mYear( NULL ), - mAlbumTrack( NULL ), - mAlbumArt(), - mReqId( KUndefined ) -{ - TX_ENTRY_ARGS("STUB") - - mDefaultAlbumArt = QPixmap( ":/playbackviewicons/defaultalbumart.png" ); - TX_EXIT_ARGS("STUB") -} - -/*! - Constructs a new MpSongData. - */ -MpSongData::~MpSongData() -{ - TX_ENTRY_ARGS("STUB") - - TX_EXIT_ARGS("STUB") -} - -/*! - Returns the song album art on \a pixmap. -*/ -void MpSongData::albumArt( QPixmap& pixmap ) -{ - TX_ENTRY_ARGS("STUB") - if ( !mAlbumArt.isNull() ) { - pixmap = mAlbumArt; - } - else { - pixmap = QPixmap(); - } - TX_EXIT_ARGS("STUB") -} - - -/*! - Returns the song title. -*/ -QString MpSongData::title() const -{ - TX_ENTRY_ARGS("STUB") - return mTitle; -} - -/*! - Returns the song album. -*/ -QString MpSongData::album() const -{ - TX_ENTRY_ARGS("STUB") - return mAlbum; -} - -/*! - Returns the song artist. -*/ -QString MpSongData::artist() const -{ - TX_ENTRY_ARGS("STUB") - return mArtist; -} - -/*! - Returns comment -*/ -QString MpSongData::comment() const -{ - TX_ENTRY_ARGS("STUB") - return mComment; -} - -/*! - Returns the song composer. -*/ -QString MpSongData::composer() const -{ - TX_ENTRY_ARGS("STUB") - return mComposer; -} - - -/*! - Returns the song genre. -*/ -QString MpSongData::genre() const -{ - TX_ENTRY_ARGS("STUB") - return mGenre; -} - - -/*! - Returns the album track. -*/ -QString MpSongData::albumTrack() const -{ - TX_ENTRY_ARGS("STUB") - return mAlbumTrack; -} - -/*! - Returns link -*/ -QString MpSongData::link() const -{ - TX_ENTRY_ARGS("STUB") - return mLink; -} - -/*! - Returns the release date. -*/ -QString MpSongData::year() const -{ - TX_ENTRY_ARGS("STUB") - return mYear; -} - - -/*! - Sets the song \a title, returns true if the value is new. -*/ -bool MpSongData::setTitle( const QString &title ) -{ - TX_ENTRY_ARGS("STUB title =" << title ) - bool change = false; - if ( title != mTitle ) { - change = true; - mTitle = title; - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the song \a album, returns true if the value is new. -*/ -bool MpSongData::setAlbum( const QString &album ) -{ - TX_ENTRY_ARGS("STUB album =" << album ) - bool change = false; - if ( album != mAlbum ) { - change = true; - mAlbum = album; - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the song \a artist, returns true if the value is new. -*/ -bool MpSongData::setArtist( const QString &artist ) -{ - TX_ENTRY_ARGS("STUB artist =" << artist ) - bool change = false; - if ( artist != mArtist ) { - change = true; - mArtist = artist; - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the song \a comment, returns true if the value is new. -*/ -bool MpSongData::setComment( const QString &comment) -{ - TX_ENTRY_ARGS("STUB comment =" << comment ) - bool change = false; - if ( comment != mComment ) { - change = true; - mComment = comment; - } - TX_EXIT_ARGS("STUB") - return change; -} - - -/*! - Sets the song \a composer, returns true if the value is new. -*/ -bool MpSongData::setComposer( const QString &composer ) -{ - TX_ENTRY_ARGS("STUB composer =" << composer ) - bool change = false; - if ( composer != mComposer ) { - change = true; - mComposer = composer; - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the song \a genre, returns true if the value is new. -*/ -bool MpSongData::setGenre( const QString &genre ) -{ - TX_ENTRY_ARGS("STUB genre =" << genre ) - bool change = false; - if ( genre != mGenre ) { - change = true; - mGenre = genre; - } - TX_EXIT_ARGS("STUB") - return change; -} - - -/*! - Sets the song \a date, returns true if the value is new. -*/ -bool MpSongData::setYear( int year ) -{ - TX_ENTRY_ARGS("STUB year =" << year ) - bool change = false; - if ( QString::number(year) != mYear ) { - change = true; - if ( year >= 0 && year < 9999 ) { - mYear = QString::number(year); - } else { - mYear = QString(); - } - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the \a album track, returns true if the value is new. -*/ -bool MpSongData::setAlbumTrack( const QString &track ) -{ - TX_ENTRY_ARGS("STUB track =" << track ) - bool change = false; - if ( track != mAlbumTrack ) { - change = true; - mAlbumTrack = track; - } - TX_EXIT_ARGS("STUB") - return change; -} - -/*! - Sets the \a link -*/ -void MpSongData::setLink( const QString &link ) -{ - TX_ENTRY_ARGS("STUB Link =" << link ) - mLink = link; - TX_EXIT_ARGS("STUB") -} - -/*! - Sets the song \a albumArtUri. -*/ -void MpSongData::setAlbumArtUri( const QString &albumArtUri) -{ - TX_ENTRY_ARGS("STUB albumArtUri =" << albumArtUri ) - - // No album art uri. Set default album art. - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - TX_EXIT_ARGS("STUB") -} - - -/*! - Slot to handle the album art thumb. -*/ -void MpSongData::thumbnailReady( - const QPixmap& pixmap, - void *data, - int id, - int error ) -{ - TX_ENTRY_ARGS("STUB") - Q_UNUSED( data ); - if ( error == 0 && mReqId == id ) { - mReqId = 0; - mAlbumArt = pixmap; - emit albumArtReady(); - } - else { - mReqId = 0; - mAlbumArt = mDefaultAlbumArt; - emit albumArtReady(); - } - - TX_EXIT_ARGS("STUB") -} - -/*! - Emit signal when playback information changed, such as artist, track name -*/ -void MpSongData::commitPlaybackInfo() -{ - TX_ENTRY_ARGS("STUB") - emit playbackInfoChanged(); - TX_EXIT_ARGS("STUB") -} - -/*! - Emit signal when song detail information changed -*/ -void MpSongData::commitSongDetailInfo() -{ - TX_ENTRY_ARGS("STUB") - emit songDetailInfoChanged(); - TX_EXIT_ARGS("STUB") -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,220 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - -#include "stub/inc/mpxplaybackutility.h" -#include "stub/inc/mpxplayermanager.h" -#include "stub/inc/mpxsource.h" -#include "mptrace.h" - -MMPXPlaybackUtility* MMPXPlaybackUtility::singleton = NULL; - -MMPXPlaybackUtility* MMPXPlaybackUtility::NewL(const TUid& /*aModeId*/, - MMPXPlaybackObserver* /*aObs*/) -{ - MMPXPlaybackUtility* obj = new(ELeave) MMPXPlaybackUtility(); - CleanupStack::PushL(obj); - obj->ConstructL(); - CleanupStack::Pop(obj); - return obj; -} - -void MMPXPlaybackUtility::ConstructL() -{ - TX_ENTRY_ARGS("STUB") - iMpxPlayerManager = new(ELeave) MMPXPlayerManager(); - iMpxSource = new(ELeave) MMPXSource(); - TX_EXIT_ARGS("STUB") -} - -MMPXPlaybackUtility::~MMPXPlaybackUtility() -{ - TX_ENTRY_ARGS("STUB") -} - -MMPXPlaybackUtility::MMPXPlaybackUtility() - : iMpxSource(0), - iMpxPlayerManager(0), - iPlaybackObserver(0), - iPlaybackCallback(0), - iState(EPbStateNotInitialised), - iOneShot(0) -{ - TX_ENTRY_ARGS("STUB") -} - - -void MMPXPlaybackUtility::AddObserverL(MMPXPlaybackObserver& aPlaybackObserver) -{ - TX_ENTRY_ARGS("STUB") - iPlaybackObserver = &aPlaybackObserver; -} - -void MMPXPlaybackUtility::RemoveObserverL(MMPXPlaybackObserver& aPlaybackObserver) -{ - TX_ENTRY_ARGS("STUB") - if(iPlaybackObserver == &aPlaybackObserver) - { - iPlaybackObserver = NULL; - } -} - -void MMPXPlaybackUtility::GetClientsL(RArray& /*aClients*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::InitL(const CMPXCollectionPlaylist& /*aPlaylist*/, TBool /*aPlay*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::InitL(const TDesC& /*aUri*/, const TDesC8* /*aType*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::InitL(RFile& /*aShareableFile*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::Close() -{ - TX_ENTRY_ARGS("STUB") - delete singleton; - singleton = NULL; - TX_EXIT_ARGS("STUB") -} - -void MMPXPlaybackUtility::CancelRequest() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand /*aCmd*/, TInt /*aData*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::CommandL(CMPXCommand& /*aCmd*/, MMPXPlaybackCallback* /*aCallback*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -TMPXPlaybackState MMPXPlaybackUtility::StateL() const -{ - TX_ENTRY_ARGS("STUB") - return iState; -} - -MMPXSource* MMPXPlaybackUtility::Source() -{ - TX_ENTRY_ARGS("STUB") - return iMpxSource; -} - -MMPXPlayerManager& MMPXPlaybackUtility::PlayerManager() -{ - TX_ENTRY_ARGS("STUB") - return *iMpxPlayerManager; -} - -void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty /*aProperty*/, TInt /*aValue*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::ValueL(MMPXPlaybackCallback& /*aCallback*/, TMPXPlaybackProperty /*aProperty*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::PropertyL(MMPXPlaybackCallback& /*aCallback*/, TMPXPlaybackProperty /*aProperty*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -CDesCArray* MMPXPlaybackUtility::SupportedMimeTypes() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -CDesCArray* MMPXPlaybackUtility::SupportedExtensions() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -CDesCArray* MMPXPlaybackUtility::SupportedSchemas() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -void MMPXPlaybackUtility::SetPriority( TInt /*aPriority*/ ) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::AddSubscriptionL(const CMPXSubscription& /*aSubscription*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::RemoveSubscriptionL(const CMPXSubscription& /*aSubscription*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::ClearSubscriptionsL() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::InitStreamingL(const TDesC& /*aUri*/, const TDesC8* /*aType*/, const TInt /*aAccessPoint*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlaybackUtility::InitStreamingL(RFile& /*aShareableFile*/, const TInt /*aAccessPoint*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -MMPXPlaybackUtility* MMPXPlaybackUtility::NewL(const TMPXCategory /*aCategory*/, - const TUid& /*aModeId*/, - MMPXPlaybackObserver* /*aObs*/) -{ - return 0; -} - -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TMPXCategory /*aCategory*/, - const TUid& /*aModeId*/ ) -{ - return 0; -} - -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& /*aModeId*/ ) -{ - if(!singleton) { - singleton = MMPXPlaybackUtility::NewL(); - } - return singleton; -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - -#include "stub/inc/mpxplayermanager.h" -#include "mptrace.h" - -MMPXPlayerManager::MMPXPlayerManager() -{ - TX_ENTRY_ARGS("STUB") -} - -MMPXPlayerManager::~MMPXPlayerManager() -{ - TX_ENTRY_ARGS("STUB") -} - -void MMPXPlayerManager::GetPlayerTypesL(RArray& aTypes) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -HBufC* MMPXPlayerManager::PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -void MMPXPlayerManager::GetPlayerListL(RArray& aPlayers) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::GetPlayerListL(RArray& aPlayers, TMPXPlaybackPlayerType aType) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::SubPlayerNamesL(MMPXPlaybackCallback& aCallback, TUid aPlayer) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::SelectPlayersL(TMPXPlaybackPlayerType aType) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::SelectSubPlayerL(TUid aPlayer, TInt aSubPlayerIndex) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::SelectPlayerL(TUid aPlayer) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::ClearSelectPlayersL() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -void MMPXPlayerManager::GetSelectionL(TMPXPlaybackPlayerType& aType, - TUid& /*aPlayer*/, - TInt& /*aSubPlayerIndex*/, - HBufC*& /*aSubPlayerName*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} - -MMPXPlayer* MMPXPlayerManager::CurrentPlayer() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - -#include "mpxsource.h" -#include "mptrace.h" - -MMPXSource::MMPXSource() -{ - TX_ENTRY_ARGS("STUB") -} - -MMPXSource::~MMPXSource() -{ - TX_ENTRY_ARGS("STUB") -} - -CMPXCollectionPlaylist* MMPXSource::PlaylistL() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -RFile* MMPXSource::FileL() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -HBufC* MMPXSource::UriL() -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") - return 0; -} - -void MMPXSource::MediaL(const TArray& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/) -{ - TX_ENTRY_ARGS("STUB") -} - -void MMPXSource::MediaL(const TArray& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/, - CMPXAttributeSpecs* /*aSpecs*/) -{ - TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp") -} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +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: Unit test for mpmpxpbframeworkwrapper -TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = - -TARGET.CAPABILITY = All -TCB - -DEPENDPATH += . -INCLUDEPATH += ./stub/inc \ - ../../inc \ - ../../../../inc - -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += -lestor.dll \ - -lfbscli.dll \ - -lmpxcommon.dll \ - -lthumbnailmanagerqt.dll - - -HEADERS += inc/unittest_mpmpxdetailsframeworkwrapper.h \ - stub/inc/mpsongdata.h \ - stub/inc/mpxplaybackutility.h \ - stub/inc/mpxplayermanager.h \ - stub/inc/mpxsource.h \ - ../../inc/mpmpxdetailsframeworkwrapper.h \ - ../../inc/mpmpxdetailsframeworkwrapper_p.h - -SOURCES += src/unittest_mpmpxdetailsframeworkwrapper.cpp \ - stub/src/mpxplaybackutility.cpp \ - stub/src/mpsongdata.cpp \ - stub/src/mpxplayermanager.cpp \ - stub/src/mpxsource.cpp \ - ../../src/mpmpxdetailsframeworkwrapper.cpp \ - ../../src/mpmpxdetailsframeworkwrapper_p.cpp - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/UT_mpquerymanager.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/UT_mpquerymanager.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,31 @@ +; +; 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: +; +; Language +&EN + +; SIS header: name, uid, version +#{"unittest_mpdetailsviewplugin"},(0xE2a2a2ad),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + +; Executable and default resource files +"/epoc32/release/armv5/udeb/unittest_mpquerymanager.exe" - "!:\sys\bin\unittest_mpquerymanager.exe" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpquerymanager_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpquerymanager_reg.rsc" + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/inc/unittest_mpquerymanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/inc/unittest_mpquerymanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,61 @@ +/* +* 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: Unit Test for mpdetailsview. +* +*/ + +#ifndef UNITTEST_MPDETAILSVIEW_H_ +#define UNITTEST_MPDETAILSVIEW_H_ + +#include +#include +#include +#include + +//Forward Declaration +class MpDetailsView; +class MpQueryManager; + + +class TestMpQueryManager : public QObject +{ + Q_OBJECT + +public: + + TestMpQueryManager(); + virtual ~TestMpQueryManager(); + + +signals: + + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + //Test Cases + void testrecommendationSongs(); + void testrecommendationArtists(); + void testrecommendationAlbumArtsLink(); + +private: + MpQueryManager *mTest; + +}; + +#endif /* UNITTEST_MPDETAILSVIEW_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +@echo off +del *.sisx +makesis UT_mpquerymanager.pkg +signsis UT_mpquerymanager.sis UT_mpquerymanager.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key +del UT_mpquerymanager.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/src/unittest_mpquerymanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/src/unittest_mpquerymanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,176 @@ +/* +* 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: Unit Test for mpquerymanager. +* +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "unittest_mpquerymanager.h" +#include "mpcommondefs.h" + +// Do this so we can access all member variables. +#define private public +#include "mpquerymanager.h" +#undef private + + + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + HbApplication app(argc, argv); + HbMainWindow window; + + TestMpQueryManager tv; + + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_testmpquerymanager.txt"; + + int res = QTest::qExec(&tv, 3, pass); + + return res; +} + +//Constructor +TestMpQueryManager::TestMpQueryManager() + : mTest(0) +{ + +} + +//Destructor +TestMpQueryManager::~TestMpQueryManager() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpQueryManager::initTestCase() +{ + +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpQueryManager::cleanupTestCase() +{ + +} + +/*! + Called before each testfunction is executed. + */ +void TestMpQueryManager::init() +{ + mTest = new MpQueryManager(); +} + +/*! + Called after every testfunction. + */ +void TestMpQueryManager::cleanup() +{ + delete mTest; + mTest = 0; +} + +void TestMpQueryManager::testrecommendationSongs() +{ + QStringList recommendedSongs; + QStringList recommendedSongsRecd; + + QString recommendedSong1("Song1"); + QString recommendedSong2("Song2"); + + recommendedSongs.append(recommendedSong1); + recommendedSongs.append(recommendedSong2); + + mTest->mRecommendationSongs.append(recommendedSongs); + + recommendedSongsRecd << mTest->recommendationSongs(); + + QCOMPARE(recommendedSongs,recommendedSongsRecd); +} + + +void TestMpQueryManager::testrecommendationArtists() +{ + QStringList recommendedArtists; + QStringList recommendedArtistsRecd; + + QString recommendedArtist1("Artist1"); + QString recommendedArtist2("Artist2"); + + recommendedArtists.append(recommendedArtist1); + recommendedArtists.append(recommendedArtist2); + + mTest->mRecommendationArtists.append(recommendedArtists); + + recommendedArtistsRecd << mTest->recommendationArtists(); + + QCOMPARE(recommendedArtists,recommendedArtistsRecd); +} + + +void TestMpQueryManager::testrecommendationAlbumArtsLink() +{ + QStringList recommendedAlbumArtsLink; + QStringList recommendedAlbumArtsLinkRecd; + + QString recommendedAlbumArtsLink1("AlbumArtsLink1"); + QString recommendedAlbumArtsLink2("AlbumArtsLink2"); + + recommendedAlbumArtsLink.append(recommendedAlbumArtsLink1); + recommendedAlbumArtsLink.append(recommendedAlbumArtsLink2); + + mTest->mRecommendationAlbumArtsLink.append(recommendedAlbumArtsLink); + + recommendedAlbumArtsLinkRecd << mTest->recommendationAlbumArtsLink(); + + QCOMPARE(recommendedAlbumArtsLink,recommendedAlbumArtsLinkRecd); +} + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/stub/inc/thumbnailmanager_qt.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/stub/inc/thumbnailmanager_qt.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,128 @@ +/* +* 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: ThumbnailManager stub for testing MpSongData +* +*/ + +#ifndef THUMBNAILMANAGER_QT_H_ +#define THUMBNAILMANAGER_QT_H_ +#include +#include + + +/** default priority value */ +const int tnmWrapperPriorityIdle = -100; + +class ThumbnailManager : public QObject + { + Q_OBJECT + +public: + + + /** Thumbnail size. */ + enum ThumbnailSize + { + /** + * Small thumbnail + */ + ThumbnailSmall = 0, + /** + * Medium thumbnail + */ + ThumbnailMedium, + /** + * Large thumbnail + */ + ThumbnailLarge + }; + + /** Mode of thumbnail creation. */ + enum ThumbnailMode + { + /** + * Default mode. This means that: + * - Thumbnail must be as large as requested (unless the actual object is smaller). + * - Smaller thumbnails may be up scaled to desired resolution. + * - Aspect ratio is maintained and thumbnails are not cropped. The + * resulting thumbnail may smaller in either width or height if + * the aspect ratio of the object does not match the aspect ratio + * of the requested size. + */ + Default = 0, + + /** + * Allow thumbnails which are smaller than requested are. Thumbnail + * bitmaps are never up scaled if this flag is set. + */ + AllowAnySize = 1, + + /** + * New thumbnail images are not created if this flag is set. Only + * existing thumbnails may be returned. If a requested thumbnail does + * not exist null pixmap will be returned. + */ + DoNotCreate = 2, + + /** + * Thumbnail images are cropped to match requested aspect ratio. If + * this mode is set, the size of the resulting thumbnail always + * matches the requested size. + */ + CropToAspectRatio = 4 + }; + + /** Quality versus speed preference setting */ + enum QualityPreference + { + /** + * Prefer thumbnails in the highest quality possible disregarding + * any negative impact on performance. + */ + OptimizeForQuality, + + /** + * Get thumbnails as fast as possible, even if + * it means lower quality. + */ + OptimizeForPerformance + }; + + // Test utility functions + static int getInitCounter(); + static void resetInitCounter(); + + // Stub functions + ThumbnailManager( QObject* parentPtr = NULL ); + virtual ~ThumbnailManager(); + bool setMode( ThumbnailMode mode ); + bool setQualityPreference( QualityPreference qualityPreference ); + bool setThumbnailSize( ThumbnailSize thumbnailSize ); + int getThumbnail( const QString& fileName, void * clientData = NULL, + int priority = tnmWrapperPriorityIdle ); + bool cancelRequest( int id ); + +signals: + + void thumbnailReady( QPixmap , void * , int , int ); + +public: + + bool mGetThumbFails; + int mThumbnailReqCounter; + int mCancelCounter; + +}; + +#endif /* THUMBNAILMANAGER_QT_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/stub/src/thumbnailmanager_qt.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/stub/src/thumbnailmanager_qt.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,109 @@ +/* +* 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: ThumbnailManager stub for testing MpSongData +* +*/ +#include +#include "stub/inc/thumbnailmanager_qt.h" +#include "mptrace.h" + +int gInitCounter = 0; + +/*! + Returns gInitCounter. + gInitCounter counts the number of constructor/destructor calls. + */ +int ThumbnailManager::getInitCounter() +{ + TX_LOG_ARGS("ThumbnailManager::getInitCounter() STUB"); + return gInitCounter; +} + +/*! + Resets gInitCounter to zero. + */ +void ThumbnailManager::resetInitCounter() +{ + TX_LOG_ARGS("ThumbnailManager::resetInitCounter() STUB"); + gInitCounter = 0; +} + +ThumbnailManager::ThumbnailManager( QObject* parentPtr ) : +QObject( parentPtr ), +mGetThumbFails(false), +mThumbnailReqCounter(0), +mCancelCounter(0) +{ + TX_ENTRY_ARGS("Stub") + gInitCounter++; +} + +ThumbnailManager::~ThumbnailManager() +{ + TX_ENTRY_ARGS("Stub") + gInitCounter--; +} + +bool ThumbnailManager::setMode( ThumbnailMode mode ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED(mode); + return true; +} + +bool ThumbnailManager::setQualityPreference( QualityPreference + qualityPreference ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED(qualityPreference); + return true; +} + +bool ThumbnailManager::setThumbnailSize( ThumbnailSize thumbnailSize ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED(thumbnailSize); + return true; +} + +int ThumbnailManager::getThumbnail( const QString& fileName, void *clientData, + int priority ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED(fileName); + Q_UNUSED(priority); + + if (clientData) { + // Delete this to prevent memory leak + int *data = (int *)clientData; + delete data; + + data = 0; + } + + if ( mGetThumbFails ) { + return -1; + } + + mThumbnailReqCounter++; + return mThumbnailReqCounter; +} + +bool ThumbnailManager::cancelRequest( int id ) +{ + TX_ENTRY_ARGS("Stub") + Q_UNUSED(id); + mCancelCounter++; + return true; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/unittest_mpquerymanager.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpquerymanager/unittest_mpquerymanager.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,46 @@ +# +# 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: +# + +TEMPLATE = app +CONFIG += qtestlib \ + symbian_test \ + hb +QT += webkit \ + network \ + xml + +TARGET = +DEPENDPATH += . +INCLUDEPATH += ./stub/inc \ + ../../inc \ + ../../../../inc + + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +LIBS += -lqtbearer.dll + +# Input +HEADERS += inc/unittest_mpquerymanager.h \ + ../../inc/mpquerymanager.h \ + stub/inc/thumbnailmanager_qt.h + + +SOURCES += src/unittest_mpquerymanager.cpp \ + ../../src/mpquerymanager.cpp \ + stub/src/thumbnailmanager_qt.cpp + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/UT_mpsharedata.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/UT_mpsharedata.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,44 @@ +; +; 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: +; +; Language +&EN + +; SIS header: name, uid, version +#{"unittest_mpsharedata"},(0xE5d27be8),1,0,0 + +; Localised Vendor name +%{"Vendor"} + +; Unique Vendor name +:"Vendor" + + +; Manual PKG pre-rules from PRO files +; Default HW/platform dependencies +; [0x101F7961],0,0,0,{"S60ProductID"} +; [0x102032BE],0,0,0,{"S60ProductID"} +; [0x102752AE],0,0,0,{"S60ProductID"} +; [0x1028315F],0,0,0,{"S60ProductID"} + +; Default dependency to Qt libraries +; (0x2001E61C), 4, 6, 3, {"Qt"} + +; Executable and default resource files +"/epoc32/release/armv5/udeb/unittest_mpsharedata.exe" - "!:\sys\bin\unittest_mpsharedata.exe" +"/epoc32/data/z/resource/apps/unittest_mpsharedata.rsc" - "!:\resource\apps\unittest_mpsharedata.rsc" +"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpsharedata_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpsharedata_reg.rsc" + +; Manual PKG post-rules from PRO files diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/inc/unittest_mpsharedata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/inc/unittest_mpsharedata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2010 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: Unit test for mpsongdata +* +*/ + +#ifndef UNITTEST_MPSHAREDATA_H_ +#define UNITTEST_MPSHAREDATA_H_ + +#include + +class MpShareData; + +class TestMpShareData : public QObject +{ + Q_OBJECT + +public: + + TestMpShareData(); + virtual ~TestMpShareData(); + +signals: + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testOwner(); + void testSongData(); + void testErrorMessage(); + void testUserName(); + void testPassword(); + void testObjectTypeWithLink(); + void testObjectTypeWithoutLink(); + void testObjectContentWithLink(); + void testObjectContentWithTitleAndArtist(); + void testObjectContentWithTitleOnly(); + void testObjectContentWithArtistOnly(); + void testObjectContentWithoutMetaInfo(); + void testSongTitle(); +// void testSongAlbum(); + void testSongArtist(); + void testAlbumArt(); + void testLanguage(); +// void testSongComment(); +// void testSongAlbumArt(); +// void testSongYear(); +// void testSongGenre(); +// void testSongComposer(); +// void testSongAlbumTrack(); +// void testSongLink(); + void testSongNoInfo(); + +private: + MpShareData *mTest; + +}; + + +#endif /* UNITTEST_MPSHAREDATA_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +@echo off +del *.sisx +makesis UT_mpsharedata.pkg +signsis UT_mpsharedata.sis UT_mpsharedata.sisx %RNDCERTS_PATH%\Nokia_RnDCert_02.der %RNDCERTS_PATH%\Nokia_RnDCert_02.key +del UT_mpsharedata.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/src/unittest_mpsharedata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/src/unittest_mpsharedata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,346 @@ +/* +* Copyright (c) 2010 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: Unit test for MpShareData +* +*/ +#include +#ifdef Q_OS_SYMBIAN +#include +#include +#include +#endif +#include"unittest_mpsharedata.h" + +// Do this so we can access all member variables. +#define private public +#include "mpsharedata.h" +#undef private +#include "mpsongdata.h" + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +#ifdef Q_OS_SYMBIAN +int main(int argc, char *argv[]) +{ + + HbApplication app(argc, argv); + HbMainWindow window; + + TestMpShareData tv; + +if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsharedata.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} +#endif + +#ifdef Q_OS_WIN32 +QTEST_MAIN(TestMpShareData) +#endif +//Constructor +TestMpShareData::TestMpShareData() + : mTest(0) +{ + +} + +//Destructor +TestMpShareData::~TestMpShareData() +{ + if (mTest) delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpShareData::initTestCase() +{ + qDebug() << "unit test for mpsharedata begin."; +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpShareData::cleanupTestCase() +{ + qDebug() << "unit test for mpsharedata end."; + QCoreApplication::processEvents(); +} + +/*! + Called before each testfunction is executed. + */ +void TestMpShareData::init() +{ + mTest = new MpShareData(); + mTest->setUnknownTr("Unknown"); +} + +/*! + Called after every testfunction. + */ +void TestMpShareData::cleanup() +{ + delete mTest; + mTest = 0; +} + +void TestMpShareData::testOwner() +{ + mTest->setOwner(this); + QCOMPARE(mTest->owner(), this); +} + +void TestMpShareData::testSongData() +{ + MpSongData *song = new MpSongData(); + mTest->setSongData(song); + QCOMPARE(mTest->songData(), song); + delete song; +} + +void TestMpShareData::testErrorMessage() +{ + QString msg("Test error message."); + mTest->setErrorMessage(msg); + QCOMPARE(mTest->errorMessage(), msg); +} + +void TestMpShareData::testUserName() +{ + QString name("testname"); + mTest->setUsername(name); + QCOMPARE(mTest->username(), name); +} + +void TestMpShareData::testPassword() +{ + QString password("testpassword"); + mTest->setPassword(password); + QCOMPARE(mTest->password(), password); +} + +void TestMpShareData::testObjectTypeWithLink() +{ + MpSongData *song = new MpSongData(); + song->setLink("http://www.nokia.com"); + mTest->setSongData(song); + QCOMPARE(mTest->objectType(), QString("URI")); +} + +void TestMpShareData::testObjectTypeWithoutLink() +{ + MpSongData *song = new MpSongData(); + song->setLink(""); + mTest->setSongData(song); + QCOMPARE(mTest->objectType(), QString("NOTE-APPEND")); + delete song; +} + +void TestMpShareData::testObjectContentWithLink() +{ + MpSongData *song = new MpSongData(); + song->setLink("http://www.nokia.com"); + song->setTitle("TestTitle"); + song->setArtist("TestArtist"); + song->setAlbum("TestAlbum"); + song->setAlbumArtUri("http://www.nokia.com/notexist.png"); + mTest->setSongData(song); + QCOMPARE(mTest->objectContent(), QString("http://www.nokia.com")); + QCOMPARE(mTest->objectReservedLength(), QString("http://www.nokia.com").length()); + delete song; +} + +void TestMpShareData::testObjectContentWithTitleAndArtist() +{ + MpSongData *song = new MpSongData(); + song->setTitle("TestTitle"); + song->setArtist("TestArtist"); + song->setAlbum("TestAlbum"); + song->setAlbumArtUri("http://www.nokia.com/notexist.png"); + mTest->setSongData(song); + QCOMPARE(mTest->objectContent(), QString("♫ TestArtist: TestTitle http://music.ovi.com")); + QCOMPARE(mTest->objectReservedLength(), QString("♫ TestArtist: TestTitle http://music.ovi.com").length()); + delete song; +} + + +void TestMpShareData::testObjectContentWithTitleOnly() +{ + MpSongData *song = new MpSongData(); + song->setTitle("TestTitle"); + song->setAlbum("TestAlbum"); + song->setAlbumArtUri("http://www.nokia.com/notexist.png"); + mTest->setSongData(song); + QCOMPARE(mTest->objectContent(), QString("♫ Unknown: TestTitle http://music.ovi.com")); + QCOMPARE(mTest->objectReservedLength(), QString("♫ Unknown: TestTitle http://music.ovi.com").length()); + delete song; +} + + +void TestMpShareData::testObjectContentWithArtistOnly() +{ + MpSongData *song = new MpSongData(); + song->setArtist("TestArtist"); + song->setAlbum("TestAlbum"); + song->setAlbumArtUri("http://www.nokia.com/notexist.png"); + mTest->setSongData(song); + QCOMPARE(mTest->objectContent(), QString("♫ TestArtist: Unknown http://music.ovi.com")); + QCOMPARE(mTest->objectReservedLength(), QString("♫ TestArtist: Unknown http://music.ovi.com").length()); + delete song; +} + + +void TestMpShareData::testObjectContentWithoutMetaInfo() +{ + MpSongData *song = new MpSongData(); + mTest->setSongData(song); + QCOMPARE(mTest->objectContent(), QString("♫ Unknown: Unknown http://music.ovi.com")); + QCOMPARE(mTest->objectReservedLength(), QString("♫ Unknown: Unknown http://music.ovi.com").length()); + delete song; +} + +void TestMpShareData::testSongTitle() +{ + MpSongData *song = new MpSongData(); + song->setTitle("TestTitle"); + mTest->setSongData(song); + QCOMPARE(mTest->title(), QString("TestTitle")); + delete song; +} + +//void TestMpShareData::testSongAlbum() +//{ +// MpSongData *song = new MpSongData(); +// song->setAlbum("TestAlbum"); +// mTest->setSongData(song); +// QCOMPARE(mTest->album(), QString("TestAlbum")); +// delete song; +//} + +void TestMpShareData::testSongArtist() +{ + MpSongData *song = new MpSongData(); + song->setArtist("TestArtist"); + mTest->setSongData(song); + QCOMPARE(mTest->artist(), QString("TestArtist")); + delete song; +} + +void TestMpShareData::testAlbumArt() +{ + MpSongData *song = new MpSongData(); + mTest->setSongData(song); + QCOMPARE(mTest->albumArtBase64(), QString("e:\\album_art.png")); + delete song; +} + +void TestMpShareData::testLanguage() +{ + MpSongData *song = new MpSongData(); + mTest->setSongData(song); + mTest->setLanguage("fi"); + QCOMPARE(mTest->language(), QString("fi")); + delete song; +} + +/* +void TestMpShareData::testSongComment() +{ + MpSongData *song = new MpSongData(); + song->setComment("TestComment"); + mTest->setSongData(song); + QCOMPARE(mTest->comment(), QString("TestComment")); + delete song; +} + +void TestMpShareData::testSongAlbumArt() +{ + MpSongData *song = new MpSongData(); + song->setAlbumArtUri("TestAlbum"); + mTest->setSongData(song); + QPixmap pic; + mTest->albumArt(pic); + delete song; +} + +void TestMpShareData::testSongYear() +{ + MpSongData *song = new MpSongData(); + song->setYear(1999); + mTest->setSongData(song); + QCOMPARE(mTest->year(), QString("1999")); + delete song; +} + +void TestMpShareData::testSongGenre() +{ + MpSongData *song = new MpSongData(); + song->setGenre("TestGenre"); + mTest->setSongData(song); + QCOMPARE(mTest->genre(), QString("TestGenre")); + delete song; +} + +void TestMpShareData::testSongComposer() +{ + MpSongData *song = new MpSongData(); + song->setComposer("TestComposer"); + mTest->setSongData(song); + QCOMPARE(mTest->composer(), QString("TestComposer")); + delete song; +} + +void TestMpShareData::testSongAlbumTrack() +{ + MpSongData *song = new MpSongData(); + song->setAlbumTrack("TestAlbumTrack"); + mTest->setSongData(song); + QCOMPARE(mTest->albumTrack(), QString("TestAlbumTrack")); + delete song; +} + +void TestMpShareData::testSongLink() +{ + MpSongData *song = new MpSongData(); + song->setLink("TestLink"); + mTest->setSongData(song); + QCOMPARE(mTest->link(), QString("TestLink")); + delete song; +} +*/ + +void TestMpShareData::testSongNoInfo() +{ + QCOMPARE(mTest->title(), QString("Unknown")); +// QCOMPARE(mTest->album(), QString("")); + QCOMPARE(mTest->artist(), QString("Unknown")); + QCOMPARE(mTest->albumArtBase64(), QString("")); + QCOMPARE(mTest->objectContent(), QString("♫ Unknown: Unknown http://music.ovi.com")); +// QCOMPARE(mTest->comment(), QString("")); +// QCOMPARE(mTest->year(), QString("")); +// QCOMPARE(mTest->genre(), QString("")); +// QCOMPARE(mTest->composer(), QString("")); +// QCOMPARE(mTest->albumTrack(), QString("")); +// QCOMPARE(mTest->link(), QString("")); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/stub/inc/mpsongdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/stub/inc/mpsongdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,97 @@ +/* +* 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: Stub of Metadata of song +* +*/ + +#ifndef MPSONGDATA_H +#define MPSONGDATA_H + +#include +#include +#include + + +//forward declartions +class QIcon; + +//class declaration +class MpSongData : public QObject +{ + Q_OBJECT + +public: + explicit MpSongData( QObject *parent=0 ); + virtual ~MpSongData(); + + bool setTitle( const QString &title ); + bool setAlbum( const QString &album ); + bool setArtist( const QString &artist ); + bool setComment( const QString &comment ); + void setAlbumArtUri( const QString &albumArtUri ); + bool setYear( int date ); + bool setGenre( const QString &genre ); + bool setComposer( const QString &compoer ); + bool setAlbumTrack( const QString &albumtrack ); + void setLink( const QString &link ); + bool setMusicURL( const QString &musicURL ); + + // inform details view when basic information is ready to accelerate UI update + void commitPlaybackInfo(); + // inform details view when details information is ready + void commitSongDetailInfo(); + +public slots: + void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); + + int reservedLength() const { return mLink.length() + mTitle.length() + mArtist.length(); } + + QString title() const; + QString album() const; + QString artist() const; + QString comment() const; + void albumArt( QPixmap& pixmap ); + QString year() const; + QString genre() const; + QString composer() const; + QString albumTrack() const; + QString musicURL() const; + QString link() const; + QString albumArtBase64() const; + +signals: + void albumArtReady(); + void playbackInfoChanged(); + void songDetailInfoChanged(); + +private: + QString mTitle; + QString mAlbum; + QString mArtist; + QString mComment; + QString mComposer; + QString mGenre; + QString mYear; + QString mAlbumTrack; + QPixmap mAlbumArt; + int mReqId; + QString currentAAUri; + QPixmap mDefaultAlbumArt; + QString mLink; + QString mMusicURL; + + Q_DISABLE_COPY(MpSongData) +}; + +#endif // MPSONGDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/stub/src/mpsongdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/stub/src/mpsongdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,399 @@ +/* +* 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: Playback Data provider for playback view. +* +*/ + + +#include +#include + +#include "mpsongdata.h" +#include "mptrace.h" + + +const int KUndefined = -1; + +/*! + \class MpSongData + \brief Music Player song metadata. + + Song data provide acces to current playing song metadata +*/ + +/*! + \fn void albumArtReady() + + This signal is albuma alrt is ready. + */ + +/*! + \fn void playbackInfoChanged() + + This signal is emitted when basic information is available + */ + +/*! + \fn void songDetailInfoChanged() + + This signal is emitted when detail information is available + */ + + + +/*! + Constructs a new MpSongData. + */ +MpSongData::MpSongData( QObject *parent ) + : QObject( parent ), + mTitle( NULL ), + mAlbum( NULL ), + mArtist( NULL ), + mComposer( NULL), + mGenre( NULL ), + mYear( NULL ), + mAlbumTrack( NULL ), + mAlbumArt(), + mReqId( KUndefined ) +{ + //TX_ENTRY + //TX_EXIT +} + +/*! + Constructs a new MpSongData. + */ +MpSongData::~MpSongData() +{ + //TX_ENTRY + //TX_EXIT +} + +/*! + Returns the song album art on \a pixmap. +*/ +void MpSongData::albumArt( QPixmap& pixmap ) +{ + //TX_ENTRY + if ( !mAlbumArt.isNull() ) { + pixmap = mAlbumArt; + } + else { + pixmap = QPixmap(); + } + //TX_EXIT +} + + +/*! + Returns the song title. +*/ +QString MpSongData::title() const +{ + //TX_LOG + return mTitle; +} + +/*! + Returns the song album. +*/ +QString MpSongData::album() const +{ + //TX_LOG + return mAlbum; +} + +/*! + Returns the song artist. +*/ +QString MpSongData::artist() const +{ + //TX_LOG + return mArtist; +} + +/*! + Returns comment +*/ +QString MpSongData::comment() const +{ + //TX_LOG + return mComment; +} + +/*! + Returns the song composer. +*/ +QString MpSongData::composer() const +{ + //TX_LOG + return mComposer; +} + + +/*! + Returns the song genre. +*/ +QString MpSongData::genre() const +{ + //TX_LOG + return mGenre; +} + + +/*! + Returns the album track. +*/ +QString MpSongData::albumTrack() const +{ + //TX_LOG + return mAlbumTrack; +} + +/*! + Returns link +*/ +QString MpSongData::musicURL() const +{ + //TX_LOG + return mMusicURL; +} + +/*! + Returns link +*/ +QString MpSongData::link() const +{ + //TX_LOG + return mLink; +} + +/*! + Returns the release date. +*/ +QString MpSongData::year() const +{ + //TX_LOG + return mYear; +} + + +/*! + Sets the song \a title, returns true if the value is new. +*/ +bool MpSongData::setTitle( const QString &title ) +{ + //TX_ENTRY_ARGS( "title =" << title ) + bool change = false; + if ( title != mTitle ) { + change = true; + mTitle = title; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a album, returns true if the value is new. +*/ +bool MpSongData::setAlbum( const QString &album ) +{ + //TX_ENTRY_ARGS( "album =" << album ) + bool change = false; + if ( album != mAlbum ) { + change = true; + mAlbum = album; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a artist, returns true if the value is new. +*/ +bool MpSongData::setArtist( const QString &artist ) +{ + //TX_ENTRY_ARGS( "artist =" << artist ) + bool change = false; + if ( artist != mArtist ) { + change = true; + mArtist = artist; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a comment, returns true if the value is new. +*/ +bool MpSongData::setComment( const QString &comment) +{ + //TX_ENTRY_ARGS( "comment =" << comment ) + bool change = false; + if ( comment != mComment ) { + change = true; + mComment = comment; + } + //TX_EXIT + return change; +} + + +/*! + Sets the song \a composer, returns true if the value is new. +*/ +bool MpSongData::setComposer( const QString &composer ) +{ + //TX_ENTRY_ARGS( "composer =" << composer ) + bool change = false; + if ( composer != mComposer ) { + change = true; + mComposer = composer; + } + //TX_EXIT + return change; +} + +/*! + Sets the song \a genre, returns true if the value is new. +*/ +bool MpSongData::setGenre( const QString &genre ) +{ + //TX_ENTRY_ARGS( "genre =" << genre ) + bool change = false; + if ( genre != mGenre ) { + change = true; + mGenre = genre; + } + //TX_EXIT + return change; +} + + +/*! + Sets the song \a date, returns true if the value is new. +*/ +bool MpSongData::setYear( int year ) +{ + //TX_ENTRY_ARGS( "year =" << year ) + bool change = false; + if ( QString::number(year) != mYear ) { + change = true; + if ( year >= 0 && year < 9999 ) { + mYear = QString::number(year); + } + } + //TX_EXIT + return change; +} + +/*! + Sets the \a album track, returns true if the value is new. +*/ +bool MpSongData::setAlbumTrack( const QString &track ) +{ + //TX_ENTRY_ARGS( "track =" << track ) + bool change = false; + if ( track != mAlbumTrack ) { + change = true; + mAlbumTrack = track; + } + //TX_EXIT + return change; +} + +/*! + Sets the \a link +*/ +void MpSongData::setLink( const QString &link ) +{ + //TX_ENTRY_ARGS( "Link =" << link ) + mLink = link; + //TX_EXIT +} + +/*! + Sets the \a Music URL +*/ +bool MpSongData::setMusicURL( const QString &link ) +{ + //TX_ENTRY_ARGS( "MusicURL =" << link ) + mMusicURL = link; + return true; + //TX_EXIT +} + + + +/*! + Sets the song \a albumArtUri. +*/ +void MpSongData::setAlbumArtUri( const QString &albumArtUri) +{ + //TX_ENTRY + mAlbumArt = mDefaultAlbumArt; + emit albumArtReady(); + //TX_EXIT +} + + +/*! + Slot to handle the album art thumb. +*/ +void MpSongData::thumbnailReady( + const QPixmap& pixmap, + void *data, + int id, + int error ) +{ + //TX_ENTRY + Q_UNUSED( data ); + + //TX_EXIT +} + +/*! + Emit signal when playback information changed, such as artist, track name +*/ +void MpSongData::commitPlaybackInfo() +{ + //TX_ENTRY + emit playbackInfoChanged(); + //TX_EXIT +} + +/*! + Emit signal when song detail information changed +*/ +void MpSongData::commitSongDetailInfo() +{ + //TX_ENTRY + emit songDetailInfoChanged(); + //TX_EXIT +} + +QString MpSongData::albumArtBase64() const +{ + // Converts the current album art pixmap to a base64 string, and return the string. +// TX_ENTRY +// QByteArray array; +// QBuffer buffer(&array); +// buffer.open(QIODevice::WriteOnly); +// mAlbumArt.save(&buffer, "PNG"); // writes pixmap into bytes in PNG format +// buffer.close(); +// QByteArray base64 = array.toBase64(); +// TX_EXIT +// return base64.constData(); + return QString("e:\\album_art.png"); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/unittest_mpsharedata.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsharedata/unittest_mpsharedata.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,36 @@ +# +# 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: +# +TEMPLATE = app +CONFIG += qtestlib \ + symbian_test \ + hb +TARGET = unittest_mpsharedata +DEPENDPATH += . +INCLUDEPATH += ./inc \ + ./stub/inc \ + ../../inc \ + ../../../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +DEFINES += SHARE_FUNC_ENABLED + +# Input +HEADERS += inc/unittest_mpsharedata.h \ + ../../inc/mpsharedata.h \ + stub/inc/mpsongdata.h +SOURCES += src/unittest_mpsharedata.cpp \ + ../../src/mpsharedata.cpp \ + stub/src/mpsongdata.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.dat Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.dat has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.sym --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.sym Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,686 +0,0 @@ -CTC++ sym 5.0 -Tue Mar 16 12:58:02 2010 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_thumbnailmanager_qt.cpp -3 1268393574 -0 0 50 0 ThumbnailManager::getStaticMetaObject -0 90 0 0 ( ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\stub/inc/thumbnailmanager_qt.h -0 13 50 1 staticMetaObject -1 0 53 0 ThumbnailManager::metaObject -0 90 0 0 ( ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\stub/inc/thumbnailmanager_qt.h -0 25 55 1 QObject::d_ptr -> metaObject -1 13 55 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 58 0 ThumbnailManager::qt_metacast -0 90 0 0 ( const char * ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\stub/inc/thumbnailmanager_qt.h -1 20 60 1 ! _clname -2 13 60 2 0 -2 20 61 1 ! strcmp ( _clname , qt_meta_stringdata_ThumbnailManager ) -3 13 62 2 static_cast < void * > ( const_cast < ThumbnailManager * > ( this ) ) -4 13 63 1 QObject::qt_metacast ( _clname ) -3 0 66 0 ThumbnailManager::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 29 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\stub/inc/thumbnailmanager_qt.h -3 20 69 1 _id < 0 -5 13 70 2 _id -4 20 71 1 _c == QMetaObject::InvokeMetaMethod -0 1 72 2 switch ( _id ) -6 14 73 2 0 -7 12 73 3 -8 15 74 2 -9 13 78 1 _id -4 0 82 0 ThumbnailManager::thumbnailReady -0 90 0 0 ( QPixmap , void * , int , int ) -0 91 118 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\stub/inc/thumbnailmanager_qt.h -%87,5,10,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp -3 1268393574 -0 0 72 0 MpSongData::getStaticMetaObject -0 90 0 0 ( ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -0 13 72 1 staticMetaObject -1 0 75 0 MpSongData::metaObject -0 90 0 0 ( ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -0 25 77 1 QObject::d_ptr -> metaObject -1 13 77 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 80 0 MpSongData::qt_metacast -0 90 0 0 ( const char * ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -1 20 82 1 ! _clname -2 13 82 2 0 -2 20 83 1 ! strcmp ( _clname , qt_meta_stringdata_MpSongData ) -3 13 84 2 static_cast < void * > ( const_cast < MpSongData * > ( this ) ) -4 13 85 1 QObject::qt_metacast ( _clname ) -3 0 88 0 MpSongData::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 32 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -3 20 91 1 _id < 0 -5 13 92 2 _id -4 20 93 1 _c == QMetaObject::InvokeMetaMethod -0 1 94 2 switch ( _id ) -6 14 95 2 0 -7 12 95 3 -8 14 96 2 1 -9 12 96 3 -10 14 97 2 2 -11 12 97 3 -12 14 98 2 3 -13 12 98 3 -14 14 99 2 4 -5 20 100 4 _a [ 0 ] -15 12 100 3 -16 14 101 2 5 -6 20 102 4 _a [ 0 ] -17 12 102 3 -18 14 103 2 6 -7 20 104 4 _a [ 0 ] -19 12 104 3 -20 14 105 2 7 -8 20 106 4 _a [ 0 ] -21 12 106 3 -22 14 107 2 8 -9 20 108 4 _a [ 0 ] -23 12 108 3 -24 14 109 2 9 -25 12 109 3 -26 14 110 2 10 -10 20 111 4 _a [ 0 ] -27 12 111 3 -28 14 112 2 11 -11 20 113 4 _a [ 0 ] -29 12 113 3 -30 14 114 2 12 -12 20 115 4 _a [ 0 ] -31 12 115 3 -32 14 116 2 13 -13 20 117 4 _a [ 0 ] -33 12 117 3 -34 14 118 2 14 -14 20 119 4 _a [ 0 ] -35 12 119 3 -36 15 120 2 -37 13 124 1 _id -4 0 128 0 MpSongData::albumArtReady -0 90 0 0 ( ) -0 91 71 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -5 0 134 0 MpSongData::playbackInfoChanged -0 90 0 0 ( ) -0 91 72 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -6 0 140 0 MpSongData::songDetailInfoChanged -0 90 0 0 ( ) -0 91 73 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\../../inc/mpsongdata.h -%144,7,38,15,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp -3 1268393574 -0 0 62 0 MpSongData::MpSongData -0 90 0 0 ( QObject * parent = 0 ) -0 91 35 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -1 0 88 0 MpSongData::~MpSongData -0 90 0 0 ( ) -0 91 36 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -0 20 91 1 mThumbnailManager -2 0 100 0 MpSongData::albumArt -0 90 0 0 ( QPixmap & pixmap ) -0 91 63 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -1 20 103 1 ! mAlbumArt . isNull ( ) -0 1 106 1 else -3 0 116 0 MpSongData::title -0 90 0 0 ( ) -0 91 59 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -0 13 119 1 mTitle -4 0 125 0 MpSongData::album -0 90 0 0 ( ) -0 91 60 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -1 13 128 1 mAlbum -5 0 134 0 MpSongData::artist -0 90 0 0 ( ) -0 91 61 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -2 13 137 1 mArtist -6 0 143 0 MpSongData::comment -0 90 0 0 ( ) -0 91 62 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -3 13 146 1 mComment -7 0 152 0 MpSongData::composer -0 90 0 0 ( ) -0 91 66 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -4 13 155 1 mComposer -8 0 162 0 MpSongData::genre -0 90 0 0 ( ) -0 91 65 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -5 13 165 1 mGenre -9 0 172 0 MpSongData::albumTrack -0 90 0 0 ( ) -0 91 67 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -6 13 175 1 mAlbumTrack -10 0 181 0 MpSongData::link -0 90 0 0 ( ) -0 91 68 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -7 13 184 1 mLink -11 0 190 0 MpSongData::year -0 90 0 0 ( ) -0 91 64 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -8 13 193 1 mYear -12 0 200 0 MpSongData::setTitle -0 90 0 0 ( const QString & title ) -0 91 38 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -2 20 204 1 title != mTitle -9 13 209 1 change -13 0 215 0 MpSongData::setAlbum -0 90 0 0 ( const QString & album ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -3 20 219 1 album != mAlbum -10 13 224 1 change -14 0 230 0 MpSongData::setArtist -0 90 0 0 ( const QString & artist ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -4 20 234 1 artist != mArtist -11 13 239 1 change -15 0 245 0 MpSongData::setComment -0 90 0 0 ( const QString & comment ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -5 20 249 1 comment != mComment -12 13 254 1 change -16 0 261 0 MpSongData::setComposer -0 90 0 0 ( const QString & compoer ) -0 91 45 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -6 20 265 1 composer != mComposer -13 13 270 1 change -17 0 276 0 MpSongData::setGenre -0 90 0 0 ( const QString & genre ) -0 91 44 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -7 20 280 1 genre != mGenre -14 13 285 1 change -18 0 292 0 MpSongData::setYear -0 90 0 0 ( int date ) -0 91 43 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -8 20 296 1 QString::number ( year ) != mYear -9 20 298 2 year >= 0 && year < 9999 -0 1 300 2 else -15 13 305 1 change -19 0 311 0 MpSongData::setAlbumTrack -0 90 0 0 ( const QString & albumtrack ) -0 91 46 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -10 20 315 1 track != mAlbumTrack -16 13 320 1 change -20 0 326 0 MpSongData::setLink -0 90 0 0 ( const QString & link ) -0 91 47 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -21 0 336 0 MpSongData::setAlbumArtUri -0 90 0 0 ( const QString & albumArtUri ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -11 20 339 1 ! albumArtUri . isEmpty ( ) -12 20 341 2 mReqId != KUndefined -13 20 345 2 ok -14 20 347 3 mReqId == KUndefined -0 1 354 1 else -22 0 366 0 MpSongData::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 55 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -15 20 374 1 error == 0 && mReqId == id -0 1 379 1 else -23 0 391 0 MpSongData::commitPlaybackInfo -0 90 0 0 ( ) -0 91 50 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -24 0 401 0 MpSongData::commitSongDetailInfo -0 90 0 0 ( ) -0 91 52 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h -%407,25,17,16,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_unittest_mpsongdata.cpp -3 1268393574 -0 0 106 0 TestMpSongData::getStaticMetaObject -0 90 0 0 ( ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\inc/unittest_mpsongdata.h -0 13 106 1 staticMetaObject -1 0 109 0 TestMpSongData::metaObject -0 90 0 0 ( ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\inc/unittest_mpsongdata.h -0 25 111 1 QObject::d_ptr -> metaObject -1 13 111 1 QObject::d_ptr -> metaObject ? QObject::d_ptr -> metaObject : & staticMetaObject -2 0 114 0 TestMpSongData::qt_metacast -0 90 0 0 ( const char * ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\inc/unittest_mpsongdata.h -1 20 116 1 ! _clname -2 13 116 2 0 -2 20 117 1 ! strcmp ( _clname , qt_meta_stringdata_TestMpSongData ) -3 13 118 2 static_cast < void * > ( const_cast < TestMpSongData * > ( this ) ) -4 13 119 1 QObject::qt_metacast ( _clname ) -3 0 122 0 TestMpSongData::qt_metacall -0 90 0 0 ( QMetaObject::Call , int , void * * ) -0 91 27 1 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\inc/unittest_mpsongdata.h -3 20 125 1 _id < 0 -5 13 126 2 _id -4 20 127 1 _c == QMetaObject::InvokeMetaMethod -0 1 128 2 switch ( _id ) -6 14 129 2 0 -7 12 129 3 -8 14 130 2 1 -9 12 130 3 -10 14 131 2 2 -11 12 131 3 -12 14 132 2 3 -13 12 132 3 -14 14 133 2 4 -15 12 133 3 -16 14 134 2 5 -17 12 134 3 -18 14 135 2 6 -19 12 135 3 -20 14 136 2 7 -21 12 136 3 -22 14 137 2 8 -23 12 137 3 -24 14 138 2 9 -25 12 138 3 -26 14 139 2 10 -27 12 139 3 -28 14 140 2 11 -29 12 140 3 -30 14 141 2 12 -31 12 141 3 -32 14 142 2 13 -33 12 142 3 -34 14 143 2 14 -35 12 143 3 -36 14 144 2 15 -37 12 144 3 -38 14 145 2 16 -39 12 145 3 -40 14 146 2 17 -41 12 146 3 -42 14 147 2 18 -43 12 147 3 -44 14 148 2 19 -45 12 148 3 -46 14 149 2 20 -47 12 149 3 -48 14 150 2 21 -49 12 150 3 -50 14 151 2 22 -51 12 151 3 -52 14 152 2 23 -53 12 152 3 -54 14 153 2 24 -55 12 153 3 -56 14 154 2 25 -57 12 154 3 -58 14 155 2 26 -59 12 155 3 -60 14 156 2 27 -61 12 156 3 -62 14 157 2 28 -63 12 157 3 -64 14 158 2 29 -65 12 158 3 -66 14 159 2 30 -67 12 159 3 -68 14 160 2 31 -69 12 160 3 -70 14 161 2 32 -71 12 161 3 -72 14 162 2 33 -73 12 162 3 -74 14 163 2 34 -75 12 163 3 -76 14 164 2 35 -77 12 164 3 -78 14 165 2 36 -79 12 165 3 -80 15 166 2 -81 13 170 1 _id -4 0 174 0 TestMpSongData::thumbnailReady -0 90 0 0 ( const QPixmap & pixmap , void * data , int id , int error ) -0 91 36 3 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\inc/unittest_mpsongdata.h -%179,5,82,5,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp -3 1268393577 -0 0 26 0 ThumbnailManager::getInitCounter -0 90 0 0 ( ) -0 91 103 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -0 13 28 1 gInitCounter -1 0 34 0 ThumbnailManager::resetInitCounter -0 90 0 0 ( ) -0 91 104 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -2 0 42 0 ThumbnailManager::ThumbnailManager -0 90 0 0 ( QObject * parentPtr = 0 ) -0 91 107 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -3 0 54 0 ThumbnailManager::~ThumbnailManager -0 90 0 0 ( ) -0 91 108 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -4 0 62 0 ThumbnailManager::setMode -0 90 0 0 ( ThumbnailMode mode ) -0 91 109 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -1 13 65 1 true -5 0 71 0 ThumbnailManager::setQualityPreference -0 90 0 0 ( QualityPreference qualityPreference ) -0 91 110 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -2 13 75 1 true -6 0 81 0 ThumbnailManager::setThumbnailSize -0 90 0 0 ( ThumbnailSize thumbnailSize ) -0 91 111 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -3 13 84 1 true -7 0 90 0 ThumbnailManager::getThumbnail -0 90 0 0 ( const QString & fileName , void * clientData = 0 , int priority = tnmWrapperPriorityIdle ) -0 91 112 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -0 20 96 1 clientData -1 20 104 1 mGetThumbFails -4 13 105 2 - 1 -5 13 109 1 mThumbnailReqCounter -8 0 115 0 ThumbnailManager::cancelRequest -0 90 0 0 ( int id ) -0 91 114 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h -6 13 119 1 true -%120,9,7,2,0,0 -@Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp -3 1268395912 -0 0 34 0 main -0 90 0 0 ( int argc , char * argv [ ] ) -0 91 34 0 Z:\musicplayer\mpviewplugins\mpdetailsviewplugin\tsrc\unittest_mpsongdata\src\unittest_mpsongdata.cpp -0 13 48 1 res -1 0 52 0 TestMpSongData::TestMpSongData -0 90 0 0 ( ) -0 91 31 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -2 0 59 0 TestMpSongData::~TestMpSongData -0 90 0 0 ( ) -0 91 32 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -3 0 67 0 TestMpSongData::initTestCase -0 90 0 0 ( ) -0 91 39 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -4 0 75 0 TestMpSongData::cleanupTestCase -0 90 0 0 ( ) -0 91 40 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -5 0 83 0 TestMpSongData::init -0 90 0 0 ( ) -0 91 41 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -6 0 91 0 TestMpSongData::cleanup -0 90 0 0 ( ) -0 91 42 1 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -7 0 100 0 TestMpSongData::testMemberCleanup -0 90 0 0 ( ) -0 91 45 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 106 1 do -0 20 106 2 ! QTest::qCompare ( ThumbnailManager::getInitCounter ( ) , 0 , "ThumbnailManager::getInitCounter()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 106 ) -1 13 106 3 -0 1 106 1 while ( 0 ) -8 0 112 0 TestMpSongData::testAlbumArtIsNull -0 90 0 0 ( ) -0 91 46 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 116 1 do -1 20 116 2 ! QTest::qVerify ( ( dummyAlbumArt . isNull ( ) == true ) , "dummyAlbumArt.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 116 ) -2 13 116 3 -0 1 116 1 while ( 0 ) -9 0 123 0 TestMpSongData::testAlbumArtNotNull -0 90 0 0 ( ) -0 91 47 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -10 0 133 0 TestMpSongData::testTitleIsNull -0 90 0 0 ( ) -0 91 48 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 135 1 do -2 20 135 2 ! QTest::qVerify ( ( mTest -> mTitle . isNull ( ) == true ) , "mTest->mTitle.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 135 ) -3 13 135 3 -0 1 135 1 while ( 0 ) -11 0 141 0 TestMpSongData::testAlbumIsNull -0 90 0 0 ( ) -0 91 49 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 143 1 do -3 20 143 2 ! QTest::qVerify ( ( mTest -> mAlbum . isNull ( ) == true ) , "mTest->mAlbum.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 143 ) -4 13 143 3 -0 1 143 1 while ( 0 ) -12 0 149 0 TestMpSongData::testArtistIsNull -0 90 0 0 ( ) -0 91 50 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 151 1 do -4 20 151 2 ! QTest::qVerify ( ( mTest -> mArtist . isNull ( ) == true ) , "mTest->mArtist.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 151 ) -5 13 151 3 -0 1 151 1 while ( 0 ) -13 0 157 0 TestMpSongData::testCommentIsNull -0 90 0 0 ( ) -0 91 51 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 159 1 do -5 20 159 2 ! QTest::qVerify ( ( mTest -> mComment . isNull ( ) == true ) , "mTest->mComment.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 159 ) -6 13 159 3 -0 1 159 1 while ( 0 ) -14 0 165 0 TestMpSongData::testComposerIsNull -0 90 0 0 ( ) -0 91 52 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 167 1 do -6 20 167 2 ! QTest::qVerify ( ( mTest -> mComposer . isNull ( ) == true ) , "mTest->mComposer.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 167 ) -7 13 167 3 -0 1 167 1 while ( 0 ) -15 0 173 0 TestMpSongData::testGenreIsNull -0 90 0 0 ( ) -0 91 53 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 175 1 do -7 20 175 2 ! QTest::qVerify ( ( mTest -> mGenre . isNull ( ) == true ) , "mTest->mGenre.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 175 ) -8 13 175 3 -0 1 175 1 while ( 0 ) -16 0 182 0 TestMpSongData::testAlbumtrackIsNull -0 90 0 0 ( ) -0 91 54 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 184 1 do -8 20 184 2 ! QTest::qVerify ( ( mTest -> mAlbumTrack . isNull ( ) == true ) , "mTest->mAlbumTrack.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 184 ) -9 13 184 3 -0 1 184 1 while ( 0 ) -17 0 190 0 TestMpSongData::testLinkIsNull -0 90 0 0 ( ) -0 91 55 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 192 1 do -9 20 192 2 ! QTest::qVerify ( ( mTest -> mLink . isNull ( ) == true ) , "mTest->mLink.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 192 ) -10 13 192 3 -0 1 192 1 while ( 0 ) -18 0 198 0 TestMpSongData::testYearIsNull -0 90 0 0 ( ) -0 91 56 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 200 1 do -10 20 200 2 ! QTest::qVerify ( ( mTest -> mYear . isNull ( ) == true ) , "mTest->mYear.isNull() == true" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 200 ) -11 13 200 3 -0 1 200 1 while ( 0 ) -19 0 206 0 TestMpSongData::testSetTitleTrue -0 90 0 0 ( ) -0 91 57 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 211 1 do -11 20 211 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 211 ) -12 13 211 3 -0 1 211 1 while ( 0 ) -20 0 218 0 TestMpSongData::testSetTitleFalse -0 90 0 0 ( ) -0 91 58 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 223 1 do -12 20 223 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 223 ) -13 13 223 3 -0 1 223 1 while ( 0 ) -21 0 229 0 TestMpSongData::testsetAlbumTrue -0 90 0 0 ( ) -0 91 59 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 234 1 do -13 20 234 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 234 ) -14 13 234 3 -0 1 234 1 while ( 0 ) -22 0 241 0 TestMpSongData::testsetAlbumFalse -0 90 0 0 ( ) -0 91 60 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 246 1 do -14 20 246 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 246 ) -15 13 246 3 -0 1 246 1 while ( 0 ) -23 0 253 0 TestMpSongData::testsetArtistTrue -0 90 0 0 ( ) -0 91 61 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 258 1 do -15 20 258 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 258 ) -16 13 258 3 -0 1 258 1 while ( 0 ) -24 0 265 0 TestMpSongData::testsetArtistFalse -0 90 0 0 ( ) -0 91 62 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 270 1 do -16 20 270 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 270 ) -17 13 270 3 -0 1 270 1 while ( 0 ) -25 0 276 0 TestMpSongData::testsetCommentTrue -0 90 0 0 ( ) -0 91 63 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 281 1 do -17 20 281 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 281 ) -18 13 281 3 -0 1 281 1 while ( 0 ) -26 0 288 0 TestMpSongData::testsetCommentFalse -0 90 0 0 ( ) -0 91 64 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 293 1 do -18 20 293 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 293 ) -19 13 293 3 -0 1 293 1 while ( 0 ) -27 0 299 0 TestMpSongData::testsetComposerTrue -0 90 0 0 ( ) -0 91 65 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 304 1 do -19 20 304 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 304 ) -20 13 304 3 -0 1 304 1 while ( 0 ) -28 0 311 0 TestMpSongData::testsetComposerFalse -0 90 0 0 ( ) -0 91 66 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 316 1 do -20 20 316 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 316 ) -21 13 316 3 -0 1 316 1 while ( 0 ) -29 0 322 0 TestMpSongData::testsetGenreTrue -0 90 0 0 ( ) -0 91 67 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 327 1 do -21 20 327 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 327 ) -22 13 327 3 -0 1 327 1 while ( 0 ) -30 0 334 0 TestMpSongData::testsetGenreFalse -0 90 0 0 ( ) -0 91 68 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 339 1 do -22 20 339 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 339 ) -23 13 339 3 -0 1 339 1 while ( 0 ) -31 0 345 0 TestMpSongData::testsetYearTrue -0 90 0 0 ( ) -0 91 69 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 350 1 do -23 20 350 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 350 ) -24 13 350 3 -0 1 350 1 while ( 0 ) -32 0 357 0 TestMpSongData::testsetYearFalse -0 90 0 0 ( ) -0 91 70 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -33 0 371 0 TestMpSongData::testsetAlbumTrackTrue -0 90 0 0 ( ) -0 91 71 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 376 1 do -24 20 376 2 ! QTest::qCompare ( result , true , "result" , "true" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 376 ) -25 13 376 3 -0 1 376 1 while ( 0 ) -34 0 383 0 TestMpSongData::testsetAlbumTrackFalse -0 90 0 0 ( ) -0 91 72 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 388 1 do -25 20 388 2 ! QTest::qCompare ( result , false , "result" , "false" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 388 ) -26 13 388 3 -0 1 388 1 while ( 0 ) -35 0 394 0 TestMpSongData::testsetAlbumArtUri -0 90 0 0 ( ) -0 91 73 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 401 1 do -26 20 401 2 ! QTest::qVerify ( ( spy . isValid ( ) ) , "spy.isValid()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 401 ) -27 13 401 3 -0 1 401 1 while ( 0 ) -0 1 402 1 do -27 20 402 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 402 ) -28 13 402 3 -0 1 402 1 while ( 0 ) -0 1 405 1 do -28 20 405 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 405 ) -29 13 405 3 -0 1 405 1 while ( 0 ) -0 1 409 1 do -29 20 409 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 409 ) -30 13 409 3 -0 1 409 1 while ( 0 ) -0 1 410 1 do -30 20 410 2 ! QTest::qCompare ( mTest -> mAlbumArt , mTest -> mDefaultAlbumArt , "mTest->mAlbumArt" , "mTest->mDefaultAlbumArt" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 410 ) -31 13 410 3 -0 1 410 1 while ( 0 ) -0 1 413 1 do -31 20 413 2 ! QTest::qCompare ( spy . count ( ) , 2 , "spy.count()" , "2" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 413 ) -32 13 413 3 -0 1 413 1 while ( 0 ) -0 1 414 1 do -32 20 414 2 ! QTest::qCompare ( mTest -> mAlbumArt , mTest -> mDefaultAlbumArt , "mTest->mAlbumArt" , "mTest->mDefaultAlbumArt" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 414 ) -33 13 414 3 -0 1 414 1 while ( 0 ) -36 0 421 0 TestMpSongData::testThumbnailReady -0 90 0 0 ( ) -0 91 74 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 427 1 do -33 20 427 2 ! QTest::qVerify ( ( spy . isValid ( ) ) , "spy.isValid()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 427 ) -34 13 427 3 -0 1 427 1 while ( 0 ) -0 1 428 1 do -34 20 428 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 428 ) -35 13 428 3 -0 1 428 1 while ( 0 ) -0 1 433 1 do -35 20 433 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 433 ) -36 13 433 3 -0 1 433 1 while ( 0 ) -0 1 434 1 do -36 20 434 2 ! QTest::qCompare ( mTest -> mAlbumArt , dummyAlbumArt , "mTest->mAlbumArt" , "dummyAlbumArt" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 434 ) -37 13 434 3 -0 1 434 1 while ( 0 ) -0 1 437 1 do -37 20 437 2 ! QTest::qCompare ( spy . count ( ) , 2 , "spy.count()" , "2" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 437 ) -38 13 437 3 -0 1 437 1 while ( 0 ) -0 1 438 1 do -38 20 438 2 ! QTest::qCompare ( mTest -> mAlbumArt , mTest -> mDefaultAlbumArt , "mTest->mAlbumArt" , "mTest->mDefaultAlbumArt" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 438 ) -39 13 438 3 -0 1 438 1 while ( 0 ) -37 0 446 0 TestMpSongData::testCommitPlaybackInfo -0 90 0 0 ( ) -0 91 75 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 450 1 do -39 20 450 2 ! QTest::qVerify ( ( spy . isValid ( ) ) , "spy.isValid()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 450 ) -40 13 450 3 -0 1 450 1 while ( 0 ) -0 1 451 1 do -40 20 451 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 451 ) -41 13 451 3 -0 1 451 1 while ( 0 ) -0 1 454 1 do -41 20 454 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 454 ) -42 13 454 3 -0 1 454 1 while ( 0 ) -38 0 461 0 TestMpSongData::testCommitSongDetailInfo -0 90 0 0 ( ) -0 91 76 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h -0 1 465 1 do -42 20 465 2 ! QTest::qVerify ( ( spy . isValid ( ) ) , "spy.isValid()" , "" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 465 ) -43 13 465 3 -0 1 465 1 while ( 0 ) -0 1 466 1 do -43 20 466 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 466 ) -44 13 466 3 -0 1 466 1 while ( 0 ) -0 1 469 1 do -44 20 469 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 469 ) -45 13 469 3 -0 1 469 1 while ( 0 ) -%471,39,46,45,0,0 -END OF SYMBOLFILE -4 1 do -45 20 464 2 ! QTest::qCompare ( spy . count ( ) , 0 , "spy.count()" , "0" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 464 ) -46 13 464 3 -0 1 464 1 while ( 0 ) -0 1 467 1 do -46 20 467 2 ! QTest::qCompare ( spy . count ( ) , 1 , "spy.count()" , "1" , "Z:\\musicplayer\\mpviewplugins\\mpdetailsviewplugin\\tsrc\\unittest_mpsongdata\\src\\unittest_mpsongdata.cpp" , 467 ) -47 13 467 3 -0 1 467 1 while ( 0 ) -%469,39,48,47,0,0 -END OF SYMBOLFILE diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -; unittest_mpmpxpbframeworkwrapper_template.pkg generated by qmake at 2010-03-07T16:15:41 -; This file is generated by qmake and should not be modified by the user -; - -; Language -&EN - -; SIS header: name, uid, version -#{"unittest_mpsongdata"},(0xE003e880),1,0,0 - -; Localised Vendor name -%{"Vendor"} - -; Unique Vendor name -:"Vendor" - -; Executable and default resource files -"/epoc32/release/armv5/udeb/unittest_mpsongdata.exe" - "!:\sys\bin\unittest_mpsongdata.exe" -"/epoc32/data/z/private/10003a3f/import/apps/unittest_mpsongdata_reg.rsc" - "!:\private\10003a3f\import\apps\unittest_mpsongdata_reg.rsc" - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.sisx Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.sisx has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcdata.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcdata.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,652 +0,0 @@ - - -CTCRTS: Write coverage data to file 2010-03-12 13:39:14 - -CTCDATA: - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcerr.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcerr.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2213 +0,0 @@ - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[specs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp - - -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5880.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3104.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3900.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-280.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-6040.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2120.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpsongdata{000a0000}[ea4c3199].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[33]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[34]: Z:/epoc32/release/armv5/lib/libc.dso -argv[35]: Z:/epoc32/release/armv5/lib/libm.dso -argv[36]: Z:/epoc32/release/armv5/lib/euser.dso -argv[37]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[38]: Z:/epoc32/release/armv5/lib/cone.dso -argv[39]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[40]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[42]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[43]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[44]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[45]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[47]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[48]: Z:/epoc32/release/armv5/lib/hal.dso -argv[49]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[50]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[51]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[52]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[53]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[56]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-1312.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp - -thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1816.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4940.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-484.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1476.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2560.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5168.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpsongdata{000a0000}[ea4c3199].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[33]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[34]: Z:/epoc32/release/armv5/lib/libc.dso -argv[35]: Z:/epoc32/release/armv5/lib/libm.dso -argv[36]: Z:/epoc32/release/armv5/lib/euser.dso -argv[37]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[38]: Z:/epoc32/release/armv5/lib/cone.dso -argv[39]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[40]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[42]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[43]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[44]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[45]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[47]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[48]: Z:/epoc32/release/armv5/lib/hal.dso -argv[49]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[50]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[51]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[52]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[53]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[56]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5000.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4336.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5612.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4488.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4768.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-868.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4480.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpsongdata{000a0000}[ea4c3199].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[33]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[34]: Z:/epoc32/release/armv5/lib/libc.dso -argv[35]: Z:/epoc32/release/armv5/lib/libm.dso -argv[36]: Z:/epoc32/release/armv5/lib/euser.dso -argv[37]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[38]: Z:/epoc32/release/armv5/lib/cone.dso -argv[39]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[40]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[42]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[43]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[44]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[45]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[47]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[48]: Z:/epoc32/release/armv5/lib/hal.dso -argv[49]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[50]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[51]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[52]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[53]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[56]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-5476.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp - -thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-2916.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5948.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-3772.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5504.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-1668.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-6084.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpsongdata{000a0000}[ea4c3199].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[33]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[34]: Z:/epoc32/release/armv5/lib/libc.dso -argv[35]: Z:/epoc32/release/armv5/lib/libm.dso -argv[36]: Z:/epoc32/release/armv5/lib/euser.dso -argv[37]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[38]: Z:/epoc32/release/armv5/lib/cone.dso -argv[39]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[40]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[42]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[43]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[44]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[45]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[47]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[48]: Z:/epoc32/release/armv5/lib/hal.dso -argv[49]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[50]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[51]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[52]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[53]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[56]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-2668.rsp -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/moc_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp - -thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5268.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5884.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5160.rsp -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4276.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-4196.rsp - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armcc.exe -argv[1]: -O0 -argv[2]: -g -argv[3]: --dwarf2 -argv[4]: --dllimport_runtime -argv[5]: --exceptions -argv[6]: --exceptions_unwind -argv[7]: --diag_suppress -argv[8]: 161,611,654,997,1152,1300,1464,1488,2523,6318,6331 -argv[9]: --diag_error -argv[10]: 1267 -argv[11]: --cpu -argv[12]: 5T -argv[13]: --enum_is_int -argv[14]: -Ono_known_library -argv[15]: --fpmode -argv[16]: ieee_no_fenv -argv[17]: --memaccess -argv[18]: -UL41 -argv[19]: --no_vfe -argv[20]: --apcs -argv[21]: /inter -argv[22]: -c -argv[23]: --thumb -argv[24]: -D__MARM_THUMB__ -argv[25]: --fpu -argv[26]: softvfp -argv[27]: --visibility_inlines_hidden -argv[28]: --cpp -argv[29]: -D__MARM_INTERWORK__ -argv[30]: -D_DEBUG -argv[31]: -D__SUPPORT_CPP_EXCEPTIONS__ -argv[32]: -D_UNICODE -argv[33]: -D__SYMBIAN32__ -argv[34]: -D__ARMCC__ -argv[35]: -D__EPOC32__ -argv[36]: -D__MARM__ -argv[37]: -D__EABI__ -argv[38]: -D__PRODUCT_INCLUDE__="Z:/epoc32/include/feature_settings.hrh" -argv[39]: -DUNICODE -argv[40]: -DQT_KEYPAD_NAVIGATION -argv[41]: -DQT_SOFTKEYS_ENABLED -argv[42]: -DQT_USE_MATH_H_FLOATS -argv[43]: -DHB_GESTURE_FW -argv[44]: -DHB_EFFECTS -argv[45]: -DHB_TEXT_MEASUREMENT_UTILITY -argv[46]: -DQT_NO_DEBUG -argv[47]: -DQT_SVG_LIB -argv[48]: -DQT_GUI_LIB -argv[49]: -DQT_NETWORK_LIB -argv[50]: -DQT_CORE_LIB -argv[51]: -D__MARM_ARMV5__ -argv[52]: -D__ARMCC_2__ -argv[53]: -D__ARMCC_2_2__ -argv[54]: -D__EXE__ -argv[55]: -D__SYMBIAN_STDCPP_SUPPORT__ -argv[56]: --preinclude -argv[57]: Z:/epoc32/include/rvct/rvct.h -argv[58]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[59]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[60]: -JZ:/epoc32/include/mw/QtCore -argv[61]: -JZ:/epoc32/include/mw/QtNetwork -argv[62]: -JZ:/epoc32/include/mw/QtGui -argv[63]: -JZ:/epoc32/include/mw/QtSvg -argv[64]: -JZ:/epoc32/include/mw -argv[65]: -JZ:/epoc32/include/mw/QtTest -argv[66]: -JZ:/sf/mw/qt/mkspecs/common/symbian -argv[67]: -JZ:/epoc32/include -argv[68]: -JZ:/epoc32/include/stdapis -argv[69]: -JZ:/epoc32/include/stdapis/sys -argv[70]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc -argv[71]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc -argv[72]: -JZ:/musicplayer/inc -argv[73]: -JZ:/epoc32/include/platform/mw -argv[74]: -JZ:/epoc32/include/platform -argv[75]: -JZ:/epoc32/include/app -argv[76]: -JZ:/epoc32/include/platform/app -argv[77]: -JZ:/epoc32/include/platform/loc -argv[78]: -JZ:/epoc32/include/platform/mw/loc -argv[79]: -JZ:/epoc32/include/platform/app/loc -argv[80]: -JZ:/epoc32/include/platform/loc/sc -argv[81]: -JZ:/epoc32/include/platform/mw/loc/sc -argv[82]: -JZ:/epoc32/include/platform/app/loc/sc -argv[83]: -JZ:/epoc32/include/mw/hb/hbcore -argv[84]: -JZ:/epoc32/include/mw/hb/hbwidgets -argv[85]: -JZ:/epoc32/include/mw/hb/hbtools -argv[86]: -JZ:/epoc32/include/mw/qtsvg -argv[87]: -JZ:/epoc32/include/mw/qtgui -argv[88]: -JZ:/epoc32/include/mw/qtnetwork -argv[89]: -JZ:/epoc32/include/mw/qtcore -argv[90]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata -argv[91]: -JZ:/epoc32/include/stdapis/stlportv5 -argv[92]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc -argv[93]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src -argv[94]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/src -argv[95]: -JZ:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src -argv[96]: -JZ:/epoc32/include -argv[97]: -JZ:/epoc32/include/stdapis -argv[98]: --depend_format=unix -argv[99]: --depend -argv[100]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o.d -argv[101]: -o -argv[102]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/thumbnailmanager_qt.o -argv[103]: Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armcc --via ctc-armcc-5668.rsp -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - -*** CTC++/ctcagent command status: 0 - - -******************************************************************************* - -argv[0]: C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\armlink.exe -argv[1]: --diag_suppress -argv[2]: 6331 -argv[3]: --bpabi -argv[4]: --reloc -argv[5]: --no_scanlib -argv[6]: --datacompressor=off -argv[7]: --debug -argv[8]: --dll -argv[9]: --split -argv[10]: --rw-base -argv[11]: 0x400000 -argv[12]: --symver_soname -argv[13]: --soname=unittest_mpsongdata{000a0000}[ea4c3199].exe -argv[14]: --entry=_E32Startup -argv[15]: Z:/epoc32/release/armv5/udeb/eexe.lib(uc_exe_.o) -argv[16]: -o -argv[17]: Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.sym -argv[18]: --symbols -argv[19]: --list=Z:/epoc32/release/armv5/udeb/unittest_mpsongdata.exe.map -argv[20]: --via -argv[21]: Z:/epoc32/build/unittest_mpsongdata/c_5150b4549c6d2003/unittest_mpsongdata_exe/armv5/udeb/unittest_mpsongdata_udeb_objects.via -argv[22]: Z:/epoc32/release/armv5/udeb/usrt2_2.lib -argv[23]: Z:/epoc32/release/armv5/udeb/qtmain.lib -argv[24]: Z:/epoc32/release/armv5/lib/mpxviewframeworkqt.dso -argv[25]: Z:/epoc32/release/armv5/lib/HbCore.dso -argv[26]: Z:/epoc32/release/armv5/lib/HbWidgets.dso -argv[27]: Z:/epoc32/release/armv5/lib/HbTools.dso -argv[28]: Z:/epoc32/release/armv5/lib/QtTest.dso -argv[29]: Z:/epoc32/release/armv5/lib/QtSvg.dso -argv[30]: Z:/epoc32/release/armv5/lib/QtGui.dso -argv[31]: Z:/epoc32/release/armv5/lib/QtNetwork.dso -argv[32]: Z:/epoc32/release/armv5/lib/QtCore.dso -argv[33]: Z:/epoc32/release/armv5/lib/libstdcppv5.dso -argv[34]: Z:/epoc32/release/armv5/lib/libc.dso -argv[35]: Z:/epoc32/release/armv5/lib/libm.dso -argv[36]: Z:/epoc32/release/armv5/lib/euser.dso -argv[37]: Z:/epoc32/release/armv5/lib/libdl.dso -argv[38]: Z:/epoc32/release/armv5/lib/cone.dso -argv[39]: Z:/epoc32/release/armv5/lib/eikcore.dso -argv[40]: Z:/epoc32/release/armv5/lib/mediaclientaudio.dso -argv[41]: Z:/epoc32/release/armv5/lib/eikcoctl.dso -argv[42]: Z:/epoc32/release/armv5/lib/eiksrv.dso -argv[43]: Z:/epoc32/release/armv5/lib/apparc.dso -argv[44]: Z:/epoc32/release/armv5/lib/avkon.dso -argv[45]: Z:/epoc32/release/armv5/lib/efsrv.dso -argv[46]: Z:/epoc32/release/armv5/lib/charconv.dso -argv[47]: Z:/epoc32/release/armv5/lib/ws32.dso -argv[48]: Z:/epoc32/release/armv5/lib/hal.dso -argv[49]: Z:/epoc32/release/armv5/lib/gdi.dso -argv[50]: Z:/epoc32/release/armv5/lib/apgrfx.dso -argv[51]: Z:/epoc32/release/armv5/lib/stdnew.dso -argv[52]: Z:/epoc32/release/armv5/lib/drtaeabi.dso -argv[53]: Z:/epoc32/release/armv5/lib/dfpaeabi.dso -argv[54]: Z:/epoc32/release/armv5/lib/dfprvct2_2.dso -argv[55]: Z:/epoc32/release/armv5/lib/drtrvct2_2.dso -argv[56]: C:/APPS/rvct22_686/lib/armlib/h_t__uf.l(switch8.o) - -*** CTC++/ctcagent command: set PATH=C:\APPS\sbs\win32\mingw\bin;C:\APPS\sbs\win32\cygwin\bin;C:\APPS\sbs\win32\bin;C:\APPS\rvct22_686\bin;c:\apps\actperl\bin\;c:\apps\rvct22_686\bin;c:\apps\atool;\epoc32\tools;\epoc32\gcc\bin;c:\apps\ue;c:\apps\ccm65\bin;c:\apps\carbide\x86Build\Symbian_Tools\Command_Line_Tools;C:\APPS\actpython\.;C:\Program Files\PC Connectivity Solution\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Intel\WiFi\bin;S:\ORANT\BIN;C:\APPS\pclint;C:\APPS\cmt\;C:\APPS\cltools;C:\APPS\codescanner;C:\APPS\ant\bin;C:\APPS\j2sdk_1.3.1_06\bin;C:\APPS\understand\bin\pc-win95;C:\APPS\unzip;C:\Program Files\Nokia\FastTrace;C:\Apps\bin;Y:\sf\mw\qt\bin;C:\APPS\ctc;C:\APPS\sbs\bin;C:\APPS\7zip;C:\APPS\bc;\epoc32\gcc_mingw\bin;C:\APPS\symdec; && C:\APPS\ctc\ctc -c C:\APPS\ctc\sym_armv5\armv5.ini @C:\DOCUME~1\cuzdan\LOCALS~1\Temp\ctc2\ctcopts.rsp armlink --via ctc-armlink-464.rsp -*** CTC++/ctcagent command status: 0 - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* -* Copyright (c) 2010 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: Unit test for mpsongdata -* -*/ - -#ifndef UNITTEST_MPSONGDATA_H_ -#define UNITTEST_MPSONGDATA_H_ - -#include - -class MpSongData; - -class TestMpSongData : public QObject -{ - Q_OBJECT - -public: - - TestMpSongData(); - virtual ~TestMpSongData(); - -signals: - - void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error ); - -public slots: - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void testMemberCleanup(); - void testAlbumArtIsNull(); - void testAlbumArtNotNull(); - void testTitleIsNull(); - void testAlbumIsNull(); - void testArtistIsNull(); - void testCommentIsNull(); - void testComposerIsNull(); - void testGenreIsNull(); - void testAlbumtrackIsNull(); - void testLinkIsNull(); - void testYearIsNull(); - void testSetTitleTrue(); - void testSetTitleFalse(); - void testsetAlbumTrue(); - void testsetAlbumFalse(); - void testsetArtistTrue(); - void testsetArtistFalse(); - void testsetCommentTrue(); - void testsetCommentFalse(); - void testsetComposerTrue(); - void testsetComposerFalse(); - void testsetGenreTrue(); - void testsetGenreFalse(); - void testsetYearTrue(); - void testsetYearFalse(); - void testsetAlbumTrackTrue(); - void testsetAlbumTrackFalse(); - void testsetAlbumArtUri(); - void testThumbnailReady(); - void testCommitPlaybackInfo(); - void testCommitSongDetailInfo(); -private: - MpSongData *mTest; - -}; - - -#endif /* UNITTEST_MPSONGDATA_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/profile.txt --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/profile.txt Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,938 +0,0 @@ -***************************************************************************** -* CTC++, Test Coverage Analyzer for C/C++, Version 6.5.5 * -* * -* EXECUTION PROFILE LISTING * -* * -* Copyright (c) 1993-2009 Testwell Oy * -***************************************************************************** - - -Symbol file(s) used : MON.sym (Fri Mar 12 15:16:31 2010) -Data file(s) used : MON.dat (Fri Mar 12 15:56:49 2010) -Listing produced at : Fri Mar 12 15:59:17 2010 -Coverage view : As instrumented - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_thumbnailmanager_qt.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 50 FUNCTION ThumbnailManager::getStaticMetaObject() - 0 - 50 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::getStaticMetaObject() ------------------------------------------------------------------------------ - - 67 0 53 FUNCTION ThumbnailManager::metaObject() - 0 67 - 55 ternary-?: QObject::d_ptr -> metaObject - 67 55 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION ThumbnailManager::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 58 FUNCTION ThumbnailManager::qt_metacast() - 0 0 - 60 if (! _clname) - 0 - 60 return 0 - 0 0 - 61 if (! strcmp ( _clname , qt_meta_stringdata_Th.. - 0 - 62 return static_cast < void * > ( const_cast <.. - 0 - 63 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION ThumbnailManager::qt_metacast() ------------------------------------------------------------------------------ - - 2 0 66 FUNCTION ThumbnailManager::qt_metacall() - 0 2 - 69 if (_id < 0) - 0 - 70 return _id - 2 0 - 71 if (_c == QMetaObject::InvokeMetaMethod) - 72 switch ( _id ) - 2 73 case 0: - 2 73 break - 0 - 74 default: - 2 78 return _id - -***TER 60 % ( 6/ 10) of FUNCTION ThumbnailManager::qt_metacall() ------------------------------------------------------------------------------ - - 2 2 82 FUNCTION ThumbnailManager::thumbnailReady() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::thumbnailReady() ------------------------------------------------------------------------------ - - -***TER 40 % ( 10/ 25) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_thumbnailmanager_qt.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 72 FUNCTION MpSongData::getStaticMetaObject() - 0 - 72 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::getStaticMetaObject() ------------------------------------------------------------------------------ - - 41 0 75 FUNCTION MpSongData::metaObject() - 0 41 - 77 ternary-?: QObject::d_ptr -> metaObject - 41 77 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION MpSongData::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 80 FUNCTION MpSongData::qt_metacast() - 0 0 - 82 if (! _clname) - 0 - 82 return 0 - 0 0 - 83 if (! strcmp ( _clname , qt_meta_stringdata_Mp.. - 0 - 84 return static_cast < void * > ( const_cast <.. - 0 - 85 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION MpSongData::qt_metacast() ------------------------------------------------------------------------------ - - 2 0 88 FUNCTION MpSongData::qt_metacall() - 0 2 - 91 if (_id < 0) - 0 - 92 return _id - 2 0 - 93 if (_c == QMetaObject::InvokeMetaMethod) - 94 switch ( _id ) - 0 - 95 case 0: - 0 - 95 break - 0 - 96 case 1: - 0 - 96 break - 0 - 97 case 2: - 0 - 97 break - 2 98 case 3: - 2 98 break - 0 - 99 case 4: - 0 0 - 100 if (_a [ 0 ]) - 0 - 100 break - 0 - 101 case 5: - 0 0 - 102 if (_a [ 0 ]) - 0 - 102 break - 0 - 103 case 6: - 0 0 - 104 if (_a [ 0 ]) - 0 - 104 break - 0 - 105 case 7: - 0 0 - 106 if (_a [ 0 ]) - 0 - 106 break - 0 - 107 case 8: - 0 0 - 108 if (_a [ 0 ]) - 0 - 108 break - 0 - 109 case 9: - 0 - 109 break - 0 - 110 case 10: - 0 0 - 111 if (_a [ 0 ]) - 0 - 111 break - 0 - 112 case 11: - 0 0 - 113 if (_a [ 0 ]) - 0 - 113 break - 0 - 114 case 12: - 0 0 - 115 if (_a [ 0 ]) - 0 - 115 break - 0 - 116 case 13: - 0 0 - 117 if (_a [ 0 ]) - 0 - 117 break - 0 - 118 case 14: - 0 0 - 119 if (_a [ 0 ]) - 0 - 119 break - 0 - 120 default: - 2 124 return _id - -***TER 10 % ( 6/ 58) of FUNCTION MpSongData::qt_metacall() ------------------------------------------------------------------------------ - - 4 4 128 FUNCTION MpSongData::albumArtReady() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::albumArtReady() ------------------------------------------------------------------------------ - - 1 1 134 FUNCTION MpSongData::playbackInfoChanged() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::playbackInfoChanged() ------------------------------------------------------------------------------ - - 1 1 140 FUNCTION MpSongData::songDetailInfoChanged() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::songDetailInfoChanged() ------------------------------------------------------------------------------ - - -***TER 16 % ( 12/ 75) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 33 33 62 FUNCTION MpSongData::MpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::MpSongData() ------------------------------------------------------------------------------ - - 33 33 88 FUNCTION MpSongData::~MpSongData() - 33 0 - 91 if (mThumbnailManager) - -***TER 67 % ( 2/ 3) of FUNCTION MpSongData::~MpSongData() ------------------------------------------------------------------------------ - - 2 2 100 FUNCTION MpSongData::albumArt() - 0 2 - 103 if (! mAlbumArt . isNull ( )) - 106 else - -***TER 67 % ( 2/ 3) of FUNCTION MpSongData::albumArt() ------------------------------------------------------------------------------ - - 0 0 - 116 FUNCTION MpSongData::title() - 0 - 119 return mTitle - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::title() ------------------------------------------------------------------------------ - - 0 0 - 125 FUNCTION MpSongData::album() - 0 - 128 return mAlbum - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::album() ------------------------------------------------------------------------------ - - 0 0 - 134 FUNCTION MpSongData::artist() - 0 - 137 return mArtist - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::artist() ------------------------------------------------------------------------------ - - 0 0 - 143 FUNCTION MpSongData::comment() - 0 - 146 return mComment - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::comment() ------------------------------------------------------------------------------ - - 0 0 - 152 FUNCTION MpSongData::composer() - 0 - 155 return mComposer - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::composer() ------------------------------------------------------------------------------ - - 0 0 - 162 FUNCTION MpSongData::genre() - 0 - 165 return mGenre - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::genre() ------------------------------------------------------------------------------ - - 0 0 - 172 FUNCTION MpSongData::albumTrack() - 0 - 175 return mAlbumTrack - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::albumTrack() ------------------------------------------------------------------------------ - - 0 0 - 181 FUNCTION MpSongData::link() - 0 - 184 return mLink - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::link() ------------------------------------------------------------------------------ - - 0 0 - 190 FUNCTION MpSongData::year() - 0 - 193 return mYear - -***TER 0 % ( 0/ 2) of FUNCTION MpSongData::year() ------------------------------------------------------------------------------ - - 2 0 200 FUNCTION MpSongData::setTitle() - 1 1 204 if (title != mTitle) - 2 209 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setTitle() ------------------------------------------------------------------------------ - - 2 0 215 FUNCTION MpSongData::setAlbum() - 1 1 219 if (album != mAlbum) - 2 224 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setAlbum() ------------------------------------------------------------------------------ - - 2 0 230 FUNCTION MpSongData::setArtist() - 1 1 234 if (artist != mArtist) - 2 239 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setArtist() ------------------------------------------------------------------------------ - - 2 0 245 FUNCTION MpSongData::setComment() - 1 1 249 if (comment != mComment) - 2 254 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setComment() ------------------------------------------------------------------------------ - - 2 0 261 FUNCTION MpSongData::setComposer() - 1 1 265 if (composer != mComposer) - 2 270 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setComposer() ------------------------------------------------------------------------------ - - 2 0 276 FUNCTION MpSongData::setGenre() - 1 1 280 if (genre != mGenre) - 2 285 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setGenre() ------------------------------------------------------------------------------ - - 1 0 292 FUNCTION MpSongData::setYear() - 1 0 - 296 if (QString::number ( year ) != mYear) - 1 0 - 298 if (year >= 0 && year < 9999) - 300 else - 1 305 return change - -***TER 67 % ( 4/ 6) of FUNCTION MpSongData::setYear() ------------------------------------------------------------------------------ - - 2 0 311 FUNCTION MpSongData::setAlbumTrack() - 1 1 315 if (track != mAlbumTrack) - 2 320 return change - -***TER 100 % ( 4/ 4) of FUNCTION MpSongData::setAlbumTrack() ------------------------------------------------------------------------------ - - 0 0 - 326 FUNCTION MpSongData::setLink() - -***TER 0 % ( 0/ 1) of FUNCTION MpSongData::setLink() ------------------------------------------------------------------------------ - - 3 3 336 FUNCTION MpSongData::setAlbumArtUri() - 2 1 339 if (! albumArtUri . isEmpty ( )) - 1 1 341 if (mReqId != KUndefined) - 2 0 - 345 if (ok) - 1 1 347 if (mReqId == KUndefined) - 354 else - -***TER 89 % ( 8/ 9) of FUNCTION MpSongData::setAlbumArtUri() ------------------------------------------------------------------------------ - - 2 2 366 FUNCTION MpSongData::thumbnailReady() - 1 1 374 if (error == 0 && mReqId == id) - 379 else - -***TER 100 % ( 3/ 3) of FUNCTION MpSongData::thumbnailReady() ------------------------------------------------------------------------------ - - 1 1 391 FUNCTION MpSongData::commitPlaybackInfo() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::commitPlaybackInfo() ------------------------------------------------------------------------------ - - 1 1 401 FUNCTION MpSongData::commitSongDetailInfo() - -***TER 100 % ( 1/ 1) of FUNCTION MpSongData::commitSongDetailInfo() ------------------------------------------------------------------------------ - - -***TER 68 % ( 50/ 74) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_unittest_mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 0 0 - 106 FUNCTION TestMpSongData::getStaticMetaObject() - 0 - 106 return staticMetaObject - -***TER 0 % ( 0/ 2) of FUNCTION TestMpSongData::getStaticMetaObject() ------------------------------------------------------------------------------ - - 364 0 109 FUNCTION TestMpSongData::metaObject() - 0 364 - 111 ternary-?: QObject::d_ptr -> metaObject - 364 111 return QObject::d_ptr -> metaObject ? QObject:.. - -***TER 75 % ( 3/ 4) of FUNCTION TestMpSongData::metaObject() ------------------------------------------------------------------------------ - - 0 0 - 114 FUNCTION TestMpSongData::qt_metacast() - 0 0 - 116 if (! _clname) - 0 - 116 return 0 - 0 0 - 117 if (! strcmp ( _clname , qt_meta_stringdata_Te.. - 0 - 118 return static_cast < void * > ( const_cast <.. - 0 - 119 return QObject::qt_metacast ( _clname ) - -***TER 0 % ( 0/ 8) of FUNCTION TestMpSongData::qt_metacast() ------------------------------------------------------------------------------ - - 98 0 122 FUNCTION TestMpSongData::qt_metacall() - 0 98 - 125 if (_id < 0) - 0 - 126 return _id - 98 0 - 127 if (_c == QMetaObject::InvokeMetaMethod) - 128 switch ( _id ) - 0 - 129 case 0: - 0 - 129 break - 1 130 case 1: - 1 130 break - 1 131 case 2: - 1 131 break - 32 132 case 3: - 32 132 break - 32 133 case 4: - 32 133 break - 1 134 case 5: - 1 134 break - 1 135 case 6: - 1 135 break - 1 136 case 7: - 1 136 break - 1 137 case 8: - 1 137 break - 1 138 case 9: - 1 138 break - 1 139 case 10: - 1 139 break - 1 140 case 11: - 1 140 break - 1 141 case 12: - 1 141 break - 1 142 case 13: - 1 142 break - 1 143 case 14: - 1 143 break - 1 144 case 15: - 1 144 break - 1 145 case 16: - 1 145 break - 1 146 case 17: - 1 146 break - 1 147 case 18: - 1 147 break - 1 148 case 19: - 1 148 break - 1 149 case 20: - 1 149 break - 1 150 case 21: - 1 150 break - 1 151 case 22: - 1 151 break - 1 152 case 23: - 1 152 break - 1 153 case 24: - 1 153 break - 1 154 case 25: - 1 154 break - 1 155 case 26: - 1 155 break - 1 156 case 27: - 1 156 break - 1 157 case 28: - 1 157 break - 1 158 case 29: - 1 158 break - 1 159 case 30: - 1 159 break - 1 160 case 31: - 1 160 break - 1 161 case 32: - 1 161 break - 1 162 case 33: - 1 162 break - 1 163 case 34: - 1 163 break - 1 164 case 35: - 1 164 break - 1 165 case 36: - 1 165 break - 0 - 166 default: - 98 170 return _id - -***TER 93 % ( 76/ 82) of FUNCTION TestMpSongData::qt_metacall() ------------------------------------------------------------------------------ - - 2 2 174 FUNCTION TestMpSongData::thumbnailReady() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::thumbnailReady() ------------------------------------------------------------------------------ - - -***TER 82 % ( 80/ 97) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/moc_unittest_mpsongdata.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 1 0 26 FUNCTION ThumbnailManager::getInitCounter() - 1 28 return gInitCounter - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::getInitCounter() ------------------------------------------------------------------------------ - - 1 1 34 FUNCTION ThumbnailManager::resetInitCounter() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::resetInitCounter() ------------------------------------------------------------------------------ - - 33 33 42 FUNCTION ThumbnailManager::ThumbnailManager() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::ThumbnailManager() ------------------------------------------------------------------------------ - - 33 33 54 FUNCTION ThumbnailManager::~ThumbnailManager() - -***TER 100 % ( 1/ 1) of FUNCTION ThumbnailManager::~ThumbnailManager() ------------------------------------------------------------------------------ - - 0 0 - 62 FUNCTION ThumbnailManager::setMode() - 0 - 65 return true - -***TER 0 % ( 0/ 2) of FUNCTION ThumbnailManager::setMode() ------------------------------------------------------------------------------ - - 33 0 71 FUNCTION ThumbnailManager::setQualityPreference() - 33 75 return true - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::setQualityPreference() ------------------------------------------------------------------------------ - - 33 0 81 FUNCTION ThumbnailManager::setThumbnailSize() - 33 84 return true - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::setThumbnailSize() ------------------------------------------------------------------------------ - - 2 0 90 FUNCTION ThumbnailManager::getThumbnail() - 0 2 - 96 if (clientData) - 1 1 104 if (mGetThumbFails) - 1 105 return - 1 - 1 109 return mThumbnailReqCounter - -***TER 86 % ( 6/ 7) of FUNCTION ThumbnailManager::getThumbnail() ------------------------------------------------------------------------------ - - 1 0 115 FUNCTION ThumbnailManager::cancelRequest() - 1 119 return true - -***TER 100 % ( 2/ 2) of FUNCTION ThumbnailManager::cancelRequest() ------------------------------------------------------------------------------ - - -***TER 85 % ( 17/ 20) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp ------------------------------------------------------------------------------ - - - -MONITORED SOURCE FILE : Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp -INSTRUMENTATION MODE : function-decision - - START/ END/ - TRUE FALSE LINE DESCRIPTION -============================================================================= - - 1 0 34 FUNCTION main() - 1 48 return res - -***TER 100 % ( 2/ 2) of FUNCTION main() ------------------------------------------------------------------------------ - - 1 1 52 FUNCTION TestMpSongData::TestMpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::TestMpSongData() ------------------------------------------------------------------------------ - - 1 1 59 FUNCTION TestMpSongData::~TestMpSongData() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::~TestMpSongData() ------------------------------------------------------------------------------ - - 1 1 67 FUNCTION TestMpSongData::initTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::initTestCase() ------------------------------------------------------------------------------ - - 1 1 75 FUNCTION TestMpSongData::cleanupTestCase() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::cleanupTestCase() ------------------------------------------------------------------------------ - - 33 33 83 FUNCTION TestMpSongData::init() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::init() ------------------------------------------------------------------------------ - - 34 34 91 FUNCTION TestMpSongData::cleanup() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::cleanup() ------------------------------------------------------------------------------ - - 1 1 100 FUNCTION TestMpSongData::testMemberCleanup() - 106 do - 0 1 - 106 if (! QTest::qCompare ( ThumbnailManager::ge.. - 0 - 106 return - 106 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testMemberCleanup() ------------------------------------------------------------------------------ - - 1 1 112 FUNCTION TestMpSongData::testAlbumArtIsNull() - 116 do - 0 1 - 116 if (! QTest::qVerify ( ( dummyAlbumArt . isN.. - 0 - 116 return - 116 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testAlbumArtIsNull() ------------------------------------------------------------------------------ - - 1 1 123 FUNCTION TestMpSongData::testAlbumArtNotNull() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::testAlbumArtNotNull() ------------------------------------------------------------------------------ - - 1 1 133 FUNCTION TestMpSongData::testTitleIsNull() - 135 do - 0 1 - 135 if (! QTest::qVerify ( ( mTest -> mTitle . i.. - 0 - 135 return - 135 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testTitleIsNull() ------------------------------------------------------------------------------ - - 1 1 141 FUNCTION TestMpSongData::testAlbumIsNull() - 143 do - 0 1 - 143 if (! QTest::qVerify ( ( mTest -> mAlbum . i.. - 0 - 143 return - 143 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testAlbumIsNull() ------------------------------------------------------------------------------ - - 1 1 149 FUNCTION TestMpSongData::testArtistIsNull() - 151 do - 0 1 - 151 if (! QTest::qVerify ( ( mTest -> mArtist . .. - 0 - 151 return - 151 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testArtistIsNull() ------------------------------------------------------------------------------ - - 1 1 157 FUNCTION TestMpSongData::testCommentIsNull() - 159 do - 0 1 - 159 if (! QTest::qVerify ( ( mTest -> mComment ... - 0 - 159 return - 159 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testCommentIsNull() ------------------------------------------------------------------------------ - - 1 1 165 FUNCTION TestMpSongData::testComposerIsNull() - 167 do - 0 1 - 167 if (! QTest::qVerify ( ( mTest -> mComposer .. - 0 - 167 return - 167 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testComposerIsNull() ------------------------------------------------------------------------------ - - 1 1 173 FUNCTION TestMpSongData::testGenreIsNull() - 175 do - 0 1 - 175 if (! QTest::qVerify ( ( mTest -> mGenre . i.. - 0 - 175 return - 175 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testGenreIsNull() ------------------------------------------------------------------------------ - - 1 1 182 FUNCTION TestMpSongData::testAlbumtrackIsNull() - 184 do - 0 1 - 184 if (! QTest::qVerify ( ( mTest -> mAlbumTrac.. - 0 - 184 return - 184 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testAlbumtrackIsNull() ------------------------------------------------------------------------------ - - 1 1 190 FUNCTION TestMpSongData::testLinkIsNull() - 192 do - 0 1 - 192 if (! QTest::qVerify ( ( mTest -> mLink . is.. - 0 - 192 return - 192 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testLinkIsNull() ------------------------------------------------------------------------------ - - 1 1 198 FUNCTION TestMpSongData::testYearIsNull() - 200 do - 0 1 - 200 if (! QTest::qVerify ( ( mTest -> mYear . is.. - 0 - 200 return - 200 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testYearIsNull() ------------------------------------------------------------------------------ - - 1 1 206 FUNCTION TestMpSongData::testSetTitleTrue() - 211 do - 0 1 - 211 if (! QTest::qCompare ( result , true , "res.. - 0 - 211 return - 211 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testSetTitleTrue() ------------------------------------------------------------------------------ - - 1 1 218 FUNCTION TestMpSongData::testSetTitleFalse() - 223 do - 0 1 - 223 if (! QTest::qCompare ( result , false , "re.. - 0 - 223 return - 223 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testSetTitleFalse() ------------------------------------------------------------------------------ - - 1 1 229 FUNCTION TestMpSongData::testsetAlbumTrue() - 234 do - 0 1 - 234 if (! QTest::qCompare ( result , true , "res.. - 0 - 234 return - 234 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetAlbumTrue() ------------------------------------------------------------------------------ - - 1 1 241 FUNCTION TestMpSongData::testsetAlbumFalse() - 246 do - 0 1 - 246 if (! QTest::qCompare ( result , false , "re.. - 0 - 246 return - 246 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetAlbumFalse() ------------------------------------------------------------------------------ - - 1 1 253 FUNCTION TestMpSongData::testsetArtistTrue() - 258 do - 0 1 - 258 if (! QTest::qCompare ( result , true , "res.. - 0 - 258 return - 258 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetArtistTrue() ------------------------------------------------------------------------------ - - 1 1 265 FUNCTION TestMpSongData::testsetArtistFalse() - 270 do - 0 1 - 270 if (! QTest::qCompare ( result , false , "re.. - 0 - 270 return - 270 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetArtistFalse() ------------------------------------------------------------------------------ - - 1 1 276 FUNCTION TestMpSongData::testsetCommentTrue() - 281 do - 0 1 - 281 if (! QTest::qCompare ( result , true , "res.. - 0 - 281 return - 281 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetCommentTrue() ------------------------------------------------------------------------------ - - 1 1 288 FUNCTION TestMpSongData::testsetCommentFalse() - 293 do - 0 1 - 293 if (! QTest::qCompare ( result , false , "re.. - 0 - 293 return - 293 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetCommentFalse() ------------------------------------------------------------------------------ - - 1 1 299 FUNCTION TestMpSongData::testsetComposerTrue() - 304 do - 0 1 - 304 if (! QTest::qCompare ( result , true , "res.. - 0 - 304 return - 304 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetComposerTrue() ------------------------------------------------------------------------------ - - 1 1 311 FUNCTION TestMpSongData::testsetComposerFalse() - 316 do - 0 1 - 316 if (! QTest::qCompare ( result , false , "re.. - 0 - 316 return - 316 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetComposerFalse() ------------------------------------------------------------------------------ - - 1 1 322 FUNCTION TestMpSongData::testsetGenreTrue() - 327 do - 0 1 - 327 if (! QTest::qCompare ( result , true , "res.. - 0 - 327 return - 327 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetGenreTrue() ------------------------------------------------------------------------------ - - 1 1 334 FUNCTION TestMpSongData::testsetGenreFalse() - 339 do - 0 1 - 339 if (! QTest::qCompare ( result , false , "re.. - 0 - 339 return - 339 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetGenreFalse() ------------------------------------------------------------------------------ - - 1 1 345 FUNCTION TestMpSongData::testsetYearTrue() - 350 do - 0 1 - 350 if (! QTest::qCompare ( result , true , "res.. - 0 - 350 return - 350 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetYearTrue() ------------------------------------------------------------------------------ - - 1 1 357 FUNCTION TestMpSongData::testsetYearFalse() - -***TER 100 % ( 1/ 1) of FUNCTION TestMpSongData::testsetYearFalse() ------------------------------------------------------------------------------ - - 1 1 371 FUNCTION TestMpSongData::testsetAlbumTrackTrue() - 376 do - 0 1 - 376 if (! QTest::qCompare ( result , true , "res.. - 0 - 376 return - 376 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetAlbumTrackTrue() ------------------------------------------------------------------------------ - - 1 1 383 FUNCTION TestMpSongData::testsetAlbumTrackFalse() - 388 do - 0 1 - 388 if (! QTest::qCompare ( result , false , "re.. - 0 - 388 return - 388 while ( 0 ) - -***TER 50 % ( 2/ 4) of FUNCTION TestMpSongData::testsetAlbumTrackFalse() ------------------------------------------------------------------------------ - - 1 1 394 FUNCTION TestMpSongData::testsetAlbumArtUri() - 401 do - 0 1 - 401 if (! QTest::qVerify ( ( spy . isValid ( ) ).. - 0 - 401 return - 401 while ( 0 ) - 402 do - 0 1 - 402 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 402 return - 402 while ( 0 ) - 405 do - 0 1 - 405 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 405 return - 405 while ( 0 ) - 409 do - 0 1 - 409 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 409 return - 409 while ( 0 ) - 410 do - 0 1 - 410 if (! QTest::qCompare ( mTest -> mAlbumArt ,.. - 0 - 410 return - 410 while ( 0 ) - 413 do - 0 1 - 413 if (! QTest::qCompare ( spy . count ( ) , 2 .. - 0 - 413 return - 413 while ( 0 ) - 414 do - 0 1 - 414 if (! QTest::qCompare ( mTest -> mAlbumArt ,.. - 0 - 414 return - 414 while ( 0 ) - -***TER 36 % ( 8/ 22) of FUNCTION TestMpSongData::testsetAlbumArtUri() ------------------------------------------------------------------------------ - - 1 1 421 FUNCTION TestMpSongData::testThumbnailReady() - 427 do - 0 1 - 427 if (! QTest::qVerify ( ( spy . isValid ( ) ).. - 0 - 427 return - 427 while ( 0 ) - 428 do - 0 1 - 428 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 428 return - 428 while ( 0 ) - 433 do - 0 1 - 433 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 433 return - 433 while ( 0 ) - 434 do - 0 1 - 434 if (! QTest::qCompare ( mTest -> mAlbumArt ,.. - 0 - 434 return - 434 while ( 0 ) - 437 do - 0 1 - 437 if (! QTest::qCompare ( spy . count ( ) , 2 .. - 0 - 437 return - 437 while ( 0 ) - 438 do - 0 1 - 438 if (! QTest::qCompare ( mTest -> mAlbumArt ,.. - 0 - 438 return - 438 while ( 0 ) - -***TER 37 % ( 7/ 19) of FUNCTION TestMpSongData::testThumbnailReady() ------------------------------------------------------------------------------ - - 1 1 446 FUNCTION TestMpSongData::testCommitPlaybackInfo() - 450 do - 0 1 - 450 if (! QTest::qVerify ( ( spy . isValid ( ) ).. - 0 - 450 return - 450 while ( 0 ) - 451 do - 0 1 - 451 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 451 return - 451 while ( 0 ) - 454 do - 0 1 - 454 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 454 return - 454 while ( 0 ) - -***TER 40 % ( 4/ 10) of FUNCTION TestMpSongData::testCommitPlaybackInfo() ------------------------------------------------------------------------------ - - 1 1 461 FUNCTION TestMpSongData::testCommitSongDetailInfo() - 465 do - 0 1 - 465 if (! QTest::qVerify ( ( spy . isValid ( ) ).. - 0 - 465 return - 465 while ( 0 ) - 466 do - 0 1 - 466 if (! QTest::qCompare ( spy . count ( ) , 0 .. - 0 - 466 return - 466 while ( 0 ) - 469 do - 0 1 - 469 if (! QTest::qCompare ( spy . count ( ) , 1 .. - 0 - 469 return - 469 while ( 0 ) - -***TER 40 % ( 4/ 10) of FUNCTION TestMpSongData::testCommitSongDetailInfo() ------------------------------------------------------------------------------ - - -***TER 49 % ( 85/175) of SOURCE FILE Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp ------------------------------------------------------------------------------ - - - - - -SUMMARY -======= - -Number of monitored source files : 6 -Number of source lines : 1408 -Number of measurement points : 556 -TER : 55% (decision) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/sis.bat --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/sis.bat Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -@rem -@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -@rem All rights reserved. -@rem This component and the accompanying materials are made available -@rem under the terms of "Eclipse Public License v1.0" -@rem which accompanies this distribution, and is available -@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". -@rem -@rem Initial Contributors: -@rem Nokia Corporation - initial contribution. -@rem -@rem Contributors: -@rem -@rem Description: -@rem - -del *.sisx -makesis UT_mpsongdata.pkg -signsis UT_mpsongdata.sis UT_mpsongdata.sisx ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key -del UT_mpsongdata.sis \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,471 +0,0 @@ -/* -* Copyright (c) 2010 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: Unit test for mpsongdata -* -*/ -#include -#include -#include -#include - -#include"unittest_mpsongdata.h" -#include "stub/inc/thumbnailmanager_qt.h" - -// Do this so we can access all member variables. -#define private public -#include "mpsongdata.h" -#undef private - - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpSongData tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_testmpsongdata.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -//Constructor -TestMpSongData::TestMpSongData() - : mTest(0) -{ - -} - -//Destructor -TestMpSongData::~TestMpSongData() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpSongData::initTestCase() -{ - -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpSongData::cleanupTestCase() -{ - -} - -/*! - Called before each testfunction is executed. - */ -void TestMpSongData::init() -{ - mTest = new MpSongData(); -} - -/*! - Called after every testfunction. - */ -void TestMpSongData::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - Tests correct cleanup of member variables. - */ -void TestMpSongData::testMemberCleanup() -{ - cleanup(); - ThumbnailManager::resetInitCounter(); - init(); - cleanup(); - QCOMPARE(ThumbnailManager::getInitCounter(), 0); -} - -/*! - Tests that albumArt() returns NULL - */ -void TestMpSongData::testAlbumArtIsNull() - { - QPixmap dummyAlbumArt; - mTest->albumArt(dummyAlbumArt); - QVERIFY(dummyAlbumArt.isNull() == true); // TODO: Hkn: What's the point of this ? - } - -/*! - Tests that albumArt() returns correct QPixmap when not NULL. - */ - -void TestMpSongData::testAlbumArtNotNull() - { - QPixmap dummyAlbumArt; - mTest->mAlbumArt = QPixmap( ":/playbackviewicons/someAlbumArt.png" ); - mTest->albumArt(dummyAlbumArt); - } - -/*! - Tests that title() returns NULL - */ -void TestMpSongData::testTitleIsNull() - { - QVERIFY(mTest->mTitle.isNull() == true); - } - -/*! - Tests that album() returns NULL - */ -void TestMpSongData::testAlbumIsNull() - { - QVERIFY(mTest->mAlbum.isNull() == true); - } - -/*! - Tests that artist() returns NULL - */ -void TestMpSongData::testArtistIsNull() - { - QVERIFY(mTest->mArtist.isNull() == true); - } - -/*! - Tests that comment() returns NULL - */ -void TestMpSongData::testCommentIsNull() - { - QVERIFY(mTest->mComment.isNull() == true); - } - -/*! - Tests that composer() returns NULL - */ -void TestMpSongData::testComposerIsNull() - { - QVERIFY(mTest->mComposer.isNull() == true); - } - -/*! - Tests that genre() returns NULL - */ -void TestMpSongData::testGenreIsNull() - { - QVERIFY(mTest->mGenre.isNull() == true); - } - - -/*! - Tests that albumTrack() returns NULL - */ -void TestMpSongData::testAlbumtrackIsNull() - { - QVERIFY(mTest->mAlbumTrack.isNull() == true); - } - -/*! - Tests that link() returns NULL - */ -void TestMpSongData::testLinkIsNull() - { - QVERIFY(mTest->mLink.isNull() == true); - } - -/*! - Tests that year() returns NULL - */ -void TestMpSongData::testYearIsNull() - { - QVERIFY(mTest->mYear.isNull() == true); - } - -/*! - Tests that setTitle() returns TRUE - */ -void TestMpSongData::testSetTitleTrue() - { - bool result; - QString title("SomeTitle"); - result=mTest->setTitle( title ); - QCOMPARE(result, true); - - } - -/*! - Tests that setTitle() returns FALSE - */ -void TestMpSongData::testSetTitleFalse() - { - bool result; - QString title(NULL); - result=mTest->setTitle( title ); - QCOMPARE(result, false); - } - -/*! - Tests that setAlbum() returns TRUE - */ -void TestMpSongData::testsetAlbumTrue() - { - bool result; - QString album("Some"); - result=mTest->setAlbum(album); - QCOMPARE(result, true); - - } - -/*! - Tests that setAlbum() returns FALSE - */ -void TestMpSongData::testsetAlbumFalse() - { - bool result; - QString album(NULL); - result=mTest->setAlbum( album ); - QCOMPARE(result, false); - } - - -/*! - Tests that setArtist() returns TRUE - */ -void TestMpSongData::testsetArtistTrue() - { - bool result; - QString artist("SomeArtist"); - result=mTest->setArtist( artist ); - QCOMPARE(result, true); - - } - -/*! - Tests that setArtist() returns FALSE - */ -void TestMpSongData::testsetArtistFalse() - { - bool result; - QString artist(NULL); - result=mTest->setArtist( artist ); - QCOMPARE(result, false); - } - -/*! - Tests that setComment() returns TRUE - */ -void TestMpSongData::testsetCommentTrue() - { - bool result; - QString comment("SomeComment"); - result=mTest->setComment(comment); - QCOMPARE(result, true); - - } - -/*! - Tests that setComment() returns FALSE - */ -void TestMpSongData::testsetCommentFalse() - { - bool result; - QString comment(NULL); - result=mTest->setComment(comment); - QCOMPARE(result, false); - } - -/*! - Tests that setComposer() returns TRUE - */ -void TestMpSongData::testsetComposerTrue() - { - bool result; - QString composer("SomeComposer"); - result=mTest->setComposer(composer); - QCOMPARE(result, true); - - } - -/*! - Tests that setComposer() returns FALSE - */ -void TestMpSongData::testsetComposerFalse() - { - bool result; - QString composer(NULL); - result=mTest->setComposer( composer ); - QCOMPARE(result, false); - } - -/*! - Tests that setGenre() returns TRUE - */ -void TestMpSongData::testsetGenreTrue() - { - bool result; - QString genre("SomeGenre"); - result=mTest->setGenre(genre); - QCOMPARE(result, true); - - } - -/*! - Tests that setGenre() returns FALSE - */ -void TestMpSongData::testsetGenreFalse() - { - bool result; - QString genre(NULL); - result=mTest->setGenre( genre ); - QCOMPARE(result, false); - } - -/*! - Tests that setYear() returns TRUE - */ -void TestMpSongData::testsetYearTrue() - { - bool result; - int year = 2010; - result=mTest->setYear(year); - QCOMPARE(result, true); - - } - -/*! - Tests that setYear() returns FALSE - */ -void TestMpSongData::testsetYearFalse() - { - /* - TODO: Fix this - bool result; - int year(0); - result=mTest->setYear( year ); - QCOMPARE(result, false); - */ - } - -/*! - Tests that setAlbumTrack() returns TRUE - */ -void TestMpSongData::testsetAlbumTrackTrue() - { - bool result; - QString albumTrack("SomeAlbumTrack"); - result=mTest->setAlbumTrack(albumTrack); - QCOMPARE(result, true); - - } - -/*! - Tests that setAlbumTrack() returns FALSE - */ -void TestMpSongData::testsetAlbumTrackFalse() - { - bool result; - QString albumTrack(NULL); - result=mTest->setAlbumTrack( albumTrack ); - QCOMPARE(result, false); - } - -/*! - Tests setAlbumArtUri() - */ -void TestMpSongData::testsetAlbumArtUri() - { - const QString albumArtUri("AlbumArt"); - const QString albumArtUriEmpty(""); - - QSignalSpy spy( mTest, SIGNAL( albumArtReady() ) ); - - QVERIFY( spy.isValid() ); - QCOMPARE( spy.count(), 0 ); - - mTest->setAlbumArtUri(albumArtUri); - QCOMPARE( spy.count(), 0 ); - - mTest->mThumbnailManager->mGetThumbFails=true; - mTest->setAlbumArtUri(albumArtUri); - QCOMPARE( spy.count(), 1 ); - QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt); - - mTest->setAlbumArtUri(albumArtUriEmpty); - QCOMPARE( spy.count(), 2 ); - QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt); - - } - -/*! - Tests thumbnailReady()() - */ -void TestMpSongData::testThumbnailReady() -{ - connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)), - mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) ); - - QSignalSpy spy(mTest, SIGNAL(albumArtReady())); - QVERIFY( spy.isValid() ); - QCOMPARE( spy.count(), 0 ); - - QPixmap dummyAlbumArt(":/playbackviewicons/someAlbumArt.png" ); - - emit thumbnailReady(dummyAlbumArt, 0, -1, 0); - QCOMPARE( spy.count(), 1 ); - QCOMPARE( mTest->mAlbumArt, dummyAlbumArt ); - - emit thumbnailReady(dummyAlbumArt, 0, -1 , 1); - QCOMPARE( spy.count(), 2 ); - QCOMPARE( mTest->mAlbumArt, mTest->mDefaultAlbumArt ); - -} - - -/*! - Tests commitPlaybackInfo() - */ -void TestMpSongData::testCommitPlaybackInfo() - { - QSignalSpy spy( mTest, SIGNAL( playbackInfoChanged() ) ); - - QVERIFY( spy.isValid() ); - QCOMPARE( spy.count(), 0 ); - - mTest->commitPlaybackInfo(); - QCOMPARE( spy.count(), 1 ); - - } - -/*! - Tests commitSongDetailInfo() - */ -void TestMpSongData::testCommitSongDetailInfo() - { - QSignalSpy spy( mTest, SIGNAL( songDetailInfoChanged() ) ); - - QVERIFY( spy.isValid() ); - QCOMPARE( spy.count(), 0 ); - - mTest->commitSongDetailInfo(); - QCOMPARE( spy.count(), 1 ); - - } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +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: ThumbnailManager stub for testing MpSongData -* -*/ - -#ifndef THUMBNAILMANAGER_QT_H_ -#define THUMBNAILMANAGER_QT_H_ -#include -#include - - -/** default priority value */ -const int tnmWrapperPriorityIdle = -100; - -class ThumbnailManager : public QObject - { - Q_OBJECT - -public: - - - /** Thumbnail size. */ - enum ThumbnailSize - { - /** - * Small thumbnail - */ - ThumbnailSmall = 0, - /** - * Medium thumbnail - */ - ThumbnailMedium, - /** - * Large thumbnail - */ - ThumbnailLarge - }; - - /** Mode of thumbnail creation. */ - enum ThumbnailMode - { - /** - * Default mode. This means that: - * - Thumbnail must be as large as requested (unless the actual object is smaller). - * - Smaller thumbnails may be up scaled to desired resolution. - * - Aspect ratio is maintained and thumbnails are not cropped. The - * resulting thumbnail may smaller in either width or height if - * the aspect ratio of the object does not match the aspect ratio - * of the requested size. - */ - Default = 0, - - /** - * Allow thumbnails which are smaller than requested are. Thumbnail - * bitmaps are never up scaled if this flag is set. - */ - AllowAnySize = 1, - - /** - * New thumbnail images are not created if this flag is set. Only - * existing thumbnails may be returned. If a requested thumbnail does - * not exist null pixmap will be returned. - */ - DoNotCreate = 2, - - /** - * Thumbnail images are cropped to match requested aspect ratio. If - * this mode is set, the size of the resulting thumbnail always - * matches the requested size. - */ - CropToAspectRatio = 4 - }; - - /** Quality versus speed preference setting */ - enum QualityPreference - { - /** - * Prefer thumbnails in the highest quality possible disregarding - * any negative impact on performance. - */ - OptimizeForQuality, - - /** - * Get thumbnails as fast as possible, even if - * it means lower quality. - */ - OptimizeForPerformance - }; - - // Test utility functions - static int getInitCounter(); - static void resetInitCounter(); - - // Stub functions - ThumbnailManager( QObject* parentPtr = NULL ); - virtual ~ThumbnailManager(); - bool setMode( ThumbnailMode mode ); - bool setQualityPreference( QualityPreference qualityPreference ); - bool setThumbnailSize( ThumbnailSize thumbnailSize ); - int getThumbnail( const QString& fileName, void * clientData = NULL, - int priority = tnmWrapperPriorityIdle ); - bool cancelRequest( int id ); - -signals: - - void thumbnailReady( QPixmap , void * , int , int ); - -public: - - bool mGetThumbFails; - int mThumbnailReqCounter; - int mCancelCounter; - -}; - -#endif /* THUMBNAILMANAGER_QT_H_ */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +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: ThumbnailManager stub for testing MpSongData -* -*/ -#include -#include "stub/inc/thumbnailmanager_qt.h" - -int gInitCounter = 0; - -/*! - Returns gInitCounter. - gInitCounter counts the number of constructor/destructor calls. - */ -int ThumbnailManager::getInitCounter() -{ - return gInitCounter; -} - -/*! - Resets gInitCounter to zero. - */ -void ThumbnailManager::resetInitCounter() -{ - gInitCounter = 0; -} - -/*! - Stub function. - */ -ThumbnailManager::ThumbnailManager( QObject* parentPtr ) : -QObject( parentPtr ), -mGetThumbFails(false), -mThumbnailReqCounter(0), -mCancelCounter(0) -{ - gInitCounter++; -} - -/*! - Stub function. - */ -ThumbnailManager::~ThumbnailManager() -{ - gInitCounter--; -} - -/*! - Stub function. - */ -bool ThumbnailManager::setMode( ThumbnailMode mode ) -{ - Q_UNUSED(mode); - return true; -} - -/*! - Stub function. - */ -bool ThumbnailManager::setQualityPreference( QualityPreference - qualityPreference ) -{ - Q_UNUSED(qualityPreference); - return true; -} - -/*! - Stub function. - */ -bool ThumbnailManager::setThumbnailSize( ThumbnailSize thumbnailSize ) -{ - Q_UNUSED(thumbnailSize); - return true; -} - -/*! - Stub function. - */ -int ThumbnailManager::getThumbnail( const QString& fileName, void *clientData, - int priority ) -{ - Q_UNUSED(fileName); - Q_UNUSED(priority); - - if (clientData) { - // Delete this to prevent memory leak - int *data = (int *)clientData; - delete data; - - data = 0; - } - - if ( mGetThumbFails ) { - return -1; - } - - mThumbnailReqCounter++; - return mThumbnailReqCounter; -} - -/*! - Stub function. - */ -bool ThumbnailManager::cancelRequest( int id ) -{ - Q_UNUSED(id); - mCancelCounter++; - return true; -} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro --- a/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) Wed 24. Feb 13:13:29 2010 -###################################################################### - -TEMPLATE = app -CONFIG += qtestlib hb - -TARGET = -DEPENDPATH += . -INCLUDEPATH += ./stub/inc \ - ../../inc \ - ../../../../inc - -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += -lmpxviewframeworkqt.dll - -# Input -HEADERS += inc/unittest_mpsongdata.h \ - ../../inc/mpsongdata.h \ - stub/inc/thumbnailmanager_qt.h - -SOURCES += src/unittest_mpsongdata.cpp \ - ../../src/mpsongdata.cpp \ - stub/src/thumbnailmanager_qt.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/JsTestDriver-1.2.1.jar Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/JsTestDriver-1.2.1.jar has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/JsTestDriver.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/JsTestDriver.conf Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,9 @@ +server: http://localhost:12121 + +load: + - ../../resources/*.js + - test-src/oviapi.js + - test-src/publishplayer.js + - test-src/musictest.js + +exclude: diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/readme.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/readme.txt Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,9 @@ +This is the unit test for javascript in resource folder. + +The test could only run on windows, NOT on phone! + +To execute the test, first run this command in command window to start the server: +java.exe -jar JsTestDriver-1.2.1.jar --port 12121 --browser "C:\Program Files\Mozilla Firefox\firefox.exe" + +Then run this command to run the tests: +java.exe -jar JsTestDriver-1.2.1.jar --config jsTestDriver.conf --verbose --tests all --captureConsole diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/MusicTest.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/MusicTest.js Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,49 @@ +MusicTest = TestCase('MusicTest'); + +MusicTest.prototype.testMusicContext = function() { + var context = music.privateFunctions.getMusicContext(); + assertTrue(context.object.data.miniview.indexOf("London Calling") != -1); + assertTrue(context.object.data.miniview.indexOf("The Clash") != -1); +}; + +MusicTest.prototype.testNoa = function() { + var context = music.privateFunctions.getNoa(); + assertTrue(context.username.indexOf("lcoubert10") != -1); + assertTrue(context.password.indexOf("lcoubert01") != -1); +}; + +MusicTest.prototype.testInitPlayer = function() { +// document.createElement('div').setAttribute("id", "ovi.player.share.ui"); + /*:DOC +=
*/ + music.initPlayer(); + var ui = document.getElementById("ovi.player.share.ui"); + assertTrue(ui.innerHTML.indexOf('player') >= 0); +}; + +MusicTest.prototype.setUp = function() { + window.context = { + username: function(){ + return "lcoubert10" + }, + password: function(){ + return "lcoubert01" + }, + title: function(){ + return "London Calling" + }, + album: function(){ + return "dummyuri" + }, + artist: function(){ + return "The Clash" + }, + link: function(){ + return "http://music.ovi.com/ru/ru/pc/Product/Queen/Bohemian-Rhapsody/8019069" + }, + albumArtBase64: function(){return 0;} + } +}; + +MusicTest.prototype.tearDown = function() { }; + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/oviapi.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/oviapi.js Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,408 @@ +// The following identifier turns the IE conditional pre-compilation on. +/*@cc_on @*/ + +/** + * @namespace Parent namespace for the api.ovi.com project. + */ +if (typeof ovi == 'undefined') { + ovi = {}; +}; + +(function (ovi) { +// ovi = function() { + var that = {}; + + ovi.description = { + proxy_url: window.location.protocol + "//" + window.location.host + "/ovi-api", + sourceLocation: "/js", + urlSeperator: "/", + libFileExtension: ".js", + minified: false, + sign_method : "method-delegate-oauth", + env_path : "/alpha", + dispatch_path : "/api", + proxy_prefix : "", //useful during dev, so same consumer key can be reused for multiple instances of ovi-api + request_timeout : 30, // Network request timeout lapse (in seconds). + caller_id : "", //random id used for caller authentication + env_device : true // Do not change anything in this line, even the spacing. Else the project won't build properly for SPB. + }; + // that.description = description; + + //Ignore console calls, in case it is not imported + ovi.console = {init:function(){},log:function(){},error:function(){},debug:function(){},info:function(){}}; + + //Ignore config calls, in case config.js is not imported + ovi.config = {setenv:function(){},setServiceEndPoint:function(){}}; + + var _loaded = {}; //Mapping from script source URL to status (0 - not loaded, 1 - loaded) + var _libMappings = {}; //Mapping from script source URL to libName + var _pending_callbacks = []; //Used to delay callbacks, until all dependencies are loaded + + /** + * Method to initialize source URL using location of path from where oviapi.js was loaded + * + */ + var _initSourceURL = function() { + var scripts = document.getElementsByTagName('script'); + if (!scripts) return; // TODO Throw an exception instead. + + var srcFilePattern = new RegExp("/js/ovi/(oviapi|oviapi-min|oviapi_(.+)|oviapi_(.+)-min).js$", "gi"); + for(var index = 0; index < scripts.length; index++) { + + var ssrc = scripts.item(index).src; + if (typeof ssrc !== 'undefined') { + ssrc = ssrc.replace(/^\s*|\s*$/g,''); // To remove any white spaces. + + var startIndex = ssrc.search(srcFilePattern); + if (startIndex > 0) { + + // To determine whether the minified version of ovi libraries are used. + if (ssrc.indexOf("min") > 0) { + ovi.description.minified = true; + } + + // If only relative src can be accessed, then use window.location ro create sourceURL + if (ssrc.substr(0,6) !== 'http:/' && ssrc.substr(0,7) !== 'https:/') { + var rootdir = window.location.pathname.split('/'); + if (rootdir.length > 1) + ovi.description.proxy_url = window.location.protocol + "//" + window.location.host + "/" + rootdir[1]; + break; + } else { + ovi.description.proxy_url = ssrc.substring(0, startIndex); + break; + } + } + } + } + }; + _initSourceURL(); + + /** + * Get an array of the loaded libs + * @param {Integer} Optional param to specify the status of the loaded library. + * @return Array of libNames + */ + var _getLoadedLibNames = function(status){ + var loadedLibs = []; + if (typeof status === 'undefined') status = -1; + for (var item in _loaded){ + if ((status === -1) || (_loaded[item] === status)){ + loadedLibs.push(_libMappings[item]); + } + } + return loadedLibs; + }; + + /** + * Get an object with loaded lib name as key and load status as value (1 - loaded, 0 - not loaded) + * @param {Integer} Optional param to specify the status of the loaded library. + * @return Object with libNames as key and load status as value + */ + var _getLoadedLibNamesAsObject = function(status){ + var loadedLibs = {}; + if (typeof status === 'undefined') status = -1; + for (var item in _loaded){ + if ((status === -1) || (_loaded[item] === status)){ + loadedLibs[_libMappings[item]] = _loaded[item]; + } + } + return loadedLibs; + }; + + /** + * Test if script was already loaded + * @param {String} scriptSrcURL source URL of script + * @return {Boolean} + */ + var _isExistingScript = function(scriptSrcURL){ + for (var item in _loaded){ + if (scriptSrcURL === item){ + return true; + } + } + return false; + }; + + /** + * Method to verify if a library object has already been loaded. In case of packaged/minified + * version of ovi libraries all the libraries would reside in one single JS file. + * + * @param {String} libraryName Name of the library object to check. + * @return {Boolean} Based on whether the check is true/false. + */ + var _isExistingLib = function(libraryName) { + for (var lib in ovi.libName) { + if (libraryName == lib) { + return true; + } + } + return false; + } + + var _determineScriptSrc = function(libName, options){ + var fileName = libName; + var scriptSrcURL = ovi.description.proxy_url; + + // This helps while using this on a widget. + if (options != undefined && options.sourceURL != undefined) { + scriptSrcURL = options.sourceURL; + } + + var fileExt = ""; + // If not using slash path, then use ".js" file extension and replace dot with slash. + if(fileName.indexOf('/') == -1){ + fileExt = ovi.description.libFileExtension; + fileName = fileName.replace(/\./g,'/'); + } + + var rootDir = ""; + //If ovi package, then use source location as root dir + if (fileName.substr(0,3) === "ovi") + rootDir = ovi.description.sourceLocation; + + scriptSrcURL = scriptSrcURL + rootDir + "/" + fileName + + ((ovi.description.minified) ? "-min" : "") + + fileExt; + return scriptSrcURL; + }; + + var _loadScript = function(scriptSrcURL, srcLib, options){ + + function _loadedcallback(){ + + //console.log(new Date().getTime()+" Loaded script:"+scriptSrcURL+" "+_getLoadedLibNames(1)); + //console.log("not loaded:"+_getLoadedLibNames(0)); + + //Mark script as loaded + _loaded[scriptSrcURL] = 1; + + //If callback exists, then add to pending callbacks + if (options && options.callback != null) + _pending_callbacks.push(options.callback); + + //If 1 or more items are pending, then don't call callbacks + var done = true; + for (var item in _loaded){ + if (_loaded[item] === 0){ + done = false; + break; + } + } + + //If all libs are loaded, then call callbacks for all includes, if any + if (done == true){ + //console.log(new Date().getTime()+" DONE AT LAST\n"); + //Call all pending callbacks + for (var index = 0; index < _pending_callbacks.length; index++){ + try{ + _pending_callbacks[index].call(); + }catch(err){ + //console.log("failed to exec callback"); + } + } + _pending_callbacks = []; //Reset pending callbacks list + ovi.onReady(_getLoadedLibNamesAsObject(1)); //call onReady + } + } + + // If the library is already loaded (throug packaged/minified source file) then skip the download process. + if (!_isExistingLib(srcLib)) { + var scriptTag = document.createElement('script'); + scriptTag.type = 'text/javascript'; + scriptTag.src = scriptSrcURL; + + if(window.opera){ + scriptTag.onload = function(){ + scriptTag.onload = null; + _loadedcallback(); + }; + } + //From Nicholas C. Zakas (http://www.nczonline.net/blog/2009/06/23/loading-javascript-without-blocking/) + else if (scriptTag.readyState){ //IE + scriptTag.onreadystatechange = function(){ + if (scriptTag.readyState == "loaded" || scriptTag.readyState == "complete"){ + scriptTag.onreadystatechange = null; + _loadedcallback(); + } + }; + } else { //Others + scriptTag.onload = function(){ + _loadedcallback(); + }; + } + + var documentHead = document.getElementsByTagName("head")[0]; + var newScriptTag = documentHead.appendChild(scriptTag); + if (newScriptTag) return true; + } else { + _loadedcallback(); + return true; + } + return false; + }; + + /** + * ovi.include - Method to dynamically include JS libraries from "api.ovi.com".

+ * The ovi.onReady(libs) function is triggered once the library and its + * dependencies are loaded. See documentation of ovi.onReady. + * + * @param {String,Array} + * libNames Names of one or more libraries to be included, specified as an + * array of strings or as a comma separated string. + * Library name can be specified in dot notation or as a relative path. e.g., "ovi.api.people", + * "ovi/api/people.1.0.js". External libraries must start + * with "lib" e.g., "lib.jquery", + * "lib/jquery.json.js". + * @param {Object} + * options Name/Value object to hold other optional parameters. + * @param {Function} + * options.callback Function to be called after a library has + * been loaded. + * + * @example + * ovi.include("ovi.api.maps"); + * ovi.include("ovi.api.people",{callback:function(){callMeBack()}}); + * ovi.include("ovi.api.people, ovi.api.share", {callback:function(){callMeBack()}}); + * + * + * + * @function + * @methodOf ovi + */ + ovi.include = function(libNames, options) { + var importStatus = true; + try { + if (libNames != undefined) { + if (typeof libNames === 'string') + libNames = libNames.split(','); + + // Determine which scripts (and also libraries) need to be loaded + var toLoadScript = []; + for (var index = 0; index < libNames.length; index++){ + var libName = libNames[index].replace(/^\s*|\s*$/g,''); // Remove any white spaces. + + // Determine script source URL from libName + var scriptSrcURL = _determineScriptSrc(libName, options); + if (!_isExistingScript(scriptSrcURL)) { + _loaded[scriptSrcURL] = 0; //Mark script as pending + _libMappings[scriptSrcURL] = libName; + toLoadScript.push(scriptSrcURL); + + } else { + if (options && options.callback) + toLoadScript.push(scriptSrcURL); + } + //console.log("o================o"); + } + + var lstatus; + //Load scripts that need to be loaded. Pass optional callback only for last script (since callback should be called only once). + for (var index = 0; index < toLoadScript.length; index ++){ + if (index == (toLoadScript.length-1)) // if last lib, then pass optional callback + lstatus = _loadScript(toLoadScript[index], _libMappings[toLoadScript[index]], options); + else + lstatus = _loadScript(toLoadScript[index], _libMappings[toLoadScript[index]]); + if (!lstatus) importStatus = false; + } + } + } catch (exception) { + importStatus = false; + } + return importStatus; + }; + // that.include = include; + + /** + * ovi.onReady - Callback function triggered after calling ovi.include, + * once the library and its dependencies are loaded. Developers can override the default + * implementation, with their own ovi.onReady function. If successive calls to ovi.include are made, + * ovi.onReady may be triggered only once. + * + * @param {Object} + * libs - library name as key and load status as value (0 - not + * loaded, 1 - loaded). Developer must check if the libraries + * they need are loaded before using them using the ovi.testIfLoaded function. + * + * @function + * @methodOf ovi + */ + ovi.onReady = function(libs) { + //default, do nothing + //console.log("onReady:"); + //console.log(libs); + }; + // that.onReady = onReady; + + /** + * ovi.testIfLoaded - Utility function to test if the specified lib names are marked as loaded in the specified loaded libs object. + * Used to test the status of libs in ovi.onReady. + * + * @param {String,Array} + * libNames Names of one or more libraries to be included, specified as an + * array of strings or as a comma separated string. + * + * @param {Object} + * loadedLibs A mapping of lib name string to load status (0 - not loaded, 1 - loaded) + * + * @return {Boolean} + * + * @function + * @methodOf ovi + */ + ovi.testIfLoaded = function(libNames, loadedLibs){ + var reqdlibs = libNames; + if (typeof libNames === 'string') + reqdlibs = libNames.split(','); + for (var index = 0; index < reqdlibs.length; index ++){ + var libName = reqdlibs[index].replace(/\s/g,''); + if ((libName in loadedLibs) && (loadedLibs[libName] == 1)) + continue; + else + return false; + } + return true; + }; + // that.testIfLoaded = testIfLoaded; + + /** + * ovi.setCallerId - Sets caller id required to authenticate API caller with Ovi API backend. + * + * @param {String} + * cid - Caller id string + * + * @function + * @methodOf ovi + */ + ovi.setCallerId = function(cid){ + ovi.description.caller_id = cid; + }; + + // return that; +// }(); +})(ovi); + + +/** + * @property {Object} services Object that holds configurable parameters of all the libraries. + * @memberOf ovi + */ +ovi.services = {}; +ovi.services["import"] = ovi.description; + +/** + * @property {Object} libName Object that holds the identified name of all the OVI API libraries. + * @memberOf ovi + */ +ovi.libName = {}; +ovi.libName["ovi.oviapi"] = ovi; + +ovi.include('ovi.config'); + +/* +@@todo: + +- if one include inside of another fails to load, then failure is silent +- file imports will fail silently if the path is wrong +- Safari reinclude doesn't work (seems that DOM removeChild doesn't really remove the script) +*/ \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/publishplayer.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_resources/test-src/publishplayer.js Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,1312 @@ +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.contextobject = ovi.player.contextobject || +{}; + +ovi.player.contextobject.getInstance = function(config) { + var player = {}; + player._create = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "CREATE_PENDING"); + } + // TODO: add context object to player store + // TODO: store options.miniview to be returned with view as HTML + // TODO: store other properties of options to be returned with view as JSON + // TODO: return uri (unique id in this player's store) in callback + }; + player._cancel = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "CANCEL_PENDING"); + } + // TODO: cancel pending tasks + // TODO: cancel Player + }; + player._delete = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "DELETE_PENDING"); + } + // TODO: delete object defined in options.uri from store + }; + player._edit = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "EDIT_PENDING"); + } + // TODO: update object defined in options.uri + }; + player._pick = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "PICK_PENDING"); + } + // TODO: return list of all objects, or object defined in options.uri, fork with options.view + }; + player._view = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "VIEW_PENDING"); + } + // TODO: return object defined in options.uri, JSON if options.view == "none", HTML if "mini" + }; + ovi.player._getInstance.call(player, config); +}; + +ovi.player.contextobject.Player = ovi.player.contextobject.getInstance; +/* + * Basic namespaces & common Player functions + */ + + + +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; + + + +/** + * A function for creating a callback chain + * @param {Object} options + * @param {Object} handler + * @param {Object} context + * @return {Function} + */ +ovi.player._notImplemented = function(functionId) { + return function() { + var status = ovi.player._status; + handler.call(context, status["NOT_IMPLEMENTED"], null); + handler.call(context, status[functionId + "_FAILURE"], null); // TODO: return description, too? + }; +}; + + + +/** + * A method for returning an instance of a singleton + * @param {Object} options A configuration object for the player + */ +ovi.player._getInstance = function(options) { + // TODO: store the configuration options + return (function() { + return (this.instance || + (function() { + this.instance = { + // Public interface + cancel: (this._cancel || ovi.player._notImplemented("CANCEL")), + create: (this._create || ovi.player._notImplemented("CREATE")), + "delete": (this._delete || ovi.player._notImplemented("DELETE")), // delete is a keyword + edit: (this._edit || ovi.player._notImplemented("EDIT")), + pick: (this._pick || ovi.player._notImplemented("PICK")), + show: (this._view || ovi.player._notImplemented("VIEW")), // show is the same function as view, included in API for compatibility + sync: (this._sync || ovi.player._notImplemented("SYNC")), + view: (this._view || ovi.player._notImplemented("VIEW")) + }; + return this.instance; + }())); + }()); +}; + + + +ovi.player._status = { + USER_CANCEL: "USER_CANCEL", + + CANCEL_PENDING: "CANCEL_PENDING", + CANCEL_FAILURE: "CANCEL_FAILURE", + CANCEL_SUCCESS: "CANCEL_SUCCESS", + + CREATE_PENDING: "CREATE_PENDING", + CREATE_FAILURE: "CREATE_FAILURE", + CREATE_SUCCESS: "CREATE_SUCCESS", + + DELETE_PENDING: "DELETE_PENDING", + DELETE_FAILURE: "DELETE_FAILURE", + DELETE_SUCCESS: "DELETE_SUCCESS", + + EDIT_PENDING: "EDIT_PENDING", + EDIT_FAILURE: "EDIT_FAILURE", + EDIT_SUCCESS: "EDIT_SUCCESS", + + PICK_PENDING: "PICK_PENDING", + PICK_FAILURE: "PICK_FAILURE", + PICK_SUCCESS: "PICK_SUCCESS", + + SYNC_PENDING: "SYNC_PENDING", + SYNC_FAILURE: "SYNC_FAILURE", + SYNC_SUCCESS: "SYNC_SUCCESS", + SYNC_CONNECT_PENDING: "SYNC_CONNECT_PENDING", + SYNC_CONNECT_FAILED: "SYNC_CONNECT_FAILED", + SYNC_CONNECT_SUCCEEDED: "SYNC_CONNECT_SUCCEEDED", + SYNC_LOGIN_PENDING: "SYNC_LOGIN_PENDING", + SYNC_LOGIN_FAILED: "SYNC_LOGIN_FAILED", + SYNC_LOGIN_SUCCEEDED: "SYNC_LOGIN_SUCCEEDED", + SYNC_UPDATE_PENDING: "SYNC_UPDATE_PENDING", + SYNC_UPDATE_FAILED: "SYNC_UPDATE_FAILED", + SYNC_UPDATE_SUCCEEDED: "SYNC_UPDATE_SUCCEEDED", + + VIEW_PENDING: "VIEW_PENDING", + VIEW_FAILURE: "VIEW_FAILURE", + VIEW_SUCCESS: "VIEW_SUCCESS", + + NOT_IMPLEMENTED: "NOT_IMPLEMENTED" +}; +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.publish = ovi.player.publish || +{}; + +ovi.player.publish.getInstance = function(config) { + var player = {}; + player._create = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "CREATE_PENDING"); + } + // TODO: create UI + // TODO: get the sub-players, sync them + }; + player._cancel = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "CANCEL_PENDING"); + } + // TODO: cancel sub-players + // TODO: cancel pending tasks + // TODO: cancel Player + }; + ovi.player._getInstance.call(player, config); +}; + +ovi.player.publish.Player = ovi.player.publish.getInstance; +window["ovi"] = (window["ovi"] || {}); +ovi.player = (ovi.player || {}); +ovi.player.snc = (ovi.player.snc || {}); +ovi.player.snc.engine = (ovi.player.snc.engine || {}); + + +(function(){ + + var engine = ovi.player.snc.engine; + + + engine.status = { + SUCCESS : "SUCCESS", + FAILED : "FAILED", + } + + + var _callback = function(status, data, callback, context) { + if (typeof callback == "function") { + callback.call(context, status, data); + } + } + + // External functions + + /** + * Publish the given object to the social networks. + * @param {Object} object Published data + * @param {String} object.text Free text + * @param {String} object.context.artist Artist name + * @param {String} object.context.title Song title + * @param {Array} object.networks Array of social networks ids where to publish + * @param {Object} [callback] Called when publish is ready. + * @param {Object} [context] + */ + engine.publish = function(data, callback, context){ + + // Just concatenate some status text from received data + var status = data.text; + + // Add attached objects (temporarily just append to end of text) + // TODO : object.type == "URI" ... etc., add as attachment when supported by SNC + if (typeof data.object != "undefined") { + // Get URL to song before publishing and to status text + var link = data.object.content; + if (link.length > 0) { + status += " - " + link; + } + } + + // Update to services + ovi.activities.updateStatus(status, {networkId: data.networks }, function(response){ + + if (response.status == "success") { + _callback(engine.status.SUCCESS, null, callback, context); + } + else { + // TODO : Implement finer error handling + _callback(engine.status.FAILED, { message : "Status update failed" }, callback, context); + } + }); + } + + /** + * + * @param {Object} data + * @param {Object} callback + * @param {Object} context + */ + engine.cancelPublish = function(data, callback, context){ + _callback(engine.status.SUCCESS, null, callback, context); + } + + + /** + * Reload social networks from SNC backend to the local store. Use getServices() to retrieve the + * list of loaded services. + * @param {Object} options Object containing Noa account information. Can be user, password or already + * autheticated session token to be used. { username : "", password : "" } or { token : "" } + * @param {Object} callback + * @param {Object} context + */ + engine.sync = function(options, callback, context) { + + // TODO : Seperate init and login from sync (we need both for publish also...) + + // Do service didscovery + + // 1. Init APIs + requests.initOviApi(function(response){ + + if(response.status != engine.status.SUCCESS) { + _callback(engine.status.FAILED, response.data, callback, context); + return; + } + + // 2. Login noa + requests.noaLogin(options, function(response){ + + if(response.status != engine.status.SUCCESS) { + _callback(engine.status.FAILED, { message: response.message }, callback, context); + return; + } + + // 3. Service discover + requests.discover(function(response){ + + // Store to player store + store.clear(); + store.append(response.networks); + store.commit(); + + // Callback function + if (response.status == engine.status.SUCCESS) { + _callback(engine.status.OK, { networks: response.networks }, callback, context); + } + else { + _callback(engine.status.FAILED, { message: response.message }, callback, context); + } + }); + }); + }); + } + + /** + * Get list of services (social networks). Data is loaded from local + * player store. To synchronize data social networks from SNC call sync(). + */ + engine.getServices = function() { + // Get list of services from store + return store.getList(); + } + + /** + * Mark service as selected / unselected. Saves the selection to the persistent + * local storage to save data over sessions. + * @param {Object} id + * @param {Object} enable + */ + engine.selectService = function(id, enable) { + // Select / unselect service in player store + store.select(id, enable); + } + + // Player store + var STORE_KEY_SERVICES = "ovi.player.snc.services"; + var STORE_KEY_SELECTED = "ovi.player.snc.services.selected"; + + /** + * Player store implementation. Persists the social networks (services) and selections + * to the HTML5 local storage, which provides over sessions caching. + */ + var store = { + + _services : {}, + _selected : {}, + + /** + * Add new server or services to the store. + * @param {Object} service + */ + append : function(service) { + if (service.length) { + for(var i=0; i < service.length; i++) { + var s = service[i]; + this._services[s.id] = s; + } + } else { + this._services[service.id] = service; + } + }, + + /** + * Mark service selected or unselected in the store. Also commits changes in + * selections to the store. + * @param {Object} id + * @param {Object} enable + */ + select : function(id, enable) { + this._selected[id] = enable; + localStorage.setItem(STORE_KEY_SELECTED, JSON.stringify(this._selected)); + }, + + /** + * Clear services. + */ + clear : function() { + this._services = {}; + }, + + /** + * Get list (array) of services in the store. + */ + getList : function() { + // Convert to array + var res = []; + for(var o in this._services) { + var serv = this._services[o]; + serv.selected = typeof this._selected[o] != "undefined" ? this._selected[o] : false; + res.push(serv); + } + return res; + }, + + /** + * Commit services to the store. + */ + commit : function() { + localStorage.setItem(STORE_KEY_SERVICES, JSON.stringify(this._services)); + }, + + /** + * Retrieve services and selections in the store. + */ + load : function() { + this._services = JSON.parse(localStorage.getItem(STORE_KEY_SERVICES)); + this._selected = JSON.parse(localStorage.getItem(STORE_KEY_SELECTED)); + + if (this._services == null) this._services = {}; + if (this._selected == null) this._selected = {}; + } + } + + + // SNC Request implementation + var requests = { + + /** + * + * @param {Object} callback + */ + initOviApi: function(callback){ + var myincludes = "ovi.auth.noa_login, ovi.api.snc, ovi.api.activities, ovi.net.xss"; + ovi.onReady = function(libs){ + if (ovi.testIfLoaded(myincludes, libs)) { + + // Successful, set environment for NCIM + ovi.config.setenv("st-account", "delegate"); + + // Allow cross-domain scripting + function xssInitCallback(data){ + if (data.event === "InitializeOk") { + callback( { status : engine.status.SUCCESS }); + } + } + + ovi.net.XssInit({ + back_url: "http://spb.ci.wipsl.com/ovi-api/js/ovi/net/", + callback: xssInitCallback + }); + + } + } + + ovi.include(myincludes); + }, + + /** + * + * @param {Object} callback + */ + noaLogin: function(options, callback){ + + var noa = {}; + if (typeof options.token != "undefined") { // This propably is not supported yet.. + noa = { token : options.token }; + } + else { + noa = { username : options.username, password : options.password }; + } + + // Login + ovi.noa.login(noa, function(state){ + + // Callback + if (state.status == "success") { + callback( { + status: engine.status.SUCCESS + } ); + } + else { + callback( { + status: engine.status.FAILED, + message: "NOA login failed - " + state.statusCode + " - " + state.status + } ); + } + }); + }, + + /** + * + * @param {Object} callback + */ + discover: function(callback){ + + // Discover service available + ovi.snc.discoverSocialNetworks(function(response){ + + if (response.status != "success") { + callback( { + status: engine.status.FAILED, + message : "Service discovery failed - " + response.statusCode + " - " + response.responseText + } ); + return; + } + + var netw = response.data.network; + + // And get activated + ovi.snc.getActivatedSocialNetworks(function(response){ + + if (response.status != "success") { + callback( { + status: engine.status.FAILED, + message : "Service discovery failed - " + response.statusCode + " - " + response.responseText + } ); + + return; + } + else if (response.statusCode == 204) { // Not an error, no active networks + callback( { + status: engine.status.SUCCESS, + networks : [] + } ); + + return; + } + + var active = response.data.network; + + // Now we have finally the service discovery ready, create final response + // Remove all not-active networks from supported networks + var results = []; + for(var i=0; i < netw.length; i++) { + var id = netw[i].id; + + for(var j=0; j < active.length; j++) { + if (active[j].id == id) { + // We have a winner + results.push({ name : netw[i].name, id : netw[i].id, maxTextInput : netw[i].maxTextInput }); + break; + } + } + } + + callback( { + status: engine.status.SUCCESS, + networks : results + } ); + }); + }); + } + } + + // Restore data from store + store.load(); + +})(); +// Create needed namespace ovi.player.share.ui +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.share = ovi.player.share || +{}; +ovi.player.share.ui = ovi.player.share.ui || +{}; + +/** + * TODO + * + * This API tries to imitate medos framework UI controls for future compability. + * @param {Object} params + * @param {Object} target + */ +ovi.player.share.ui.Button = function(params, target) { + + var CLICK_EVENT = "selected"; + var that = this; + + function createHtml() { + var template = ''; + + var node = document.createElement("div"); // Do we need this ?? + node.innerHTML = template; + return node; + } + + var _root = createHtml(); + var _button = _root.firstChild; + + target.appendChild(_root); + + // Interface functions + this.addEventHandler = function(event, callback) { + // selected = click (comes from medos...) + if (event == CLICK_EVENT) { + _root.addEventListener("click", function(e) { callback.call(that, e); }, that); + } + } + + this.setProperty = function(name, value) { + _button[name] = value; + } + + this.getProperty = function(name) { + return _button[name]; + } +} +// Create needed namespace ovi.player.share.ui +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.share = ovi.player.share || +{}; +ovi.player.share.ui = ovi.player.share.ui || +{}; + +/** + * Checkbox UI control implementation. TODO + * + * This API tries to imitate medos framework UI controls for future compability. + * @param {Object} params + * @param {Object} target + */ +ovi.player.share.ui.CheckBox = function(params, target) { + + var that = this; + + function createHtml() { + + var template = '
' + + '' + + '' + params.label + '' + + '
'; + + var node = document.createElement("div"); // Do we need this ?? + node.innerHTML = template; + return node; + } + + var _root = createHtml(); + var _checkBox = _root.firstChild.firstChild; + + target.appendChild(_root); + + this.setProperty = function(name, value) { + + if (name == "selected") { // Use medos property name mappings + _checkBox["checked"] = value; + } + else { + _checkBox = value; + } + } + + this.getProperty = function(name) { + if (name == "selected") { + return _checkBox["checked"]; + } + return _checkBox[name]; + } + + for(var v in params) { + this.setProperty(v, params[v]); + } +} +// Create needed namespace ovi.player.share.ui +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; + + +/** + * Context object player poc implementation + */ +ovi.player.contextobject = ovi.player.contextobject || +{}; + + +ovi.player.contextobject.Player = function() { + + var targetNS = this; + targetNS.create = function(params) { + targetNS.object = params; + } +} + + + +/** + * Publish player poc implementation + */ +ovi.player.publish = ovi.player.publish || +{}; + +// Extend the namespace +ovi.player.publish.Player = function(params) { + + // TODO : MAKE THIS SINGLETON SOMEHOW ?? + var targetNS = this; + + // Utils + var _id = function(id) { + return document.getElementById(id); + }; + + var _addClass = function(target, className) { + var classes = target.className; + if (!classes.match(new RegExp("\\b" + className + "\\b"))) { + if (classes != "" && classes.substr(-1) != " ") { + target.className += " "; + } + target.className += className; + } + }; + var _removeClass = function(target, className) { + target.className = target.className.replace(new RegExp("\\b" + className + "\\b", "g"), ""); + //TODO: clean extra spaces? + + }; + var _toggleClass = function(target, className) { + if (target.className.indexOf(className) == -1) { + _addClass(target, className); + return true; + } else { + _removeClass(target, className); + return false; + } + + }; + + + + /** + * "State engine" + */ + var _state = { + visible: false, + services: {} + }; + + + + /** + * HTML templates for ui + */ + var _templates = { + // TODO: localization + "share.ui": '
\ +
Publish
\ +
\ + \ +
\ +
Write message here
\ + \ +
\ +

\ +
\ +
    \ +
    \ +
      \ +
    • OK
    • \ +
    • Cancel
    • \ +
    \ +
    \ +
    ' + }; + + + + /** + * Generic callback invoker + * + * @param {Object} notification + * @param {Object} data + * @param {Object} callback + * @param {Object} context + */ + var _callback = function(notification, data, callback, context) { + if (typeof callback == "function") { + callback.call(context, notification, data); + } + }; + + + + /** + * status messages + */ + var _status = { + + show: "SHOW", + show_ok: "SHOW_SUCCEEDED", + show_fail: "SHOW_FAILED", + + updateobject: "UPDATEOBJECT", + updateobject_ok: "UPDATEOBJECT_SUCCEEDED", + updateobject_fail: "UPDATEOBJECT_FAILED", + + updateservices: "UPDATESERVICES", + updateservices_ok: "UPDATESERVICES_SUCCEEDED", + updateservices_fail: "UPDATESERVICES_FAILED", + updateservices_nonetworks : "UPDATESERVICES_NONETWORKS" + + }; + + + + /** + * Invokes the ui for the player + * + * @param {Object} [options] + * @param {Object} [options.target] the dom node or id where the ui should be inserted + * @param {Object} [options.template] the html for the ui + * @param {Object} [callback] + * @param {Object} [context] + */ + var _show = function(options, callback, context) { + + var target = (options && options.target) || _id("ovi.player.share.ui"), template = (options && options.template) || _templates["share.ui"]; + + // Find target node if id was given + if (typeof target == "string") { + target = _id(_target); + } + if (target) { + if (template) { + if (_state.visible && target.innerHTML.indexOf('"player"') >= 0) { + // _show was already called earlier, and player is shown + _callback(_status.show, { + message: "Player is already visible" + }, callback, context); + } else { + target.innerHTML = template; + + // add handler for textarea + var message = _id("message"); + _id("message").onkeyup = _handleMessageChange; + message.style.backgroundColor = "transparent"; + + // add handlers for buttons + _id("action-ok").onclick = _handleSubmit; + _id("action-cancel").onclick = _handleSubmit; + + // Update state + _state.visible = true; + _callback(_status.show_ok, null, callback, context); + } + } else { + _callback(_status.show_fail, { + message: "Template not found", + data: { + template: template + } + }, callback, context); + } + } else { + _callback(_status.show_fail, { + message: "Target container not found", + data: { + target: target + } + }, callback, context); + } + + onResize(); // Initial resize + + // If we would like to show the services stored in local storage, uncommenting the following would do + // the job.. + /* + var services = ovi.player.share.engine.getServices(); + targetNS.updateServices(services);*/ + }; + + /** + * Removes all the handlers from the ui and the ui + * + * @param {Object} options + * @param {Object} callback + * @param {Object} context + */ + var _teardown = function(options, callback, context) { + //TODO: clear handlers + //TODO: destroy html + //TODO: update status + }; + + + var _updateServices = function(data, callback, context) { + + var target = _id("available-services"); + + if (target) { + if (data.length) { + var listToCheck = [], i; + // TODO: add loading animation? + for (i = 0; i < data.length; i++) { + var id = data[i].id, label = data[i].name; + if (id && label) { + id = "service-" + id; + listToCheck.push(id); + if (!_id(id)) { + // We don't have the network in our list yet, create one + var item = document.createElement("LI"), checkbox = document.createElement("SPAN"); + checkbox.setAttribute("class", "checkbox"); + checkbox.appendChild(document.createTextNode(label)); + item.appendChild(checkbox); + item.setAttribute("id", id); + item.onclick = _handleServiceListClick; + target.appendChild(item); + // store object to the state + if (data[i].selected) { + data[i].checked = _toggleClass(item, "checked"); + } + _state.services[id] = data[i]; + } + } else { + _callback(_status.updateservices, { + message: "Service object formatted badly", + data: data[i] + }, callback, context); + } + } + //make a searchable string + listToCheck = listToCheck.join(); + //remove obsolete networks + for (i = 0; i < target.childNodes.length; i++) { + var node = target.childNodes[i], id = node.getAttribute("id"); + if (listToCheck.indexOf(id) == -1) { + node.onclick = null; + target.removeChild(node); + } + // TODO: update _state? + } + _updateServiceLimits(); + _callback(_status.updateservices_ok, null, callback, context); + } else { + _callback(_status.updateservices_fail, { + message: "Received data was not an array", + data: data + }, callback, context); + } + } else { + _callback(_status.updateservices_fail, { + message: "Target container not found" + }, callback, context); + } + }; + + /** + * Handler for message changes + * @param {Object} e + */ + var _handleMessageChange = function(e) { + _id("comment-length").innerHTML = this.value.length; + _checkMessageLength(); + } + + + + /** + * Handler for service selection + * @param {Object} e + */ + var _handleServiceListClick = function(e) { + _state.services[this.id].checked = _toggleClass(this, "checked"); + ovi.player.snc.engine.selectService(_state.services[this.id].id, _state.services[this.id].checked); + _updateServiceLimits(); + }; + + + + /** + * Check limits and if the OK button can be clicked + */ + var _updateServiceLimits = function() { + var bigNumber = 9999999, maxTextInput = bigNumber, min = Math.min, services = _state.services, service; + for (sid in services) { + service = services[sid]; + if (service.checked && service.maxTextInput && service.maxTextInput > 0) { + maxTextInput = min(maxTextInput, service.maxTextInput); + } + } + + if (maxTextInput < bigNumber) { + // Reduce the link and context reserved size from input (data that will be allocated + // from maxTextInput for context) + var contextData = _state.contextPlayer.object.data; + maxTextInput -= contextData.object.reservedLength; + + _id("comment-maxlength").innerHTML = maxTextInput; + _removeClass(_id("comment-limit"), "hidden"); + //TODO: alter size of elements to make space for the limit? + } else { + _id("comment-maxlength").innerHTML = maxTextInput; + _addClass(_id("comment-limit"), "hidden"); + } + _checkMessageLength(); + }; + + + + var _checkMessageLength = function() { + var length = parseInt(_id("comment-length").innerHTML), maxLength = parseInt(_id("comment-maxlength").innerHTML), message = _id("message"); + if (length == 0) { + message.style.backgroundColor = "transparent"; + } else { + message.style.backgroundColor = ""; + } + if ((maxLength > 0) && (length > maxLength)) { + _addClass(_id("comment-limit"), "error"); + _addClass(message, "error"); + } else { + _removeClass(_id("comment-limit"), "error"); + _removeClass(message, "error"); + } + _updateActions(); + }; + + + + var _updateActions = function() { + if (_canSubmit()) { + _removeClass(_id("action-ok"), "disabled"); + } else { + _addClass(_id("action-ok"), "disabled"); + } + }; + var _canSubmit = function() { + var length = parseInt(_id("comment-length").innerHTML), maxLength = parseInt(_id("comment-maxlength").innerHTML), services = _state.services, service; + if ((maxLength > 0) && (length > maxLength)) { + return false; + } + for (sid in services) { + service = services[sid]; + if (service.checked && service.maxTextInput && service.maxTextInput > 0) { + return true; + } + } + return false; + } + + + var _handleSubmit = function(e) { + // don't accept clicks from elements with class "disabled" + if (/\bdisabled\b/.test(this.className)) { + return; + } + if (this.id == "action-ok") { + _addClass(this, "disabled"); + _addClass(_id("action-cancel"), "disabled"); + //TODO: disable testarea and service list? + + var services = _state.services, service, networks = []; + for (sid in services) { + service = services[sid]; + if (service.checked) { + networks.push(service.id); + } + } + + var contextData = _state.contextPlayer.object.data; + + var data = { + text: _id("message").value, + object : contextData.object, + networks: networks + }; + + ovi.player.snc.engine.publish(data, function(status, data) { + if (status == ovi.player.snc.engine.status.FAILED) { + alert(data.message); + } + _reset(); + }); + // TODO: call window.close here? teardown first? window.close in teardown? + } else { + ovi.player.snc.engine.cancelPublish(null, function(status, data) { + _reset(); + }); + } + }; + + var _reset = function() { + _id("shared-object").innerHTML = ""; + _id("message").value = ""; + _handleMessageChange.call(_id("message")); + _removeClass(_id("action-cancel"), "disabled"); + + // Request window to be closed + window.close(); + }; + + var _sync = function(contextPlayer, handler, context) { + // Sync context to UI + _state.contextPlayer = contextPlayer; // Store context object for publishing + _id("shared-object").innerHTML = _state.contextPlayer.object.data.miniview; + } + + + var _sncInit = function(credentials, handler, context) { + // Sync SNC stuff + ovi.player.snc.engine.sync(credentials.token, function(status, data) { + if (status == ovi.player.snc.engine.status.FAILED) { + _callback(_status.updateservices_fail, + { message: data.message }, + handler, context); + } + else if (data.networks.length == 0) { + _callback(_status.updateservices_nonetworks, + { message: "No networks" }, + handler, context); + } + else { + var services = ovi.player.snc.engine.getServices(); + _updateServices(services, handler, context); + } + } ); + } + + + + // Register onResize for landscape / portrait mode changes + window.addEventListener("resize", onResize, true); + + function onResize(e) { + + function isLandscape(){ + return window.innerWidth > window.innerHeight; + } + + function _setMode(mode) { + _changeMode(_id("comment-area"), mode); + + var services = _id("available-services").children; + for(var i=0; i < services.length; i++) { + _changeMode(services[i], mode); + } + } + + // Determine - landscape or portrait mode + if (isLandscape()) { + _setMode("landscape"); + } + else { + _setMode("portrait"); + } + } + + function _changeMode(id, mode) { + if (mode == "portrait") { + _removeClass(id, "landscape"); + _addClass(id, "portrait"); + } else { + _removeClass(id, "portrait"); + _addClass(id, "landscape"); + } + } + + /** + * Assign needed functions to the target namespace => defined public API. + */ + targetNS.view = _show; + targetNS.teardown = _teardown; + targetNS.reset = _reset; + + /** + * Synchronize context data from context object + */ + targetNS.sync = _sync; + + /** + * Launch UI and initialize SNC + */ + targetNS.create = function(options, handler, context) { + + // Show UI + _show(options, handler, context); + + // Start loading SNC networks + _sncInit(params.credentials, handler, context); + } + + targetNS.status = _status; +}; +// Create needed namespace ovi.player.share.ui +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.share = ovi.player.share || +{}; +ovi.player.share.ui = ovi.player.share.ui || +{}; + +/** + * Label UI control implementation. TODO + * + * This API tries to imitate medos framework UI controls for future compability. + * @param {Object} params + * @param {Object} target + */ +ovi.player.share.ui.Label = function(params, target) { + + var CLICK_EVENT = "selected"; + var that = this; + + function createHtml() { + var template = '' + params.text + ''; + + var node = document.createElement("div"); // Do we need this ?? + node.innerHTML = template; + return node; + } + + var _root = createHtml(); + var _label = _root.firstChild; + + target.appendChild(_root); + + this.setProperty = function(name, value) { + _label[name] = value; + } + + this.getProperty = function(name) { + return _label[name]; + } + + for(var v in params) { + this.setProperty(v, params[v]); + } +} +// Create needed namespace ovi.player.share.ui +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.share = ovi.player.share || +{}; +ovi.player.share.ui = ovi.player.share.ui || +{}; + +/** + * Textarea UI control implementation. TODO + * + * This API tries to imitate medos framework UI controls for future compability. + * @param {Object} params + * @param {Object} target + */ +ovi.player.share.ui.TextArea = function(params, target) { + + var CLICK_EVENT = "selected"; + var that = this; + + function createHtml() { + var template = ''; + + var node = document.createElement("div"); // Do we need this ?? + node.innerHTML = template; + return node; + } + + var _root = createHtml(); + var _textarea = _root.firstChild; + + target.appendChild(_root); + + this.setProperty = function(name, value) { + _textarea[name] = value; + } + + this.getProperty = function(name) { + return _textarea[name]; + } + + for(var v in params) { + this.setProperty(v, params[v]); + } +} +window["ovi"] = window["ovi"] || +{}; +ovi.player = ovi.player || +{}; +ovi.player.snc = ovi.player.snc || +{}; + +ovi.player.snc.getInstance = function(config) { + var player = {}; + player._cancel = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "CANCEL_PENDING"); + } + // TODO: cancel Player + }; + player._pick = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "PICK_PENDING"); + } + // TODO: offer list of configured networks + }; + player._view = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "VIEW_PENDING"); + } + // TODO: offer miniviews for networks list + }; + player._sync = function(options, handler, context) { + var callable = (typeof handler === "function"); + if (callable) { + handler.call(context, "SYNC_PENDING"); + } + // TODO: connect to the Ovi API and SNC + }; + ovi.player._getInstance.call(player, config); +}; + +ovi.player.snc.Player = ovi.player.snc.getInstance; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mpalbumcoverwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mpalbumcoverwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2010 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: Album Cover Widget for Music Player Media Wall. +* +*/ +#ifndef MPALBUMCOVERWIDGET_H +#define MPALBUMCOVERWIDGET_H + +#include +#include + +#include +#include + +class MpAlbumCoverWidget : public HbWidget + +{ + Q_OBJECT + +public: + + MpAlbumCoverWidget( QGraphicsItem *parent = 0 ); + virtual ~MpAlbumCoverWidget(); + void setIcon(const HbIcon &icon ); + void setDefaultIcon( const HbIcon &icon ); + void paint( QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget = 0 ); + void gestureEvent(QGestureEvent *event); + +signals: + + void clicked(); + +private: + + void mousePressEvent( QGraphicsSceneMouseEvent *event ); + void mouseReleaseEvent( QGraphicsSceneMouseEvent *event ); + +private: + + HbIcon mIcon; + HbIcon mDefaultIcon; + QPixmap mPixmap; +}; + + +#endif //MPALBUMCOVERWIDGET_H + +// EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mpmediawalldocumentloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mpmediawalldocumentloader.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,32 @@ +/* +* 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: Music Player media wall view custom document loader. +* +*/ + +#ifndef MPMEDIAWALLDOCUMENTLOADER_H +#define MPMEDIAWALLDOCUMENTLOADER_H + + +#include + + +class MpMediaWallDocumentLoader : public HbDocumentLoader +{ +public: + virtual QObject *createObject(const QString& type, const QString &name); +}; + +#endif // MPMEDIAWALLDOCUMENTLOADER_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mpmediawallview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mpmediawallview.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,101 @@ +/* +* 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: Music Player Media Wall view. +* +*/ + +#ifndef MPMEDIAWALLVIEW_H +#define MPMEDIAWALLVIEW_H + +#include "mpviewbase.h" +#include "mpmpxcollectionviewdefs.h" + +class HbMainWindow; +class MpEngine; +class HgMediawall; +class MpMpxCollectionData; +class MpCollectionDataModel; +class HbLabel; +class MpMediaWallDocumentLoader; +class HbAction; +class HbIcon; +class MpPlaybackData; +class QParallelAnimationGroup; +class QPropertyAnimation; +class MpAlbumCoverWidget; +class MpTrackListWidget; +class QModelIndex; + + +class MpMediaWallView : public MpViewBase +{ + Q_OBJECT + +public: + explicit MpMediaWallView(); + virtual ~MpMediaWallView(); + + void initializeView(); + void activateView(); + void deactivateView(); + +signals: + void command( int aCommand ); + +public slots: + void contextOpened( TCollectionContext context ); + void containerContentsChanged(); + void libraryAboutToUpdate(); + void libraryUpdated(); + void sendToBackground(); + void updatePlayPauseAction(); + void hideTracksList(); + void showTrackList(); + void dismissListClosingAnimation(); + void listItemActivated( const QModelIndex &index ); + void fetchAlbumSongs(QModelIndex index); + +private: + void setUpMediaWallWidget(); + void scrollToNowPlaying(); + void setUpListAnimation(); + + +private: + MpEngine *mEngine; // not own + MpMpxCollectionData *mCollectionData; // not own + MpCollectionDataModel *mModel; // own - parented + HgMediawall *mMediaWallWidget; // own - parented + HbLabel *mNoMusic; // own - parented + MpMediaWallDocumentLoader *mDocumentLoader; // own + QGraphicsWidget *mPlayPauseContainer; // own - parented + HbIcon *mPlayIcon; // own + HbIcon *mPauseIcon; // own + HbAction *mPlayPauseAction; // own - parented + bool mLibraryUpdating; + MpPlaybackData *mPlaybackData; // not own + bool mActivated; + bool mIconUpdateNedded; + QParallelAnimationGroup *mListShowAnimationGroup; // own - parented + QPropertyAnimation *mListShowListAnimation; // own - parented + QPropertyAnimation *mCoverShowListAnimation; // own - parented + bool mShowingSongsList; + MpAlbumCoverWidget *mAlbumCover; + MpTrackListWidget *mTrackList; + + Q_DISABLE_COPY(MpMediaWallView) +}; + + +#endif //MPMEDIAWALLVIEW_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mpmediawallviewplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mpmediawallviewplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,56 @@ +/* +* 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: Plugin interface for Music Player media wall view. +* +*/ + +#ifndef MPMEDIAWALLVIEWPLUGIN_H +#define MPMEDIAWALLVIEWPLUGIN_H + +#include +#include + +//forward declartions +class MpMediaWallView; + +//class declaration +class MpMediaWallViewPlugin : public MpxViewPlugin +{ + Q_OBJECT + +public: + explicit MpMediaWallViewPlugin(); + virtual ~MpMediaWallViewPlugin(); + + void createView(); + void destroyView(); + void activateView(); + void deactivateView(); + QGraphicsWidget *getView(); + +signals: + void command( int command ); + +public slots: + void orientationChange( Qt::Orientation orientation ); + void back(); + +private: + enum State { NullView, Created, Initialized, Activated }; + MpMediaWallView *mView; //owned + State mState; +}; + +#endif // MPMEDIAWALLVIEWPLUGIN_H + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mpreflectioneffect.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mpreflectioneffect.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2010 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: reflection effect for Music Player Media Wall. +* +*/ +#ifndef MPREFLECTIONEFFECT_H +#define MPREFLECTIONEFFECT_H + +#include + +class MpReflectionEffect: public QGraphicsEffect +{ + Q_OBJECT + +public: + MpReflectionEffect(QObject *parent = 0); + ~MpReflectionEffect(); + + QRectF boundingRectFor(const QRectF &rect) const; + +protected: + void draw(QPainter *painter); + +private: + Q_DISABLE_COPY(MpReflectionEffect) +}; + +#endif // MPREFLECTIONEFFECT_H + +// EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/inc/mptracklistwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/inc/mptracklistwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2010 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: Track List Widget for Music Player Media Wall. +* +*/ +#ifndef MPTRACKLISTWIDGET_H +#define MPTRACKLISTWIDGET_H + +#include + +#include + +class HbFrameItem; +class HbListView; + +class MpTrackListWidget : public HbWidget +{ + Q_OBJECT + +public: + + MpTrackListWidget( QGraphicsItem *parent = 0 ); + virtual ~MpTrackListWidget(); + HbListView *list(); + + +signals: + + void closed(); + +private: + void resizeEvent(QGraphicsSceneResizeEvent *event); + void mousePressEvent( QGraphicsSceneMouseEvent *event ); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); + void gestureEvent(QGestureEvent *event); + QSwipeGesture::SwipeDirection swipeAngleToDirection( int angle ); + +private: + HbListView *mList; // own - parented + HbFrameItem *mFrameItem; // own - parented +}; + +#endif // MPTRACKLISTWIDGET_H + +// EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/mpmediawallviewplugin.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/mpmediawallviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,58 @@ +# +# 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: +# + +TEMPLATE = lib +CONFIG += hb qt ecomplugin +HB += hbfeedback +TARGET = mpmediawallviewplugin +symbian: { + TARGET.UID3 = 0x10207C94 + TARGET.CAPABILITY = All -TCB + TARGET.EPOCALLOWDLLDATA = 1 +} + +SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0 +SERVICE.CONFIGURATION = "EMPXViewPluginPriorityNormal" + +DEPENDPATH += . +INCLUDEPATH += . \ + inc \ + ../../inc +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE +INCLUDEPATH += $$MW_LAYER_PUBLIC_EXPORT_PATH(hgwidgets) + +LIBS += -lestor \ + -lmpxviewframeworkqt \ + -lganeswidgets \ + -lmpengine \ + -lmpdata + +# Input +HEADERS += ../../inc/mpviewbase.h \ + inc/mpmediawallviewplugin.h \ + inc/mpmediawallview.h \ + inc/mpmediawalldocumentloader.h \ + inc/mpalbumcoverwidget.h \ + inc/mptracklistwidget.h \ + inc/mpreflectioneffect.h +SOURCES += src/mpmediawallviewplugin.cpp \ + src/mpmediawallview.cpp \ + src/mpmediawalldocumentloader.cpp \ + src/mpalbumcoverwidget.cpp \ + src/mptracklistwidget.cpp \ + src/mpreflectioneffect.cpp +RESOURCES += resources/mpmediawallviewresources.qrc + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mediawall.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mediawall.docml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + +
    + +
    diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mpcustomlistitem.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mpcustomlistitem.css Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ +HbListViewItem[layoutName="mpmwtracklist"][icon-2]{ + layout:mpmwtracklist-1; +} + +HbListViewItem[layoutName="mpmwtracklist"][!icon-2]{ + layout:mpmwtracklist-2; +} + +HbListViewItem::text-1[layoutName="mpmwtracklist"]{ + text-height: var(hb-param-text-height-secondary); + font-variant: secondary; + pref-width:-1; + text-align: Left; + size-policy-horizontal: ignored; + text-line-count-min:1; + text-line-count-max:1; + text-wrap-mode:no-wrap; +} + +HbListViewItem::icon-2[layoutName="mpmwtracklist"]{ + fixed-height: var(hb-param-graphic-size-secondary); + fixed-width: var(hb-param-graphic-size-secondary); +} + +HbListViewItem::text-2[layoutName="mpmwtracklist"]{ + minimum-height: 0.0un; + minimum-width: 0.0un; + fixed-height: 0.0un; + fixed-width: 0.0un; + text-line-count-min: 1; + text-line-count-max: 1; + text-wrap-mode: no-wrap; +} + +HbListViewItem::text-3[layoutName="mpmwtracklist"]{ + minimum-height: 0.0un; + minimum-width: 0.0un; + fixed-height: 0.0un; + fixed-width: 0.0un; + text-line-count-min: 1; + text-line-count-max: 1; + text-wrap-mode: no-wrap; +} + +HbListViewItem::icon-1[layoutName="mpmwtracklist"]{ + minimum-height: 0.0un; + minimum-width: 0.0un; + fixed-height: 0.0un; + fixed-width: 0.0un; +} + +HbListViewItem::multiselection-toucharea[layoutName="mpmwtracklist"]{ + minimum-height: 0.0un; + minimum-width: 0.0un; + fixed-height: 0.0un; + fixed-width: 0.0un; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mpcustomlistitem.hblistviewitem.widgetml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mpcustomlistitem.hblistviewitem.widgetml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mpcustommediawall.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mpcustommediawall.css Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,68 @@ +HgMediawall#MPmediaWallWidget +{ + layout:mpmediawallview; + front-cover-elevation-factor:0.51; +} + +HgMediawall#MPmediaWallWidget::content +{ + size-policy: ignored ignored; + left:0un; + right:0un; + top:0un; + bottom:0un; + zvalue: 0; +} + +HgMediawall#MPmediaWallWidget::title +{ + text-height: var(hb-param-text-height-primary); + font-variant:primary; + text-align: center center; + text-line-count-min:1; + text-line-count-max:1; + text-wrap-mode:no-wrap; + left:-expr(var(hb-param-touch-area-gene-primary-medium)+var(hb-param-margin-gene-left)); + right:expr(var(hb-param-touch-area-gene-primary-medium)+var(hb-param-margin-gene-right)); + top:0un; + bottom:0un; + zvalue: 2; +} + +HgMediawall#MPmediaWallWidget::description +{ + text-height: var(hb-param-text-height-secondary); + font-variant:secondary; + text-align: center center; + text-line-count-min:1; + text-line-count-max:1; + text-wrap-mode:no-wrap; + left:-expr(var(hb-param-touch-area-gene-primary-medium)+var(hb-param-margin-gene-left)); + right:expr(var(hb-param-touch-area-gene-primary-medium)+var(hb-param-margin-gene-right)); + top:0un; + bottom:0un; + zvalue: 2; +} + +HgMediawall#MPmediaWallWidget::centeritem +{ + size-policy: fixed fixed; + fixed-height: 41un; + fixed-width: 41un; + left:0un; + right:0un; + top:0un; + bottom:0un; + zvalue: 2; +} + +HgMediawall#MPmediaWallWidget::scrollbar-horizontal +{ + size-policy: preferred preferred; + left:0un; + right:0un; + top:0un; + bottom:0un; + zvalue: 2; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mpcustommediawall.hgmediawall.widgetml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mpcustommediawall.hgmediawall.widgetml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/resources/mpmediawallviewresources.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/resources/mpmediawallviewresources.qrc Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,15 @@ + + + + mediawall.docml + + + + mpcustomlistitem.css + mpcustomlistitem.hblistviewitem.widgetml + + mpcustommediawall.css + mpcustommediawall.hgmediawall.widgetml + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/rom/mpmediawallviewplugin.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/rom/mpmediawallviewplugin.iby Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,25 @@ +/* +* 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: +* +*/ + +#ifndef MPMEDIAWALLVIEWPLUGIN_IBY +#define MPMEDIAWALLVIEWPLUGIN_IBY + +#include + +ECOM_PLUGIN( mpmediawallviewplugin.dll, mpmediawallviewplugin.rsc ) + +#endif //MPMEDIAWALLVIEWPLUGIN_IBY diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/rom/rom.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/rom/rom.pri Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +# +# 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: +# + +symbian { +MP_IBY_DIR = $$section(PWD,":",1) + +BLD_INF_RULES.prj_exports += "$$MP_IBY_DIR/mpmediawallviewplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mpmediawallviewplugin.iby)" +} \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mpalbumcoverwidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mpalbumcoverwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2010 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: Album Cover Widget for Music Player Media Wall. +* +*/ +#include +#include + + +#include "mpalbumcoverwidget.h" +#include "mpreflectioneffect.h" + +/*! + \class MpAlbumCoverWidget + \brief Album Cover Widget. + + This widget provides upscaled rendering of images and SVG rendering. + Also there is a reflection effect. +*/ + +/*! + \fn void clicked( ) + + This signal is emitted when the item is clicked. + */ + +/*! + Constructs the album cover widget + */ +MpAlbumCoverWidget::MpAlbumCoverWidget( QGraphicsItem *parent ) : + HbWidget( parent ) +{ + setFlag( QGraphicsItem::ItemHasNoContents, false ); + grabGesture(Qt::TapGesture); + + MpReflectionEffect *effect = new MpReflectionEffect(this); + setGraphicsEffect(effect); +} + +/*! + Destructs the album cover widget. + */ +MpAlbumCoverWidget::~MpAlbumCoverWidget() +{ +} + +/*! + Sets the \a icon as current album cover. + */ +void MpAlbumCoverWidget::setIcon( const HbIcon &icon ) +{ + if (icon != mIcon) { + mIcon = icon; + mPixmap = QPixmap(); + } +} + +/*! + Sets the \a icon as default cover, to be used in case the album cover is null icon. + */ +void MpAlbumCoverWidget::setDefaultIcon( const HbIcon &icon ) +{ + mDefaultIcon = icon; +} + +/*! + \reimp + */ +void MpAlbumCoverWidget::paint( QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget ) +{ + Q_UNUSED( widget ) + Q_UNUSED( option ) + if ( !mIcon.isNull() ) { + if ( mPixmap.isNull() ) { + mPixmap = mIcon.qicon().pixmap( size().toSize() ); + } + //We paint directly to stretch up/down if necesary. + painter->drawPixmap( rect(), mPixmap, QRectF() ); + } + else { + //We use HbIcon paint to render vector graphics. + mDefaultIcon.setSize(size()); + mDefaultIcon.paint(painter,rect()); + } +} + +/*! + \reimp + */ +void MpAlbumCoverWidget::mousePressEvent( QGraphicsSceneMouseEvent *event ) +{ + if ( event->button() == Qt::LeftButton ) { + event->accept(); + } + else { + event->ignore(); + } +} + +/*! + \reimp + */ +void MpAlbumCoverWidget::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) +{ + if ( event->button() == Qt::LeftButton ) { + emit clicked(); + event->accept(); + } + else { + event->ignore(); + } +} + +/*! + \reimp + */ +void MpAlbumCoverWidget::gestureEvent(QGestureEvent *event) +{ + QGesture* gesture = event->gesture(Qt::TapGesture); + if (gesture) { + event->accept(Qt::TapGesture); + } +} + +//EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mpmediawalldocumentloader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mpmediawalldocumentloader.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,59 @@ +/* +* 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: Music Player media wall view custom document loader. +* +*/ + +#include +#include + +#include "mpmediawalldocumentloader.h" +#include "mpcommondefs.h" +#include "mptrace.h" + + +/*! + \class MpMediaWallDocumentLoader + \brief Music Player media wall view custom document loader. + + Media wall view document loader extends Orbit document loader to enable + loading of custom widgets. +*/ + +/*! + Creates and returns the object of the given \a type. + + \reimp + */ +QObject *MpMediaWallDocumentLoader::createObject(const QString& type, const QString &name) +{ + TX_ENTRY_ARGS("type=" << type << ", name=" << name); + + if ( type == HgMediawall::staticMetaObject.className() ) { + QObject *object = new HgMediawall(); + object->setObjectName(name); + TX_EXIT + return object; + } + else if ( type == HbToolButton::staticMetaObject.className() ) { + QObject *object = new HbToolButton(); + object->setObjectName(name); + TX_EXIT + return object; + } + + TX_EXIT + return HbDocumentLoader::createObject(type, name); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mpmediawallview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mpmediawallview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,520 @@ +/* +* 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: Music Player Settings view. +* +*/ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "mpmediawallview.h" +#include "mpmediawalldocumentloader.h" +#include "mpcommondefs.h" +#include "mpmpxcollectiondata.h" +#include "mpcollectiondatamodel.h" +#include "mpenginefactory.h" +#include "mpplaybackdata.h" +#include "mpalbumcoverwidget.h" +#include "mptracklistwidget.h" +#include "mpcollectiontbonelistdatamodel.h" +#include "mptrace.h" + +const char*MUSIC_MEDIAWALL_DOCML = ":/mediawallviewdocml/mediawall.docml"; + +/*! + \class MpMediaWallView + \brief Music Player Settings view. + + Music player media wall view displays music players albums on an full screen view +*/ + +/*! + \fn void command( int command ) + + This signal is emitted when the view issues a \a command to the + application such as request to switch to a different view. + */ + + +/*! + Constructs the media wall view. + */ +MpMediaWallView::MpMediaWallView() + : mEngine( 0 ), + mCollectionData( 0 ), + mModel( 0 ), + mMediaWallWidget( 0 ), + mNoMusic( 0 ), + mDocumentLoader( 0 ), + mPlayPauseContainer( 0 ), + mPlayIcon( 0 ), + mPauseIcon( 0 ), + mPlayPauseAction( 0 ), + mLibraryUpdating( false ), + mPlaybackData( 0 ), + mActivated( false ), + mIconUpdateNedded( false ), + mListShowAnimationGroup( 0 ), + mListShowListAnimation( 0 ), + mCoverShowListAnimation( 0 ), + mShowingSongsList( false ), + mAlbumCover( 0 ), + mTrackList( 0 ) +{ + connect( MpEngineFactory::sharedEngine(), SIGNAL( libraryAboutToUpdate() ), + this, SLOT( libraryAboutToUpdate() ) ); + connect( MpEngineFactory::sharedEngine(), SIGNAL( libraryUpdated() ), + this, SLOT( libraryUpdated() ) ); + TX_LOG +} + +/*! + Destructs the media wall view. + */ +MpMediaWallView::~MpMediaWallView() +{ + TX_ENTRY + //delete not parented objects + delete mDocumentLoader; + delete mPlayIcon; + delete mPauseIcon; + TX_EXIT +} + +/*! + Initializes the media wall view. + */ +void MpMediaWallView::initializeView() +{ + TX_ENTRY + setTitleBarVisible( false ); + setStatusBarVisible( false ); + + mDocumentLoader = new MpMediaWallDocumentLoader(); + bool ok = false; + mDocumentLoader->load( MUSIC_MEDIAWALL_DOCML, &ok ); + if ( ok ) { + QGraphicsWidget *widget; + + //Setup fake softkey to hide the app + widget = mDocumentLoader->findWidget( QString( "navigationButton" ) ); + HbAction *action; + action = new HbAction( Hb::BackNaviAction, this ); + connect( action, SIGNAL( triggered( bool ) ), this, SLOT( sendToBackground() ) ); + qobject_cast( widget )->setAction( action ); + + //Setup the play/pause command button + widget = mDocumentLoader->findWidget( QString( "playPauseButton" ) ); + mPauseIcon = new HbIcon( "qtg_mono_pause" ); + mPlayIcon = new HbIcon( "qtg_mono_play" ); + mPlayPauseAction = new HbAction( HbIcon() , QString(), this ); + mPlaybackData = MpEngineFactory::sharedEngine()->playbackData(); + qobject_cast( widget )->setAction( mPlayPauseAction ); + //we need this widget to hide the play pause button, for some reason it does not want to hide. + mPlayPauseContainer = mDocumentLoader->findWidget( QString( "playPauseButtonContainer" ) ); + updatePlayPauseAction(); + connect( mPlaybackData, SIGNAL( playbackStateChanged() ), + this, SLOT( updatePlayPauseAction() ) ); + connect( mPlayPauseAction, SIGNAL( triggered( bool ) ), + MpEngineFactory::sharedEngine(), SLOT( playPause() ) ); + + + //Get the main container and set as widget. + widget = mDocumentLoader->findWidget( QString( "container" ) ); + setWidget( widget ); + + mEngine = MpEngineFactory::createIsolatedEngine( MpEngine::MediaBrowsing ); + mCollectionData = mEngine->collectionData(); + mModel = new MpCollectionDataModel( mCollectionData, this ); + + connect( mCollectionData, SIGNAL( contextChanged( TCollectionContext ) ), + this, SLOT( contextOpened( TCollectionContext ) ) ); + connect( mEngine, SIGNAL( containerContentsChanged() ), + this, SLOT( containerContentsChanged() ) ); + if ( !mLibraryUpdating ) { + mEngine->openCollection( ECollectionContextAlbumsMediaWall ); + } + } + else { + TX_LOG_ARGS( "Error: invalid xml file." ); + Q_ASSERT_X( ok, "MpCollectionView::initializeView", "invalid xml file" ); + } + + mAlbumCover = new MpAlbumCoverWidget( this ); + mAlbumCover->setDefaultIcon( HbIcon( "qtg_large_album_art" ) ); + mAlbumCover->hide(); + + mTrackList = new MpTrackListWidget( this ); + mTrackList->list()->setModel( new MpCollectionTBoneListDataModel(mCollectionData, mPlaybackData, mTrackList ) ); + mTrackList->hide(); + + connect(mAlbumCover,SIGNAL(clicked()),this, SLOT(hideTracksList())); + connect(mTrackList->list(), SIGNAL(activated(QModelIndex)), this, SLOT(listItemActivated(QModelIndex))); + connect(mTrackList,SIGNAL(closed()),this, SLOT(hideTracksList())); + + HbStyleLoader::registerFilePath(":/css/mpcustommediawall.css"); + HbStyleLoader::registerFilePath(":/css/mpcustommediawall.hgmediawall.widgetml"); + + TX_EXIT +} + +/*! + Activates the media wall view. + */ +void MpMediaWallView::activateView() +{ + TX_ENTRY + mActivated = true; + if ( mIconUpdateNedded ) { + updatePlayPauseAction(); + mIconUpdateNedded = false; + } + scrollToNowPlaying(); + TX_EXIT +} + +/*! + Deactivates the media wall view. + */ +void MpMediaWallView::deactivateView() +{ + TX_ENTRY + mActivated = false; + dismissListClosingAnimation(); + TX_EXIT +} + +/*! + Slot to be called when the context is opened. + */ +void MpMediaWallView::contextOpened( TCollectionContext context ) +{ + if ( context != ECollectionContextAlbumsMediaWall ) { + //Force the context to Albums Media Wall, this to get the model and + //data to provide the right funtionality to media wall. + mCollectionData->setContext( ECollectionContextAlbumsMediaWall ); + return; + } + if ( mCollectionData->count() ) { + if (mNoMusic) { + delete mNoMusic; + mNoMusic = 0; + } + if ( mMediaWallWidget ) { + mModel->refreshModel(); + } else { + bool ok = false; + mDocumentLoader->load( MUSIC_MEDIAWALL_DOCML, "mediaWall", &ok); + if ( ok ) { + QGraphicsWidget *widget; + widget = mDocumentLoader->findWidget(QString("MPmediaWallWidget")); + mMediaWallWidget = qobject_cast(widget); + //set these items as children of the media wall so they show behind the scrollbar. + mTrackList->setParentItem(mMediaWallWidget); + mAlbumCover->setParentItem(mMediaWallWidget); + mModel->refreshModel(); + setUpMediaWallWidget(); + } + else { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpMediaWallView::contextOpened", "invalid xml file"); + + } + } + } + else { + if ( mMediaWallWidget ) { + //Take ownership of these items to prevent delete from media wall widget. + mTrackList->setParentItem( this ); + mAlbumCover->setParentItem( this ); + delete mMediaWallWidget; + mMediaWallWidget = 0; + + } + if ( !mNoMusic ) { + bool ok = false; + mDocumentLoader->load( MUSIC_MEDIAWALL_DOCML, "empty", &ok); + if ( ok ) { + QGraphicsWidget *widget; + widget = mDocumentLoader->findWidget(QString("noMusic")); + mNoMusic = qobject_cast(widget); + } + else { + TX_LOG_ARGS("Error: invalid xml file."); + Q_ASSERT_X(ok, "MpMediaWallView::contextOpened", "invalid xml file"); + + } + } + } +} + +/*! + Slot to be called when the container contents changed. + */ +void MpMediaWallView::containerContentsChanged() +{ + if ( !mLibraryUpdating && mEngine ) { + mEngine->openCollection( ECollectionContextAlbumsMediaWall ); + } +} + +/*! + Slot to be called when the container contents changed. + */ +void MpMediaWallView::libraryAboutToUpdate() +{ + mLibraryUpdating = true; +} + +/*! + Slot to be called when the container contents changed. + */ +void MpMediaWallView::libraryUpdated() +{ + mLibraryUpdating = false; + if ( mEngine ) { + mEngine->openCollection( ECollectionContextAlbumsMediaWall ); + } +} + +/*! + Slot to be called to send to background. + */ +void MpMediaWallView::sendToBackground() +{ + TX_ENTRY + emit command( MpCommon::SendToBackground ); + TX_EXIT +} + +/*! + Slot to update teh play pause action icon. + */ +void MpMediaWallView::updatePlayPauseAction() +{ + if ( !mActivated ) { + mIconUpdateNedded = true; + return; + } + TX_ENTRY + switch ( mPlaybackData->playbackState() ) { + case MpPlaybackData::Playing: + TX_LOG_ARGS( "MpPlaybackData::Playing" ) + mPlayPauseAction->setIcon( *mPauseIcon ); + mPlayPauseContainer->show(); + break; + case MpPlaybackData::Paused: + case MpPlaybackData::Stopped: + TX_LOG_ARGS( "MpPlaybackData::Paused" ) + mPlayPauseAction->setIcon( *mPlayIcon ); + mPlayPauseContainer->show(); + break; + case MpPlaybackData::NotPlaying: + mPlayPauseContainer->hide(); + break; + default: + break; + } + TX_EXIT +} + +/*! + Slot called to start the album and list opening animation. + */ +void MpMediaWallView::showTrackList() +{ + if( mShowingSongsList ) { + return; + } + mShowingSongsList = true; + setUpListAnimation(); + mListShowAnimationGroup->setDirection(QAbstractAnimation::Forward); + mListShowAnimationGroup->start(); + mModel->setItemVisibility( mMediaWallWidget->currentIndex(), false ); +} + +/*! + Slot to be called to starts the album and list closing animation. + */ +void MpMediaWallView::hideTracksList() +{ + mListShowAnimationGroup->setDirection(QAbstractAnimation::Backward); + connect(mListShowAnimationGroup, SIGNAL(finished()), this, SLOT(dismissListClosingAnimation())); + mListShowAnimationGroup->start(); +} + +/*! + Slot to be called when list closing animation is done or when we want to cancel the animation. + */ +void MpMediaWallView::dismissListClosingAnimation() +{ + if ( !mShowingSongsList ) { + return; + } + mShowingSongsList = false; + mAlbumCover->hide(); + mTrackList->hide(); + mModel->setItemVisibility( mMediaWallWidget->currentIndex(), true ); + mListShowAnimationGroup->stop(); + disconnect(mListShowAnimationGroup, SIGNAL(finished()), this, SLOT(dismissListClosingAnimation())); +} + +/*! + Slot to be called when a list item is selected by the user. + */ +void MpMediaWallView::listItemActivated( const QModelIndex &index ) +{ + int albumIndex = mMediaWallWidget->currentIndex().row(); + //We are playing on the shared engine, but we pass the collection data that + //points to albums on media wall, this is used to construct the playlist. + MpEngineFactory::sharedEngine()->playAlbumSongs( albumIndex, index.row(), mCollectionData ); +} + +/*! + Slot to be called to fetch the songs for an album. + */ +void MpMediaWallView::fetchAlbumSongs(QModelIndex index) +{ + if ( !mCollectionData->setCurrentAlbum( index.row() ) ) { + mEngine->findAlbumSongs( index.row() ); + } +} + +/*! + Loads the media wall widget. + */ +void MpMediaWallView::setUpMediaWallWidget() +{ + HbIcon defaultIcon( "qtg_large_album_art" ); + defaultIcon.setSize(mMediaWallWidget->itemSize()); + mMediaWallWidget->setDefaultImage( defaultIcon.pixmap().toImage() ); + mMediaWallWidget->enableReflections( true ); + mMediaWallWidget->setModel( mModel ); + if ( mPlaybackData->playbackState() != MpPlaybackData::NotPlaying ) { + scrollToNowPlaying(); + } + //The rest of the cases are attepting to balance the items on screen. + else if ( mModel->rowCount() >= 5 ) { + /* 5 and more + [0] [1] [X] [3] [4]... + */ + QModelIndex index; + index = mModel->index( 2 ); + mMediaWallWidget->scrollTo( index ); + } + else if ( mModel->rowCount() >=3 ) { + /* 4 and 3 + __ [0] [X] [2] [3] + __ [0] [X] [2] __ + */ + QModelIndex index; + index = mModel->index( 1 ); + mMediaWallWidget->scrollTo( index ); + } + else { + /* 2 and 1 + __ __ [X] [1] __ + __ __ [X] __ __ + */ + QModelIndex index; + index = mModel->index( 0 ); + mMediaWallWidget->scrollTo( index ); + } + mMediaWallWidget->setTitleFontSpec( HbFontSpec( HbFontSpec::Primary ) ); + mMediaWallWidget->setDescriptionFontSpec( HbFontSpec( HbFontSpec::Secondary ) ); + mMediaWallWidget->setScrollBarPolicy( HgWidget::ScrollBarAlwaysOn ); //HgWidget::ScrollBarAutoHide + mMediaWallWidget->scrollBar()->setInteractive( true ); + mMediaWallWidget->setIndexFeedbackPolicy( HgWidget::IndexFeedbackSingleCharacter ); + connect(mMediaWallWidget, SIGNAL(animationAboutToEnd(QModelIndex)), SLOT(fetchAlbumSongs(QModelIndex))); + connect(mMediaWallWidget, SIGNAL(activated(QModelIndex)), SLOT(showTrackList())); + connect(mMediaWallWidget, SIGNAL(scrollingStarted()), SLOT(dismissListClosingAnimation())); +} + +/*! + Scrolls the media wall to now playing position. + */ +void MpMediaWallView::scrollToNowPlaying() +{ + if ( mMediaWallWidget && mPlaybackData->playbackState() != MpPlaybackData::NotPlaying ) { + int albumId = mPlaybackData->albumId(); + QModelIndex index; + index = mModel->index( mCollectionData->itemIndex( albumId ) ); + mMediaWallWidget->scrollTo( index ); + } +} + +/*! + Sets up the album and list animation. + */ +void MpMediaWallView::setUpListAnimation() +{ + if ( !mListShowAnimationGroup ) { + mListShowAnimationGroup = new QParallelAnimationGroup( this ); + mCoverShowListAnimation = new QPropertyAnimation(mAlbumCover, "geometry", this ); + mCoverShowListAnimation->setDuration( 400 ); + mCoverShowListAnimation->setEasingCurve(QEasingCurve::InOutCubic); + mListShowAnimationGroup->addAnimation(mCoverShowListAnimation); + mListShowListAnimation = new QPropertyAnimation( mTrackList, "geometry", this ); + mListShowListAnimation->setDuration( 400 ); + mListShowListAnimation->setEasingCurve(QEasingCurve::InOutCubic); + mListShowAnimationGroup->addAnimation(mListShowListAnimation); + } + + //Get the current album cover geometry. + QPolygonF poly; + QModelIndex index = mMediaWallWidget->currentIndex(); + if ( !mMediaWallWidget->getItemOutline( index, poly ) ) { + return; + } + QRectF itemRect = poly.boundingRect(); + + //Get the album cover icon. + QVariant image = mModel->data(index, Qt::DecorationRole); + if ( image.canConvert() ) { + mAlbumCover->setIcon(image.value()); + } + else { + mAlbumCover->setIcon(HbIcon()); + } + + //Mapping form local media wall coords to window coors. + itemRect.moveTo( mMediaWallWidget->geometry().topLeft() + itemRect.topLeft()); + //Calculate start and end position of items for the animation. + QRectF endRect = itemRect; + endRect.moveTo( endRect.topLeft().x() - endRect.size().width() / 2.0, endRect.topLeft().y() ); + mCoverShowListAnimation->setStartValue(itemRect); + mCoverShowListAnimation->setEndValue(endRect); + endRect.moveTo( endRect.topRight() ); + mListShowListAnimation->setStartValue(itemRect); + mListShowListAnimation->setEndValue(endRect); + + //set initial condition and show to prevent flicker. + mAlbumCover->setPos(itemRect.topLeft()); + mTrackList->setPos(itemRect.topLeft()); + mTrackList->setGeometry(itemRect); + mAlbumCover->show(); + mTrackList->show(); +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mpmediawallviewplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mpmediawallviewplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,156 @@ +/* +* 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: Plugin interface for Music Player media wall view. +* +*/ + +#include + +#include "mpmediawallviewplugin.h" +#include "mpmediawallview.h" +#include "mptrace.h" + +/*! + \class MpMediaWallViewPlugin + \brief Plugin interface for Music Player media wall view. + + media wall view plugin provides interface to the media wall view + beyond a plugin interface for application and view separation. +*/ + +/*! + \fn void command( int command ) + + This signal is emitted when the view issues a \a command to the + application such as request to switch to a different view. + */ + +/*! + Constructs the media wall view plugin. + */ +MpMediaWallViewPlugin::MpMediaWallViewPlugin() + : mView(0), + mState(NullView) +{ + TX_LOG +} + +/*! + Destructs the media wall view plugin. + */ +MpMediaWallViewPlugin::~MpMediaWallViewPlugin() +{ + TX_LOG +} + +/*! + Creates the media wall view. + */ +void MpMediaWallViewPlugin::createView() +{ + TX_ENTRY + if ( mState == NullView ) { + mView = new MpMediaWallView(); + connect( mView, SIGNAL(command(int)), this, SIGNAL(command(int)) ); + mState = Created; + } + TX_EXIT +} + +/*! + Destroys the media wall view. + */ +void MpMediaWallViewPlugin::destroyView() +{ + TX_ENTRY + if ( mState != NullView ) { + delete mView; + mView = 0; + mState = NullView; + } + TX_EXIT +} + +/*! + Activates the media wall view. View initialization is done very first time. + */ +void MpMediaWallViewPlugin::activateView() +{ + TX_ENTRY_ARGS("mState=" << mState); + switch ( mState ) { + case Created: + mView->initializeView(); + mView->activateView(); + mState = Activated; + break; + case Initialized: + mView->activateView(); + mState = Activated; + break; + default: + // Ignore + break; + } + TX_EXIT +} + +/*! + Deactivates the media wall view. + */ +void MpMediaWallViewPlugin::deactivateView() +{ + TX_ENTRY + if ( mState == Activated ) { + mView->deactivateView(); + mState = Initialized; + } + TX_EXIT +} + +/*! + Returns pointer to QGraphicsWidget, which is the media wall view. + The returned pointer is 0, if it is not created first. + + \sa createView() + */ +QGraphicsWidget* MpMediaWallViewPlugin::getView() +{ + TX_LOG + return mView; +} + +/*! + Slot to be called when application orientation changes. + + \reimp + */ +void MpMediaWallViewPlugin::orientationChange( Qt::Orientation orientation ) +{ + TX_LOG + Q_UNUSED(orientation); +} + +/*! + Slot to handle back command from softkey. + + \reimp + */ +void MpMediaWallViewPlugin::back() +{ + //do nothing, softkey is handledinternally by the view. + TX_LOG +} + +XQ_EXPORT_PLUGIN2( mpmediawallviewplugin, MpMediaWallViewPlugin ); + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mpreflectioneffect.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mpreflectioneffect.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2010 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: Reflection effect for Music Player Media Wall. +* +*/ + +#include +#include +#include + +#include "mpreflectioneffect.h" + + +/*! + \class MpReflectionEffect + \brief The MpReflectionEffect class provides a reflection effect. + + Renders the source with a reflection. +*/ + +/*! + Constructs a new MpReflectionEffect instance. + The \a parent parameter is passed to QGraphicsEffect's constructor. +*/ +MpReflectionEffect::MpReflectionEffect(QObject *parent) + : QGraphicsEffect( parent ) +{ +} + +/*! + Destroys the effect. +*/ +MpReflectionEffect::~MpReflectionEffect() +{ +} + +/*! + \reimp +*/ +QRectF MpReflectionEffect::boundingRectFor(const QRectF &rect) const +{ + QRectF retRect = rect; + //this bounding rect is in device cordinates, correcting based on current transform. + if ( hbInstance->allMainWindows()[0]->orientation() == Qt::Horizontal ) { +#ifdef __WINS__ + retRect.adjust(0,0,retRect.width(),0); //wincw with forced rotation is to the right. +#else + retRect.adjust(-retRect.width(),0,0,0);//currently hardware rotations is to the left. +#endif + } else { + retRect.adjust(0,0,0,retRect.height()); + } + + return retRect; +} + +/*! + \reimp +*/ +void MpReflectionEffect::draw(QPainter *painter) +{ + //currently sourceBoundingRect returns somehing like boundingRectFor and + //wrong rect for widgets with scroll area. As a workaround we can get the + //original bounding rect assuming that the widget using the effect is the + //effect parent. + QGraphicsItem * sourceItem; + sourceItem = qobject_cast( parent() ); + QPixmap pixmap; + QPoint offset; + pixmap = sourcePixmap( Qt::LogicalCoordinates,&offset, QGraphicsEffect::NoPad ); + painter->drawPixmap( offset, pixmap ); + if ( sourceItem ) { + painter->save(); + painter->scale( 1, -1 ); + //for some reson tranlation does not work, translating cordinates by hand. + QPointF reflectionOffset( 0.0, - 2.0 * sourceItem->boundingRect().height() ); + painter->drawPixmap( offset + reflectionOffset, pixmap ); + QRectF reflectionRect; + reflectionRect.setTopLeft( reflectionOffset ); + reflectionRect.setHeight ( sourceItem->boundingRect().height() ); + reflectionRect.setWidth( pixmap.width() ); + painter->fillRect( reflectionRect, QColor::fromRgbF( 0, 0, 0, 0.5f ) ); + painter->restore(); + } +} + +// EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/src/mptracklistwidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/src/mptracklistwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,182 @@ +/* +* Copyright (c) 2010 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: Track List Widget for Music Player Media Wall. +* +*/ + + +#include + +#include +#include +#include +#include +#include + + +#include "mptracklistwidget.h" +#include "mpreflectioneffect.h" + +const int swipeAngleTolerance = 30; // angle is from 0 to 360 + +/*! + \class MpTrackListWidget + \brief Widget with a list of tracks for Media Wall. + + This widget provides a list with custom style and a background. + +*/ + +/*! + \fn void closed() + + This signal is emitted when the track list is closed by the user with a + left swipe gesture. + */ + + +/*! + Creates the MpTrackListWidget. + */ +MpTrackListWidget::MpTrackListWidget( QGraphicsItem *parent ) : HbWidget( parent ) +{ + // Register the custorm css path for the list items. + HbStyleLoader::registerFilePath(":/css/mpcustomlistitem.css"); + HbStyleLoader::registerFilePath(":/css/mpcustomlistitem.hblistviewitem.widgetml"); + mList = new HbListView( this ); + // set layout name that matches the custom list item layout. + mList->setLayoutName("mpmwtracklist"); + + //grab the gesture for close. + grabGesture(Qt::SwipeGesture); + + mFrameItem = new HbFrameItem( this ); + mFrameItem->frameDrawer().setFrameType( HbFrameDrawer::NinePieces ); + mFrameItem->frameDrawer().setFrameGraphicsName( "qtg_fr_multimedia_trans" ); + mFrameItem->setZValue(-1); + + MpReflectionEffect *effect = new MpReflectionEffect(this); + setGraphicsEffect(effect); +} + +/*! + Destructs the track list widget. + */ +MpTrackListWidget::~MpTrackListWidget() +{ +} + +/*! + Returns the HbListView instance. + */ +HbListView *MpTrackListWidget::list() +{ + return mList; +} + +/*! + \reimp + */ +void MpTrackListWidget::resizeEvent(QGraphicsSceneResizeEvent *event) +{ + mFrameItem->setGeometry( rect() ); + qreal margin = 0.0; + style()->parameter(QString("var(hb-param-margin-gene-middle-vertical)"), margin); + mList->setGeometry( rect().adjusted( margin, margin, -margin, -margin ) ); + HbWidget::resizeEvent( event ); +} + +/*! + \reimp + */ +void MpTrackListWidget::mousePressEvent( QGraphicsSceneMouseEvent *event ) +{ + if ( event->button() == Qt::LeftButton ) { + event->accept(); + } + else { + event->ignore(); + } +} + +/*! + \reimp + */ +void MpTrackListWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) +{ + if ( event->button() == Qt::LeftButton ) { + event->accept(); + } + else { + event->ignore(); + } +} + +/*! + \reimp + */ +void MpTrackListWidget::gestureEvent(QGestureEvent *event) +{ + QGesture* gesture = event->gesture(Qt::SwipeGesture); + if (gesture) { + QSwipeGesture* swipe = static_cast(gesture); + if (swipe->state() == Qt::GestureFinished && + swipeAngleToDirection (swipe->swipeAngle()) == QSwipeGesture::Left ) { + //Left gesture is the direction in wich the track list slides to close. + emit closed(); + event->accept(Qt::SwipeGesture); + } + } +} + +/*! + Maps swipe \a angle to QSwipeGesture::SwipeDirection based on a tolerance + parameter and orientation. This funtions helps to identify a swipe even + if it is not sharp movement from 180 to 0 degrees on the righ swipe + gesture for instance. Since gesture events are mesured on device + cordinates this also helps to correct the gesture to local cordinates + bases on device orientation, wich is done using QT transformations, + meaning local cordinates and device cordinates are not always aligned. + */ +QSwipeGesture::SwipeDirection MpTrackListWidget::swipeAngleToDirection( + int angle ) +{ + int delta = swipeAngleTolerance; + if ( hbInstance->allMainWindows()[0]->orientation() == Qt::Horizontal ) { + //correction for transformation on rotation. +#ifdef __WINS__ //wincw with forced rotation is to the right. + angle += ( angle < 90 ) ? 270 : -90; +#else//currently hardware rotations is to the left. + angle += 90; + if ( angle > 360 ) { + angle -= 360; + } +#endif + + } + QSwipeGesture::SwipeDirection direction( QSwipeGesture::NoDirection ); + if ( ( angle > 90 - delta) && ( angle < 90 + delta ) ) { + direction = QSwipeGesture::Up; + } else if ( ( angle > 270 - delta ) && (angle < 270 + delta ) ) { + direction = QSwipeGesture::Down; + } else if ( ( ( angle >= 0 ) && ( angle < delta ) ) + || ( ( angle > 360 - delta ) && ( angle <= 360 ) ) ) { + direction = QSwipeGesture::Right; + } else if ( ( angle > 180 - delta ) && ( angle < 180 + delta ) ) { + direction = QSwipeGesture::Left; + } + return direction; +} + +//EOF diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpmediawalldocumentloader + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/inc/unittest_mpmediawalldocumentloader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/inc/unittest_mpmediawalldocumentloader.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,54 @@ +/* +* 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: Unit test for MpMediaWallDocumentLoader +* +*/ + +#ifndef TESTMPMEDIAWALLDOCUMENTLOADER_H +#define TESTMPMEDIAWALLDOCUMENTLOADER_H + +#include + +class MpMediaWallDocumentLoader; + +class TestMpMediaWallDocumentLoader : public QObject +{ + Q_OBJECT + +public: + + TestMpMediaWallDocumentLoader(); + virtual ~TestMpMediaWallDocumentLoader(); + +signals: + + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void testCreateHgMediawall(); + void testCreateHbToolButton(); + void testCreateQObject(); + +private: + + MpMediaWallDocumentLoader *mTest; + +}; + +#endif // TESTMPMEDIAWALLDOCUMENTLOADER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/src/unittest_mpmediawalldocumentloader.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/src/unittest_mpmediawalldocumentloader.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,140 @@ +/* +* 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: Unit test for MpMediaWallDocumentLoader +* +*/ + +#include +#include + +#include "stub/inc/hgmediawall.h" +#include "unittest_mpmediawalldocumentloader.h" + + + +// Do this so we can access all member variables. +#define private public +#include "mpmediawalldocumentloader.h" +#undef private + +/*! + Make our test case a stand-alone executable that runs all the test functions. + */ +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + TestMpMediaWallDocumentLoader tv; + + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpmediawalldocumentloader.txt"; + + return QTest::qExec(&tv, 3, pass); + } +} + +TestMpMediaWallDocumentLoader::TestMpMediaWallDocumentLoader() + : mTest(0) +{ +} + +TestMpMediaWallDocumentLoader::~TestMpMediaWallDocumentLoader() +{ + delete mTest; +} + +/*! + Called before the first testfunction is executed. + */ +void TestMpMediaWallDocumentLoader::initTestCase() +{ +} + +/*! + Called after the last testfunction was executed. + */ +void TestMpMediaWallDocumentLoader::cleanupTestCase() +{ +} + +/*! + Called before each testfunction is executed. + */ +void TestMpMediaWallDocumentLoader::init() +{ + mTest = new MpMediaWallDocumentLoader(); +} + +/*! + Called after every testfunction. + */ +void TestMpMediaWallDocumentLoader::cleanup() +{ + delete mTest; + mTest = 0; +} + +/*! + Tests the correct creation of HgMediawall. + */ +void TestMpMediaWallDocumentLoader::testCreateHgMediawall() +{ + cleanup(); + init(); + QObject *theObject; + theObject = mTest->createObject(QString("HgMediawall"),QString("myHgMediawall")); + QCOMPARE(theObject->metaObject()->className(),"HgMediawall"); + QCOMPARE(theObject->objectName(),QString("myHgMediawall")); + QVERIFY(qobject_cast(theObject)); + delete theObject; + +} + +/*! + Tests the correct creation of HbToolButton. + */ +void TestMpMediaWallDocumentLoader::testCreateHbToolButton() +{ + cleanup(); + init(); + QObject *theObject; + theObject = mTest->createObject(QString("HbToolButton"),QString("myHbToolButton")); + QCOMPARE(theObject->metaObject()->className(),"HbToolButton"); + QCOMPARE(theObject->objectName(),QString("myHbToolButton")); + QVERIFY(qobject_cast(theObject)); + delete theObject; + +} + +/*! + Tests the correct creation of QObject, this should be pased to the + base class and base class should return a named object. + */ +void TestMpMediaWallDocumentLoader::testCreateQObject() +{ + cleanup(); + init(); + QObject *theObject; + theObject = mTest->createObject(QString("QObject"),QString("myQObject")); + QCOMPARE(theObject->metaObject()->className(),"QObject"); + QCOMPARE(theObject->objectName(),QString("myQObject")); + delete theObject; +} + +// End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/stub/inc/hgmediawall.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/stub/inc/hgmediawall.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,33 @@ +/* +* 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: HgMediawall stub for testing MpMediaWallDocumentLoader +* +*/ + +#ifndef HGMEDIAWALL_H +#define HGMEDIAWALL_H + +//includes +#include + +class HgMediawall : public QObject +{ + Q_OBJECT + +public: + explicit HgMediawall(); + virtual ~HgMediawall(); +}; + +#endif // HGMEDIAWALL_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/stub/src/hgmediawall.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/stub/src/hgmediawall.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,33 @@ +/* +* 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: HgMediawall stub for testing MpMediaWallDocumentLoader +* +*/ + +#include "stub/inc/hgmediawall.h" + + +/*! + Constructs the now playing widget stub + */ +HgMediawall::HgMediawall() +{ +} + +/*! + Destructs the now playing widget stub. + */ +HgMediawall::~HgMediawall() +{ +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/unittest_mpmediawalldocumentloader.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpmediawallviewplugin/tsrc/unittest_mpmediawalldocumentloader/unittest_mpmediawalldocumentloader.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,36 @@ +# +# 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: +# + +TEMPLATE = app +CONFIG += qtestlib hb +CONFIG += symbian_test +TARGET = unittest_mpmediawalldocumentloader +TARGET.CAPABILITY = CAP_APPLICATION + +DEPENDPATH += . +INCLUDEPATH += . \ + ../../../../inc + +INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + +HEADERS += stub/inc/hgmediawall.h \ + inc/unittest_mpmediawalldocumentloader.h \ + ../../inc/mpmediawalldocumentloader.h + +SOURCES += stub/src/hgmediawall.cpp \ + src/unittest_mpmediawalldocumentloader.cpp \ + ../../src/mpmediawalldocumentloader.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwidget.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -23,7 +23,7 @@ //forward declartions class HbRadioButtonList; -class MpEqualizerWrapper; +class MpEngine; //class declaration class MpEqualizerWidget : public HbDialog @@ -41,17 +41,17 @@ public slots: void presetSelected(int index); - void equalizerReady(); void cancelSelected(bool checked); void okSelected(bool checked); +private: // functions + QString getLocalizedString( QString name ); + private: - MpEqualizerWrapper *mEqualizerWrapper; //owned + MpEngine *mMpEngine; // Own HbRadioButtonList *mPresetsList; //owned - - int mOriginalPreset; - bool mEqualizerReady; + int mOriginalPreset; Q_DISABLE_COPY(MpEqualizerWidget) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +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: Wrapper for equalizer utility -* -*/ - -#ifndef MPEQUALIZERWRAPPER_H -#define MPEQUALIZERWRAPPER_H - -// System includes -#include -#include - -class MpEqualizerWrapperPrivate; - -/** - * Wrapper for equalizer utilities - */ -class MpEqualizerWrapper : public QObject - { - Q_OBJECT - Q_PROPERTY(int activePreset READ activePreset) - Q_PROPERTY(QStringList presetNames READ presetNames) - -public: - - explicit MpEqualizerWrapper( QObject *parent = 0 ); - virtual ~MpEqualizerWrapper(); - - void applyPreset( int preset ); - void disableEqualizer(); - - int activePreset(); - - QStringList presetNames(); - -signals: - void equalizerReady(); - -private: - - Q_DISABLE_COPY(MpEqualizerWrapper) - MpEqualizerWrapperPrivate *d_ptr; - - friend class MpEqualizerWrapperPrivate; - }; - -#endif // MPEQUALIZERWRAPPER_H - -//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper_p.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +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: Wrapper for equalizer utility - private implementation. -* -*/ - -#ifndef MPEQUALIZERWRAPPER_P_H -#define MPEQUALIZERWRAPPER_P_H - -// System includes -#include -#include - -// FORWARD DECLARATIONS -class MMPXPlaybackUtility; -class CAudioEqualizerUtility; - -class MpEqualizerWrapperPrivate : public CBase, - public MMdaAudioPlayerCallback - { -public: - - MpEqualizerWrapperPrivate( MpEqualizerWrapper *wrapper ); - virtual ~MpEqualizerWrapperPrivate(); - - void init(); - void applyPreset( int preset ); - int activePreset(); - void disableEqualizer(); - QStringList presetNames(); - -private: - - void DoInitL(); - void GetPresetId( TInt& aPresetId ); - TInt GetEngineIndexL(const TInt preset) const; - void HandlePresetActivation( TInt aActivatedPreset ); - void MapcInitComplete( - TInt aError, const TTimeIntervalMicroSeconds& aDuration ); - void MapcPlayComplete( TInt aError ); - -private: - - MpEqualizerWrapper *q_ptr; - CMdaAudioPlayerUtility* iMdaPlayUtility; - MMPXPlaybackUtility* iMpxPlaybackUtility; - CAudioEqualizerUtility* iEqualizerUtility; - - TInt iCurrentPresetIndex; - }; - -#endif // MPEQUALIZERWRAPPER_P_H - -//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h Thu Jul 22 16:32:33 2010 +0100 @@ -27,12 +27,14 @@ class MpPlaybackData; class MpPlaybackWidget; class MpEqualizerWidget; -class QTranslator; class MpPlaybackView : public MpViewBase { Q_OBJECT + Q_PROPERTY(QString PlaybackStatus READ playbackStatus) + Q_PROPERTY(bool Shuffle READ shuffleEnabled) + Q_PROPERTY(bool Repeat READ repeatEnabled) public: @@ -43,6 +45,10 @@ void activateView(); void deactivateView(); + QString playbackStatus(); + bool shuffleEnabled(); + bool repeatEnabled(); + signals: void command( int aCommand ); @@ -64,11 +70,22 @@ void handleSongSelected(); void showEqualizerDialog(); + void closeEqualizerDialog(); + + void startRewindTimer(); + void startForwardTimer(); + void startSeekRewind(); + void startSeekForward(); + void endRewind(); + void endForward(); + + void connectButtons(); private: void setupMenu(); void setupToolbar(); + void updatePlayPauseIcon(); private: @@ -78,7 +95,7 @@ MpEqualizerWidget *mEqualizerWidget; // Own HbMainWindow *mWindow; // Not own - HbAction *mNavigationBack; // Own + HbAction *mSoftKeyBack; // Own bool mActivated; HbIcon *mPlayIcon; // Own @@ -89,12 +106,12 @@ HbAction *mPlayPauseAction; // Not own HbAction *mRepeatAction; // Not own HbAction *mShuffleAction; // Not own - - QTranslator *mMpTranslator; // Own - QTranslator *mCommonTranslator; // Own + + QTimer *mTimer; bool mShuffle; bool mRepeat; + bool mSeeking; Q_DISABLE_COPY(MpPlaybackView) }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpplaybackviewplugin.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackviewplugin.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackviewplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ #ifndef MPPLAYBACKVIEWPLUGIN_H #define MPPLAYBACKVIEWPLUGIN_H -#include +#include #include //forward declartions diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/inc/mpplaybackwidget.h --- a/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -38,10 +38,12 @@ MpPlaybackWidget( MpPlaybackData *data, QGraphicsItem *parent=0 ); virtual ~MpPlaybackWidget(); + void repeatChanged( bool value ); signals: void setPlaybackPosition( int value ); + void signalPlaybackInfoChanged(); public slots: @@ -49,7 +51,7 @@ void durationChanged(); void positionChanged(); void albumArtChanged(); - + private slots: void handleSliderPressed(); @@ -71,8 +73,8 @@ HbLabel *mAlbumName; // Not own HbLabel *mAlbumArt; // Not own HbProgressSlider *mProgressBar; // Not own - - + HbLabel *mRealAudioIndicator; // Not own + HbLabel *mRepeatIndicator; // Not own bool mProgreesBarDragging; int mDuration; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro --- a/mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,55 +14,44 @@ # Description: # -symbian:TARGET.UID3 = 0x10207C64 - TEMPLATE = lib CONFIG += hb qt ecomplugin TARGET = mpplaybackviewplugin +symbian: { + TARGET.UID3 = 0x10207C64 + TARGET.CAPABILITY = All -TCB + TARGET.EPOCALLOWDLLDATA = 1 +} SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0 SERVICE.CONFIGURATION = "0x101FFCA0

    0x101FFC06;0x101FFC3A;0xE419BEEE

    EMPXViewPluginPriorityNormal0x00000002" -TARGET.CAPABILITY = All -TCB - DEPENDPATH += . INCLUDEPATH += . \ - inc \ - ../../inc + inc \ + ../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lmpxplaybackutility.dll \ - -lmpxcommon.dll \ - -lestor.dll \ - -lmpxviewframeworkqt.dll \ - -laudioequalizerutility.dll \ - -lmpsettingsmanager \ - -lmpengine \ - -lmpdata.dll - -symbian: -{ -TARGET.EPOCALLOWDLLDATA = 1 - -BLD_INF_RULES.prj_exports += \ - "resources/nullsound.mp3 /epoc32/release/winscw/udeb/Z/nullsound.mp3" \ - "resources/nullsound.mp3 /epoc32/data/Z/system/data/nullsound.mp3" -} +LIBS += -lmpxplaybackutility \ + -lmpxcommon \ + -lestor \ + -lmpxviewframeworkqt \ + -laudioequalizerutility \ + -lmpsettingsmanager \ + -lmpengine \ + -lmpdata -HEADERS = ../../inc/mpviewbase.h \ - inc/mpplaybackviewplugin.h \ - inc/mpplaybackview.h \ - inc/mpplaybackwidget.h \ - inc/mpequalizerwrapper.h \ - inc/mpequalizerwrapper_p.h \ - inc/mpequalizerwidget.h +# Input +HEADERS += ../../inc/mpviewbase.h \ + inc/mpplaybackviewplugin.h \ + inc/mpplaybackview.h \ + inc/mpplaybackwidget.h \ + inc/mpequalizerwidget.h SOURCES += src/mpplaybackviewplugin.cpp \ - src/mpplaybackview.cpp \ - src/mpplaybackwidget.cpp \ - src/mpequalizerwrapper.cpp \ - src/mpequalizerwrapper_p.cpp \ - src/mpequalizerwidget.cpp + src/mpplaybackview.cpp \ + src/mpplaybackwidget.cpp \ + src/mpequalizerwidget.cpp RESOURCES += resources/mpplaybackviewpluginresources.qrc diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/resources/nullsound.mp3 Binary file mpviewplugins/mpplaybackviewplugin/resources/nullsound.mp3 has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/resources/playbackwidget.docml --- a/mpviewplugins/mpplaybackviewplugin/resources/playbackwidget.docml Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/resources/playbackwidget.docml Thu Jul 22 16:32:33 2010 +0100 @@ -10,9 +10,33 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -44,7 +68,7 @@ - + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby --- a/mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby Thu Jul 22 16:32:33 2010 +0100 @@ -22,6 +22,4 @@ ECOM_PLUGIN( mpplaybackviewplugin.dll, mpplaybackviewplugin.rsc ) -data=ZSYSTEM\data\nullsound.mp3 nullsound.mp3 - #endif //MPPLAYBACKVIEWPLUGIN_IBY diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp --- a/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -20,14 +20,13 @@ #include #include #include +#include // User includes #include "mpequalizerwidget.h" -#include "mpequalizerwrapper.h" +#include "mpenginefactory.h" #include "mptrace.h" -// CONSTANTS -const int KEqualizerPresetNone = -1; /*! \class MpEqualizerWidget @@ -38,10 +37,9 @@ Constructs the Equalizer widget. */ MpEqualizerWidget::MpEqualizerWidget() : - mEqualizerWrapper(0), + mMpEngine(0), mPresetsList(0), - mOriginalPreset(KEqualizerPresetNone), - mEqualizerReady(false) + mOriginalPreset(KEqualizerPresetNone) { TX_ENTRY @@ -55,11 +53,7 @@ */ MpEqualizerWidget::~MpEqualizerWidget() { - TX_ENTRY - - delete mEqualizerWrapper; - - TX_EXIT + TX_LOG } /*! @@ -69,12 +63,7 @@ { TX_ENTRY - mEqualizerWrapper = new MpEqualizerWrapper( this ); - - connect( mEqualizerWrapper, - SIGNAL( equalizerReady() ), - this, - SLOT( equalizerReady() ) ); + mMpEngine = MpEngineFactory::sharedEngine(); TX_EXIT } @@ -93,28 +82,37 @@ setFrameType(HbPopup::Strong); setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset"))); - - if ( mEqualizerReady ) { - mOriginalPreset = mEqualizerWrapper->activePreset(); - QStringList listItems = mEqualizerWrapper->presetNames(); - listItems.prepend(hbTrId("txt_mus_list_off")); - - int presetSelected; - if (mOriginalPreset == KEqualizerPresetNone) { - presetSelected = 0; //First list item corresponds to "OFF" + mOriginalPreset = mMpEngine->activePreset(); + QStringList listItems; + QStringList presetNames = mMpEngine->presetNames(); + for ( int i=0; i 0 ) { + listItems.append( name ); } else { - presetSelected = mOriginalPreset; + // Localized string not found, append original name. + TX_LOG_ARGS( "Localized string not found = " << name); + listItems.append( presetNames.at(i) ); } - - mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this); - setContentWidget( mPresetsList ); //mPresetsList now owned by HbDialog + } + listItems.prepend(hbTrId("txt_mus_list_off")); + TX_LOG_ARGS( "PresetNames=" << listItems); + int presetSelected; + if (mOriginalPreset == KEqualizerPresetNone) { + presetSelected = 0; //First list item corresponds to "OFF" + } + else { + presetSelected = mOriginalPreset; + } - connect( mPresetsList, - SIGNAL(itemSelected(int)), - this, - SLOT(presetSelected(int))); - } + mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this); + setContentWidget( mPresetsList ); //mPresetsList now owned by HbDialog + + connect( mPresetsList, + SIGNAL(itemSelected(int)), + this, + SLOT(presetSelected(int))); clearActions(); action = new HbAction( hbTrId( "txt_common_button_ok" ) ); @@ -134,12 +132,12 @@ { TX_ENTRY - if (mEqualizerWrapper) { + if (mMpEngine) { if (index == 0) { - mEqualizerWrapper->disableEqualizer(); + mMpEngine->disableEqualizer(); } else{ - mEqualizerWrapper->applyPreset( index ); + mMpEngine->applyPreset( index ); } } @@ -154,15 +152,15 @@ TX_ENTRY Q_UNUSED(checked); - if (mEqualizerWrapper && mPresetsList) { + if (mMpEngine && mPresetsList) { // Return to the original Preset - if (mOriginalPreset != mEqualizerWrapper->activePreset()) { + if (mOriginalPreset != mMpEngine->activePreset()) { if (mOriginalPreset == KEqualizerPresetNone) { - mEqualizerWrapper->disableEqualizer(); + mMpEngine->disableEqualizer(); mPresetsList->setSelected( 0 ); //First list item corresponds to "OFF" } else { - mEqualizerWrapper->applyPreset( mOriginalPreset ); + mMpEngine->applyPreset( mOriginalPreset ); mPresetsList->setSelected( mOriginalPreset ); } } @@ -180,23 +178,39 @@ Q_UNUSED(checked); //Update original preset - if (mEqualizerWrapper) { - mOriginalPreset = mEqualizerWrapper->activePreset(); + if (mMpEngine) { + mOriginalPreset = mMpEngine->activePreset(); } TX_EXIT } /*! - Equalizer utility is ready + Return the localized string base on preset name. */ -void MpEqualizerWidget::equalizerReady() +QString MpEqualizerWidget::getLocalizedString( QString name ) { - TX_ENTRY + TX_ENTRY_ARGS( "Name = " << name ); + QString localizedString; + + if ( name == "Bass Booster" ) { + localizedString = hbTrId( "txt_mus_list_bass_booster" ); + } + else if ( name == "Classic" ) { + localizedString = hbTrId( "txt_mus_list_classical" ); + } + else if ( name == "Pop" ) { + localizedString = hbTrId( "txt_mus_list_pop" ); + } + else if ( name == "Jazz" ) { + localizedString = hbTrId( "txt_mus_list_jazz" ); + } + else if ( name == "Rock" ) { + localizedString = hbTrId( "txt_mus_list_rock" ); + } - mEqualizerReady = true; - - TX_EXIT + TX_EXIT_ARGS( "Logical String = " << localizedString ); + return localizedString; } //End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper.cpp --- a/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +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: Wrapper for equalizer utility. -* -*/ - -// System includes -#include -#include - -// User includes -#include "mpequalizerwrapper.h" -#include "mpequalizerwrapper_p.h" -#include "mptrace.h" - -/*! - \class MpEqualizerWrapper - \ingroup musicplayer - \brief Wrapper for equalizer utility. - \since 10.1 - - Playback wrapper provides Qt style interface to the audio equalizer - utilities. Its implementation is hidden using private class data pattern. - - This class defines several APIs that are needed from \a MpPlaybackView - and other components in \a mpplaybackviewplugin. - - \sa MpEqualizerWrapperPrivate -*/ - -/*! - \fn MpEqualizerWrapper::equalizerReady() - - This signal will be emitted when Audio Eqalizer is initialized. This is - when all APIs, like \a applyPreset, are ready to be used. - - \sa MpEqualizerWrapperPrivate::MapcInitComplete -*/ - -/*! - Constructs a new MpEqualizerWrapper with \a parent and initializes - private imaplementation. - -*/ -MpEqualizerWrapper::MpEqualizerWrapper( QObject *parent ) - : QObject(parent) -{ - TX_ENTRY - - d_ptr = new MpEqualizerWrapperPrivate(this); - d_ptr->init(); - - TX_EXIT -} - -/*! - Destructs the class and its private imaplementation. - - */ -MpEqualizerWrapper::~MpEqualizerWrapper() -{ - TX_LOG - - delete d_ptr; -} - -/*! - Apply the preset by giving preset index. The index is starting with 0 - which if the "Off". The command then relays to its private implementation. - - */ -void MpEqualizerWrapper::applyPreset( int preset ) -{ - TX_ENTRY_ARGS( "Preset: " << preset ); - - d_ptr->applyPreset(preset); - - TX_EXIT -} - -/*! - Disabling the eqaulizer. The command then relays to its private implementation. - - */ -void MpEqualizerWrapper::disableEqualizer() -{ - TX_ENTRY - - d_ptr->disableEqualizer(); - - TX_EXIT -} - -/*! - Returning currectly activated preset. The command then relays to its private - implementation. -1 will be returned if the adaptation is not ready or - no available preset. - - */ -int MpEqualizerWrapper::activePreset() -{ - TX_LOG - return d_ptr->activePreset(); -} - -/*! - Returning the list of availale preset names. The command then relays to its - private implementation. - - */ - QStringList MpEqualizerWrapper::presetNames() -{ - TX_ENTRY_ARGS( "Names=" << d_ptr->presetNames()); - - return d_ptr->presetNames(); -} - - //End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper_p.cpp --- a/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,346 +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: Wrapper for equalizer utility - private implementation. -* -*/ - -// System includes -#include -#include -#include -#include -#include - -// User includes -#include "mpequalizerwrapper.h" -#include "mpequalizerwrapper_p.h" -#include "mpsettingsmanager.h" -#include "mpcommondefs.h" -#include "mptrace.h" - -// CONSTANTS -_LIT( KMPXNullSoundPath, "\\nullsound.mp3" ); -const TInt KEqualizerID = 0x101FFC76; - -/*! - \class MpEqualizerWrapperPrivate - \ingroup musicplayer - \brief Wrapper for equalizer utility - private implementation. - - This is a private implementation of the audio eqalizer wrapper - utilties interface. - -*/ - -/*! - Constructs a new MpEqualizerWrapper with \a parent and initializes its - private imaplementation. -*/ -MpEqualizerWrapperPrivate::MpEqualizerWrapperPrivate( - MpEqualizerWrapper *wrapper ): q_ptr( wrapper ), - iEqualizerUtility (NULL), iCurrentPresetIndex(KEqualizerPresetNone) -{ - TX_LOG -} - -/*! - Destructs the class. - */ -MpEqualizerWrapperPrivate::~MpEqualizerWrapperPrivate() -{ - TX_ENTRY - - delete iEqualizerUtility; - - if ( iMdaPlayUtility ) - { - iMdaPlayUtility->Close(); - } - delete iMdaPlayUtility; - - if ( iMpxPlaybackUtility ) - { - iMpxPlaybackUtility->Close(); - } - - TX_EXIT -} - -/*! - Calls the DoInit to initialize Symbian based components. - - \sa DoInitL() - */ -void MpEqualizerWrapperPrivate::init() -{ - TX_ENTRY - - TRAPD(err, DoInitL()); - if ( err != KErrNone ) - { - TX_LOG_ARGS("MpEqualizerWrapperPrivate::init err = " << err); - } - - TX_EXIT -} - -/*! - Apply the preset by giving preset index. The index is subtracted by 1 because - index 0 represent "Off" at UI level. - - */ -void MpEqualizerWrapperPrivate::applyPreset( int preset ) -{ - TX_ENTRY_ARGS( "preset=" << preset ); - - if ( iEqualizerUtility ) - { - TInt presetKey(KErrNotFound); - TRAPD(err, presetKey = GetEngineIndexL( preset - 1 )); - if ( err != KErrNone ) - { - TX_LOG_ARGS("GetEngineIndexL Error = " << err); - return; - } - TX_LOG_ARGS( "Preset key in engine =" << presetKey ); - HandlePresetActivation( presetKey ); - iCurrentPresetIndex = preset; - } - else - { - TX_LOG_ARGS( "Equalizer not ready." ); - } - - TX_EXIT -} - -/*! - Return current preset index (UI) - - */ -int MpEqualizerWrapperPrivate::activePreset() -{ - TX_LOG_ARGS("iCurrentPresetIndex = " << iCurrentPresetIndex ); - - return iCurrentPresetIndex; -} - -/*! - Disabling equalizer by setting the preset to -1 and apply it to - disable current preset. - - */ -void MpEqualizerWrapperPrivate::disableEqualizer() -{ - TX_ENTRY - - TInt nullPreset( KErrNotFound ); - iCurrentPresetIndex = KEqualizerPresetNone; - HandlePresetActivation( nullPreset ); - - TX_EXIT -} - -/*! - Returning the list of availale preset names. - - \sa CAudioEqualizerUtility - */ -QStringList MpEqualizerWrapperPrivate::presetNames() -{ - TX_ENTRY - - QStringList presetList; - - if ( iEqualizerUtility == NULL ) - { - TX_LOG_ARGS( "Equalizer not ready." ); - return presetList; - } - - TArray presetArray = iEqualizerUtility->Presets(); - for (TInt i=0; iClose(); - delete iMdaPlayUtility; - iMdaPlayUtility = NULL; - } - - iMdaPlayUtility = ( CMdaAudioPlayerUtility* )User::LeaveIfNull( - CMdaAudioPlayerUtility::NewL( - *this, - EMdaPriorityMin, - EMdaPriorityPreferenceNone )); - - TX_LOG_ARGS("Loading null sound"); - TFileName nullSoundPath( KMPXNullSoundPath ); - User::LeaveIfError( MPXUser::CompleteWithDllPath( nullSoundPath ) ); - TX_LOG_ARGS("Loading null sound done!"); - iMdaPlayUtility->OpenFileL( nullSoundPath ); - - TX_EXIT -} - - -/*! - \internal - */ -void MpEqualizerWrapperPrivate::HandlePresetActivation( TInt aActivatedPreset ) -{ - TX_ENTRY_ARGS( "aActivatedPreset=" << aActivatedPreset ); - - // Store in CenRep file - MpSettingsManager::setPreset( aActivatedPreset ); - - // Notify playback framework of the change. - TRAPD(error, - { - iMpxPlaybackUtility->CommandL( EPbApplyEffect, KEqualizerID ); - }); - - if (error != KErrNone) - { - TX_ENTRY_ARGS( "Equalizer error:" << error ); - } - - TX_EXIT -} - - -/*! - \internal - */ -void MpEqualizerWrapperPrivate::GetPresetId( TInt& aPresetId ) -{ - TX_ENTRY - - // Get preset id from cenrep - TInt presetId( MpSettingsManager::preset() ); - - TBool found( EFalse ); - if ( iEqualizerUtility && presetId != KEqualizerPresetNone ) - { - TArray presetArray = iEqualizerUtility->Presets(); - for ( TInt i = 0; i < presetArray.Count() && found == EFalse; i++ ) { - TX_LOG_ARGS("presetArray[" << i << "].iPresetNameKey (" - << presetArray[i].iPresetNameKey << ") vs presetId (" <( presetId ) ) { - found = ETrue; - iCurrentPresetIndex = aPresetId = i + 1; - break; - } - } - } - - if ( found == EFalse ) - { - iCurrentPresetIndex = aPresetId = KEqualizerPresetNone; - } - - TX_EXIT -} - - -/*! - \internal - */ -TInt MpEqualizerWrapperPrivate::GetEngineIndexL( const TInt preset ) const -{ - TX_ENTRY_ARGS( "preset=" << preset ); - - TInt engineIndex = KErrNotFound; - - TPresetName presetName = iEqualizerUtility->GetPresetL( preset ); - - TArray presets = iEqualizerUtility->Presets(); - for (TInt count = 0; count < presets.Count(); count++) - { - TPresetName selectedItem = presets[count].iPresetName; - TX_LOG_ARGS(" Comparing..." << presets[count].iPresetNameKey ); - if ( selectedItem == presetName ) { - engineIndex = presets[count].iPresetNameKey; - TX_LOG_ARGS(" Comparing mached engineIndex = " << engineIndex ); - break; - } - } - - TX_EXIT - - return engineIndex; -} - -/*! - \internal - */ -void MpEqualizerWrapperPrivate::MapcInitComplete( - TInt aError, - const TTimeIntervalMicroSeconds& /* aDuration */ ) -{ - TX_ENTRY_ARGS( "aError=" << aError ); - - if ( !aError ) - { - TRAPD(err, iEqualizerUtility = CAudioEqualizerUtility::NewL( *iMdaPlayUtility ) ); - if ( err == KErrNone ) { - TInt preset(KEqualizerPresetNone); - GetPresetId( preset ); - emit q_ptr->equalizerReady(); - } - else - { - TX_ENTRY_ARGS( "CAudioEquqlizerUtility error=" << err ); - } - } - else - { - TX_ENTRY_ARGS( "MapcInitComplete error=" << aError ); - } - - TX_EXIT -} - -/*! - \internal - */ -void MpEqualizerWrapperPrivate::MapcPlayComplete( - TInt /* aError */ ) -{ - TX_LOG - // Do nothing -} - -//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp --- a/mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,20 +15,19 @@ * */ -#include -#include +#include +#include #include #include #include +#include #include #include -#include -#include #include "mpplaybackview.h" #include "mpplaybackwidget.h" -#include "mpengine.h" +#include "mpenginefactory.h" #include "mpplaybackdata.h" #include "mpsettingsmanager.h" #include "mpcommondefs.h" @@ -60,15 +59,16 @@ : mMpEngine( 0 ), mPlaybackData( 0 ), mPlaybackWidget( 0 ), - mEqualizerWidget( new MpEqualizerWidget() ), - mNavigationBack( 0 ), + mEqualizerWidget( 0 ), + mSoftKeyBack( 0 ), mActivated( false ), mPlayIcon( 0 ), mPauseIcon( 0 ), mShuffleOnIcon( 0 ), mShuffleOffIcon( 0 ), - mMpTranslator( 0 ), - mCommonTranslator( 0 ) + mTimer(0), + mSeeking(false) + { TX_LOG } @@ -79,14 +79,12 @@ MpPlaybackView::~MpPlaybackView() { TX_ENTRY - delete mNavigationBack; + delete mSoftKeyBack; delete mPlayIcon; delete mPauseIcon; delete mShuffleOnIcon; delete mShuffleOffIcon; delete mEqualizerWidget; - delete mMpTranslator; - delete mCommonTranslator; TX_EXIT } @@ -98,49 +96,38 @@ { TX_ENTRY - //Load musicplayer and common translators - QString lang = QLocale::system().name(); - QString path = QString( "z:/resource/qt/translations/" ); - bool translatorLoaded = false; - - mMpTranslator = new QTranslator( this ); - translatorLoaded = mMpTranslator->load( path + "musicplayer_" + lang ); - TX_LOG_ARGS( "Loading translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mMpTranslator ); - } - - mCommonTranslator = new QTranslator( this ); - translatorLoaded = mCommonTranslator->load( path + "common_" + lang ); - TX_LOG_ARGS( "Loading common translator ok=" << translatorLoaded ); - if ( translatorLoaded ) { - qApp->installTranslator( mCommonTranslator ); - } - mWindow = mainWindow(); - mNavigationBack = new HbAction( Hb::BackNaviAction, this ); - connect( mNavigationBack, SIGNAL( triggered() ), this, SLOT( back() ) ); + mSoftKeyBack = new HbAction( Hb::BackNaviAction, this ); + connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) ); - mMpEngine = MpEngine::instance(); + mMpEngine = MpEngineFactory::sharedEngine(); mPlaybackData = mMpEngine->playbackData(); connect( mPlaybackData, SIGNAL( playbackStateChanged() ), this, SLOT( playbackStateChanged() ) ); mPlaybackWidget = new MpPlaybackWidget( mPlaybackData ); connect( mPlaybackWidget, SIGNAL( setPlaybackPosition( int ) ), mMpEngine, SLOT( setPosition( int ) ) ); - + //repeat should not be displayed on fetcher or embedded. + mRepeat = mViewMode == MpCommon::DefaultView ? MpSettingsManager::repeat() : false; + mPlaybackWidget->repeatChanged( mRepeat ); setWidget( mPlaybackWidget ); setupMenu(); setupToolbar(); - - mEqualizerWidget->prepareDialog(); - - // Observe changes in settings. - connect( MpSettingsManager::instance(), SIGNAL( shuffleChanged( bool ) ), - this, SLOT( shuffleChanged( bool ) ) ); - connect( MpSettingsManager::instance(), SIGNAL( repeatChanged( bool ) ), - this, SLOT( repeatChanged( bool ) ) ); + + //Connect FF and RW buttons when view (toolbar) is ready + connect ( mWindow, SIGNAL( viewReady() ), this, SLOT( connectButtons() ) ); + + if ( mViewMode == MpCommon::DefaultView ) { + mEqualizerWidget = new MpEqualizerWidget(); + mEqualizerWidget->prepareDialog(); + // Observe changes in settings. + connect( MpSettingsManager::instance(), SIGNAL( shuffleChanged( bool ) ), + this, SLOT( shuffleChanged( bool ) ) ); + connect( MpSettingsManager::instance(), SIGNAL( repeatChanged( bool ) ), + this, SLOT( repeatChanged( bool ) ) ); + connect( mMpEngine, SIGNAL( libraryUpdated() ), this, SLOT( closeEqualizerDialog() ) ); + } TX_EXIT } @@ -152,7 +139,7 @@ { TX_ENTRY mActivated = true; - setNavigationAction( mNavigationBack ); + setNavigationAction( mSoftKeyBack ); TX_EXIT } @@ -162,18 +149,64 @@ void MpPlaybackView::deactivateView() { TX_ENTRY - if ( mEqualizerWidget->isActive() ) { - mEqualizerWidget->close(); - } - menu()->close(); - setNavigationAction( 0 ); mActivated = false; TX_EXIT } /*! + Gets the current status of the view in a form of string + */ +QString MpPlaybackView::playbackStatus() +{ + TX_ENTRY + QString currentStatus; + + switch ( mPlaybackData->playbackState() ) { + case MpPlaybackData::NotPlaying: + TX_LOG_ARGS( "playbackStatus: NotPlaying" ) + currentStatus = "NotPlaying"; + break; + case MpPlaybackData::Playing: + TX_LOG_ARGS( "playbackStatus: Playing" ) + currentStatus = "Playing"; + break; + case MpPlaybackData::Paused: + TX_LOG_ARGS( "playbackStatus: Paused" ) + currentStatus ="Paused"; + break; + case MpPlaybackData::Stopped: + TX_LOG_ARGS( "playbackStatus: Stopped" ) + currentStatus = "Stopped"; + break; + default: + break; + } + TX_EXIT + return currentStatus; + +} + +/*! + Gets the current Shuffle setting value + */ +bool MpPlaybackView::shuffleEnabled() +{ + TX_ENTRY + return mShuffle; +} + +/*! + Gets the current Repeat setting value + */ +bool MpPlaybackView::repeatEnabled() +{ + TX_ENTRY + return mRepeat; +} + +/*! Slot to be called to activate settings view. */ void MpPlaybackView::startSettingsView() @@ -222,27 +255,9 @@ void MpPlaybackView::playbackStateChanged() { TX_ENTRY - switch ( mPlaybackData->playbackState() ) { - case MpPlaybackData::Playing: - TX_LOG_ARGS( "MpPlaybackData::Playing" ) - mPlayPauseAction->setIcon( *mPauseIcon ); - break; - case MpPlaybackData::Paused: - TX_LOG_ARGS( "MpPlaybackData::Paused" ) - mPlayPauseAction->setIcon( *mPlayIcon ); - break; - case MpPlaybackData::Stopped: - TX_LOG_ARGS( "MpPlaybackData::Paused" ) - if ( mViewMode == MpCommon::FetchView ) { - back(); - } - else { - // Treat it like pause in default mode - mPlayPauseAction->setIcon( *mPlayIcon ); - } - break; - default: - break; + updatePlayPauseIcon(); + if ( MpPlaybackData::Stopped == mPlaybackData->playbackState() && mViewMode == MpCommon::FetchView ) { + back(); } TX_EXIT } @@ -291,6 +306,7 @@ { mRepeat = repeat; mRepeatAction->setText( mRepeat ? hbTrId( "txt_mus_opt_repeat_off" ) : hbTrId( "txt_mus_opt_repeat_on" ) ); + mPlaybackWidget->repeatChanged( repeat ); } /*! @@ -329,9 +345,10 @@ void MpPlaybackView::setupToolbar() { TX_ENTRY - HbToolBar *toolBar = this->toolBar(); - toolBar->setOrientation( Qt::Horizontal ); - QActionGroup *actionsGroup = new QActionGroup( toolBar ); + HbToolBar *myToolBar = toolBar(); + myToolBar->setObjectName("PlaybackToolbar"); + myToolBar->setOrientation( Qt::Horizontal ); + QActionGroup *actionsGroup = new QActionGroup( myToolBar ); if ( mViewMode == MpCommon::DefaultView || mViewMode == MpCommon::EmbeddedView ) { mShuffleOnIcon = new HbIcon( "qtg_mono_shuffle" ); @@ -349,44 +366,38 @@ mShuffleAction->setEnabled( false ); } - toolBar->addAction( mShuffleAction ); + myToolBar->addAction( mShuffleAction ); HbAction *action = new HbAction( actionsGroup ); - action->setIcon( HbIcon( "qtg_mono_previous" ) ); + action->setIcon( HbIcon( "qtg_mono_seek_previous" ) ); action->setCheckable( false ); - connect( action, SIGNAL( triggered( bool ) ), - mMpEngine, SLOT( skipBackward() ) ); - toolBar->addAction( action ); - + action->setObjectName("previous"); + myToolBar->addAction( action ); + mPlayPauseAction = new HbAction( actionsGroup ); mPlayIcon = new HbIcon( "qtg_mono_play" ); mPauseIcon = new HbIcon( "qtg_mono_pause" ); - mPlayPauseAction->setIcon( *mPlayIcon ); + updatePlayPauseIcon(); mPlayPauseAction->setCheckable( false ); connect( mPlayPauseAction, SIGNAL( triggered( bool ) ), mMpEngine, SLOT( playPause() ) ); - toolBar->addAction( mPlayPauseAction ); + myToolBar->addAction( mPlayPauseAction ); action = new HbAction( actionsGroup ); - action->setIcon( HbIcon( "qtg_mono_next" ) ); + action->setIcon( HbIcon( "qtg_mono_seek_next" ) ); action->setCheckable( false ); - connect( action, SIGNAL( triggered( bool ) ), - mMpEngine, SLOT( skipForward() ) ); - toolBar->addAction( action ); + action->setObjectName("next"); + myToolBar->addAction( action ); HbIcon icon( "qtg_mono_info" ); action = new HbAction( actionsGroup ); action->setIcon( icon ); action->setCheckable( false ); - //TODO: Remove once song details takes hostUid from engine - if ( mViewMode == MpCommon::DefaultView ) { - connect( action, SIGNAL( triggered( bool ) ), - this, SLOT( flip() ) ); - } - else { - action->setEnabled( false ); - } - toolBar->addAction( action ); + + connect( action, SIGNAL( triggered( bool ) ), + this, SLOT( flip() ) ); + + myToolBar->addAction( action ); } else { // Fetch mode @@ -395,16 +406,16 @@ action->setCheckable( false ); connect( action, SIGNAL( triggered( bool ) ), this, SLOT( handleSongSelected() ) ); - toolBar->addAction( action ); + myToolBar->addAction( action ); mPlayPauseAction = new HbAction( actionsGroup ); mPlayIcon = new HbIcon( "qtg_mono_play" ); mPauseIcon = new HbIcon( "qtg_mono_pause" ); - mPlayPauseAction->setIcon( *mPlayIcon ); + updatePlayPauseIcon(); mPlayPauseAction->setCheckable( false ); connect( mPlayPauseAction, SIGNAL( triggered( bool ) ), mMpEngine, SLOT( playPause() ) ); - toolBar->addAction( mPlayPauseAction ); + myToolBar->addAction( mPlayPauseAction ); } @@ -412,6 +423,147 @@ } /*! + Updates the play pause icon on the toolbar base on playback state. + */ +void MpPlaybackView::updatePlayPauseIcon() +{ + TX_ENTRY + switch ( mPlaybackData->playbackState() ) { + case MpPlaybackData::Playing: + case MpPlaybackData::NotPlaying: + TX_LOG_ARGS( "MpPlaybackData::Playing" ) + mPlayPauseAction->setIcon( *mPauseIcon ); + break; + case MpPlaybackData::Paused: + case MpPlaybackData::Stopped: + TX_LOG_ARGS( "MpPlaybackData::Paused" ) + mPlayPauseAction->setIcon( *mPlayIcon ); + break; + + default: + break; + } + TX_EXIT +} + +/*! + start rewind long press detection + */ +void MpPlaybackView::startRewindTimer() +{ + if(mTimer){ + delete mTimer; + mTimer = 0; + } + mTimer = new QTimer(this); + mTimer->setSingleShot(true); + connect(mTimer, SIGNAL(timeout()), this, SLOT(startSeekRewind())); + mTimer->start(600); +} + +/*! + start fast forward long press detection + */ +void MpPlaybackView::startForwardTimer() +{ + if(mTimer){ + delete mTimer; + mTimer = 0; + } + mTimer = new QTimer(this); + mTimer->setSingleShot(true); + connect(mTimer, SIGNAL(timeout()), this, SLOT(startSeekForward())); + mTimer->start(600); +} + +/*! + start backward seeking + */ +void MpPlaybackView::startSeekRewind() +{ + mMpEngine->startSeekBackward(); + mSeeking = true; +} + +/*! + start forward seeking + */ +void MpPlaybackView::startSeekForward() +{ + mMpEngine->startSeekForward(); + mSeeking = true; +} + +/*! + end backward seeking or skip backward + */ +void MpPlaybackView::endRewind() +{ + if(mTimer){ + mTimer->stop(); + delete mTimer; + mTimer = 0; + } + if( mSeeking ) { + mMpEngine->stopSeeking(); + } + else { + mMpEngine->skipBackward(); + } + mSeeking = false; +} + +/*! + end forward seeking or skip forward + */ +void MpPlaybackView::endForward() +{ + if(mTimer){ + mTimer->stop(); + delete mTimer; + mTimer = 0; + } + if( mSeeking ) { + mMpEngine->stopSeeking(); + } + else { + mMpEngine->skipForward(); + } + mSeeking = false; +} + +/*! + Slot to connect seek forward and backward toolbar buttons + */ +void MpPlaybackView::connectButtons() +{ + + HbToolBar *myToolBar = toolBar(); + QGraphicsLayout *layout = myToolBar->layout(); + if( layout ) { + int count = layout->count(); + for ( int i = 0; i < count; i++ ) { + HbToolButton *button = dynamic_cast( layout->itemAt(i) ); + QString name = button->action()->objectName(); + + if ( name == "previous" ) { + connect( button, SIGNAL( pressed() ), + this, SLOT( startRewindTimer() ) ); + connect( button, SIGNAL( released() ), + this, SLOT( endRewind() ) ); + } + if ( name == "next" ) { + connect( button, SIGNAL( pressed() ), + this, SLOT( startForwardTimer() ) ); + connect( button, SIGNAL( released() ), + this, SLOT( endForward() ) ); + disconnect ( mWindow, SIGNAL( viewReady() ), this, SLOT( connectButtons() ) ); + } + } + } +} + +/*! Slot to be called to activate equalizer dialog. */ void MpPlaybackView::showEqualizerDialog() @@ -425,3 +577,17 @@ TX_EXIT } + +/*! + Slot to be called when library has been updated + */ +void MpPlaybackView::closeEqualizerDialog() +{ + TX_ENTRY + + if ( mEqualizerWidget ) { + mEqualizerWidget->close(); + } + + TX_EXIT +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/src/mpplaybackwidget.cpp --- a/mpviewplugins/mpplaybackviewplugin/src/mpplaybackwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/src/mpplaybackwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -15,7 +15,7 @@ * */ -#include +#include #include #include @@ -79,6 +79,12 @@ mSongTitle = qobject_cast(tmpWidgetPtr); tmpWidgetPtr = mDocumentLoader->findWidget(QString("albumArt")); mAlbumArt = qobject_cast(tmpWidgetPtr); + tmpWidgetPtr = mDocumentLoader->findWidget(QString("realAudio")); + mRealAudioIndicator = qobject_cast(tmpWidgetPtr); + mRealAudioIndicator->hide(); + tmpWidgetPtr = mDocumentLoader->findWidget(QString("repeatIcon")); + mRepeatIndicator = qobject_cast(tmpWidgetPtr); + tmpWidgetPtr = mDocumentLoader->findWidget(QString("progressBar")); mProgressBar = qobject_cast(tmpWidgetPtr); @@ -98,9 +104,14 @@ connect( mPlaybackData, SIGNAL(durationChanged()), this, SLOT(durationChanged()) ); connect( mPlaybackData, SIGNAL(positionChanged()), this, SLOT(positionChanged()) ); connect( mPlaybackData, SIGNAL(albumArtReady()), this, SLOT(albumArtChanged()) ); - - - + + //Update to set initial conditions if playback has already started. + if ( mPlaybackData->playbackState() != MpPlaybackData::NotPlaying ) { + playbackInfoChanged(); + durationChanged(); + positionChanged(); + albumArtChanged(); + } TX_EXIT } @@ -115,6 +126,14 @@ } /*! + Handle Repeat changed. + */ +void MpPlaybackWidget::repeatChanged( bool value ) +{ + mRepeatIndicator->setVisible( value ); +} + +/*! Slot to handle playback info changed. */ void MpPlaybackWidget::playbackInfoChanged( ) @@ -123,6 +142,8 @@ mSongTitle->setPlainText( mPlaybackData->title() ); mArtistName->setPlainText( mPlaybackData->artist() ); mAlbumName->setPlainText( mPlaybackData->album() ); + mRealAudioIndicator->setVisible( mPlaybackData->realAudio() ); + emit signalPlaybackInfoChanged(); TX_EXIT } @@ -174,7 +195,6 @@ TX_EXIT } - /*! Slot to handle slider pressed. */ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/MATTI/feature_test_folder/QTMusicPlayer_BAT_playbackview.feature --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/MATTI/feature_test_folder/QTMusicPlayer_BAT_playbackview.feature Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,114 @@ +Feature: As a test engineer I want to run BAT test cases for QT Music Player + + Scenario: Equalizer_Select a preset from list + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I Tap on Navi pane text area Music + When I select Equaliser from the Options menu + Then the Equaliser pop up is displayed + And Equaliser preset 1 is selected + When I select the Equaliser preset number 3 from the list + And I Tap on Navi pane text area Music + And I select Exit from the Options menu + Then the MusicPlayer application is not active + When the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I Tap on Navi pane text area Music + When I select Equaliser from the Options menu + Then the Equaliser preset 3 is selected + + Scenario: Repeat + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + And Repeat is set to ON + Then all songs are played and at the end it goes to the first one and stays in Playing + When I Tap on Navi pane text area Music + And I select Repeat off from the Options menu + And all songs are played and at the end it goes to the first one and stays in Paused + When the application is closed + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + And Repeat is set to OFF + + + + + + + + + + + + Scenario: Audio Effects view - Change settings and Exit + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I Tap on Navi pane text area Music + When I select Audio effects from the Options menu + Then the Audio effects pop up is displayed + And Audio effects settings are Balance 0 and Loudness Off + When I drag the slider to the Right 40 pixels + And I tap the Loudness toggle + Then Audio effects settings are Balance 25 and Loudness On + When the application is closed + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I Tap on Navi pane text area Music + When I select Audio effects from the Options menu + Then the Audio effects pop up is displayed + And Audio effects settings are Balance 25 and Loudness On + + Scenario: Playbackview options menu + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I Tap on Navi pane text area Music + Then the playback view options menu list is shown correctly + + Scenario: Now Playing View Q4- Activate shuffle- go back to Songs view and play another song - check shuffle is ON + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I set shuffle to ON + Then musicplayer plays the following songs after song 1 randomly + When I press the back button + And I select the song number 4 of the list + Then The song number 4 of the library is shown in playback view + And shuffle is set to ON + + Scenario: Now playing view H1- Shuffle OFF + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + When I set shuffle to OFF + And I wait until the song change + Then The song number 2 of the library is shown in playback view + And I wait until the song change + Then The song number 3 of the library is shown in playback view + Then the application is closed + + Scenario: Playback view control bar to FW,RW,Play-pause. + Given the MusicPlayer application is active + And I select the song number 1 of the list + Then The song number 1 of the library is shown in playback view + And the song in the playback view is Playing + When I press the button FW in the PlaybackToolbar + Then The song number 2 of the library is shown in playback view + And the song in the playback view is Playing + When I press the button RW in the PlaybackToolbar twice + Then The song number 1 of the library is shown in playback view + When I single press the button RW in the PlaybackToolbar and it is playing it starts from the beginning + When I press the button Pause in the PlaybackToolbar + Then the song in the playback view is Paused + When I press the button FW in the PlaybackToolbar + Then The song number 2 of the library is shown in playback view + Then the song in the playback view is Paused + When I press the button RW in the PlaybackToolbar + Then The song number 1 of the library is shown in playback view + Then the song in the playback view is Paused \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/MATTI/feature_test_folder/step_definitions/MusicPlayerSteps.rb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/MATTI/feature_test_folder/step_definitions/MusicPlayerSteps.rb Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,282 @@ +def mda(width,height) +a = Array.new(width) +a.map! { Array.new(height) } +return a +end + +def create_mp_constants +@Library = mda(4,3) +@Library[0] = ["Amen and Boys", "Stop It!!","Self Made Maps"] +@Library[1] = ["Emancipated Minor", "Ani Difranco","Red Letter Year"] +@Library[2] = ["Slowly", "Fauna","Dreamless"] +@Library[3] = ["Turkish March", "Daniel Bautista","Classics And Soundtracks"] + +@PlaybackToolBarOrder = {"Shuffle"=>0,"RW"=>1,"Pause"=>2,"Play"=>2,"FW"=>3,"Flip"=>4} + +@PlaybackViewOptionsMenu = {"Equaliser"=>0, "Audio effects"=>1, "Repeat off" =>2, "Exit" => 3} + +@EquiliserPresetsList = {"Off"=>0, "Bass booster"=>1, "Classical" =>2, "Jazz" => 3, "Pop"=>4 , "Rock"=> 5} + +@ShuffleOffIconConst = 'qtg_mono_shuffle_off' +@ShuffleOnIconConst = 'qtg_mono_shuffle' +@RWIconConst = 'qtg_mono_seek_previous' +@PauseIconConst = 'qtg_mono_pause' +@FWIconConst = 'qtg_mono_seek_next' +@InfoIconConst = 'qtg_mono_info' +@PlayIconConst = 'qtg_mono_play' + + +end + +require 'matti' +require 'spec/expectations' +require 'nokogiri' +require 'date' + +Before do + create_mp_constants + @sut = MATTI.sut(:Id=>'sut_s60_qt') +end + +After do + begin + @MPapp.close + rescue + end +end + +Given("the MusicPlayer application is active") do + @MPapp = @sut.run(:name => "musicplayer") +end + +Then("the MusicPlayer application is not active") do + verify_true(1, 'Music Player still running') {@sut.application.name != "musicplayer"} #Verify that the app that is in the foreground is not music player, if it is that means musicplayer is still running. +end + +When("I Tap on Navi pane text area Music") do + @MPapp.HbTitleBar.HbTitlePane.HbFrameItem.tap + @MenuContainer = @MPapp.HbMenu.HbMenuContainer +end + +When("I select the song number $element_num of the list") do |element_num| + @MPapp.HbListView(:name=>'allSongsList').HbListViewItem(:__index=>element_num.to_i-1).tap +end + +Then("The song with the title $song_title and artist $song_artist and album $song_album is shown in playback view") do |song_title, song_artist, song_album| + verify(10, "The song title is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem(:text => song_title)} + verify(10, "The song artist is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem( :text => song_artist)} + verify(10, "The song album is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem( :text => song_album)} +end + +Then("The song number $num of the library is shown in playback view") do |num| + verify(10, "The song title is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem(:text => @Library[num.to_i-1][0])} + verify(10, "The song artist is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem( :text => @Library[num.to_i-1][1])} + verify(10, "The song album is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem( :text => @Library[num.to_i-1][2])} +end + +Then ("musicplayer plays the following songs after song $num randomly") do |num| + @MPapp.MpPlaybackWidget.wait_for_signal(600, "signalPlaybackInfoChanged()") + title=@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem.attribute("Text") + artist=@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem.attribute("Text") + album=@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem.attribute("Text") + if title != @Library[num.to_i][0] or artist != @Library[num.to_i][1] or album != @Library[num.to_i][2] + else + @MPapp.MpPlaybackWidget.wait_for_signal(600, "signalPlaybackInfoChanged()") + verify_not(10, "The song title is being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem(:text => @Library[num.to_i+1][0])} + verify_not(10, "The song artist is being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem( :text => @Library[num.to_i+1][1])} + verify_not(10, "The song album is being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem( :text => @Library[num.to_i+1][2])} + end +end + +Then("the song in the playback view is $playback_status") do |playback_status| + verify(5, "The status of the playback view is not the spected"){@MPapp.MpPlaybackView(:PlaybackStatus => playback_status)} + lb_init = @MPapp.HbProgressSlider( :name => 'progressBar' ).HbTextItem(:__index => 0).attribute("Text") + sleep 5 + lb_fin = @MPapp.HbProgressSlider( :name => 'progressBar' ).HbTextItem(:__index => 0).attribute("Text") + if playback_status == 'Playing' + verify_true(1,"Time label didn't change") {lb_init != lb_fin} + end + if playback_status == 'Paused' + verify_true(1,"Time label didn't change") {lb_init == lb_fin} + end +end + +When ("I press the button $button in the PlaybackToolbar") do |button| + verify_true(5,"Icon is not correct"){@MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch(button)).HbIconItem.attribute("iconName") == getPlaybackToolbarIconName(button)} + @MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch(button)).tap +end + +When ("I sleep $number $min_sec") do |number, min_sec| + time_to_wait = 0 + if(min_sec == "seconds") + time_to_wait = number.to_i + end + if(min_sec == "minutes") + time_to_wait = number.to_i*60 + end + puts time_to_wait.to_s + sleep time_to_wait +end + +When ("I wait until the song change") do + @MPapp.MpPlaybackWidget.wait_for_signal(600, "signalPlaybackInfoChanged()") +end + +def to_true_false(param) + if param == true or param == "ON" + return "true" + end + if param == false or param == "OFF" + return "false" + end +end + +When ("I set shuffle to $on_off") do |on_off| + if @MPapp.MpPlaybackView.attribute("Shuffle") != to_true_false(on_off) + @MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("Shuffle")).tap + end + verify_true(2,"Shuffle is not the expected value"){@MPapp.MpPlaybackView.attribute("Shuffle") == to_true_false(on_off)} + if on_off == "ON" + verify_true(5,"Shuffle icon is not correct"){@MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("Shuffle")).HbIconItem.attribute("iconName") == @ShuffleOnIconConst} + end + if on_off == "OFF" + verify_true(5,"Shuffle icon is not correct"){@MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("Shuffle")).HbIconItem.attribute("iconName") == @ShuffleOffIconConst} + end + +end + +When("shuffle is set to $on_off") do |on_off| + verify_true(3,"Shuffle is not the expected value"){@MPapp.MpPlaybackView.attribute("Shuffle") == to_true_false(on_off)} + if on_off == "ON" + verify_true(5,"Shuffle icon is not correct"){@MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("Shuffle")).HbIconItem.attribute("iconName") == @ShuffleOnIconConst} + end + if on_off == "OFF" + verify_true(5,"Shuffle icon is not correct"){@MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("Shuffle")).HbIconItem.attribute("iconName") == @ShuffleOffIconConst} + end +end + +When ("I press the button $button in the PlaybackToolbar twice") do |button| + @MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch(button)).tap(2) +end + +When("I press the back button") do + @MPapp.HbTitleBar.HbNavigationButton.tap +end + +When ("I single press the button RW in the PlaybackToolbar and it is playing it starts from the beginning") do + lb_init = @MPapp.HbProgressSlider( :name => 'progressBar' ).HbTextItem(:__index => 0).attribute("Text") + @MPapp.HbToolBar( :name => 'PlaybackToolbar' ).HbToolButton(:__index => @PlaybackToolBarOrder.fetch("RW")).tap + lb_fin = @MPapp.HbProgressSlider( :name => 'progressBar' ).HbTextItem(:__index => 0).attribute("Text") + verify_true(1,"It didn't start from the beginning"){lb_init > lb_fin} +end + +When("I select $item from the Options menu") do |item| + @MenuContainer.HbMenuItem(:__index=> @PlaybackViewOptionsMenu.fetch(item)).tap +end + +Then ("the playback view options menu list is shown correctly") do + i = 0 + while i < @PlaybackViewOptionsMenu.length do + verify_true(2,"Menu item is incorrect"){@MenuContainer.HbMenuItem(:__index=> i).HbTextItem.attribute("Text") == @PlaybackViewOptionsMenu.index(i)} + i = i +1 + end + + # @PlaybackViewOptionsMenu.each{|key, value| verify_true(2,"Menu item is incorrect"){@MenuContainer.HbMenuItem(:__index=> value).HbTextItem.attribute("Text") == key} } +end + +Then ("the Equaliser pop up is displayed") do + verify(3, "Equiliser pop up is not displayed"){@MPapp.MpEqualizerWidget} + i = 0 + while i < @EquiliserPresetsList.length do + puts i.to_s + puts @MPapp.MpEqualizerWidget.HbRadioButtonList.HbListViewItem(:__index=> i).HbTextItem.attribute("Text") + puts @EquiliserPresetsList.index(i) + verify_true(2,"Menu item is incorrect"){@MPapp.MpEqualizerWidget.HbRadioButtonList.HbListViewItem(:__index=> i).HbTextItem.attribute("Text") == @EquiliserPresetsList.index(i)} + i = i+1 + end +end + +Then ("Equaliser preset $num is selected") do |num| + + verify_true(3, "Item is not selected"){@MPapp.MpEqualizerWidget.HbRadioButtonList.HbListViewItem(:__index=> num.to_i-1).HbIconItem.attribute("iconName") == "qtg_small_radio_selected"} +end + +When ("I select the Equaliser preset number $num from the list") do |num| + @MPapp.MpEqualizerWidget.HbRadioButtonList.HbListViewItem(:__index=>num.to_i - 1).tap + @MPapp.MpEqualizerWidget.HbToolBar.HbTextItem( :text => 'OK' ).tap +end + +Then ("the Audio effects pop up is displayed") do + verify(3, "Audio effects pop up is not displayed"){@MPapp.MpSettingsAudioEffectsWidget} + verify(3, "Balance slider is not present") {@MPapp.MpSettingsAudioEffectsWidget.HbSlider} + verify(3, "Loudness toggle is not present"){@MPapp.MpSettingsAudioEffectsWidget.HbToggleItem} +end + +Then ("Audio effects settings are Balance $balance_value and Loudness $loudness_value") do |balance_value, loudness_value| + verify_true(3,"Balance value is not the expected"){@MPapp.MpSettingsAudioEffectsWidget.HbSlider.attribute("sliderPosition").to_i == balance_value.to_i} + verify_true(3,"Loudness value is not the expected"){@MPapp.MpSettingsAudioEffectsWidget.HbToggleItem.attribute("Text") == loudness_value} +end + +When("I drag the slider to the $dir $num_pix pixels") do |dir, num_pix| + @MPapp.MpSettingsAudioEffectsWidget.HbSliderHandle.drag(to_direction(dir), num_pix, :Left) +end + +When("the application is closed") do + @MPapp.close +end + +When("I tap the Loudness toggle") do + @MPapp.MpSettingsAudioEffectsWidget.HbToggleItem.tap +end + +When("Repeat is set to $on_off") do |on_off| + verify_true(3,"Repeat is not the expected value"){@MPapp.MpPlaybackView.attribute("Repeat") == to_true_false(on_off)} +end + +Then ("all songs are played and at the end it goes to the first one and stays in $playback_status") do |playback_status| + i = 0 + while i < @Library.length do + verify(10, "The song title is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem(:text => @Library[i][0])} + verify(10, "The song artist is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem( :text => @Library[i][1])} + verify(10, "The song album is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem( :text => @Library[i][2])} + + @MPapp.MpPlaybackWidget.wait_for_signal(720, "signalPlaybackInfoChanged()") + i = i+1 + end + verify(10, "The song title is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'songText').HbTextItem(:text => @Library[0][0])} + verify(10, "The song artist is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'artistText').HbTextItem( :text => @Library[0][1])} + verify(10, "The song album is not being displayed") {@MPapp.HbLabel(:visibleOnScreen => 'true', :name => 'albumText').HbTextItem( :text => @Library[0][2])} + verify_true(5, "The status of the playback view is not the spected"){@MPapp.MpPlaybackView.attribute("PlaybackStatus") == playback_status or @MPapp.MpPlaybackView.attribute("PlaybackStatus") == "Stopped"} +end + +def to_direction(string) + case string + when "Right" + return :Right + when "Left" + return :Left + when "Up" + return :Up + when "Down" + return :Down + end +end + +def getPlaybackToolbarIconName(button) + case button + when "RW" + return @RWIconConst + when "Pause" + return @PauseIconConst + when "FW" + return @FWIconConst + when "Info" + return @InfoIconConst + when "Play" + return @PlayIconConst + end + +end + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpequalizerwidget \ + unittest_mpplaybackviewplugin + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/inc/unittest_mpequalizerwidget.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/inc/unittest_mpequalizerwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/inc/unittest_mpequalizerwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ -/** -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +/* +* Copyright (c) 2010 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" @@ -11,7 +11,7 @@ * * Contributors: * -* Description: Unit test for mpnowplayingbackend +* Description: Unit test for mpequalizerwidget * */ @@ -20,6 +20,7 @@ #include +class QTranslator; class MpEqualizerWidget; class TestMpEqualizerWidget: public QObject @@ -42,14 +43,15 @@ private slots: void testInitialize(); void testPrepareDialog(); - void testEqualizerReady(); void testPresetSelected(); void testCancelSelected(); void testOkSelected(); + void testGetLocalizedString(); private: MpEqualizerWidget *mTest; + QTranslator *mMpTranslator; // Own }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ -/** -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +/* +* Copyright (c) 2010 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" @@ -17,11 +17,10 @@ #include #include -#include -#include #include +#include +#include -#include "stub/inc/mpequalizerwrapper.h" #include "unittest_mpequalizerwidget.h" // Do this so we can access all member variables. @@ -39,29 +38,32 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; - + QApplication app(argc, argv); TestMpEqualizerWidget tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpequalizerwidget.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpequalizerwidget.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpEqualizerWidget::TestMpEqualizerWidget() - : mTest(0) + : mTest(0), + mMpTranslator(0) { } TestMpEqualizerWidget::~TestMpEqualizerWidget() { delete mTest; + delete mMpTranslator; } /*! @@ -69,7 +71,15 @@ */ void TestMpEqualizerWidget::initTestCase() { - + QString lang = QLocale::system().name(); + QString path = QString("z:/resource/qt/translations/"); + bool translatorLoaded = false; + + mMpTranslator = new QTranslator(this); + translatorLoaded = mMpTranslator->load(path + "musicplayer_" + lang); + if ( translatorLoaded ) { + qApp->installTranslator(mMpTranslator); + } } /*! @@ -84,6 +94,7 @@ */ void TestMpEqualizerWidget::init() { + MpEngineFactory::createSharedEngine(); mTest = new MpEqualizerWidget(); } @@ -94,6 +105,7 @@ { delete mTest; mTest = 0; + MpEngineFactory::close(); } /*! @@ -101,7 +113,7 @@ */ void TestMpEqualizerWidget::testInitialize() { - QVERIFY(mTest->mEqualizerWrapper != 0 ); + QVERIFY(mTest->mMpEngine != 0 ); } /*! @@ -109,7 +121,6 @@ */ void TestMpEqualizerWidget::testPrepareDialog() { - //With Equalizer not ready mTest->prepareDialog(); QVERIFY(mTest->mOriginalPreset == -1 ); QVERIFY(mTest->timeout() == HbDialog::NoTimeout); @@ -117,27 +128,16 @@ QVERIFY(mTest->frameType() == HbPopup::Strong); QVERIFY(mTest->headingWidget() != 0); QVERIFY(mTest->actions().count() != 0); - QVERIFY(mTest->contentWidget() == 0); - - - //With Equalizer ready - cleanup(); - init(); - mTest->equalizerReady(); - mTest->prepareDialog(); QVERIFY(mTest->mPresetsList != 0); QCOMPARE(qobject_cast(mTest->contentWidget()), mTest->mPresetsList); QVERIFY(mTest->mPresetsList->selected() == 0); -} - -/*! - Tests equalizerReady. - */ -void TestMpEqualizerWidget::testEqualizerReady() -{ - mTest->equalizerReady(); - - QVERIFY(mTest->mEqualizerReady); + QCOMPARE(mTest->mPresetsList->items().at(0), hbTrId("txt_mus_list_off")); + QCOMPARE(mTest->mPresetsList->items().at(1), hbTrId("txt_mus_list_bass_booster")); + QCOMPARE(mTest->mPresetsList->items().at(2), hbTrId("txt_mus_list_classical")); + QCOMPARE(mTest->mPresetsList->items().at(3), hbTrId("txt_mus_list_jazz")); + QCOMPARE(mTest->mPresetsList->items().at(4), hbTrId("txt_mus_list_pop")); + QCOMPARE(mTest->mPresetsList->items().at(5), hbTrId("txt_mus_list_rock")); + QCOMPARE(mTest->mPresetsList->items().at(6), QString("New Preset")); } /*! @@ -147,11 +147,11 @@ { //Off preset must call DisableEqualizer mTest->presetSelected(0); - QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1); + QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1); //Any other preset must be applied mTest->presetSelected(3); - QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1); + QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1); } /*! @@ -159,32 +159,31 @@ */ void TestMpEqualizerWidget::testCancelSelected() { - mTest->equalizerReady(); mTest->prepareDialog(); //Cancel, when Current preset selected != Original Preset //When Original Preset == -1 "Off" - mTest->mEqualizerWrapper->mActivePreset = 4; + mTest->mMpEngine->mActivePreset = 4; mTest->mOriginalPreset = -1; mTest->cancelSelected(true); - QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1); - QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset); + QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1); + QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset); //When Original Preset != -1 "Any other different than Off" - mTest->mEqualizerWrapper->mActivePreset = 4; + mTest->mMpEngine->mActivePreset = 4; mTest->mOriginalPreset = 2; mTest->cancelSelected(true); - QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1); - QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset); + QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1); + QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset); //Cancel, when Current preset selected == Original Preset - mTest->mEqualizerWrapper->mActivePreset = 3; + mTest->mMpEngine->mActivePreset = 3; mTest->mOriginalPreset = 3; mTest->cancelSelected(true); - QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1); - QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1); - QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset); + QVERIFY(mTest->mMpEngine->mApplyPresetCount == 1); + QVERIFY(mTest->mMpEngine->mDisableEquqlizerCount == 1); + QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset); } /*! @@ -192,12 +191,42 @@ */ void TestMpEqualizerWidget::testOkSelected() { - mTest->equalizerReady(); - - mTest->mEqualizerWrapper->mActivePreset = 2; + mTest->mMpEngine->mActivePreset = 2; mTest->mOriginalPreset = -1; mTest->okSelected(true); - QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset); + QCOMPARE(mTest->mMpEngine->mActivePreset, mTest->mOriginalPreset); +} + +/*! + Tests getLogicalName. + */ +void TestMpEqualizerWidget::testGetLocalizedString() +{ + QString localizedString; + + // test Bass Booster + localizedString = mTest->getLocalizedString( QString("Bass Booster") ); + QCOMPARE(localizedString, hbTrId("txt_mus_list_bass_booster")); + + // test Classic + localizedString = mTest->getLocalizedString( QString("Classic") ); + QCOMPARE(localizedString, hbTrId("txt_mus_list_classical")); + + // test Jazz + localizedString = mTest->getLocalizedString( QString("Jazz") ); + QCOMPARE(localizedString, hbTrId("txt_mus_list_jazz")); + + // test Pop + localizedString = mTest->getLocalizedString( QString("Pop") ); + QCOMPARE(localizedString, hbTrId("txt_mus_list_pop")); + + // test Rock + localizedString = mTest->getLocalizedString( QString("Rock") ); + QCOMPARE(localizedString, hbTrId("txt_mus_list_rock")); + + // test new preset + localizedString = mTest->getLocalizedString( QString("New Preset") ); + QVERIFY(localizedString.isEmpty()); } // End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpengine.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,75 @@ +/* +* 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: Music Player engine. +* +*/ + +#ifndef MPENGINE_H +#define MPENGINE_H + +#include +#include +//#include "mpmpxcollectionviewdefs.h" +//#include "mpmpxcommondefs.h" +//#include "mpcommondefs.h" + +//class MpMpxCollectionData; +//class MpPlaybackData; +//class MpSongData; +//class XQSharableFile; +class MpEngine : public QObject +{ + Q_OBJECT + + friend class MpEngineFactory; + +public: + enum EngineMode{ + StandAlone, + Fetch, + Embedded, + MediaBrowsing + }; + +private: + explicit MpEngine(); + +public: + + virtual ~MpEngine(); + + // Equalizer related + void applyPreset( int preset ); + void disableEqualizer(); + int activePreset(); + QStringList presetNames(); + +signals: + + // Equalizer related + void errorOccured( int error ); + void equalizerReady(); + +private: + + Q_DISABLE_COPY( MpEngine ) + +public: + int mActivePreset; + int mApplyPresetCount; + int mDisableEquqlizerCount; + +}; + +#endif // MPENGINE_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpenginefactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpenginefactory.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,44 @@ +/* +* 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: Music Player engine. +* +*/ + +#ifndef MPENGINEFACTORY_H +#define MPENGINEFACTORY_H + +#include + +#include "mpengine.h" +#include "mpcommondefs.h" + + +class MpEngineFactory +{ +private: + explicit MpEngineFactory(); + +public: + virtual ~MpEngineFactory(); + static MpEngineFactory * instance(); + + static MpEngine *createSharedEngine( TUid uid = TUid::Uid( MpCommon::KMusicPlayerUid ), MpEngine::EngineMode mode = MpEngine::StandAlone ); + static MpEngine *sharedEngine(); + static void close(); + +private: + MpEngine *mSharedEngine; +}; + +#endif // MPENGINEFACTORY_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpequalizerwrapper.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpequalizerwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +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: Wrapper for equalizer utility -* -*/ - -#ifndef MPEQUALIZERWRAPPER_H -#define MPEQUALIZERWRAPPER_H - -// System includes -#include - - -/** - * Wrapper for equalizer utilities - */ -class MpEqualizerWrapper : public QObject -{ - Q_OBJECT - -public: - - MpEqualizerWrapper(QObject *parent = 0); - virtual ~MpEqualizerWrapper(); - - void applyPreset( int preset ); - void disableEqualizer(); - - int activePreset(); - - QStringList presetNames(); - -signals: - void errorOccured( int error ); - void equalizerReady(); - -public: - int mActivePreset; - int mApplyPresetCount; - int mDisableEquqlizerCount; - -private: - - }; - -#endif // MPEQUALIZERWRAPPER_H - -//End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpengine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpengine.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,78 @@ +/* +* 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: Wrapper for mpx framework utilities. +* +*/ + +#include "mpengine.h" + +#include "mptrace.h" + + +MpEngine::MpEngine() + : mActivePreset(-1), + mApplyPresetCount(0), + mDisableEquqlizerCount(0) +{ + TX_LOG_ARGS("Stub") +} + +/*! + Destructs music player engine. + */ +MpEngine::~MpEngine() +{ + TX_ENTRY_ARGS("Stub") +} + + +/*! + Apply the preset by giving preset index. The index is starting with 0 + which if the "Off". The command then relays to its private implementation. + */ +void MpEngine::applyPreset( int preset ) +{ + mApplyPresetCount++; + mActivePreset = preset; +} + +/*! + Disabling the eqaulizer. The command then relays to its private implementation. + */ +void MpEngine::disableEqualizer() +{ + mDisableEquqlizerCount++; + mActivePreset = -1; +} + +/*! + Returning currectly activated preset. The command then relays to its private + implementation. -1 will be returned if the adaptation is not ready or + no available preset. + */ +int MpEngine::activePreset() +{ + return mActivePreset; +} + +/*! + Returning the list of availale preset names. The command then relays to its + private implementation. + */ +QStringList MpEngine::presetNames() +{ + QStringList presets; + presets << "Bass Booster" << "Classic" << "Jazz" << "Pop" << "Rock" << "New Preset"; + return presets; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpenginefactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpenginefactory.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,86 @@ +/* +* 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: mp engine factory. +* +*/ + +#include "mpengine.h" +#include "mpenginefactory.h" +#include "mptrace.h" + +/*! + \class MpEngineFactory + \brief Music Player engine factory. + + MP Engine factory is responsible to create and mantain ownership of MP engines. +*/ + +/*! + Constructs music player engine factory. + */ +MpEngineFactory::MpEngineFactory() + : mSharedEngine( 0 ) +{ + TX_ENTRY_ARGS("Stub") +} + +/*! + Destructs music player engine factory. + */ +MpEngineFactory::~MpEngineFactory() +{ +} + +/*! + Returns the singleton instance of music player engine factory. + */ +MpEngineFactory * MpEngineFactory::instance() +{ + static MpEngineFactory instance; + return &instance; +} + +/*! + Returns an instance to an engine with \a hostUid, and \a mode, if the shared engine is + already created parameters are ignored. + */ +MpEngine *MpEngineFactory::createSharedEngine( TUid hostUid , MpEngine::EngineMode mode ) +{ + Q_UNUSED( hostUid ); + Q_UNUSED( mode ); + if ( !instance()->mSharedEngine ) { + instance()->mSharedEngine = new MpEngine(); + } + return instance()->mSharedEngine; +} + +/*! + Returns an instance to the current shared engine previously created with createEngine(). + */ +MpEngine *MpEngineFactory::sharedEngine() +{ + return instance()->mSharedEngine; +} + +/*! + Closes all engines created on this process. + */ +void MpEngineFactory::close() +{ + if ( instance()->mSharedEngine ) { + delete instance()->mSharedEngine; + instance()->mSharedEngine = 0; + + } +} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpequalizerwrapper.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpequalizerwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +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: Wrapper for equalizer utility. -* -*/ - -// System includes -#include "mptrace.h" - -// User includes -#include "stub/inc/mpequalizerwrapper.h" - -/*! - Constructs a new MpEqualizerWrapper with \a parent -*/ -MpEqualizerWrapper::MpEqualizerWrapper(QObject *parent) - : mActivePreset(-1), - mApplyPresetCount(0), - mDisableEquqlizerCount(0) -{ - Q_UNUSED(parent); - TX_ENTRY - TX_LOG_ARGS( "Stub wrapper" ); - TX_EXIT -} - -/*! - Destructs the class and its private imaplementation. - - \sa MpEqualizerWrapperPrivate - */ -MpEqualizerWrapper::~MpEqualizerWrapper() -{ - TX_ENTRY - TX_LOG_ARGS( "Stub wrapper" ); - TX_EXIT -} - -/*! - Apply the preset by giving preset index. The index is starting with 0 - which if the "Off". The command then relays to its private implementation. - - \sa MpEqualizerWrapperPrivate - */ -void MpEqualizerWrapper::applyPreset( int preset ) -{ - mApplyPresetCount++; - mActivePreset = preset; -} - -/*! - Disabling the eqaulizer. The command then relays to its private implementation. - - \sa MpEqualizerWrapperPrivate - */ -void MpEqualizerWrapper::disableEqualizer() -{ - mDisableEquqlizerCount++; - mActivePreset = -1; -} - -/*! - Returning currectly activated preset. The command then relays to its private - implementation. -1 will be returned if the adaptation is not ready or - no available preset. - - \sa MpEqualizerWrapperPrivate - */ -int MpEqualizerWrapper::activePreset() -{ - return mActivePreset; -} - -/*! - Returning the list of availale preset names. The command then relays to its - private implementation. - - \sa MpEqualizerWrapperPrivate - */ -QStringList MpEqualizerWrapper::presetNames() -{ - QStringList presets; - presets << "Bass Booster" << "Classic" << "Jazz" << "Pop" << "Rock" ; - return presets; -} - - //End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/unittest_mpequalizerwidget.pro --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/unittest_mpequalizerwidget.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/unittest_mpequalizerwidget.pro Thu Jul 22 16:32:33 2010 +0100 @@ -1,19 +1,27 @@ +# # 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: Unit test for mpequalizerwidget +# +# Description: +# + TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = +CONFIG += qtestlib hb +CONFIG += symbian_test +TARGET = unittest_mpequalizerwidget +TARGET.CAPABILITY = CAP_APPLICATION + DEPENDPATH += . -INCLUDEPATH += . \ +INCLUDEPATH += ./stub/inc \ ../../inc \ ../../../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE @@ -22,10 +30,12 @@ symbian: TARGET.EPOCALLOWDLLDATA = 1 -HEADERS += stub/inc/mpequalizerwrapper.h \ +HEADERS += stub/inc/mpengine.h \ + stub/inc/mpenginefactory.h \ inc/unittest_mpequalizerwidget.h \ ../../inc/mpequalizerwidget.h -SOURCES += stub/src/mpequalizerwrapper.cpp \ +SOURCES += stub/src/mpengine.cpp \ + stub/src/mpenginefactory.cpp \ src/unittest_mpequalizerwidget.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/inc/unittest_mpequalizerwrapper.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/inc/unittest_mpequalizerwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +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: Unit test for mpequalizerwrapper -* -*/ - -#ifndef TESTMPEQUALIZERWRAPPER_H -#define TESTMPEQUALIZERWRAPPER_H - -#include - -class MpEqualizerWrapper; -class MpEqualizerWrapperPrivate; - -class TestMpEqualizerWrapper: public QObject -{ - Q_OBJECT - -public: - TestMpEqualizerWrapper(); - virtual ~TestMpEqualizerWrapper(); - -signals: - -public slots: - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void testConstructor(); - void testMapcInitComplete(); - void testGetPresetId(); - void testGetEngineIndexL(); - void testApplyPreset(); - void testActivePreset(); - void testDisableEqualizer(); - void testPresetNames(); - -private: - - MpEqualizerWrapper *mTest; - MpEqualizerWrapperPrivate *mTestPrivate; - - QObject *qObject; - -}; - -#endif // TESTMPEQUALIZERWRAPPER_H - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/src/unittest_mpequalizerwrapper.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/src/unittest_mpequalizerwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,231 +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: Unit test for mpequalizerwrapper -* -*/ - -#include -#include -#include -#include -#include -#include - -#include "unittest_mpequalizerwrapper.h" -#include "stub/inc/mpxuser.h" -#include "stub/inc/mpxplaybackutility.h" -#include "stub/inc/audioequalizerutility.h" -#include "mpsettingsmanager.h" - -// Do this so we can access all member variables. -#define private public -#include "mpequalizerwrapper.h" -#include "mpequalizerwrapper_p.h" -#undef private - -//This so we can test private functions -#include "mpequalizerwrapper_p.cpp" - -// Predifined values -//sa stub/inc/audioequalizerutility.cpp for Predifined Values -//PresetName PresetEngineId PresetId (Ui) -// Off -1 -1 -// Bass 0x0A 1 -// Classical 0x0B 2 -// Pop 0x0C 3 -// Jazz 0x0D 4 -// Rock 0x0E 5 - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpEqualizerWrapper tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpequalizerwrapper.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpEqualizerWrapper::TestMpEqualizerWrapper() -{ -} - -TestMpEqualizerWrapper::~TestMpEqualizerWrapper() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpEqualizerWrapper::initTestCase() -{ - -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpEqualizerWrapper::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpEqualizerWrapper::init() -{ - mTest = new MpEqualizerWrapper(); - mTestPrivate = mTest->d_ptr; -} - -/*! - Called after every testfunction. - */ -void TestMpEqualizerWrapper::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - Tests constructor and DoInit(). - */ -void TestMpEqualizerWrapper::testConstructor() -{ - QVERIFY(mTestPrivate->iMpxPlaybackUtility != 0); - QVERIFY(mTestPrivate->iMdaPlayUtility != 0); -} - -/*! - Tests MapcInitComplete. - */ -void TestMpEqualizerWrapper::testMapcInitComplete() -{ - QSignalSpy spyEqualizerReady(mTest, SIGNAL(equalizerReady())); - - mTestPrivate->MapcInitComplete(KErrNone, 0); - - QVERIFY(mTestPrivate->iEqualizerUtility != 0); - QCOMPARE(spyEqualizerReady.count(), 1); -} - -/*! - Tests getPresetId - */ -void TestMpEqualizerWrapper::testGetPresetId() -{ - TInt presetId(0); - mTestPrivate->MapcInitComplete(KErrNone, 0); - - //When a valid preset is currently set - MpSettingsManager::setPreset(0x0A); - QTest::qWait(250); - - mTestPrivate->GetPresetId(presetId); - QCOMPARE(mTestPrivate->iCurrentPresetIndex, presetId); - QVERIFY(presetId == 1); - - //When there is no any preset set - MpSettingsManager::setPreset(KEqualizerPresetNone); - QTest::qWait(250); - - mTestPrivate->GetPresetId(presetId); - QCOMPARE(mTestPrivate->iCurrentPresetIndex, presetId); - QVERIFY(presetId == KEqualizerPresetNone); -} - -/*! - Tests GetEngineIndexL. - */ -void TestMpEqualizerWrapper::testGetEngineIndexL() -{ - mTestPrivate->MapcInitComplete(KErrNone, 0); - - QVERIFY(mTestPrivate->GetEngineIndexL(2) == 0x0C); -} - -/*! - Tests activePreset. - */ -void TestMpEqualizerWrapper::testActivePreset() -{ - MpSettingsManager::setPreset(0x0A); - mTestPrivate->MapcInitComplete(KErrNone, 0); - - QCOMPARE(mTest->activePreset(), mTestPrivate->iCurrentPresetIndex ); -} - -/*! - Tests applyPreset and HandlePresetActivation. - */ -void TestMpEqualizerWrapper::testApplyPreset() -{ - int presetId(2); - - mTestPrivate->MapcInitComplete(KErrNone, 0); - mTest->applyPreset(presetId); - QTest::qWait(250); - - QVERIFY(mTestPrivate->iMpxPlaybackUtility->commandSent); - QVERIFY(MpSettingsManager::preset() == 0x0B); - - QCOMPARE(mTestPrivate->iCurrentPresetIndex, presetId); -} - -/*! - Tests disableEqualizer and HandlePresetActivation. - */ -void TestMpEqualizerWrapper::testDisableEqualizer() -{ - MpSettingsManager::setPreset(0x0A); //Set any preset different than KEqualizerPresetNone - - mTestPrivate->MapcInitComplete(KErrNone, 0); - mTest->disableEqualizer(); - QTest::qWait(250); - - QVERIFY(mTestPrivate->iMpxPlaybackUtility->commandSent); - QVERIFY(MpSettingsManager::preset() == KEqualizerPresetNone); - - QVERIFY(mTestPrivate->iCurrentPresetIndex == KEqualizerPresetNone); -} - -/*! - Tests presetNames - */ -void TestMpEqualizerWrapper::testPresetNames() -{ - - mTestPrivate->MapcInitComplete(KErrNone, 0); - - QStringList presetNames = mTest->presetNames(); - - QVERIFY(presetNames.at(0) == "Bass"); - QVERIFY(presetNames.at(1) == "Classical"); - QVERIFY(presetNames.at(2) == "Pop"); - QVERIFY(presetNames.at(3) == "Jazz"); - QVERIFY(presetNames.at(4) == "Rock"); -} - -// End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/audioequalizerutility.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/audioequalizerutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +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: CAudioEqualizerUtility stub for testing mpmpxframeworkwrapper -* -*/ - -#ifndef CAUDIOEQUALIZERUTILITY_H -#define CAUDIOEQUALIZERUTILITY_H - -// INCLUDES -#include -#include -#include -#include -#include - -// FORWARD DECLARATIONS -class CMdaAudioPlayerUtility; -class CRepository; - - -// CLASS DECLARATION - -/** -* This is the Equalizer Utility class for managing audio equalizer presets. -* -* @lib AudioEqualizerUtility.lib -* @since 3.0 -*/ - -class CAudioEqualizerUtility : public CBase - { - public: // Constructors and destructor - - /** - * Factory function for creating the audio equalizer utility object. - * @since 3.0 - * @param aUtility A reference to a audio player utility - * @return pointer to CAudioEqualizerUtility object - */ - static CAudioEqualizerUtility* NewL(CMdaAudioPlayerUtility& aUtility); - - /** - * Destructor. - */ - virtual ~CAudioEqualizerUtility(); - - /** - * Apply the Preset Index value - * @since 3.0 - * @param aPreset Preset Value - */ - void ApplyPresetL(TInt aPreset); - - /** - * Disable the Equalizer - * @since 3.0 - */ - void DisableEqualizerL(); - - /** - * Retrieves a Preset with the given index from the Central Repository - * @since 3.0 - * @param aPresetIndex Index of the Preset in the Array - */ - const TDesC& GetPresetL(TInt aPresetIndex); - - /** - * Get all the Presets defined in the Central Repository - * @since 3.0 - * @return Array of all Presets. - */ - TArray Presets(); - - private: - - /** - * C++ default constructor. - */ - CAudioEqualizerUtility(); - - /** - * By default Symbian 2nd phase constructor is private. - */ - - /** - * Second Phase Costructor for CMdaAudioPlayerUtility - * @since 3.0 - * @param aUtility CMdaAudioPlayerUtility Referece - */ - void ConstructL(CMdaAudioPlayerUtility& aUtility); - - - /** - * Function of Updating the Preset Array for the User - * @since 3.0 - * @param aUtility MCustomInterface Referece - */ - void UpdatePresetArray(RArray& aPresetArray); - - private: // Data - - // Array for Storing the Current State of the Repository - // which has been compacted after the transaction - // with the Central Repository - RArray iPresetArray; - - }; - -#endif // CAUDIOEQUALIZERUTILITY_H -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxplaybackutility.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - - -#ifndef MMPXPLAYBACKUTILITY_H -#define MMPXPLAYBACKUTILITY_H - -#include -#include -//#include "stub/inc/mpxuser.h" - -//Forward declarations - -class MMPXPlaybackUtility -{ -public: - - // Stub functions - MMPXPlaybackUtility(); - ~MMPXPlaybackUtility(); - static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault); - void Close(); - void CommandL(TMPXPlaybackCommand aCmd, TInt aData); - -public: - TBool commandSent; - - -}; - -#endif // MMPXPLAYBACKUTILITY_H - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxuser.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxuser.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +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: mpxuser stub for testing mpmpxframeworkwrapper -* -*/ - -#ifndef MPXUSER_H -#define MPXUSER_H - -#include - -class MPXUser - { -public: // stub functions - - MPXUser(); - ~MPXUser(); - - static TInt CompleteWithDllPath(TDes& aFileName); - - }; -#endif // MPXUSER_H - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/audioequalizerutility.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/audioequalizerutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* 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: Stub Utility to Access the Equalizer Effect -* -*/ - - - -// INCLUDE FILES -#include -#include "stub/inc/audioequalizerutility.h" -#include "mptrace.h" - - -// ============================ MEMBER FUNCTIONS =============================== - -CAudioEqualizerUtility::CAudioEqualizerUtility() - { - } - - -// Destructor -CAudioEqualizerUtility::~CAudioEqualizerUtility() - { - iPresetArray.Close(); - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CAudioEqualizerUtility::ConstructL(CMdaAudioPlayerUtility& /*aUtility*/) - { - UpdatePresetArray(iPresetArray); - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CAudioEqualizerUtility* CAudioEqualizerUtility::NewL(CMdaAudioPlayerUtility& aUtility) - { - CAudioEqualizerUtility* self = new( ELeave ) CAudioEqualizerUtility; - CleanupStack::PushL( self ); - self->ConstructL(aUtility); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::ApplyPresetL() -// Applies the Preset to the Equalizer Object -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CAudioEqualizerUtility::ApplyPresetL( - TInt /*aPresetIndex*/) - { - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::GetPresetL() -// Gets the Preset from the Central Repository -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -const TDesC& CAudioEqualizerUtility::GetPresetL( - TInt aPresetIndex) - { - TX_ENTRY - - if(aPresetIndex > (iPresetArray.Count() - 1) || aPresetIndex < 0 ) - { - User::Leave(KErrArgument); - } - - return iPresetArray[aPresetIndex].iPresetName; - - TX_EXIT - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::DisablePresetL() -// Disable the Preset -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// - -void CAudioEqualizerUtility::DisableEqualizerL() -{ -} - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::Presets() -// Applies the Preset to the Equalizer Object -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -TArray CAudioEqualizerUtility::Presets() - { - return iPresetArray.Array(); - } - -// ----------------------------------------------------------------------------- -// CAudioEqualizerUtility::UpdatePresetArray(RArray& aPresetArray,const RArray &aFullPresetArray) -// Creates the Descriptor Array of Names of the predifined presets -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -void CAudioEqualizerUtility::UpdatePresetArray(RArray& aPresetArray) - { - - aPresetArray.Reset(); - - TEfAudioEqualizerUtilityPreset tempPreset1; - tempPreset1.iPresetDescriptionKey = 0x10; - tempPreset1.iPresetName = _L("Bass"); - tempPreset1.iPresetNameKey = 0x0A; - aPresetArray.Append(tempPreset1); - - TEfAudioEqualizerUtilityPreset tempPreset2; - tempPreset2.iPresetDescriptionKey = 0x20; - tempPreset2.iPresetName = _L("Classical"); - tempPreset2.iPresetNameKey = 0x0B; - aPresetArray.Append(tempPreset2); - - TEfAudioEqualizerUtilityPreset tempPreset3; - tempPreset3.iPresetDescriptionKey = 0x30; - tempPreset3.iPresetName = _L("Pop"); - tempPreset3.iPresetNameKey = 0x0C; - aPresetArray.Append(tempPreset3); - - TEfAudioEqualizerUtilityPreset tempPreset4; - tempPreset4.iPresetDescriptionKey = 0x40; - tempPreset4.iPresetName = _L("Jazz"); - tempPreset4.iPresetNameKey = 0x0D; - aPresetArray.Append(tempPreset4); - - TEfAudioEqualizerUtilityPreset tempPreset5; - tempPreset5.iPresetDescriptionKey = 0x50; - tempPreset5.iPresetName = _L("Rock"); - tempPreset5.iPresetNameKey = 0x0E; - aPresetArray.Append(tempPreset5); - } - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxplaybackutility.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - -#include - -#include -//#include - -#include "stub/inc/mpxuser.h" -#include "stub/inc/mpxplaybackutility.h" - - -/*! - Stub constructor. - */ -MMPXPlaybackUtility::MMPXPlaybackUtility() : - commandSent(EFalse) -{ - -} - -/*! - Stub destructor. - */ -MMPXPlaybackUtility::~MMPXPlaybackUtility() -{ - -} -/*! - Stub function. - */ -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& /*aModeId*/) -{ - static MMPXPlaybackUtility playbackUtilility; - return &playbackUtilility; -} - -void MMPXPlaybackUtility::Close() -{ - -} - -void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand /*aCmd*/, TInt /*aData*/) -{ - commandSent = ETrue; -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxuser.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxuser.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +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: mpxuser stub for testing mpmpxframeworkwrapper -* -*/ - -#include "stub/inc/mpxuser.h" - - -MPXUser::MPXUser() -{ - -} - -MPXUser::~MPXUser() -{ - -} - -TInt MPXUser::CompleteWithDllPath(TDes& /*aFileName*/) -{ - //Do nothing - - return KErrNone; -} - - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/unittest_mpequalizerwrapper.pro --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/unittest_mpequalizerwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +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: Unit test for mpequalizerwidget -TEMPLATE = app -CONFIG += qtestlib \ - hb \ -TARGET = -TARGET.CAPABILITY = All -TCB -DEPENDPATH += . -INCLUDEPATH += . \ - ../../inc \ - ../../../../inc -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += lestor.dll \ - -lfbscli.dll \ - -laudioequalizerutility.dll \ - -lmpsettingsmanager - -symbian: TARGET.EPOCALLOWDLLDATA = 1 - -HEADERS += stub/inc/mpxuser.h \ - stub/inc/mpxplaybackutility.h \ - stub/inc/audioequalizerutility.h \ - inc/unittest_mpequalizerwrapper.h \ - ../../inc/mpequalizerwrapper.h \ - ../../inc/mpequalizerwrapper_p.h - -SOURCES += stub/src/mpxuser.cpp \ - stub/src/mpxplaybackutility.cpp \ - stub/src/audioequalizerutility.cpp \ - src/unittest_mpequalizerwrapper.cpp \ - ../../src/mpequalizerwrapper.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/inc/unittest_mpmpxpbframeworkwrapper.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/inc/unittest_mpmpxpbframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +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: Unit test for mpmpxpbframeworkwrapper -* -*/ - -#ifndef TESTMPMPXPBFRAMEWORKWRAPPER_H -#define TESTMPMPXPBFRAMEWORKWRAPPER_H - -#include - -class MpMpxPbFrameworkWrapper; -class MpMpxPbFrameworkWrapperPrivate; -class CMPXMedia; -class MpPlaybackData; - -class TestMpMpxPbFrameworkWrapper : public QObject -{ - Q_OBJECT - -public: - - TestMpMpxPbFrameworkWrapper(); - virtual ~TestMpMpxPbFrameworkWrapper(); - //test utility functions - void loadTestData(TInt aPos); - -public slots: - - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - - void testConstructor(); - void testPlaybackData(); - void testStop(); - void testPlayPause(); - void testSkipForward(); - void testSkipBackward(); - void testSetPosition(); - void testSetShuffle(); - void testSetRepeat(); - void testHandlePlaybackMessage(); - void testHandleProperty(); - void testHandleMedia(); - void testRetrieveSongDetails(); - void testUpdateState(); - void testForceStop(); - -private: - - MpMpxPbFrameworkWrapper *mTest; - MpMpxPbFrameworkWrapperPrivate *mTestPrivate; - CMPXMedia *iMediaTestData; - -}; - -#endif // TESTMPMPXPBFRAMEWORKWRAPPER_H - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,389 +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: Unit test for mpmpxpbframeworkwrapper -* -*/ - -#include -#include -#include - -#include -#include - - - -#include "unittest_mpmpxpbframeworkwrapper.h" -#include "stub/inc/mpplaybackdata.h" -#include "stub/inc/mpxcollectionutility.h" -#include "stub/inc/mpxplaybackutility.h" - - -// Do this so we can access all member variables. -#define private public -#include "mpmpxpbframeworkwrapper.h" -#include "mpmpxpbframeworkwrapper_p.h" -#undef private - -//This so we can test private functions -#include "../../src/mpmpxpbframeworkwrapper.cpp" -#include "../../src/mpmpxpbframeworkwrapper_p.cpp" -//Test data -struct TTestAttrs - { - const wchar_t* GeneralTitle; - const wchar_t* MusicArtist; - const TInt GeneralCount; - const wchar_t* MusicAlbumArtFileName; - const wchar_t* MusicAlbum; - const wchar_t* MusicUri; - }; - -const TTestAttrs KAllSongsTestData[] = - { - { L"Title 1", L"Artist 1", 1, L"e:\\data\\images\\art1.jpg", L"Album 1", L"Uri 1"} - ,{ L"Title 2", L"Artist 2", 1, L"e:\\data\\images\\art2.jpg", L"Album 2", L"Uri 2"} - }; - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpMpxPbFrameworkWrapper tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxpbframeworkwrapper.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpMpxPbFrameworkWrapper::TestMpMpxPbFrameworkWrapper() - : mTest(0), - iMediaTestData(0) -{ -} - -TestMpMpxPbFrameworkWrapper::~TestMpMpxPbFrameworkWrapper() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpMpxPbFrameworkWrapper::initTestCase() -{ -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpMpxPbFrameworkWrapper::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpMpxPbFrameworkWrapper::init() -{ - - mTest = new MpMpxPbFrameworkWrapper(); - mTestPrivate = mTest->d_ptr; -} - -/*! - Called after every testfunction. - */ -void TestMpMpxPbFrameworkWrapper::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - Tests constructor. - */ -void TestMpMpxPbFrameworkWrapper::testConstructor() -{ - QVERIFY(mTestPrivate->iCollectionUtility != 0); - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QVERIFY(mTestPrivate->iPlaybackData != 0); -} - -/*! - Tests playbackData - */ -void TestMpMpxPbFrameworkWrapper::testPlaybackData() -{ - MpPlaybackData *playbackdata; - playbackdata = mTest->playbackData(); - QCOMPARE(mTestPrivate->iPlaybackData, playbackdata); -} - -/*! - Tests stop. - */ -void TestMpMpxPbFrameworkWrapper::testStop() -{ - mTest->stop(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdStop); -} - -/*! - Tests playPause. - */ -void TestMpMpxPbFrameworkWrapper::testPlayPause() -{ - mTest->playPause(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPlayPause); -} - -/*! - Tests skipForward. - */ -void TestMpMpxPbFrameworkWrapper::testSkipForward() -{ - mTest->skipForward(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdNext); -} - -/*! - Tests skipBackward - */ -void TestMpMpxPbFrameworkWrapper::testSkipBackward() -{ - mTest->skipBackward(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCmd, EPbCmdPrevious); -} - -/*! - Tests setPosition - */ -void TestMpMpxPbFrameworkWrapper::testSetPosition() -{ - mTest->setPosition(100); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 100); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); - mTest->setPosition(50); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 50); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); - mTest->setPosition(700); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, 700); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyPosition); -} - -/*! - Tests setShuffle - */ -void TestMpMpxPbFrameworkWrapper::testSetShuffle() -{ - mTest->setShuffle(true); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); - mTest->setShuffle(false); - QCOMPARE(mTestPrivate->iPlaybackUtility->iValue, TBool(EFalse)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRandomMode); -} - -/*! - Tests setRepeat - */ -void TestMpMpxPbFrameworkWrapper::testSetRepeat() -{ - mTest->setRepeat(true); - QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatAll); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); - mTest->setRepeat(false); - QCOMPARE(TMPXPlaybackRepeatMode(mTestPrivate->iPlaybackUtility->iValue), EPbRepeatOff); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyRepeatMode); -} - -/*! - Tests handleProperty - */ -void TestMpMpxPbFrameworkWrapper::testHandlePlaybackMessage() -{ - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMessageContentIdGeneral ); - CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array()); - CleanupStack::PopAndDestroy(&supportedIds); - CleanupStack::PushL(testMessage); - testMessage->SetTObjectValueL( KMPXMessageGeneralId, KMPXMessageGeneral); - - //Update State - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EStateChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - - //Initialize complete - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EInitializeComplete); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,1); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdPlay)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); - - //Property change - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EPropertyChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyPosition); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,50); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 50); - - testMessage->SetTObjectValueL(KMPXMessageGeneralType,EPbPropertyDuration); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,100); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); - - //Media change - testMessage->SetTObjectValueL(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged); - testMessage->SetTObjectValueL(KMPXMessageGeneralType,0); - testMessage->SetTObjectValueL(KMPXMessageGeneralData,0); - mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 5); -} - -/*! - Tests handleProperty - */ -void TestMpMpxPbFrameworkWrapper::testHandleProperty() -{ - for(TInt i = 0; i < 10; i++){ - mTestPrivate->HandlePropertyL(EPbPropertyPosition, i, KErrNone); - mTestPrivate->HandlePropertyL(EPbPropertyDuration, i+1, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, i); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, i+1); - } - mTestPrivate->iPlaybackData->mPosition = 100; - mTestPrivate->iPlaybackData->mDuration = 100; - mTestPrivate->HandlePropertyL(EPbPropertyPosition, 10, KErrNotFound); - mTestPrivate->HandlePropertyL(EPbPropertyDuration, 10, KErrNotFound); - - QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 100); - QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100); -} - -/*! - Tests handleMedia - */ -void TestMpMpxPbFrameworkWrapper::testHandleMedia() -{ - loadTestData(0); - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); - mTestPrivate->iPlaybackData->mMediaReady = EFalse; - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(EFalse)); - - loadTestData(1); - mTestPrivate->iPlaybackData->mMediaReady = EFalse; - mTestPrivate->HandleMediaL(*iMediaTestData, KErrNone); - QCOMPARE(mTestPrivate->iPlaybackData->mMediaReady, TBool(ETrue)); - const TDesC& title = TPtrC(reinterpret_cast(KAllSongsTestData[1].GeneralTitle)); - QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( title.Ptr(), title.Length() )); - const TDesC& artist = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicArtist)); - QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString::fromUtf16( artist.Ptr(), artist.Length() )); - const TDesC& album = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbum)); - QCOMPARE(mTestPrivate->iPlaybackData->album(), QString::fromUtf16( album.Ptr(), album.Length() )); - const TDesC& albumArt = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicAlbumArtFileName)); - QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( albumArt.Ptr(), albumArt.Length() )); - const TDesC& albumUri = TPtrC(reinterpret_cast(KAllSongsTestData[1].MusicUri)); - QCOMPARE(mTestPrivate->iPlaybackData->currentUri, QString::fromUtf16( albumUri.Ptr(), albumUri.Length() )); -} - -/*! - Tests retrieveSong - */ -void TestMpMpxPbFrameworkWrapper::testRetrieveSongDetails() -{ - mTestPrivate->RetrieveSongDetailsL(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iAttrs->Count(), 5); -} - -/*! - Tests updateState - */ -void TestMpMpxPbFrameworkWrapper::testUpdateState() -{ - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - mTestPrivate->iPlaybackUtility->iState = EPbStatePaused; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Paused); - mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing); - mTestPrivate->iPlaybackUtility->iState = EPbStateStopped; - mTestPrivate->UpdateStateL(); - QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Stopped); -} - -/*! - Tests forceStop - */ -void TestMpMpxPbFrameworkWrapper::testForceStop() -{ - mTestPrivate->ForceStopL(); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralType),TInt(EPbCmdStop)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandGeneralDoSync),TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue)); - QVERIFY(mTestPrivate->iPlaybackUtility->iObs == 0); -} - -/*! - Used to load test data - */ -void TestMpMpxPbFrameworkWrapper::loadTestData(TInt aPos) -{ - if(iMediaTestData){ - delete iMediaTestData; - iMediaTestData=0; - } - RArray supportedIds; - CleanupClosePushL( supportedIds ); - supportedIds.AppendL( KMPXMediaIdMusic ); - supportedIds.AppendL( KMPXMediaIdGeneral ); - CMPXMedia* entries = CMPXMedia::NewL(supportedIds.Array()); - CleanupStack::PopAndDestroy(&supportedIds); - CleanupStack::PushL(entries); - - entries->SetTextValueL(KMPXMediaGeneralTitle, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].GeneralTitle))); - entries->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicArtist))); - entries->SetTObjectValueL(KMPXMediaGeneralCount, KAllSongsTestData[aPos].GeneralCount); - entries->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbumArtFileName))); - entries->SetTextValueL(KMPXMediaMusicAlbum, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicAlbum))); - entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast(KAllSongsTestData[aPos].MusicUri))); - - iMediaTestData = CMPXMedia::NewL(*entries); - CleanupStack::PopAndDestroy(entries); -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpplaybackdata.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpplaybackdata.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +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: Playback Data stub for testing mpmpxpbframeworkwrapper -* -*/ - -#ifndef MPPLAYBACKDATA_H -#define MPPLAYBACKDATA_H - -#include -#include - - -//class declaration -class MpPlaybackData : public QObject -{ - Q_OBJECT - -public: - enum SimplifiedPlaybackState { - Playing, - Paused, - Stopped - }; - - explicit MpPlaybackData(); - virtual ~MpPlaybackData(); - - void setDuration( int duration); - void setPosition( int position); - bool setTitle( const QString& title); - bool setAlbum( const QString& album); - bool setArtist( const QString& artist); - void setAlbumArtUri( const QString& albumArtUri); - void setUri( const QString& aUri); - void setPlaybackState(const SimplifiedPlaybackState state ); - int duration() const; - int position() const; - const QString& title() const; - const QString& album() const; - const QString& artist() const; - MpPlaybackData::SimplifiedPlaybackState playbackState(); - void commitPlaybackInfo(); - void handleMediaReady(); - - -public: - int mDuration; - int mPosition; - QString mTitle; - QString mAlbum; - QString mArtist; - SimplifiedPlaybackState mPlaybackState; - QString currentAAUri; - QString currentUri; - TBool mMediaReady; - - Q_DISABLE_COPY(MpPlaybackData) -}; - -#endif // MPPLAYBACKDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxcollectionutility.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxcollectionutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* -* 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 -* -*/ - - -#ifndef MMPXCOLLECTIONUTILITY_H -#define MMPXCOLLECTIONUTILITY_H - -#include -#include -#include -#include -#include -#include - -#include - - -//Forward declarations -class CMPXCollectionPath; - -class MMPXCollection -{ -public: - - // Stub functions interface - virtual void CommandL(CMPXCommand& aCmd) = 0; - -}; - -class MMPXCollectionUtility : public MMPXCollection -{ -public: - - // Stub functions - static MMPXCollectionUtility* NewL( MMPXCollectionObserver* aObs = NULL, - const TUid& aModeId = KMcModeDefault); - MMPXCollectionUtility(); - ~MMPXCollectionUtility(); - MMPXCollection& Collection(); - TUid CollectionIDL(const TArray& aUids); - void Close(); - - void CommandL(CMPXCommand& aCmd); - -public: - - CMPXCommand *iCmd; -}; - - - - - -#endif // MMPXCOLLECTIONUTILITY_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxplaybackutility.h --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - - -#ifndef MMPXPLAYBACKUTILITY_H -#define MMPXPLAYBACKUTILITY_H - -#include -#include -#include -#include -#include - -//Forward declarations -class CMPXCollectionPlaylist; -class MMPXPlaybackObserver; -class MMPXPlaybackCallback; - -class MMPXSource -{ -public: - //MMPXSource interface for playback utility stub - virtual CMPXCollectionPlaylist* PlaylistL()=0; - virtual void MediaL(const TArray& aAttrs, - MMPXPlaybackCallback& aCallback)=0; - - -}; - -class MMPXPlaybackUtility: public MMPXSource -{ -public: - - // Stub functions - MMPXPlaybackUtility(); - ~MMPXPlaybackUtility(); - static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault); - void AddObserverL(MMPXPlaybackObserver& aObs); - void RemoveObserverL(MMPXPlaybackObserver& aObs); - void Close(); - void CommandL(TMPXPlaybackCommand aCmd,TInt aData=0); - void CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback=NULL); - MMPXSource* Source(); - void SetL(TMPXPlaybackProperty aProperty, TInt aValue); - TMPXPlaybackState StateL() const; - // Stub function from MMPXSource - CMPXCollectionPlaylist* PlaylistL(); - void MediaL(const TArray& aAttrs, - MMPXPlaybackCallback& aCallback); - - -public: - - TInt iValue; - TMPXPlaybackProperty iProperty; - MMPXPlaybackObserver* iObs; - TMPXPlaybackCommand iCmd; - CMPXCommand* iCMPXCmd; - TMPXPlaybackState iState; - RArray* iAttrs; -}; - -#endif // MMPXPLAYBACKUTILITY_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpplaybackdata.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpplaybackdata.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,222 +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: Playback Data stub for testing mpmpxframeworkwrapper -* -*/ - - -#include - -#include "stub/inc/mpplaybackdata.h" -#include "mptrace.h" - - -/*! - Stub function. -*/ -MpPlaybackData::MpPlaybackData() - : mDuration( 0 ), - mPosition( 0 ), - mTitle(""), - mAlbum(""), - mArtist("Unknown"), - mMediaReady(EFalse), - mPlaybackState(MpPlaybackData::Stopped) -{ -} - -/*! - Stub function. -*/ -MpPlaybackData::~MpPlaybackData() -{ -} - -/*! - Stub function. -*/ -int MpPlaybackData::duration() const -{ - TX_LOG - return mDuration; -} - -/*! - Stub function. -*/ -int MpPlaybackData::position() const -{ - TX_LOG - return mPosition; -} - -/*! - Stub function. -*/ -const QString& MpPlaybackData::title() const -{ - TX_LOG - return mTitle; -} - -/*! - Stub function. -*/ -const QString& MpPlaybackData::album() const -{ - TX_LOG - return mAlbum; -} - -/*! - Stub function. -*/ -const QString& MpPlaybackData::artist() const -{ - TX_LOG - return mArtist; -} - -/*! - Stub function. -*/ -MpPlaybackData::SimplifiedPlaybackState MpPlaybackData::playbackState() -{ - TX_LOG_ARGS("mPlaybackState=" << mPlaybackState) - return mPlaybackState; -} - -/*! - Stub function. -*/ -void MpPlaybackData::setDuration( int duration ) -{ - TX_ENTRY_ARGS( "duration =" << duration ) - mDuration = duration; - TX_EXIT -} - -/*! - Stub function. -*/ -void MpPlaybackData::setPosition( int position ) -{ - TX_ENTRY_ARGS( "position =" << position ) - mPosition = position; - TX_EXIT -} - -/*! - Stub function. -*/ -bool MpPlaybackData::setTitle( const QString& title ) -{ - TX_ENTRY_ARGS( "title =" << title ) - bool change = false; - if ( title != mTitle ) { - change = true; - mTitle = title; - } - TX_EXIT - return change; -} - -/*! - Stub function. -*/ -bool MpPlaybackData::setAlbum( const QString& album ) -{ - TX_ENTRY_ARGS( "album =" << album ) - bool change = false; - if ( album != mAlbum ) { - change = true; - mAlbum = album; - } - TX_EXIT - return change; -} - -/*! - Stub function. -*/ -bool MpPlaybackData::setArtist( const QString& artist ) -{ - TX_ENTRY_ARGS( "artist =" << artist ) - bool change = false; - if ( artist != mArtist ) { - change = true; - mArtist = artist; - } - TX_EXIT - return change; -} - - -/*! - Stub function. -*/ -void MpPlaybackData::setAlbumArtUri( const QString& albumArtUri) -{ - TX_ENTRY_ARGS( "albumArtUri =" << albumArtUri ) - if ( !albumArtUri.isEmpty() ) { - if ( albumArtUri != currentAAUri ) { - currentAAUri = albumArtUri; - } - } - TX_EXIT -} - -/*! - Stub function. -*/ -void MpPlaybackData::setUri( const QString& aUri) -{ - TX_ENTRY_ARGS( "aUri =" << aUri ) - if ( !aUri.isEmpty() ) { - if ( aUri != currentUri ) { - currentUri = aUri; - } - } - TX_EXIT -} - -/*! - Stub function. -*/ -void MpPlaybackData::setPlaybackState(const SimplifiedPlaybackState state ) -{ - TX_ENTRY_ARGS( "state =" << state ) - mPlaybackState = state; - TX_EXIT -} - -/*! - Stub function. -*/ -void MpPlaybackData::commitPlaybackInfo() -{ - TX_ENTRY - mMediaReady = ETrue; - TX_EXIT -} - -/*! - Stub function. -*/ -void MpPlaybackData::handleMediaReady() -{ - mMediaReady = ETrue; -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxcollectionutility.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxcollectionutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -/* -* 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 -#include -#include -#include -#include -#include -#include -#include -#include -#include "mptrace.h" -#include - -#include "stub/inc/mpxcollectionutility.h" -const TInt KMPXAllSongsViewIndex = 0; -const TInt KMPXPlaylistViewIndex = 1; - -/*! - Stub function. -*/ -MMPXCollectionUtility::MMPXCollectionUtility():iCmd(0) -{ -} - -/*! - Stub function. -*/ -MMPXCollectionUtility::~MMPXCollectionUtility() -{ -} - -/*! - 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. -*/ -TUid MMPXCollectionUtility::CollectionIDL(const TArray& aUids) -{ - Q_UNUSED(aUids); - TX_ENTRY - return TUid::Uid(EMPXCollectionPluginMusic); -} - -/*! - Stub function. -*/ -void MMPXCollectionUtility::CommandL(CMPXCommand& aCmd) -{ - delete iCmd; - iCmd = 0; - iCmd = CMPXCommand::NewL(aCmd); -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxplaybackutility.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +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: mpxplaybackutility stub for testing mpmpxframeworkwrapper -* -*/ - -#include -#include -#include - -#include "stub/inc/mpxplaybackutility.h" - -/*! - Stub function. -*/ -MMPXPlaybackUtility::MMPXPlaybackUtility():iProperty(EPbPropertyVolume), - iObs(0), - iValue(0), - iState(EPbStateNotInitialised), - iAttrs(0), - iCMPXCmd(0) -{ -} - -/*! - Stub function. -*/ -MMPXPlaybackUtility::~MMPXPlaybackUtility() -{ -} - -/*! - Stub function. - */ -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& aModeId) -{ - Q_UNUSED(aModeId); - static MMPXPlaybackUtility playbackUtilility; - return &playbackUtilility; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::AddObserverL(MMPXPlaybackObserver& aObs) -{ - iObs = &aObs; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::RemoveObserverL(MMPXPlaybackObserver& aObs) -{ - if(iObs == &aObs){ - iObs = 0; - } -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::Close() -{ -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd,TInt aData) -{ - Q_UNUSED(aData); - iCmd = aCmd; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::CommandL(CMPXCommand& aCmd, MMPXPlaybackCallback* aCallback) -{ - Q_UNUSED(aCallback); - if(iCMPXCmd){ - delete iCMPXCmd; - iCMPXCmd = 0; - } - iCMPXCmd = CMPXCommand::NewL(aCmd); -} - -/*! - Stub function. -*/ -MMPXSource* MMPXPlaybackUtility::Source() -{ - return this; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty aProperty, TInt aValue) -{ - iProperty = aProperty; - iValue = aValue; -} - -/*! - Stub function. -*/ -TMPXPlaybackState MMPXPlaybackUtility::StateL() const -{ - return iState; -} - -/*! - Stub function. -*/ -CMPXCollectionPlaylist* MMPXPlaybackUtility::PlaylistL() -{ - CMPXCollectionPlaylist* temp = CMPXCollectionPlaylist::NewL(); - return temp; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::MediaL(const TArray& aAttrs, - MMPXPlaybackCallback& aCallback) -{ - Q_UNUSED(aCallback); - RArray attrs; - CleanupClosePushL(attrs); - for(TInt i = 0; i < aAttrs.Count(); i++){ - attrs.AppendL(aAttrs[i]); - } - iAttrs = new RArray(attrs); - CleanupStack::PopAndDestroy(&attrs); - -} -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +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: Unit test for mpmpxpbframeworkwrapper -TEMPLATE = app -CONFIG += qtestlib \ - hb -TARGET = - -TARGET.CAPABILITY = All -TCB - -DEPENDPATH += . -INCLUDEPATH += . \ - ../../inc \ - ../../../../inc - -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += -lestor.dll \ - -lfbscli.dll \ - -lmpxcommon.dll \ - -lmpxcollectionutility.dll - -HEADERS += inc/unittest_mpmpxpbframeworkwrapper.h \ - ../../inc/mpmpxpbframeworkwrapper.h \ - ../../inc/mpmpxpbframeworkwrapper_p.h \ - stub/inc/mpplaybackdata.h \ - stub/inc/mpxcollectionutility.h \ - stub/inc/mpxplaybackutility.h - -SOURCES += src/unittest_mpmpxpbframeworkwrapper.cpp \ - stub/src/mpplaybackdata.cpp \ - stub/src/mpxcollectionutility.cpp \ - stub/src/mpxplaybackutility.cpp - -RESOURCES += ../../resources/mpplaybackviewpluginresources.qrc diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/src/unittest_mpplaybackviewplugin.cpp --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/src/unittest_mpplaybackviewplugin.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/src/unittest_mpplaybackviewplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,12 +17,10 @@ #include #include -#include -#include -#include +#include "stub/inc/mpplaybackview.h" +#include "stub/inc/xqplugin.h" #include "unittest_mpplaybackviewplugin.h" -#include "stub/inc/mpplaybackview.h" // Do this so we can access all member variables. @@ -30,23 +28,28 @@ #include "mpplaybackviewplugin.h" #undef private +//This so mpplaybackviewplugin.cpp can load qt stub items +#include "../../src/mpplaybackviewplugin.cpp" + /*! Make our test case a stand-alone executable that runs all the test functions. */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpPlaybackViewPlugin tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpplaybackviewplugin.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpplaybackviewplugin.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpPlaybackViewPlugin::TestMpPlaybackViewPlugin() diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/inc/xqplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/inc/xqplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,26 @@ +/* +* 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: Stub for testing MpSettingsViewPlugin +* +*/ + +#ifndef XQPLUGIN_H +#define XQPLUGIN_H + +// convenience macro +#define XQ_EXPORT_PLUGIN(PLUGIN, PLUGINCLASS) + +#define XQ_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS) + +#endif // XQ_PLUGIN_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/unittest_mpplaybackviewplugin.pro --- a/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/unittest_mpplaybackviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/unittest_mpplaybackviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -15,24 +15,24 @@ # TEMPLATE = app -CONFIG += qtestlib hb -TARGET = +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpplaybackviewplugin +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ ../../inc \ ../../../../inc - - - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lmpxviewframeworkqt.dll - -HEADERS += inc/unittest_mpplaybackviewplugin.h \ - ../../inc/mpplaybackviewplugin.h \ - stub/inc/mpplaybackview.h - + +HEADERS += inc/unittest_mpplaybackviewplugin.h \ + stub/inc/mpplaybackview.h \ + stub/inc/xqplugin.h \ + ../../inc/mpplaybackviewplugin.h + SOURCES += src/unittest_mpplaybackviewplugin.cpp \ - ../../src/mpplaybackviewplugin.cpp \ stub/src/mpplaybackview.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper.h --- a/mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +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 for Audio Settings -* -*/ -/* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Framework wraper for Audio Settings -* -*/ - -#ifndef MPMPXASFRAMEWORKWRAPPER_H -#define MPMPXASFRAMEWORKWRAPPER_H - -#include - -class MpMpxAsFrameworkWrapperPrivate; - -class MpMpxAsFrameworkWrapper : public QObject -{ - Q_OBJECT - friend class MpMpxAsFrameworkWrapperPrivate; - -public: - explicit MpMpxAsFrameworkWrapper(); - virtual ~MpMpxAsFrameworkWrapper(); - - int balance(); - bool loudness(); - -public slots: - void setBalance( int balance ); - void setLoudness( bool mode ); - -private: - MpMpxAsFrameworkWrapperPrivate *d_ptr; //owned - -}; - -#endif /*MPMPXASFRAMEWORKWRAPPER_H*/ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper_p.h --- a/mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper_p.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +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 for Audio Settings - Private. -* -*/ - -#ifndef MPMPXASFRAMEWORKWRAPPER_P_H -#define MPMPXASFRAMEWORKWRAPPER_P_H - -#include - -class MMPXPlaybackUtility; -class CMPXAudioEffectProperties; - -class MpMpxAsFrameworkWrapperPrivate -{ -public: - explicit MpMpxAsFrameworkWrapperPrivate(); - virtual ~MpMpxAsFrameworkWrapperPrivate(); - - -public: - - void init(); - void setBalance(int balance); - void setLoudness(bool mode); - int balance(); - bool loudness(); - -private: - - void doInitL(); - void doSetBalanceL(int balance); - void doSetLoudnessL(bool mode); - int balanceL(); - bool loudnessL(); - -private: - MMPXPlaybackUtility *iPlaybackUtility; // owned - CMPXAudioEffectProperties *iAudioEffectProperties; // owned -}; - -#endif /*MPMPXASFRAMEWORKWRAPPER_P_H*/ diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/inc/mpsettingsaudioeffectswidget.h --- a/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsaudioeffectswidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsaudioeffectswidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright ( c ) 2009 Nokia Corporation and/or its subsidiary( -ies ). +* 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" @@ -10,8 +10,8 @@ * Nokia Corporation - initial contribution. * * Contributors: -* -* Description: Music Player audio effect view. +* +* Description: Music Player Settings view - audio settings. * */ @@ -20,13 +20,13 @@ // INCLUDES -#include +#include #include #include #include // CLASS DECLARATION -class MpMpxAsFrameworkWrapper; +class MpEngine; class HbSlider; /** @@ -49,7 +49,7 @@ private: - MpMpxAsFrameworkWrapper *mFrameworkWrapper; + MpEngine *mMpEngine; // Own HbDataFormModel *mModel; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/inc/mpsettingsview.h --- a/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsview.h Thu Jul 22 16:32:33 2010 +0100 @@ -46,7 +46,7 @@ private: HbMainWindow *mWindow; // not own - HbAction *mNavigationBack; // own + HbAction *mSoftKeyBack; // own MpSettingsAudioEffectsWidget *mAudioEffectsWidget; // not own Q_DISABLE_COPY(MpSettingsView) diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/inc/mpsettingsviewplugin.h --- a/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsviewplugin.h Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsviewplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -18,7 +18,7 @@ #ifndef MPSETTINGSVIEWPLUGIN_H #define MPSETTINGSVIEWPLUGIN_H -#include +#include #include //forward declartions diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/mpsettingsviewplugin.pro --- a/mpviewplugins/mpsettingsviewplugin/mpsettingsviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/mpsettingsviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,45 +14,38 @@ # Description: # -symbian:TARGET.UID3 = 0x10207C66 - TEMPLATE = lib CONFIG += hb qt ecomplugin TARGET = mpsettingsviewplugin +symbian: { + TARGET.UID3 = 0x10207C66 + TARGET.CAPABILITY = All -TCB + TARGET.EPOCALLOWDLLDATA = 1 +} SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0 SERVICE.CONFIGURATION = "0x101FFCA2EMPXViewPluginPriorityLowest" -TARGET.CAPABILITY = All -TCB - DEPENDPATH += . INCLUDEPATH += . \ - inc \ - ../../inc \ - ../../mpserviceplugins/inc - + inc \ + ../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lmpxplaybackutility.dll \ - -lestor.dll \ - -lmpxviewframeworkqt.dll - -symbian:TARGET.EPOCALLOWDLLDATA = 1 +LIBS += -lmpxplaybackutility \ + -lestor \ + -lmpxviewframeworkqt \ + -lmpengine +# Input HEADERS += ../../inc/mpviewbase.h \ - inc/mpsettingsviewplugin.h \ - inc/mpsettingsview.h \ - inc/mpsettingsaudioeffectswidget.h \ - inc/mpmpxasframeworkwrapper.h \ - inc/mpmpxasframeworkwrapper_p.h - + inc/mpsettingsviewplugin.h \ + inc/mpsettingsview.h \ + inc/mpsettingsaudioeffectswidget.h SOURCES += src/mpsettingsviewplugin.cpp \ - src/mpsettingsview.cpp \ - src/mpsettingsaudioeffectswidget.cpp \ - src/mpmpxasframeworkwrapper.cpp \ - src/mpmpxasframeworkwrapper_p.cpp - + src/mpsettingsview.cpp \ + src/mpsettingsaudioeffectswidget.cpp RESOURCES += resources/mpsettingsview.qrc diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper.cpp --- a/mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +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 for Audio Settings. -* -*/ - -#include "mpmpxasframeworkwrapper.h" -#include "mpmpxasframeworkwrapper_p.h" -#include "mptrace.h" - -/*! - \class MpMpxAsFrameworkWrapper - \brief Wrapper for mpx framework utilities. - - MPX framework wrapper provides Qt style interface to the MPX framework - utilities. Its implementation is hidden using private class data pattern. -*/ - -/*! - Constructor. - */ -MpMpxAsFrameworkWrapper::MpMpxAsFrameworkWrapper() - :d_ptr( new MpMpxAsFrameworkWrapperPrivate() ) -{ - d_ptr->init(); -} - -/*! - Destructor. - */ -MpMpxAsFrameworkWrapper::~MpMpxAsFrameworkWrapper() -{ - TX_ENTRY - delete d_ptr; - TX_EXIT -} - - -/*! - Returns the current persistent balance. - */ -int MpMpxAsFrameworkWrapper::balance() -{ - TX_LOG - return d_ptr->balance(); -} - -/*! - Returns the current persistent loudness. - */ -bool MpMpxAsFrameworkWrapper::loudness() -{ - TX_LOG - return d_ptr->loudness(); -} - -/*! - Slot to handle a change to the balance. - */ -void MpMpxAsFrameworkWrapper::setBalance( int balance ) -{ - TX_ENTRY - d_ptr->setBalance( balance ); - TX_EXIT -} - -/*! - Slot to handle a change to the loudness. - */ -void MpMpxAsFrameworkWrapper::setLoudness( bool mode ) -{ - TX_ENTRY - d_ptr->setLoudness( mode ); - TX_EXIT -} diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper_p.cpp --- a/mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +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 for Audio Settings - Private. -* -*/ - -#include - -#include "mpmpxasframeworkwrapper_p.h" -#include "mpxaudioeffectengine.h" -#include "mpcommondefs.h" -#include "mptrace.h" - - -/*! - \class MpMpxAsFrameworkWrapperPrivate - \brief Wrapper for mpx framework utilities - private implementation. - - This is a private implementation of the mpx framework wrapper utilties interface. -*/ - -/*! - \internal - */ -MpMpxAsFrameworkWrapperPrivate::MpMpxAsFrameworkWrapperPrivate() - :iPlaybackUtility( 0 ), - iAudioEffectProperties( new CMPXAudioEffectProperties() ) -{ - -} - -/*! - \internal - */ -MpMpxAsFrameworkWrapperPrivate::~MpMpxAsFrameworkWrapperPrivate() -{ - if( iPlaybackUtility ) - { - iPlaybackUtility->Close(); - } - delete iAudioEffectProperties; -} - -/*! - \internal - */ - -void MpMpxAsFrameworkWrapperPrivate::init() -{ - TRAPD( err, doInitL() ); - if ( err != KErrNone ) - { - TX_LOG_ARGS( "Error: " << err << "; should never get here." ); - } -} - -/*! - \internal - */ -void MpMpxAsFrameworkWrapperPrivate::setBalance( int balance ) -{ - TRAPD( err, doSetBalanceL( balance ) ); - if ( err != KErrNone ) - { - TX_LOG_ARGS( "Error: " << err << "; should never get here." ); - } -} - -/*! - \internal - */ -void MpMpxAsFrameworkWrapperPrivate::setLoudness( bool mode ) -{ - TRAPD( err, doSetLoudnessL( mode ) ); - if ( err != KErrNone ) - { - TX_LOG_ARGS( "Error: " << err << "; should never get here." ); - } -} - -/*! - \internal - */ -int MpMpxAsFrameworkWrapperPrivate::balance() -{ - int ret = 0; - TRAPD( err, ret = balanceL() ); - if ( err != KErrNone ) - { - TX_LOG_ARGS( "Error: " << err << "; should never get here." ); - return 0; - } - return ret; -} - -/*! - \internal - */ -bool MpMpxAsFrameworkWrapperPrivate::loudness() -{ - bool ret = true; - TRAPD( err, ret = loudnessL() ); - if ( err != KErrNone ) - { - TX_LOG_ARGS( "Error: " << err << "; should never get here." ); - return false; - } - return ret; -} - -/*! - \internal - */ -void MpMpxAsFrameworkWrapperPrivate::doInitL() -{ - TRAPD( err, iAudioEffectProperties->LoadFromFileL() ); - if( KErrNone != err ) - { - iAudioEffectProperties->Reset(); - User::Leave( err ); - } -} - -/*! - \internal - */ -void MpMpxAsFrameworkWrapperPrivate::doSetBalanceL( int balance ) -{ - iAudioEffectProperties->SetBalance( balance ); - iAudioEffectProperties->SaveToFileL(); - if ( !iPlaybackUtility ) - { - iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( MpCommon::KMusicPlayerUid ) ) ; - } - iPlaybackUtility ->SetL( EPbPropertyBalance, balance ); - -} - -/*! - \internal - */ -void MpMpxAsFrameworkWrapperPrivate::doSetLoudnessL( bool mode ) -{ - if( loudnessL() != mode ) //do not set same value twice - { - iAudioEffectProperties->SetLoudness( mode ); - iAudioEffectProperties->SaveToFileL(); - if ( !iPlaybackUtility ) - { - iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( MpCommon::KMusicPlayerUid ) ) ; - } - iPlaybackUtility->CommandL( EPbApplyEffect, KAudioEffectsID ); - } -} - -/*! - \internal - */ -int MpMpxAsFrameworkWrapperPrivate::balanceL() -{ - return iAudioEffectProperties->Balance(); -} - -/*! - \internal - */ -bool MpMpxAsFrameworkWrapperPrivate::loudnessL() -{ - return iAudioEffectProperties->Loudness(); -} - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/src/mpsettingsaudioeffectswidget.cpp --- a/mpviewplugins/mpsettingsviewplugin/src/mpsettingsaudioeffectswidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/src/mpsettingsaudioeffectswidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright ( c ) 2009 Nokia Corporation and/or its subsidiary( -ies ). +* 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" @@ -11,7 +11,7 @@ * * Contributors: * -* Description: Music Player audio effect view. +* Description: Music Player Settings view - audio settings. * */ @@ -22,7 +22,7 @@ // User includes #include "mpsettingsaudioeffectswidget.h" -#include "mpmpxasframeworkwrapper.h" +#include "mpenginefactory.h" #include "mptrace.h" @@ -42,7 +42,7 @@ */ MpSettingsAudioEffectsWidget::MpSettingsAudioEffectsWidget( QGraphicsItem *parent ) : HbWidget( parent ), - mFrameworkWrapper( 0 ) + mMpEngine( 0 ) { TX_LOG } @@ -52,7 +52,6 @@ */ MpSettingsAudioEffectsWidget::~MpSettingsAudioEffectsWidget() { - delete mFrameworkWrapper; delete mModel; TX_LOG } @@ -64,8 +63,8 @@ { TX_ENTRY - mFrameworkWrapper = new MpMpxAsFrameworkWrapper(); - + mMpEngine = MpEngineFactory::sharedEngine(); + //create data form HbDataForm *dataForm = new HbDataForm(); @@ -82,9 +81,9 @@ slider->setContentWidgetData( QString( "singleStep" ),25 ); slider->setContentWidgetData( QString( "toolTipVisible" ), false ); slider->setContentWidgetData( QString( "tickPosition" ), Hb::SliderTicksRight ); - slider->setContentWidgetData( QString( "sliderPosition" ),mFrameworkWrapper->balance() ); + slider->setContentWidgetData( QString( "sliderPosition" ),mMpEngine->balance() ); slider->setContentWidgetData( QString( "trackFilled" ), false ); - if ( mFrameworkWrapper->loudness() == true ) { + if ( mMpEngine->loudness() == true ) { loudnessItem->setContentWidgetData( QString( "text" ), hbTrId( "txt_mus_setlabel_loudness_val_on" ) ); loudnessItem->setContentWidgetData( QString( "additionalText" ), hbTrId( "txt_mus_setlabel_loudness_val_off" ) ); } @@ -102,7 +101,7 @@ mylayout->addItem( dataForm ); setLayout( mylayout ); dataForm->addConnection( slider, SIGNAL( valueChanged( int ) ), - mFrameworkWrapper, SLOT( setBalance( int ) ) ); + mMpEngine, SLOT( setBalance( int ) ) ); connect( mModel, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( filterSignals( QModelIndex, QModelIndex ) ) ); TX_EXIT @@ -115,10 +114,10 @@ if ( itm->type() == HbDataFormModelItem::ToggleValueItem ) { if( itm->data( HbDataFormModelItem::LabelRole ).toString() == hbTrId( "txt_mus_setlabel_loudness" ) ) { if( itm->contentWidgetData( QString( "text" ) ).toString() == hbTrId( "txt_mus_setlabel_loudness_val_on" ) ) { - mFrameworkWrapper->setLoudness( true ); + mMpEngine->setLoudness( true ); } else if( itm->contentWidgetData( QString( "text" ) ).toString() == hbTrId( "txt_mus_setlabel_loudness_val_off" ) ) { - mFrameworkWrapper->setLoudness( false ); + mMpEngine->setLoudness( false ); } else { TX_LOG_ARGS( "Error: should never get here." ); diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/src/mpsettingsview.cpp --- a/mpviewplugins/mpsettingsviewplugin/src/mpsettingsview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/src/mpsettingsview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,10 +17,7 @@ #include #include -#include #include -#include -#include #include "mpsettingsview.h" #include "mpsettingsaudioeffectswidget.h" @@ -46,7 +43,7 @@ */ MpSettingsView::MpSettingsView() : mWindow(0), - mNavigationBack(0), + mSoftKeyBack(0), mAudioEffectsWidget(0) { TX_LOG @@ -58,7 +55,7 @@ MpSettingsView::~MpSettingsView() { TX_ENTRY - delete mNavigationBack; + delete mSoftKeyBack; TX_EXIT } @@ -69,31 +66,18 @@ { TX_ENTRY - //Load musicplayer translator - QTranslator translator; - QString lang = QLocale::system().name(); - QString path = QString("z:/resource/qt/translations/"); - - bool translatorLoaded = false; - translatorLoaded = translator.load(path + "musicplayer_" + lang); - TX_LOG_ARGS("Loading musicplayer translator ok=" << translatorLoaded); - if ( translatorLoaded ) { - qApp->installTranslator( &translator ); - - } - mWindow = mainWindow(); - mNavigationBack = new HbAction(Hb::BackNaviAction, this); + mSoftKeyBack = new HbAction(Hb::BackNaviAction, this); mAudioEffectsWidget = new MpSettingsAudioEffectsWidget(this); mAudioEffectsWidget->initialize(); setWidget( mAudioEffectsWidget ); - connect( mNavigationBack, + connect( mSoftKeyBack, SIGNAL(triggered()), this, SLOT(back()) ); - connect( mNavigationBack, + connect( mSoftKeyBack, SIGNAL(triggered()), mAudioEffectsWidget, SLOT(persistBalance()) ); @@ -106,7 +90,7 @@ void MpSettingsView::activateView() { TX_ENTRY - setNavigationAction( mNavigationBack ); + setNavigationAction( mSoftKeyBack ); TX_EXIT } diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpsettingsviewplugin/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpsettingsviewplugin + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/inc/unittest_mpmpxasframeworkwrapper.h --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/inc/unittest_mpmpxasframeworkwrapper.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +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: Unit test for mpmpxasframeworkwrapper -* -*/ - -#ifndef TESTMPMPXASFRAMEWORKWRAPPER_H -#define TESTMPMPXASFRAMEWORKWRAPPER_H - -#include - -class MpMpxAsFrameworkWrapper; -class MpMpxAsFrameworkWrapperPrivate; - -class TestMpMpxAsFrameworkWrapper : public QObject -{ - Q_OBJECT - -public: - - TestMpMpxAsFrameworkWrapper(); - virtual ~TestMpMpxAsFrameworkWrapper(); - -signals: - - -public slots: - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void testConstructor(); - void testBalance(); - void testLoudness(); - void testSetBalance(); - void testSetLoudness(); - - -private: - - MpMpxAsFrameworkWrapper *mTest; - MpMpxAsFrameworkWrapperPrivate *mTestPrivate; - -}; - -#endif // TESTMPMPXASFRAMEWORKWRAPPER_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/src/unittest_mpmpxasframeworkwrapper.cpp --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/src/unittest_mpmpxasframeworkwrapper.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,175 +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: Unit test for MpMpxAsFrameworkWrapper -* -*/ - -#include -#include -#include -#include -#include - -#include "unittest_mpmpxasframeworkwrapper.h" -#include "stub/inc/mpxaudioeffectproperties.h" -#include "stub/inc/mpxplaybackutility.h" - - -// Do this so we can access all member variables. -#define private public -#include "mpmpxasframeworkwrapper.h" -#include "mpmpxasframeworkwrapper_p.h" -#undef private - -//This so we can test private functions -#include "mpmpxasframeworkwrapper_p.cpp" - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - TestMpMpxAsFrameworkWrapper tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpmpxasframeworkwrapper.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpMpxAsFrameworkWrapper::TestMpMpxAsFrameworkWrapper() - : mTest(0) -{ -} - -TestMpMpxAsFrameworkWrapper::~TestMpMpxAsFrameworkWrapper() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpMpxAsFrameworkWrapper::initTestCase() -{ -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpMpxAsFrameworkWrapper::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpMpxAsFrameworkWrapper::init() -{ - mTest = new MpMpxAsFrameworkWrapper(); - mTestPrivate = mTest->d_ptr; -} - -/*! - Called after every testfunction. - */ -void TestMpMpxAsFrameworkWrapper::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - test Constructor - */ -void TestMpMpxAsFrameworkWrapper::testConstructor() -{ - QVERIFY(mTestPrivate->iPlaybackUtility == 0); - QVERIFY(mTestPrivate->iAudioEffectProperties != 0); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iLoadFromFile, TBool(ETrue)); - mTestPrivate->iAudioEffectProperties->iLeave = ETrue; - mTestPrivate->iAudioEffectProperties->LoadFromFileL(); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iBalance, 0); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iLoudness, TBool(EFalse)); - -} - -/*! - test balance - */ -void TestMpMpxAsFrameworkWrapper::testBalance() -{ - QCOMPARE( mTest->balance(), 0 ); - mTest->setBalance( -100 ); - QCOMPARE( mTest->balance(), -100 ); - mTest->setBalance( 100 ); - QCOMPARE( mTest->balance(), 100 ); -} - -/*! - test loudness - */ -void TestMpMpxAsFrameworkWrapper::testLoudness() -{ - QCOMPARE(mTest->loudness(), false); - mTest->setLoudness(true); - QCOMPARE(mTest->loudness(), true); -} - -/*! - test setBalance - */ -void TestMpMpxAsFrameworkWrapper::testSetBalance() -{ - for(TInt i = -10; i < 10; i++){ - mTest->setBalance(i); - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QCOMPARE(mTestPrivate->iPlaybackUtility->iProperty, EPbPropertyBalance); - QCOMPARE(mTestPrivate->iPlaybackUtility->iBalance, i); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iBalance, i); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iSaveToFile, TBool(ETrue)); - mTestPrivate->iAudioEffectProperties->iLoadFromFile = EFalse; - - } -} - -/*! - test setLoudness - */ -void TestMpMpxAsFrameworkWrapper::testSetLoudness() -{ - mTest->setLoudness(true); - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iLoudness, TBool(ETrue)); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iSaveToFile, TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCommand, EPbApplyEffect ); - QCOMPARE(mTestPrivate->iPlaybackUtility->iEffectId, 0x101FFC02 ); - mTestPrivate->iAudioEffectProperties->iLoadFromFile = EFalse; - mTest->setLoudness(false); - QVERIFY(mTestPrivate->iPlaybackUtility != 0); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iLoudness, TBool(EFalse)); - QCOMPARE(mTestPrivate->iAudioEffectProperties->iSaveToFile, TBool(ETrue)); - QCOMPARE(mTestPrivate->iPlaybackUtility->iCommand, EPbApplyEffect ); - QCOMPARE(mTestPrivate->iPlaybackUtility->iEffectId, 0x101FFC02 ); - mTestPrivate->iAudioEffectProperties->iLoadFromFile = EFalse; -} - - -// end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxaudioeffectproperties.h --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxaudioeffectproperties.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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: audio effect properties stub for testing mpmpxasframeworkwrapper -* -*/ - - -#ifndef CMPXAUDIOEFFECTPROPERTIES_H -#define CMPXAUDIOEFFECTPROPERTIES_H - - -#include -#include - - -class CMPXAudioEffectProperties : public CBase - { -public: - explicit CMPXAudioEffectProperties(); - virtual ~CMPXAudioEffectProperties(); - -public: - - // Stub functions - TInt Balance(); - TBool Loudness(); - void SetBalance(TInt aBalance); - void SetLoudness(TBool aLoudness); - void Reset(); - void SaveToFileL(); - void LoadFromFileL(); - -public: - - TInt iBalance; - TBool iLoudness; - TBool iLoadFromFile; - TBool iSaveToFile; - TBool iLeave; -}; - -#endif // CMPXAUDIOEFFECTPROPERTIES_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxplaybackutility.h --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +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: mpxplaybackutility stub for testing mpmpxasframeworkwrapper -* -*/ - - -#ifndef MMPXPLAYBACKUTILITY_H -#define MMPXPLAYBACKUTILITY_H - -#include -#include -#include -#include -#include - - -class MMPXPlaybackUtility -{ -public: - - // Stub functions - MMPXPlaybackUtility(); - ~MMPXPlaybackUtility(); - static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault); - void Close(); - void SetL(TMPXPlaybackProperty aProperty, TInt aValue); - void CommandL(TMPXPlaybackCommand aCmd, TInt aData=0); - -public: - TInt iBalance; - TInt iEffectId; - TMPXPlaybackProperty iProperty; - TMPXPlaybackCommand iCommand; - -}; - -#endif // MMPXPLAYBACKUTILITY_H - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -/* -* 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: audio effect properties stub for testing mpmpxasframeworkwrapper -* -*/ - -#include -#include -#include -#include -#include "stub/inc/mpxaudioeffectproperties.h" - - -/*! - Stub function. -*/ -CMPXAudioEffectProperties::CMPXAudioEffectProperties():iBalance(0), - iLoudness(EFalse), - iLoadFromFile(EFalse), - iSaveToFile(EFalse), - iLeave(EFalse) - -{ -} - -/*! - Stub function. -*/ -CMPXAudioEffectProperties::~CMPXAudioEffectProperties() -{ -} - -/*! - Stub function. -*/ -TInt CMPXAudioEffectProperties::Balance() -{ - return iBalance; -} - -/*! - Stub function. -*/ -TBool CMPXAudioEffectProperties::Loudness() -{ - return iLoudness; -} - -/*! - Stub function. -*/ -void CMPXAudioEffectProperties::SetBalance(TInt aBalance) -{ - iBalance = aBalance; -} - -/*! - Stub function. -*/ -void CMPXAudioEffectProperties::SetLoudness(TBool aLoudness) -{ - iLoudness = aLoudness; -} - -/*! - Stub function. -*/ -void CMPXAudioEffectProperties::Reset() -{ - MPX_DEBUG1("CMPXAudioEffectProperties::Reset"); - iBalance = 0; - iLoudness = EFalse; - iLeave = EFalse; - iLoadFromFile = EFalse; -} - -/*! - Stub function. -*/ -void CMPXAudioEffectProperties::SaveToFileL() -{ - MPX_DEBUG1("CMPXAudioEffectProperties::SaveToFileL <---"); - iSaveToFile = ETrue; - MPX_DEBUG1("CMPXAudioEffectProperties::SaveToFileL --->"); -} - -/*! - Stub function. -*/ -void CMPXAudioEffectProperties::LoadFromFileL() -{ - MPX_DEBUG1("CMPXAudioEffectProperties::LoadFromFileL <---"); - if(iLeave){ - Reset(); - }else{ - iLoadFromFile = ETrue; - } - MPX_DEBUG1("CMPXAudioEffectProperties::LoadFromFileL --->"); -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxplaybackutility.cpp --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +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: mpxplaybackutility stub for testing mpmpxasframeworkwrapper -* -*/ - -#include -#include -#include - -#include "stub/inc/mpxplaybackutility.h" - -/*! - Stub function. -*/ -MMPXPlaybackUtility::MMPXPlaybackUtility():iBalance(0), - iProperty(EPbPropertyVolume) - -{ -} - -/*! - Stub function. -*/ -MMPXPlaybackUtility::~MMPXPlaybackUtility() -{ -} - -/*! - Stub function. - */ -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& aModeId) -{ - Q_UNUSED(aModeId); - static MMPXPlaybackUtility playbackUtilility; - return &playbackUtilility; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::Close() -{ -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty aProperty, TInt aValue) -{ - iProperty = aProperty; - iBalance = aValue; -} - -/*! - Stub function. -*/ -void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd, TInt aData) -{ - iCommand = aCmd; - iEffectId = aData; -} - -//end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/unittest_mpmpxasframeworkwrapper.pro --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/unittest_mpmpxasframeworkwrapper.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +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: -# - -TEMPLATE = app -CONFIG += qtestlib hb -TARGET = - -DEPENDPATH += . -INCLUDEPATH += . \ - ../../inc \ - ../../../../inc \ - ../../../../mpserviceplugins/inc - - -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += -lmpxviewframeworkqt.dll - -HEADERS += inc/unittest_mpmpxasframeworkwrapper.h \ - ../../inc/mpmpxasframeworkwrapper.h \ - ../../inc/mpmpxasframeworkwrapper_p.h \ - stub/inc/mpxaudioeffectproperties.h \ - stub/inc/mpxplaybackutility.h - -SOURCES += src/unittest_mpmpxasframeworkwrapper.cpp \ - ../../src/mpmpxasframeworkwrapper.cpp \ - stub/src/mpxaudioeffectproperties.cpp \ - stub/src/mpxplaybackutility.cpp - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/src/unittest_mpsettingsviewplugin.cpp --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/src/unittest_mpsettingsviewplugin.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/src/unittest_mpsettingsviewplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,12 +17,10 @@ #include #include -#include -#include -#include +#include "stub/inc/mpsettingsview.h" +#include "stub/inc/xqplugin.h" #include "unittest_mpsettingsviewplugin.h" -#include "stub/inc/mpsettingsview.h" // Do this so we can access all member variables. @@ -30,23 +28,28 @@ #include "mpsettingsviewplugin.h" #undef private +//This so we mpsettingsviewplugin.cpp can load qt stub items +#include "../../src/mpsettingsviewplugin.cpp" + /*! Make our test case a stand-alone executable that runs all the test functions. */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpSettingsViewPlugin tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpsettingsviewplugin.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsettingsviewplugin.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpSettingsViewPlugin::TestMpSettingsViewPlugin() diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/inc/xqplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/inc/xqplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,26 @@ +/* +* 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: Stub for testing MpSettingsViewPlugin +* +*/ + +#ifndef XQPLUGIN_H +#define XQPLUGIN_H + +// convenience macro +#define XQ_EXPORT_PLUGIN(PLUGIN, PLUGINCLASS) + +#define XQ_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS) + +#endif // XQ_PLUGIN_H diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/unittest_mpsettingsviewplugin.pro --- a/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/unittest_mpsettingsviewplugin.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/unittest_mpsettingsviewplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -15,25 +15,25 @@ # TEMPLATE = app -CONFIG += qtestlib hb -TARGET = +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpsettingsviewplugin +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ stub/inc \ ../../inc \ ../../../../inc - - - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lmpxviewframeworkqt.dll - -HEADERS += inc/unittest_mpsettingsviewplugin.h \ - ../../inc/mpsettingsviewplugin.h \ - stub/inc/mpsettingsview.h - -SOURCES += stub/src/mpsettingsview.cpp \ - ../../src/mpsettingsviewplugin.cpp \ - src/unittest_mpsettingsviewplugin.cpp + +HEADERS += inc/unittest_mpsettingsviewplugin.h \ + stub/inc/mpsettingsview.h \ + stub/inc/xqplugin.h \ + ../../inc/mpsettingsviewplugin.h + +SOURCES += src/unittest_mpsettingsviewplugin.cpp \ + stub/src/mpsettingsview.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpviewplugins.pro --- a/mpviewplugins/mpviewplugins.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/mpviewplugins/mpviewplugins.pro Thu Jul 22 16:32:33 2010 +0100 @@ -18,6 +18,7 @@ SUBDIRS = mpcollectionviewplugin \ mpplaybackviewplugin \ mpsettingsviewplugin \ - mpdetailsviewplugin + mpdetailsviewplugin \ + mpmediawallviewplugin CONFIG += ordered diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/bwins/musicservices.def --- a/musicservices/bwins/musicservices.def Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -EXPORTS - ?currentService@MusicServices@@QAE?AW4MusicService@1@XZ @ 1 NONAME ; enum MusicServices::MusicService MusicServices::currentService(void) - ?trUtf8@MusicServices@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString MusicServices::trUtf8(char const *, char const *) - ?qt_metacast@MusicServices@@UAEPAXPBD@Z @ 3 NONAME ; void * MusicServices::qt_metacast(char const *) - ?trUtf8@MusicServices@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString MusicServices::trUtf8(char const *, char const *, int) - ?qt_metacall@MusicServices@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5 NONAME ; int MusicServices::qt_metacall(enum QMetaObject::Call, int, void * *) - ?contextTitle@MusicServices@@QBE?AVQString@@XZ @ 6 NONAME ; class QString MusicServices::contextTitle(void) const - ??0MusicServices@@QAE@XZ @ 7 NONAME ; MusicServices::MusicServices(void) - ??_EMusicServices@@UAE@I@Z @ 8 NONAME ; MusicServices::~MusicServices(unsigned int) - ?itemSelected@MusicServices@@QAEXVQString@@@Z @ 9 NONAME ; void MusicServices::itemSelected(class QString) - ?playReady@MusicServices@@IAEXABVXQSharableFile@@@Z @ 10 NONAME ; void MusicServices::playReady(class XQSharableFile const &) - ?tr@MusicServices@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString MusicServices::tr(char const *, char const *, int) - ?tr@MusicServices@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString MusicServices::tr(char const *, char const *) - ?getStaticMetaObject@MusicServices@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & MusicServices::getStaticMetaObject(void) - ?serviceActive@MusicServices@@IAEXVTUid@@@Z @ 14 NONAME ; void MusicServices::serviceActive(class TUid) - ?metaObject@MusicServices@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * MusicServices::metaObject(void) const - ?setCurrentService@MusicServices@@QAEXW4MusicService@1@@Z @ 16 NONAME ; void MusicServices::setCurrentService(enum MusicServices::MusicService) - ?staticMetaObject@MusicServices@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const MusicServices::staticMetaObject - ??1MusicServices@@UAE@XZ @ 18 NONAME ; MusicServices::~MusicServices(void) - ?playReady@MusicServices@@IAEXABVQString@@@Z @ 19 NONAME ; void MusicServices::playReady(class QString const &) - diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/bwins/musicservicesu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicservices/bwins/musicservicesu.def Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +EXPORTS + ?currentService@MusicServices@@QAE?AW4MusicService@1@XZ @ 1 NONAME ; enum MusicServices::MusicService MusicServices::currentService(void) + ?trUtf8@MusicServices@@SA?AVQString@@PBD0@Z @ 2 NONAME ; class QString MusicServices::trUtf8(char const *, char const *) + ?qt_metacast@MusicServices@@UAEPAXPBD@Z @ 3 NONAME ; void * MusicServices::qt_metacast(char const *) + ?trUtf8@MusicServices@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString MusicServices::trUtf8(char const *, char const *, int) + ?qt_metacall@MusicServices@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 5 NONAME ; int MusicServices::qt_metacall(enum QMetaObject::Call, int, void * *) + ?contextTitle@MusicServices@@QBE?AVQString@@XZ @ 6 NONAME ; class QString MusicServices::contextTitle(void) const + ??0MusicServices@@QAE@XZ @ 7 NONAME ; MusicServices::MusicServices(void) + ??_EMusicServices@@UAE@I@Z @ 8 NONAME ; MusicServices::~MusicServices(unsigned int) + ?itemSelected@MusicServices@@QAEXVQString@@@Z @ 9 NONAME ; void MusicServices::itemSelected(class QString) + ?playReady@MusicServices@@IAEXABVXQSharableFile@@@Z @ 10 NONAME ; void MusicServices::playReady(class XQSharableFile const &) + ?tr@MusicServices@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString MusicServices::tr(char const *, char const *, int) + ?tr@MusicServices@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString MusicServices::tr(char const *, char const *) + ?getStaticMetaObject@MusicServices@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & MusicServices::getStaticMetaObject(void) + ?serviceActive@MusicServices@@IAEXVTUid@@@Z @ 14 NONAME ; void MusicServices::serviceActive(class TUid) + ?metaObject@MusicServices@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * MusicServices::metaObject(void) const + ?setCurrentService@MusicServices@@QAEXW4MusicService@1@@Z @ 16 NONAME ; void MusicServices::setCurrentService(enum MusicServices::MusicService) + ?staticMetaObject@MusicServices@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const MusicServices::staticMetaObject + ??1MusicServices@@UAE@XZ @ 18 NONAME ; MusicServices::~MusicServices(void) + ?playReady@MusicServices@@IAEXABVQString@@@Z @ 19 NONAME ; void MusicServices::playReady(class QString const &) + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/eabi/musicservices.def --- a/musicservices/eabi/musicservices.def Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -EXPORTS - _ZN13MusicServices11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME - _ZN13MusicServices11qt_metacastEPKc @ 2 NONAME - _ZN13MusicServices12itemSelectedE7QString @ 3 NONAME - _ZN13MusicServices13serviceActiveE4TUid @ 4 NONAME - _ZN13MusicServices14currentServiceEv @ 5 NONAME - _ZN13MusicServices16staticMetaObjectE @ 6 NONAME DATA 16 - _ZN13MusicServices17setCurrentServiceENS_12MusicServiceE @ 7 NONAME - _ZN13MusicServices19getStaticMetaObjectEv @ 8 NONAME - _ZN13MusicServices9playReadyERK14XQSharableFile @ 9 NONAME - _ZN13MusicServices9playReadyERK7QString @ 10 NONAME - _ZN13MusicServicesC1Ev @ 11 NONAME - _ZN13MusicServicesC2Ev @ 12 NONAME - _ZN13MusicServicesD0Ev @ 13 NONAME - _ZN13MusicServicesD1Ev @ 14 NONAME - _ZN13MusicServicesD2Ev @ 15 NONAME - _ZNK13MusicServices10metaObjectEv @ 16 NONAME - _ZNK13MusicServices12contextTitleEv @ 17 NONAME - _ZTI13MusicServices @ 18 NONAME - _ZTV13MusicServices @ 19 NONAME - diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/eabi/musicservicesu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicservices/eabi/musicservicesu.def Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,21 @@ +EXPORTS + _ZN13MusicServices11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME + _ZN13MusicServices11qt_metacastEPKc @ 2 NONAME + _ZN13MusicServices12itemSelectedE7QString @ 3 NONAME + _ZN13MusicServices13serviceActiveE4TUid @ 4 NONAME + _ZN13MusicServices14currentServiceEv @ 5 NONAME + _ZN13MusicServices16staticMetaObjectE @ 6 NONAME DATA 16 + _ZN13MusicServices17setCurrentServiceENS_12MusicServiceE @ 7 NONAME + _ZN13MusicServices19getStaticMetaObjectEv @ 8 NONAME + _ZN13MusicServices9playReadyERK14XQSharableFile @ 9 NONAME + _ZN13MusicServices9playReadyERK7QString @ 10 NONAME + _ZN13MusicServicesC1Ev @ 11 NONAME + _ZN13MusicServicesC2Ev @ 12 NONAME + _ZN13MusicServicesD0Ev @ 13 NONAME + _ZN13MusicServicesD1Ev @ 14 NONAME + _ZN13MusicServicesD2Ev @ 15 NONAME + _ZNK13MusicServices10metaObjectEv @ 16 NONAME + _ZNK13MusicServices12contextTitleEv @ 17 NONAME + _ZTI13MusicServices @ 18 NONAME + _ZTV13MusicServices @ 19 NONAME + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/musicservices.pro --- a/musicservices/musicservices.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/musicservices/musicservices.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,38 +14,32 @@ # Description: Project file for Music Services. # -symbian:TARGET.UID3 = 0x10207C69 - TEMPLATE = lib CONFIG += hb TARGET = musicservices - -TARGET.CAPABILITY = CAP_GENERAL_DLL +symbian: { + TARGET.UID3 = 0x10207C69 + MMP_RULES += "DEFFILE musicservices.def" + defFilePath = . + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.EPOCALLOWDLLDATA = 1 +} +DEFINES += BUILD_MUSICSERVICES_LIB INCLUDEPATH += . \ - inc \ - ../inc + inc \ + ../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE LIBS += -lxqservice \ -lxqserviceutil -symbian:TARGET.EPOCALLOWDLLDATA = 1 - +# Input HEADERS += inc/musicservices.h \ - inc/getmusicservice.h \ - inc/playmusicservice.h + inc/getmusicservice.h \ + inc/playmusicservice.h SOURCES += src/musicservices.cpp \ - src/getmusicservice.cpp \ - src/playmusicservice.cpp - -DEFINES += BUILD_MUSICSERVICES_LIB + src/getmusicservice.cpp \ + src/playmusicservice.cpp -myDefInclude = "NOSTRICTDEF" \ -"$${LITERAL_HASH}if defined(WINS)"\ -"DEFFILE bwins/musicservices.def "\ -"$${LITERAL_HASH}else "\ -"DEFFILE eabi/musicservices.def "\ -"$${LITERAL_HASH}endif" -MMP_RULES += myDefInclude diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/src/getmusicservice.cpp --- a/musicservices/src/getmusicservice.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/musicservices/src/getmusicservice.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,7 +16,7 @@ */ #include -#include +#include #include "musicservices.h" #include "getmusicservice.h" diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/src/musicservices.cpp --- a/musicservices/src/musicservices.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/musicservices/src/musicservices.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,7 +16,7 @@ */ #include -#include +#include #include "musicservices.h" #include "getmusicservice.h" diff -r b95ddb5a0d10 -r eff9df3d9c98 musicservices/src/playmusicservice.cpp --- a/musicservices/src/playmusicservice.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/musicservices/src/playmusicservice.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -16,7 +16,7 @@ */ #include -#include +#include #include "musicservices.h" #include "playmusicservice.h" diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/inc/musicwidget.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/inc/musicwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,199 @@ +/* +* Copyright (c) 2010 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: Music player home screen widget +* +*/ + +#ifndef MUSICWIDGET_H +#define MUSICWIDGET_H + +// System includes +#include +#include +#include +#include + +#include "mpplaybackdata.h" + +// Forward declarations +class HbLabel; +class HbPushButton; +class HbIcon; +class HbMarqueeItem; +class MpEngine; +//class MpPlaybackData; + +/** + * Media key identifier for push button events + */ +enum MediaKeyIdentifier{ + EPrevious = 1, + EPlayPause, + ENext +}; + +/** + * Music Player launch source identifier + */ +enum LaunchIdentifier{ + ELaunchFromPlay, + ELaunchFromShortcut +}; + +class MusicWidget: public HbWidget +{ + Q_OBJECT + +public: + MusicWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0); + ~MusicWidget(); + +private: + + /** + * Setup graphics + */ + void setupUi(); + + /** + * Get latest song data, player state and album art + */ + void refreshData(); + + /** + * Launch Music Player to view + */ + void launchMusicPlayer(int launchMode = ELaunchFromShortcut); + + /** + * Similar to public slots mediaButtonPressed and mediaButtonReleased, but this oen is called internally + * Draws the spesified button to disabled state + */ + void mediaButtonDisabled( int aMediaKeyId ); + + /** + * Similar to public slots mediaButtonPressed and mediaButtonReleased, but this oen is called internally + * Draws the spesified button to enabled state + */ + void mediaButtonEnabled( int aMediaKeyId ); + + /** + * Disable/enable widget buttons according to Music Player state + */ + void toggleButtons(); + +public: + QRectF boundingRect() const; + QPainterPath shape() const; + +public slots: + + /** + * Widget slots + */ + void onInitialize(); + void onShow(); + void onHide(); + void onUninitialize(); + + /** + * MpEngine slots + */ + void libraryAboutToUpdate(); + void libraryUpdated(); + void usbBlocked( bool blocked ); + + /** + * MpPlaybackData slots + */ + void albumArtReady(); + void playbackStateChanged(); + void playbackInfoChanged(); + + /** + * ????? + */ + bool eventFilter(QObject *target, QEvent *event); + + /** + * Button specific slots + */ + void mediaButtonPressed( int aMediaKeyId ); + void mediaButtonReleased( int aMediaKeyId ); + +protected: + + /** + * Called from mediaButtonPressed and from mediaButtonReleased slots. + * Calls defineMediaButton to redraw the media button + */ + void mediaButtonEvent( MediaKeyIdentifier aMediaKeyId, QString aGraphicsId, QString aIconColor ); + + /** + * Creates the aTarget push button based on params aGraphicsId and aSuffix. + * Used to change the look and feel of the button based to the aState + * param: aTarget is the push button to be changed, must not be Null + * param: aGraphicsId defines the button background graphics + * param: aSuffix filename suffix, see KPrevButPrefix for example from musicwidget.cpp + */ + void defineMediaButton( HbPushButton& aTarget, QString aGraphicsId, QStringList aSuffix, QString aIconColor ); + +private slots: + + /** + * Slots to be called after button press + */ + void prevSong(); + void playSong(); + void nextSong(); + void shortcutButton(); + +private: + // mShortcutButtonLayout items + HbPushButton *mShortcutArea; + + //mSongDataLayout items + HbWidget *mSongDataBG; + HbLabel *mInformationSongName; + HbMarqueeItem *mMarqueeText; + + // mControlButtonsLayout items + HbPushButton *mPreviousPushButton; + HbPushButton *mPlayPushButton; + HbPushButton *mNextPushButton; + + // MusicPlayer related state identifiers + bool mMusicPlayerNoSongData; + bool mMusicPlayerUpdating; + bool mMusicPlayerBlocked; + + // Album art for background + HbLabel *mAlbumArtLabel; + qreal mAlbumArtWidth; + qreal mAlbumArtHeight; + + // Artist and song title identifiers + QString mArtist; + QString mTitle; + + // Used to launch MusicPlayer + XQApplicationManager mApplicationManager; + + // MusicPlayer control and state updates + MpEngine* mMpEngine; + MpPlaybackData* mMpPlaybackData; + +}; + +#endif // MUSICWIDGET_H diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/inc/musicwidgetplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/inc/musicwidgetplugin.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2010 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: Music player home screen widget +* +*/ + +#ifndef MUSICWIDGETPLUGIN_H +#define MUSICWIDGETPLUGIN_H + +#include +#include + +QTM_USE_NAMESPACE +class MusicWidgetPlugin : public QObject, public QServicePluginInterface +{ + Q_OBJECT + Q_INTERFACES(QtMobility::QServicePluginInterface) + +public: + QObject *createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session); +}; + +#endif // MUSICWIDGETPLUGIN_H diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/musicwidgetplugin.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/musicwidgetplugin.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,60 @@ +# +# Copyright (c) 2010 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: +# +# Music Player home screen widget +# + +TEMPLATE = lib +CONFIG += plugin mobility hb +MOBILITY = serviceframework + +LIBS += -lhswidgetmodel +LIBS += -lxqservice +LIBS += -lxqserviceutil +LIBS += -lmpengine +LIBS += -lmpdata + +INCLUDEPATH += ./inc +INCLUDEPATH += ../inc + +HEADERS += ./inc/*.h +SOURCES += ./src/*.cpp + + +RESOURCES = resource/musicwidgetui.qrc + +UID = 200286FA + +symbian:include(./rom/rom.pri) + +symbian: { + + DESTDIR = $${PRIVATE}/private/20022F35/import/widgetregistry/$${UID} + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE + + TARGET.UID3 = 0x$${UID} + TARGET.EPOCALLOWDLLDATA=1 + TARGET.CAPABILITY = ALL -TCB + #TRANSLATIONS += musicwidgetplugin.ts + + plugins.path = $${DESTDIR} + plugins.sources = $${TARGET}.dll + + widgetResources.path = $${DESTDIR} + widgetResources.sources += resource/$${TARGET}.xml + widgetResources.sources += resource/$${TARGET}.manifest + widgetResources.sources += resource/musicwidgeticon.png + + DEPLOYMENT += plugins \ + widgetResources +} \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/resource/music_widget.docml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/resource/music_widget.docml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/resource/musicwidgeticon.png Binary file musicwidgetplugin/resource/musicwidgeticon.png has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/resource/musicwidgetplugin.manifest --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/resource/musicwidgetplugin.manifest Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,8 @@ + + + + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/resource/musicwidgetplugin.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/resource/musicwidgetplugin.xml Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,14 @@ + + + musicwidgetplugin + musicwidgetplugin + Music Player Homescreen Widget + + com.nokia.symbian.IHomeScreenWidget + 1.0 + Music Player Homescreen Widget + + musicwidgeticon.png + Music Widget + + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/resource/musicwidgetui.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/resource/musicwidgetui.qrc Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,6 @@ + + + music_widget.docml + musicwidgeticon.png + + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/rom/musicwidgetplugin.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/rom/musicwidgetplugin.iby Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,27 @@ +/* +* 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: +* +*/ + +#ifndef MUSICWIDGETPLUGIN_IBY +#define MUSICWIDGETPLUGIN_IBY + +file=ABI_DIR\BUILD_DIR\musicwidgetplugin.dll SHARED_LIB_DIR\musicwidgetplugin.dll +data=ZPRIVATE\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.qtplugin private\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.qtplugin +data=ZPRIVATE\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.manifest private\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.manifest +data=ZPRIVATE\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.xml private\20022f35\import\widgetregistry\200286FA\musicwidgetplugin.xml +data=ZPRIVATE\20022f35\import\widgetregistry\200286FA\musicwidgeticon.png private\20022f35\import\widgetregistry\200286FA\musicwidgeticon.png + +#endif // MUSICWIDGETPLUGIN_IBY \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/rom/rom.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/rom/rom.pri Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,40 @@ +# +# 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: +# + +BLD_INF_RULES.prj_exports += \ +"$${LITERAL_HASH}include " + +symbian { +MP_IBY_DIR = $$section(PWD,":",1) + +#iby exports to core +BLD_INF_RULES.prj_exports += "$$MP_IBY_DIR/musicwidgetplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(musicwidgetplugin.iby)" + +#iby exports to language +#BLD_INF_RULES.prj_exports += "$$MP_IBY_DIR/musicwidgetplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(musicwidgetplugin_resources.iby)" +} + + +BLD_INF_RULES.prj_extensions += \ + +#$$LITERAL_HASH"ifdef MARM" \ +#" START EXTENSION app-services/buildstubsis" \ +#" OPTION SRCDIR rom" \ +#" OPTION SISNAME musicwidgetplugin_stub" \ +#" END" \ +#$$LITERAL_HASH"endif" + + diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/src/musicwidget.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/src/musicwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,836 @@ +/* +* Copyright (c) 2010 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: Music player home screen widget +* +*/ + +#include "musicwidget.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "mptrace.h" +#include "mpenginefactory.h" + +// Constants +/** Docml */ +const QString MUSIC_WIDGET_DOCML = ":/gfx/music_widget.docml"; + +/** File name suffix lists for push buttons */ +const QStringList PREV_BUTTON_SUFFIXES = (QStringList() << "_l" << "_c" << "_cr"); +const QStringList PLAY_BUTTON_SUFFIXES = (QStringList() << "_cl" << "_c" << "_cr"); +const QStringList NEXT_BUTTON_SUFFIXES = (QStringList() << "_cl" << "_c" << "_r"); + +/** Prefixes for 3 piece button background graphics */ +const QLatin1String PUSH_BUTTON_NORMAL("qtg_fr_hsbutton_normal"); +const QLatin1String PUSH_BUTTON_PRESSED ("qtg_fr_hsbutton_pressed"); +const QLatin1String PUSH_BUTTON_DISABLED ("qtg_fr_hsbutton_disabled"); + +/** Push button icon colors for each of the states (Normal, Pressed and Disabled) */ +const QLatin1String ICON_COLOR_NORMAL ("qtc_button_normal"); +const QLatin1String ICON_COLOR_PRESSED ("qtc_button_pressed"); +const QLatin1String ICON_COLOR_DISABLED ("qtc_button_disabled"); + +/** Play and Pause icons */ +const QLatin1String ICON_PLAY ("qtg_mono_play"); +const QLatin1String ICON_PAUSE ("qtg_mono_pause"); +/** Music Player shortcut icon */ +const QLatin1String ICON_LARGE_MUSIC_PLAYER ("qtg_large_music_player"); +/** Music Player shortcut icon */ +const QLatin1String ICON_FIRST_TIME_USE ("qtg_large_music_empty"); + +/** HsWidget normal background */ +const QLatin1String WIDGET_BG_NORMAL ("qtg_fr_hswidget_normal"); +/** Text background */ +const QLatin1String TEXT_BG_NORMAL ("qtg_fr_multimedia_trans"); +/** Separator : character and space between artist and song name */ +const QLatin1String SEPARATOR_TEXT (": "); +/** Temporary unknown artist */ +const QLatin1String TEMPORARY_UNKWNOWN_TEXT ("Unknown"); +/** Localized unknown artist */ +const QLatin1String UNKWNOWN_TEXT ("txt_mus_other_unknown_1"); + +/** Marquee width */ +const int MARQUEE_WIDTH = 170; +/** Infinite loop value for marquee */ +const int MARQUEE_LOOP_FOREVER = -1; + +/** Now playing view with random play */ +const QLatin1String SERVICEREQ_FIRST_TIME_USE ("appto://10207C62?activityname=MusicNowPlayingView&launchtype=standalone&shuffle=yes"); +/** Main view */ +const QLatin1String SERVICEREQ_MAIN_VIEW ("appto://10207C62?activityname=MusicMainView&launchtype=standalone"); +/** Now playing view */ +const QLatin1String SERVICEREQ_NOW_PLAYING_VIEW ("appto://10207C62?activityname=MusicNowPlayingView&launchtype=standalone"); + +/** DOCML object name for main widget */ +const QLatin1String DOCML_CONTAINER_WIDGET ("containerWidget"); +/** DOCML object name for widget background */ +const QLatin1String DOCML_BG_ICON ("widget_background_icon"); +/** DOCML object name for album art image */ +const QLatin1String DOCML_ALBUM_ART ("album_art_image"); +/** DOCML object name for shortcut icon background */ +const QLatin1String DOCML_SHORTCUT_ICON_BG ("shortcut_icon_background"); +/** DOCML object name for shortcut icon */ +const QLatin1String DOCML_SHORTCUT_ICON ("shortcut_icon"); +/** DOCML object name for scrolling text background */ +const QLatin1String DOCML_TEXT_BG ("text_bg"); +/** DOCML object name for scrolling text */ +const QLatin1String DOCML_SCROLLING_TEXT ("scrolling_text"); +/** DOCML object name for button group container */ +const QLatin1String DOCML_BUTTON_GROUP_CONTAINER ("button_group_container"); +/** DOCML object name for prev button */ +const QLatin1String DOCML_PREV_BUTTON ("btn_previous"); +/** DOCML object name for play button */ +const QLatin1String DOCML_PLAY_BUTTON ("btn_play"); +/** DOCML object name for next button */ +const QLatin1String DOCML_NEXT_BUTTON ("btn_next"); + + +MusicWidget::MusicWidget(QGraphicsItem* parent, Qt::WindowFlags flags): + HbWidget(parent, flags), + mShortcutArea(0), + mSongDataBG(0), + mInformationSongName(0), + mMarqueeText(0), + mPreviousPushButton(0), + mPlayPushButton(0), + mNextPushButton(0), + mMusicPlayerNoSongData(1), + mMusicPlayerUpdating(0), + mMusicPlayerBlocked(0), + mAlbumArtLabel(0), + mAlbumArtWidth(0), + mAlbumArtHeight(0), + mArtist(0), + mTitle(0), + mMpEngine(0), + mMpPlaybackData(0) +{ + TX_ENTRY + + // Setup UI + setupUi(); + + // Connect to MP engine and playback data + mMpEngine = MpEngineFactory::createSharedEngine(); + Q_ASSERT_X(mMpEngine, "music_widget", "no music player engine"); + TX_LOG_ARGS("got mp engine") + + mMpPlaybackData = mMpEngine->playbackData(); + Q_ASSERT_X(mMpPlaybackData, "music_widget", "no playback data"); + TX_LOG_ARGS("got playback data") + + // Connect outgoing signals and slots + QObject::connect(mShortcutArea, SIGNAL(clicked()), this, SLOT(shortcutButton())); + + // use signal mapper to indicate button identifiers to button event slots + QSignalMapper* signalMapperPressed = new QSignalMapper( this ); + signalMapperPressed->setMapping( mPreviousPushButton, EPrevious ); + signalMapperPressed->setMapping( mPlayPushButton, EPlayPause); + signalMapperPressed->setMapping( mNextPushButton, ENext); + + // need to use different signal mapper for pressed and released events, + // both have same mappings but they are mapped to different slots + QSignalMapper* signalMapperReleased = new QSignalMapper( this ); + signalMapperReleased->setMapping( mPreviousPushButton, EPrevious ); + signalMapperReleased->setMapping( mPlayPushButton, EPlayPause); + signalMapperReleased->setMapping( mNextPushButton, ENext); + + // Connect button events to signal maps + QObject::connect(mPreviousPushButton, SIGNAL(pressed()), signalMapperPressed, SLOT (map())); + QObject::connect(mPreviousPushButton, SIGNAL(released()), signalMapperReleased, SLOT (map())); + + QObject::connect(mPlayPushButton, SIGNAL(pressed()), signalMapperPressed, SLOT (map())); + QObject::connect(mPlayPushButton, SIGNAL(released()), signalMapperReleased, SLOT (map())); + + QObject::connect(mNextPushButton, SIGNAL(pressed()), signalMapperPressed, SLOT (map())); + QObject::connect(mNextPushButton, SIGNAL(released()), signalMapperReleased, SLOT (map())); + + // Connect mapper signals to self implemented slots + QObject::connect( signalMapperPressed, SIGNAL(mapped(int)), this, SLOT(mediaButtonPressed(int))); + QObject::connect( signalMapperReleased, SIGNAL(mapped(int)), this, SLOT(mediaButtonReleased(int))); + + // Connect clicked events + QObject::connect(mPreviousPushButton, SIGNAL(clicked()), this, SLOT(prevSong())); + QObject::connect(mPlayPushButton, SIGNAL(clicked()), this, SLOT(playSong())); + QObject::connect(mNextPushButton, SIGNAL(clicked()), this, SLOT(nextSong())); + + // MpEngine + QObject::connect(mMpEngine, SIGNAL(libraryAboutToUpdate()), this, SLOT(libraryAboutToUpdate())); + QObject::connect(mMpEngine, SIGNAL(libraryUpdated()), this, SLOT(libraryUpdated())); + QObject::connect(mMpEngine, SIGNAL(usbBlocked(bool)), this, SLOT(usbBlocked(bool))); + + //MpPlaybackData + QObject::connect(mMpPlaybackData, SIGNAL(albumArtReady()), this, SLOT(albumArtReady())); + QObject::connect(mMpPlaybackData, SIGNAL(playbackStateChanged()), this, SLOT(playbackStateChanged())); + QObject::connect(mMpPlaybackData, SIGNAL(playbackInfoChanged()), this, SLOT(playbackInfoChanged())); + + // Initial data from Music Player get by onShow method call + TX_EXIT +} + +/*! + Destructor +*/ +MusicWidget::~MusicWidget() +{ +} + +/*! + Creates UI. + */ +void MusicWidget::setupUi() +{ + TX_ENTRY + + // Use document loader to load the contents + HbDocumentLoader loader; + bool ok = false; + loader.load( MUSIC_WIDGET_DOCML, &ok); + Q_ASSERT_X(ok, "music_widget", "invalid title docml file"); + + TX_LOG_ARGS("loaded docml") + + QGraphicsLinearLayout* mainLayout = new QGraphicsLinearLayout(Qt::Vertical, this); + QGraphicsWidget* container = loader.findWidget(DOCML_CONTAINER_WIDGET); + mainLayout->addItem(container); + //Sets parent + setLayout( mainLayout ); + + // Load and set widget background + HbWidget *bgWidget = qobject_cast (loader.findWidget(DOCML_BG_ICON)); + HbFrameItem *frameItem; + if (bgWidget) + { + HbFrameDrawer *drawer = new HbFrameDrawer(WIDGET_BG_NORMAL, + HbFrameDrawer::NinePieces); + frameItem = new HbFrameItem(drawer, bgWidget); + frameItem->setPreferredSize(bgWidget->preferredSize()); + bgWidget->setZValue(1); + } + + // Setup album art area + QGraphicsWidget *tmpWidgetPtr; + tmpWidgetPtr = loader.findWidget(DOCML_ALBUM_ART); + mAlbumArtLabel = qobject_cast(tmpWidgetPtr); + HbWidget *albumArtLayout = mAlbumArtLabel; + albumArtLayout->setZValue(2); + + // Store album art area size + mAlbumArtWidth = albumArtLayout->preferredWidth(); + mAlbumArtHeight = albumArtLayout->preferredHeight(); + + // Load shortcut background + HbWidget *shortcutAreaLayout = qobject_cast (loader.findWidget(DOCML_SHORTCUT_ICON_BG)); + HbFrameItem *shortcutFrameItem; + if (shortcutAreaLayout) { + HbFrameDrawer *drawer = new HbFrameDrawer(WIDGET_BG_NORMAL, + HbFrameDrawer::NinePieces); + shortcutFrameItem = new HbFrameItem(drawer, shortcutAreaLayout); + shortcutFrameItem->setPreferredSize(shortcutAreaLayout->preferredSize()); + shortcutAreaLayout->setZValue(3); + } + + // Load shortcut widget and set background + mShortcutArea = qobject_cast (loader.findWidget(DOCML_SHORTCUT_ICON)); + if ( mShortcutArea ) + { + // icon needs to be put as a background so that it fills the whole button area + HbFrameDrawer* drawer = new HbFrameDrawer(ICON_LARGE_MUSIC_PLAYER, HbFrameDrawer::OnePiece); + mShortcutArea->setFrameBackground( drawer ); + } + + // Set song data background + mSongDataBG = qobject_cast (loader.findWidget(DOCML_TEXT_BG)); + HbFrameItem *scrollTextItem; + if (mSongDataBG) + { + HbFrameDrawer *drawer = new HbFrameDrawer(TEXT_BG_NORMAL, + HbFrameDrawer::NinePieces); + scrollTextItem = new HbFrameItem(drawer, mSongDataBG); + scrollTextItem->setPreferredSize(mSongDataBG->preferredSize()); + mSongDataBG->setZValue(4); + mSongDataBG->hide(); // Hide initially... + } + + // Set scrolling song data + mInformationSongName = qobject_cast (loader.findWidget(DOCML_SCROLLING_TEXT)); + if ( mInformationSongName ) + { + // Setting primitive marquee item values from .css doesn't work well, set in code... + mMarqueeText = new HbMarqueeItem(mInformationSongName); + HbFontSpec fs(HbFontSpec::Secondary); + mMarqueeText->setFontSpec(fs); + mMarqueeText->setTextColor(mInformationSongName->textColor()); + mMarqueeText->setMinimumWidth(MARQUEE_WIDTH); + mMarqueeText->setLoopCount(MARQUEE_LOOP_FOREVER); + } + + HbWidget *buttonGroupContainer = qobject_cast (loader.findWidget( + DOCML_BUTTON_GROUP_CONTAINER)); + if (buttonGroupContainer) + { + // Define push buttons in state at this point, check the player status later and update buttons if needed + mPreviousPushButton = qobject_cast (loader.findWidget(DOCML_PREV_BUTTON)); + defineMediaButton( *mPreviousPushButton, PUSH_BUTTON_NORMAL, PREV_BUTTON_SUFFIXES, ICON_COLOR_NORMAL ); + + mPlayPushButton = qobject_cast (loader.findWidget(DOCML_PLAY_BUTTON)); + defineMediaButton( *mPlayPushButton, PUSH_BUTTON_NORMAL, PLAY_BUTTON_SUFFIXES, ICON_COLOR_NORMAL ); + + mNextPushButton = qobject_cast (loader.findWidget(DOCML_NEXT_BUTTON)); + defineMediaButton( *mNextPushButton, PUSH_BUTTON_NORMAL, NEXT_BUTTON_SUFFIXES, ICON_COLOR_NORMAL ); + } + + TX_EXIT +} + +/*! + Makes the push button based on information aGraphicsId and aSuffix + */ +void MusicWidget::defineMediaButton( HbPushButton& aTarget, QString aGraphicsId, QStringList aSuffix, QString aIconColor ) + { + TX_ENTRY + + TX_LOG_ARGS("graphics id: " << aGraphicsId) + TX_LOG_ARGS("icon color: " << aIconColor) + + HbFrameDrawer* drawer; + + // First check if the drawer is already created for this push button + if ( !aTarget.frameBackground()){ + // Nope, create one now + drawer = new HbFrameDrawer(aGraphicsId, HbFrameDrawer::ThreePiecesHorizontal); + aTarget.setFrameBackground( drawer ); + TX_LOG_ARGS("created drawer for button bg") + } + else { + // Frame drawer already created, only need to update frame graphics + drawer = aTarget.frameBackground(); + drawer->setFrameGraphicsName( aGraphicsId ); + TX_LOG_ARGS("using existing drawer for button bg") + } + + // Set file name suffix list, so that drawer can load correct 3-piece graphic files + drawer->setFileNameSuffixList( aSuffix ); + + // Update also the icon color + QColor color = HbColorScheme::color(aIconColor); + aTarget.icon().setColor( color ); + + // Lastly, check if the buttton is disabled + if ( aIconColor == ICON_COLOR_DISABLED ) + { + aTarget.setEnabled(false); + TX_LOG_ARGS("button disabled") + } + else + { + aTarget.setEnabled(true); + TX_LOG_ARGS("button enabled") + } + + TX_EXIT + } + +/*! + + */ +void MusicWidget::mediaButtonEvent( MediaKeyIdentifier aMediaKeyId, QString aGraphicsId, QString aIconColor ) + { + TX_ENTRY + + HbPushButton* target = NULL; + QStringList suffix; + + switch ( aMediaKeyId ) + { + case EPrevious: { + TX_LOG_ARGS("previous") + target = mPreviousPushButton; + suffix = PREV_BUTTON_SUFFIXES; + break; + } + case EPlayPause: { + TX_LOG_ARGS("play/pause") + target = mPlayPushButton; + suffix = PLAY_BUTTON_SUFFIXES; + break; + } + case ENext: { + TX_LOG_ARGS("next") + target = mNextPushButton; + suffix = NEXT_BUTTON_SUFFIXES; + break; + } + default: { + // Do proper error handling.. should not be possible to get here ever tough + TX_LOG_ARGS("unknown button") + return; + } + } + + if ( target ) + { + MusicWidget::defineMediaButton( *target, aGraphicsId, suffix, aIconColor ); + } + + TX_EXIT + } + +/*! + Emited from HbPushButton:pressed() signal, changes the button layout to 'Pressed' + */ +void MusicWidget::mediaButtonPressed( int aMediaKeyId ) + { + TX_LOG_ARGS("media key: " << aMediaKeyId ) + mediaButtonEvent( (MediaKeyIdentifier)aMediaKeyId, PUSH_BUTTON_PRESSED, ICON_COLOR_PRESSED ); + } + +/*! + Emited from HbPushButton:released() signal, changes the button layout to 'Normal' + */ +void MusicWidget::mediaButtonReleased( int aMediaKeyId ) + { + TX_LOG_ARGS("media key: " << aMediaKeyId ) + mediaButtonEvent( (MediaKeyIdentifier)aMediaKeyId, PUSH_BUTTON_NORMAL, ICON_COLOR_NORMAL ); + } + +/*! + Disables specified push button + */ +void MusicWidget::mediaButtonDisabled( int aMediaKeyId ) + { + TX_LOG_ARGS("media key: " << aMediaKeyId ) + mediaButtonEvent( (MediaKeyIdentifier)aMediaKeyId, PUSH_BUTTON_DISABLED, ICON_COLOR_DISABLED ); + } + +/*! + Disables specified push button + */ +void MusicWidget::mediaButtonEnabled( int aMediaKeyId ) + { + TX_LOG_ARGS("media key: " << aMediaKeyId ) + mediaButtonEvent( (MediaKeyIdentifier)aMediaKeyId, PUSH_BUTTON_NORMAL, ICON_COLOR_NORMAL ); + } + +/*! + Manually update music widget state. + */ +void MusicWidget::refreshData() +{ + TX_ENTRY + // Get current player state + playbackStateChanged(); + + // Get current song data, updates button states + playbackInfoChanged(); + + // Get current album art + albumArtReady(); + TX_EXIT +} + +/*! + Launch music player... + */ +void MusicWidget::launchMusicPlayer(int launchMode) +{ + TX_ENTRY + //TODO: Detect if MusicPlayer is running or not properly, handle case where player not available?! + //TODO: Get service status from XQSettingManager + //TODO: Service status from signal: + //TODO: void statusChanged(const XQAiwInterfaceDescriptor& implementation, ServiceStatus currentStatus); + + QUrl url; + XQAiwRequest* req; + + if ( launchMode == ELaunchFromPlay ) + { + TX_LOG_ARGS("launch from play") + // Launch to now playing view, random play to be started! + url.setUrl(SERVICEREQ_FIRST_TIME_USE); + } + else if (mMusicPlayerNoSongData) + { + TX_LOG_ARGS("to main view") + // Launch to main view + url.setUrl(SERVICEREQ_MAIN_VIEW); + } + else + { + TX_LOG_ARGS("to now playing view") + // Launch to now playing view + url.setUrl(SERVICEREQ_NOW_PLAYING_VIEW); + } + + req = mApplicationManager.create(url); + if (req == NULL) + { + // No handlers for the URI + TX_LOG_ARGS("no req created") + return; + } + + req->setBackground(false); + req->setSynchronous(false); + + // Set function parameters + QList args; + args << url.toString(); + req->setArguments(args); + + // Send the request + bool res = req->send(); + if (!res) + { + // Request failed. + int error = req->lastError(); + // Handle error + TX_LOG_ARGS("req send error: " << error) + } + + delete req; + + TX_EXIT +} + +/*! + Return bounding rect +*/ +QRectF MusicWidget::boundingRect() const +{ + return childrenBoundingRect(); +} + +/*! + Return shape +*/ +QPainterPath MusicWidget::shape() const +{ + QPainterPath path; + path.addRect(boundingRect()); + return path; +} + +/*! + Initializes the widget. + */ +void MusicWidget::onInitialize() +{ + TX_LOG +} + +/*! + Shows the widget. + */ +void MusicWidget::onShow() +{ + TX_LOG + refreshData(); +} + +/*! + Hides the widget. + */ +void MusicWidget::onHide() +{ + TX_LOG +} + +/*! + Uninitializes the widget. + */ +void MusicWidget::onUninitialize() +{ + TX_LOG +} + +/*! + Slot for shortcut button clicked. + */ +void MusicWidget::shortcutButton() +{ + TX_LOG + launchMusicPlayer(ELaunchFromShortcut); +} + +/*! + Slot for previous button clicked. + */ +void MusicWidget::prevSong() +{ + TX_LOG + mMpEngine->skipBackward(); +} + +/*! + Slot for play button clicked. Handles both Play and Pause! + */ +void MusicWidget::playSong() +{ + TX_ENTRY + if (mMusicPlayerNoSongData && mMpPlaybackData->playbackState() != MpPlaybackData::Playing ) + { + //Signal music player to start playing all songs with random + launchMusicPlayer(ELaunchFromPlay); + } + + mMpEngine->playPause(); + TX_EXIT +} +/*! + Slot for next button clicked. + */ +void MusicWidget::nextSong() +{ + TX_LOG + mMpEngine->skipForward(); +} + +/*! + + */ +bool MusicWidget::eventFilter(QObject *target, QEvent *event) + { + // pass the event on to the parent class + return HbWidget::eventFilter(target, event); +} + +/*! + MpEngine related + */ +void MusicWidget::libraryAboutToUpdate() +{ + TX_LOG + //Refresh Library start + mMusicPlayerUpdating = true; + + // Update button enabled/disabled state + toggleButtons(); +} + +/*! + MpEngine related + */ +void MusicWidget::libraryUpdated() +{ + TX_LOG + //Refresh Library done + mMusicPlayerUpdating = false; + + // Update button enabled/disabled state + toggleButtons(); +} + +/*! + MpEngine related + */ +void MusicWidget::usbBlocked( bool blocked ) +{ + TX_LOG_ARGS("blocked: " << blocked) + //Blocked state + //Mass storage mode + //Media transfer mode + //Ovi Suite mode + //Insert memory card + + mMusicPlayerBlocked = blocked; + + // Update button enabled/disabled state + toggleButtons(); +} + +/*! + MpPlaybackData related + */ +void MusicWidget::albumArtReady() +{ + TX_ENTRY + HbIcon icon; + + if ( mMusicPlayerNoSongData ) + { + TX_LOG_ARGS("1st time album art") + icon = HbIcon(ICON_FIRST_TIME_USE); + } + else + { + TX_LOG_ARGS("playback data album art") + mMpPlaybackData->albumArt( icon ); + } + + // Resize here manually to avoid resizing when showing album art + icon.setHeight(mAlbumArtHeight); + icon.setWidth(mAlbumArtWidth); + mAlbumArtLabel->setIcon( icon ); + + TX_EXIT +} + +void MusicWidget::playbackStateChanged() +{ + TX_ENTRY + // Set play/pause icon and start/stop marquee. + QString iconName; + + int state = mMpPlaybackData->playbackState(); + + TX_LOG_ARGS("state: " << state) + + switch (state) + { + case MpPlaybackData::Playing: + { + TX_LOG_ARGS("pause icon, start marquee") + iconName.append(ICON_PAUSE); + mMarqueeText->startAnimation(); + break; + } + case MpPlaybackData::Paused: + case MpPlaybackData::Stopped: + case MpPlaybackData::NotPlaying: + { + TX_LOG_ARGS("play icon, stop marquee") + iconName.append(ICON_PLAY); + mMarqueeText->stopAnimation(); + break; + } + } + + HbIcon iconPlayPause(iconName); + mPlayPushButton->setIcon(iconPlayPause); + + TX_EXIT +} + +/*! + MpPlaybackData related + */ +void MusicWidget::playbackInfoChanged() +{ + TX_ENTRY + // Initialize maqruee with something (space), to ensure + // text updates to display as well. + QString songData; + + mArtist = mMpPlaybackData->artist(); + mTitle = mMpPlaybackData->title(); + + if ( !mTitle.length() ) + { + mArtist.clear(); + mTitle.clear(); + songData = " "; + + //1st time launch + mMusicPlayerNoSongData = true; + + TX_LOG_ARGS("no song data") + } + else + { + if ( !mArtist.length() ) + { + //Show localized "Unknown" if there is no artist name + + //TODO: Widget needs own localization?!?! + //mArtist.append( hbTrId(UNKWNOWN_TEXT) ); + + //TODO: Remove temporary unknown string when localization resolved. + mArtist.append( TEMPORARY_UNKWNOWN_TEXT ); + } + + songData.append(mArtist); + songData.append(SEPARATOR_TEXT); + songData.append(mTitle); + + mMusicPlayerNoSongData = false; + + TX_LOG_ARGS("song data received") + } + + mMarqueeText->setText(songData); + TX_LOG_ARGS("marquee text: " << songData) + + // Show dark BG to songdata only if there is songdata... + if ( mMusicPlayerNoSongData && mSongDataBG->isVisible() ) + { + TX_LOG_ARGS("hide marquee bg") + mSongDataBG->hide(); + } + else if ( !mMusicPlayerNoSongData && !mSongDataBG->isVisible() ) + { + TX_LOG_ARGS("show marquee bg") + mSongDataBG->show(); + } + + // Update button enabled/disabled state + toggleButtons(); + + TX_EXIT +} + +/*! + Toggle buttons to disabled/enabled as required. + */ +void MusicWidget::toggleButtons() +{ + TX_ENTRY + // All buttons disabled if updating + if ( mMusicPlayerUpdating ) + { + TX_LOG_ARGS("updating") + mediaButtonDisabled( EPlayPause ); + mediaButtonDisabled( EPrevious ); + mediaButtonDisabled( ENext ); + } + + // All buttons disabled if blocked + else if ( mMusicPlayerBlocked ) + { + TX_LOG_ARGS("blocked") + mediaButtonDisabled( EPlayPause ); + mediaButtonDisabled( EPrevious ); + mediaButtonDisabled( ENext ); + } + + // Only play button enabled if there is no song data, 1st time use + else if ( mMusicPlayerNoSongData ) + { + TX_LOG_ARGS("no song data") + mediaButtonEnabled( EPlayPause ); + mediaButtonDisabled( EPrevious ); + mediaButtonDisabled( ENext ); + } + + // Enable all buttons if there is song data + else + { + TX_LOG_ARGS("enable all buttons") + mediaButtonEnabled( EPlayPause ); + mediaButtonEnabled( EPrevious ); + mediaButtonEnabled( ENext ); + } + TX_EXIT +} diff -r b95ddb5a0d10 -r eff9df3d9c98 musicwidgetplugin/src/musicwidgetplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/musicwidgetplugin/src/musicwidgetplugin.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 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: Music player home screen widget +* +*/ + +#include +#include +#include + +#include "musicwidgetplugin.h" +#include "musicwidget.h" + +QObject *MusicWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, + QServiceContext *context, + QAbstractSecuritySession *session) +{ + Q_UNUSED(context); + Q_UNUSED(session); + + if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) + { + return new MusicWidget(); + } + else + { + return 0; + } +} + +Q_EXPORT_PLUGIN2(musicwidgetplugin, MusicWidgetPlugin) diff -r b95ddb5a0d10 -r eff9df3d9c98 qtmusicplayer.pro --- a/qtmusicplayer.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/qtmusicplayer.pro Thu Jul 22 16:32:33 2010 +0100 @@ -27,6 +27,8 @@ include(mpviewplugins/mpplaybackviewplugin/rom/rom.pri) include(mpviewplugins/mpsettingsviewplugin/rom/rom.pri) include(mpviewplugins/mpdetailsviewplugin/rom/rom.pri) + include(mpviewplugins/mpmediawallviewplugin/rom/rom.pri) + include(musicwidgetplugin/rom/rom.pri) include(mpserviceplugins/audioeffects/rom/rom.pri) include(mpserviceplugins/localaudio/rom/rom.pri) include(mpserviceplugins/mpxsqlitedbcommon/rom/rom.pri) @@ -36,12 +38,13 @@ include(mpserviceplugins/m3uplaylistplugin/rom/rom.pri) } -SUBDIRS = utilities \ +SUBDIRS = mpdata \ + mpengine \ + utilities \ musicservices \ app \ - mpdata \ - mpengine \ - mpviewplugins + mpviewplugins \ + musicwidgetplugin CONFIG += ordered diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/build-sisx-udeb.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/build-sisx-udeb.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,37 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +@echo off + +IF NOT EXIST Nokia_RnDCert_02.der ( + echo Please copy key files to ROOT before build sis file. + goto end +) ELSE ( + IF NOT EXIST Nokia_RnDCert_02.key ( + echo Please copy key files to ROOT before build sis file. + goto end + ) +) + +del musicplayer_udeb.sis musicplayer_udeb.sisx +@echo. +makesis musicplayer_udeb.pkg +@echo. +signsis musicplayer_udeb.sis musicplayer_udeb.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key + +:end +@echo. + diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/build-sisx-urel.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/build-sisx-urel.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,37 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +@echo off + +IF NOT EXIST Nokia_RnDCert_02.der ( + echo Please copy key files to ROOT before build sis file. + goto end +) ELSE ( + IF NOT EXIST Nokia_RnDCert_02.key ( + echo Please copy key files to ROOT before build sis file. + goto end + ) +) + +del musicplayer_urel.sis musicplayer_urel.sisx +@echo. +makesis musicplayer_urel.pkg +@echo. +signsis musicplayer_urel.sis musicplayer_urel.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key + +:end +@echo. + diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/build-sisx.bat --- a/sis/build-sisx.bat Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -@rem -@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -@rem All rights reserved. -@rem This component and the accompanying materials are made available -@rem under the terms of "Eclipse Public License v1.0" -@rem which accompanies this distribution, and is available -@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". -@rem -@rem Initial Contributors: -@rem Nokia Corporation - initial contribution. -@rem -@rem Contributors: -@rem -@rem Description: -@rem - -Echo please copy key files to ROOT before build sis file -del musicplayer.sis mpxservicesplugins.sis musicplayer.six mpxservicesplugins.six -makesis mpxservicesplugins.pkg -signsis mpxservicesplugins.sis mpxservicesplugins.six rd.cer rd-key.pem -makesis musicplayer.pkg -signsis musicplayer.sis musicplayer.six rd.cer rd-key.pem diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/build-stub-sis.bat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/build-stub-sis.bat Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,19 @@ +@rem +@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +@rem All rights reserved. +@rem This component and the accompanying materials are made available +@rem under the terms of "Eclipse Public License v1.0" +@rem which accompanies this distribution, and is available +@rem at the URL "http://www.eclipse.org/legal/epl-v10.html". +@rem +@rem Initial Contributors: +@rem Nokia Corporation - initial contribution. +@rem +@rem Contributors: +@rem +@rem Description: +@rem + +del musicplayer_stub.sis +makesis -s musicplayer_stub.pkg +@echo. diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/mpxservicesplugins.pkg --- a/sis/mpxservicesplugins.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +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: -; -;Header -#{"MPXMusicPlayer"}, (0x101FFC62), 18, 0, 0, TYPE=SA, RU -; dlls version uses 13.2 - - -; Localised vendor names -%{"Nokia"} - -; Unique, global vendor name -:"Nokia" - -;Files to install -"\epoc32\release\armv5\urel\mpxlocalaudioplayback.dll" -"!:\sys\bin\mpxlocalaudioplayback.dll" -"\epoc32\release\armv5\urel\mpxsqlitedbcommon.dll" -"!:\sys\bin\mpxsqlitedbcommon.dll" -"\epoc32\release\armv5\urel\mpxsqlitedbplugin.dll" -"!:\sys\bin\mpxsqlitedbplugin.dll" -"\epoc32\release\armv5\urel\mpxsqlitepodcastdbplugin.dll" -"!:\sys\bin\mpxsqlitepodcastdbplugin.dll" -"\epoc32\release\armv5\urel\mpxm3uplaylistparsers.dll" -"!:\sys\bin\mpxm3uplaylistparsers.dll" -"\epoc32\release\armv5\urel\mpxm3uplaylistplugin.dll" -"!:\sys\bin\mpxm3uplaylistplugin.dll" - -"\epoc32\data\Z\resource\plugins\mpxlocalaudioplayback.rsc" -"!:\resource\plugins\mpxlocalaudioplayback.rsc" -"\epoc32\data\Z\resource\plugins\mpxsqlitedbplugin.rsc" -"!:\resource\plugins\mpxsqlitedbplugin.rsc" -"\epoc32\data\Z\resource\apps\mpxcollectiondbres.rsc" -"!:\resource\apps\mpxcollectiondbres.rsc" -"\epoc32\data\Z\resource\plugins\mpxsqlitepodcastdbplugin.rsc" -"!:\resource\plugins\mpxsqlitepodcastdbplugin.rsc" -"\epoc32\data\Z\resource\plugins\mpxm3uplaylistplugin.rsc" -"!:\resource\plugins\mpxm3uplaylistplugin.rsc" diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/musicplayer.pkg --- a/sis/musicplayer.pkg Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +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: -; -; Language -&EN - -; SIS header: name, uid, version -#{"musicplayer"},(0x10207C62),1,0,0 - -; Localised Vendor name -%{"Nokia, Qt Software"} - -; Unique Vendor name -:"Nokia, Qt Software" - -; Dependencies -[0x101F7961],0,0,0,{"S60ProductID"} -[0x102032BE],0,0,0,{"S60ProductID"} -[0x102752AE],0,0,0,{"S60ProductID"} -[0x1028315F],0,0,0,{"S60ProductID"} - -; Executable and default resource files -"\epoc32\release\armv5\urel\musicplayer.exe" - "!:\sys\bin\musicplayer.exe" -"\epoc32\data\z\resource\apps\musicplayer.rsc" - "!:\resource\apps\musicplayer.rsc" -"\epoc32\data\z\private\10003a3f\import\apps\musicplayer_reg.rsc" - "!:\private\10003a3f\import\apps\musicplayer_reg.rsc" -"\epoc32\data\z\resource\apps\musicplayer.mif" - "!:\resource\apps\musicplayer.mif" - -; DLLs -"\epoc32\release\armv5\urel\mpnowplayingbanner.dll" - "!:\sys\bin\mpnowplayingbanner.dll" -"\epoc32\release\armv5\urel\mpsettingsmanager.dll" - "!:\sys\bin\mpsettingsmanager.dll" - -;CenRep -"\epoc32\data\Z\private\10202be9\10207C92.txt" - "!:\private\10202be9\10207C92.txt" - -; PLUGIN AND VIEW -"\epoc32\release\armv5\urel\mpcollectionviewplugin.dll" - "!:\sys\bin\mpcollectionviewplugin.dll" -"\epoc32\data\Z\resource\plugins\mpcollectionviewplugin.rsc" - "!:\resource\plugins\mpcollectionviewplugin.rsc" - -"\epoc32\release\armv5\urel\mpplaybackviewplugin.dll" - "!:\sys\bin\mpplaybackviewplugin.dll" -"\epoc32\data\Z\resource\plugins\mpplaybackviewplugin.rsc" - "!:\resource\plugins\mpplaybackviewplugin.rsc" - -"\epoc32\release\armv5\urel\mpsettingsviewplugin.dll" - "!:\sys\bin\mpsettingsviewplugin.dll" -"\epoc32\data\Z\resource\plugins\mpsettingsviewplugin.rsc" - "!:\resource\plugins\mpsettingsviewplugin.rsc" - -"\epoc32\release\armv5\urel\mpdetailsviewplugin.dll" - "!:\sys\bin\mpdetailsviewplugin.dll" -"\epoc32\data\Z\resource\plugins\mpdetailsviewplugin.rsc" - "!:\resource\plugins\mpdetailsviewplugin.rsc" - -; data -"\epoc32\data\Z\system\data\nullsound.mp3" -"!:\nullsound.mp3" - -@"mpxservicesplugins.sis",(0x101FFC62) \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/musicplayer_stub.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/musicplayer_stub.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,80 @@ +; +; 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: +; +; Language +&EN + +; SIS header: name, uid, version +#{"musicplayer"}, (0x10207C62), 1,0,0, TYPE=SA + +; Localised Vendor name +%{"Nokia, Qt Software"} + +; Unique Vendor name +:"Nokia, Qt Software" + +; Executable and default resource files +""-"z:\sys\bin\musicplayer.exe" +""-"z:\resource\apps\musicplayer.r*" +""-"z:\private\10003a3f\import\apps\musicplayer_reg.rsc" +""-"z:\resource\apps\musicplayer.mif" +""-"z:\resource\qt\translations\musicplayer*.qm" + +; DLLs +""-"z:\sys\bin\mpnowplayingbanner.dll" +""-"z:\sys\bin\mpsettingsmanager.dll" +""-"z:\sys\bin\mpdata.dll" +""-"z:\sys\bin\mpengine.dll" +""-"z:\sys\bin\musicservices.dll" + +; CenRep +""-"z:\private\10202be9\10207C92.txt" + +; PLUGIN AND VIEW +""-"z:\sys\bin\mpcollectionviewplugin.dll" +""-"z:\resource\plugins\mpcollectionviewplugin.r*" + +""-"z:\sys\bin\mpplaybackviewplugin.dll" +""-"z:\resource\plugins\mpplaybackviewplugin.r*" + +""-"z:\sys\bin\mpsettingsviewplugin.dll" +""-"z:\resource\plugins\mpsettingsviewplugin.r*" + +""-"z:\sys\bin\mpdetailsviewplugin.dll" +""-"z:\resource\plugins\mpdetailsviewplugin.r*" + +""-"z:\sys\bin\mpmediawallviewplugin.dll" +""-"z:\resource\plugins\mpmediawallviewplugin.r*" + +; DATA +""-"z:\system\data\nullsound.mp3" + +;MP SERVICE PLUGINGS +""-"z:\sys\bin\mpxaudioeffectengine.dll" +""-"z:\sys\bin\mpxlocalaudioplayback.dll" +""-"z:\sys\bin\mpxm3uplaylistparsers.dll" +""-"z:\sys\bin\mpxm3uplaylistplugin.dll" +""-"z:\sys\bin\mpxinmemoryplugin.dll" +""-"z:\sys\bin\mpxsqlitedbcommon.dll" +""-"z:\sys\bin\mpxsqlitedbhgplugin.dll" +""-"z:\sys\bin\mpxsqlitepodcastdbplugin.dll" + +""-"z:\resource\plugins\mpxlocalaudioplayback.r*" +""-"z:\resource\plugins\mpxm3uplaylistplugin.r*" +""-"z:\resource\plugins\mpxinmemoryplugin.r*" +""-"z:\resource\plugins\mpxsqlitedbhgplugin.r*" +""-"z:\resource\apps\mpxcollectiondbhgres.r*" +""-"z:\resource\plugins\mpxsqlitepodcastdbplugin.r*" +""-"z:\resource\apps\pcres.r*" diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/musicplayer_stub.sis Binary file sis/musicplayer_stub.sis has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/musicplayer_udeb.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/musicplayer_udeb.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,243 @@ +; +; 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: +; +; Language +&EN, FR, GE, SP, IT, SW, DA, NO, FI, AM, PO, TU, IC, RU, HU, DU, CS, SK, PL, SL, TC, HK, ZH, JA, TH, AR, TL, BG, CA, +HR, ET, FA, CF, EL, HE, IN, KO, LV, LT, MS, BP, RO, SR, LS, UK, UR, VI, BA, GL, 129, 157, 158, 159, 160, 161, 326, 327 + +; SIS header: name, uid, version +#{"musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer" + }, (0x10207C62), 1,0,0, TYPE=SA, RU + +; Localised Vendor name +%{"Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software" + } + +; Unique Vendor name +:"Nokia, Qt Software" + +; Dependencies +[0x101F7961],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x102032BE],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x102752AE],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x1028315F],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } + +; Executable and default resource files +"\epoc32\release\armv5\udeb\musicplayer.exe" - "!:\sys\bin\musicplayer.exe" +"\epoc32\data\z\private\10003a3f\import\apps\musicplayer_reg.rsc" - "!:\private\10003a3f\import\apps\musicplayer_reg.rsc" +"\epoc32\data\z\resource\apps\musicplayer.mif" - "!:\resource\apps\musicplayer.mif" + +; Localized files +{ +"\epoc32\data\Z\resource\apps\musicplayer.r01" +"\epoc32\data\Z\resource\apps\musicplayer.r02" +"\epoc32\data\Z\resource\apps\musicplayer.r03" +"\epoc32\data\Z\resource\apps\musicplayer.r04" +"\epoc32\data\Z\resource\apps\musicplayer.r05" +"\epoc32\data\Z\resource\apps\musicplayer.r06" +"\epoc32\data\Z\resource\apps\musicplayer.r07" +"\epoc32\data\Z\resource\apps\musicplayer.r08" +"\epoc32\data\Z\resource\apps\musicplayer.r09" +"\epoc32\data\Z\resource\apps\musicplayer.r10" +"\epoc32\data\Z\resource\apps\musicplayer.r13" +"\epoc32\data\Z\resource\apps\musicplayer.r14" +"\epoc32\data\Z\resource\apps\musicplayer.r15" +"\epoc32\data\Z\resource\apps\musicplayer.r16" +"\epoc32\data\Z\resource\apps\musicplayer.r17" +"\epoc32\data\Z\resource\apps\musicplayer.r18" +"\epoc32\data\Z\resource\apps\musicplayer.r25" +"\epoc32\data\Z\resource\apps\musicplayer.r26" +"\epoc32\data\Z\resource\apps\musicplayer.r27" +"\epoc32\data\Z\resource\apps\musicplayer.r28" +"\epoc32\data\Z\resource\apps\musicplayer.r29" +"\epoc32\data\Z\resource\apps\musicplayer.r30" +"\epoc32\data\Z\resource\apps\musicplayer.r31" +"\epoc32\data\Z\resource\apps\musicplayer.r32" +"\epoc32\data\Z\resource\apps\musicplayer.r33" +"\epoc32\data\Z\resource\apps\musicplayer.r37" +"\epoc32\data\Z\resource\apps\musicplayer.r39" +"\epoc32\data\Z\resource\apps\musicplayer.r42" +"\epoc32\data\Z\resource\apps\musicplayer.r44" +"\epoc32\data\Z\resource\apps\musicplayer.r45" +"\epoc32\data\Z\resource\apps\musicplayer.r49" +"\epoc32\data\Z\resource\apps\musicplayer.r50" +"\epoc32\data\Z\resource\apps\musicplayer.r51" +"\epoc32\data\Z\resource\apps\musicplayer.r54" +"\epoc32\data\Z\resource\apps\musicplayer.r57" +"\epoc32\data\Z\resource\apps\musicplayer.r59" +"\epoc32\data\Z\resource\apps\musicplayer.r65" +"\epoc32\data\Z\resource\apps\musicplayer.r67" +"\epoc32\data\Z\resource\apps\musicplayer.r68" +"\epoc32\data\Z\resource\apps\musicplayer.r70" +"\epoc32\data\Z\resource\apps\musicplayer.r76" +"\epoc32\data\Z\resource\apps\musicplayer.r78" +"\epoc32\data\Z\resource\apps\musicplayer.r79" +"\epoc32\data\Z\resource\apps\musicplayer.r83" +"\epoc32\data\Z\resource\apps\musicplayer.r93" +"\epoc32\data\Z\resource\apps\musicplayer.r94" +"\epoc32\data\Z\resource\apps\musicplayer.r96" +"\epoc32\data\Z\resource\apps\musicplayer.r102" +"\epoc32\data\Z\resource\apps\musicplayer.r103" +"\epoc32\data\Z\resource\apps\musicplayer.r129" +"\epoc32\data\Z\resource\apps\musicplayer.r157" +"\epoc32\data\Z\resource\apps\musicplayer.r158" +"\epoc32\data\Z\resource\apps\musicplayer.r159" +"\epoc32\data\Z\resource\apps\musicplayer.r160" +"\epoc32\data\Z\resource\apps\musicplayer.r161" +"\epoc32\data\Z\resource\apps\musicplayer.r326" +"\epoc32\data\Z\resource\apps\musicplayer.r327" +} - "!:\resource\apps\musicplayer.rsc" + +;If qm files needed add them here. +;{} - "!:\resource\qt\translations\musicplayer.qm" + +; DLLs +"\epoc32\release\armv5\udeb\mpnowplayingbanner.dll" - "!:\sys\bin\mpnowplayingbanner.dll" +"\epoc32\release\armv5\udeb\mpsettingsmanager.dll" - "!:\sys\bin\mpsettingsmanager.dll" +"\epoc32\release\armv5\udeb\mpdata.dll" - "!:\sys\bin\mpdata.dll" +"\epoc32\release\armv5\udeb\mpengine.dll" - "!:\sys\bin\mpengine.dll" +"\epoc32\release\armv5\udeb\musicservices.dll" - "!:\sys\bin\musicservices.dll" + +; CenRep +"\epoc32\data\Z\private\10202be9\10207C92.txt" - "!:\private\10202be9\10207C92.txt" + +; PLUGIN AND VIEW +"\epoc32\release\armv5\udeb\mpcollectionviewplugin.dll" - "!:\sys\bin\mpcollectionviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpcollectionviewplugin.rsc" - "!:\resource\plugins\mpcollectionviewplugin.rsc" + +"\epoc32\release\armv5\udeb\mpplaybackviewplugin.dll" - "!:\sys\bin\mpplaybackviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpplaybackviewplugin.rsc" - "!:\resource\plugins\mpplaybackviewplugin.rsc" + +"\epoc32\release\armv5\udeb\mpsettingsviewplugin.dll" - "!:\sys\bin\mpsettingsviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpsettingsviewplugin.rsc" - "!:\resource\plugins\mpsettingsviewplugin.rsc" + +"\epoc32\release\armv5\udeb\mpdetailsviewplugin.dll" - "!:\sys\bin\mpdetailsviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpdetailsviewplugin.rsc" - "!:\resource\plugins\mpdetailsviewplugin.rsc" + +"\epoc32\release\armv5\udeb\mpmediawallviewplugin.dll" - "!:\sys\bin\mpmediawallviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpmediawallviewplugin.rsc" - "!:\resource\plugins\mpmediawallviewplugin.rsc" + +; DATA +"\epoc32\data\Z\system\data\nullsound.mp3" - "!:\system\data\nullsound.mp3" + +;MP SERVICE PLUGINGS +"\epoc32\release\armv5\udeb\mpxaudioeffectengine.dll" -"!:\sys\bin\mpxaudioeffectengine.dll" +"\epoc32\release\armv5\udeb\mpxlocalaudioplayback.dll" -"!:\sys\bin\mpxlocalaudioplayback.dll" +"\epoc32\release\armv5\udeb\mpxm3uplaylistparsers.dll" -"!:\sys\bin\mpxm3uplaylistparsers.dll" +"\epoc32\release\armv5\udeb\mpxm3uplaylistplugin.dll" -"!:\sys\bin\mpxm3uplaylistplugin.dll" +"\epoc32\release\armv5\udeb\mpxinmemoryplugin.dll" -"!:\sys\bin\mpxinmemoryplugin.dll" +"\epoc32\release\armv5\udeb\mpxsqlitedbcommon.dll" -"!:\sys\bin\mpxsqlitedbcommon.dll" +"\epoc32\release\armv5\udeb\mpxsqlitedbhgplugin.dll" -"!:\sys\bin\mpxsqlitedbhgplugin.dll" +"\epoc32\release\armv5\udeb\mpxsqlitepodcastdbplugin.dll" -"!:\sys\bin\mpxsqlitepodcastdbplugin.dll" + +"\epoc32\data\Z\resource\plugins\mpxlocalaudioplayback.rsc" -"!:\resource\plugins\mpxlocalaudioplayback.rsc" +"\epoc32\data\Z\resource\plugins\mpxm3uplaylistplugin.rsc" -"!:\resource\plugins\mpxm3uplaylistplugin.rsc" +"\epoc32\data\Z\resource\plugins\mpxinmemoryplugin.rsc" -"!:\resource\plugins\mpxinmemoryplugin.rsc" +"\epoc32\data\Z\resource\plugins\mpxsqlitedbhgplugin.rsc" -"!:\resource\plugins\mpxsqlitedbhgplugin.rsc" +"\epoc32\data\Z\resource\apps\mpxcollectiondbhgres.rsc" -"!:\resource\apps\mpxcollectiondbhgres.rsc" +"\epoc32\data\Z\resource\plugins\mpxsqlitepodcastdbplugin.rsc" -"!:\resource\plugins\mpxsqlitepodcastdbplugin.rsc" +"\epoc32\data\Z\resource\apps\pcres.rsc" -"!:\resource\apps\pcres.rsc" diff -r b95ddb5a0d10 -r eff9df3d9c98 sis/musicplayer_urel.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sis/musicplayer_urel.pkg Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,244 @@ +; +; 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: +; +; Language +&EN, FR, GE, SP, IT, SW, DA, NO, FI, AM, PO, TU, IC, RU, HU, DU, CS, SK, PL, SL, TC, HK, ZH, JA, TH, AR, TL, BG, CA, +HR, ET, FA, CF, EL, HE, IN, KO, LV, LT, MS, BP, RO, SR, LS, UK, UR, VI, BA, GL, 129, 157, 158, 159, 160, 161, 326, 327 + +; SIS header: name, uid, version +#{"musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer", "musicplayer", "musicplayer", "musicplayer", + "musicplayer" + }, (0x10207C62), 1,0,0, TYPE=SA, RU + +; Localised Vendor name +%{"Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", "Nokia, Qt Software", + "Nokia, Qt Software" + } + +; Unique Vendor name +:"Nokia, Qt Software" + +; Dependencies +[0x101F7961],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x102032BE],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x102752AE],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } +[0x1028315F],0,0,0,{ + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID", "S60ProductID", "S60ProductID", "S60ProductID", + "S60ProductID" + } + +; Executable and default resource files +"\epoc32\release\armv5\urel\musicplayer.exe" - "!:\sys\bin\musicplayer.exe" +"\epoc32\data\z\private\10003a3f\import\apps\musicplayer_reg.rsc" - "!:\private\10003a3f\import\apps\musicplayer_reg.rsc" +"\epoc32\data\z\resource\apps\musicplayer.mif" - "!:\resource\apps\musicplayer.mif" + +; Localized files +{ +"\epoc32\data\Z\resource\apps\musicplayer.r01" +"\epoc32\data\Z\resource\apps\musicplayer.r02" +"\epoc32\data\Z\resource\apps\musicplayer.r03" +"\epoc32\data\Z\resource\apps\musicplayer.r04" +"\epoc32\data\Z\resource\apps\musicplayer.r05" +"\epoc32\data\Z\resource\apps\musicplayer.r06" +"\epoc32\data\Z\resource\apps\musicplayer.r07" +"\epoc32\data\Z\resource\apps\musicplayer.r08" +"\epoc32\data\Z\resource\apps\musicplayer.r09" +"\epoc32\data\Z\resource\apps\musicplayer.r10" +"\epoc32\data\Z\resource\apps\musicplayer.r13" +"\epoc32\data\Z\resource\apps\musicplayer.r14" +"\epoc32\data\Z\resource\apps\musicplayer.r15" +"\epoc32\data\Z\resource\apps\musicplayer.r16" +"\epoc32\data\Z\resource\apps\musicplayer.r17" +"\epoc32\data\Z\resource\apps\musicplayer.r18" +"\epoc32\data\Z\resource\apps\musicplayer.r25" +"\epoc32\data\Z\resource\apps\musicplayer.r26" +"\epoc32\data\Z\resource\apps\musicplayer.r27" +"\epoc32\data\Z\resource\apps\musicplayer.r28" +"\epoc32\data\Z\resource\apps\musicplayer.r29" +"\epoc32\data\Z\resource\apps\musicplayer.r30" +"\epoc32\data\Z\resource\apps\musicplayer.r31" +"\epoc32\data\Z\resource\apps\musicplayer.r32" +"\epoc32\data\Z\resource\apps\musicplayer.r33" +"\epoc32\data\Z\resource\apps\musicplayer.r37" +"\epoc32\data\Z\resource\apps\musicplayer.r39" +"\epoc32\data\Z\resource\apps\musicplayer.r42" +"\epoc32\data\Z\resource\apps\musicplayer.r44" +"\epoc32\data\Z\resource\apps\musicplayer.r45" +"\epoc32\data\Z\resource\apps\musicplayer.r49" +"\epoc32\data\Z\resource\apps\musicplayer.r50" +"\epoc32\data\Z\resource\apps\musicplayer.r51" +"\epoc32\data\Z\resource\apps\musicplayer.r54" +"\epoc32\data\Z\resource\apps\musicplayer.r57" +"\epoc32\data\Z\resource\apps\musicplayer.r59" +"\epoc32\data\Z\resource\apps\musicplayer.r65" +"\epoc32\data\Z\resource\apps\musicplayer.r67" +"\epoc32\data\Z\resource\apps\musicplayer.r68" +"\epoc32\data\Z\resource\apps\musicplayer.r70" +"\epoc32\data\Z\resource\apps\musicplayer.r76" +"\epoc32\data\Z\resource\apps\musicplayer.r78" +"\epoc32\data\Z\resource\apps\musicplayer.r79" +"\epoc32\data\Z\resource\apps\musicplayer.r83" +"\epoc32\data\Z\resource\apps\musicplayer.r93" +"\epoc32\data\Z\resource\apps\musicplayer.r94" +"\epoc32\data\Z\resource\apps\musicplayer.r96" +"\epoc32\data\Z\resource\apps\musicplayer.r102" +"\epoc32\data\Z\resource\apps\musicplayer.r103" +"\epoc32\data\Z\resource\apps\musicplayer.r129" +"\epoc32\data\Z\resource\apps\musicplayer.r157" +"\epoc32\data\Z\resource\apps\musicplayer.r158" +"\epoc32\data\Z\resource\apps\musicplayer.r159" +"\epoc32\data\Z\resource\apps\musicplayer.r160" +"\epoc32\data\Z\resource\apps\musicplayer.r161" +"\epoc32\data\Z\resource\apps\musicplayer.r326" +"\epoc32\data\Z\resource\apps\musicplayer.r327" +} - "!:\resource\apps\musicplayer.rsc" + +;If qm files needed add them here. +;{} - "!:\resource\qt\translations\musicplayer.qm" + +; DLLs +"\epoc32\release\armv5\urel\mpnowplayingbanner.dll" - "!:\sys\bin\mpnowplayingbanner.dll" +"\epoc32\release\armv5\urel\mpsettingsmanager.dll" - "!:\sys\bin\mpsettingsmanager.dll" +"\epoc32\release\armv5\urel\mpdata.dll" - "!:\sys\bin\mpdata.dll" +"\epoc32\release\armv5\urel\mpengine.dll" - "!:\sys\bin\mpengine.dll" +"\epoc32\release\armv5\urel\musicservices.dll" - "!:\sys\bin\musicservices.dll" + +; CenRep +"\epoc32\data\Z\private\10202be9\10207C92.txt" - "!:\private\10202be9\10207C92.txt" + +; PLUGIN AND VIEW +"\epoc32\release\armv5\urel\mpcollectionviewplugin.dll" - "!:\sys\bin\mpcollectionviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpcollectionviewplugin.rsc" - "!:\resource\plugins\mpcollectionviewplugin.rsc" + +"\epoc32\release\armv5\urel\mpplaybackviewplugin.dll" - "!:\sys\bin\mpplaybackviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpplaybackviewplugin.rsc" - "!:\resource\plugins\mpplaybackviewplugin.rsc" + +"\epoc32\release\armv5\urel\mpsettingsviewplugin.dll" - "!:\sys\bin\mpsettingsviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpsettingsviewplugin.rsc" - "!:\resource\plugins\mpsettingsviewplugin.rsc" + +"\epoc32\release\armv5\urel\mpdetailsviewplugin.dll" - "!:\sys\bin\mpdetailsviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpdetailsviewplugin.rsc" - "!:\resource\plugins\mpdetailsviewplugin.rsc" + +"\epoc32\release\armv5\urel\mpmediawallviewplugin.dll" - "!:\sys\bin\mpmediawallviewplugin.dll" +"\epoc32\data\Z\resource\plugins\mpmediawallviewplugin.rsc" - "!:\resource\plugins\mpmediawallviewplugin.rsc" + +; DATA +"\epoc32\data\Z\system\data\nullsound.mp3" - "!:\system\data\nullsound.mp3" + +;MP SERVICE PLUGINGS +"\epoc32\release\armv5\urel\mpxaudioeffectengine.dll" -"!:\sys\bin\mpxaudioeffectengine.dll" +"\epoc32\release\armv5\urel\mpxlocalaudioplayback.dll" -"!:\sys\bin\mpxlocalaudioplayback.dll" +"\epoc32\release\armv5\urel\mpxm3uplaylistparsers.dll" -"!:\sys\bin\mpxm3uplaylistparsers.dll" +"\epoc32\release\armv5\urel\mpxm3uplaylistplugin.dll" -"!:\sys\bin\mpxm3uplaylistplugin.dll" +"\epoc32\release\armv5\urel\mpxinmemoryplugin.dll" -"!:\sys\bin\mpxinmemoryplugin.dll" +"\epoc32\release\armv5\urel\mpxsqlitedbcommon.dll" -"!:\sys\bin\mpxsqlitedbcommon.dll" +"\epoc32\release\armv5\urel\mpxsqlitedbhgplugin.dll" -"!:\sys\bin\mpxsqlitedbhgplugin.dll" +"\epoc32\release\armv5\urel\mpxsqlitepodcastdbplugin.dll" -"!:\sys\bin\mpxsqlitepodcastdbplugin.dll" + +"\epoc32\data\Z\resource\plugins\mpxlocalaudioplayback.rsc" -"!:\resource\plugins\mpxlocalaudioplayback.rsc" +"\epoc32\data\Z\resource\plugins\mpxm3uplaylistplugin.rsc" -"!:\resource\plugins\mpxm3uplaylistplugin.rsc" +"\epoc32\data\Z\resource\plugins\mpxinmemoryplugin.rsc" -"!:\resource\plugins\mpxinmemoryplugin.rsc" +"\epoc32\data\Z\resource\plugins\mpxsqlitedbhgplugin.rsc" -"!:\resource\plugins\mpxsqlitedbhgplugin.rsc" +"\epoc32\data\Z\resource\apps\mpxcollectiondbhgres.rsc" -"!:\resource\apps\mpxcollectiondbhgres.rsc" +"\epoc32\data\Z\resource\plugins\mpxsqlitepodcastdbplugin.rsc" -"!:\resource\plugins\mpxsqlitepodcastdbplugin.rsc" +"\epoc32\data\Z\resource\apps\pcres.rsc" -"!:\resource\apps\pcres.rsc" + diff -r b95ddb5a0d10 -r eff9df3d9c98 tsrc/mpfetchertestapp/inc/mpfetchertestappview.h --- a/tsrc/mpfetchertestapp/inc/mpfetchertestappview.h Fri Jun 11 16:24:02 2010 +0100 +++ b/tsrc/mpfetchertestapp/inc/mpfetchertestappview.h Thu Jul 22 16:32:33 2010 +0100 @@ -40,6 +40,13 @@ void playSong(); void viewSong(); void viewSongCaged(); + void launchHomeScreen(); + void launchHomeScreenNowPlaying(); + void launchHomeScreenNPShuffle(); + void playNPVSong(); + void endMP(); + void killMP(); + private: diff -r b95ddb5a0d10 -r eff9df3d9c98 tsrc/mpfetchertestapp/mpfetchertestapp.pro --- a/tsrc/mpfetchertestapp/mpfetchertestapp.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/tsrc/mpfetchertestapp/mpfetchertestapp.pro Thu Jul 22 16:32:33 2010 +0100 @@ -26,7 +26,7 @@ symbian { -# include(rom/rom.pri) # to include in image +# include(rom/rom.pri) # to include in image TARGET.UID2 = 0x100039CE TARGET.UID3 = 0x10207C6A TARGET.EPOCSTACKSIZE = 0x14000 diff -r b95ddb5a0d10 -r eff9df3d9c98 tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp --- a/tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -21,9 +21,14 @@ #include #include #include -#include +#include #include "mpfetchertestappview.h" +#include +#include +#include +#include + MpFetcherTestAppView::MpFetcherTestAppView(QGraphicsItem *parent) : HbView(parent), @@ -120,18 +125,68 @@ connect(button, SIGNAL(clicked()), SLOT(fetchSong())); bottomLayout->addItem(button); } + + QGraphicsLinearLayout *playLayout = new QGraphicsLinearLayout(Qt::Horizontal); HbPushButton* playButton = new HbPushButton("Play song"); if (playButton) { connect(playButton, SIGNAL(clicked()), SLOT(viewSong())); - bottomLayout->addItem(playButton); + playLayout->addItem(playButton); } HbPushButton* viewButton = new HbPushButton("Play song caged"); if (viewButton) { connect(viewButton, SIGNAL(clicked()), SLOT(viewSongCaged())); - bottomLayout->addItem(viewButton); + playLayout->addItem(viewButton); + } + bottomLayout->addItem(playLayout); + + QGraphicsLinearLayout *hsLayout = new QGraphicsLinearLayout(Qt::Horizontal); + HbPushButton* homeScreenButton = new HbPushButton("HS Widget MainView"); + if (homeScreenButton) + { + connect(homeScreenButton, SIGNAL(clicked()), SLOT(launchHomeScreen())); + hsLayout->addItem(homeScreenButton); + } + + HbPushButton* homeScreenButtonNPV = new HbPushButton("HS Widget NowPlayingView"); + if (homeScreenButtonNPV) + { + connect(homeScreenButtonNPV, SIGNAL(clicked()), SLOT(launchHomeScreenNowPlaying())); + hsLayout->addItem(homeScreenButtonNPV); + } + + HbPushButton* homeScreenButtonNPVS = new HbPushButton("HS Widget NPV Shuffle"); + if (homeScreenButtonNPVS) + { + connect(homeScreenButtonNPVS, SIGNAL(clicked()), SLOT(launchHomeScreenNPShuffle())); + hsLayout->addItem(homeScreenButtonNPVS); } + bottomLayout->addItem(hsLayout); + + HbPushButton* NowPlayingButton = new HbPushButton("NPV File Activity"); + if (NowPlayingButton) + { + connect(NowPlayingButton, SIGNAL(clicked()), SLOT(playNPVSong())); + bottomLayout->addItem(NowPlayingButton); + } + QGraphicsLinearLayout *goomLayout = new QGraphicsLinearLayout(Qt::Horizontal); + HbPushButton* endButton = new HbPushButton("End MP"); + if (endButton) + { + connect(endButton, SIGNAL(clicked()), SLOT(endMP())); + goomLayout->addItem(endButton); + } + + HbPushButton* killButton = new HbPushButton("Kill MP"); + if (killButton) + { + connect(killButton, SIGNAL(clicked()), SLOT(killMP())); + goomLayout->addItem(killButton); + } + + bottomLayout->addItem(goomLayout); + layout->addItem(bottomLayout); } @@ -326,3 +381,145 @@ } + +void MpFetcherTestAppView::launchHomeScreen() +{ + QUrl url; + + url.setUrl("appto://10207C62?activityname=MusicMainView&launchtype=standalone"); + if(mReq){ + delete mReq; + mReq = 0; + } + mReq = mAppMgr.create(url); + if (mReq == NULL) + { + // No handlers for the URI + return; + } + + mReq->setBackground(false); + + // Send the request + bool res = mReq->send(); + if (!res) + { + // Request failed. + int error = mReq->lastError(); + + // Handle error + } + +} + +void MpFetcherTestAppView::launchHomeScreenNowPlaying() +{ + QUrl url; + + url.setUrl("appto://10207C62?activityname=MusicNowPlayingView&launchtype=standalone"); + if(mReq){ + delete mReq; + mReq = 0; + } + mReq = mAppMgr.create(url); + if (mReq == NULL) + { + // No handlers for the URI + return; + } + + mReq->setBackground(false); + + // Send the request + bool res = mReq->send(); + if (!res) + { + // Request failed. + int error = mReq->lastError(); + + // Handle error + } + +} + +void MpFetcherTestAppView::launchHomeScreenNPShuffle() +{ + QUrl url; + + url.setUrl("appto://10207C62?activityname=MusicNowPlayingView&launchtype=standalone&shuffle=yes"); + if(mReq){ + delete mReq; + mReq = 0; + } + mReq = mAppMgr.create(url); + if (mReq == NULL) + { + // No handlers for the URI + return; + } + + mReq->setBackground(false); + + // Send the request + bool res = mReq->send(); + if (!res) + { + // Request failed. + int error = mReq->lastError(); + + // Handle error + } + +} + +void MpFetcherTestAppView::playNPVSong() +{ + QUrl url; + + url.setUrl("appto://10207C62?activityname=MusicNowPlayingView&launchtype=standalone&uri=" + mResultEdit->text() ); + if(mReq){ + delete mReq; + mReq = 0; + } + mReq = mAppMgr.create(url); + if (mReq == NULL) + { + // No handlers for the URI + return; + } + + mReq->setBackground(false); + + // Send the request + bool res = mReq->send(); + if (!res) + { + // Request failed. + int error = mReq->lastError(); + + // Handle error + } + +} + +void MpFetcherTestAppView::endMP() +{ + TApaTaskList taskList(CEikonEnv::Static()->WsSession()); + TApaTask task = taskList.FindApp(TUid::Uid(270564450)); + if (task.Exists()) { + task.EndTask(); + } else { + qCritical("Cannot bring to forward task %08x", 270564450); + } + +} +void MpFetcherTestAppView::killMP() +{ + TApaTaskList taskList(CEikonEnv::Static()->WsSession()); + TApaTask task = taskList.FindApp(TUid::Uid(270564450)); + if (task.Exists()) { + task.KillTask(); + } else { + qCritical("Cannot bring to forward task %08x", 270564450); + } +} diff -r b95ddb5a0d10 -r eff9df3d9c98 tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,28 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS += ..\mpdata\tsrc +SUBDIRS += ..\mpengine\tsrc +SUBDIRS += ..\app\tsrc +SUBDIRS += ..\mpviewplugins\mpcollectionviewplugin\tsrc +SUBDIRS += ..\mpviewplugins\mpmediawallviewplugin\tsrc +SUBDIRS += ..\mpviewplugins\mpplaybackviewplugin\tsrc +SUBDIRS += ..\mpviewplugins\mpsettingsviewplugin\tsrc +SUBDIRS += ..\utilities\mpnowplayingbanner\tsrc +SUBDIRS += ..\utilities\mpsettingsmanager\tsrc + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def --- a/utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,21 +1,22 @@ EXPORTS ?qt_metacall@MpNowPlayingWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int MpNowPlayingWidget::qt_metacall(enum QMetaObject::Call, int, void * *) ?trUtf8@MpNowPlayingWidget@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString MpNowPlayingWidget::trUtf8(char const *, char const *, int) - ??0MpNowPlayingWidget@@QAE@JPAVQGraphicsItem@@@Z @ 3 NONAME ; MpNowPlayingWidget::MpNowPlayingWidget(long, class QGraphicsItem *) - ?qt_metacast@MpNowPlayingWidget@@UAEPAXPBD@Z @ 4 NONAME ; void * MpNowPlayingWidget::qt_metacast(char const *) - ?clicked@MpNowPlayingWidget@@IAEXXZ @ 5 NONAME ; void MpNowPlayingWidget::clicked(void) - ?mousePressEvent@MpNowPlayingWidget@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 6 NONAME ; void MpNowPlayingWidget::mousePressEvent(class QGraphicsSceneMouseEvent *) - ?metaObject@MpNowPlayingWidget@@UBEPBUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const * MpNowPlayingWidget::metaObject(void) const - ?getStaticMetaObject@MpNowPlayingWidget@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & MpNowPlayingWidget::getStaticMetaObject(void) - ?tr@MpNowPlayingWidget@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString MpNowPlayingWidget::tr(char const *, char const *) + ??0MpNowPlayingWidget@@QAE@PAVQGraphicsItem@@@Z @ 3 NONAME ; MpNowPlayingWidget::MpNowPlayingWidget(class QGraphicsItem *) + ?resizeEvent@MpNowPlayingWidget@@UAEXPAVQGraphicsSceneResizeEvent@@@Z @ 4 NONAME ; void MpNowPlayingWidget::resizeEvent(class QGraphicsSceneResizeEvent *) + ?qt_metacast@MpNowPlayingWidget@@UAEPAXPBD@Z @ 5 NONAME ; void * MpNowPlayingWidget::qt_metacast(char const *) + ?clicked@MpNowPlayingWidget@@IAEXXZ @ 6 NONAME ; void MpNowPlayingWidget::clicked(void) + ?setEnabled@MpNowPlayingWidget@@QAEX_N@Z @ 7 NONAME ; void MpNowPlayingWidget::setEnabled(bool) + ?mousePressEvent@MpNowPlayingWidget@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 8 NONAME ; void MpNowPlayingWidget::mousePressEvent(class QGraphicsSceneMouseEvent *) + ?metaObject@MpNowPlayingWidget@@UBEPBUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const * MpNowPlayingWidget::metaObject(void) const ?tr@MpNowPlayingWidget@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString MpNowPlayingWidget::tr(char const *, char const *, int) - ??1MpNowPlayingWidget@@UAE@XZ @ 11 NONAME ; MpNowPlayingWidget::~MpNowPlayingWidget(void) - ?mouseReleaseEvent@MpNowPlayingWidget@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 12 NONAME ; void MpNowPlayingWidget::mouseReleaseEvent(class QGraphicsSceneMouseEvent *) + ?tr@MpNowPlayingWidget@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString MpNowPlayingWidget::tr(char const *, char const *) + ?getStaticMetaObject@MpNowPlayingWidget@@SAABUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const & MpNowPlayingWidget::getStaticMetaObject(void) ?trUtf8@MpNowPlayingWidget@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString MpNowPlayingWidget::trUtf8(char const *, char const *) - ?playbackAttachmentChanged@MpNowPlayingWidget@@IAEX_N@Z @ 14 NONAME ; void MpNowPlayingWidget::playbackAttachmentChanged(bool) - ??_EMpNowPlayingWidget@@UAE@I@Z @ 15 NONAME ; MpNowPlayingWidget::~MpNowPlayingWidget(unsigned int) - ?staticMetaObject@MpNowPlayingWidget@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const MpNowPlayingWidget::staticMetaObject - ?paint@MpNowPlayingWidget@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 17 NONAME ; void MpNowPlayingWidget::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *) - ?setEnabled@MpNowPlayingWidget@@QAEX_N@Z @ 18 NONAME ; void MpNowPlayingWidget::setEnabled(bool) - ?changeEvent@MpNowPlayingWidget@@EAEXPAVQEvent@@@Z @ 19 NONAME ; void MpNowPlayingWidget::changeEvent(class QEvent *) + ??1MpNowPlayingWidget@@UAE@XZ @ 14 NONAME ; MpNowPlayingWidget::~MpNowPlayingWidget(void) + ?mouseReleaseEvent@MpNowPlayingWidget@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 15 NONAME ; void MpNowPlayingWidget::mouseReleaseEvent(class QGraphicsSceneMouseEvent *) + ?isBannerAttached@MpNowPlayingWidget@@QAE_NXZ @ 16 NONAME ; bool MpNowPlayingWidget::isBannerAttached(void) + ?playbackAttachmentChanged@MpNowPlayingWidget@@IAEX_N@Z @ 17 NONAME ; void MpNowPlayingWidget::playbackAttachmentChanged(bool) + ?staticMetaObject@MpNowPlayingWidget@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const MpNowPlayingWidget::staticMetaObject + ??_EMpNowPlayingWidget@@UAE@I@Z @ 19 NONAME ; MpNowPlayingWidget::~MpNowPlayingWidget(unsigned int) + ?mouseMoveEvent@MpNowPlayingWidget@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 20 NONAME ; void MpNowPlayingWidget::mouseMoveEvent(class QGraphicsSceneMouseEvent *) diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def --- a/utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def Thu Jul 22 16:32:33 2010 +0100 @@ -1,28 +1,29 @@ EXPORTS - _ZN18MpNowPlayingWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME - _ZN18MpNowPlayingWidget11qt_metacastEPKc @ 2 NONAME - _ZN18MpNowPlayingWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 3 NONAME - _ZN18MpNowPlayingWidget16staticMetaObjectE @ 4 NONAME DATA 16 - _ZN18MpNowPlayingWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 5 NONAME - _ZN18MpNowPlayingWidget19getStaticMetaObjectEv @ 6 NONAME - _ZN18MpNowPlayingWidget25playbackAttachmentChangedEb @ 7 NONAME - _ZN18MpNowPlayingWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 8 NONAME - _ZN18MpNowPlayingWidget7clickedEv @ 9 NONAME - _ZN18MpNowPlayingWidgetC1ElP13QGraphicsItem @ 10 NONAME - _ZN18MpNowPlayingWidgetC2ElP13QGraphicsItem @ 11 NONAME - _ZN18MpNowPlayingWidgetD0Ev @ 12 NONAME - _ZN18MpNowPlayingWidgetD1Ev @ 13 NONAME - _ZN18MpNowPlayingWidgetD2Ev @ 14 NONAME - _ZNK18MpNowPlayingWidget10metaObjectEv @ 15 NONAME - _ZTI18MpNowPlayingWidget @ 16 NONAME - _ZTV18MpNowPlayingWidget @ 17 NONAME - _ZThn16_N18MpNowPlayingWidgetD0Ev @ 18 NONAME - _ZThn16_N18MpNowPlayingWidgetD1Ev @ 19 NONAME - _ZThn8_N18MpNowPlayingWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 20 NONAME - _ZThn8_N18MpNowPlayingWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 21 NONAME - _ZThn8_N18MpNowPlayingWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 22 NONAME - _ZThn8_N18MpNowPlayingWidgetD0Ev @ 23 NONAME - _ZThn8_N18MpNowPlayingWidgetD1Ev @ 24 NONAME - _ZN18MpNowPlayingWidget10setEnabledEb @ 25 NONAME - _ZN18MpNowPlayingWidget11changeEventEP6QEvent @ 26 NONAME + _ZN18MpNowPlayingWidget10setEnabledEb @ 1 NONAME + _ZN18MpNowPlayingWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME + _ZN18MpNowPlayingWidget11qt_metacastEPKc @ 3 NONAME + _ZN18MpNowPlayingWidget11resizeEventEP25QGraphicsSceneResizeEvent @ 4 NONAME + _ZN18MpNowPlayingWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 5 NONAME + _ZN18MpNowPlayingWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 6 NONAME + _ZN18MpNowPlayingWidget16isBannerAttachedEv @ 7 NONAME + _ZN18MpNowPlayingWidget16staticMetaObjectE @ 8 NONAME DATA 16 + _ZN18MpNowPlayingWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 9 NONAME + _ZN18MpNowPlayingWidget19getStaticMetaObjectEv @ 10 NONAME + _ZN18MpNowPlayingWidget25playbackAttachmentChangedEb @ 11 NONAME + _ZN18MpNowPlayingWidget7clickedEv @ 12 NONAME + _ZN18MpNowPlayingWidgetC1EP13QGraphicsItem @ 13 NONAME + _ZN18MpNowPlayingWidgetC2EP13QGraphicsItem @ 14 NONAME + _ZN18MpNowPlayingWidgetD0Ev @ 15 NONAME + _ZN18MpNowPlayingWidgetD1Ev @ 16 NONAME + _ZN18MpNowPlayingWidgetD2Ev @ 17 NONAME + _ZNK18MpNowPlayingWidget10metaObjectEv @ 18 NONAME + _ZTI18MpNowPlayingWidget @ 19 NONAME + _ZTV18MpNowPlayingWidget @ 20 NONAME + _ZThn16_N18MpNowPlayingWidgetD0Ev @ 21 NONAME + _ZThn16_N18MpNowPlayingWidgetD1Ev @ 22 NONAME + _ZThn8_N18MpNowPlayingWidget14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 23 NONAME + _ZThn8_N18MpNowPlayingWidget15mousePressEventEP24QGraphicsSceneMouseEvent @ 24 NONAME + _ZThn8_N18MpNowPlayingWidget17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 25 NONAME + _ZThn8_N18MpNowPlayingWidgetD0Ev @ 26 NONAME + _ZThn8_N18MpNowPlayingWidgetD1Ev @ 27 NONAME diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/inc/mpnowplayingbackend.h --- a/utilities/mpnowplayingbanner/inc/mpnowplayingbackend.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +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: Music Player now playing widget backend. -* -*/ - -#ifndef MPNOWPLAYINGBACKEND_H -#define MPNOWPLAYINGBACKEND_H - -//includes -#include -#include - -//forward declartions -class MpNowPlayingBackEndPrivate; - -enum SimplifiedPlayerState { - NotPlaying, //When there is no source - Playing, //When it is playing - Paused //When is not in Playing State -}; -// Register so type can be used in signal and slot connection -Q_DECLARE_METATYPE(SimplifiedPlayerState) - -//class declaration -class MpNowPlayingBackEnd : public QObject -{ - Q_OBJECT - friend class MpNowPlayingBackEndPrivate; - -public: - explicit MpNowPlayingBackEnd( long int playerId = 0 ); - virtual ~MpNowPlayingBackEnd(); - -signals: - void stateUpdate( SimplifiedPlayerState state ); - void titleChanged( const QString &text ); - void artistChanged( const QString &text ); - -public slots: - void update(); - void playPause(); - -private: - Q_DISABLE_COPY(MpNowPlayingBackEnd) - MpNowPlayingBackEndPrivate * const d_ptr; - -}; - -#endif // MPNOWPLAYINGBACKEND_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/inc/mpnowplayingbackend_p.h --- a/utilities/mpnowplayingbanner/inc/mpnowplayingbackend_p.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +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: Music Player now playing widget backend - Private. -* -*/ - -#ifndef MPNOWPLAYINGBACKEND_P_H -#define MPNOWPLAYINGBACKEND_P_H - -#include -#include "mpnowplayingbackend.h" - - -//forward declartions -class MMPXPlaybackUtility; - -//class declaration -class MpNowPlayingBackEndPrivate : public MMPXPlaybackObserver, - public MMPXPlaybackCallback -{ - -public: - explicit MpNowPlayingBackEndPrivate(long int playerId, - MpNowPlayingBackEnd *qq); - virtual ~MpNowPlayingBackEndPrivate(); - - void update(); - void playPause(); - -public: //from MMPXPlaybackObserver - void HandlePlaybackMessage( CMPXMessage* aMessage, TInt aError ); - -public: //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 ); - -private: - void RequestMediaL(); - void UpdateStateL(); - void DoPlayPauseL(); - void DoHandlePlaybackMessageL( const CMPXMessage& message ); - -private: - MpNowPlayingBackEnd *q_ptr; // not owned - SimplifiedPlayerState mPreviousState; - MMPXPlaybackUtility *mPlaybackUtility; // owned -}; - -#endif // MPNOWPLAYINGBACKEND_P_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h --- a/utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h Thu Jul 22 16:32:33 2010 +0100 @@ -23,12 +23,12 @@ #include #include "mpnowplayingwidget.h" -#include "mpnowplayingbackend.h" +#include "mpplaybackdata.h" //forward declartions class HbIconItem; class HbLabel; -class MpNowPlayingBackEnd; +class MpEngine; class QGraphicsSceneMouseEvent; class HbIcon; class HbDocumentLoader; @@ -38,35 +38,44 @@ { Q_OBJECT +private: + enum BannerPressedState { + BannerNone, // No button initially pressed + BannerIcon, // Icon pressed first + BannerLabels // Labels pressed first + }; + public: - explicit MpNowPlayingWidgetPrivate( long int playerId, - MpNowPlayingWidget *qq ); + explicit MpNowPlayingWidgetPrivate( MpNowPlayingWidget *qq ); virtual ~MpNowPlayingWidgetPrivate(); - void setEnabled(bool enabled ); + void setEnabled( bool enabled ); + bool isBannerAttached(); bool handleClickEvent( QGraphicsSceneMouseEvent *event ); - void handleMousePressEvent(QGraphicsSceneMouseEvent *event, bool pressed); - void handleThemeChange(); + void handleMousePressEvent( QGraphicsSceneMouseEvent *event, bool pressed ); + void handleMouseMoveEvent( QGraphicsSceneMouseEvent *event ); public slots: - void setState(SimplifiedPlayerState state); - + void setState(); + void updateBannerInfo(); + private: - MpNowPlayingWidget *q_ptr; - HbLabel *mPrimaryText; - HbLabel *mSecondaryText; - SimplifiedPlayerState mState; - MpNowPlayingBackEnd *mBackEnd; + MpNowPlayingWidget *q_ptr; + HbLabel *mPrimaryText; + HbLabel *mSecondaryText; + MpPlaybackData::SimplifiedState mState; + MpPlaybackData *mPlaybackData; + MpEngine *mMpEngine; - HbIcon *mPlayIconNormal; - HbIcon *mPauseIconNormal; - HbIcon *mPlayIconPressed; - HbIcon *mPauseIconPressed; - HbLabel *mIcon; + HbIcon *mPlayIcon; + HbIcon *mPauseIcon; + HbLabel *mIcon; - HbDocumentLoader *mDocumentLoader; + HbDocumentLoader *mDocumentLoader; + + BannerPressedState mCurrentPressedState; }; diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/mpnowplayingbanner.pro --- a/utilities/mpnowplayingbanner/mpnowplayingbanner.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/mpnowplayingbanner.pro Thu Jul 22 16:32:33 2010 +0100 @@ -14,42 +14,34 @@ # Description: # -symbian:TARGET.UID3 = 0x10207C67 - TEMPLATE = lib CONFIG += hb qt +HB += hbfeedback TARGET = mpnowplayingbanner - -TARGET.CAPABILITY = All -TCB +symbian: { + TARGET.UID3 = 0x10207C67 + MMP_RULES += "DEFFILE mpnowplayingbanner.def" + defFilePath = . + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.EPOCALLOWDLLDATA = 1 +} +DEFINES += BUILD_MPNOWPLAYINGBANNER INCLUDEPATH += . \ inc \ ../../inc INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS += -lmpxplaybackutility.dll \ - -lmpxcommon.dll +LIBS += -lmpengine \ + -lmpdata \ + -lmpxcommon -symbian:TARGET.EPOCALLOWDLLDATA = 1 - -HEADERS = ../../inc/mpnowplayingwidget.h \ - inc/mpnowplayingbackend.h \ - inc/mpnowplayingwidget_p.h \ - inc/mpnowplayingbackend_p.h +# Input +HEADERS += ../../inc/mpnowplayingwidget.h \ + inc/mpnowplayingwidget_p.h SOURCES += src/mpnowplayingwidget.cpp \ - src/mpnowplayingwidget_p.cpp \ - src/mpnowplayingbackend.cpp \ - src/mpnowplayingbackend_p.cpp - + src/mpnowplayingwidget_p.cpp + RESOURCES += resources/mpnowplayingbanner.qrc -DEFINES += BUILD_MPNOWPLAYINGBANNER - -myDefInclude = "NOSTRICTDEF" \ -"$${LITERAL_HASH}if defined(WINS)"\ -"DEFFILE bwins/mpnowplayingbanneru.def "\ -"$${LITERAL_HASH}else "\ -"DEFFILE eabi/mpnowplayingbanneru.def "\ -"$${LITERAL_HASH}endif" -MMP_RULES += myDefInclude diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/resources/banner_color.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/resources/banner_color.css Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,24 @@ +/* Colors for different now playing bannner label states for text */ + +HbLabel#bannerLabel[state = "normal"]::text +{ + color:var(qtc_multimedia_trans); +} + +HbLabel#bannerLabel[state = "pressed"]::text +{ + color:var(qtc_multimedia_trans_pressed); +} + + +/* Colors for different now playing bannner label states for mono icon */ + +HbLabel#bannerLabel[state = "normal"]::icon +{ + color:var(qtc_multimedia_trans); +} + +HbLabel#bannerLabel[state = "pressed"]::icon +{ + color:var(qtc_multimedia_trans_pressed); +} \ No newline at end of file diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc --- a/utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc Thu Jul 22 16:32:33 2010 +0100 @@ -1,5 +1,8 @@ - - nowplaying.docml + + nowplaying.docml + + + banner_color.css diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/src/mpnowplayingbackend.cpp --- a/utilities/mpnowplayingbanner/src/mpnowplayingbackend.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +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: Music Player now playing widget backend. -* -*/ - -#include "mpnowplayingbackend.h" -#include "mpnowplayingbackend_p.h" -#include "mptrace.h" - -/*! - \internal - \class MpNowPlayingBackEnd - \brief Wraps the playback utility and provides separation for QT and Symbian code. - - This class wraps the playback utility on the MPX Framework to provide a simple - interface and separation of QT and Symbian code. -*/ - -/*! - \internal - \fn MpNowPlayingBackEnd::stateUpdate( SimplifiedPlayerState state ) - - MpNowPlayingBackEndPrivate emits this signal when the simplified playback - state changes. -*/ - -/*! - \internal - \fn MpNowPlayingBackEnd::titleChanged( const QString &text ) - - MpNowPlayingBackEndPrivate emits this signal when there is a new song - playing and the title becomes available. -*/ - -/*! - \internal - \fn MpNowPlayingBackEnd::artistChanged( const QString &text ) - - MpNowPlayingBackEndPrivate emits this signal when there is a new song - playing and the artist name becomes available. -*/ - -/*! - \internal - \enum SimplifiedPlayerState - - This enum defines a set of simplified playback states. - */ - -/*! - \internal - Constructs the now playing back end. - */ -MpNowPlayingBackEnd::MpNowPlayingBackEnd( long int playerId ) - :d_ptr( new MpNowPlayingBackEndPrivate( playerId, this ) ) -{ - TX_ENTRY_ARGS( "Player ID =" << playerId ) - TX_EXIT -} - -/*! - \internal - Destructs the now playing back end. - */ -MpNowPlayingBackEnd::~MpNowPlayingBackEnd() -{ - TX_ENTRY - delete d_ptr; - TX_EXIT -} - -/*! - \internal - Updates the widget with the latest playback information. - */ -void MpNowPlayingBackEnd::update() -{ - TX_ENTRY - d_ptr->update(); - TX_EXIT -} - - -/*! - \internal - Sends a play/pause command. - */ -void MpNowPlayingBackEnd::playPause() -{ - TX_ENTRY - d_ptr->playPause(); - TX_EXIT -} diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/src/mpnowplayingbackend_p.cpp --- a/utilities/mpnowplayingbanner/src/mpnowplayingbackend_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,294 +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: Music Player now playing widget backend - Private. -* -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "mpnowplayingbackend_p.h" -#include "mptrace.h" - -/*! - \internal - \class MpNowPlayingBackEndPrivate - \brief Wraps the playback utility and provides separation for QT and Symbian code. - - This class wraps the playback utility on the MPX Framework to provide a simple - interface and separation of QT and Symbian code. -*/ - - -/*! - \internal - Constructs the now playing back end private. - */ -MpNowPlayingBackEndPrivate::MpNowPlayingBackEndPrivate( long int playerId, MpNowPlayingBackEnd *qq ) - : q_ptr( qq ), - mPreviousState( NotPlaying ), - mPlaybackUtility(0) -{ - TX_ENTRY_ARGS( "Player ID =" << playerId << " Q pointer=" << ( void * )qq ) - if ( !playerId ) { - playerId = KPbModeDefault.iUid; - } - TRAPD( errCode, - mPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( playerId ) ); - mPlaybackUtility->AddObserverL( *this ); - ); - - if( KErrNone != errCode && mPlaybackUtility ) { - mPlaybackUtility->Close(); - mPlaybackUtility = 0; - } - TX_EXIT -} - -/*! - \internal - Destructs the now playing back end private. - */ -MpNowPlayingBackEndPrivate::~MpNowPlayingBackEndPrivate() -{ - TX_ENTRY - if ( mPlaybackUtility ) { - TRAP_IGNORE( mPlaybackUtility->RemoveObserverL( *this ) ); - mPlaybackUtility->Close(); - } - TX_EXIT -} - -/*! - \internal - Updates the widget with the latest playback information. - */ -void MpNowPlayingBackEndPrivate::update() -{ - TX_ENTRY - TRAPD( errCode, UpdateStateL() ); - if ( KErrNone == errCode ) { - TRAP_IGNORE( RequestMediaL() ); - } - TX_EXIT -} - -/*! - \internal - Sends a play/pause command. - */ -void MpNowPlayingBackEndPrivate::playPause() -{ - TX_ENTRY - TRAPD(err, DoPlayPauseL()); - if ( err != KErrNone ) { - TX_LOG_ARGS("Error: " << err << "; should never get here."); - } - TX_EXIT -} - -/*! - \internal - Callback function from MMPXPlaybackObserver. - \sa DoHandlePlaybackMessageL() - */ -void MpNowPlayingBackEndPrivate::HandlePlaybackMessage( - CMPXMessage* aMessage, - TInt aError ) -{ - TX_ENTRY - if ( aError == KErrNone && aMessage ) { - TRAP_IGNORE( DoHandlePlaybackMessageL( *aMessage ) ); - } - TX_EXIT -} - -/*! - \internal - Callback function from MMPXPlaybackObserver. - */ -void MpNowPlayingBackEndPrivate::HandlePropertyL( TMPXPlaybackProperty aProperty, - TInt aValue, TInt aError) -{ - // Nothing to do. - Q_UNUSED(aProperty); - Q_UNUSED(aValue); - Q_UNUSED(aError); -} - -/*! - \internal - Callback function from MMPXPlaybackObserver. - */ -void MpNowPlayingBackEndPrivate::HandleSubPlayerNamesL( TUid aPlayer, - const MDesCArray* aSubPlayers, TBool aComplete, TInt aError ) -{ - // Nothing to do. - Q_UNUSED(aPlayer); - Q_UNUSED(aSubPlayers); - Q_UNUSED(aComplete); - Q_UNUSED(aError); -} - -/*! - \internal - Callback function from MMPXPlaybackCallback. - */ -void MpNowPlayingBackEndPrivate::HandleMediaL( - const CMPXMedia& aMedia, - TInt aError ) -{ - TX_ENTRY - if( KErrNone != aError || mPreviousState == NotPlaying ) { - TX_EXIT - return; - } - - if( aMedia.IsSupported( KMPXMediaGeneralTitle ) ) { - emit q_ptr->titleChanged( - QString::fromUtf16( aMedia.ValueText( KMPXMediaGeneralTitle ).Ptr(), - aMedia.ValueText( KMPXMediaGeneralTitle ).Length() ) ); - } - else if (aMedia.IsSupported( KMPXMediaGeneralUri )) { - TParsePtrC filePath( aMedia.ValueText( KMPXMediaGeneralUri ) ); - emit q_ptr->titleChanged( - QString::fromUtf16( filePath.Name().Ptr(), - filePath.Name().Length() ) ); - } - else { - emit q_ptr->titleChanged( QString() ); - } - - if( aMedia.IsSupported( KMPXMediaMusicArtist ) ) { - emit q_ptr->artistChanged( - QString::fromUtf16( aMedia.ValueText( KMPXMediaMusicArtist ).Ptr(), - aMedia.ValueText( KMPXMediaMusicArtist ).Length() ) ); - } - else { - emit q_ptr->artistChanged( QString() ); - } - TX_EXIT -} - -/*! - \internal - Leaving function to request Media. - \sa HandleMediaL() - */ -void MpNowPlayingBackEndPrivate::RequestMediaL() -{ - TX_ENTRY - MMPXSource* mediaSrc = mPlaybackUtility->Source(); - User::LeaveIfNull( mediaSrc ); - RArray requestedAttr; - CleanupClosePushL( requestedAttr ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralTitle ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicArtist ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralUri ) ); - mediaSrc->MediaL( requestedAttr.Array(), *this ); - CleanupStack::PopAndDestroy( &requestedAttr ); - TX_EXIT -} - -/*! - \internal - Leaving function to update the playback state. - */ -void MpNowPlayingBackEndPrivate::UpdateStateL() -{ - TX_ENTRY - if ( !mPlaybackUtility->Source() ) { - TX_LOG_ARGS( "NotPlaying" ) - mPreviousState = NotPlaying; - emit q_ptr->stateUpdate( NotPlaying ); - - } - else { - TMPXPlaybackState state = mPlaybackUtility->StateL(); - switch ( state ) { - case EPbStatePlaying: - if ( mPreviousState != Playing ) { - TX_LOG_ARGS( "Playing" ) - emit q_ptr->stateUpdate( Playing ); - } - mPreviousState = Playing; - break; - case EPbStatePaused: - case EPbStateStopped: //reinterpreting stop as a pause - TX_LOG_ARGS("EPbStatePaused or PbStateStopped") - if (mPreviousState != Paused){ - TX_LOG_ARGS( "Paused" ) - emit q_ptr->stateUpdate( Paused ); - } - mPreviousState = Paused; - break; - default: - //Ignore other states. - break; - } - } - TX_EXIT -} - -/*! - \internal - Leaving function to send play/pause command. - */ -void MpNowPlayingBackEndPrivate::DoPlayPauseL() -{ - mPlaybackUtility->CommandL( EPbCmdPlayPause ); -} - -/*! - \internal - Leaving function to handle the playback /a message. - \sa HandlePlaybackMessageL() - */ -void MpNowPlayingBackEndPrivate::DoHandlePlaybackMessageL( - const CMPXMessage& message ) -{ - TX_ENTRY - TMPXMessageId id( message.ValueTObjectL( KMPXMessageGeneralId ) ); - if ( KMPXMessageGeneral == id ) { - switch ( message.ValueTObjectL( KMPXMessageGeneralEvent ) ) { - case TMPXPlaybackMessage::EStateChanged: - TX_LOG_ARGS( "EStateChanged" ) - UpdateStateL(); - break; - case TMPXPlaybackMessage::EMediaChanged: - TX_LOG_ARGS( "EMediaChanged or fall through from EPlaylistUpdated" ) - RequestMediaL(); - break; - case TMPXPlaybackMessage::EPlaylistUpdated: - TX_LOG_ARGS( "EPlaylistUpdated" ) - case TMPXPlaybackMessage::EActivePlayerChanged: - TX_LOG_ARGS( "EActivePlayerChanged or fall through from EPlaylistUpdated" ) - UpdateStateL(); - RequestMediaL(); - break; - default: - TX_LOG_ARGS( "unhandled case:" << message.ValueTObjectL( KMPXMessageGeneralEvent ) << "see TMPXPlaybackMessage" ) - break; - } - } - TX_EXIT -} diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp --- a/utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -20,6 +20,8 @@ #include #include +#include +#include #include "mpnowplayingwidget.h" #include "mpnowplayingwidget_p.h" @@ -54,12 +56,17 @@ /*! Constructs the now playing widget. */ -MpNowPlayingWidget::MpNowPlayingWidget(long int playerId, QGraphicsItem *parent ) +MpNowPlayingWidget::MpNowPlayingWidget( QGraphicsItem *parent ) : HbWidget(parent), - d_ptr ( new MpNowPlayingWidgetPrivate( playerId, this ) ) + d_ptr ( new MpNowPlayingWidgetPrivate( this ) ), + mFrameItem(0) { - TX_ENTRY_ARGS( "Player ID =" << playerId << " Parent=" << (void *)parent ) + TX_ENTRY_ARGS( " Parent=" << (void *)parent ) TX_EXIT + mFrameItem = new HbFrameItem( this ); + mFrameItem->frameDrawer().setFrameType( HbFrameDrawer::NinePieces ); + mFrameItem->frameDrawer().setFrameGraphicsName( "qtg_fr_multimedia_trans" ); + mFrameItem->setZValue(-1); } /*! @@ -78,27 +85,38 @@ */ void MpNowPlayingWidget::setEnabled( bool enabled ) { + TX_ENTRY d_ptr->setEnabled(enabled); -} - -/*! - \reimp - */ -void MpNowPlayingWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) -{ - TX_ENTRY - HbWidget::paint(painter, option, widget); - QColor color(105,105,105,255); - painter->fillRect(rect(), color); TX_EXIT } /*! \reimp */ +void MpNowPlayingWidget::resizeEvent(QGraphicsSceneResizeEvent *event) +{ + TX_ENTRY + mFrameItem->setGeometry( rect() ); + HbWidget::resizeEvent( event ); + TX_EXIT +} + +/*! + Returns if banner is attached or not + */ +bool MpNowPlayingWidget::isBannerAttached() +{ + TX_ENTRY + return d_ptr->isBannerAttached(); +} +/*! + \reimp + */ void MpNowPlayingWidget::mousePressEvent( QGraphicsSceneMouseEvent *event ) { TX_ENTRY + HbInstantFeedback::play( HbFeedback::Basic ); + if ( event->button() == Qt::LeftButton ) { d_ptr->handleMousePressEvent( event, true ); update(); @@ -119,7 +137,7 @@ if ( event->button() == Qt::LeftButton ) { d_ptr->handleMousePressEvent( event, false ); update(); - if ( !d_ptr->handleClickEvent( event ) && rect().contains( event->pos() ) ) { + if ( !d_ptr->handleClickEvent( event ) ) { emit clicked(); } event->accept(); @@ -133,11 +151,13 @@ /*! \reimp */ -void MpNowPlayingWidget::changeEvent(QEvent *event) +void MpNowPlayingWidget::mouseMoveEvent( QGraphicsSceneMouseEvent *event ) { - if (event->type() == HbEvent::ThemeChanged) { - d_ptr->handleThemeChange(); - } - HbWidgetBase::changeEvent(event); + TX_ENTRY + d_ptr->handleMouseMoveEvent( event ); + update(); + event->ignore(); + TX_EXIT } + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp --- a/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -23,14 +23,15 @@ #include #include #include -#include +#include +#include "mpenginefactory.h" #include "mpnowplayingwidget_p.h" #include "mpnowplayingwidget.h" -#include "mpnowplayingbackend.h" #include "mptrace.h" const char *NOW_PLAYING_XML = ":/xml/nowplaying.docml"; +const char *NOW_PLAYING_CSS = ":/css/banner_color.css"; /*! \internal @@ -46,32 +47,25 @@ \internal Constructs the now playing widget private. */ -MpNowPlayingWidgetPrivate::MpNowPlayingWidgetPrivate(long int playerId, MpNowPlayingWidget *qq ) +MpNowPlayingWidgetPrivate::MpNowPlayingWidgetPrivate( MpNowPlayingWidget *qq ) : q_ptr( qq ), mPrimaryText(0), mSecondaryText(0), - mState( NotPlaying ), + mState( MpPlaybackData::NotPlaying ), + mPlaybackData(0), + mMpEngine(0), mIcon(0), - mDocumentLoader(0) + mDocumentLoader(0), + mCurrentPressedState( BannerNone ) { - TX_ENTRY_ARGS( "Player ID =" << playerId << " Q pointer=" << ( void * )qq ) + TX_ENTRY_ARGS( " Q pointer=" << ( void * )qq ) QGraphicsWidget *widget; bool widgetsOk = false; - - //TODO final color resources should be qtc_multimedia_trans_normal when available - QColor normalColor( HbColorScheme::color("foreground") ); - //TODO final color resources should be qtc_multimedia_trans_pressed when available - QColor pressedColor( HbColorScheme::color("popupbackground") ); + + HbStyleLoader::registerFilePath(NOW_PLAYING_CSS); - mPlayIconNormal = new HbIcon( QString("qtg_mono_play")); - mPlayIconNormal->setColor( normalColor ); - mPauseIconNormal = new HbIcon( QString("qtg_mono_pause")); - mPauseIconNormal->setColor( normalColor ); - - mPlayIconPressed = new HbIcon( QString("qtg_mono_play")); - mPlayIconPressed->setColor( pressedColor ); - mPauseIconPressed = new HbIcon( QString("qtg_mono_pause")); - mPauseIconPressed->setColor( pressedColor ); + mPlayIcon = new HbIcon( QString( "qtg_mono_play" ) ); + mPauseIcon = new HbIcon( QString( "qtg_mono_pause" ) ); mDocumentLoader = new HbDocumentLoader(); if (mDocumentLoader) { @@ -87,18 +81,21 @@ widget = mDocumentLoader->findWidget(QString("primaryText")); mPrimaryText = qobject_cast(widget); - //TODO final color resource should be qtc_multimedia_trans_normal when available - mPrimaryText->setTextColor( normalColor ); - + mPrimaryText->setObjectName( "bannerLabel" ); + mPrimaryText->setProperty( "state", "normal" ); + widget = mDocumentLoader->findWidget(QString("secondaryText")); mSecondaryText = qobject_cast(widget); - //TODO final color resource should be qtc_multimedia_trans_normal when available - mSecondaryText->setTextColor( normalColor ); + mSecondaryText->setObjectName( "bannerLabel" ); + mSecondaryText->setProperty( "state", "normal" ); + widget = mDocumentLoader->findWidget(QString("playPause")); mIcon = qobject_cast(widget); - + mIcon->setObjectName( "bannerLabel" ); + mIcon->setProperty( "state", "normal" ); + HbStackedLayout *mylayout; mylayout = new HbStackedLayout(q_ptr); mylayout->addItem( container ); @@ -110,7 +107,8 @@ Q_ASSERT_X(widgetsOk, "MpNowPlayingWidgetPrivate", "invalid xml file"); } - mBackEnd = new MpNowPlayingBackEnd( playerId ); + mMpEngine = MpEngineFactory::sharedEngine(); + mPlaybackData = mMpEngine->playbackData(); setEnabled(true); TX_EXIT } @@ -123,11 +121,8 @@ MpNowPlayingWidgetPrivate::~MpNowPlayingWidgetPrivate() { TX_ENTRY - delete mBackEnd; - delete mPlayIconNormal; - delete mPauseIconNormal; - delete mPlayIconPressed; - delete mPauseIconPressed; + delete mPlayIcon; + delete mPauseIcon; delete mDocumentLoader; TX_EXIT } @@ -139,41 +134,62 @@ void MpNowPlayingWidgetPrivate::setEnabled( bool enabled ) { if ( enabled ) { - connect( mBackEnd, SIGNAL(stateUpdate(SimplifiedPlayerState)), - this, SLOT(setState(SimplifiedPlayerState)) ); + connect( mPlaybackData, SIGNAL( playbackStateChanged() ), + this, SLOT( setState() ) ); - connect( mBackEnd, SIGNAL(titleChanged(QString)), - mPrimaryText, SLOT(setPlainText(QString)) ); + connect( mPlaybackData, SIGNAL( playbackInfoChanged() ), + this, SLOT( updateBannerInfo() ) ); - connect( mBackEnd, SIGNAL(artistChanged(QString)), - mSecondaryText, SLOT(setPlainText(QString)) ); - mBackEnd->update(); + setState(); + updateBannerInfo(); } else { - disconnect( mBackEnd, SIGNAL(stateUpdate(SimplifiedPlayerState)), - this, SLOT(setState(SimplifiedPlayerState)) ); + disconnect( mPlaybackData, SIGNAL( playbackStateChanged() ), + this, SLOT( setState() ) ); + + disconnect( mPlaybackData, SIGNAL( playbackInfoChanged() ), + this, SLOT( updateBannerInfo() ) ); + } +} - disconnect( mBackEnd, SIGNAL(titleChanged(QString)), - mPrimaryText, SLOT(setPlainText(QString)) ); - - disconnect( mBackEnd, SIGNAL(artistChanged(QString)), - mSecondaryText, SLOT(setPlainText(QString)) ); - } +/*! + Return if banner is attached based on current playback state + */ +bool MpNowPlayingWidgetPrivate::isBannerAttached() +{ + return mState == MpPlaybackData::NotPlaying ? false : true; } /*! \internal Offers click \a event to the widget privated side, if event is consumed it returns true. */ + bool MpNowPlayingWidgetPrivate::handleClickEvent(QGraphicsSceneMouseEvent *event) { - if ( mIcon->windowFrameGeometry().contains( event->pos() ) ) { - mBackEnd->playPause(); - return true; + bool ret = true; + if ( mCurrentPressedState != BannerNone ) { + //Widget was previosly pressed, handle the event. + QRectF geometry = q_ptr->rect(); + qreal delta = mIcon->windowFrameGeometry().top() - geometry.top(); + QRectF iconTouchRect( mIcon->windowFrameGeometry() ); + iconTouchRect.adjust( -delta, -delta, delta, delta ); + if ( iconTouchRect.contains( event->pos() ) ) { + if ( mCurrentPressedState == BannerIcon ) { + // click on play/pause + mMpEngine->playPause(); + } + } + else if ( mCurrentPressedState == BannerLabels && geometry.contains( event->pos() )){ + // click somewhere else on the widget. + ret = false; + } + /*else { + // click outside the widget. + }*/ + mCurrentPressedState = BannerNone; } - else { - return false; - } + return ret; } /*! @@ -182,58 +198,63 @@ */ void MpNowPlayingWidgetPrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event, bool pressed) { - //TODO final color resources should be qtc_multimedia_trans_pressed when available - QColor pressedColor( HbColorScheme::color("popupbackground") ); - //TODO final color resources should be qtc_multimedia_trans_normal when available - QColor normalColor( HbColorScheme::color("foreground") ); + + QRectF geometry = q_ptr->rect(); + qreal delta = mIcon->windowFrameGeometry().top() - geometry.top(); + QRectF iconTouchRect( mIcon->windowFrameGeometry() ); + iconTouchRect.adjust( -delta, -delta, delta, delta ); - if( mIcon->windowFrameGeometry().contains( event->pos() ) && pressed) { - if ( mState == Playing ) { - mIcon->setIcon( *mPauseIconPressed ); + if( iconTouchRect.contains( event->pos() ) && pressed ) { + if( mCurrentPressedState == BannerNone ) { + mCurrentPressedState = BannerIcon; } - else { - mIcon->setIcon( *mPlayIconPressed ); - } + mIcon->setProperty( "state", "pressed" ); } - else if( q_ptr->rect().contains( event->pos() ) && pressed ){ - mPrimaryText->setTextColor( pressedColor ); - mSecondaryText->setTextColor( pressedColor ); + else if( geometry.contains( event->pos() ) && pressed ){ + if( mCurrentPressedState == BannerNone ) { + mCurrentPressedState = BannerLabels; + } + mPrimaryText->setProperty( "state", "pressed" ); + mSecondaryText->setProperty( "state", "pressed" ); } else { - mPrimaryText->setTextColor( normalColor ); - mSecondaryText->setTextColor( normalColor ); - if( mState == Playing){ - mIcon->setIcon( *mPauseIconNormal ); - } - else{ - mIcon->setIcon( *mPlayIconNormal ); - } + mIcon->setProperty( "state", "normal" ); + mPrimaryText->setProperty( "state", "normal" ); + mSecondaryText->setProperty( "state", "normal" ); } } /*! \internal - Handles theme change + Changes text and icon color when moved */ -void MpNowPlayingWidgetPrivate::handleThemeChange() -{ - //TODO final color resources should be qtc_multimedia_trans_pressed when available - QColor pressedColor( HbColorScheme::color("popupbackground") ); - //TODO final color resources should be qtc_multimedia_trans_normal when available - QColor normalColor( HbColorScheme::color("foreground") ); +void MpNowPlayingWidgetPrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent *event) +{ + + QRectF geometry = q_ptr->rect(); + qreal delta = mIcon->windowFrameGeometry().top() - geometry.top(); + QRectF iconTouchRect( mIcon->windowFrameGeometry() ); + iconTouchRect.adjust( -delta, -delta, delta, delta ); - mPrimaryText->setTextColor( normalColor ); - mSecondaryText->setTextColor( normalColor ); - mPauseIconNormal->setColor( normalColor ); - mPlayIconNormal->setColor( normalColor ); - mPauseIconPressed->setColor( pressedColor ); - mPlayIconPressed->setColor( pressedColor ); - - if( mState == Playing){ - mIcon->setIcon( *mPauseIconNormal ); + if( iconTouchRect.contains( event->pos() ) ) { + if( mCurrentPressedState == BannerIcon ) { + mIcon->setProperty( "state", "pressed" ); + } + else { + mIcon->setProperty( "state", "normal" ); + } + mPrimaryText->setProperty( "state", "normal" ); + mSecondaryText->setProperty( "state", "normal" ); } - else{ - mIcon->setIcon( *mPlayIconNormal ); + else if( geometry.contains( event->pos() ) && mCurrentPressedState == BannerLabels ){ + mPrimaryText->setProperty( "state", "pressed" ); + mSecondaryText->setProperty( "state", "pressed" ); + mIcon->setProperty( "state", "normal" ); + } + else { + mIcon->setProperty( "state", "normal" ); + mPrimaryText->setProperty( "state", "normal" ); + mSecondaryText->setProperty( "state", "normal" ); } } @@ -241,22 +262,27 @@ \internal Sets the simplified playback \a state. */ -void MpNowPlayingWidgetPrivate::setState( SimplifiedPlayerState state ) +void MpNowPlayingWidgetPrivate::setState( ) { + MpPlaybackData::SimplifiedState state = mPlaybackData->playbackState(); TX_ENTRY_ARGS( "State = " << state ) + switch ( state ) { - case NotPlaying: - if ( mState != NotPlaying ) + case MpPlaybackData::NotPlaying: + if ( mState != MpPlaybackData::NotPlaying ) emit q_ptr->playbackAttachmentChanged( false ); break; - case Playing: - mIcon->setIcon(*mPauseIconNormal); - if (mState == NotPlaying) + case MpPlaybackData::Playing: + mIcon->setIcon( *mPauseIcon ); + mIcon->setProperty( "state", mIcon->property("state").toString() ); + if ( mState == MpPlaybackData::NotPlaying ) emit q_ptr->playbackAttachmentChanged( true ); break; - case Paused: - mIcon->setIcon(*mPlayIconNormal); - if (mState == NotPlaying) + case MpPlaybackData::Paused: + case MpPlaybackData::Stopped: + mIcon->setIcon( *mPlayIcon ); + mIcon->setProperty( "state", mIcon->property("state").toString() ); + if ( mState == MpPlaybackData::NotPlaying ) emit q_ptr->playbackAttachmentChanged( true ); break; default: @@ -266,4 +292,16 @@ TX_EXIT } +/*! + \internal + Sets the \a title + */ +void MpNowPlayingWidgetPrivate::updateBannerInfo() +{ + mPrimaryText->setPlainText( mPlaybackData->title() ); + mPrimaryText->setProperty( "state", mPrimaryText->property("state").toString() ); + + mSecondaryText->setPlainText( mPlaybackData->artist() ); + mSecondaryText->setProperty( "state", mSecondaryText->property("state").toString() ); +} diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpnowplayingwidget + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/inc/unittest_mpnowplayingbackend.h --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/inc/unittest_mpnowplayingbackend.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +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: Unit test for mpnowplayingbackend -* -*/ - -#ifndef TESTNOWPLAYINGBACKEND_H -#define TESTNOWPLAYINGBACKEND_H - -#include - -class MpNowPlayingBackEnd; -class MpNowPlayingBackEndPrivate; - -class TestMpNowPlayingBackEnd : public QObject -{ - Q_OBJECT - -public: - - TestMpNowPlayingBackEnd(); - virtual ~TestMpNowPlayingBackEnd(); - -signals: - void update(); - void playPause(); - -public slots: - void initTestCase(); - void cleanupTestCase(); - void init(); - void cleanup(); - -private slots: - void testConstructor(); - void testInitUtilCreateFail(); - void testInitAddObserverFail(); - void testDestructor(); - void testDestructorRemoveObserverFail(); - void testUpdateSuccess(); - void testUpdateNoSource(); - void testUpdateStateFail(); - void testUpdateMediaFail(); - void testPlayPause(); - void testPlayPauseFail(); - void testHandlePlaybackMessageStateChanged(); - void testHandlePlaybackMessageStateChangedFail(); - void testHandlePlaybackMessagePlaylistUpdated(); - void testHandlePlaybackMessageMediaChanged(); - void testHandlePlaybackMessagePlayerChanged(); - void testHandlePlaybackMessagePropertyChanged(); - void testHandleMediaLTitle(); - void testHandleMediaLTitleUri(); - void testHandleMediaLUri(); - void testHandleMediaLArtist(); - -private: - - MpNowPlayingBackEnd *mTest; - MpNowPlayingBackEndPrivate *mTestPrivate; - -}; - -#endif // TESTNOWPLAYINGBACKEND_H - - - - diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/src/unittest_mpnowplayingbackend.cpp --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/src/unittest_mpnowplayingbackend.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,459 +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: Unit test for mpnowplayingbackend -* -*/ - -#include -#include -#include -#include - -#include "unittest_mpnowplayingbackend.h" -#include "mpcommondefs.h" -#include "stub/inc/mpxplaybackutility.h" - -// Do this so we can access all member variables. -#define private public -#include "mpnowplayingbackend.h" -#include "mpnowplayingbackend_p.h" -#undef private - -/*! - Make our test case a stand-alone executable that runs all the test functions. - */ -int main(int argc, char *argv[]) -{ - HbApplication app(argc, argv); - HbMainWindow window; - - TestMpNowPlayingBackEnd tv; - - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpnowplayingbackend.txt"; - - int res = QTest::qExec(&tv, 3, pass); - - return res; -} - -TestMpNowPlayingBackEnd::TestMpNowPlayingBackEnd() - : mTest(0) -{ -} - -TestMpNowPlayingBackEnd::~TestMpNowPlayingBackEnd() -{ - delete mTest; -} - -/*! - Called before the first testfunction is executed. - */ -void TestMpNowPlayingBackEnd::initTestCase() -{ -} - -/*! - Called after the last testfunction was executed. - */ -void TestMpNowPlayingBackEnd::cleanupTestCase() -{ -} - -/*! - Called before each testfunction is executed. - */ -void TestMpNowPlayingBackEnd::init() -{ - mTest = new MpNowPlayingBackEnd(MpCommon::KMusicPlayerUid); - mTestPrivate = mTest->d_ptr; - - MMPXSource::setMediaLeave(false); - MMPXPlaybackUtility::setUtilityLeave(false); - MMPXPlaybackUtility::setAddObserverLeave(false); - MMPXPlaybackUtility::setRemoveObserverLeave(false); - MMPXPlaybackUtility::setCommandLeave(false); - MMPXPlaybackUtility::setStateLeave(false); - MMPXPlaybackUtility::setSource(true); -} - -/*! - Called after every testfunction. - */ -void TestMpNowPlayingBackEnd::cleanup() -{ - delete mTest; - mTest = 0; -} - -/*! - Tests constructor. Good case. - */ -void TestMpNowPlayingBackEnd::testConstructor() -{ - QVERIFY(mTestPrivate->mPlaybackUtility != 0); - QCOMPARE(mTestPrivate->mPreviousState, NotPlaying); -} - -/*! - Tests constructor. - - MMPXPlaybackUtility::UtilityL leaves. - */ -void TestMpNowPlayingBackEnd::testInitUtilCreateFail() -{ - // AK - There is no way for the client to tell if constructor fails. - // This should be split into constructor and initialize. - cleanup(); - MMPXPlaybackUtility::setUtilityLeave(true); - init(); - QVERIFY(mTestPrivate->mPlaybackUtility == 0); -} - -/*! - Tests constructor. - - MMPXPlaybackUtility::AddObserverL leaves. - */ -void TestMpNowPlayingBackEnd::testInitAddObserverFail() -{ - cleanup(); - MMPXPlaybackUtility::resetCloseCounter(); - MMPXPlaybackUtility::setAddObserverLeave(true); - init(); - QVERIFY(mTestPrivate->mPlaybackUtility == 0); - QCOMPARE(MMPXPlaybackUtility::getCloseCounter(), 1); -} - -/*! - Tests destructor. Good case. - */ -void TestMpNowPlayingBackEnd::testDestructor() -{ - MMPXPlaybackUtility::resetCloseCounter(); - MMPXPlaybackUtility::resetRemoveObserverCounter(); - - QVERIFY(mTestPrivate->mPlaybackUtility->iObserver != 0); - - cleanup(); - QCOMPARE(MMPXPlaybackUtility::getRemoveObserverCounter(), 1); - QCOMPARE(MMPXPlaybackUtility::getCloseCounter(), 1); -} - -/*! - Tests destructor. - - MMPXPlaybackUtility::RemoveObserverL leaves. - */ -void TestMpNowPlayingBackEnd::testDestructorRemoveObserverFail() -{ - MMPXPlaybackUtility::resetCloseCounter(); - MMPXPlaybackUtility::resetRemoveObserverCounter(); - MMPXPlaybackUtility::setRemoveObserverLeave(true); - - QVERIFY(mTestPrivate->mPlaybackUtility->iObserver != 0); - - cleanup(); - QCOMPARE(MMPXPlaybackUtility::getRemoveObserverCounter(), 0); - QCOMPARE(MMPXPlaybackUtility::getCloseCounter(), 1); -} - -/*! - Tests update() slot. Good case. - */ -void TestMpNowPlayingBackEnd::testUpdateSuccess() -{ - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - connect(this, SIGNAL(update()), mTest, SLOT(update())); - MMPXSource::resetMediaCounter(); - - - MMPXPlaybackUtility::setState(EPbStatePlaying); - // This should trigger stateUpdate(Playing) signal - emit update(); - // Same state; This shouldn't trigger stateUpdate() signal - emit update(); - - MMPXPlaybackUtility::setState(EPbStatePaused); - // This should trigger stateUpdate(Paused) signal - emit update(); - // Same state; This shouldn't trigger stateUpdate() signal - emit update(); - - MMPXPlaybackUtility::setState(EPbStateStopped); - //Stop is reinterpreted as Pause. - // Same state; This shouldn't trigger stateUpdate() signal - emit update(); - - - QCOMPARE(spy.count(), 2); - SimplifiedPlayerState state = qvariant_cast(spy.at(0).at(0)); - QCOMPARE(state, Playing); - state = qvariant_cast(spy.at(1).at(0)); - QCOMPARE(state, Paused); - - - QCOMPARE(MMPXSource::getMediaCounter(), 5); - - disconnect(this, SIGNAL(update()), mTest, SLOT(update())); -} - -/*! - Tests update() slot. - - MMPXPlaybackUtility::Source returns NULL. - */ -void TestMpNowPlayingBackEnd::testUpdateNoSource() -{ - MMPXPlaybackUtility::setSource(false); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - connect(this, SIGNAL(update()), mTest, SLOT(update())); - MMPXSource::resetMediaCounter(); - - MMPXPlaybackUtility::setState(EPbStateStopped); - emit update(); - - QCOMPARE(spy.count(), 1); - SimplifiedPlayerState state = qvariant_cast(spy.at(0).at(0)); - QCOMPARE(state, NotPlaying); - - QCOMPARE(MMPXSource::getMediaCounter(), 0); - disconnect(this, SIGNAL(update()), mTest, SLOT(update())); -} - -/*! - Tests update() slot. - - MMPXPlaybackUtility::StateL leaves. - */ -void TestMpNowPlayingBackEnd::testUpdateStateFail() -{ - MMPXPlaybackUtility::setStateLeave(true); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - connect(this, SIGNAL(update()), mTest, SLOT(update())); - MMPXSource::resetMediaCounter(); - - MMPXPlaybackUtility::setState(EPbStatePaused); - emit update(); - - QCOMPARE(spy.count(), 0); - QCOMPARE(MMPXSource::getMediaCounter(), 0); - disconnect(this, SIGNAL(update()), mTest, SLOT(update())); -} - -/*! - Tests update() slot. - - MMPXSource::MediaL leaves. - */ -void TestMpNowPlayingBackEnd::testUpdateMediaFail() -{ - MMPXSource::setMediaLeave(true); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - connect(this, SIGNAL(update()), mTest, SLOT(update())); - MMPXSource::resetMediaCounter(); - - MMPXPlaybackUtility::setState(EPbStatePaused); - emit update(); - - QCOMPARE(spy.count(), 1); - QCOMPARE(MMPXSource::getMediaCounter(), 0); - disconnect(this, SIGNAL(update()), mTest, SLOT(update())); -} - -/*! - Tests playPause() slot. Good case. - */ -void TestMpNowPlayingBackEnd::testPlayPause() -{ - MMPXPlaybackUtility::setState(EPbStatePlaying); - connect(this, SIGNAL(playPause()), mTest, SLOT(playPause())); - - emit playPause(); - QCOMPARE(MMPXPlaybackUtility::getState(), EPbStatePaused); - - emit playPause(); - QCOMPARE(MMPXPlaybackUtility::getState(), EPbStatePlaying); - - disconnect(this, SIGNAL(playPause()), mTest, SLOT(playPause())); -} - -/*! - Tests playPause() slot. - - MMPXPlaybackUtility::CommandL leaves. - */ -void TestMpNowPlayingBackEnd::testPlayPauseFail() -{ - MMPXPlaybackUtility::setCommandLeave(true); - MMPXPlaybackUtility::setState(EPbStatePlaying); - connect(this, SIGNAL(playPause()), mTest, SLOT(playPause())); - emit playPause(); - // Just need to make sure nothing crashes. - QCOMPARE(MMPXPlaybackUtility::getState(), EPbStatePlaying); - disconnect(this, SIGNAL(playPause()), mTest, SLOT(playPause())); -} - -/*! - Tests HandlePlaybackMessage callback with StateChanged event. Good case. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessageStateChanged() -{ - MMPXPlaybackUtility::setState(EPbStatePlaying); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EStateChanged); - - QCOMPARE(spy.count(), 1); - SimplifiedPlayerState state = qvariant_cast(spy.at(0).at(0)); - QCOMPARE(state, Playing); -} - -/*! - Tests HandlePlaybackMessage callback with StateChanged event. - - MMPXPlaybackUtility::StateL leaves. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessageStateChangedFail() -{ - MMPXPlaybackUtility::setStateLeave(true); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EStateChanged); - - QCOMPARE(spy.count(), 0); -} - -/*! - Tests HandlePlaybackMessage callback with PlaylistUpdated event. Good case. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessagePlaylistUpdated() -{ - MMPXSource::resetMediaCounter(); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EPlaylistUpdated); - QCOMPARE(MMPXSource::getMediaCounter(), 1); -} - -/*! - Tests HandlePlaybackMessage callback with MediaChanged event. Good case. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessageMediaChanged() -{ - MMPXSource::resetMediaCounter(); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EMediaChanged); - QCOMPARE(MMPXSource::getMediaCounter(), 1); -} - -/*! - Tests HandlePlaybackMessage callback with PlayerChanged event. Good case. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessagePlayerChanged() -{ - MMPXPlaybackUtility::setState(EPbStatePlaying); - MMPXSource::resetMediaCounter(); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EActivePlayerChanged); - - QCOMPARE(spy.count(), 1); - SimplifiedPlayerState state = qvariant_cast(spy.at(0).at(0)); - QCOMPARE(state, Playing); - QCOMPARE(MMPXSource::getMediaCounter(), 1); -} - -/*! - Tests HandlePlaybackMessage callback with PropertyChanged event. Good case. - Tests receiving events that it doesn't care about. - */ -void TestMpNowPlayingBackEnd::testHandlePlaybackMessagePropertyChanged() -{ - MMPXPlaybackUtility::setState(EPbStatePlaying); - MMPXSource::resetMediaCounter(); - qRegisterMetaType(); - QSignalSpy spy(mTest, SIGNAL(stateUpdate(SimplifiedPlayerState))); - mTestPrivate->mPlaybackUtility->sendHandlePlaybackMessage(TMPXPlaybackMessage::EPropertyChanged); - - QCOMPARE(spy.count(), 0); - QCOMPARE(MMPXSource::getMediaCounter(), 0); -} - -/*! - Tests HandleMediaL callback with new title. Good case. - */ -void TestMpNowPlayingBackEnd::testHandleMediaLTitle() -{ - QSignalSpy spyTitle(mTest, SIGNAL(titleChanged(QString))); - QSignalSpy spyArtist(mTest, SIGNAL(artistChanged(QString))); - mTestPrivate->mPreviousState = Playing; - mTestPrivate->mPlaybackUtility->Source()->setObserver(mTestPrivate); - mTestPrivate->mPlaybackUtility->Source()->sendHandleMediaL(true, false, false); - - QCOMPARE(spyTitle.count(), 1); - QCOMPARE(spyTitle.at(0).at(0).toString(), QString("Title")); - QCOMPARE(spyArtist.count(), 1); - QCOMPARE(spyArtist.at(0).at(0).toString(), QString()); -} - -/*! - Tests HandleMediaL callback with new title and uri. Good case. - When both title and uri exist, only title is used. - */ -void TestMpNowPlayingBackEnd::testHandleMediaLTitleUri() -{ - QSignalSpy spyTitle(mTest, SIGNAL(titleChanged(QString))); - QSignalSpy spyArtist(mTest, SIGNAL(artistChanged(QString))); - mTestPrivate->mPreviousState = Playing; - mTestPrivate->mPlaybackUtility->Source()->setObserver(mTestPrivate); - mTestPrivate->mPlaybackUtility->Source()->sendHandleMediaL(true, true, false); - - QCOMPARE(spyTitle.count(), 1); - QCOMPARE(spyTitle.at(0).at(0).toString(), QString("Title")); - QCOMPARE(spyArtist.count(), 1); - QCOMPARE(spyArtist.at(0).at(0).toString(), QString()); -} - -/*! - Tests HandleMediaL callback with new uri. Good case. - */ -void TestMpNowPlayingBackEnd::testHandleMediaLUri() -{ - QSignalSpy spyTitle(mTest, SIGNAL(titleChanged(QString))); - QSignalSpy spyArtist(mTest, SIGNAL(artistChanged(QString))); - mTestPrivate->mPreviousState = Playing; - mTestPrivate->mPlaybackUtility->Source()->setObserver(mTestPrivate); - mTestPrivate->mPlaybackUtility->Source()->sendHandleMediaL(false, true, false); - - QCOMPARE(spyTitle.count(), 1); - QCOMPARE(spyTitle.at(0).at(0).toString(), QString("Uri")); - QCOMPARE(spyArtist.count(), 1); - QCOMPARE(spyArtist.at(0).at(0).toString(), QString()); -} - -/*! - Tests HandleMediaL callback with new artist. Good case. - */ -void TestMpNowPlayingBackEnd::testHandleMediaLArtist() -{ - QSignalSpy spyTitle(mTest, SIGNAL(titleChanged(QString))); - QSignalSpy spyArtist(mTest, SIGNAL(artistChanged(QString))); - mTestPrivate->mPreviousState = Playing; - mTestPrivate->mPlaybackUtility->Source()->setObserver(mTestPrivate); - mTestPrivate->mPlaybackUtility->Source()->sendHandleMediaL(false, false, true); - - QCOMPARE(spyTitle.count(), 1); - QCOMPARE(spyTitle.at(0).at(0).toString(), QString()); - QCOMPARE(spyArtist.count(), 1); - QCOMPARE(spyArtist.at(0).at(0).toString(), QString("Artist")); -} - -// End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/stub/inc/mpxplaybackutility.h --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/stub/inc/mpxplaybackutility.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +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: mpxplaybackutility stub for testing MpNowPlayingBackEnd -* -*/ - - -#ifndef MMPXPLAYBACKUTILITY_H -#define MMPXPLAYBACKUTILITY_H - -#include -#include -#include -#include -#include -#include -#include - -class MMPXPlaybackObserver; -class MMPXPlaybackCallback; - -class MMPXSource - { -public: - - // Test utility functions - MMPXSource(); - virtual ~MMPXSource(); - static void setMediaLeave(bool leave); - static int getMediaCounter(); - static void resetMediaCounter(); - void sendHandleMediaL(bool title, bool uri, bool artist); - void setObserver(MMPXPlaybackCallback* obs); - - // Stub functions - void MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback); - -public: - - MMPXPlaybackCallback* iObserver; - - }; - -class MMPXPlaybackUtility - { -public: - - // Test utility functions - MMPXPlaybackUtility(); - virtual ~MMPXPlaybackUtility(); - static void setUtilityLeave(bool leave); - static void setAddObserverLeave(bool leave); - static void setRemoveObserverLeave(bool leave); - static void setCommandLeave(bool leave); - static void setStateLeave(bool leave); - static int getCloseCounter(); - static void resetCloseCounter(); - static int getRemoveObserverCounter(); - static void resetRemoveObserverCounter(); - static void setSource(bool exist); - static void setState(TMPXPlaybackState state); - static TMPXPlaybackState getState(); - void sendHandlePlaybackMessage(TMPXPlaybackMessage::TEvent event); - - // Stub functions - static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault); - void AddObserverL(MMPXPlaybackObserver& aObs); - void RemoveObserverL(MMPXPlaybackObserver& aObs); - void Close(); - void CommandL(TMPXPlaybackCommand aCmd, TInt aData=0); - TMPXPlaybackState StateL() const; - MMPXSource* Source(); - -public: - - MMPXPlaybackObserver* iObserver; - MMPXSource iSource; // concrete source object - - }; - -#endif // MMPXPLAYBACKUTILITY_H - -// End of File diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/stub/src/mpxplaybackutility.cpp --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/stub/src/mpxplaybackutility.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,352 +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: mpxplaybackutility stub for testing MpNowPlayingBackEnd -* -*/ - -#include -#include -#include -#include -#include - -#include "stub/inc/mpxplaybackutility.h" - -bool gLeaveMediaL = false; -int gMediaCounter = 0; - -bool gLeaveUtilityL = false; -bool gLeaveAddObserverL = false; -bool gLeaveRemoveObserverL = false; -bool gLeaveCommandL = false; -bool gLeaveStateL = false; -int gUtilCloseCounter = 0; -int gRemoveObserverCounter = 0; -bool gSourceExists = true; -TMPXPlaybackState gPlaybackState = EPbStateStopped; - -// Constants -_LIT( KTitle, "Title" ); -_LIT( KUri, "Uri" ); -_LIT( KArtist, "Artist" ); - -/*! - Stub constructor. - */ -MMPXSource::MMPXSource() -{ -} - -/*! - Stub destructor. - */ -MMPXSource::~MMPXSource() -{ -} - -/*! - Sets gLeaveMediaL. - If true MMPXSource::MediaL leaves. - */ -void MMPXSource::setMediaLeave(bool leave) -{ - gLeaveMediaL = leave; -} - -/*! - Returns gMediaCounter. - gMediaCounter counts the number of MMPXSource::MediaL calls. - */ -int MMPXSource::getMediaCounter() -{ - return gMediaCounter; -} - -/*! - Resets gMediaCounter to zero. - */ -void MMPXSource::resetMediaCounter() -{ - gMediaCounter = 0; -} - -/*! - Causes callback to observer. - \sa MMPXSource::MediaL - */ -void MMPXSource::sendHandleMediaL(bool title, bool uri, bool artist) -{ - CMPXMedia* media = CMPXMedia::NewL(); - CleanupStack::PushL(media); - if ( title ) { - media->SetTextValueL(KMPXMediaGeneralTitle, KTitle); - } - if ( uri ) { - media->SetTextValueL(KMPXMediaGeneralUri, KUri); - } - if ( artist ) { - media->SetTextValueL(KMPXMediaMusicArtist, KArtist); - } - iObserver->HandleMediaL(*media, KErrNone); - CleanupStack::PopAndDestroy( media ); -} - -/*! - Sets the observer - \sa MMPXSource::sendHandleMediaL. - */ -void MMPXSource::setObserver(MMPXPlaybackCallback* obs) -{ - iObserver = obs; -} - -/*! - Stub function. - */ -void MMPXSource::MediaL(const TArray& aAttrs, MMPXPlaybackCallback& aCallback) -{ - Q_UNUSED(aAttrs); - if (gLeaveMediaL) { - User::Leave(KErrGeneral); - } - iObserver = &aCallback; - gMediaCounter++; -} - - -// ----------------------------------------------------------------------------- -// ----------------------------------------------------------------------------- - - -/*! - Stub constructor. - */ -MMPXPlaybackUtility::MMPXPlaybackUtility() -{ -} - -/*! - Stub destructor. - */ -MMPXPlaybackUtility::~MMPXPlaybackUtility() -{ -} - -/*! - Sets gLeaveUtilityL. - If true MMPXPlaybackUtility::UtilityL leaves. - */ -void MMPXPlaybackUtility::setUtilityLeave(bool leave) -{ - gLeaveUtilityL = leave; -} - -/*! - Sets gLeaveAddObserverL. - If true MMPXPlaybackUtility::AddObserverL leaves. - */ -void MMPXPlaybackUtility::setAddObserverLeave(bool leave) -{ - gLeaveAddObserverL = leave; -} - -/*! - Sets gLeaveRemoveObserverL. - If true MMPXPlaybackUtility::RemoveObserverL leaves. - */ -void MMPXPlaybackUtility::setRemoveObserverLeave(bool leave) -{ - gLeaveRemoveObserverL = leave; -} - -/*! - Sets gLeaveCommandL. - If true MMPXPlaybackUtility::CommandL leaves. - */ -void MMPXPlaybackUtility::setCommandLeave(bool leave) -{ - gLeaveCommandL = leave; -} - -/*! - Sets gLeaveStateL. - If true MMPXPlaybackUtility::StateL leaves. - */ -void MMPXPlaybackUtility::setStateLeave(bool leave) -{ - gLeaveStateL = leave; -} - -/*! - Returns gUtilCloseCounter. - gUtilCloseCounter counts the number of MMPXPlaybackUtility::Close calls. - */ -int MMPXPlaybackUtility::getCloseCounter() -{ - return gUtilCloseCounter; -} - -/*! - Resets gUtilCloseCounter to zero. - */ -void MMPXPlaybackUtility::resetCloseCounter() -{ - gUtilCloseCounter = 0; -} - -/*! - Returns gRemoveObserverCounter. - gRemoveObserverCounter counts the number of MMPXPlaybackUtility::RemoveObserverL calls. - */ -int MMPXPlaybackUtility::getRemoveObserverCounter() -{ - return gRemoveObserverCounter; -} - -/*! - Resets gRemoveObserverCounter to zero. - */ -void MMPXPlaybackUtility::resetRemoveObserverCounter() -{ - gRemoveObserverCounter = 0; -} - -/*! - Sets gSourceExists. - If true MMPXPlaybackUtility::Source returns valid pointer. - */ -void MMPXPlaybackUtility::setSource(bool exist) -{ - gSourceExists = exist; -} - -/*! - Sets gPlaybackState. - \sa MMPXPlaybackUtility::getState() - \sa MMPXPlaybackUtility::StateL() - */ -void MMPXPlaybackUtility::setState(TMPXPlaybackState state) -{ - gPlaybackState = state; -} - -/*! - Gets gPlaybackState. - \sa MMPXPlaybackUtility::setState() - */ -TMPXPlaybackState MMPXPlaybackUtility::getState() -{ - return gPlaybackState; -} - -/*! - Causes callback to observer. - */ -void MMPXPlaybackUtility::sendHandlePlaybackMessage(TMPXPlaybackMessage::TEvent event) -{ - CMPXMessage* msg = CMPXMessage::NewL(); - CleanupStack::PushL(msg); - TMPXMessageId id=static_cast(KMPXMessageGeneral); - msg->SetTObjectValueL(KMPXMessageGeneralId, id); - msg->SetTObjectValueL(KMPXMessageGeneralEvent, event); - iObserver->HandlePlaybackMessage(msg, KErrNone); - CleanupStack::PopAndDestroy( msg ); -} - -/*! - Stub function. - */ -MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& aModeId) -{ - Q_UNUSED(aModeId); - if (gLeaveUtilityL) { - User::Leave(KErrGeneral); - } - static MMPXPlaybackUtility playbackUtilility; - return &playbackUtilility; -} - -/*! - Stub function. - */ -void MMPXPlaybackUtility::AddObserverL(MMPXPlaybackObserver& aObs) -{ - if (gLeaveAddObserverL) { - User::Leave(KErrGeneral); - } - iObserver = &aObs; -} - -/*! - Stub function. - */ -void MMPXPlaybackUtility::RemoveObserverL(MMPXPlaybackObserver& aObs) -{ - Q_UNUSED(aObs); - if (gLeaveRemoveObserverL) { - User::Leave(KErrGeneral); - } - gRemoveObserverCounter++; -} - -/*! - Stub function. - */ -void MMPXPlaybackUtility::Close() -{ - gUtilCloseCounter++; -} - -/*! - Stub function. - */ -void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd, TInt aData) -{ - Q_UNUSED(aCmd); - Q_UNUSED(aData); - if (gLeaveCommandL) { - User::Leave(KErrGeneral); - } - if ( gPlaybackState == EPbStatePlaying ) { - gPlaybackState = EPbStatePaused; - } - else { - gPlaybackState = EPbStatePlaying; - } -} - -/*! - Stub function. - */ -TMPXPlaybackState MMPXPlaybackUtility::StateL() const -{ - if (gLeaveStateL) { - User::Leave(KErrGeneral); - } - return gPlaybackState; -} - -/*! - Stub function. - */ -MMPXSource* MMPXPlaybackUtility::Source() -{ - if ( gSourceExists ) { - return &iSource; - } - else { - return 0; - } -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/unittest_mpnowplayingbackend.pro --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingbackend/unittest_mpnowplayingbackend.pro Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +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: -# - - -TEMPLATE = app -CONFIG += qtestlib hb -TARGET = - -DEPENDPATH += . -INCLUDEPATH += . \ - stub/inc \ - ../../inc \ - ../../../../inc -INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE - -LIBS += -lestor.dll \ - -lfbscli.dll \ - -lmpxcommon.dll - -HEADERS += inc/unittest_mpnowplayingbackend.h \ - stub/inc/mpxplaybackutility.h \ - ../../inc/mpnowplayingbackend.h \ - ../../inc/mpnowplayingbackend_p.h \ - -SOURCES += src/unittest_mpnowplayingbackend.cpp \ - stub/src/mpxplaybackutility.cpp \ - ../../src/mpnowplayingbackend.cpp \ - ../../src/mpnowplayingbackend_p.cpp diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h Thu Jul 22 16:32:33 2010 +0100 @@ -20,7 +20,7 @@ #include -#include "stub/inc/mpnowplayingbackend.h" +#include "stub/inc/mpplaybackdata.h" class MpNowPlayingWidget; class MpNowPlayingWidgetPrivate; @@ -35,7 +35,7 @@ virtual ~TestMpNowPlayingWidget(); signals: - void setState(SimplifiedPlayerState state); + void setState(MpPlaybackData::SimplifiedState state); public slots: void initTestCase(); @@ -46,10 +46,9 @@ private slots: void testConstructor(); void testSetState(); - void testTitleChange(); - void testArtistChange(); + void testBannerInfoChange(); void testSetEnabled(); - void testThemeChange(); + void testIsBannerAttached(); private: diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -18,15 +18,11 @@ #include #include #include -#include -#include -#include #include #include #include "unittest_mpnowplayingwidget.h" -#include "stub/inc/mpnowplayingbackend.h" -#include "stub/inc/hbcolorscheme.h" +#include "stub/inc/mpplaybackdata.h" #include "mpcommondefs.h" // Do this so we can access all member variables. @@ -40,19 +36,21 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; + QApplication app(argc, argv); TestMpNowPlayingWidget tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpnowplayingwidget.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpnowplayingwidget.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpNowPlayingWidget::TestMpNowPlayingWidget() @@ -84,7 +82,7 @@ */ void TestMpNowPlayingWidget::init() { - mTest = new MpNowPlayingWidget(MpCommon::KMusicPlayerUid); + mTest = new MpNowPlayingWidget(); mTestPrivate = mTest->d_ptr; } @@ -103,19 +101,17 @@ void TestMpNowPlayingWidget::testConstructor() { cleanup(); - MpNowPlayingBackEnd::resetUpdateCounter(); + MpPlaybackData::resetUpdateCounter(); init(); QVERIFY(mTestPrivate->mPrimaryText != 0); QVERIFY(mTestPrivate->mSecondaryText != 0); - QVERIFY(mTestPrivate->mBackEnd != 0); - QVERIFY(mTestPrivate->mPlayIconNormal != 0); - QVERIFY(mTestPrivate->mPauseIconNormal != 0); - QVERIFY(mTestPrivate->mPlayIconPressed != 0); - QVERIFY(mTestPrivate->mPauseIconPressed != 0); + QVERIFY(mTestPrivate->mPlaybackData != 0); + QVERIFY(mTestPrivate->mPlayIcon != 0); + QVERIFY(mTestPrivate->mPauseIcon != 0); QVERIFY(mTestPrivate->mIcon != 0); QVERIFY(mTestPrivate->mDocumentLoader != 0); - QCOMPARE(mTestPrivate->mState, NotPlaying); - QCOMPARE(MpNowPlayingBackEnd::getUpdateCounter(), 1); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); + QCOMPARE(MpPlaybackData::getUpdateCounter(), 1); } /*! @@ -125,63 +121,63 @@ { QSignalSpy spy(mTest, SIGNAL(playbackAttachmentChanged(bool))); - mTestPrivate->mState = NotPlaying; - mTestPrivate->mBackEnd->triggerStateUpdate(NotPlaying); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::NotPlaying); QCOMPARE(spy.count(), 0); - QCOMPARE(mTestPrivate->mState, NotPlaying); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); - mTestPrivate->mState = Playing; - mTestPrivate->mBackEnd->triggerStateUpdate(NotPlaying); + mTestPrivate->mState = MpPlaybackData::Playing; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::NotPlaying); QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0).toBool(), false); - QCOMPARE(mTestPrivate->mState, NotPlaying); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); spy.clear(); - mTestPrivate->mState = Paused; - mTestPrivate->mBackEnd->triggerStateUpdate(NotPlaying); + mTestPrivate->mState = MpPlaybackData::Paused; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::NotPlaying); QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0).toBool(), false); - QCOMPARE(mTestPrivate->mState, NotPlaying); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); spy.clear(); - mTestPrivate->mState = NotPlaying; - mTestPrivate->mBackEnd->triggerStateUpdate(Playing); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Playing); QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0).toBool(), true); - QCOMPARE(mTestPrivate->mState, Playing); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::Playing); spy.clear(); - mTestPrivate->mState = NotPlaying; - mTestPrivate->mBackEnd->triggerStateUpdate(Paused); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Paused); QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0).toBool(), true); - QCOMPARE(mTestPrivate->mState, Paused); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::Paused); spy.clear(); - mTestPrivate->mState = Playing; - mTestPrivate->mBackEnd->triggerStateUpdate(Paused); - mTestPrivate->mState = Paused; - mTestPrivate->mBackEnd->triggerStateUpdate(Playing); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Stopped); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.at(0).at(0).toBool(), true); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::Stopped); + + spy.clear(); + mTestPrivate->mState = MpPlaybackData::Playing; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Paused); + mTestPrivate->mState = MpPlaybackData::Paused; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Playing); QCOMPARE(spy.count(), 0); } /*! - Tests title change from the backend. + Tests title and artist change */ -void TestMpNowPlayingWidget::testTitleChange() +void TestMpNowPlayingWidget::testBannerInfoChange() { - mTestPrivate->mBackEnd->triggerTitleChanged(QString("Title")); + mTestPrivate->mPlaybackData->triggerLabelsChanged(QString("Title"), QString("Artist")); QCOMPARE(mTestPrivate->mPrimaryText->plainText(), QString("Title")); + QCOMPARE(mTestPrivate->mSecondaryText->plainText(), QString("Artist")); } -/*! - Tests artist change from the backend. - */ -void TestMpNowPlayingWidget::testArtistChange() -{ - mTestPrivate->mBackEnd->triggerArtistChanged(QString("Artist")); - QCOMPARE(mTestPrivate->mSecondaryText->plainText(), QString("Artist")); -} /*! Tests disabling/enabling the widget. @@ -192,70 +188,51 @@ QSignalSpy spy(mTest, SIGNAL(playbackAttachmentChanged(bool))); mTestPrivate->mPrimaryText->setPlainText("Primary"); mTestPrivate->mSecondaryText->setPlainText("Secondary"); - mTestPrivate->mState = NotPlaying; + mTestPrivate->mState = MpPlaybackData::NotPlaying; // Disable the widget; Nothing should update. mTest->setEnabled(false); - mTestPrivate->mBackEnd->triggerStateUpdate(Playing); - QCOMPARE(mTestPrivate->mState, NotPlaying); + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::Playing); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); QCOMPARE(spy.count(), 0); - mTestPrivate->mBackEnd->triggerTitleChanged(QString("Title")); + mTestPrivate->mPlaybackData->triggerLabelsChanged(QString("Title"), QString("Artist")); QCOMPARE(mTestPrivate->mPrimaryText->plainText(), QString("Primary")); - - mTestPrivate->mBackEnd->triggerArtistChanged(QString("Artist")); QCOMPARE(mTestPrivate->mSecondaryText->plainText(), QString("Secondary")); // Enable the widget. It should start updating again. + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::NotPlaying); mTest->setEnabled(true); - mTestPrivate->mState = Playing; - mTestPrivate->mBackEnd->triggerStateUpdate(NotPlaying); + mTestPrivate->mState = MpPlaybackData::Playing; + mTestPrivate->mPlaybackData->triggerStateUpdate(MpPlaybackData::NotPlaying); QCOMPARE(spy.count(), 1); QCOMPARE(spy.at(0).at(0).toBool(), false); - QCOMPARE(mTestPrivate->mState, NotPlaying); + QCOMPARE(mTestPrivate->mState, MpPlaybackData::NotPlaying); - mTestPrivate->mBackEnd->triggerTitleChanged(QString("Title")); + mTestPrivate->mPlaybackData->triggerLabelsChanged(QString("Title"), QString("Artist")); QCOMPARE(mTestPrivate->mPrimaryText->plainText(), QString("Title")); - - mTestPrivate->mBackEnd->triggerArtistChanged(QString("Artist")); QCOMPARE(mTestPrivate->mSecondaryText->plainText(), QString("Artist")); } /*! - Tests ThemeChange. + Tests the return value based on the current playbackState */ -void TestMpNowPlayingWidget::testThemeChange() +void TestMpNowPlayingWidget::testIsBannerAttached() { - - HbEvent event(HbEvent::ThemeChanged); - HbColorTheme::global()->setCurrentTheme(1); - //TODO final color resources should be qtc_multimedia_trans_normal when available - QColor normalColor( HbColorScheme::color("foreground") ); - //TODO final color resources should be qtc_multimedia_trans_pressed when available - QColor pressedColor( HbColorScheme::color("popupbackground") ); - - mTest->changeEvent(&event); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + QCOMPARE(mTestPrivate->isBannerAttached(), false); + mTestPrivate->mState = MpPlaybackData::Playing; + QCOMPARE(mTestPrivate->isBannerAttached(), true); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + QCOMPARE(mTestPrivate->isBannerAttached(), false); + mTestPrivate->mState = MpPlaybackData::Paused; + QCOMPARE(mTestPrivate->isBannerAttached(), true); + mTestPrivate->mState = MpPlaybackData::NotPlaying; + QCOMPARE(mTestPrivate->isBannerAttached(), false); + mTestPrivate->mState = MpPlaybackData::Stopped; + QCOMPARE(mTestPrivate->isBannerAttached(), true); - QCOMPARE(mTestPrivate->mPrimaryText->textColor(),normalColor); - QCOMPARE(mTestPrivate->mSecondaryText->textColor(),normalColor); - QCOMPARE(mTestPrivate->mPlayIconNormal->color(),normalColor); - QCOMPARE(mTestPrivate->mPauseIconNormal->color(),normalColor); - QCOMPARE(mTestPrivate->mPlayIconPressed->color(),pressedColor); - QCOMPARE(mTestPrivate->mPauseIconPressed->color(),pressedColor); - - HbColorTheme::global()->setCurrentTheme(0); - - mTest->changeEvent(&event); - - normalColor = HbColorScheme::color("foreground"); - pressedColor = HbColorScheme::color("popupbackground"); - - QCOMPARE(mTestPrivate->mPrimaryText->textColor(),normalColor); - QCOMPARE(mTestPrivate->mSecondaryText->textColor(),normalColor); - QCOMPARE(mTestPrivate->mPlayIconNormal->color(),normalColor); - QCOMPARE(mTestPrivate->mPauseIconNormal->color(),normalColor); - QCOMPARE(mTestPrivate->mPlayIconPressed->color(),pressedColor); - QCOMPARE(mTestPrivate->mPauseIconPressed->color(),pressedColor); } + // End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/hbcolorscheme.h --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/hbcolorscheme.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +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: HbColorScheme stub for testing MpNowPlayingWidget -* -*/ - -#ifndef HBCOLORSCHEME_H -#define HBCOLORSCHEME_H - -#include -#include - - -class QGraphicsWidget; -class QString; - - -class HbColorTheme -{ - -public: - // Stub functions - ~HbColorTheme(); - - static HbColorTheme *global (); - - QColor color(const QString &colorRole); - void setCurrentTheme(int theme); - -private: - HbColorTheme (); - int mTheme; - -}; - -class HbColorScheme -{ -public: - // Stub functions - static QColor color( const QString &colorRole ); - -}; - -#endif // HBCOLORSCHEME_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpenginefactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpenginefactory.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,62 @@ +/* +* 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: MpEngineFactory stub for testing MpNowPlayingWidget +* +*/ + +#ifndef MPENGINEFACTORY_H +#define MPENGINEFACTORY_H + +#include + + +class MpPlaybackData; + +class MpEngine +{ +public: + // Stub functions + MpEngine(); + MpPlaybackData *playbackData(); + +public: + void playPause(); + +private: + MpPlaybackData *mPlaybackData; + +}; + +class MpEngineFactory +{ + +public: + // Stub functions +private: + explicit MpEngineFactory(); + +public: + virtual ~MpEngineFactory(); + static MpEngineFactory * instance(); + static MpEngine *sharedEngine(); + +private: + Q_DISABLE_COPY( MpEngineFactory ) + + MpEngine *mSharedEngine; + +}; + + +#endif // MPENGINEFACTORY_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpnowplayingbackend.h --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpnowplayingbackend.h Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +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: mpnowplayingbackend stub for testing MpNowPlayingWidget -* -*/ - -#ifndef MPNOWPLAYINGBACKEND_H -#define MPNOWPLAYINGBACKEND_H - -//includes -#include -#include - -enum SimplifiedPlayerState { - NotPlaying, //When there is no source - Playing, //When it is playing - Paused //When is not in Playing State -}; - -// Register so type can be used in signal and slot connection -Q_DECLARE_METATYPE(SimplifiedPlayerState) - - -class MpNowPlayingBackEnd : public QObject -{ - Q_OBJECT - -public: - - // Test utility functions - static int getUpdateCounter(); - static void resetUpdateCounter(); - static int getPlayPauseCounter(); - static void resetPlayPauseCounter(); - void triggerStateUpdate(SimplifiedPlayerState state); - void triggerTitleChanged(const QString &text); - void triggerArtistChanged(const QString &text); - - // Stub functions - explicit MpNowPlayingBackEnd(long int playerId=0); - virtual ~MpNowPlayingBackEnd(); - -signals: - void stateUpdate(SimplifiedPlayerState state); - void titleChanged(const QString &text); - void artistChanged(const QString &text); - -public slots: - void update(); - void playPause(); - -}; - -#endif // MPNOWPLAYINGBACKEND_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpplaybackdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/mpplaybackdata.h Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,64 @@ +/* +* 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: mpplaybackdata stub for testing MpNowPlayingWidget +* +*/ + +#ifndef MPPLAYBACKDATA_H +#define MPPLAYBACKDATA_H + +//includes +#include +#include + + +class MpPlaybackData : public QObject +{ + Q_OBJECT + +public: + + enum SimplifiedState { + NotPlaying, + Playing, + Paused, + Stopped + }; + // Test utility functions + static int getUpdateCounter(); + static void resetUpdateCounter(); + void triggerStateUpdate(SimplifiedState state); + void triggerLabelsChanged(const QString &title, const QString &artist); + + // Stub functions + explicit MpPlaybackData(); + virtual ~MpPlaybackData(); + +signals: + void playbackStateChanged(); + void playbackInfoChanged(); + +public: + const QString& title() const; + const QString& artist() const; + MpPlaybackData::SimplifiedState playbackState() const; + +private: + QString mArtist; + QString mTitle; + SimplifiedState mPlaybackState; + +}; + +#endif // MPPLAYBACKDATA_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/hbcolorscheme.cpp --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/hbcolorscheme.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +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: HbColorScheme stub for testing MpNowPlayingWidget -* -*/ - - -#include "stub/inc/hbcolorscheme.h" - -/*! - * Stub function - */ -HbColorTheme *HbColorTheme::global () -{ - static HbColorTheme instance; - return &instance; -} - -/*! - * Stub function - */ -QColor HbColorTheme::color( const QString &colorRole ) -{ - if ( mTheme == 1 ) { - if ( colorRole == QString("foreground") ) { - return QColor(255,0,255); - } - else{ - return QColor(0,255,0); - } - } - else { - if ( colorRole == QString("foreground") ) { - return QColor(255,255,0); - } - else{ - return QColor(0,255,255); - } - } -} - -/*! - * Stub function - */ -void HbColorTheme::setCurrentTheme ( int theme ) -{ - mTheme = theme; - -} - -/*! - * Stub function - */ -HbColorTheme::HbColorTheme (): mTheme(0) -{ - -} -/*! - * Stub function - */ -HbColorTheme::~HbColorTheme () -{ - -} - -/*! - * Stub function - */ -QColor HbColorScheme::color( const QString &colorRole ) -{ - QColor normalColor(255,255,255); - return HbColorTheme::global()->color(colorRole); -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpenginefactory.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpenginefactory.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,78 @@ +/* +* 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: MpEngineFactory stub for testing MpNowPlayingWidget +* +*/ + + +#include "stub/inc/mpenginefactory.h" +#include "stub/inc/mpplaybackdata.h" + +/*! + * Stub function + */ +MpEngine::MpEngine() : mPlaybackData(0) +{ +} + +/*! + * Stub function + */ +MpPlaybackData *MpEngine::playbackData() +{ + mPlaybackData = new MpPlaybackData(); + return mPlaybackData; +} + +/*! + * Stub function + */ +void MpEngine::playPause() +{ +} + +/*! + * Stub function + */ +MpEngineFactory::MpEngineFactory() + : mSharedEngine( 0 ) +{ +} + +/*! + * Stub function + */ +MpEngineFactory::~MpEngineFactory() +{ +} + +/*! + * Stub function + */ +MpEngineFactory * MpEngineFactory::instance() +{ + static MpEngineFactory instance; + return &instance; +} + +/*! + * Stub function + */ +MpEngine *MpEngineFactory::sharedEngine() +{ + if ( !instance()->mSharedEngine ) { + instance()->mSharedEngine = new MpEngine(); + } + return instance()->mSharedEngine; +} diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpnowplayingbackend.cpp --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpnowplayingbackend.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +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: mpxplaybackutility stub for testing MpNowPlayingBackEnd -* -*/ - -#include "stub/inc/mpnowplayingbackend.h" - - -int gUpdateCounter = 0; -int gPlayPauseCounter = 0; - - -/*! - Returns gUpdateCounter. - gUpdateCounter counts the number of MpNowPlayingBackEnd::update calls. - */ -int MpNowPlayingBackEnd::getUpdateCounter() -{ - return gUpdateCounter; -} - -/*! - Resets gUpdateCounter to zero. - */ -void MpNowPlayingBackEnd::resetUpdateCounter() -{ - gUpdateCounter = 0; -} - -/*! - Returns gPlayPauseCounter. - gPlayPauseCounter counts the number of MpNowPlayingBackEnd::playPause calls. - */ -int MpNowPlayingBackEnd::getPlayPauseCounter() -{ - return gPlayPauseCounter; -} - -/*! - Resets gPlayPauseCounter to zero. - */ -void MpNowPlayingBackEnd::resetPlayPauseCounter() -{ - gPlayPauseCounter = 0; -} - -/*! - Causes signal stateUpdate to be emitted. - */ -void MpNowPlayingBackEnd::triggerStateUpdate(SimplifiedPlayerState state) -{ - emit stateUpdate(state); -} - -/*! - Causes signal titleChanged to be emitted. - */ -void MpNowPlayingBackEnd::triggerTitleChanged(const QString &text) -{ - emit titleChanged(text); -} - -/*! - Causes signal artistChanged to be emitted. - */ -void MpNowPlayingBackEnd::triggerArtistChanged(const QString &text) -{ - emit artistChanged(text); -} - -/*! - Stub function. - */ -MpNowPlayingBackEnd::MpNowPlayingBackEnd( long int playerId ) -{ - Q_UNUSED(playerId); -} - -/*! - Stub function. - */ -MpNowPlayingBackEnd::~MpNowPlayingBackEnd() -{ -} - -/*! - Stub function. - */ -void MpNowPlayingBackEnd::update() -{ - gUpdateCounter++; -} - -/*! - Stub function. - */ -void MpNowPlayingBackEnd::playPause() -{ - gPlayPauseCounter++; -} - diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpplaybackdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/mpplaybackdata.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,100 @@ +/* +* 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: MpPlaybackData stub for testing mpnowplayingwidget +* +*/ + +#include "stub/inc/mpplaybackdata.h" + + +int gUpdateCounter = 0; + + +/*! + Returns gUpdateCounter. + gUpdateCounter counts the number of MpNowPlayingBackEnd::update calls. + */ +int MpPlaybackData::getUpdateCounter() +{ + return gUpdateCounter; +} + +/*! + Resets gUpdateCounter to zero. + */ +void MpPlaybackData::resetUpdateCounter() +{ + gUpdateCounter = 0; +} + +/*! + Causes signal stateUpdate to be emitted. + */ +void MpPlaybackData::triggerStateUpdate(SimplifiedState state) +{ + mPlaybackState = state; + emit playbackStateChanged(); + +} + +/*! + Causes signal titleChanged to be emitted. + */ +void MpPlaybackData::triggerLabelsChanged(const QString &title, const QString &artist ) +{ + mArtist = artist; + mTitle = title; + emit playbackInfoChanged();; +} + +/*! + Stub function. + */ +MpPlaybackData::MpPlaybackData() + : mPlaybackState(NotPlaying) +{ + gUpdateCounter++; +} + +/*! + Stub function. + */ +MpPlaybackData::~MpPlaybackData() +{ +} + +/*! + Stub function. + */ +const QString& MpPlaybackData::title() const +{ + return mTitle; +} + +/*! + Stub function. + */ +const QString& MpPlaybackData::artist() const +{ + return mArtist; +} + +/*! + Stub function. + */ +MpPlaybackData::SimplifiedState MpPlaybackData::playbackState() const +{ + return mPlaybackState; +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro --- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro Thu Jul 22 16:32:33 2010 +0100 @@ -16,7 +16,10 @@ TEMPLATE = app CONFIG += qtestlib hb -TARGET = +HB += hbfeedback +CONFIG += symbian_test +TARGET = unittest_mpnowplayingwidget +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \ @@ -30,17 +33,18 @@ # Input HEADERS += inc/unittest_mpnowplayingwidget.h \ - stub/inc/mpnowplayingbackend.h \ - stub/inc/hbcolorscheme.h \ + stub/inc/mpplaybackdata.h \ + stub/inc/mpenginefactory.h \ ../../../../inc/mpnowplayingwidget.h \ ../../inc/mpnowplayingwidget_p.h SOURCES += src/unittest_mpnowplayingwidget.cpp \ - stub/src/mpnowplayingbackend.cpp \ - stub/src/hbcolorscheme.cpp \ + stub/src/mpplaybackdata.cpp \ + stub/src/mpenginefactory.cpp \ ../../src/mpnowplayingwidget.cpp \ ../../src/mpnowplayingwidget_p.cpp RESOURCES += ../../resources/mpnowplayingbanner.qrc DEFINES += BUILD_MPNOWPLAYINGBANNER + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def --- a/utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def Thu Jul 22 16:32:33 2010 +0100 @@ -23,4 +23,13 @@ ?presetChanged@MpSettingsManager@@IAEXH@Z @ 22 NONAME ; void MpSettingsManager::presetChanged(int) ?setPreset@MpSettingsManager@@SAXH@Z @ 23 NONAME ; void MpSettingsManager::setPreset(int) ?preset@MpSettingsManager@@SAHXZ @ 24 NONAME ; int MpSettingsManager::preset(void) + ?setInspireMe@MpSettingsManager@@SAX_N@Z @ 25 NONAME ; void MpSettingsManager::setInspireMe(bool) + ?inspireMe@MpSettingsManager@@SA_NXZ @ 26 NONAME ; bool MpSettingsManager::inspireMe(void) + ?InspireMeChanged@MpSettingsManager@@IAEX_N@Z @ 27 NONAME ; void MpSettingsManager::InspireMeChanged(bool) + ?setSongDetailsGb@MpSettingsManager@@SAX_N@Z @ 28 NONAME ; void MpSettingsManager::setSongDetailsGb(bool) + ?SongDetailsGbChanged@MpSettingsManager@@IAEX_N@Z @ 29 NONAME ; void MpSettingsManager::SongDetailsGbChanged(bool) + ?songDetailsGb@MpSettingsManager@@SA_NXZ @ 30 NONAME ; bool MpSettingsManager::songDetailsGb(void) + ?mtpInfoUrl@MpSettingsManager@@SA?AVQString@@XZ @ 31 NONAME ; class QString MpSettingsManager::mtpInfoUrl(void) + ?showMtpInfo@MpSettingsManager@@SA_NXZ @ 32 NONAME ; bool MpSettingsManager::showMtpInfo(void) + ?stopShowingMtpInfo@MpSettingsManager@@SAXXZ @ 33 NONAME ; void MpSettingsManager::stopShowingMtpInfo(void) diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/conf/musicplayer.confml Binary file utilities/mpsettingsmanager/conf/musicplayer.confml has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/conf/musicplayer_10207C92.crml Binary file utilities/mpsettingsmanager/conf/musicplayer_10207C92.crml has changed diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def --- a/utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def Thu Jul 22 16:32:33 2010 +0100 @@ -23,4 +23,13 @@ _ZN17MpSettingsManager13presetChangedEi @ 22 NONAME _ZN17MpSettingsManager6presetEv @ 23 NONAME _ZN17MpSettingsManager9setPresetEi @ 24 NONAME + _ZN17MpSettingsManager12setInspireMeEb @ 25 NONAME + _ZN17MpSettingsManager16InspireMeChangedEb @ 26 NONAME + _ZN17MpSettingsManager9inspireMeEv @ 27 NONAME + _ZN17MpSettingsManager13songDetailsGbEv @ 28 NONAME + _ZN17MpSettingsManager16setSongDetailsGbEb @ 29 NONAME + _ZN17MpSettingsManager20SongDetailsGbChangedEb @ 30 NONAME + _ZN17MpSettingsManager10mtpInfoUrlEv @ 31 NONAME + _ZN17MpSettingsManager11showMtpInfoEv @ 32 NONAME + _ZN17MpSettingsManager18stopShowingMtpInfoEv @ 33 NONAME diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h --- a/utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h Thu Jul 22 16:32:33 2010 +0100 @@ -26,5 +26,9 @@ const qint32 KMPCenRepSettingPresetIdKey = {0x00000004}; const qint32 KMPCenRepSettingRamdiskEnabled = {0x00000005}; const qint32 KMPCenRepSettingRamdiskMaxDiskSpace = {0x00000006}; + const qint32 KMPCenRepSettingInspireMeKey = {0x00000007}; + const qint32 KMPCenRepSettingSongDetailsGBKey = {0x00000008}; + const qint32 KMusicPlayerShowMtpInfoKey = {0x00000009}; + const qint32 KMusicPlayerMtpInfoUrlKey = {0x0000000A}; #endif // MPSETTINGSMANAGERDEFS_H diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/mpsettingsmanager.pro --- a/utilities/mpsettingsmanager/mpsettingsmanager.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/mpsettingsmanager.pro Thu Jul 22 16:32:33 2010 +0100 @@ -19,34 +19,28 @@ TEMPLATE = lib CONFIG += hb qt TARGET = mpsettingsmanager - -TARGET.CAPABILITY = All -TCB +symbian: { + TARGET.UID3 = 0x10207C68 + MMP_RULES += "DEFFILE mpsettingsmanager.def" + defFilePath = . + TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.EPOCALLOWDLLDATA = 1 + BLD_INF_RULES.prj_exports += \ + "$${LITERAL_HASH}include " \ + "conf/musicplayer.confml APP_LAYER_CONFML(musicplayer.confml)" \ + "conf/musicplayer_10207C92.crml APP_LAYER_CRML(musicplayer_10207C92.crml)" +} +DEFINES += BUILD_MPSETTINGSMANAGER INCLUDEPATH += . \ inc \ ../../inc - INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -LIBS+= -lxqsettingsmanager - -symbian:TARGET.EPOCALLOWDLLDATA = 1 - -HEADERS = ../../inc/mpsettingsmanager.h - -SOURCES += src/mpsettingsmanager.cpp -DEFINES += BUILD_MPSETTINGSMANAGER - +LIBS += -lxqsettingsmanager.dll -myDefInclude = "NOSTRICTDEF" \ -"$${LITERAL_HASH}if defined(WINS)"\ -"DEFFILE bwins/mpsettingsmanageru.def "\ -"$${LITERAL_HASH}else "\ -"DEFFILE eabi/mpsettingsmanageru.def "\ -"$${LITERAL_HASH}endif" -MMP_RULES += myDefInclude +# Input +HEADERS += ../../inc/mpsettingsmanager.h -BLD_INF_RULES.prj_exports += \ - "$${LITERAL_HASH}include " \ - "conf/musicplayer.confml APP_LAYER_CONFML(musicplayer.confml)" \ - "conf/musicplayer_10207C92.crml APP_LAYER_CRML(musicplayer_10207C92.crml)" +SOURCES += src/mpsettingsmanager.cpp + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/src/mpsettingsmanager.cpp --- a/utilities/mpsettingsmanager/src/mpsettingsmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/src/mpsettingsmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -82,6 +82,28 @@ mPreset = mSettingsManager->readItemValue(presetProfileKey).toInt(); mSettingsManager->startMonitoring(presetProfileKey); + XQSettingsKey InspireMeKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingInspireMeKey); + mInspireMe = mSettingsManager->readItemValue(InspireMeKey).toInt(); + mSettingsManager->startMonitoring(InspireMeKey); + + XQSettingsKey SongDetailsGbKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingSongDetailsGBKey); + mSongDetailsGb = mSettingsManager->readItemValue(SongDetailsGbKey).toInt(); + mSettingsManager->startMonitoring(SongDetailsGbKey); + + XQSettingsKey showMtpInfo(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMusicPlayerShowMtpInfoKey); + mShowMtpInfo = mSettingsManager->readItemValue(showMtpInfo).toInt(); + mSettingsManager->startMonitoring(showMtpInfo); + + XQSettingsKey mtpInfoUrl(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMusicPlayerMtpInfoUrlKey); + mMtpInfoUrl = mSettingsManager->readItemValue(mtpInfoUrl, XQSettingsManager::TypeString).toString(); TX_EXIT } @@ -134,6 +156,38 @@ return instance()->mPreset; } +/*! + Returns the inspireMe setting. + */ +bool MpSettingsManager::inspireMe() +{ + return instance()->mInspireMe; +} + +/*! + Returns the SongDetails group Box setting. + */ +bool MpSettingsManager::songDetailsGb() +{ + return instance()->mSongDetailsGb; +} + +/*! + Returns wheter mtp info should be showed. + */ +bool MpSettingsManager::showMtpInfo() +{ + return instance()->mShowMtpInfo; +} + +/*! + Returns mtp info url. + */ +QString MpSettingsManager::mtpInfoUrl() +{ + return instance()->mMtpInfoUrl; +} + /*! Slot to be called when a setting is changed. @@ -158,6 +212,20 @@ TX_LOG_ARGS("Preset changed to "<< mPreset); emit presetChanged( mPreset ); break; + case KMPCenRepSettingInspireMeKey: + mInspireMe = value.toInt(); + TX_LOG_ARGS("Inspire Me changed to "<< mInspireMe); + emit InspireMeChanged( mInspireMe ); + break; + case KMPCenRepSettingSongDetailsGBKey: + mSongDetailsGb = value.toInt(); + TX_LOG_ARGS("SongDetailsGB changed to "<< mSongDetailsGb); + emit SongDetailsGbChanged( mSongDetailsGb ); + break; + case KMusicPlayerShowMtpInfoKey: + mShowMtpInfo = value.toInt(); + TX_LOG_ARGS("Show MTP info changed to "<< mShowMtpInfo); + break; default : TX_LOG_ARGS(" unhandled cenrep key: " << key.key() << "; should never get here."); @@ -210,4 +278,46 @@ TX_EXIT } +/*! + Slot to be called to request an update on the \a InspireMe setting. + */ +void MpSettingsManager::setInspireMe(bool inspireme) +{ + TX_STATIC_ENTRY_ARGS("Inspire Me=" << inspireme); + XQSettingsKey inspireMeProfileKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingInspireMeKey); + instance()->mSettingsManager->writeItemValue( + inspireMeProfileKey, + inspireme ? 1 : 0); + TX_EXIT +} +/*! + Slot to be called to request an update on the \a SongDetails Group Box setting. + */ +void MpSettingsManager::setSongDetailsGb(bool songdetails) +{ + TX_STATIC_ENTRY_ARGS("SongDetailsGb=" << songdetails); + XQSettingsKey songDetailsGbProfileKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingSongDetailsGBKey); + instance()->mSettingsManager->writeItemValue( + songDetailsGbProfileKey, + songdetails ? 1 : 0); + TX_EXIT +} + +/*! + Slot to be called to stop showing mtp info. + */ +void MpSettingsManager::stopShowingMtpInfo() +{ + TX_STATIC_ENTRY_ARGS("preset=" << preset); + XQSettingsKey showMtpInfo(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMusicPlayerShowMtpInfoKey); + instance()->mSettingsManager->writeItemValue(showMtpInfo, 0); + TX_EXIT +} + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/tsrc/tsrc.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/mpsettingsmanager/tsrc/tsrc.pro Thu Jul 22 16:32:33 2010 +0100 @@ -0,0 +1,20 @@ +# +# 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: +# + +TEMPLATE = subdirs + +SUBDIRS = unittest_mpsettingsmanager + diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h --- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h Thu Jul 22 16:32:33 2010 +0100 @@ -41,13 +41,20 @@ private slots: void testConstructor(); //don't change the order, this should be the first test. void testInstanceConstruction(); + void testFirstStartupGet(); void testShuffleGetAndSet(); void testRepeatGetAndSet(); void testPresetGetAndSet(); + void testInspireMeGetAndSet(); + void testSongDetailsGbGetAndSet(); + void testShowMtpInfoGetAndStop(); + void testMtpInfoUrlGet(); void testValueChangedShuffleCase(); void testValueChangedRepeatCase(); void testValueChangedPresetCase(); - + void testValueChangedInspireMe(); + void testValueChangedSongDetailsGb(); + void testValueChangedShowMtpInfo(); }; diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp --- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -17,9 +17,6 @@ #include #include -#include -#include -#include #include "mpsettingsmanagerdefs.h" @@ -42,18 +39,19 @@ */ int main(int argc, char *argv[]) { - HbApplication app(argc, argv); - HbMainWindow window; TestMpSettingsManager tv; - char *pass[3]; - pass[0] = argv[0]; - pass[1] = "-o"; - pass[2] = "c:\\data\\unittest_mpsettingsmanager.txt"; + if ( argc > 1 ) { + return QTest::qExec( &tv, argc, argv); + } + else { + char *pass[3]; + pass[0] = argv[0]; + pass[1] = "-o"; + pass[2] = "c:\\data\\unittest_mpsettingsmanager.txt"; - int res = QTest::qExec(&tv, 3, pass); - - return res; + return QTest::qExec(&tv, 3, pass); + } } TestMpSettingsManager::TestMpSettingsManager() @@ -104,15 +102,40 @@ test = new MpSettingsManager(); QVERIFY(test); QVERIFY(test->mSettingsManager); - + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingFirstStartupKey),1); + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingFirstStartupKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingFirstStartupKey),0); + QCOMPARE(test->mFirstStartup, true); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingShuffleKey),1); QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingShuffleKey), 1); QCOMPARE(test->mShuffle, true); - + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingRepeatKey),1); QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingRepeatKey),1); QCOMPARE(test->mRepeat, true); - + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingPresetIdKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingPresetIdKey),1); + QCOMPARE(test->mPreset, 1); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingInspireMeKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingInspireMeKey),1); + QCOMPARE(test->mInspireMe, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingSongDetailsGBKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingSongDetailsGBKey),1); + QCOMPARE(test->mSongDetailsGb, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerShowMtpInfoKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerShowMtpInfoKey),1); + QCOMPARE(test->mShowMtpInfo, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerMtpInfoUrlKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerMtpInfoUrlKey),0); + QCOMPARE(test->mMtpInfoUrl, QString("testText")); + delete test; test = 0; } @@ -126,19 +149,56 @@ test = MpSettingsManager::instance(); QVERIFY(test); QVERIFY(test->mSettingsManager); - + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingFirstStartupKey),1); + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingFirstStartupKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingFirstStartupKey),0); + QCOMPARE(test->mFirstStartup, true); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingShuffleKey),1); QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingShuffleKey), 1); QCOMPARE(test->mShuffle, true); - + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingRepeatKey),1); QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingRepeatKey),1); QCOMPARE(test->mRepeat, true); - + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingPresetIdKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingPresetIdKey),1); + QCOMPARE(test->mPreset, 1); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingInspireMeKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingInspireMeKey),1); + QCOMPARE(test->mInspireMe, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingSongDetailsGBKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingSongDetailsGBKey),1); + QCOMPARE(test->mSongDetailsGb, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerShowMtpInfoKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerShowMtpInfoKey),1); + QCOMPARE(test->mShowMtpInfo, true); + + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerMtpInfoUrlKey),1); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerMtpInfoUrlKey),0); + QCOMPARE(test->mMtpInfoUrl, QString("testText")); + QCOMPARE(test, MpSettingsManager::instance()); // test that instance returns the singleton } /*! +testFirstStartupGet + */ +void TestMpSettingsManager::testFirstStartupGet() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + + QCOMPARE(test->firstStartup(), true); + +} + +/*! testShuffleGetAndSet */ void TestMpSettingsManager::testShuffleGetAndSet() @@ -150,13 +210,13 @@ test->mShuffle = true; MpSettingsManager::setShuffle(false); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingShuffleKey),QVariant(false)); - QCOMPARE(test->mShuffle, true); //should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::shuffle(), true); //should not chaqnge until stored in cenrep test->mShuffle = false; test->setShuffle(true); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingShuffleKey),QVariant(true)); - QCOMPARE(test->mShuffle, false);//should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::shuffle(), false);//should not chaqnge until stored in cenrep //make sure there are not unecesary request to cenrep. QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingShuffleKey),2); @@ -176,13 +236,13 @@ test->mRepeat = true; MpSettingsManager::setRepeat(false); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingRepeatKey),QVariant(false)); - QCOMPARE(test->mRepeat, true); //should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::repeat(), true); //should not chaqnge until stored in cenrep test->mRepeat = false; test->setRepeat(true); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingRepeatKey),QVariant(true)); - QCOMPARE(test->mRepeat, false);//should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::repeat(), false);//should not chaqnge until stored in cenrep //make sure there are not unecesary request to cenrep. QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingRepeatKey),2); @@ -202,13 +262,13 @@ test->mPreset = 1; MpSettingsManager::setPreset(0); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingPresetIdKey),QVariant(0)); - QCOMPARE(test->mPreset, 1); //should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::preset(), 1); //should not chaqnge until stored in cenrep test->mPreset = 0; test->setPreset(1); QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingPresetIdKey),QVariant(1)); - QCOMPARE(test->mPreset, 0);//should not chaqnge until stored in cenrep + QCOMPARE(MpSettingsManager::preset(), 0);//should not chaqnge until stored in cenrep //make sure there are not unecesary request to cenrep. QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingPresetIdKey),2); @@ -217,6 +277,100 @@ } /*! +testInspireMeGetAndSet + */ +void TestMpSettingsManager::testInspireMeGetAndSet() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + test->mSettingsManager->clear(); + + test->mInspireMe = true; + MpSettingsManager::setInspireMe(false); + QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingInspireMeKey),QVariant(false)); + QCOMPARE(MpSettingsManager::inspireMe(), true); //should not chaqnge until stored in cenrep + + + test->mInspireMe = false; + test->setInspireMe(true); + QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingInspireMeKey),QVariant(true)); + QCOMPARE(MpSettingsManager::inspireMe(), false);//should not chaqnge until stored in cenrep + + //make sure there are not unecesary request to cenrep. + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingInspireMeKey), 2); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingInspireMeKey), 0); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingInspireMeKey), 0); +} + +/*! +testSongDetailsGbGetAndSet + */ +void TestMpSettingsManager::testSongDetailsGbGetAndSet() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + test->mSettingsManager->clear(); + + test->mSongDetailsGb = true; + MpSettingsManager::setSongDetailsGb(false); + QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingSongDetailsGBKey),QVariant(false)); + QCOMPARE(MpSettingsManager::songDetailsGb(), true); //should not chaqnge until stored in cenrep + + + test->mSongDetailsGb = false; + test->setSongDetailsGb(true); + QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingSongDetailsGBKey),QVariant(true)); + QCOMPARE(MpSettingsManager::songDetailsGb(), false);//should not chaqnge until stored in cenrep + + //make sure there are not unecesary request to cenrep. + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingSongDetailsGBKey), 2); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingSongDetailsGBKey), 0); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingSongDetailsGBKey), 0); +} + +/*! +testShowMtpInfoGetAndStop + */ +void TestMpSettingsManager::testShowMtpInfoGetAndStop() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + test->mSettingsManager->clear(); + + test->mShowMtpInfo = true; + MpSettingsManager::stopShowingMtpInfo(); + QCOMPARE(test->mSettingsManager->writeRequestValue(KMusicPlayerShowMtpInfoKey),QVariant(false)); + QCOMPARE(MpSettingsManager::showMtpInfo(), true); //should not chaqnge until stored in cenrep + + + test->mShowMtpInfo = false; + QCOMPARE(MpSettingsManager::showMtpInfo(), false); + + //make sure there are not unecesary request to cenrep. + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMusicPlayerShowMtpInfoKey), 1); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerShowMtpInfoKey), 0); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerShowMtpInfoKey), 0); +} + +/*! +testMtpInfoUrlGet + */ +void TestMpSettingsManager::testMtpInfoUrlGet() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + test->mSettingsManager->clear(); + + test->mMtpInfoUrl = QString("http:\\nokia.com"); + QCOMPARE(MpSettingsManager::mtpInfoUrl(), QString("http:\\nokia.com")); + + //make sure there are not unecesary request to cenrep. + QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMusicPlayerMtpInfoUrlKey), 0); + QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMusicPlayerMtpInfoUrlKey), 0); + QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMusicPlayerMtpInfoUrlKey), 0); +} + +/*! testValueChangedShuffleCase. */ void TestMpSettingsManager::testValueChangedShuffleCase() @@ -288,5 +442,70 @@ } +/*! + testValueChangedInspireMe. + */ +void TestMpSettingsManager::testValueChangedInspireMe() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + + XQSettingsKey InspireMeKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingInspireMeKey); + test->mInspireMe = true; + test->valueChanged(InspireMeKey, QVariant(0)); + QCOMPARE(test->mInspireMe, false); + + test->mInspireMe = false; + QSignalSpy spy( test, SIGNAL(InspireMeChanged(bool) ) ); + test->mSettingsManager->emitValueChanged(InspireMeKey, QVariant(1)); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.at(0).at(0), QVariant(true) ); + QCOMPARE(test->mInspireMe, true); +} + +/*! + testValueChangedSongDetailsGb. + */ +void TestMpSettingsManager::testValueChangedSongDetailsGb() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + + XQSettingsKey SongDetailsGbKey(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMPCenRepSettingSongDetailsGBKey); + test->mSongDetailsGb = true; + test->valueChanged(SongDetailsGbKey, QVariant(0)); + QCOMPARE(test->mSongDetailsGb, false); + + test->mSongDetailsGb = false; + QSignalSpy spy( test, SIGNAL(SongDetailsGbChanged(bool) ) ); + test->mSettingsManager->emitValueChanged(SongDetailsGbKey, QVariant(1)); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.at(0).at(0), QVariant(true) ); + QCOMPARE(test->mSongDetailsGb, true); +} + +/*! + testValueChangedShowMtpInfo. + */ +void TestMpSettingsManager::testValueChangedShowMtpInfo() +{ + MpSettingsManager *test; + test = MpSettingsManager::instance(); + + XQSettingsKey showMtpInfo(XQSettingsKey::TargetCentralRepository, + KMPCenRepSettingsFeature, + KMusicPlayerShowMtpInfoKey); + test->mShowMtpInfo = true; + test->valueChanged(showMtpInfo, QVariant(0)); + QCOMPARE(test->mShowMtpInfo, false); + + test->mShowMtpInfo = false; + test->mSettingsManager->emitValueChanged(showMtpInfo, QVariant(1)); + QCOMPARE(test->mShowMtpInfo, true); +} // End of file diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/stub/src/xqsettingsmanager.cpp --- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/stub/src/xqsettingsmanager.cpp Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/stub/src/xqsettingsmanager.cpp Thu Jul 22 16:32:33 2010 +0100 @@ -38,15 +38,24 @@ */ QVariant XQSettingsManager::readItemValue(const XQSettingsKey& key, XQSettingsManager::Type type) { - Q_UNUSED(type); + if ( mReadCount.contains( key.key() ) ) { mReadCount.insert(key.key(), mReadCount.take ( key.key() ) + 1 ); } else { mReadCount.insert(key.key(), 1); } - // 1 seems compatible for int and bool keys, change it if new key types are added. - return QVariant(1); + + QVariant result; + switch ( type ) { + case TypeString : + result = QString("testText") ; + break; + default: + result = int(1); + break; + } + return result; } /*! diff -r b95ddb5a0d10 -r eff9df3d9c98 utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/unittest_mpsettingsmanager.pro --- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/unittest_mpsettingsmanager.pro Fri Jun 11 16:24:02 2010 +0100 +++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/unittest_mpsettingsmanager.pro Thu Jul 22 16:32:33 2010 +0100 @@ -15,8 +15,10 @@ # TEMPLATE = app -CONFIG += qtestlib hb -TARGET = +CONFIG += qtestlib +CONFIG += symbian_test +TARGET = unittest_mpsettingsmanager +TARGET.CAPABILITY = CAP_APPLICATION DEPENDPATH += . INCLUDEPATH += . \