Revision: 201011
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 14:56:30 +0300
changeset 20 82baf59ce8dd
parent 19 4e84c994a771
child 22 ecf06a08d4d9
Revision: 201011 Kit: 201015
app/app.pro
app/inc/mpmainwindow.h
app/inc/mpmediakeyhandler.h
app/inc/mpmediakeyhandler_p.h
app/inc/mpmediakeyremconresponse.h
app/rom/musicplayer_resources.iby
app/src/mpmainwindow.cpp
app/src/mpmediakeyhandler.cpp
app/src/mpmediakeyhandler_p.cpp
app/src/mpmediakeyremconresponse.cpp
app/tsrc/unittest_app.pro
app/tsrc/unittest_mpmediakeyhandler/inc/unittest_mpmediakeyhandler.h
app/tsrc/unittest_mpmediakeyhandler/src/unittest_mpmediakeyhandler.cpp
app/tsrc/unittest_mpmediakeyhandler/stub/inc/mpxplaybackutility.h
app/tsrc/unittest_mpmediakeyhandler/stub/inc/remconcoreapitarget.h
app/tsrc/unittest_mpmediakeyhandler/stub/inc/remconinterfaceselector.h
app/tsrc/unittest_mpmediakeyhandler/stub/src/mpxplaybackutility.cpp
app/tsrc/unittest_mpmediakeyhandler/stub/src/remconcoreapitarget.cpp
app/tsrc/unittest_mpmediakeyhandler/stub/src/remconinterfaceselector.cpp
app/tsrc/unittest_mpmediakeyhandler/unittest_mpmediakeyhandler.pro
app/tsrc/unittest_mpsongscanner/inc/unittest_mpsongscanner.h
app/tsrc/unittest_mpsongscanner/src/unittest_mpsongscanner.cpp
app/tsrc/unittest_mpsongscanner/stub/inc/mpxcollectionutility.h
app/tsrc/unittest_mpsongscanner/stub/inc/mpxharvesterutility.h
app/tsrc/unittest_mpsongscanner/stub/src/mpxcollectionutility.cpp
app/tsrc/unittest_mpsongscanner/stub/src/mpxharvesterutility.cpp
app/tsrc/unittest_mpsongscanner/unittest_mpsongscanner.pro
inc/mpcommondefs.h
inc/mpengine.h
inc/mpmpxcommondefs.h
inc/mpnowplayingwidget.h
inc/mpsettingsmanager.h
inc/mpviewbase.h
mpengine/bwins/mpengineu.def
mpengine/eabi/mpengineu.def
mpengine/inc/mpmediakeyhandler.h
mpengine/inc/mpmediakeyhandler_p.h
mpengine/inc/mpmediakeyremconresponse.h
mpengine/inc/mpmpxframeworkwrapper.h
mpengine/inc/mpmpxframeworkwrapper_p.h
mpengine/inc/mpsongscanner.h
mpengine/mpengine.pro
mpengine/rom/mpengine.iby
mpengine/rom/rom.pri
mpengine/src/mpengine.cpp
mpengine/src/mpmediakeyhandler.cpp
mpengine/src/mpmediakeyhandler_p.cpp
mpengine/src/mpmediakeyremconresponse.cpp
mpengine/src/mpmpxframeworkwrapper.cpp
mpengine/src/mpmpxframeworkwrapper_p.cpp
mpengine/src/mpsongscanner.cpp
mpengine/tsrc/unittest_mpmediakeyhandler/inc/unittest_mpmediakeyhandler.h
mpengine/tsrc/unittest_mpmediakeyhandler/src/unittest_mpmediakeyhandler.cpp
mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/mpxplaybackutility.h
mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/remconcoreapitarget.h
mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/remconinterfaceselector.h
mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/mpxplaybackutility.cpp
mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/remconcoreapitarget.cpp
mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/remconinterfaceselector.cpp
mpengine/tsrc/unittest_mpmediakeyhandler/unittest_mpmediakeyhandler.pro
mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp
mpserviceplugins/mpxinmemoryplugin/data/101FFCD9.RSS
mpserviceplugins/mpxinmemoryplugin/group/bld.inf
mpserviceplugins/mpxinmemoryplugin/group/mpxinmemoryplugin.mmp
mpserviceplugins/mpxinmemoryplugin/inc/mpxinmemoryplugin.h
mpserviceplugins/mpxinmemoryplugin/inc/mpxmusicmemoryplugin.h
mpserviceplugins/mpxinmemoryplugin/rom/mpxinmemplugin.iby
mpserviceplugins/mpxinmemoryplugin/rom/rom.pri
mpserviceplugins/mpxinmemoryplugin/src/mpxinmemoryplugin.cpp
mpserviceplugins/mpxinmemoryplugin/src/mpxinmemorypluginproxy.cpp
mpserviceplugins/mpxinmemoryplugin/src/mpxmusicmemoryplugin.cpp
mpviewplugins/mpcollectionviewplugin/inc/mpcollectionalbumartmanager.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontaineralbums.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerartists.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectiondatamodel.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectioninfobar.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectionsongscanner.h
mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata_p.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectionviewdefs.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper_p.h
mpviewplugins/mpcollectionviewplugin/inc/mpmpxisolatedcollectionhelper.h
mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro
mpviewplugins/mpcollectionviewplugin/resources/all_songs.svg
mpviewplugins/mpcollectionviewplugin/resources/all_songs_on.svg
mpviewplugins/mpcollectionviewplugin/resources/artists.svg
mpviewplugins/mpcollectionviewplugin/resources/artists_on.svg
mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc
mpviewplugins/mpcollectionviewplugin/resources/ovi.svg
mpviewplugins/mpcollectionviewplugin/resources/ovi_on.svg
mpviewplugins/mpcollectionviewplugin/resources/playlists.svg
mpviewplugins/mpcollectionviewplugin/resources/playlists_on.svg
mpviewplugins/mpcollectionviewplugin/resources/search.svg
mpviewplugins/mpcollectionviewplugin/resources/search_on.svg
mpviewplugins/mpcollectionviewplugin/resources/teardrop_mask.png
mpviewplugins/mpcollectionviewplugin/src/mpcollectionalbumartmanager.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontaineralbums.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerartists.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainergenres.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectiondatamodel.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectioninfobar.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectionsongscanner.cpp
mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp
mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata.cpp
mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata_p.cpp
mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper.cpp
mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper_p.cpp
mpviewplugins/mpcollectionviewplugin/src/mpmpxisolatedcollectionhelper.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/inc/mpmpxcollectiondata.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/src/mpmpxcollectiondata.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/inc/unittest_mpcollectioncontainers.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiondatamodel.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectionview.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpmpxcollectiondata.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiondatamodel.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectionview.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpmpxcollectiondata.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/unittest_mpcollectioncontainers.pro
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/mpcollectioninfobar.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/mpcollectioninfobar.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/inc/unittest_mpcollectioninfobar.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/src/unittest_mpcollectioninfobar.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/unittest_mpcollectioninfobar.pro
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/inc/unittest_mpmpxframeworkwrapper.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/src/unittest_mpmpxframeworkwrapper.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/stub/inc/mpmpxisolatedcollectionhelper.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/stub/src/mpmpxisolatedcollectionhelper.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/unittest_mpmpxframeworkwrapper.pro
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/inc/unittest_mpmpxisolatedcollectionhelper.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/src/unittest_mpmpxisolatedcollectionhelper.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/stub/inc/mpxcollectionopenutility.h
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/stub/src/mpxcollectionopenutility.cpp
mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/unittest_mpmpxisolatedcollectionhelper.pro
mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h
mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h
mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h
mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h
mpviewplugins/mpdetailsviewplugin/mpdetailsviewplugin.pro
mpviewplugins/mpdetailsviewplugin/resources/defaultalbumart.png
mpviewplugins/mpdetailsviewplugin/resources/mpdetailsviewresources.qrc
mpviewplugins/mpdetailsviewplugin/rom/mpdetailsviewplugin.iby
mpviewplugins/mpdetailsviewplugin/rom/rom.pri
mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp
mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp
mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp
mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp
mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pkg
mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pro
mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.sisx
mpviewplugins/mpdetailsviewplugin/tsrc/sis.bat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.dat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.sym
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.pkg
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.sisx
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcdata.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcerr.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/profile.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/sis.bat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/unittest_mpdetailsview.pro
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.dat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.sym
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.pkg
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.sisx
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcdata.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcerr.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/profile.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/sis.bat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/unittest_mpdetailsviewplugin.pro
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.dat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.sym
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.pkg
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.sisx
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcdata.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcerr.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/profile.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.dat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.sym
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.sisx
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcdata.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcerr.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/profile.txt
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/sis.bat
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp
mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro
mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwidget.h
mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper.h
mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper_p.h
mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h
mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro
mpviewplugins/mpplaybackviewplugin/resources/info.svg
mpviewplugins/mpplaybackviewplugin/resources/mpplaybackviewpluginresources.qrc
mpviewplugins/mpplaybackviewplugin/resources/next.svg
mpviewplugins/mpplaybackviewplugin/resources/nullsound.mp3
mpviewplugins/mpplaybackviewplugin/resources/pause.svg
mpviewplugins/mpplaybackviewplugin/resources/play.svg
mpviewplugins/mpplaybackviewplugin/resources/prev.svg
mpviewplugins/mpplaybackviewplugin/resources/select.png
mpviewplugins/mpplaybackviewplugin/resources/shuffle_off.svg
mpviewplugins/mpplaybackviewplugin/resources/shuffle_on.svg
mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby
mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp
mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper.cpp
mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper_p.cpp
mpviewplugins/mpplaybackviewplugin/src/mpplaybackdata.cpp
mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/inc/unittest_mpequalizerwidget.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpequalizerwrapper.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpequalizerwrapper.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/unittest_mpequalizerwidget.pro
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/inc/unittest_mpequalizerwrapper.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/src/unittest_mpequalizerwrapper.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/audioequalizerutility.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxplaybackutility.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxuser.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/audioequalizerutility.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxplaybackutility.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxuser.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/unittest_mpequalizerwrapper.pro
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/inc/unittest_mpmpxpbframeworkwrapper.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpplaybackdata.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxcollectionutility.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxplaybackutility.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpplaybackdata.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxcollectionutility.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxplaybackutility.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/inc/unittest_mpplaybackdata.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/src/unittest_mpplaybackdata.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/stub/inc/thumbnailmanager_qt.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/stub/src/thumbnailmanager_qt.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/unittest_mpplaybackdata.pro
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/inc/unittest_mpplaybackviewplugin.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/src/unittest_mpplaybackviewplugin.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/inc/mpplaybackview.h
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/src/mpplaybackview.cpp
mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/unittest_mpplaybackviewplugin.pro
mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper.h
mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper_p.h
mpviewplugins/mpsettingsviewplugin/inc/mpsettingsaudioeffectswidget.h
mpviewplugins/mpsettingsviewplugin/inc/mpsettingsview.h
mpviewplugins/mpsettingsviewplugin/inc/mpsettingsviewplugin.h
mpviewplugins/mpsettingsviewplugin/mpsettingsviewplugin.pro
mpviewplugins/mpsettingsviewplugin/resources/mpsettingsview.qrc
mpviewplugins/mpsettingsviewplugin/rom/mpsettingsviewplugin.iby
mpviewplugins/mpsettingsviewplugin/rom/rom.pri
mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper.cpp
mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper_p.cpp
mpviewplugins/mpsettingsviewplugin/src/mpsettingsaudioeffectswidget.cpp
mpviewplugins/mpsettingsviewplugin/src/mpsettingsview.cpp
mpviewplugins/mpsettingsviewplugin/src/mpsettingsviewplugin.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/inc/unittest_mpmpxasframeworkwrapper.h
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/src/unittest_mpmpxasframeworkwrapper.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxaudioeffectproperties.h
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxplaybackutility.h
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxplaybackutility.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/unittest_mpmpxasframeworkwrapper.pro
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/inc/unittest_mpsettingsviewplugin.h
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/src/unittest_mpsettingsviewplugin.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/inc/mpsettingsview.h
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/src/mpsettingsview.cpp
mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/unittest_mpsettingsviewplugin.pro
mpviewplugins/mpviewplugins.pro
package_definition.xml
qtmusicplayer.pro
sis/musicplayer.pkg
tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp
utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def
utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def
utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h
utilities/mpnowplayingbanner/mpnowplayingbanner.pro
utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc
utilities/mpnowplayingbanner/resources/pause.svg
utilities/mpnowplayingbanner/resources/play.svg
utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp
utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp
utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h
utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp
utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/hbcolorscheme.h
utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/hbcolorscheme.cpp
utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro
utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def
utilities/mpsettingsmanager/conf/musicplayer.confml
utilities/mpsettingsmanager/conf/musicplayer_10207C92.crml
utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def
utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h
utilities/mpsettingsmanager/src/mpsettingsmanager.cpp
utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h
utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp
--- a/app/app.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/app/app.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -45,32 +45,19 @@
 
 # Input
 LIBS += -lecom.dll \
-    -lmpxplaybackutility.dll \
-    -lmpxcollectionutility.dll \
-    -lmpxcommon.dll \
     -lestor.dll  \
     -lfbscli.dll \
     -lxqplugins.dll \
     -lmpxviewframeworkqt.dll \
-    -lhbcore.dll \
-    -lhbwidgets.dll \
-    -lhbtools.dll \
-    -lremconcoreapi.dll \
-    -lremconinterfacebase.dll \
     -lxqserviceutil \
-    -lmusicfetcher
+    -lmusicfetcher \
+    -lmpengine
     
     
 SOURCES += src/main.cpp \
-           src/mpmainwindow.cpp \
-           src/mpmediakeyhandler.cpp \
-           src/mpmediakeyhandler_p.cpp \
-           src/mpmediakeyremconresponse.cpp
+           src/mpmainwindow.cpp
            
-HEADERS =  inc/mpmainwindow.h \
-           inc/mpmediakeyhandler.h \
-           inc/mpmediakeyhandler_p.h\
-           inc/mpmediakeyremconresponse.h
+HEADERS =  inc/mpmainwindow.h
 
 MMP_RULES+=EXPORTUNFROZEN
 
@@ -80,4 +67,6 @@
     DEPLOYMENT += addImages
     }
     
-RESOURCES += resources/musiplayerapp.qrc
\ No newline at end of file
+RESOURCES += resources/musiplayerapp.qrc
+
+TRANSLATIONS = musicplayer.ts
\ No newline at end of file
--- a/app/inc/mpmainwindow.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/app/inc/mpmainwindow.h	Fri Apr 16 14:56:30 2010 +0300
@@ -25,7 +25,6 @@
 
 // Forward declarations
 class MpxViewPlugin;
-class MpMediaKeyHandler;
 class MusicFetcher;
 
 // Class declaration
@@ -38,7 +37,9 @@
 
     enum ViewType {
         CollectionView = 1,
-        PlaybackView };
+        PlaybackView,
+        SettingsView,
+        DetailsView };
 
     MpMainWindow();
     ~MpMainWindow();
@@ -48,6 +49,8 @@
 
 public slots:
     void handleCommand( int commandCode );
+    void handleLibraryUpdated();
+    void handleExitApplication();
 
 private:
     void activateView(ViewType);
@@ -55,10 +58,11 @@
     void disconnectView();
 
 private:
-    MpMediaKeyHandler     *mMediaKeyHandler;      // Own
 
     MpxViewPlugin         *mCollectionViewPlugin; // Not own
     MpxViewPlugin         *mPlaybackViewPlugin;   // Not own
+    MpxViewPlugin         *mSettingsViewPlugin;   // Not own
+    MpxViewPlugin         *mDetailsViewPlugin;    // Not own
     MpxViewPlugin         *mCurrentViewPlugin;    // Not own
     MpxViewPlugin         *mPreviousViewPlugin;   // Not own
     MusicFetcher		  *mMusicFetcher; 		  // Own
--- a/app/inc/mpmediakeyhandler.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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 media key handler.
-*
-*/
-
-#ifndef MPMEDIAKEYHANDLER_H
-#define MPMEDIAKEYHANDLER_H
-
-#include <qobject>
-
-class MpMediaKeyHandlerPrivate;
-
-class MpMediaKeyHandler : public QObject
-{
-    Q_OBJECT
-
-    friend class MpMediaKeyHandlerPrivate;
-
-public:
-
-    explicit MpMediaKeyHandler( QObject *parent = 0 );
-    virtual ~MpMediaKeyHandler();
-
-signals:
-
-    void volumeChanged( int volume );
-    void errorOccured( int error );
-
-private:
-
-    Q_DISABLE_COPY(MpMediaKeyHandler)
-    MpMediaKeyHandlerPrivate *d_ptr;
-
-};
-
-#endif // MPMEDIAKEYHANDLER_H
--- a/app/inc/mpmediakeyhandler_p.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +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 media key handler - private implementation.
-*
-*/
-
-#ifndef MPMEDIAKEYHANDLER_P_H
-#define MPMEDIAKEYHANDLER_P_H
-
-
-#include <remconcoreapitargetobserver.h>
-#include <mpxplaybackobserver.h>
-#include <mpxplaybackframeworkdefs.h>
-
-class CRemConInterfaceSelector;
-class MMPXPlaybackUtility;
-class MpMediaKeyHandler;
-class MpMediaKeyRemConResponse;
-
-class MpMediaKeyHandlerPrivate : public MRemConCoreApiTargetObserver,
-                                 public MMPXPlaybackCallback
-{
-public:
-
-    MpMediaKeyHandlerPrivate( MpMediaKeyHandler *wrapper );
-    virtual ~MpMediaKeyHandlerPrivate();
-
-    void init();
-
-// From MRemConCoreApiTargetObserver
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A command has been received.
-     *
-     * @param aOperationId The operation ID of the command.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoCommand(
-        TRemConCoreApiOperationId aOperationId,
-        TRemConCoreApiButtonAction aButtonAct );
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A 'play' command has been received.
-     *
-     * @param aSpeed The playback speed.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoPlay(
-        TRemConCoreApiPlaybackSpeed aSpeed,
-        TRemConCoreApiButtonAction aButtonAct );
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A 'tune function' command has been received.
-     *
-     * @param aTwoPart Determine which channel to be used.
-     * @param aMajorChannel The major channel number.
-     * @param aMinorChannel The minor channel number.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoTuneFunction(
-        TBool aTwoPart,
-        TUint aMajorChannel,
-        TUint aMinorChannel,
-        TRemConCoreApiButtonAction aButtonAct );
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A 'select disk function' has been received.
-     *
-     * @param aDisk The disk.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoSelectDiskFunction(
-        TUint aDisk,
-        TRemConCoreApiButtonAction aButtonAct );
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A 'select AV input function' has been received.
-     *
-     * @param aAvInputSignalNumber The AV input.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoSelectAvInputFunction(
-        TUint8 aAvInputSignalNumber,
-        TRemConCoreApiButtonAction aButtonAct );
-
-    /**
-     * From MRemConCoreApiTargetObserver
-     * A 'select audio input function' has been received.
-     *
-     * @param aAudioInputSignalNumber The audio input.
-     * @param aButtonAct The button action associated with the command.
-     */
-    void MrccatoSelectAudioInputFunction(
-        TUint8 aAudioInputSignalNumber,
-        TRemConCoreApiButtonAction aButtonAct );
-
-// from base class MMPXPlaybackCallback
-
-    /**
-     * From MMPXPlaybackCallback
-     * Handle playback property
-     *
-     * @param aProperty the property
-     * @param aValue the value of the property
-     * @param aError error code
-     */
-    void HandlePropertyL( TMPXPlaybackProperty aProperty, TInt aValue, TInt aError );
-
-    /**
-     * From MMPXPlaybackCallback
-     * Method is called continously until aComplete=ETrue, signifying that
-     * it is done and there will be no more callbacks
-     * Only new items are passed each time
-     *
-     * @param aPlayer UID of the subplayer
-     * @param aSubPlayers a list of sub players
-     * @param aComplete ETrue no more sub players. EFalse more subplayer
-     *                  expected
-     * @param aError error code
-     */
-    void HandleSubPlayerNamesL(
-        TUid aPlayer,
-        const MDesCArray* aSubPlayers,
-        TBool aComplete,
-        TInt aError );
-
-    /**
-     * From MMPXPlaybackCallback
-     * Handle media properties
-     *
-     * @param aMedia media
-     * @param aError error code
-     */
-    void HandleMediaL( const CMPXMedia& aMedia, TInt aError );
-
-private:
-
-    void DoInitL();
-    void SendCommand( TMPXPlaybackCommand aCommandId );
-    void DoSendCommandL( TMPXPlaybackCommand aCommandId );
-
-    /**
-     * Callback for timer
-     *
-     * @param aPtr Pointer pass to this callback function.
-     * @return Zero if callback function doesn't need to be called again.
-     *         Otherwise, non-zero.
-     */
-    static TInt TimerCallback( TAny* aPtr );
-
-    /**
-     * Handle repeat event
-     */
-    void HandleRepeatEvent();
-
-private:
-
-    MpMediaKeyHandler *q_ptr;
-
-    CRemConInterfaceSelector    *iInterfaceSelector;   // owned
-    MpMediaKeyRemConResponse    *iResponseHandler;     // owned
-    CPeriodic                   *iTimer;               // owned
-
-    MMPXPlaybackUtility         *iPlaybackUtility;
-
-    TBool                       iIncreaseVol;
-
-};
-
-#endif // MPMEDIAKEYHANDLER_P_H
--- a/app/inc/mpmediakeyremconresponse.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +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 media key handler.
-*              Helper class for sending response back to Remote Controller Framework.
-*
-*/
-
-#ifndef MPMEDIAKEYREMCONKEYRESPONSE_H
-#define MPMEDIAKEYREMCONKEYRESPONSE_H
-
-#include <remconcoreapitarget.h>
-
-
-NONSHARABLE_CLASS( MpMediaKeyRemConResponse ) : public CActive
-{
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since 3.0
-     * @param aRemConCoreApiTarget RemCon core target object.
-     * @return Pointer to newly created object.
-     */
-    static MpMediaKeyRemConResponse* NewL( CRemConCoreApiTarget& aRemConCoreApiTarget );
-
-    /**
-     * Destructor.
-     */
-    virtual ~MpMediaKeyRemConResponse();
-
-    /**
-     * Send the any key response back to Remcon server
-     *
-     * @since 3.0
-     * @param aOperationId RemCon operation Id.
-     */
-    void CompleteAnyKey( TRemConCoreApiOperationId aOperationId );
-
-private:
-
-    /**
-     * C++ default constructor.
-     */
-    MpMediaKeyRemConResponse( CRemConCoreApiTarget& aRemConCoreApiTarget );
-
-// from base class CActive
-
-    /**
-     * From CActive
-     * Handles an active object's request completion event.
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     * Implements cancellation of an outstanding request.
-     */
-    void DoCancel();
-
-private:    // Data
-
-    // Response array.
-    RArray<TRemConCoreApiOperationId> iResponseArray;   // Own
-    CRemConCoreApiTarget& iRemConCoreApiTarget;         // Not own
-};
-
-#endif  // MPMEDIAKEYREMCONKEYRESPONSE_H
-
-// End of File
--- a/app/rom/musicplayer_resources.iby	Fri Mar 19 09:28:13 2010 +0200
+++ b/app/rom/musicplayer_resources.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -21,6 +21,6 @@
 #include <data_caging_paths_for_iby.hrh>
 
 data = DATAZ_\APP_RESOURCE_DIR\musicplayer.rsc      APP_RESOURCE_DIR\musicplayer.rsc 
-//data = DATAZ_\QT_TRANSLATIONS_DIR\musicplayer.qm    QT_TRANSLATIONS_DIR\musicplayer.qm 
+data = DATAZ_\QT_TRANSLATIONS_DIR\musicplayer.qm    QT_TRANSLATIONS_DIR\musicplayer.qm 
 
 #endif	// MUSICPLAYER_RESOURCES_IBY
\ No newline at end of file
--- a/app/src/mpmainwindow.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/app/src/mpmainwindow.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -22,18 +22,20 @@
 #include <xqpluginloader.h>
 #include <xqplugininfo.h>
 #include <xqserviceutil.h>
+#include <QTranslator>
+#include <QLocale>
 
 #include "mpmainwindow.h"
-#include "mpmediakeyhandler.h"
 #include "mpcommondefs.h"
 #include "mpviewbase.h"
 #include "musicfetcher.h"
+#include "mpengine.h"
 #include "mptrace.h"
 
 /*!
    \class MpMainWindow
    \brief The MpMainWindow class provides Main Window functionalities.
-   
+
    MpMainWindow handles activation of views
 
 */
@@ -44,9 +46,10 @@
 
 MpMainWindow::MpMainWindow()
     : MpxViewFramework(),
-      mMediaKeyHandler(0),
       mCollectionViewPlugin(0),
       mPlaybackViewPlugin(0),
+      mSettingsViewPlugin(0),
+      mDetailsViewPlugin(0),
       mCurrentViewPlugin(0),
       mPreviousViewPlugin(0),
       mMusicFetcher(0)
@@ -60,7 +63,6 @@
 MpMainWindow::~MpMainWindow()
 {
     TX_ENTRY
-    delete mMediaKeyHandler;
     delete mMusicFetcher;
 
     if (mCollectionViewPlugin) {
@@ -71,6 +73,14 @@
         mPlaybackViewPlugin->destroyView();
         delete mPlaybackViewPlugin;
     }
+    if (mSettingsViewPlugin) {
+        mSettingsViewPlugin->destroyView();
+        delete mSettingsViewPlugin;
+    }
+    if (mDetailsViewPlugin) {
+        mDetailsViewPlugin->destroyView();
+        delete mDetailsViewPlugin;
+    }
 
     TX_EXIT
 }
@@ -83,6 +93,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 );
+    }
+
 #ifdef _DEBUG
     QList<XQPluginInfo> impls;
     XQPluginLoader::listImplementations("org.nokia.mmdt.MpxViewPlugin/1.0", impls);
@@ -97,8 +119,7 @@
         // Set the Collection View and Playback View to fetcher mode
         mMusicFetcher = new MusicFetcher();
     }
-    
-    setViewSwitchingEnabled(false);
+
     XQPluginLoader collectionLoader(MpCommon::KCollectionViewUid);
     XQPluginLoader playbackLoader(MpCommon::KPlaybackViewUid);
 
@@ -119,7 +140,7 @@
             TX_LOG_ARGS("connection error: " << err);
         }
         else {
-            collectionView->setTitle("Music");
+            collectionView->setTitle(hbTrId("txt_mus_title_music"));
         }
         // Collection view is the default view.
         activateView(MpMainWindow::CollectionView);
@@ -142,11 +163,14 @@
             TX_LOG_ARGS("connection error: " << err);
         }
         else {
-            playbackView->setTitle("Music");
+            playbackView->setTitle(hbTrId("txt_mus_title_music"));
         }
     }
 
-    mMediaKeyHandler = new MpMediaKeyHandler();
+    MpEngine *engine = MpEngine::instance();
+    connect( engine, SIGNAL( libraryRefreshed() ), this, SLOT( handleLibraryUpdated() ) );
+    connect( engine, SIGNAL( exitApplication() ), this, SLOT( handleExitApplication() ) );
+
     TX_EXIT
 }
 
@@ -165,7 +189,7 @@
 void MpMainWindow::handleCommand( int commandCode )
 {
     TX_ENTRY_ARGS("commandCode=" << commandCode );
-    
+
     switch ( commandCode ) {
         case MpCommon::Exit:
             if ( mCurrentViewPlugin ) {
@@ -179,6 +203,12 @@
         case MpCommon::ActivatePlaybackView:
             activateView(PlaybackView);
             break;
+        case MpCommon::ActivateSettingsView:
+            activateView(SettingsView);
+            break;
+        case MpCommon::ActivateDetailsView:
+            activateView(DetailsView);
+            break;
     }
     TX_EXIT
 }
@@ -191,7 +221,7 @@
     TX_ENTRY_ARGS("viewType=" << viewType );
 
     if ( mCurrentViewPlugin ) {
-        
+
         disconnectView();
         mCurrentViewPlugin->deactivateView();
         mPreviousViewPlugin = mCurrentViewPlugin;
@@ -204,6 +234,30 @@
     else if ( viewType == MpMainWindow::PlaybackView && mPlaybackViewPlugin ) {
         mCurrentViewPlugin = mPlaybackViewPlugin;
     }
+    else if ( viewType == MpMainWindow::SettingsView ) {
+        if ( mSettingsViewPlugin ) {
+            mCurrentViewPlugin = mSettingsViewPlugin;
+        }
+		else {
+			XQPluginLoader settingsLoader( MpCommon::KSettingsViewUid );
+            QObject* settingsInstance = settingsLoader.instance();
+            mSettingsViewPlugin = qobject_cast<MpxViewPlugin*>( settingsInstance )->viewPlugin();
+            mSettingsViewPlugin->createView();
+            mCurrentViewPlugin = mSettingsViewPlugin;
+        }
+    }
+    else if ( viewType == MpMainWindow::DetailsView ) {
+        if ( mDetailsViewPlugin ) {
+            mCurrentViewPlugin = mDetailsViewPlugin;
+        }
+        else {
+            XQPluginLoader detailsLoader( MpCommon::KDetailsViewUid );
+            QObject* detailsInstance = detailsLoader.instance();
+            mDetailsViewPlugin = qobject_cast<MpxViewPlugin*>( detailsInstance )->viewPlugin();
+            mDetailsViewPlugin->createView();
+            mCurrentViewPlugin = mDetailsViewPlugin;
+        }
+    }
 
     if ( mCurrentViewPlugin ) {
         addView( mCurrentViewPlugin->getView() );
@@ -257,3 +311,38 @@
     TX_EXIT
 }
 
+/*!
+ Slot to be called when Library has changed.
+ */
+void MpMainWindow::handleLibraryUpdated()
+{
+    TX_ENTRY
+
+    // If library changed while playing back, always return to AllSongs collection view.
+    if ( mPlaybackViewPlugin &&
+         mCurrentViewPlugin == mPlaybackViewPlugin &&
+         mCollectionViewPlugin ) {
+
+        activateView( CollectionView );
+        MpViewBase* collectionView = reinterpret_cast<MpViewBase*>(mCollectionViewPlugin->getView());
+        collectionView->setDefaultView();
+    }
+
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when application must exit.
+ */
+void MpMainWindow::handleExitApplication()
+{
+    TX_ENTRY
+
+    if ( mCurrentViewPlugin ) {
+        disconnectView();
+    }
+    qApp->quit();
+
+    TX_EXIT
+}
+
--- a/app/src/mpmediakeyhandler.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /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: Music Player media key handler.
-*
-*/
-
-#include "mpmediakeyhandler.h"
-#include "mpmediakeyhandler_p.h"
-#include "mptrace.h"
-
-// ---------------------------------------------------------------------------
-// MpMediaKeyHandler()
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyHandler::MpMediaKeyHandler( QObject *parent )
-    : QObject(parent)
-{
-    TX_ENTRY
-    d_ptr = new MpMediaKeyHandlerPrivate(this);
-    d_ptr->init();
-    TX_EXIT
-}
-
-// ---------------------------------------------------------------------------
-// ~MpMediaKeyHandler()
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyHandler::~MpMediaKeyHandler()
-{
-    TX_ENTRY
-    delete d_ptr;
-    TX_EXIT
-}
-
--- a/app/src/mpmediakeyhandler_p.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,438 +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 media key handler - private implementation.
-*
-*/
-
-#include "mpmediakeyhandler_p.h"
-#include "mpmediakeyhandler.h"
-#include "mpmediakeyremconresponse.h"
-#include "mpcommondefs.h"
-
-//symbian header files
-#include <remconcoreapitarget.h>
-#include <remconinterfaceselector.h>
-
-//mpx header files
-#include <mpxplaybackutility.h>
-#include <mpxplaybackcommanddefs.h>
-#include <mpxplaybackmessagedefs.h>
-#include <mpxlog.h>
-
-const TInt KFirstTimerExpiryInterval( 1 ); // Expire immediately
-const TInt KTimerExpiryInterval( 1000000/6 );
-
-// ---------------------------------------------------------------------------
-// MpMediaKeyHandlerPrivate()
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyHandlerPrivate::MpMediaKeyHandlerPrivate( MpMediaKeyHandler *wrapper )
-    : q_ptr( wrapper ),
-      iInterfaceSelector(NULL),
-      iResponseHandler(NULL),
-      iTimer(NULL),
-      iPlaybackUtility(NULL)
-{
-}
-
-// ---------------------------------------------------------------------------
-// ~MpMediaKeyHandlerPrivate()
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyHandlerPrivate::~MpMediaKeyHandlerPrivate()
-{
-    if ( iPlaybackUtility ) {
-        //TRAP_IGNORE( iPlaybackUtility->RemoveObserverL( *this ) );
-        iPlaybackUtility->Close();
-    }
-
-    delete iResponseHandler;
-    delete iInterfaceSelector;
-
-    if ( iTimer ) {
-        iTimer->Cancel();
-        delete iTimer;
-    }
-
-}
-
-// ---------------------------------------------------------------------------
-// init
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::init()
-{
-    TRAPD(err, DoInitL());
-    if ( err != KErrNone ) {
-        emit q_ptr->errorOccured(err);
-    }
-  
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A command has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoCommand(
-    TRemConCoreApiOperationId aOperationId,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    MPX_DEBUG3( "MpMediaKeyHandlerPrivate::MrccatoCommand(aOperationId=%d, aButtonAct=%d)",
-        aOperationId, aButtonAct );
-
-    switch ( aOperationId ) {
-    case ERemConCoreApiPausePlayFunction:
-        if ( aButtonAct == ERemConCoreApiButtonClick ) {
-            SendCommand( EPbCmdPlayPause );
-        }
-        break;
-    case ERemConCoreApiPlay:
-        if ( aButtonAct == ERemConCoreApiButtonClick
-             || aButtonAct == ERemConCoreApiButtonPress ) {
-            SendCommand( EPbCmdPlay );
-        }
-        break;
-    case ERemConCoreApiStop:
-        if ( aButtonAct == ERemConCoreApiButtonClick
-             || aButtonAct == ERemConCoreApiButtonPress ) {
-            SendCommand( EPbCmdStop );
-        }
-        break;
-    case ERemConCoreApiPause:
-        if ( aButtonAct == ERemConCoreApiButtonClick
-             || aButtonAct == ERemConCoreApiButtonPress ) {
-            SendCommand( EPbCmdPause );
-        }
-        break;
-    case ERemConCoreApiRewind:
-        switch ( aButtonAct ) {
-        case ERemConCoreApiButtonPress:
-            SendCommand( EPbCmdStartSeekBackward );
-            break;
-        case ERemConCoreApiButtonRelease:
-            SendCommand( EPbCmdStopSeeking );
-            break;
-        default:
-            break;
-        }
-        break;
-    case ERemConCoreApiFastForward:
-        switch ( aButtonAct ) {
-        case ERemConCoreApiButtonPress:
-            SendCommand( EPbCmdStartSeekForward );
-            break;
-        case ERemConCoreApiButtonRelease:
-            SendCommand( EPbCmdStopSeeking );
-            break;
-        default:
-            break;
-        }
-        break;
-    case ERemConCoreApiBackward:
-        if ( aButtonAct == ERemConCoreApiButtonClick ) {
-            SendCommand( EPbCmdPrevious );
-        }
-        break;
-    case ERemConCoreApiForward:
-        if ( aButtonAct == ERemConCoreApiButtonClick ) {
-            SendCommand( EPbCmdNext );
-        }
-        break;
-    case ERemConCoreApiVolumeUp:
-        iTimer->Cancel();
-        iIncreaseVol = ETrue;
-        switch ( aButtonAct ) {
-        case ERemConCoreApiButtonPress:
-            //Start Timer
-            iTimer->Start(
-                KFirstTimerExpiryInterval,
-                KTimerExpiryInterval,
-                TCallBack( TimerCallback, this ) );
-            break;
-        case ERemConCoreApiButtonClick:
-            SendCommand( EPbCmdIncreaseVolume );
-            break;
-        case ERemConCoreApiButtonRelease:
-        default:
-            break;
-        }
-        break;
-    case ERemConCoreApiVolumeDown:
-        iTimer->Cancel();
-        iIncreaseVol = EFalse;
-        switch ( aButtonAct ) {
-        case ERemConCoreApiButtonPress:
-            //Start Timer
-            iTimer->Start(
-                KFirstTimerExpiryInterval,
-                KTimerExpiryInterval,
-                TCallBack( TimerCallback, this ) );
-            break;
-        case ERemConCoreApiButtonClick:
-            SendCommand( EPbCmdDecreaseVolume );
-            break;
-        case ERemConCoreApiButtonRelease:
-        default:
-            break;
-        }
-        break;
-    default:
-        break;
-    }
-    iResponseHandler->CompleteAnyKey( aOperationId );
-  
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A 'play' command has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoPlay(
-    TRemConCoreApiPlaybackSpeed aSpeed,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    MPX_DEBUG2( "MpMediaKeyHandlerPrivate::MrccatoPlay(aButtonAct=%d)", aButtonAct );
-    Q_UNUSED(aSpeed);
-
-    if ( ( aButtonAct == ERemConCoreApiButtonClick ) ||
-        ( aButtonAct == ERemConCoreApiButtonPress ) )
-        {
-        SendCommand( EPbCmdPlay );
-        }
-    iResponseHandler->CompleteAnyKey( ERemConCoreApiPlay );
-
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A 'tune function' command has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoTuneFunction(
-    TBool aTwoPart,
-    TUint aMajorChannel,
-    TUint aMinorChannel,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    Q_UNUSED(aTwoPart);
-    Q_UNUSED(aMajorChannel);
-    Q_UNUSED(aMinorChannel);
-    Q_UNUSED(aButtonAct);
-
-    iResponseHandler->CompleteAnyKey( ERemConCoreApiTuneFunction );
- 
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A 'select disk function' has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoSelectDiskFunction(
-    TUint aDisk,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    Q_UNUSED(aDisk);
-    Q_UNUSED(aButtonAct);
-
-    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectDiskFunction );
- 
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A 'select AV input function' has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoSelectAvInputFunction(
-    TUint8 aAvInputSignalNumber,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    Q_UNUSED(aAvInputSignalNumber);
-    Q_UNUSED(aButtonAct);
-
-    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectAvInputFunction );
-   
-}
-
-// ---------------------------------------------------------------------------
-// From MRemConCoreApiTargetObserver
-// A 'select audio input function' has been received.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::MrccatoSelectAudioInputFunction(
-    TUint8 aAudioInputSignalNumber,
-    TRemConCoreApiButtonAction aButtonAct )
-{
-    Q_UNUSED(aAudioInputSignalNumber);
-    Q_UNUSED(aButtonAct);
-
-    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectAudioInputFunction );
-    
-}
-
-// ---------------------------------------------------------------------------
-// From MMPXPlaybackCallback
-// Handle playback property.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::HandlePropertyL(
-    TMPXPlaybackProperty aProperty,
-    TInt aValue,
-    TInt aError )
-{
-    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoHandlePropertyL" );
-    MPX_DEBUG4( "MpMediaKeyHandlerPrivate::HandlePropertyL - Property(%d); Value(%d); Error(%d)", aProperty, aValue, aError );
-
-    if ( KErrNone == aError ) {
-        switch ( aProperty  ) {
-        case EPbPropertyVolume:
-            q_ptr->emit volumeChanged(aValue);
-            break;
-        case EPbPropertyPosition:
-        case EPbPropertyMaxVolume:
-        case EPbPropertyMute:
-        default:
-            break;
-        }
-    }
-    
-}
-
-// ---------------------------------------------------------------------------
-// From MMPXPlaybackCallback
-// HandleSubPlayerNamesL
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::HandleSubPlayerNamesL(
-    TUid aPlayer,
-    const MDesCArray* aSubPlayers,
-    TBool aComplete,
-    TInt aError )
-{
-    MPX_FUNC( "MpMediaKeyHandlerPrivate::HandleSubPlayerNamesL" );
-    Q_UNUSED(aPlayer);
-    Q_UNUSED(aSubPlayers);
-    Q_UNUSED(aComplete);
-    Q_UNUSED(aError);
-    
-}
-
-// ---------------------------------------------------------------------------
-// From MMPXPlaybackCallback
-// Handle media properties.
-// Notes: The client is responsible for delete the object of aMedia.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::HandleMediaL(
-    const CMPXMedia& aMedia,
-    TInt aError )
-{
-    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoHandleMediaL" );
-    Q_UNUSED(aMedia);
-    Q_UNUSED(aError);
-    
-}
-
-// ---------------------------------------------------------------------------
-// DoInitL()
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::DoInitL()
-{
-    // Register to remote control framework
-    iInterfaceSelector = CRemConInterfaceSelector::NewL();
-    CRemConCoreApiTarget *coreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this );
-    CleanupStack::PushL( coreTarget );
-    iInterfaceSelector->OpenTargetL();
-    iResponseHandler = MpMediaKeyRemConResponse::NewL( *coreTarget );
-    CleanupStack::Pop(coreTarget);
-
-    // Timer for implementing repeat
-    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    // Get the playback utility instance from engine.
-    iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid(MpCommon::KMusicPlayerUid) );
-    //iPlaybackUtility->AddObserverL( *this );
-   
-}
-
-// ---------------------------------------------------------------------------
-// Send command to playback utility.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::SendCommand( TMPXPlaybackCommand aCommandId )
-{
-    MPX_FUNC( "MpMediaKeyHandlerPrivate::SendCommand" );
-    TRAP_IGNORE( DoSendCommandL( aCommandId ) );
-   
-}
-
-// ---------------------------------------------------------------------------
-// Send command to playback utility.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::DoSendCommandL( TMPXPlaybackCommand aCommandId )
-{
-    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoFilterAndSendCommandL" );
-
-    TMPXPlaybackState playerState( iPlaybackUtility->StateL() );
-
-    switch ( aCommandId ) {
-    case EPbCmdIncreaseVolume:
-        if ( EPbStatePlaying == playerState ) {
-            iPlaybackUtility->CommandL( EPbCmdIncreaseVolume );
-        }
-        break;
-    case EPbCmdDecreaseVolume:
-        if ( EPbStatePlaying == playerState ) {
-            iPlaybackUtility->CommandL( EPbCmdDecreaseVolume );
-        }
-        break;
-    default:
-        break;
-    }
-  
-}
-
-// ---------------------------------------------------------------------------
-// Callback for timer
-// ---------------------------------------------------------------------------
-//
-TInt MpMediaKeyHandlerPrivate::TimerCallback( TAny* aPtr )
-{
-	  
-    static_cast<MpMediaKeyHandlerPrivate*>( aPtr )->HandleRepeatEvent();
-    
-  
-    return KErrNone;
-}
-
-// ---------------------------------------------------------------------------
-// Handle repeat event
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyHandlerPrivate::HandleRepeatEvent()
-{
-	  
-    if ( iIncreaseVol ) {
-        SendCommand( EPbCmdIncreaseVolume );
-    }
-    else {
-        SendCommand( EPbCmdDecreaseVolume );
-    }
-   
-}
--- a/app/src/mpmediakeyremconresponse.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /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: Music Player media key handler.
-*              Helper class for sending response back to Remote Controller Framework.
-*
-*/
-
-// INCLUDE FILES
-#include "mpmediakeyremconresponse.h"
-#include "mpxlog.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyRemConResponse::MpMediaKeyRemConResponse(
-    CRemConCoreApiTarget& aRemConCoreApiTarget )
-    : CActive( CActive::EPriorityStandard ),
-      iRemConCoreApiTarget( aRemConCoreApiTarget )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyRemConResponse* MpMediaKeyRemConResponse::NewL(
-    CRemConCoreApiTarget& aRemConCoreApiTarget )
-    {
-    MpMediaKeyRemConResponse* self =
-        new (ELeave) MpMediaKeyRemConResponse( aRemConCoreApiTarget );
-
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-MpMediaKeyRemConResponse::~MpMediaKeyRemConResponse()
-    {
-    Cancel();
-    iResponseArray.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// Send the any key response back to Remcon server
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyRemConResponse::CompleteAnyKey(
-    TRemConCoreApiOperationId aOperationId )
-    {
-    if ( !IsActive() )
-        {
-        switch ( aOperationId )
-            {
-            case ERemConCoreApiVolumeUp:
-                {
-                iRemConCoreApiTarget.VolumeUpResponse( iStatus, KErrNone );
-                SetActive();
-                break;
-                }
-            case ERemConCoreApiVolumeDown:
-                {
-                iRemConCoreApiTarget.VolumeDownResponse( iStatus, KErrNone );
-                SetActive();
-                break;
-                }
-            default:
-                {
-                TInt error = KErrNone;
-                iRemConCoreApiTarget.SendResponse(
-                    iStatus, aOperationId, error );
-                SetActive();
-                break;
-                }
-            }
-        }
-    // already active. Append to array and complete later.
-    else
-        {
-        iResponseArray.Append( aOperationId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Implements cancellation of an outstanding request.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyRemConResponse::DoCancel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Handles an active object's request completion event.
-// ---------------------------------------------------------------------------
-//
-void MpMediaKeyRemConResponse::RunL()
-    {
-    MPX_DEBUG2( "MpMediaKeyRemConResponse.RunL() -- iStatus=%d", iStatus.Int() );
-
-    // if any existing -> Send response
-    if ( iResponseArray.Count() )
-        {
-        CompleteAnyKey( iResponseArray[0] );
-        // Remove already completed key
-        iResponseArray.Remove( 0 );
-        iResponseArray.Compress();
-        }
-    }
-
-// End of File
--- a/app/tsrc/unittest_app.pro	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +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 = subdirs
-SUBDIRS  = unittest_mpmediakeyhandler \
-           unittest_mpcodescanner \
-
-CONFIG += ordered
--- a/app/tsrc/unittest_mpmediakeyhandler/inc/unittest_mpmediakeyhandler.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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 mpmediakeyhandler
-*
-*/
-
-#ifndef TESTMPMEDIAKEYHANDLER_H
-#define TESTMPMEDIAKEYHANDLER_H
-
-#include <QtTest/QtTest>
-
-class MpMediaKeyHandler;
-class MpMediaKeyHandlerPrivate;
-
-class TestMpMediaKeyHandler : public QObject
-{
-    Q_OBJECT
-
-public:
-    
-    TestMpMediaKeyHandler();
-    virtual ~TestMpMediaKeyHandler();
-
-// from QtTest
-public slots:
-
-    void initTestCase();
-    void cleanupTestCase();
-    void init();
-    void cleanup();
-
-// internal
-private slots:
-
-    void testConstructor();
-    void testDestructor();
-    void testConstructorFail();
-    void testDestructorFail();
-    void testCommandVolumeUpKey();
-    void testCommandVolumeDownKey();
-    void testCommandPlayKey();
-    void testCommandPauseKey();
-    void testCommandPlayPauseKey();
-    void testCommandStopKey();
-    void testCommandFastForwardKeyPress();
-    void testCommandFastForwardKeyRelease();
-    void testCommandRewindKeyPress();
-    void testCommandRewindKeyRelease();
-    void testCommandForwardKey();
-    void testCommandBackwardKey();
-    
-    void testPlay();
-    void testAudioInputFunction();
-    void testSelectAvInputFunction();
-    void testSelectDiskFunction();
-    void testTuneFunction();
-
-private:
-    
-    MpMediaKeyHandler           *mTest;
-    MpMediaKeyHandlerPrivate    *mTestPrivate;
-
-};
-
-#endif  // TESTMPMEDIAKEYHANDLER_H
-
-
-
-
--- a/app/tsrc/unittest_mpmediakeyhandler/src/unittest_mpmediakeyhandler.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,396 +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 mpmediakeyhandler
-*
-*/
-
-#include <QSignalSpy>
-#include <QMetaType>
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-#include <e32debug.h>
-
-#include "unittest_mpmediakeyhandler.h"
-#include "mpcommondefs.h"
-#include "stub/inc/mpxplaybackutility.h"
-#include "stub/inc/remconcoreapitarget.h"
-#include "stub/inc/remconinterfaceselector.h"
-
-
-// Do this so we can access all member variables.
-#define private public
-#include "mpmediakeyhandler.h"
-#include "mpmediakeyhandler_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;
-
-    TestMpMediaKeyHandler tv;
-
-    char *pass[3];
-    pass[0] = argv[0];
-    pass[1] = "-o";
-    pass[2] = "c:\\data\\unittest_mpmediakeyhandler.txt";
-
-    int res = QTest::qExec(&tv, 3, pass);
-
-    return res;
-}
-
-TestMpMediaKeyHandler::TestMpMediaKeyHandler()
-    : mTest(0)
-{
-}
-
-TestMpMediaKeyHandler::~TestMpMediaKeyHandler()
-{
-    delete mTest;
-}
-
-/*!
- Called before the first testfunction is executed.
- */
-void TestMpMediaKeyHandler::initTestCase()
-{
-    RDebug::Print(_L("initTestCase()"));
-}
-
-/*!
- Called after the last testfunction was executed.
- */
-void TestMpMediaKeyHandler::cleanupTestCase()
-{
-    RDebug::Print(_L("cleanupTestCase()"));
-}
-
-/*!
- Called before each testfunction is executed.
- */
-void TestMpMediaKeyHandler::init()
-{
-    RDebug::Print(_L(">>init()"));
-    mTest = new MpMediaKeyHandler();
-    mTestPrivate = mTest->d_ptr;
-    RDebug::Print(_L("<<init()"));
-}
-
-/*!
- Called after every testfunction.
- */
-void TestMpMediaKeyHandler::cleanup()
-{
-    if (mTest)
-    {
-        delete mTest;
-        mTest = 0;
-        mTestPrivate = 0;
-    }
-}
-
-void TestMpMediaKeyHandler::testConstructor()
-{
-    RDebug::Print(_L(">>testConstructor()"));
-    
-    QVERIFY(mTest != 0);
-    QVERIFY(mTestPrivate != 0);
-    QVERIFY(mTestPrivate->iInterfaceSelector != 0);
-    QVERIFY(mTestPrivate->iResponseHandler != 0);
-    QVERIFY(mTestPrivate->iPlaybackUtility != 0);
-    
-    RDebug::Print(_L("<<testConstructor()"));
-}
-
-void TestMpMediaKeyHandler::testDestructor()
-{
-    RDebug::Print(_L(">>testDestructor()"));
-    
-    // it is been observed that CRemConCoreApiTarget is not being deleted by anyone
-    // the creator claim it does not own it, while others never claim the ownership neither
-    cleanup();
-    QVERIFY(mTest == 0);
-    QCOMPARE(MMPXPlaybackUtility::getCount(), 0);
-    QCOMPARE(CRemConCoreApiTarget::getCount(), 0);
-    QCOMPARE(CRemConInterfaceSelector::getCount(), 0);
-    
-    RDebug::Print(_L("<<testDestructor()"));
-}
-
-void TestMpMediaKeyHandler::testConstructorFail()
-{
-    RDebug::Print(_L(">>testConstructorFail()"));
-
-    // errorOccured signal cannot be connected until mediakeyhandler is created,
-    // and error during construction cannot be feedback.
-    // solution should be to seperate construction/init
-    cleanup();
-    CRemConInterfaceSelector::setNewLLeave();
-    init();
-    QSignalSpy spy1(mTest, SIGNAL(errorOccured(int)));
-    QVERIFY(mTest != 0);
-    //QCOMPARE(spy1.count(), 1);    // failed if comment in
-    
-    cleanup();
-    CRemConInterfaceSelector::setOpenTargetLLeave();
-    init();
-    QSignalSpy spy2(mTest, SIGNAL(errorOccured(int)));
-    QVERIFY(mTest != 0);
-    //QCOMPARE(spy2.count(), 1);    // failed if comment in
-    
-    cleanup();
-    CRemConCoreApiTarget::setNewLLeave();
-    init();
-    QSignalSpy spy3(mTest, SIGNAL(errorOccured(int)));
-    QVERIFY(mTest != 0);
-    //QCOMPARE(spy3.count(), 1);    // failed if comment in
-
-    cleanup();
-    MMPXPlaybackUtility::setNewLLeave();
-    init();
-    QSignalSpy spy4(mTest, SIGNAL(errorOccured(int)));
-    QVERIFY(mTest != 0);
-    //QCOMPARE(spy4.count(), 1);    // failed if comment in
-    
-    cleanup();
-    MMPXPlaybackUtility::setAddObserverLLeave();
-    init();
-    QSignalSpy spy5(mTest, SIGNAL(errorOccured(int)));
-    QVERIFY(mTest != 0);
-    //QCOMPARE(spy5.count(), 1);    // failed if comment in
-    
-    RDebug::Print(_L("<<testConstructorFail()"));
-}
-
-void TestMpMediaKeyHandler::testDestructorFail()
-{
-    RDebug::Print(_L(">>testDestructorFail()"));
-    
-    MMPXPlaybackUtility::setRemoveObserverLLeave();
-    cleanup();
-    QVERIFY(mTest == 0);
-    QCOMPARE(MMPXPlaybackUtility::getCount(), 0);
-    QCOMPARE(CRemConCoreApiTarget::getCount(), 0);
-    QCOMPARE(CRemConInterfaceSelector::getCount(), 0);
-    
-    RDebug::Print(_L("<<testDestructorFail()"));
-}
-
-void TestMpMediaKeyHandler::testCommandVolumeUpKey()
-{
-    RDebug::Print(_L(">>testCommandVolumeUpKey()"));
-    
-    // volumeChanged signal would not emit until mediakeyhandler is not added as an observer to MMPXPlaybackUtility
-    QSignalSpy spy(mTest, SIGNAL(volumeChanged(int)));
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    MMPXPlaybackUtility::setPlaying();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiVolumeUp, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    QCOMPARE(spy.count(), 1);
-    
-    // impossible to stub out the CPeriodic class which is part of the Press/Release handling
-    // hence, those logic could not be tested 
-    
-    RDebug::Print(_L("<<testCommandVolumeUpKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandVolumeDownKey()
-{
-    RDebug::Print(_L(">>testCommandVolumeDownKey()"));
-    
-    // volumeChanged signal would not emit until mediakeyhandler is not added as an observer to MMPXPlaybackUtility
-    QSignalSpy spy(mTest, SIGNAL(volumeChanged(int)));
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    MMPXPlaybackUtility::setPlaying();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiVolumeDown, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    QCOMPARE(spy.count(), 1);
-    
-    // impossible to stub out the CPeriodic class which is part of the Press/Release handling
-    // hence, those logic could not be tested
-    
-    RDebug::Print(_L("<<testCommandVolumeDownKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandPlayKey()
-{
-    RDebug::Print(_L(">>testCommandPlayKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiPlay, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandPlayKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandPauseKey()
-{
-    RDebug::Print(_L(">>testCommandPauseKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiPause, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-        
-    RDebug::Print(_L("<<testCommandPauseKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandPlayPauseKey()
-{
-    RDebug::Print(_L(">>testCommandPlayPauseKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiPausePlayFunction, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandPlayPauseKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandStopKey()
-{
-    RDebug::Print(_L(">>testCommandStopKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiStop, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandStopKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandFastForwardKeyPress()
-{
-    RDebug::Print(_L(">>testCommandFastForwardKeyPress()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiFastForward, ERemConCoreApiButtonPress);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandFastForwardKeyPress()"));
-}
-
-void TestMpMediaKeyHandler::testCommandFastForwardKeyRelease()
-{
-    RDebug::Print(_L(">>testCommandFastForwardKeyRelease()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandFastForwardKeyRelease()"));
-}
-
-void TestMpMediaKeyHandler::testCommandRewindKeyPress()
-{
-    RDebug::Print(_L(">>testCommandRewindKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiRewind, ERemConCoreApiButtonPress);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandRewindKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandRewindKeyRelease()
-{
-    RDebug::Print(_L(">>testCommandRewindKeyRelease()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiRewind, ERemConCoreApiButtonRelease);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandRewindKeyRelease()"));
-}
-
-void TestMpMediaKeyHandler::testCommandForwardKey()
-{
-    RDebug::Print(_L(">>testCommandForwardKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiForward, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandForwardKey()"));
-}
-
-void TestMpMediaKeyHandler::testCommandBackwardKey()
-{
-    RDebug::Print(_L(">>testCommandBackwardKey()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoCommand(ERemConCoreApiBackward, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testCommandBackwardKey()"));
-}
-
-void TestMpMediaKeyHandler::testPlay()
-{
-    RDebug::Print(_L(">>testPlay()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoPlay(ERemConCoreApiPlaybackSpeedX1, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-    
-    RDebug::Print(_L("<<testPlay()"));
-}
-
-void TestMpMediaKeyHandler::testAudioInputFunction()
-{
-    RDebug::Print(_L(">>testAudioInputFunction()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoSelectAudioInputFunction(0, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-        
-    RDebug::Print(_L("<<testAudioInputFunction()"));
-}
-
-void TestMpMediaKeyHandler::testSelectAvInputFunction()
-{
-    RDebug::Print(_L(">>testSelectAvInputFunction()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoSelectAvInputFunction(0, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-
-    RDebug::Print(_L("<<testSelectAvInputFunction()"));
-}
-
-void TestMpMediaKeyHandler::testSelectDiskFunction()
-{
-    RDebug::Print(_L(">>testSelectDiskFunction()"));
-    
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoSelectDiskFunction(0, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-
-    RDebug::Print(_L("<<testSelectDiskFunction()"));
-}
-
-void TestMpMediaKeyHandler::testTuneFunction()
-{
-    RDebug::Print(_L(">>testTuneFunction()"));
-
-    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
-    mTestPrivate->MrccatoTuneFunction(ETrue, 0, 1, ERemConCoreApiButtonClick);
-    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
-
-    RDebug::Print(_L("<<testTuneFunction()"));
-}
-
-// End of file
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/inc/mpxplaybackutility.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: mpxplaybackutility stub for testing mpmediakeyhandler
-*
-*/
-
-
-#ifndef MMPXPLAYBACKUTILITY_H
-#define MMPXPLAYBACKUTILITY_H
-
-
-#include <mpxplaybackframeworkdefs.h>   // KPbModeDefault, TMPXPlaybackCommand
-#include <e32base.h>                    // CBase
-
-
-class MpMediaKeyHandlerPrivate;
-
-class MMPXPlaybackUtility : public CActive
-    {
-    
-public:
-    
-    static int getCount();
-    static void setNewLLeave();
-    static void NewLLeaveIfDesiredL();
-    static void setAddObserverLLeave();
-    static void AddObserverLLeaveIfDesiredL();
-    static void setRemoveObserverLLeave();
-    static void RemoveObserverLLeaveIfDesiredL();
-    static void setCommandLLeave();
-    static void CommandLLeaveIfDesiredL();
-    static void setStateLLeave();
-    static void StateLLeaveIfDesiredL();
-    static void setPlaying();
-    
-public:
-
-    static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault);
-    virtual ~MMPXPlaybackUtility();
-
-    void Close();
-    void AddObserverL(MpMediaKeyHandlerPrivate& aObs);
-    void RemoveObserverL(MpMediaKeyHandlerPrivate& aObs);
-    void CommandL(TMPXPlaybackCommand aCmd, TInt aData = 0);
-    
-    TMPXPlaybackState StateL() const;    
-
-protected:
-
-    // from CActive
-    virtual void DoCancel();
-    virtual void RunL();
-    
-private:
-    
-    MMPXPlaybackUtility();
-    
-private:
-
-    MpMediaKeyHandlerPrivate*   iObserver;
-    TInt                        iVolume;
-    TBool                       iVolumeUp;
-    
-    };
-
-#endif      // MMPXPLAYBACKUTILITY_H
-
-// End of File
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/inc/remconcoreapitarget.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: remconcoreapitarget stub for testing mpmediakeyhandler
-*
-*/
-
-
-#ifndef REMCONCOREAPITARGET_H
-#define REMCONCOREAPITARGET_H
-
-
-#include <remconcoreapi.h>  // TRemConCoreApiOperationId 
-
-
-class CRemConInterfaceSelector;
-class MRemConCoreApiTargetObserver;
-
-class CRemConCoreApiTarget : public CActive
-    {
-
-public:
-    
-    static int getCount();
-    static void setNewLLeave();
-    static void NewLLeaveIfDesiredL();
-    static int getSendResponseCount();
-    
-public:
-
-    static CRemConCoreApiTarget* NewL(CRemConInterfaceSelector& aInterfaceSelector, MRemConCoreApiTargetObserver& aObserver);
-    virtual ~CRemConCoreApiTarget();
-
-    void VolumeUpResponse(TRequestStatus& aStatus, TInt aError);
-    void VolumeDownResponse(TRequestStatus& aStatus, TInt aError);
-    void SendResponse(TRequestStatus& aStatus, TRemConCoreApiOperationId aOperationId, TInt aError);    
-
-protected:
-
-    // from CActive
-    virtual void DoCancel();
-    virtual void RunL();
-    
-private:
-    
-    CRemConCoreApiTarget();
-    
-private:
-
-    TRequestStatus*             iClientStatus;
-    
-    };
-
-#endif      // REMCONCOREAPITARGET_H
-
-// End of File
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/inc/remconinterfaceselector.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: remconinterfaceselector stub for testing mpmediakeyhandler
-*
-*/
-
-
-#ifndef REMCONINTERFACESELECTOR_H
-#define REMCONINTERFACESELECTOR_H
-
-
-#include <e32base.h>
-
-
-class CRemConInterfaceSelector : public CBase
-    {
-
-public:
-    
-    static int getCount();
-    static void setNewLLeave();
-    static void NewLLeaveIfDesiredL();
-    static void setOpenTargetLLeave();
-    static void OpenTargetLLeaveIfDesiredL();
-    
-public:
-
-    static CRemConInterfaceSelector* NewL();
-    virtual ~CRemConInterfaceSelector();
-
-    void OpenTargetL();
-
-private:
-    
-    CRemConInterfaceSelector();
-    
-    };
-
-#endif      // REMCONINTERFACESELECTOR_H
-
-// End of File
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/src/mpxplaybackutility.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +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: mpxplaybackutility stub for testing MpNowPlayingBackEnd
-*
-*/
-
-
-#include <mpxplaybackcommanddefs.h>
-#include <e32debug.h>
-
-#include "stub/inc/mpxplaybackutility.h"
-#include "mpmediakeyhandler_p.h"
-
-
-int gMMPXPlaybackUtilityCount = 0;
-bool gMMPXPlaybackUtilityNewLLeave = false;
-bool gMMPXPlaybackUtilityAddObserverLLeave = false;
-bool gMMPXPlaybackUtilityRemoveObserverLLeave = false;
-bool gMMPXPlaybackUtilityCommandLLeave = false;
-bool gMMPXPlaybackUtilityStateLLeave = false;
-TMPXPlaybackState gMMPXPlaybackUtilityState = EPbStateNotInitialised;
-
-
-//static functions start
-
-int MMPXPlaybackUtility::getCount()
-{
-    return gMMPXPlaybackUtilityCount;
-}
-
-void MMPXPlaybackUtility::setNewLLeave()
-{
-    gMMPXPlaybackUtilityNewLLeave = true;
-}
-
-void MMPXPlaybackUtility::NewLLeaveIfDesiredL()
-{
-    if (gMMPXPlaybackUtilityNewLLeave)
-    {
-        RDebug::Print(_L("MMPXPlaybackUtility::NewLLeaveIfDesiredL Leave"));
-        gMMPXPlaybackUtilityNewLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXPlaybackUtility::setAddObserverLLeave()
-{
-    gMMPXPlaybackUtilityAddObserverLLeave = true;
-}
-
-void MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL()
-{
-    if (gMMPXPlaybackUtilityAddObserverLLeave)
-    {
-        RDebug::Print(_L("MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL Leave"));
-        gMMPXPlaybackUtilityAddObserverLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXPlaybackUtility::setRemoveObserverLLeave()
-{
-    gMMPXPlaybackUtilityRemoveObserverLLeave = true;
-}
-
-void MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL()
-{
-    if (gMMPXPlaybackUtilityRemoveObserverLLeave)
-    {
-        RDebug::Print(_L("MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL Leave"));
-        gMMPXPlaybackUtilityRemoveObserverLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXPlaybackUtility::setCommandLLeave()
-{
-    gMMPXPlaybackUtilityCommandLLeave = true;
-}
-
-void MMPXPlaybackUtility::CommandLLeaveIfDesiredL()
-{
-    if (gMMPXPlaybackUtilityCommandLLeave)
-    {
-        RDebug::Print(_L("MMPXPlaybackUtility::CommandLLeaveIfDesiredL Leave"));
-        gMMPXPlaybackUtilityCommandLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXPlaybackUtility::setStateLLeave()
-{
-    gMMPXPlaybackUtilityStateLLeave = true;
-}
-
-void MMPXPlaybackUtility::StateLLeaveIfDesiredL()
-{
-    if (gMMPXPlaybackUtilityStateLLeave)
-    {
-        RDebug::Print(_L("MMPXPlaybackUtility::StateLLeaveIfDesiredL Leave"));
-        gMMPXPlaybackUtilityStateLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXPlaybackUtility::setPlaying()
-{
-    gMMPXPlaybackUtilityState = EPbStatePlaying;
-}
-
-//static functions end
-
-MMPXPlaybackUtility::MMPXPlaybackUtility()
-    : CActive(EPriorityStandard),
-      iObserver(NULL),
-      iVolume(5),
-      iVolumeUp(ETrue)
-{
-    gMMPXPlaybackUtilityState = EPbStateNotInitialised;
-}
-
-MMPXPlaybackUtility::~MMPXPlaybackUtility()
-{
-}
-
-MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& /*aModeId*/)
-{
-    RDebug::Print(_L("stub MMPXPlaybackUtility::UtilityL"));
-    MMPXPlaybackUtility::NewLLeaveIfDesiredL();
-    gMMPXPlaybackUtilityCount++;
-    static MMPXPlaybackUtility playbackUtilility;
-    return &playbackUtilility;
-}
-
-void MMPXPlaybackUtility::Close()
-{
-    iObserver = NULL;
-    gMMPXPlaybackUtilityCount--;
-}
-
-void MMPXPlaybackUtility::AddObserverL(MpMediaKeyHandlerPrivate& aObs)
-{
-    MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL();
-    iObserver = &aObs;
-}
-
-void MMPXPlaybackUtility::RemoveObserverL(MpMediaKeyHandlerPrivate& /*aObs*/)
-{
-    MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL();
-    iObserver = NULL;
-}
-
-void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd, TInt /*aData*/)
-{
-    RDebug::Print(_L(">>MMPXPlaybackUtility::CommandL"));
-    
-    MMPXPlaybackUtility::CommandLLeaveIfDesiredL();
-    
-    if (IsActive())
-        User::Leave(KErrNotReady);
-    else
-    {
-        if ((aCmd == EPbCmdIncreaseVolume) || (aCmd == EPbCmdDecreaseVolume))
-        {
-            if (aCmd == EPbCmdIncreaseVolume)
-                iVolumeUp = ETrue;
-            else
-                iVolumeUp = EFalse;
-            
-            // stub should not be async
-            /*TRequestStatus* status = &iStatus;
-            User::RequestComplete(status, KErrNone);
-            SetActive();*/
-            
-            RunL();
-        }
-    }
-    
-    RDebug::Print(_L("<<MMPXPlaybackUtility::CommandL"));
-}
-
-TMPXPlaybackState MMPXPlaybackUtility::StateL() const
-{
-    MMPXPlaybackUtility::StateLLeaveIfDesiredL();
-    return gMMPXPlaybackUtilityState;
-}
-
-void MMPXPlaybackUtility::DoCancel()
-{
-}
-
-void MMPXPlaybackUtility::RunL()
-{
-    RDebug::Print(_L(">>MMPXPlaybackUtility::RunL"));
-    
-    TInt err = KErrNone;
-    
-    if (iVolumeUp)
-    {
-        if (iVolume < 10)
-            iVolume++;
-        else
-            err = KErrArgument;
-    }
-    else
-    {
-        if (iVolume > 0)
-            iVolume--;
-        else
-            err = KErrArgument;
-    }
-    
-    if (iObserver)
-        iObserver->HandlePropertyL(EPbPropertyVolume, iVolume, err);
-    
-    RDebug::Print(_L("<<MMPXPlaybackUtility::RunL"));
-}
-
-//end of file
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/src/remconcoreapitarget.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +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: remconcoreapitarget stub for testing MpNowPlayingBackEnd
-*
-*/
-
-
-#include <e32debug.h>
-
-#include "stub/inc/remconcoreapitarget.h"
-
-
-int gCRemConCoreApiTargetCount = 0;
-bool gCRemConCoreApiTargetNewLLeave = false;
-int gCRemConCoreApiTargetSendResponseCount = 0;
-
-
-//static functions start
-
-int CRemConCoreApiTarget::getCount()
-{
-    return gCRemConCoreApiTargetCount;
-}
-
-void CRemConCoreApiTarget::setNewLLeave()
-{
-    gCRemConCoreApiTargetNewLLeave = true;
-}
-
-void CRemConCoreApiTarget::NewLLeaveIfDesiredL()
-{
-    if (gCRemConCoreApiTargetNewLLeave)
-    {
-        RDebug::Print(_L("CRemConCoreApiTarget::NewLLeaveIfDesiredL Leave"));
-        gCRemConCoreApiTargetNewLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-int CRemConCoreApiTarget::getSendResponseCount()
-{
-    return gCRemConCoreApiTargetSendResponseCount;
-}
-
-//static functions end
-
-
-CRemConCoreApiTarget::CRemConCoreApiTarget()
-    : CActive(EPriorityStandard),
-      iClientStatus(NULL)
-{
-    gCRemConCoreApiTargetCount++;
-}
-
-CRemConCoreApiTarget::~CRemConCoreApiTarget()
-{
-    gCRemConCoreApiTargetCount--;
-    gCRemConCoreApiTargetSendResponseCount = 0;
-}
-
-CRemConCoreApiTarget* CRemConCoreApiTarget::NewL(CRemConInterfaceSelector& /*aInterfaceSelector*/, MRemConCoreApiTargetObserver& /*aObserver*/)
-{
-    RDebug::Print(_L("stub CRemConCoreApiTarget::NewL"));
-    CRemConCoreApiTarget::NewLLeaveIfDesiredL();
-    CRemConCoreApiTarget* self = new(ELeave) CRemConCoreApiTarget();
-    return self;
-}
-
-
-void CRemConCoreApiTarget::VolumeUpResponse(TRequestStatus& aStatus, TInt /*aError*/)
-{
-    RDebug::Print(_L(">>CRemConCoreApiTarget::VolumeUpResponse"));
-    
-    iClientStatus = &aStatus;
-    gCRemConCoreApiTargetSendResponseCount++;
-    
-    // stub should not be async
-    /*TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    SetActive();*/
-    
-    RunL();
-    
-    RDebug::Print(_L("<<CRemConCoreApiTarget::VolumeUpResponse"));
-}
-
-void CRemConCoreApiTarget::VolumeDownResponse(TRequestStatus& aStatus, TInt /*aError*/)
-{
-    RDebug::Print(_L(">>CRemConCoreApiTarget::VolumeDownResponse"));
-    
-    iClientStatus = &aStatus;
-    gCRemConCoreApiTargetSendResponseCount++;
-    
-    // stub should not be async
-    /*TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    SetActive();*/
-    
-    RunL();
-    
-    RDebug::Print(_L("<<CRemConCoreApiTarget::VolumeDownResponse"));
-}
-
-void CRemConCoreApiTarget::SendResponse(TRequestStatus& aStatus, TRemConCoreApiOperationId /*aOperationId*/, TInt /*aError*/)
-{
-    RDebug::Print(_L(">>CRemConCoreApiTarget::SendResponse"));
-    
-    iClientStatus = &aStatus;
-    gCRemConCoreApiTargetSendResponseCount++;
-    
-    // stub should not be async
-    /*TRequestStatus* status = &iStatus;
-    User::RequestComplete(status, KErrNone);
-    SetActive();*/
-
-    RunL();
-    
-    RDebug::Print(_L("<<CRemConCoreApiTarget::SendResponse"));
-}
-
-void CRemConCoreApiTarget::DoCancel()
-{
-}
-
-void CRemConCoreApiTarget::RunL()
-{
-    RDebug::Print(_L(">>CRemConCoreApiTarget::RunL"));
-    User::RequestComplete(iClientStatus, KErrNone);
-    RDebug::Print(_L("<<CRemConCoreApiTarget::RunL"));
-}
-
-//end of file
--- a/app/tsrc/unittest_mpmediakeyhandler/stub/src/remconinterfaceselector.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +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: remconinterfaceselector stub for testing MpNowPlayingBackEnd
-*
-*/
-
-
-#include <e32debug.h>
-
-#include "stub/inc/remconinterfaceselector.h"
-
-
-int gCRemConInterfaceSelectorCount = 0;
-bool gCRemConInterfaceSelectorNewLLeave = false;
-bool gCRemConInterfaceSelectorOpenTargetLLeave = false;
-
-
-//static functions start
-
-int CRemConInterfaceSelector::getCount()
-{
-    return gCRemConInterfaceSelectorCount;
-}
-
-void CRemConInterfaceSelector::setNewLLeave()
-{
-    gCRemConInterfaceSelectorNewLLeave = true;
-}
-
-void CRemConInterfaceSelector::NewLLeaveIfDesiredL()
-{
-    if (gCRemConInterfaceSelectorNewLLeave)
-    {
-        RDebug::Print(_L("CRemConInterfaceSelector::NewLLeaveIfDesiredL Leave"));
-        gCRemConInterfaceSelectorNewLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void CRemConInterfaceSelector::setOpenTargetLLeave()
-{
-    gCRemConInterfaceSelectorOpenTargetLLeave = true;
-}
-
-void CRemConInterfaceSelector::OpenTargetLLeaveIfDesiredL()
-{
-    if (gCRemConInterfaceSelectorOpenTargetLLeave)
-    {
-        RDebug::Print(_L("CRemConInterfaceSelector::NewLLeaveIfDesiredL Leave"));
-        gCRemConInterfaceSelectorOpenTargetLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-//static functions end
-
-CRemConInterfaceSelector::CRemConInterfaceSelector()
-{
-    gCRemConInterfaceSelectorCount++;
-}
-
-CRemConInterfaceSelector::~CRemConInterfaceSelector()
-{
-    gCRemConInterfaceSelectorCount--;
-}
-
-CRemConInterfaceSelector* CRemConInterfaceSelector::NewL()
-{
-    RDebug::Print(_L("stub CRemConInterfaceSelector::NewL"));
-    CRemConInterfaceSelector::NewLLeaveIfDesiredL();
-    CRemConInterfaceSelector* self = new(ELeave) CRemConInterfaceSelector();
-    return self;
-}
-
-void CRemConInterfaceSelector::OpenTargetL()
-{
-    CRemConInterfaceSelector::OpenTargetLLeaveIfDesiredL();
-}
-
-//end of file
--- a/app/tsrc/unittest_mpmediakeyhandler/unittest_mpmediakeyhandler.pro	Fri Mar 19 09:28:13 2010 +0200
+++ /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: 
-#
-
-TEMPLATE = app
-CONFIG += qtestlib hb
-TARGET = 
-
-DEPENDPATH += . \
-    inc \
-    src
-
-INCLUDEPATH += . \
-    stub/inc \
-    ../../../inc \
-    
-symbian:
-{
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-}
-
-LIBS += -lestor.dll \
-        -lfbscli.dll \
-        -lmpxcommon.dll \
-        -lremconcoreapi.dll \
-
-# Input
-HEADERS += inc/unittest_mpmediakeyhandler.h \
-           ../../inc/mpmediakeyhandler.h \
-           ../../inc/mpmediakeyhandler_p.h \
-           ../../inc/mpmediakeyremconresponse.h \
-           stub/inc/mpxplaybackutility.h \
-           stub/inc/remconcoreapitarget.h \
-           stub/inc/remconinterfaceselector.h \
-               
-SOURCES += src/unittest_mpmediakeyhandler.cpp \
-           ../../src/mpmediakeyhandler.cpp \
-           ../../src/mpmediakeyhandler_p.cpp \
-           ../../src/mpmediakeyremconresponse.cpp \
-           stub/src/mpxplaybackutility.cpp \
-           stub/src/remconcoreapitarget.cpp \
-           stub/src/remconinterfaceselector.cpp \
--- a/app/tsrc/unittest_mpsongscanner/inc/unittest_mpsongscanner.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: Unit test for mpmediakeyhandler
-*
-*/
-
-#ifndef TESTMPSONGSCANNER_H
-#define TESTMPSONGSCANNER_H
-
-#include <QtTest/QtTest>
-
-class MpSongScanner;
-class MpSongScannerPrivate;
-
-class TestMpSongScanner : public QObject
-{
-    Q_OBJECT
-
-public:
-    
-    TestMpSongScanner();
-    virtual ~TestMpSongScanner();
-
-// from QtTest
-public slots:
-
-    void initTestCase();
-    void cleanupTestCase();
-    void init();
-    void cleanup();
-
-// internal
-private slots:
-
-    void testConstructor();
-    void testDestructor();
-    void testConstructorFail();
-    void testIsScanning();
-    void testScan();
-    void testCancelScan();
-    void testScanFail();
-    void testCancelScanFail();
-    void testHandleOpenLMedia();
-    void testHandleOpenLPlaylist();
-    void testHandleCollectionMessageRefresh();
-    void testHandleCollectionMessageDiskInserted();
-    void testHandleCollectionMessageItemChanged();
-    void testHandleCollectionMediaL();
-
-private:
-    
-    MpSongScanner           *mTest;
-    MpSongScannerPrivate    *mTestPrivate;
-
-};
-
-#endif  // TESTMPSONGSCANNER_H
-
-
-
-
--- a/app/tsrc/unittest_mpsongscanner/src/unittest_mpsongscanner.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +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 mpmediakeyhandler
-*
-*/
-
-#include <QSignalSpy>
-#include <QMetaType>
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-
-#include <e32debug.h>
-
-#include "unittest_mpsongscanner.h"
-#include "mpcommondefs.h"
-#include "stub/inc/mpxharvesterutility.h"
-#include "stub/inc/mpxcollectionutility.h"
-
-
-// Do this so we can access all member variables.
-#define private public
-#include "mpsongscanner.h"
-#include "mpsongscanner_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;
-
-    TestMpSongScanner tv;
-
-    char *pass[3];
-    pass[0] = argv[0];
-    pass[1] = "-o";
-    pass[2] = "c:\\data\\unittest_mpsongscanner.txt";
-
-    int res = QTest::qExec(&tv, 3, pass);
-
-    return res;
-}
-
-TestMpSongScanner::TestMpSongScanner()
-    : mTest(0)
-{
-}
-
-TestMpSongScanner::~TestMpSongScanner()
-{
-    delete mTest;
-}
-
-/*!
- Called before the first testfunction is executed.
- */
-void TestMpSongScanner::initTestCase()
-{
-    RDebug::Print(_L("initTestCase()"));
-}
-
-/*!
- Called after the last testfunction was executed.
- */
-void TestMpSongScanner::cleanupTestCase()
-{
-    RDebug::Print(_L("cleanupTestCase()"));
-}
-
-/*!
- Called before each testfunction is executed.
- */
-void TestMpSongScanner::init()
-{
-    RDebug::Print(_L(">>init()"));
-    mTest = new MpSongScanner();
-    mTestPrivate = mTest->d_ptr;
-    RDebug::Print(_L("<<init()"));
-}
-
-/*!
- Called after every testfunction.
- */
-void TestMpSongScanner::cleanup()
-{
-    if (mTest)
-    {
-        delete mTest;
-        mTest = 0;
-        mTestPrivate = 0;
-    }
-}
-
-void TestMpSongScanner::testConstructor()
-{
-    RDebug::Print(_L(">>testConstructor()"));
-    
-    QVERIFY(mTest != 0);
-    QVERIFY(mTestPrivate != 0);
-    QVERIFY(mTestPrivate->iCollectionUtility != 0);
-    QVERIFY(mTestPrivate->iHarvesterUtility != 0);
-    
-    RDebug::Print(_L("<<testConstructor()"));
-}
-
-void TestMpSongScanner::testDestructor()
-{
-    RDebug::Print(_L(">>testDestructor()"));
-    
-    cleanup();
-    QVERIFY(mTest == 0);
-    QCOMPARE(MMPXCollectionUtility::getCount(), 0);
-    QCOMPARE(MMPXHarvesterUtility::getCount(), 0);
-   
-    RDebug::Print(_L("<<testDestructor()"));
-}
-
-void TestMpSongScanner::testConstructorFail()
-{
-    RDebug::Print(_L(">>testConstructorFail()"));
-
-    cleanup();
-    MMPXCollectionUtility::setNewLLeave();
-    init();
-    QVERIFY(mTest != 0);
-    
-    cleanup();
-    CMPXHarvesterFactory::setNewLLeave();
-    init();
-    QVERIFY(mTest != 0);
-    
-    cleanup();
-    MMPXHarvesterUtility::setCheckForSystemEventsLLeave();
-    init();
-    QVERIFY(mTest != 0);
-    
-    cleanup();
-    MMPXCollectionUtility::setCollectionIDLLeave();
-    init();
-    QVERIFY(mTest != 0);
-    
-    cleanup();
-    MMPXCollection::setOpenLLeave();
-    init();
-    QVERIFY(mTest != 0);
-    
-    cleanup();
-    MMPXCollection::setMediaLLeave();
-    init();
-    QVERIFY(mTest != 0);
-   
-    RDebug::Print(_L("<<testConstructorFail()"));
-}
-
-void TestMpSongScanner::testIsScanning()
-{
-    RDebug::Print(_L(">>testIsScanning()"));
-    
-    QVERIFY(mTest->isScanning() == false);
-   
-    RDebug::Print(_L("<<testIsScanning()"));
-}
-
-void TestMpSongScanner::testScan()
-{
-    RDebug::Print(_L(">>testScan()"));
-
-    mTest->scan();
-    QCOMPARE(mTest->isScanning(), true);
-    
-    RDebug::Print(_L("<<testScan()"));
-}
-
-void TestMpSongScanner::testCancelScan()
-{
-    RDebug::Print(_L(">>testCancelScan()"));
-
-    mTest->scan();
-    mTest->cancelScan();
-    QCOMPARE(mTest->isScanning(), false);
-    
-    RDebug::Print(_L("<<testCancelScan()"));
-}
-
-void TestMpSongScanner::testScanFail()
-{
-    RDebug::Print(_L(">>testScanFail()"));
-
-    MMPXHarvesterUtility::setScanLLeave();
-    mTest->scan();
-    QVERIFY(mTest->isScanning() == true);
-    
-    RDebug::Print(_L("<<testScanFail()"));
-}
-
-void TestMpSongScanner::testCancelScanFail()
-{
-    RDebug::Print(_L(">>testCancelScanFail()"));
-
-    MMPXHarvesterUtility::setCancelScanLLeave();
-    mTest->scan();
-    mTest->cancelScan();
-    QCOMPARE(mTest->isScanning(), false);
-    
-    cleanup();
-    init();
-    mTest->scan();
-    MMPXHarvesterUtility::setCancelScanLLeave();
-    CMPXHarvesterFactory::setNewLLeave();
-    mTest->cancelScan();
-    QCOMPARE(mTest->isScanning(), false);
-    QVERIFY(mTestPrivate->iHarvesterUtility == 0);
-    
-    cleanup();
-    init();
-    mTest->scan();
-    MMPXHarvesterUtility::setCancelScanLLeave();
-    MMPXHarvesterUtility::setCheckForSystemEventsLLeave();
-    mTest->cancelScan();
-    QCOMPARE(mTest->isScanning(), false);
-    QVERIFY(mTestPrivate->iHarvesterUtility != 0);
-    
-    RDebug::Print(_L("<<testCancelScanFail()"));
-}
-
-void TestMpSongScanner::testHandleOpenLMedia()
-{
-    RDebug::Print(_L(">>testHandleOpenLMedia()"));
-    
-    CMPXMedia* mpxMedia = NULL;
-    mTestPrivate->HandleOpenL(*mpxMedia, 0, ETrue, KErrNone);
-    
-    // no implementation on HandleOpenL now, check something that should be obvious (isScanning)
-    QCOMPARE(mTest->isScanning(), false);
-    
-    RDebug::Print(_L("<<testHandleOpenLMedia()"));
-}
-
-void TestMpSongScanner::testHandleOpenLPlaylist()
-{
-    RDebug::Print(_L(">>testHandleOpenLPlaylist()"));
-    
-    CMPXCollectionPlaylist* mpxPlaylist = NULL;
-    mTestPrivate->HandleOpenL(*mpxPlaylist, KErrNone);
-    
-    // no implementation on HandleOpenL now, check something that should be obvious (isScanning)
-    QCOMPARE(mTest->isScanning(), false);
-        
-    RDebug::Print(_L("<<testHandleOpenLPlaylist()"));
-}
-
-void TestMpSongScanner::testHandleCollectionMessageRefresh()
-{
-    RDebug::Print(_L(">>testHandleCollectionMessageRefresh()"));
-    
-    QSignalSpy spy1(mTest, SIGNAL(scanStarted()));
-    QSignalSpy spy2(mTest, SIGNAL(scanEnded()));
-    TInt err = KErrNone;
-    
-    mTest->scan();
-    err = mTestPrivate->iCollectionUtility->SendRefreshStartMessage();
-    
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(spy1.count(), 1);
-    
-    err = mTestPrivate->iCollectionUtility->SendRefreshEndMessage();
-    
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(spy2.count(), 1);
-    QCOMPARE(mTest->isScanning(), false);
-    
-    RDebug::Print(_L("<<testHandleCollectionMessageRefresh()"));
-}
-
-void TestMpSongScanner::testHandleCollectionMessageDiskInserted()
-{
-    RDebug::Print(_L(">>testHandleCollectionMessageDiskInserted()"));
-
-    QSignalSpy spy(mTest, SIGNAL(scanEnded()));
-    TInt err = KErrNone;
-    
-    mTest->scan();
-    err = mTestPrivate->iCollectionUtility->SendDiskInsertedMessage();
-    
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(spy.count(), 1);
-    QCOMPARE(mTest->isScanning(), false);
-    
-    RDebug::Print(_L("<<testHandleCollectionMessageDiskInserted()"));
-}
-
-void TestMpSongScanner::testHandleCollectionMessageItemChanged()
-{
-    RDebug::Print(_L(">>testHandleCollectionMessageItemChanged()"));
-
-    TInt err = KErrNone;
-
-    // must send a Refresh start first or itemadded check would not be valid
-    mTest->scan();
-    err = mTestPrivate->iCollectionUtility->SendRefreshStartMessage();
-        
-    QCOMPARE(err, KErrNone);
-    
-    err = mTestPrivate->iCollectionUtility->SendItemChangedMessage();
-    
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(mTestPrivate->iNumItemsAdded, 1);
-
-    RDebug::Print(_L("<<testHandleCollectionMessageItemChanged()"));
-}
-
-void TestMpSongScanner::testHandleCollectionMediaL()
-{
-    RDebug::Print(_L(">>testHandleCollectionMediaL()"));
-    
-    QSignalSpy spy(mTest, SIGNAL(scanEnded()));
-    TInt err = KErrNone;
-    
-    err = mTestPrivate->iCollectionUtility->SendDbCreatedMedia();
-    
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(spy.count(), 1);
-    QCOMPARE(mTest->isScanning(), false);
-    
-    err = mTestPrivate->iCollectionUtility->SendNotDbCreatedMedia();
-        
-    QCOMPARE(err, KErrNone);
-    QCOMPARE(mTest->isScanning(), true);        
-    
-    RDebug::Print(_L("<<testHandleCollectionMediaL()"));
-}
-
-// End of file
--- a/app/tsrc/unittest_mpsongscanner/stub/inc/mpxcollectionutility.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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: mmpxcollectionutility stub for testing mpsongscanner
-*
-*/
-
-
-#ifndef MMPXCOLLECTIONUTILITY_H
-#define MMPXCOLLECTIONUTILITY_H
-
-
-#include <mpxcommonframeworkdefs.h>     // TMPXOpenMode
-#include <mpxattribute.h>               // TMPXAttribute
-#include <e32base.h>                    // CBase
-
-
-class MpSongScannerPrivate;
-class CMPXCollectionPath;
-class CMPXAttributeSpecs;
-class CMPXFilter;
-
-
-class MMPXCollection : public CBase
-    {
-    
-public:
-    
-    static void setOpenLLeave();
-    static void OpenLLeaveIfDesiredL();
-    static void setMediaLLeave();
-    static void MediaLLeaveIfDesiredL();
-    
-public:
-    
-    MMPXCollection();
-    virtual ~MMPXCollection();
-    
-    void OpenL(TMPXOpenMode aMode = EMPXOpenDefault);
-    void MediaL(const CMPXCollectionPath& aPath, const TArray<TMPXAttribute>& aAttrs, CMPXAttributeSpecs* aSpecs=NULL, CMPXFilter* aFilter=NULL);
-    
-    };
-
-class MMPXCollectionUtility : public CBase
-    {
-    
-public:
-    
-    static int getCount();
-    static void setNewLLeave();
-    static void NewLLeaveIfDesiredL();
-    static void setCollectionIDLLeave();
-    static void CollectionIDLLeaveIfDesiredL();
-
-public:
-
-    static MMPXCollectionUtility* NewL(MpSongScannerPrivate* aObs);
-    virtual ~MMPXCollectionUtility();
-
-    void Close();
-    TUid CollectionIDL(const TArray<TUid>& aUids);
-    MMPXCollection& Collection();
-    
-// test function
-public:
-    
-    TInt SendRefreshStartMessage();
-    TInt SendRefreshEndMessage();
-    TInt SendDiskInsertedMessage();
-    TInt SendItemChangedMessage();
-    
-    TInt SendDbCreatedMedia();
-    TInt SendNotDbCreatedMedia();
-    
-private:
-    
-    MMPXCollectionUtility();
-
-// workaround so that iObserver can be set everytime on NewL 
-public:
-    
-    MpSongScannerPrivate*   iObserver;
-    
-private:
-    
-    MMPXCollection          iCollection;
-
-    };
-
-#endif      // MMPXCOLLECTIONUTILITY_H
-
-// End of File
--- a/app/tsrc/unittest_mpsongscanner/stub/inc/mpxharvesterutility.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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: mpxharvesterutility stub for testing mpsongscanner
-*
-*/
-
-
-#ifndef MMPXHARVESTERUTILITY_H
-#define MMPXHARVESTERUTILITY_H
-
-
-#include <e32base.h>                    // CBase
-
-
-class MMPXHarvesterUtility : public CBase
-    {
-    
-public:
-    
-    static int getCount();
-    static void setCheckForSystemEventsLLeave();
-    static void CheckForSystemEventsLLeaveIfDesired();
-    static void setScanLLeave();
-    static void ScanLLeaveIfDesired();
-    static void setCancelScanLLeave();
-    static void CancelScanLLeaveIfDesired();
-    
-public:
-
-    MMPXHarvesterUtility();
-    virtual ~MMPXHarvesterUtility();
-
-    void Close();
-    void CheckForSystemEventsL();
-    void ScanL();
-    void CancelScanL();
-    
-    };
-
-
-class CMPXHarvesterFactory : public CBase
-    {
-    
-public:
-    
-    static void setNewLLeave();
-    static void NewLLeaveIfDesiredL();
-    
-public:
-    
-    static MMPXHarvesterUtility* NewL();
-    
-    };
-
-#endif      // MMPXHARVESTERUTILITY_H
-
-// End of File
--- a/app/tsrc/unittest_mpsongscanner/stub/src/mpxcollectionutility.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,364 +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 MpNowPlayingBackEnd
-*
-*/
-
-
-#include <mpxmedia.h>
-#include <mpxmessage.h>
-#include <mpxmessagegeneraldefs.h>
-#include <mpxcollectionmessage.h>
-#include <mpxcollectionmessagedefs.h>
-#include <mpxmediageneraldefs.h>
-#include <mpxmediacollectiondetaildefs.h>
-
-#include <e32debug.h>
-
-#include "stub/inc/mpxcollectionutility.h"
-#include "mpsongscanner_p.h"
-
-
-int gMMPXCollectionCount = 0;
-int gMMPXCollectionUtilityCount = 0;
-bool gMMPXCollectionNewLLeave = false;
-bool gMMPXCollectionOpenLLeave = false;
-bool gMMPXCollectionMediaLLeave = false;
-bool gMMPXCollectionUtilityNewLLeave = false;
-bool gMMPXCollectionUtilityCollectionIDLLeave = false;
-
-
-//static functions start
-
-void MMPXCollection::setOpenLLeave()
-{
-    gMMPXCollectionOpenLLeave = true;
-}
-
-void MMPXCollection::OpenLLeaveIfDesiredL()
-{
-    if (gMMPXCollectionOpenLLeave)
-    {
-        RDebug::Print(_L("MMPXCollection::OpenLLeaveIfDesiredL Leave"));
-        gMMPXCollectionOpenLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXCollection::setMediaLLeave()
-{
-    gMMPXCollectionMediaLLeave = true;
-}
-
-void MMPXCollection::MediaLLeaveIfDesiredL()
-{
-    if (gMMPXCollectionMediaLLeave)
-    {
-        RDebug::Print(_L("MMPXCollection::MediaLLeaveIfDesiredL Leave"));
-        gMMPXCollectionMediaLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-int MMPXCollectionUtility::getCount()
-{
-    return gMMPXCollectionUtilityCount;
-}
-
-void MMPXCollectionUtility::setNewLLeave()
-{
-    gMMPXCollectionUtilityNewLLeave = true;
-}
-
-void MMPXCollectionUtility::NewLLeaveIfDesiredL()
-{
-    if (gMMPXCollectionUtilityNewLLeave)
-    {
-        RDebug::Print(_L("MMPXCollectionUtility::NewLLeaveIfDesiredL Leave"));
-        gMMPXCollectionUtilityNewLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXCollectionUtility::setCollectionIDLLeave()
-{
-    gMMPXCollectionUtilityCollectionIDLLeave = true;
-}
-
-void MMPXCollectionUtility::CollectionIDLLeaveIfDesiredL()
-{
-    if (gMMPXCollectionUtilityCollectionIDLLeave)
-    {
-        RDebug::Print(_L("MMPXCollectionUtility::CollectionIDLLeaveIfDesiredL Leave"));
-        gMMPXCollectionUtilityCollectionIDLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-//static functions end
-
-MMPXCollection::MMPXCollection()
-{
-    RDebug::Print(_L("stub MMPXCollection::MMPXCollection"));
-}
-
-MMPXCollection::~MMPXCollection()
-{
-}
-    
-void MMPXCollection::OpenL(TMPXOpenMode /*aMode*/)
-{
-    MMPXCollection::OpenLLeaveIfDesiredL();
-}
-
-void MMPXCollection::MediaL(const CMPXCollectionPath& /*aPath*/, const TArray<TMPXAttribute>& /*aAttrs*/, CMPXAttributeSpecs* /*aSpecs*/, CMPXFilter* /*aFilter*/)
-{
-    MMPXCollection::MediaLLeaveIfDesiredL();
-}
-    
-MMPXCollectionUtility::MMPXCollectionUtility()
-{
-}
-
-MMPXCollectionUtility::~MMPXCollectionUtility()
-{
-}
-
-MMPXCollectionUtility* MMPXCollectionUtility::NewL(MpSongScannerPrivate* aObs)
-{
-    RDebug::Print(_L("stub MMPXCollectionUtility::NewL"));
-    MMPXCollectionUtility::NewLLeaveIfDesiredL();
-    gMMPXCollectionUtilityCount++;
-    static MMPXCollectionUtility collectionUtilility;
-    collectionUtilility.iObserver = aObs;
-    return &collectionUtilility;
-}
-
-void MMPXCollectionUtility::Close()
-{
-    iObserver = NULL;
-    gMMPXCollectionUtilityCount--;
-}
-
-TUid MMPXCollectionUtility::CollectionIDL(const TArray<TUid>& /*aUids*/)
-{
-    RDebug::Print(_L("MMPXCollectionUtility::CancelScanL"));
-    MMPXCollectionUtility::CollectionIDLLeaveIfDesiredL();
-    return TUid::Uid(0);
-}
-
-MMPXCollection& MMPXCollectionUtility::Collection()
-{
-    RDebug::Print(_L("MMPXCollectionUtility::CancelScanL"));
-    return iCollection;
-}
-
-TInt MMPXCollectionUtility::SendRefreshStartMessage()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendRefreshStartMessage"));
-    
-    CMPXMessage* mpxMessage = NULL;
-    TInt err = KErrNone;
-
-    TRAP(err,
-        {
-            mpxMessage = CMPXMessage::NewL();
-            CleanupStack::PushL(mpxMessage);
-            TMPXMessageId id = static_cast<TMPXMessageId>(KMPXMessageGeneral);
-            mpxMessage->SetTObjectValueL<TMPXMessageId>(KMPXMessageGeneralId, id);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent, TMPXCollectionMessage::EBroadcastEvent);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType, EMcMsgRefreshStart);
-            CleanupStack::Pop(mpxMessage);
-        });
-    
-        
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMessage);
-        return err;
-        }
-
-    if (iObserver)
-        iObserver->HandleCollectionMessage(mpxMessage, err);
-    
-    delete mpxMessage;
-    
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendRefreshStartMessage"));
-    return KErrNone;
-}
-
-TInt MMPXCollectionUtility::SendRefreshEndMessage()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendRefreshEndMessage"));
-    
-    CMPXMessage* mpxMessage = NULL;
-    TInt err = KErrNone;
-
-    TRAP(err,
-        {
-            mpxMessage = CMPXMessage::NewL();
-            CleanupStack::PushL(mpxMessage);
-            TMPXMessageId id = static_cast<TMPXMessageId>(KMPXMessageGeneral);
-            mpxMessage->SetTObjectValueL<TMPXMessageId>(KMPXMessageGeneralId, id);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent, TMPXCollectionMessage::EBroadcastEvent);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType, EMcMsgRefreshEnd);
-            CleanupStack::Pop(mpxMessage);
-        });
-        
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMessage);
-        return err;
-        }
-
-    if (iObserver)
-        iObserver->HandleCollectionMessage(mpxMessage, err);
-    
-    delete mpxMessage;
-    
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendRefreshEndMessage"));
-    return KErrNone;
-}
-
-TInt MMPXCollectionUtility::SendDiskInsertedMessage()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendDiskInsertedMessage"));
-    
-    CMPXMessage* mpxMessage = NULL;
-    TInt err = KErrNone;
-
-    TRAP(err,
-        {
-            mpxMessage = CMPXMessage::NewL();
-            CleanupStack::PushL(mpxMessage);
-            TMPXMessageId id = static_cast<TMPXMessageId>(KMPXMessageGeneral);
-            mpxMessage->SetTObjectValueL<TMPXMessageId>(KMPXMessageGeneralId, id);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent, TMPXCollectionMessage::EBroadcastEvent);
-            mpxMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType, EMcMsgDiskInserted);
-            CleanupStack::Pop(mpxMessage);
-        });
-        
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMessage);
-        return err;
-        }
-
-    if (iObserver)
-        iObserver->HandleCollectionMessage(mpxMessage, err);
-    
-    delete mpxMessage;    
-    
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendDiskInsertedMessage"));
-    return KErrNone;
-}
-
-TInt MMPXCollectionUtility::SendItemChangedMessage()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendItemChangedMessage"));
-    
-    CMPXMessage* mpxMessage = NULL;
-    TInt err = KErrNone;
-
-    TRAP(err,
-        {
-            mpxMessage = CMPXMessage::NewL();
-            CleanupStack::PushL(mpxMessage);
-            TMPXMessageId id = static_cast<TMPXMessageId>(KMPXMessageIdItemChanged);
-            mpxMessage->SetTObjectValueL<TMPXMessageId>(KMPXMessageGeneralId, id);
-            mpxMessage->SetTObjectValueL<TMPXChangeEventType>(KMPXMessageChangeEventType, EMPXItemInserted);
-            mpxMessage->SetTObjectValueL<TMPXGeneralCategory>(KMPXMessageMediaGeneralCategory, EMPXSong);
-            CleanupStack::Pop(mpxMessage);
-        });
-        
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMessage);
-        return err;
-        }
-
-    if (iObserver)
-        iObserver->HandleCollectionMessage(mpxMessage, err);
-    
-    delete mpxMessage;    
-    
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendItemChangedMessage"));
-    return KErrNone;
-}
-
-TInt MMPXCollectionUtility::SendDbCreatedMedia()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendDbCreatedMedia"));
-    
-    CMPXMedia *mpxMedia = NULL;
-    TInt err = KErrNone;
-    
-    TRAP(err,
-        {
-            mpxMedia = CMPXMedia::NewL();
-            CleanupStack::PushL(mpxMedia);
-            mpxMedia->SetTObjectValueL<TBool>(KMPXMediaColDetailDBCreated, ETrue);
-            CleanupStack::Pop(mpxMedia);
-        });
-    
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMedia);
-        return err;
-        }
-    
-    if (iObserver)
-        TRAP(err, iObserver->HandleCollectionMediaL(*mpxMedia, err));
-    
-    delete mpxMedia;
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendDbCreatedMedia"));
-    return err;
-}
-
-TInt MMPXCollectionUtility::SendNotDbCreatedMedia()
-{
-    RDebug::Print(_L(">>MMPXCollectionUtility::SendNotDbCreatedMedia"));
-    
-    CMPXMedia *mpxMedia = NULL;
-    TInt err = KErrNone;
-    
-    TRAP(err,
-        {
-            mpxMedia = CMPXMedia::NewL();
-            CleanupStack::PushL(mpxMedia);
-            mpxMedia->SetTObjectValueL<TBool>(KMPXMediaColDetailDBCreated, EFalse);
-            CleanupStack::Pop(mpxMedia);
-        });
-    
-    if (err != KErrNone)
-        {
-        RDebug::Print(_L("err = %d"), err);
-        CleanupStack::PopAndDestroy(mpxMedia);
-        return err;
-        }
-    
-    if (iObserver)
-        TRAP(err, iObserver->HandleCollectionMediaL(*mpxMedia, err));
-    
-    delete mpxMedia;
-    RDebug::Print(_L("<<MMPXCollectionUtility::SendNotDbCreatedMedia"));
-    return err;
-}
-
-//end of file
--- a/app/tsrc/unittest_mpsongscanner/stub/src/mpxharvesterutility.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +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: mpxharvesterutility stub for testing MpNowPlayingBackEnd
-*
-*/
-
-
-#include <e32debug.h>
-
-#include "stub/inc/mpxharvesterutility.h"
-
-
-bool gCMPXHarvesterFactoryNewLLeave = false;
-int gMMPXHarvesterUtilityCount = 0;
-bool gMMPXHarvesterUtilityCheckForSystemEventsLLeave = false;
-bool gMMPXHarvesterUtilityScanLLeave = false;
-bool gMMPXHarvesterUtilityCancelScanLLeave = false;
-
-
-//static functions start
-
-void CMPXHarvesterFactory::setNewLLeave()
-{
-    gCMPXHarvesterFactoryNewLLeave = true;
-}
-
-void CMPXHarvesterFactory::NewLLeaveIfDesiredL()
-{
-    if (gCMPXHarvesterFactoryNewLLeave)
-    {
-        RDebug::Print(_L("CMPXHarvesterFactory::NewLLeaveIfDesiredL Leave"));
-        gCMPXHarvesterFactoryNewLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-int MMPXHarvesterUtility::getCount()
-{
-    return gMMPXHarvesterUtilityCount;
-}
-
-void MMPXHarvesterUtility::setCheckForSystemEventsLLeave()
-{
-    gMMPXHarvesterUtilityCheckForSystemEventsLLeave = true;
-}
-
-void MMPXHarvesterUtility::CheckForSystemEventsLLeaveIfDesired()
-{
-    if (gMMPXHarvesterUtilityCheckForSystemEventsLLeave)
-    {
-        RDebug::Print(_L("MMPXHarvesterUtility::CheckForSystemEventsLLeaveIfDesired Leave"));
-        gMMPXHarvesterUtilityCheckForSystemEventsLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXHarvesterUtility::setScanLLeave()
-{
-    gMMPXHarvesterUtilityScanLLeave = true;
-}
-
-void MMPXHarvesterUtility::ScanLLeaveIfDesired()
-{
-    if (gMMPXHarvesterUtilityScanLLeave)
-    {
-        RDebug::Print(_L("MMPXHarvesterUtility::ScanLLeaveIfDesired Leave"));
-        gMMPXHarvesterUtilityScanLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-void MMPXHarvesterUtility::setCancelScanLLeave()
-{
-    gMMPXHarvesterUtilityCancelScanLLeave = true;
-}
-
-void MMPXHarvesterUtility::CancelScanLLeaveIfDesired()
-{
-    if (gMMPXHarvesterUtilityCancelScanLLeave)
-    {
-        RDebug::Print(_L("MMPXHarvesterUtility::CancelScanLLeaveIfDesired Leave"));
-        gMMPXHarvesterUtilityCancelScanLLeave = false;
-        User::Leave(KErrGeneral);
-    }
-}
-
-//static functions end
-
-MMPXHarvesterUtility* CMPXHarvesterFactory::NewL()
-    {
-    RDebug::Print(_L("stub CMPXHarvesterFactory::NewL"));
-    
-    CMPXHarvesterFactory::NewLLeaveIfDesiredL();
-    gMMPXHarvesterUtilityCount++;
-    static MMPXHarvesterUtility harvesterUtility;
-    return &harvesterUtility;
-    }
-
-MMPXHarvesterUtility::MMPXHarvesterUtility()
-{
-}
-
-MMPXHarvesterUtility::~MMPXHarvesterUtility()
-{
-}
-
-void MMPXHarvesterUtility::Close()
-{
-    gMMPXHarvesterUtilityCount--;
-}
-
-void MMPXHarvesterUtility::CheckForSystemEventsL()
-{
-    RDebug::Print(_L("MMPXHarvesterUtility::CheckForSystemEventsL"));
-    MMPXHarvesterUtility::setCheckForSystemEventsLLeave();
-}
-
-void MMPXHarvesterUtility::ScanL()
-{
-    RDebug::Print(_L("MMPXHarvesterUtility::ScanL"));
-    MMPXHarvesterUtility::ScanLLeaveIfDesired();    
-}
-
-void MMPXHarvesterUtility::CancelScanL()
-{
-    RDebug::Print(_L("MMPXHarvesterUtility::CancelScanL"));
-    MMPXHarvesterUtility::CancelScanLLeaveIfDesired();    
-}
-
-//end of file
--- a/app/tsrc/unittest_mpsongscanner/unittest_mpsongscanner.pro	Fri Mar 19 09:28:13 2010 +0200
+++ /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: 
-#
-
-TEMPLATE = app
-CONFIG += qtestlib hb
-TARGET = 
-
-DEPENDPATH += . \
-    inc \
-    src
-
-INCLUDEPATH += . \
-    stub/inc \
-    ../../../inc \
-    
-symbian:
-{
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-}
-
-LIBS += -lestor.dll \
-        -lfbscli.dll \
-        -lmpxcommon.dll \
-
-# Input
-HEADERS += inc/unittest_mpsongscanner.h \
-           ../../inc/mpsongscanner.h \
-           ../../inc/mpsongscanner_p.h \
-           stub/inc/mpxharvesterutility.h \
-           stub/inc/mpxcollectionutility.h \
-               
-SOURCES += src/unittest_mpsongscanner.cpp \
-           ../../src/mpsongscanner.cpp \
-           ../../src/mpsongscanner_p.cpp \
-           stub/src/mpxharvesterutility.cpp \
-           stub/src/mpxcollectionutility.cpp \
--- a/inc/mpcommondefs.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/inc/mpcommondefs.h	Fri Apr 16 14:56:30 2010 +0300
@@ -26,6 +26,8 @@
     const long int KMusicPlayerUid      = {0x10207C62};
     const long int KCollectionViewUid   = {0x10207C63};
     const long int KPlaybackViewUid     = {0x10207C64};
+    const long int KSettingsViewUid     = {0x10207C66};
+    const long int KDetailsViewUid      = {0x2002D0AA};
 
     /*!
      Command code sent from the views to the application main window
@@ -34,7 +36,9 @@
     enum MpCommandCode {
         Exit,
         ActivateCollectionView,
-        ActivatePlaybackView
+        ActivatePlaybackView,
+		ActivateSettingsView,
+		ActivateDetailsView
     };
 
     /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/mpengine.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 engine.
+*
+*/
+
+#ifndef MPENGINE_H
+#define MPENGINE_H
+
+#include <QObject>
+#include "mpmpxcommondefs.h"
+
+class QStringList;
+class QTranslator;
+class HbNotificationDialog;
+class MpMpxFrameworkWrapper;
+class MpSongScanner;
+class MpMediaKeyHandler;
+
+#if defined(BUILD_MPENGINE_LIB)
+#define MPENGINE_EXPORT Q_DECL_EXPORT
+#else
+#define MPENGINE_EXPORT Q_DECL_IMPORT
+#endif
+
+
+class MPENGINE_EXPORT MpEngine : public QObject
+{
+    Q_OBJECT
+
+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();
+    static MpEngine *instance();
+
+    void refreshLibrary();
+    bool verifyUsbBlocking( bool showMessage = false );
+
+signals:
+
+    void libraryAboutToRefresh();
+    void libraryRefreshed();
+    void usbBlocked( bool blocked );
+    void exitApplication();
+
+public slots:
+
+    void handleScanStarted();
+    void handleScanEnded( int count, int error );
+    void handleDiskEvent( MpxDiskEvents event );
+    void handleUsbEvent( MpxUsbEvents event );
+
+private:
+
+    void handleUsbMassStorageStartEvent();
+    void handleUsbMassStorageEndEvent();
+    void handleUsbMtpStartEvent();
+    void handleUsbMtpEndEvent();
+    void handleUsbMtpNotActive();
+
+    void changeUsbBlockingState( UsbBlockingState state );
+
+private:
+
+    Q_DISABLE_COPY( MpEngine )
+
+    MpMpxFrameworkWrapper       *mMpxWrapper;       // Own
+    MpSongScanner               *mSongScanner;      // Own
+    MpMediaKeyHandler           *mMediaKeyHandler;  // Own
+
+    HbNotificationDialog        *mUsbBlockingNote;  // Own
+    QTranslator                 *mMpTranslator;     // Own
+
+    UsbBlockingState            mUsbBlockingState;
+    UsbBlockingState            mPreviousUsbState;
+
+};
+
+#endif // MPENGINE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/mpmpxcommondefs.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player MPX common definitions.
+*
+*/
+
+#ifndef MPMPXCOMMONDEFS_H
+#define MPMPXCOMMONDEFS_H
+
+#include <QMetaType>
+
+// Disk events from MPX Framework.
+enum MpxDiskEvents {
+    DiskFormatStarted,
+    DiskFormatEnded,
+    DiskRemoved,
+    DiskInserted
+};
+// Register so type can be used in signal and slot connection
+Q_DECLARE_METATYPE(MpxDiskEvents)
+
+// USB events from MPX Framework.
+enum MpxUsbEvents {
+    UsbMassStorageStarted,
+    UsbMassStorageEnded,
+    UsbMtpStarted,
+    UsbMtpEnded,
+    UsbMtpNotActive
+};
+// Register so type can be used in signal and slot connection
+Q_DECLARE_METATYPE(MpxUsbEvents)
+
+#endif  // MPMPXCOMMONDEFS_H
+
--- a/inc/mpnowplayingwidget.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/inc/mpnowplayingwidget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -51,6 +51,7 @@
 private:
     void mousePressEvent( QGraphicsSceneMouseEvent *event );
     void mouseReleaseEvent( QGraphicsSceneMouseEvent *event );
+    void changeEvent(QEvent *event);
 
 private:
     Q_DISABLE_COPY(MpNowPlayingWidget)
--- a/inc/mpsettingsmanager.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/inc/mpsettingsmanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -43,15 +43,18 @@
     static bool firstStartup();
     static bool shuffle();
     static bool repeat();
+    static int preset();
 
 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);
         
 signals:
     void shuffleChanged(bool shuffle);
     void repeatChanged(bool repeat);
+    void presetChanged(int preset);
     
 private:
     Q_DISABLE_COPY(MpSettingsManager)
@@ -59,6 +62,7 @@
     bool mFirstStartup;
     bool mShuffle;
     bool mRepeat;
+    int  mPreset;
 };
 
 #endif    // MPSETTINGSMANAGER_H
--- a/inc/mpviewbase.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/inc/mpviewbase.h	Fri Apr 16 14:56:30 2010 +0300
@@ -30,6 +30,7 @@
 
     void setViewMode(MpCommon::MpViewMode viewMode) { mViewMode = viewMode; }
     MpCommon::MpViewMode viewMode() { return mViewMode; }
+    virtual void setDefaultView() { }
 
 signals:
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/bwins/mpengineu.def	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,31 @@
+EXPORTS
+	?metaObject@MpEngine@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * MpEngine::metaObject(void) const
+	?refreshLibrary@MpEngine@@QAEXXZ @ 2 NONAME ; void MpEngine::refreshLibrary(void)
+	?exitApplication@MpEngine@@IAEXXZ @ 3 NONAME ; void MpEngine::exitApplication(void)
+	?trUtf8@MpEngine@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString MpEngine::trUtf8(char const *, char const *, int)
+	?handleUsbEvent@MpEngine@@QAEXW4MpxUsbEvents@@@Z @ 5 NONAME ; void MpEngine::handleUsbEvent(enum MpxUsbEvents)
+	?handleUsbMassStorageStartEvent@MpEngine@@AAEXXZ @ 6 NONAME ; void MpEngine::handleUsbMassStorageStartEvent(void)
+	?tr@MpEngine@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString MpEngine::tr(char const *, char const *)
+	?getStaticMetaObject@MpEngine@@SAABUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const & MpEngine::getStaticMetaObject(void)
+	?qt_metacast@MpEngine@@UAEPAXPBD@Z @ 9 NONAME ; void * MpEngine::qt_metacast(char const *)
+	?handleDiskEvent@MpEngine@@QAEXW4MpxDiskEvents@@@Z @ 10 NONAME ; void MpEngine::handleDiskEvent(enum MpxDiskEvents)
+	?verifyUsbBlocking@MpEngine@@QAE_N_N@Z @ 11 NONAME ; bool MpEngine::verifyUsbBlocking(bool)
+	?handleUsbMassStorageEndEvent@MpEngine@@AAEXXZ @ 12 NONAME ; void MpEngine::handleUsbMassStorageEndEvent(void)
+	?usbBlocked@MpEngine@@IAEX_N@Z @ 13 NONAME ; void MpEngine::usbBlocked(bool)
+	?libraryRefreshed@MpEngine@@IAEXXZ @ 14 NONAME ; void MpEngine::libraryRefreshed(void)
+	??0MpEngine@@AAE@XZ @ 15 NONAME ; MpEngine::MpEngine(void)
+	?tr@MpEngine@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString MpEngine::tr(char const *, char const *, int)
+	?handleUsbMtpEndEvent@MpEngine@@AAEXXZ @ 17 NONAME ; void MpEngine::handleUsbMtpEndEvent(void)
+	?trUtf8@MpEngine@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString MpEngine::trUtf8(char const *, char const *)
+	?libraryAboutToRefresh@MpEngine@@IAEXXZ @ 19 NONAME ; void MpEngine::libraryAboutToRefresh(void)
+	?staticMetaObject@MpEngine@@2UQMetaObject@@B @ 20 NONAME ; struct QMetaObject const MpEngine::staticMetaObject
+	?handleScanEnded@MpEngine@@QAEXHH@Z @ 21 NONAME ; void MpEngine::handleScanEnded(int, int)
+	??_EMpEngine@@UAE@I@Z @ 22 NONAME ; MpEngine::~MpEngine(unsigned int)
+	??1MpEngine@@UAE@XZ @ 23 NONAME ; MpEngine::~MpEngine(void)
+	?handleUsbMtpStartEvent@MpEngine@@AAEXXZ @ 24 NONAME ; void MpEngine::handleUsbMtpStartEvent(void)
+	?changeUsbBlockingState@MpEngine@@AAEXW4UsbBlockingState@1@@Z @ 25 NONAME ; void MpEngine::changeUsbBlockingState(enum MpEngine::UsbBlockingState)
+	?instance@MpEngine@@SAPAV1@XZ @ 26 NONAME ; class MpEngine * MpEngine::instance(void)
+	?qt_metacall@MpEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int MpEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleScanStarted@MpEngine@@QAEXXZ @ 28 NONAME ; void MpEngine::handleScanStarted(void)
+	?handleUsbMtpNotActive@MpEngine@@AAEXXZ @ 29 NONAME ; void MpEngine::handleUsbMtpNotActive(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/eabi/mpengineu.def	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,31 @@
+EXPORTS
+	_ZN8MpEngine10usbBlockedEb @ 1 NONAME
+	_ZN8MpEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN8MpEngine11qt_metacastEPKc @ 3 NONAME
+	_ZN8MpEngine14handleUsbEventE12MpxUsbEvents @ 4 NONAME
+	_ZN8MpEngine14refreshLibraryEv @ 5 NONAME
+	_ZN8MpEngine15exitApplicationEv @ 6 NONAME
+	_ZN8MpEngine15handleDiskEventE13MpxDiskEvents @ 7 NONAME
+	_ZN8MpEngine15handleScanEndedEii @ 8 NONAME
+	_ZN8MpEngine16libraryRefreshedEv @ 9 NONAME
+	_ZN8MpEngine16staticMetaObjectE @ 10 NONAME DATA 16
+	_ZN8MpEngine17handleScanStartedEv @ 11 NONAME
+	_ZN8MpEngine17verifyUsbBlockingEb @ 12 NONAME
+	_ZN8MpEngine19getStaticMetaObjectEv @ 13 NONAME
+	_ZN8MpEngine20handleUsbMtpEndEventEv @ 14 NONAME
+	_ZN8MpEngine21libraryAboutToRefreshEv @ 15 NONAME
+	_ZN8MpEngine22changeUsbBlockingStateENS_16UsbBlockingStateE @ 16 NONAME
+	_ZN8MpEngine22handleUsbMtpStartEventEv @ 17 NONAME
+	_ZN8MpEngine28handleUsbMassStorageEndEventEv @ 18 NONAME
+	_ZN8MpEngine30handleUsbMassStorageStartEventEv @ 19 NONAME
+	_ZN8MpEngine8instanceEv @ 20 NONAME
+	_ZN8MpEngineC1Ev @ 21 NONAME
+	_ZN8MpEngineC2Ev @ 22 NONAME
+	_ZN8MpEngineD0Ev @ 23 NONAME
+	_ZN8MpEngineD1Ev @ 24 NONAME
+	_ZN8MpEngineD2Ev @ 25 NONAME
+	_ZNK8MpEngine10metaObjectEv @ 26 NONAME
+	_ZTI8MpEngine @ 27 NONAME
+	_ZTV8MpEngine @ 28 NONAME
+	_ZN8MpEngine21handleUsbMtpNotActiveEv @ 29 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpmediakeyhandler.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player media key handler.
+*
+*/
+
+#ifndef MPMEDIAKEYHANDLER_H
+#define MPMEDIAKEYHANDLER_H
+
+#include <qobject>
+
+class MpMediaKeyHandlerPrivate;
+
+class MpMediaKeyHandler : public QObject
+{
+    Q_OBJECT
+
+    friend class MpMediaKeyHandlerPrivate;
+
+public:
+
+    explicit MpMediaKeyHandler( QObject *parent = 0 );
+    virtual ~MpMediaKeyHandler();
+
+    void setEnabled( bool enable );
+
+signals:
+
+    void volumeChanged( int volume );
+    void errorOccured( int error );
+
+public slots:
+
+
+
+private:
+
+    Q_DISABLE_COPY(MpMediaKeyHandler)
+    MpMediaKeyHandlerPrivate *d_ptr;
+
+};
+
+#endif // MPMEDIAKEYHANDLER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpmediakeyhandler_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,188 @@
+/*
+* 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 key handler - private implementation.
+*
+*/
+
+#ifndef MPMEDIAKEYHANDLER_P_H
+#define MPMEDIAKEYHANDLER_P_H
+
+
+#include <remconcoreapitargetobserver.h>
+#include <mpxplaybackobserver.h>
+#include <mpxplaybackframeworkdefs.h>
+
+class CRemConInterfaceSelector;
+class MMPXPlaybackUtility;
+class MpMediaKeyHandler;
+class MpMediaKeyRemConResponse;
+
+class MpMediaKeyHandlerPrivate : public MRemConCoreApiTargetObserver,
+                                 public MMPXPlaybackCallback
+{
+public:
+
+    MpMediaKeyHandlerPrivate( MpMediaKeyHandler *wrapper );
+    virtual ~MpMediaKeyHandlerPrivate();
+
+    void init();
+    void setEnabled( bool enable );
+
+// From MRemConCoreApiTargetObserver
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A command has been received.
+     *
+     * @param aOperationId The operation ID of the command.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoCommand(
+        TRemConCoreApiOperationId aOperationId,
+        TRemConCoreApiButtonAction aButtonAct );
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A 'play' command has been received.
+     *
+     * @param aSpeed The playback speed.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoPlay(
+        TRemConCoreApiPlaybackSpeed aSpeed,
+        TRemConCoreApiButtonAction aButtonAct );
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A 'tune function' command has been received.
+     *
+     * @param aTwoPart Determine which channel to be used.
+     * @param aMajorChannel The major channel number.
+     * @param aMinorChannel The minor channel number.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoTuneFunction(
+        TBool aTwoPart,
+        TUint aMajorChannel,
+        TUint aMinorChannel,
+        TRemConCoreApiButtonAction aButtonAct );
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A 'select disk function' has been received.
+     *
+     * @param aDisk The disk.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoSelectDiskFunction(
+        TUint aDisk,
+        TRemConCoreApiButtonAction aButtonAct );
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A 'select AV input function' has been received.
+     *
+     * @param aAvInputSignalNumber The AV input.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoSelectAvInputFunction(
+        TUint8 aAvInputSignalNumber,
+        TRemConCoreApiButtonAction aButtonAct );
+
+    /**
+     * From MRemConCoreApiTargetObserver
+     * A 'select audio input function' has been received.
+     *
+     * @param aAudioInputSignalNumber The audio input.
+     * @param aButtonAct The button action associated with the command.
+     */
+    void MrccatoSelectAudioInputFunction(
+        TUint8 aAudioInputSignalNumber,
+        TRemConCoreApiButtonAction aButtonAct );
+
+// from base class MMPXPlaybackCallback
+
+    /**
+     * From MMPXPlaybackCallback
+     * Handle playback property
+     *
+     * @param aProperty the property
+     * @param aValue the value of the property
+     * @param aError error code
+     */
+    void HandlePropertyL( TMPXPlaybackProperty aProperty, TInt aValue, TInt aError );
+
+    /**
+     * From MMPXPlaybackCallback
+     * Method is called continously until aComplete=ETrue, signifying that
+     * it is done and there will be no more callbacks
+     * Only new items are passed each time
+     *
+     * @param aPlayer UID of the subplayer
+     * @param aSubPlayers a list of sub players
+     * @param aComplete ETrue no more sub players. EFalse more subplayer
+     *                  expected
+     * @param aError error code
+     */
+    void HandleSubPlayerNamesL(
+        TUid aPlayer,
+        const MDesCArray* aSubPlayers,
+        TBool aComplete,
+        TInt aError );
+
+    /**
+     * From MMPXPlaybackCallback
+     * Handle media properties
+     *
+     * @param aMedia media
+     * @param aError error code
+     */
+    void HandleMediaL( const CMPXMedia& aMedia, TInt aError );
+
+private:
+
+    void DoInitL();
+    void SendCommand( TMPXPlaybackCommand aCommandId );
+    void DoSendCommandL( TMPXPlaybackCommand aCommandId );
+
+    /**
+     * Callback for timer
+     *
+     * @param aPtr Pointer pass to this callback function.
+     * @return Zero if callback function doesn't need to be called again.
+     *         Otherwise, non-zero.
+     */
+    static TInt TimerCallback( TAny* aPtr );
+
+    /**
+     * Handle repeat event
+     */
+    void HandleRepeatEvent();
+
+private:
+
+    MpMediaKeyHandler *q_ptr;
+
+    CRemConInterfaceSelector    *iInterfaceSelector;   // owned
+    MpMediaKeyRemConResponse    *iResponseHandler;     // owned
+    CPeriodic                   *iTimer;               // owned
+
+    MMPXPlaybackUtility         *iPlaybackUtility;
+
+    TBool                       iIncreaseVol;
+    TBool                       iEnabled;
+
+};
+
+#endif // MPMEDIAKEYHANDLER_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpmediakeyremconresponse.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player media key handler.
+*              Helper class for sending response back to Remote Controller Framework.
+*
+*/
+
+#ifndef MPMEDIAKEYREMCONKEYRESPONSE_H
+#define MPMEDIAKEYREMCONKEYRESPONSE_H
+
+#include <remconcoreapitarget.h>
+
+
+NONSHARABLE_CLASS( MpMediaKeyRemConResponse ) : public CActive
+{
+public:
+
+    /**
+     * Two-phased constructor.
+     *
+     * @since 3.0
+     * @param aRemConCoreApiTarget RemCon core target object.
+     * @return Pointer to newly created object.
+     */
+    static MpMediaKeyRemConResponse* NewL( CRemConCoreApiTarget& aRemConCoreApiTarget );
+
+    /**
+     * Destructor.
+     */
+    virtual ~MpMediaKeyRemConResponse();
+
+    /**
+     * Send the any key response back to Remcon server
+     *
+     * @since 3.0
+     * @param aOperationId RemCon operation Id.
+     */
+    void CompleteAnyKey( TRemConCoreApiOperationId aOperationId );
+
+private:
+
+    /**
+     * C++ default constructor.
+     */
+    MpMediaKeyRemConResponse( CRemConCoreApiTarget& aRemConCoreApiTarget );
+
+// from base class CActive
+
+    /**
+     * From CActive
+     * Handles an active object's request completion event.
+     */
+    void RunL();
+
+    /**
+     * From CActive
+     * Implements cancellation of an outstanding request.
+     */
+    void DoCancel();
+
+private:    // Data
+
+    // Response array.
+    RArray<TRemConCoreApiOperationId> iResponseArray;   // Own
+    CRemConCoreApiTarget& iRemConCoreApiTarget;         // Not own
+};
+
+#endif  // MPMEDIAKEYREMCONKEYRESPONSE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpmpxframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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.
+*
+*/
+
+#ifndef MPMPXFRAMEWORKWRAPPER_H
+#define MPMPXFRAMEWORKWRAPPER_H
+
+#include <QObject>
+#include "mpmpxcommondefs.h"
+
+class MpMpxFrameworkWrapperPrivate;
+class MpSongScannerHelper;
+class HbNotificationDialog;
+class QStringList;
+class QTranslator;
+
+class MpMpxFrameworkWrapper : public QObject
+{
+    Q_OBJECT
+
+    friend class MpMpxFrameworkWrapperPrivate;
+
+public:
+
+    explicit MpMpxFrameworkWrapper( QObject *parent=0 );
+    virtual ~MpMpxFrameworkWrapper();
+
+    void scan();
+    void cancelScan();
+
+signals:
+
+    void scanStarted();
+    void scanEnded( int count, int error );
+    void scanCountChanged( int count );
+
+    void diskEvent( MpxDiskEvents event );
+    void usbEvent( MpxUsbEvents event );
+
+private:
+
+    Q_DISABLE_COPY( MpMpxFrameworkWrapper )
+    MpMpxFrameworkWrapperPrivate *d_ptr;
+
+};
+
+#endif // MPMPXFRAMEWORKWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpmpxframeworkwrapper_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Wrapper for mpx framework utilities - private implementation.
+*
+*/
+
+#ifndef MPMPXFRAMEWORKWRAPPER_P_H
+#define MPMPXFRAMEWORKWRAPPER_P_H
+
+#include <e32base.h>
+#include <mpxcollectionobserver.h>
+#include <mpxcollectionuihelperobserver.h>
+
+class MMPXCollectionUtility;
+class MMPXHarvesterUtility;
+class MpMpxFrameworkWrapper;
+class QStringList;
+
+
+class MpMpxFrameworkWrapperPrivate : public MMPXCollectionObserver
+{
+public:
+
+    explicit MpMpxFrameworkWrapperPrivate( MpMpxFrameworkWrapper *wrapper );
+    virtual ~MpMpxFrameworkWrapperPrivate();
+
+    void init();
+    void scan();
+    void cancelScan();
+
+private:
+
+    void HandleOpenL( const CMPXMedia& aEntries,
+                     TInt aIndex,TBool aComplete,TInt aError );
+    void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist,TInt aError );
+    void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );
+    void HandleCollectionMessage( CMPXMessage* aMsg, TInt aErr );
+
+    void DoInitL();
+    void DoScanL();
+    void DoCancelScanL();
+    void DoHandleCollectionMessageL( const CMPXMessage& aMsg );
+    TBool BroadcastEventFilter( TInt aMsg );
+
+private:
+
+    MpMpxFrameworkWrapper           *q_ptr;
+
+    MMPXCollectionUtility           *iCollectionUtility;
+    MMPXHarvesterUtility            *iHarvesterUtility;
+    TInt                            iNumItemsAdded;
+    TBool                           iScanning;
+    TInt                            iPreviousBroadCastMsg;
+
+};
+
+#endif // MPMPXFRAMEWORKWRAPPER_P_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/inc/mpsongscanner.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player song scanner.
+*
+*/
+
+
+#ifndef MPSONGSCANNER_H
+#define MPSONGSCANNER_H
+
+class MpMpxFrameworkWrapper;
+class HbProgressDialog;
+
+#include <QObject>
+#include "mpmpxcommondefs.h"
+
+class MpSongScanner : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    explicit MpSongScanner( MpMpxFrameworkWrapper *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:
+
+    MpMpxFrameworkWrapper       *mMpxWrapper;       // Not own
+    HbProgressDialog            *mScanProgressNote; // Own
+    TBool                       mScanning;
+
+};
+
+#endif // MPSONGSCANNER_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/mpengine.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Project file for Music Player Engine.
+#
+
+symbian:TARGET.UID3 = 0x10207C93
+
+TEMPLATE = lib
+CONFIG += hb
+TARGET = mpengine
+
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+INCLUDEPATH += . \
+    	inc \
+    	../inc
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
+
+LIBS += -lxqservice \
+    -lmpxplaybackutility.dll \
+    -lmpxcollectionutility.dll \
+    -lmpxharvesterutility.dll \
+    -lmpxcommon.dll \
+    -lremconcoreapi.dll \
+    -lremconinterfacebase.dll
+    
+symbian:TARGET.EPOCALLOWDLLDATA	= 1
+
+HEADERS += ../inc/mpengine.h \
+           inc/mpmpxframeworkwrapper.h \
+           inc/mpmpxframeworkwrapper_p.h \
+           inc/mpsongscanner.h \
+           inc/mpmediakeyhandler.h \
+           inc/mpmediakeyhandler_p.h\
+           inc/mpmediakeyremconresponse.h
+
+SOURCES += src/mpengine.cpp \
+           src/mpmpxframeworkwrapper.cpp \
+           src/mpmpxframeworkwrapper_p.cpp \
+           src/mpsongscanner.cpp \
+           src/mpmediakeyhandler.cpp \
+           src/mpmediakeyhandler_p.cpp \
+           src/mpmediakeyremconresponse.cpp
+
+DEFINES += BUILD_MPENGINE_LIB
+
+myDefInclude = "NOSTRICTDEF" \
+"$${LITERAL_HASH}if defined(WINS)"\
+"DEFFILE  bwins/mpengineu.def "\
+"$${LITERAL_HASH}else "\
+"DEFFILE  eabi/mpengineu.def "\
+"$${LITERAL_HASH}endif"
+MMP_RULES += myDefInclude
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/rom/mpengine.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -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 __MPENGINE_IBY__
+#define __MPENGINE_IBY__
+
+#include <bldvariant.hrh>
+
+file=ABI_DIR\BUILD_DIR\mpengine.dll          SHARED_LIB_DIR\mpengine.dll
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/rom/rom.pri	Fri Apr 16 14:56:30 2010 +0300
@@ -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/mpengine.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mpengine.iby)"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpengine.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,408 @@
+/*
+* 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 <QTranslator>
+#include <QLocale>
+#include <hbmessagebox.h>
+#include <hbnotificationdialog.h>
+#include <hbinstance.h>
+
+#include "mpengine.h"
+#include "mpmpxframeworkwrapper.h"
+#include "mpsongscanner.h"
+#include "mpmediakeyhandler.h"
+#include "mptrace.h"
+
+/*!
+    \class MpEngine
+    \brief Engine for musicplayer - mpx framework utilities.
+
+    MP Engine provides Qt style interface to the MPX framework
+    utilities. Its implementation is hidden using private class data pattern.
+*/
+
+/*!
+    \fn void scanStarted()
+
+    This signal is emitted when scan operation is started.
+
+ */
+
+/*!
+    \fn void scanEnded()
+
+    This signal is emitted when scan operation ends.
+
+ */
+
+/*!
+    \fn void scanCountChanged( int count )
+
+    This signal is emitted when scan count is updated.
+
+ */
+
+/*!
+    \fn void libraryRefreshed()
+
+    This signal is emitted when MpSongScannerHelper ends scanning,
+    or USB-MTP Synchronization finishes.
+
+ */
+
+/*!
+    \fn void formatStarted()
+
+    This signal is emitted when EMcMsgFormatStart is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void formatEnded()
+
+    This signal is emitted when EMcMsgFormatEnd is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void diskRemoved()
+
+    This signal is emitted when EMcMsgDiskRemoved is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void diskInserted()
+
+    This signal is emitted when EMcMsgDiskInserted is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void usbMassStorageStarted()
+
+    This signal is emitted when EMcMsgUSBMassStorageStart is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void usbMassStorageEnded()
+
+    This signal is emitted when EMcMsgUSBMassStorageEnd is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void usbMtpStarted()
+
+    This signal is emitted when EMcMsgUSBMtpStart is received from MPXCollectionUtility.
+
+ */
+
+/*!
+    \fn void usbMtpEnded()
+
+    This signal is emitted when EMcMsgUSBMtpEnd is received from MPXCollectionUtility.
+
+ */
+
+/*!
+ Constructs music player engine.
+ */
+MpEngine::MpEngine()
+    : mMpxWrapper(0),
+      mSongScanner(0),
+      mMediaKeyHandler(0),
+      mUsbBlockingNote(0),
+      mMpTranslator(0),
+      mUsbBlockingState(USB_NotConnected),
+      mPreviousUsbState(USB_NotConnected)
+{
+    TX_ENTRY
+
+    mMpxWrapper = new MpMpxFrameworkWrapper();
+    connect( mMpxWrapper, SIGNAL( scanStarted() ), this, SLOT( handleScanStarted() ) );
+    connect( mMpxWrapper, SIGNAL( scanEnded(int, int) ), this, SLOT( handleScanEnded(int, int) ) );
+    connect( mMpxWrapper, SIGNAL( diskEvent(MpxDiskEvents) ), this, SLOT( handleDiskEvent(MpxDiskEvents) ) );
+    connect( mMpxWrapper, SIGNAL( usbEvent(MpxUsbEvents) ), this, SLOT( handleUsbEvent(MpxUsbEvents) ) );
+
+    mSongScanner = new MpSongScanner( mMpxWrapper );
+    mMediaKeyHandler = new MpMediaKeyHandler();
+
+    //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 );
+    }
+
+    TX_EXIT
+}
+
+/*!
+ Destructs music player engine.
+ */
+MpEngine::~MpEngine()
+{
+    TX_ENTRY
+    delete mMpTranslator;
+    delete mSongScanner;
+    delete mMediaKeyHandler;
+    delete mUsbBlockingNote;
+    TX_EXIT
+}
+
+/*!
+ Returns the singleton instance of music player engine.
+ */
+MpEngine * MpEngine::instance()
+{
+    static MpEngine instance;
+    return &instance;
+}
+
+/*!
+ Refresh library by starting the scan.
+ If scanning is already ongoing, this request is ignored.
+ */
+void MpEngine::refreshLibrary()
+{
+    TX_ENTRY
+    emit libraryAboutToRefresh();
+    mSongScanner->scan();
+    TX_EXIT
+}
+
+/*!
+ \
+ 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 )
+{
+    TX_ENTRY
+    bool result( false );
+    if ( mUsbBlockingState == USB_Connected ) {
+        result = true;
+        if ( showMessage ) {
+            HbMessageBox dialog ( HbMessageBox::MessageTypeInformation );
+            dialog.setText( QString( tr( "USB connection in progress. Cannot proceed with operation" ) ) );
+            dialog.setModal( true );
+            dialog.exec();
+        }
+    }
+    TX_EXIT
+    return result;
+}
+
+/*!
+ Slot to be called when song scanning starts.
+ */
+void MpEngine::handleScanStarted() {
+    TX_ENTRY
+    mMediaKeyHandler->setEnabled(false);
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when song scanning ends.
+ */
+void MpEngine::handleScanEnded( int count, int error ) {
+    TX_ENTRY
+    Q_UNUSED( count );
+    Q_UNUSED( error );
+    mMediaKeyHandler->setEnabled(true);
+    emit libraryRefreshed();
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when disk event is received from MPX framework.
+ */
+void MpEngine::handleDiskEvent( MpxDiskEvents event )
+{
+    TX_ENTRY_ARGS("event=" << event);
+    switch ( event ) {
+        case DiskFormatStarted:
+            mMediaKeyHandler->setEnabled(false);
+            break;
+        case DiskFormatEnded:
+            mMediaKeyHandler->setEnabled(true);
+            break;
+        case DiskRemoved:
+            if ( mUsbBlockingState == USB_NotConnected ) {
+                emit exitApplication();
+            }
+            break;
+        case DiskInserted:
+            if ( mUsbBlockingState == USB_NotConnected ) {
+                refreshLibrary();
+            }
+            break;
+        default:
+            break;
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when USB event is received from MPX framework.
+ */
+void MpEngine::handleUsbEvent( MpxUsbEvents event )
+{
+    TX_ENTRY_ARGS("event=" << event);
+    switch ( event ) {
+        case UsbMassStorageStarted:
+            handleUsbMassStorageStartEvent();
+            break;
+        case UsbMassStorageEnded:
+            handleUsbMassStorageEndEvent();
+            break;
+        case UsbMtpStarted:
+            handleUsbMtpStartEvent();
+            break;
+        case UsbMtpEnded:
+            handleUsbMtpEndEvent();
+            break;
+        case UsbMtpNotActive:
+            handleUsbMtpNotActive();
+        default:
+            break;
+    }
+    TX_EXIT
+}
+
+/*!
+ To be called when EMcMsgUSBMassStorageStart event is received.
+ */
+void MpEngine::handleUsbMassStorageStartEvent()
+{
+    TX_ENTRY
+    mMediaKeyHandler->setEnabled(false);
+
+    changeUsbBlockingState( USB_Synchronizing );
+    emit usbBlocked(true);
+    
+    if ( !mUsbBlockingNote ) {
+        mUsbBlockingNote = new HbNotificationDialog();
+        mUsbBlockingNote->setText( QString( tr( "USB connection in progress" ) ) );
+        mUsbBlockingNote->setModal( true );
+        mUsbBlockingNote->setTimeout( HbPopup::NoTimeout );
+    }
+    mUsbBlockingNote->show();
+    TX_EXIT
+}
+
+/*!
+ To be called when EMcMsgUSBMassStorageEnd event is received.
+ */
+void MpEngine::handleUsbMassStorageEndEvent()
+{
+    TX_ENTRY
+    mMediaKeyHandler->setEnabled(true);    
+
+    changeUsbBlockingState( USB_NotConnected );
+    emit usbBlocked(false);
+    
+    if ( mUsbBlockingNote ) {
+        delete mUsbBlockingNote;
+        mUsbBlockingNote = 0;
+    }
+    HbMessageBox promptRefresh( HbMessageBox::MessageTypeQuestion );
+    promptRefresh.setText( QString( tr( "List may need refreshing due to recent USB synchronisation. Refresh now?" ) ) );
+    promptRefresh.setTimeout( HbPopup::NoTimeout );
+    promptRefresh.setModal( true );
+    HbAction *action = promptRefresh.exec();
+    if ( action == promptRefresh.primaryAction() ) {
+        refreshLibrary();
+    }
+    TX_EXIT
+}
+
+/*!
+ To be called when EMcMsgUSBMTPStart event is received.
+ */
+void MpEngine::handleUsbMtpStartEvent()
+{
+    TX_ENTRY
+    mMediaKeyHandler->setEnabled(false);
+    
+    changeUsbBlockingState( USB_Synchronizing );
+    emit usbBlocked(true);
+    
+    if ( !mUsbBlockingNote ) {
+        mUsbBlockingNote = new HbNotificationDialog();
+        mUsbBlockingNote->setText( QString( tr( "USB connection in progress" ) ) );
+        mUsbBlockingNote->setModal( true );
+        mUsbBlockingNote->setTimeout( HbPopup::NoTimeout );
+    }
+    mUsbBlockingNote->show();
+    TX_EXIT
+}
+
+/*!
+ To be called when EMcMsgUSBMTPEnd event is received.
+ */
+void MpEngine::handleUsbMtpEndEvent()
+{
+    TX_ENTRY
+    mMediaKeyHandler->setEnabled(true);    
+
+    changeUsbBlockingState( USB_NotConnected );
+    emit usbBlocked(false);
+    
+    if ( mUsbBlockingNote ) {
+        delete mUsbBlockingNote;
+        mUsbBlockingNote = 0;
+    }
+    if ( mPreviousUsbState == USB_Synchronizing ) {
+        emit libraryRefreshed();
+    }
+    TX_EXIT
+}
+
+/*!
+ To be called when EMcMsgUSBMTPNotActive event is received.
+ */
+void MpEngine::handleUsbMtpNotActive()
+{
+    TX_ENTRY
+
+    changeUsbBlockingState( USB_Connected );
+    emit usbBlocked(true);
+
+    TX_EXIT
+}
+
+/*!
+ Internal
+ Update the new and previous usb blocking state
+ */
+void MpEngine::changeUsbBlockingState( UsbBlockingState state )
+{
+    TX_ENTRY
+
+    mPreviousUsbState = mUsbBlockingState;
+    mUsbBlockingState = state;
+
+    TX_EXIT
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpmediakeyhandler.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player media key handler.
+*
+*/
+
+#include "mpmediakeyhandler.h"
+#include "mpmediakeyhandler_p.h"
+#include "mpengine.h"
+#include "mptrace.h"
+
+// ---------------------------------------------------------------------------
+// MpMediaKeyHandler()
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyHandler::MpMediaKeyHandler( QObject *parent )
+    : QObject(parent)
+{
+    TX_ENTRY
+    d_ptr = new MpMediaKeyHandlerPrivate(this);
+    d_ptr->init();
+    TX_EXIT
+}
+
+// ---------------------------------------------------------------------------
+// ~MpMediaKeyHandler()
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyHandler::~MpMediaKeyHandler()
+{
+    TX_ENTRY
+    delete d_ptr;
+    TX_EXIT
+}
+
+// ---------------------------------------------------------------------------
+// setEnabled()
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandler::setEnabled( bool enable )
+{
+    d_ptr->setEnabled( enable );
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpmediakeyhandler_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,453 @@
+/*
+* 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 key handler - private implementation.
+*
+*/
+
+#include "mpmediakeyhandler_p.h"
+#include "mpmediakeyhandler.h"
+#include "mpmediakeyremconresponse.h"
+#include "mpcommondefs.h"
+
+//symbian header files
+#include <remconcoreapitarget.h>
+#include <remconinterfaceselector.h>
+
+//mpx header files
+#include <mpxplaybackutility.h>
+#include <mpxplaybackcommanddefs.h>
+#include <mpxplaybackmessagedefs.h>
+#include <mpxlog.h>
+
+const TInt KFirstTimerExpiryInterval( 1 ); // Expire immediately
+const TInt KTimerExpiryInterval( 1000000/6 );
+
+// ---------------------------------------------------------------------------
+// MpMediaKeyHandlerPrivate()
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyHandlerPrivate::MpMediaKeyHandlerPrivate( MpMediaKeyHandler *wrapper )
+    : q_ptr( wrapper ),
+      iInterfaceSelector(NULL),
+      iResponseHandler(NULL),
+      iTimer(NULL),
+      iPlaybackUtility(NULL),
+      iEnabled(ETrue)
+{
+}
+
+// ---------------------------------------------------------------------------
+// ~MpMediaKeyHandlerPrivate()
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyHandlerPrivate::~MpMediaKeyHandlerPrivate()
+{
+    if ( iPlaybackUtility ) {
+        //TRAP_IGNORE( iPlaybackUtility->RemoveObserverL( *this ) );
+        iPlaybackUtility->Close();
+    }
+
+    delete iResponseHandler;
+    delete iInterfaceSelector;
+
+    if ( iTimer ) {
+        iTimer->Cancel();
+        delete iTimer;
+    }
+
+}
+
+// ---------------------------------------------------------------------------
+// init
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::init()
+{
+    TRAPD(err, DoInitL());
+    if ( err != KErrNone ) {
+        emit q_ptr->errorOccured(err);
+    }
+
+}
+
+// ---------------------------------------------------------------------------
+// setEnabled
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::setEnabled( bool enable )
+{
+    iEnabled = enable;
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A command has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoCommand(
+    TRemConCoreApiOperationId aOperationId,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    MPX_DEBUG3( "MpMediaKeyHandlerPrivate::MrccatoCommand(aOperationId=%d, aButtonAct=%d)",
+        aOperationId, aButtonAct );
+
+    switch ( aOperationId ) {
+    case ERemConCoreApiPausePlayFunction:
+        if ( aButtonAct == ERemConCoreApiButtonClick ) {
+            SendCommand( EPbCmdPlayPause );
+        }
+        break;
+    case ERemConCoreApiPlay:
+        if ( aButtonAct == ERemConCoreApiButtonClick
+             || aButtonAct == ERemConCoreApiButtonPress ) {
+            SendCommand( EPbCmdPlay );
+        }
+        break;
+    case ERemConCoreApiStop:
+        if ( aButtonAct == ERemConCoreApiButtonClick
+             || aButtonAct == ERemConCoreApiButtonPress ) {
+            SendCommand( EPbCmdStop );
+        }
+        break;
+    case ERemConCoreApiPause:
+        if ( aButtonAct == ERemConCoreApiButtonClick
+             || aButtonAct == ERemConCoreApiButtonPress ) {
+            SendCommand( EPbCmdPause );
+        }
+        break;
+    case ERemConCoreApiRewind:
+        switch ( aButtonAct ) {
+        case ERemConCoreApiButtonPress:
+            SendCommand( EPbCmdStartSeekBackward );
+            break;
+        case ERemConCoreApiButtonRelease:
+            SendCommand( EPbCmdStopSeeking );
+            break;
+        default:
+            break;
+        }
+        break;
+    case ERemConCoreApiFastForward:
+        switch ( aButtonAct ) {
+        case ERemConCoreApiButtonPress:
+            SendCommand( EPbCmdStartSeekForward );
+            break;
+        case ERemConCoreApiButtonRelease:
+            SendCommand( EPbCmdStopSeeking );
+            break;
+        default:
+            break;
+        }
+        break;
+    case ERemConCoreApiBackward:
+        if ( aButtonAct == ERemConCoreApiButtonClick ) {
+            SendCommand( EPbCmdPrevious );
+        }
+        break;
+    case ERemConCoreApiForward:
+        if ( aButtonAct == ERemConCoreApiButtonClick ) {
+            SendCommand( EPbCmdNext );
+        }
+        break;
+    case ERemConCoreApiVolumeUp:
+        iTimer->Cancel();
+        iIncreaseVol = ETrue;
+        switch ( aButtonAct ) {
+        case ERemConCoreApiButtonPress:
+            //Start Timer
+            iTimer->Start(
+                KFirstTimerExpiryInterval,
+                KTimerExpiryInterval,
+                TCallBack( TimerCallback, this ) );
+            break;
+        case ERemConCoreApiButtonClick:
+            SendCommand( EPbCmdIncreaseVolume );
+            break;
+        case ERemConCoreApiButtonRelease:
+        default:
+            break;
+        }
+        break;
+    case ERemConCoreApiVolumeDown:
+        iTimer->Cancel();
+        iIncreaseVol = EFalse;
+        switch ( aButtonAct ) {
+        case ERemConCoreApiButtonPress:
+            //Start Timer
+            iTimer->Start(
+                KFirstTimerExpiryInterval,
+                KTimerExpiryInterval,
+                TCallBack( TimerCallback, this ) );
+            break;
+        case ERemConCoreApiButtonClick:
+            SendCommand( EPbCmdDecreaseVolume );
+            break;
+        case ERemConCoreApiButtonRelease:
+        default:
+            break;
+        }
+        break;
+    default:
+        break;
+    }
+    iResponseHandler->CompleteAnyKey( aOperationId );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A 'play' command has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoPlay(
+    TRemConCoreApiPlaybackSpeed aSpeed,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    MPX_DEBUG2( "MpMediaKeyHandlerPrivate::MrccatoPlay(aButtonAct=%d)", aButtonAct );
+    Q_UNUSED(aSpeed);
+
+    if ( ( aButtonAct == ERemConCoreApiButtonClick ) ||
+        ( aButtonAct == ERemConCoreApiButtonPress ) )
+        {
+        SendCommand( EPbCmdPlay );
+        }
+    iResponseHandler->CompleteAnyKey( ERemConCoreApiPlay );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A 'tune function' command has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoTuneFunction(
+    TBool aTwoPart,
+    TUint aMajorChannel,
+    TUint aMinorChannel,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    Q_UNUSED(aTwoPart);
+    Q_UNUSED(aMajorChannel);
+    Q_UNUSED(aMinorChannel);
+    Q_UNUSED(aButtonAct);
+
+    iResponseHandler->CompleteAnyKey( ERemConCoreApiTuneFunction );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A 'select disk function' has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoSelectDiskFunction(
+    TUint aDisk,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    Q_UNUSED(aDisk);
+    Q_UNUSED(aButtonAct);
+
+    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectDiskFunction );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A 'select AV input function' has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoSelectAvInputFunction(
+    TUint8 aAvInputSignalNumber,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    Q_UNUSED(aAvInputSignalNumber);
+    Q_UNUSED(aButtonAct);
+
+    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectAvInputFunction );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MRemConCoreApiTargetObserver
+// A 'select audio input function' has been received.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::MrccatoSelectAudioInputFunction(
+    TUint8 aAudioInputSignalNumber,
+    TRemConCoreApiButtonAction aButtonAct )
+{
+    Q_UNUSED(aAudioInputSignalNumber);
+    Q_UNUSED(aButtonAct);
+
+    iResponseHandler->CompleteAnyKey( ERemConCoreApiSelectAudioInputFunction );
+
+}
+
+// ---------------------------------------------------------------------------
+// From MMPXPlaybackCallback
+// Handle playback property.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::HandlePropertyL(
+    TMPXPlaybackProperty aProperty,
+    TInt aValue,
+    TInt aError )
+{
+    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoHandlePropertyL" );
+    MPX_DEBUG4( "MpMediaKeyHandlerPrivate::HandlePropertyL - Property(%d); Value(%d); Error(%d)", aProperty, aValue, aError );
+
+    if ( KErrNone == aError ) {
+        switch ( aProperty  ) {
+        case EPbPropertyVolume:
+            q_ptr->emit volumeChanged(aValue);
+            break;
+        case EPbPropertyPosition:
+        case EPbPropertyMaxVolume:
+        case EPbPropertyMute:
+        default:
+            break;
+        }
+    }
+
+}
+
+// ---------------------------------------------------------------------------
+// From MMPXPlaybackCallback
+// HandleSubPlayerNamesL
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::HandleSubPlayerNamesL(
+    TUid aPlayer,
+    const MDesCArray* aSubPlayers,
+    TBool aComplete,
+    TInt aError )
+{
+    MPX_FUNC( "MpMediaKeyHandlerPrivate::HandleSubPlayerNamesL" );
+    Q_UNUSED(aPlayer);
+    Q_UNUSED(aSubPlayers);
+    Q_UNUSED(aComplete);
+    Q_UNUSED(aError);
+
+}
+
+// ---------------------------------------------------------------------------
+// From MMPXPlaybackCallback
+// Handle media properties.
+// Notes: The client is responsible for delete the object of aMedia.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::HandleMediaL(
+    const CMPXMedia& aMedia,
+    TInt aError )
+{
+    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoHandleMediaL" );
+    Q_UNUSED(aMedia);
+    Q_UNUSED(aError);
+
+}
+
+// ---------------------------------------------------------------------------
+// DoInitL()
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::DoInitL()
+{
+    // Register to remote control framework
+    iInterfaceSelector = CRemConInterfaceSelector::NewL();
+    CRemConCoreApiTarget *coreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this );
+    CleanupStack::PushL( coreTarget );
+    iInterfaceSelector->OpenTargetL();
+    iResponseHandler = MpMediaKeyRemConResponse::NewL( *coreTarget );
+    CleanupStack::Pop(coreTarget);
+
+    // Timer for implementing repeat
+    iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+
+    // Get the playback utility instance from engine.
+    iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid(MpCommon::KMusicPlayerUid) );
+    //iPlaybackUtility->AddObserverL( *this );
+
+    iEnabled = ETrue;
+}
+
+// ---------------------------------------------------------------------------
+// Send command to playback utility.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::SendCommand( TMPXPlaybackCommand aCommandId )
+{
+    MPX_FUNC( "MpMediaKeyHandlerPrivate::SendCommand" );
+    TRAP_IGNORE( DoSendCommandL( aCommandId ) );
+
+}
+
+// ---------------------------------------------------------------------------
+// Send command to playback utility.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::DoSendCommandL( TMPXPlaybackCommand aCommandId )
+{
+    MPX_FUNC( "MpMediaKeyHandlerPrivate::DoFilterAndSendCommandL" );
+
+    if ( iEnabled )
+    {
+        TMPXPlaybackState playerState( iPlaybackUtility->StateL() );
+
+        switch ( aCommandId ) {
+        case EPbCmdIncreaseVolume:
+            if ( EPbStatePlaying == playerState ) {
+                iPlaybackUtility->CommandL( EPbCmdIncreaseVolume );
+            }
+            break;
+        case EPbCmdDecreaseVolume:
+            if ( EPbStatePlaying == playerState ) {
+                iPlaybackUtility->CommandL( EPbCmdDecreaseVolume );
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+}
+
+// ---------------------------------------------------------------------------
+// Callback for timer
+// ---------------------------------------------------------------------------
+//
+TInt MpMediaKeyHandlerPrivate::TimerCallback( TAny* aPtr )
+{
+
+    static_cast<MpMediaKeyHandlerPrivate*>( aPtr )->HandleRepeatEvent();
+
+
+    return KErrNone;
+}
+
+// ---------------------------------------------------------------------------
+// Handle repeat event
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyHandlerPrivate::HandleRepeatEvent()
+{
+
+    if ( iIncreaseVol ) {
+        SendCommand( EPbCmdIncreaseVolume );
+    }
+    else {
+        SendCommand( EPbCmdDecreaseVolume );
+    }
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpmediakeyremconresponse.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player media key handler.
+*              Helper class for sending response back to Remote Controller Framework.
+*
+*/
+
+// INCLUDE FILES
+#include "mpmediakeyremconresponse.h"
+#include "mpxlog.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyRemConResponse::MpMediaKeyRemConResponse(
+    CRemConCoreApiTarget& aRemConCoreApiTarget )
+    : CActive( CActive::EPriorityStandard ),
+      iRemConCoreApiTarget( aRemConCoreApiTarget )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyRemConResponse* MpMediaKeyRemConResponse::NewL(
+    CRemConCoreApiTarget& aRemConCoreApiTarget )
+    {
+    MpMediaKeyRemConResponse* self =
+        new (ELeave) MpMediaKeyRemConResponse( aRemConCoreApiTarget );
+
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+MpMediaKeyRemConResponse::~MpMediaKeyRemConResponse()
+    {
+    Cancel();
+    iResponseArray.Close();
+    }
+
+// ---------------------------------------------------------------------------
+// Send the any key response back to Remcon server
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyRemConResponse::CompleteAnyKey(
+    TRemConCoreApiOperationId aOperationId )
+    {
+    if ( !IsActive() )
+        {
+        switch ( aOperationId )
+            {
+            case ERemConCoreApiVolumeUp:
+                {
+                iRemConCoreApiTarget.VolumeUpResponse( iStatus, KErrNone );
+                SetActive();
+                break;
+                }
+            case ERemConCoreApiVolumeDown:
+                {
+                iRemConCoreApiTarget.VolumeDownResponse( iStatus, KErrNone );
+                SetActive();
+                break;
+                }
+            default:
+                {
+                TInt error = KErrNone;
+                iRemConCoreApiTarget.SendResponse(
+                    iStatus, aOperationId, error );
+                SetActive();
+                break;
+                }
+            }
+        }
+    // already active. Append to array and complete later.
+    else
+        {
+        iResponseArray.Append( aOperationId );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Implements cancellation of an outstanding request.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyRemConResponse::DoCancel()
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// Handles an active object's request completion event.
+// ---------------------------------------------------------------------------
+//
+void MpMediaKeyRemConResponse::RunL()
+    {
+    MPX_DEBUG2( "MpMediaKeyRemConResponse.RunL() -- iStatus=%d", iStatus.Int() );
+
+    // if any existing -> Send response
+    if ( iResponseArray.Count() )
+        {
+        CompleteAnyKey( iResponseArray[0] );
+        // Remove already completed key
+        iResponseArray.Remove( 0 );
+        iResponseArray.Compress();
+        }
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpmpxframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Wrapper for mpx framework utilities.
+*
+*/
+
+#include "mpmpxframeworkwrapper.h"
+#include "mpmpxframeworkwrapper_p.h"
+
+/*!
+    \class MpMpxFrameworkWrapper
+    \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.
+*/
+
+/*!
+    \fn void scanStarted()
+
+    This signal is emitted when scan operation is started.
+
+ */
+
+/*!
+    \fn void scanEnded( int count, int error )
+
+    This signal is emitted when scan operation ends. It indicates the number
+    of songs added and whether there was an error.
+
+ */
+
+/*!
+    \fn void scanCountChanged( int count )
+
+    This signal is emitted when scan count is updated.
+
+ */
+
+/*!
+    \fn void diskEvent( MpxDiskEvent event )
+
+    This signal is emitted when a disk event is received from MPX framework.
+
+ */
+
+ /*!
+     \fn void usbEvent( MpxUsbEvent event )
+
+     This signal is emitted when an USB event is received from MPX framework.
+
+ */
+
+/*!
+ Constructs the utility wrapper.
+ */
+MpMpxFrameworkWrapper::MpMpxFrameworkWrapper( QObject *parent )
+    : QObject( parent )
+{
+    d_ptr = new MpMpxFrameworkWrapperPrivate( this );
+    d_ptr->init();
+}
+
+/*!
+ Destructs the utility wrapper.
+ */
+MpMpxFrameworkWrapper::~MpMpxFrameworkWrapper()
+{
+    delete d_ptr;
+}
+
+/*!
+ Initiates song scanning.
+ */
+void MpMpxFrameworkWrapper::scan()
+{
+    d_ptr->scan();
+}
+
+/*!
+ Cancels ongoing song scanning.
+ */
+void MpMpxFrameworkWrapper::cancelScan()
+{
+    d_ptr->cancelScan();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpmpxframeworkwrapper_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,297 @@
+/*
+* 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 - private implementation.
+*
+*/
+
+#include <QStringList>
+
+#include <s32strm.h>
+#include <s32mem.h>
+#include <apgcli.h>
+#include <apacmdln.h>
+
+#include <mpxcollectionutility.h>
+#include <mpxharvesterutility.h>
+#include <mpxcollectionmessage.h>
+#include <mpxmessagecontainerdefs.h>
+#include <mpxmessagegeneraldefs.h>
+#include <mpxcollectionmessagedefs.h>
+#include <mpxlog.h>
+
+#include "mpmpxframeworkwrapper.h"
+#include "mpmpxframeworkwrapper_p.h"
+#include "mptrace.h"
+
+/*!
+    \class MpMpxFrameworkWrapperPrivate
+    \brief Wrapper for mpx framework utilities - private implementation.
+
+    This is a private implementation of the mpx framework wrapper utilties interface.
+*/
+
+const int NoPreviousBroadCastMsg = -1;
+
+/*!
+ \internal
+ */
+MpMpxFrameworkWrapperPrivate::MpMpxFrameworkWrapperPrivate( MpMpxFrameworkWrapper *wrapper )
+    : q_ptr(wrapper),
+      iCollectionUtility(0),
+      iHarvesterUtility(0),
+      iNumItemsAdded(0),
+      iScanning( EFalse ),
+      iPreviousBroadCastMsg( NoPreviousBroadCastMsg )
+{
+    TX_LOG
+}
+
+/*!
+ \internal
+ */
+MpMpxFrameworkWrapperPrivate::~MpMpxFrameworkWrapperPrivate()
+{
+    TX_ENTRY
+    if ( iCollectionUtility ) {
+        iCollectionUtility->Collection().CancelRequest();
+        iCollectionUtility->Close();
+    }
+
+    if ( iHarvesterUtility ) {
+        iHarvesterUtility->Close();
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::init()
+{
+    TRAPD( err, DoInitL() );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::scan()
+{
+    TRAPD( err, DoScanL() );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::cancelScan()
+{
+    TRAPD( err, DoCancelScanL() );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::HandleOpenL(
+    const CMPXMedia& aEntries,
+    TInt aIndex,
+    TBool aComplete,
+    TInt aError )
+{
+    Q_UNUSED( aIndex );
+    Q_UNUSED( aComplete );
+    Q_UNUSED( aError );
+    Q_UNUSED( aEntries );
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::HandleOpenL(
+    const CMPXCollectionPlaylist& aPlaylist,
+    TInt aError )
+{
+    Q_UNUSED( aPlaylist );
+    Q_UNUSED( aError );
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::HandleCollectionMediaL(
+    const CMPXMedia& aMedia,
+    TInt aError )
+{
+    Q_UNUSED( aMedia );
+    Q_UNUSED( aError );
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::HandleCollectionMessage(
+    CMPXMessage* aMsg,
+    TInt aErr )
+{
+    TX_ENTRY_ARGS( "aErr=" << aErr );
+    if ( aErr == KErrNone && aMsg ) {
+        TRAP_IGNORE( DoHandleCollectionMessageL(*aMsg) );
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoInitL()
+{
+    TX_ENTRY
+    iCollectionUtility = MMPXCollectionUtility::NewL( this, KMcModeDefault );
+
+    iHarvesterUtility = CMPXHarvesterFactory::NewL();
+    iHarvesterUtility->CheckForSystemEventsL();
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoScanL()
+{
+    TX_ENTRY
+    iNumItemsAdded = 0;
+    iHarvesterUtility->ScanL();
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoCancelScanL()
+{
+    TX_ENTRY
+    // If harvester crashes, restart it.
+    TRAPD( err, iHarvesterUtility->CancelScanL() );
+    if ( err != KErrNone ) {
+        iHarvesterUtility->Close();
+        iHarvesterUtility = NULL;
+        iHarvesterUtility = CMPXHarvesterFactory::NewL();
+        iHarvesterUtility->CheckForSystemEventsL();
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoHandleCollectionMessageL(
+    const CMPXMessage& aMsg )
+{
+    TX_ENTRY
+    TMPXMessageId id( aMsg.ValueTObjectL<TMPXMessageId>( KMPXMessageGeneralId ) );
+    if ( KMPXMessageGeneral == id ) {
+        TInt event( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralEvent ) );
+        TInt type( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralType ) );
+        TInt data( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralData ) );
+        TX_LOG_ARGS( "event=" << event << ", type=" << type << ", data=" << data );
+
+        if ( event == TMPXCollectionMessage::EBroadcastEvent &&
+            BroadcastEventFilter( type ) ) {
+            switch ( type ) {
+                case EMcMsgFormatStart:
+                    emit q_ptr->diskEvent(DiskFormatStarted);
+                    break;
+                case EMcMsgFormatEnd:
+                    emit q_ptr->diskEvent(DiskFormatEnded);
+                    break;
+                case EMcMsgDiskRemoved:
+                    emit q_ptr->diskEvent(DiskRemoved);
+                    break;
+                case EMcMsgDiskInserted:
+                    emit q_ptr->diskEvent(DiskInserted);
+                    break;
+                case EMcMsgUSBMassStorageStart:
+                    emit q_ptr->usbEvent(UsbMassStorageStarted);
+                    break;
+                case EMcMsgUSBMassStorageEnd:
+                    emit q_ptr->usbEvent(UsbMassStorageEnded);
+                    break;
+                case EMcMsgUSBMTPStart:
+                    emit q_ptr->usbEvent(UsbMtpStarted);
+                    break;
+                case EMcMsgUSBMTPEnd:
+                    emit q_ptr->usbEvent(UsbMtpEnded);
+                    break;
+                case EMcMsgUSBMTPNotActive:
+                    emit q_ptr->usbEvent(UsbMtpNotActive);
+                    break;
+                case EMcMsgRefreshStart:
+                    iScanning = ETrue;
+                    emit q_ptr->scanStarted();
+                    break;
+                case EMcMsgRefreshEnd:
+                    iScanning = EFalse;
+                    emit q_ptr->scanEnded( iNumItemsAdded, data );
+                    break;
+                default:
+                    break;
+            }
+        }
+    }
+    else if( KMPXMessageIdItemChanged == id && iScanning ) {
+        if ( aMsg.IsSupported( KMPXMessageArrayContents ) ) {
+            // Loop through messages for arrays
+            const CMPXMessageArray* messageArray =
+                        aMsg.Value<CMPXMessageArray>( KMPXMessageArrayContents );
+            User::LeaveIfNull( const_cast<CMPXMessageArray*>( messageArray ) );
+
+            for ( TInt i=0; i<messageArray->Count(); ++i ) {
+                  HandleCollectionMessage( messageArray->AtL( i ), KErrNone );
+            }
+            emit q_ptr->scanCountChanged( iNumItemsAdded );
+        }
+        else {
+            // Single item
+            TMPXChangeEventType changeType( aMsg.ValueTObjectL<TMPXChangeEventType>( KMPXMessageChangeEventType ) );
+            TMPXGeneralCategory cat( aMsg.ValueTObjectL<TMPXGeneralCategory>( KMPXMessageMediaGeneralCategory ) );
+            if( changeType == EMPXItemInserted &&
+                ( cat == EMPXSong || cat == EMPXPlaylist || cat == EMPXPodcast ) ) {
+                iNumItemsAdded++;
+            }
+        }
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ Returns false if same event has been received more than once
+ */
+TBool MpMpxFrameworkWrapperPrivate::BroadcastEventFilter( TInt aMsg )
+{
+    if ( aMsg != iPreviousBroadCastMsg ) {
+        iPreviousBroadCastMsg = aMsg;
+        return true;
+    }
+
+    return false;    
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/src/mpsongscanner.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* 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.
+*
+*/
+
+#include <hbprogressdialog.h>
+#include <hbnotificationdialog.h>
+#include <hblabel.h>
+#include <hbfontspec.h>
+
+#include "mpsongscanner.h"
+#include "mpmpxframeworkwrapper.h"
+#include "mptrace.h"
+
+/*!
+    \class MpSongScanner
+    \brief Music Player song scanner.
+
+    Song scanner interfaces with MPX Harvesting Framework to harvest
+    music files in the device.
+*/
+
+/*!
+ \fn void scanEnd()
+
+ This signal is emitted when scanning is ended.
+
+ \sa scan()
+*/
+
+/*!
+ Constructs the song scanner.
+ */
+MpSongScanner::MpSongScanner( MpMpxFrameworkWrapper *wrapper, QObject *parent )
+    : QObject( parent ),
+      mMpxWrapper(wrapper),
+      mScanProgressNote(0),
+      mScanning(false)
+{
+    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)) );
+    TX_EXIT
+}
+
+/*!
+ Destructs the song scanner.
+ */
+MpSongScanner::~MpSongScanner()
+{
+    TX_LOG
+}
+
+/*!
+ Initiates song scanning.
+ */
+void MpSongScanner::scan()
+{
+    if ( !mScanning ) {
+        mScanning = true;
+        mMpxWrapper->scan();
+    }
+}
+
+/*!
+ Returns true if scanning is ongoing.
+ */
+bool MpSongScanner::isScanning()
+{
+    return mScanning;
+}
+
+/*!
+ Cancels ongoing song scanning, if any.
+
+ \sa scan()
+ */
+void MpSongScanner::cancelScan()
+{
+    if ( mScanning ) {
+        mScanning = false;
+        mMpxWrapper->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->setTextAlignment( Qt::AlignCenter );
+    mScanProgressNote->setText( QString("") );
+    mScanProgressNote->setAttribute( Qt::WA_DeleteOnClose );
+    mScanProgressNote->show();
+}
+
+/*!
+ Slot called upon notification from MPX Harvesting FW indicating end of
+ scanning process.
+ */
+void MpSongScanner::handleScanEnded( int numItemsAdded, int error )
+{
+    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" ) );
+    }
+    else if ( mScanning ) {
+        if ( mScanProgressNote ) {     
+            mScanProgressNote->cancel();
+        }
+        finishedDialog->setIcon( HbIcon( QString("qtg_large_ok") ) );
+        finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_complete" ) );
+    }
+    else {
+        finishedDialog->setIcon( HbIcon( QString("qtg_small_fail") ) );
+        finishedDialog->setTitle( hbTrId( "txt_mus_dpophead_refresh_cancelled" ) );
+    }
+    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 );
+    }
+}
+
+/*!
+ Slot to be called when disk event is received from MPX framework.
+ */
+void MpSongScanner::handleDiskEvent( MpxDiskEvents event )
+{
+    Q_UNUSED( event );
+    if ( mScanning ) {
+        if ( mScanProgressNote ) {
+            mScanProgressNote->cancel();
+        }
+        mScanning = false;
+        // AK - Should we show a dialog?
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot used to clear mScanProgressNote when dialog is closing.
+ */
+void MpSongScanner::handleProgressNoteClosing()
+{
+    mScanProgressNote = 0;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/inc/unittest_mpmediakeyhandler.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for mpmediakeyhandler
+*
+*/
+
+#ifndef TESTMPMEDIAKEYHANDLER_H
+#define TESTMPMEDIAKEYHANDLER_H
+
+#include <QtTest/QtTest>
+
+class MpMediaKeyHandler;
+class MpMediaKeyHandlerPrivate;
+
+class TestMpMediaKeyHandler : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    TestMpMediaKeyHandler();
+    virtual ~TestMpMediaKeyHandler();
+
+// from QtTest
+public slots:
+
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+// internal
+private slots:
+
+    void testConstructor();
+    void testDestructor();
+    void testConstructorFail();
+    void testDestructorFail();
+    void testCommandVolumeUpKey();
+    void testCommandVolumeDownKey();
+    void testCommandPlayKey();
+    void testCommandPauseKey();
+    void testCommandPlayPauseKey();
+    void testCommandStopKey();
+    void testCommandFastForwardKeyPress();
+    void testCommandFastForwardKeyRelease();
+    void testCommandRewindKeyPress();
+    void testCommandRewindKeyRelease();
+    void testCommandForwardKey();
+    void testCommandBackwardKey();
+    
+    void testPlay();
+    void testAudioInputFunction();
+    void testSelectAvInputFunction();
+    void testSelectDiskFunction();
+    void testTuneFunction();
+
+private:
+    
+    MpMediaKeyHandler           *mTest;
+    MpMediaKeyHandlerPrivate    *mTestPrivate;
+
+};
+
+#endif  // TESTMPMEDIAKEYHANDLER_H
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/src/unittest_mpmediakeyhandler.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,396 @@
+/**
+* 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 mpmediakeyhandler
+*
+*/
+
+#include <QSignalSpy>
+#include <QMetaType>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <e32debug.h>
+
+#include "unittest_mpmediakeyhandler.h"
+#include "mpcommondefs.h"
+#include "stub/inc/mpxplaybackutility.h"
+#include "stub/inc/remconcoreapitarget.h"
+#include "stub/inc/remconinterfaceselector.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpmediakeyhandler.h"
+#include "mpmediakeyhandler_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;
+
+    TestMpMediaKeyHandler tv;
+
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o";
+    pass[2] = "c:\\data\\unittest_mpmediakeyhandler.txt";
+
+    int res = QTest::qExec(&tv, 3, pass);
+
+    return res;
+}
+
+TestMpMediaKeyHandler::TestMpMediaKeyHandler()
+    : mTest(0)
+{
+}
+
+TestMpMediaKeyHandler::~TestMpMediaKeyHandler()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpMediaKeyHandler::initTestCase()
+{
+    RDebug::Print(_L("initTestCase()"));
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpMediaKeyHandler::cleanupTestCase()
+{
+    RDebug::Print(_L("cleanupTestCase()"));
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpMediaKeyHandler::init()
+{
+    RDebug::Print(_L(">>init()"));
+    mTest = new MpMediaKeyHandler();
+    mTestPrivate = mTest->d_ptr;
+    RDebug::Print(_L("<<init()"));
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpMediaKeyHandler::cleanup()
+{
+    if (mTest)
+    {
+        delete mTest;
+        mTest = 0;
+        mTestPrivate = 0;
+    }
+}
+
+void TestMpMediaKeyHandler::testConstructor()
+{
+    RDebug::Print(_L(">>testConstructor()"));
+    
+    QVERIFY(mTest != 0);
+    QVERIFY(mTestPrivate != 0);
+    QVERIFY(mTestPrivate->iInterfaceSelector != 0);
+    QVERIFY(mTestPrivate->iResponseHandler != 0);
+    QVERIFY(mTestPrivate->iPlaybackUtility != 0);
+    
+    RDebug::Print(_L("<<testConstructor()"));
+}
+
+void TestMpMediaKeyHandler::testDestructor()
+{
+    RDebug::Print(_L(">>testDestructor()"));
+    
+    // it is been observed that CRemConCoreApiTarget is not being deleted by anyone
+    // the creator claim it does not own it, while others never claim the ownership neither
+    cleanup();
+    QVERIFY(mTest == 0);
+    QCOMPARE(MMPXPlaybackUtility::getCount(), 0);
+    QCOMPARE(CRemConCoreApiTarget::getCount(), 0);
+    QCOMPARE(CRemConInterfaceSelector::getCount(), 0);
+    
+    RDebug::Print(_L("<<testDestructor()"));
+}
+
+void TestMpMediaKeyHandler::testConstructorFail()
+{
+    RDebug::Print(_L(">>testConstructorFail()"));
+
+    // errorOccured signal cannot be connected until mediakeyhandler is created,
+    // and error during construction cannot be feedback.
+    // solution should be to seperate construction/init
+    cleanup();
+    CRemConInterfaceSelector::setNewLLeave();
+    init();
+    QSignalSpy spy1(mTest, SIGNAL(errorOccured(int)));
+    QVERIFY(mTest != 0);
+    //QCOMPARE(spy1.count(), 1);    // failed if comment in
+    
+    cleanup();
+    CRemConInterfaceSelector::setOpenTargetLLeave();
+    init();
+    QSignalSpy spy2(mTest, SIGNAL(errorOccured(int)));
+    QVERIFY(mTest != 0);
+    //QCOMPARE(spy2.count(), 1);    // failed if comment in
+    
+    cleanup();
+    CRemConCoreApiTarget::setNewLLeave();
+    init();
+    QSignalSpy spy3(mTest, SIGNAL(errorOccured(int)));
+    QVERIFY(mTest != 0);
+    //QCOMPARE(spy3.count(), 1);    // failed if comment in
+
+    cleanup();
+    MMPXPlaybackUtility::setNewLLeave();
+    init();
+    QSignalSpy spy4(mTest, SIGNAL(errorOccured(int)));
+    QVERIFY(mTest != 0);
+    //QCOMPARE(spy4.count(), 1);    // failed if comment in
+    
+    cleanup();
+    MMPXPlaybackUtility::setAddObserverLLeave();
+    init();
+    QSignalSpy spy5(mTest, SIGNAL(errorOccured(int)));
+    QVERIFY(mTest != 0);
+    //QCOMPARE(spy5.count(), 1);    // failed if comment in
+    
+    RDebug::Print(_L("<<testConstructorFail()"));
+}
+
+void TestMpMediaKeyHandler::testDestructorFail()
+{
+    RDebug::Print(_L(">>testDestructorFail()"));
+    
+    MMPXPlaybackUtility::setRemoveObserverLLeave();
+    cleanup();
+    QVERIFY(mTest == 0);
+    QCOMPARE(MMPXPlaybackUtility::getCount(), 0);
+    QCOMPARE(CRemConCoreApiTarget::getCount(), 0);
+    QCOMPARE(CRemConInterfaceSelector::getCount(), 0);
+    
+    RDebug::Print(_L("<<testDestructorFail()"));
+}
+
+void TestMpMediaKeyHandler::testCommandVolumeUpKey()
+{
+    RDebug::Print(_L(">>testCommandVolumeUpKey()"));
+    
+    // volumeChanged signal would not emit until mediakeyhandler is not added as an observer to MMPXPlaybackUtility
+    QSignalSpy spy(mTest, SIGNAL(volumeChanged(int)));
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    MMPXPlaybackUtility::setPlaying();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiVolumeUp, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    QCOMPARE(spy.count(), 1);
+    
+    // impossible to stub out the CPeriodic class which is part of the Press/Release handling
+    // hence, those logic could not be tested 
+    
+    RDebug::Print(_L("<<testCommandVolumeUpKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandVolumeDownKey()
+{
+    RDebug::Print(_L(">>testCommandVolumeDownKey()"));
+    
+    // volumeChanged signal would not emit until mediakeyhandler is not added as an observer to MMPXPlaybackUtility
+    QSignalSpy spy(mTest, SIGNAL(volumeChanged(int)));
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    MMPXPlaybackUtility::setPlaying();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiVolumeDown, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    QCOMPARE(spy.count(), 1);
+    
+    // impossible to stub out the CPeriodic class which is part of the Press/Release handling
+    // hence, those logic could not be tested
+    
+    RDebug::Print(_L("<<testCommandVolumeDownKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandPlayKey()
+{
+    RDebug::Print(_L(">>testCommandPlayKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiPlay, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandPlayKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandPauseKey()
+{
+    RDebug::Print(_L(">>testCommandPauseKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiPause, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+        
+    RDebug::Print(_L("<<testCommandPauseKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandPlayPauseKey()
+{
+    RDebug::Print(_L(">>testCommandPlayPauseKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiPausePlayFunction, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandPlayPauseKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandStopKey()
+{
+    RDebug::Print(_L(">>testCommandStopKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiStop, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandStopKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandFastForwardKeyPress()
+{
+    RDebug::Print(_L(">>testCommandFastForwardKeyPress()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiFastForward, ERemConCoreApiButtonPress);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandFastForwardKeyPress()"));
+}
+
+void TestMpMediaKeyHandler::testCommandFastForwardKeyRelease()
+{
+    RDebug::Print(_L(">>testCommandFastForwardKeyRelease()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiFastForward, ERemConCoreApiButtonRelease);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandFastForwardKeyRelease()"));
+}
+
+void TestMpMediaKeyHandler::testCommandRewindKeyPress()
+{
+    RDebug::Print(_L(">>testCommandRewindKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiRewind, ERemConCoreApiButtonPress);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandRewindKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandRewindKeyRelease()
+{
+    RDebug::Print(_L(">>testCommandRewindKeyRelease()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiRewind, ERemConCoreApiButtonRelease);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandRewindKeyRelease()"));
+}
+
+void TestMpMediaKeyHandler::testCommandForwardKey()
+{
+    RDebug::Print(_L(">>testCommandForwardKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiForward, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandForwardKey()"));
+}
+
+void TestMpMediaKeyHandler::testCommandBackwardKey()
+{
+    RDebug::Print(_L(">>testCommandBackwardKey()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoCommand(ERemConCoreApiBackward, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testCommandBackwardKey()"));
+}
+
+void TestMpMediaKeyHandler::testPlay()
+{
+    RDebug::Print(_L(">>testPlay()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoPlay(ERemConCoreApiPlaybackSpeedX1, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+    
+    RDebug::Print(_L("<<testPlay()"));
+}
+
+void TestMpMediaKeyHandler::testAudioInputFunction()
+{
+    RDebug::Print(_L(">>testAudioInputFunction()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoSelectAudioInputFunction(0, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+        
+    RDebug::Print(_L("<<testAudioInputFunction()"));
+}
+
+void TestMpMediaKeyHandler::testSelectAvInputFunction()
+{
+    RDebug::Print(_L(">>testSelectAvInputFunction()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoSelectAvInputFunction(0, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+
+    RDebug::Print(_L("<<testSelectAvInputFunction()"));
+}
+
+void TestMpMediaKeyHandler::testSelectDiskFunction()
+{
+    RDebug::Print(_L(">>testSelectDiskFunction()"));
+    
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoSelectDiskFunction(0, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+
+    RDebug::Print(_L("<<testSelectDiskFunction()"));
+}
+
+void TestMpMediaKeyHandler::testTuneFunction()
+{
+    RDebug::Print(_L(">>testTuneFunction()"));
+
+    int oldCount = CRemConCoreApiTarget::getSendResponseCount();
+    mTestPrivate->MrccatoTuneFunction(ETrue, 0, 1, ERemConCoreApiButtonClick);
+    QCOMPARE(CRemConCoreApiTarget::getSendResponseCount(), oldCount+1);
+
+    RDebug::Print(_L("<<testTuneFunction()"));
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/mpxplaybackutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* 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 mpmediakeyhandler
+*
+*/
+
+
+#ifndef MMPXPLAYBACKUTILITY_H
+#define MMPXPLAYBACKUTILITY_H
+
+
+#include <mpxplaybackframeworkdefs.h>   // KPbModeDefault, TMPXPlaybackCommand
+#include <e32base.h>                    // CBase
+
+
+class MpMediaKeyHandlerPrivate;
+
+class MMPXPlaybackUtility : public CActive
+    {
+    
+public:
+    
+    static int getCount();
+    static void setNewLLeave();
+    static void NewLLeaveIfDesiredL();
+    static void setAddObserverLLeave();
+    static void AddObserverLLeaveIfDesiredL();
+    static void setRemoveObserverLLeave();
+    static void RemoveObserverLLeaveIfDesiredL();
+    static void setCommandLLeave();
+    static void CommandLLeaveIfDesiredL();
+    static void setStateLLeave();
+    static void StateLLeaveIfDesiredL();
+    static void setPlaying();
+    
+public:
+
+    static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault);
+    virtual ~MMPXPlaybackUtility();
+
+    void Close();
+    void AddObserverL(MpMediaKeyHandlerPrivate& aObs);
+    void RemoveObserverL(MpMediaKeyHandlerPrivate& aObs);
+    void CommandL(TMPXPlaybackCommand aCmd, TInt aData = 0);
+    
+    TMPXPlaybackState StateL() const;    
+
+protected:
+
+    // from CActive
+    virtual void DoCancel();
+    virtual void RunL();
+    
+private:
+    
+    MMPXPlaybackUtility();
+    
+private:
+
+    MpMediaKeyHandlerPrivate*   iObserver;
+    TInt                        iVolume;
+    TBool                       iVolumeUp;
+    
+    };
+
+#endif      // MMPXPLAYBACKUTILITY_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/remconcoreapitarget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* 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: remconcoreapitarget stub for testing mpmediakeyhandler
+*
+*/
+
+
+#ifndef REMCONCOREAPITARGET_H
+#define REMCONCOREAPITARGET_H
+
+
+#include <remconcoreapi.h>  // TRemConCoreApiOperationId 
+
+
+class CRemConInterfaceSelector;
+class MRemConCoreApiTargetObserver;
+
+class CRemConCoreApiTarget : public CActive
+    {
+
+public:
+    
+    static int getCount();
+    static void setNewLLeave();
+    static void NewLLeaveIfDesiredL();
+    static int getSendResponseCount();
+    
+public:
+
+    static CRemConCoreApiTarget* NewL(CRemConInterfaceSelector& aInterfaceSelector, MRemConCoreApiTargetObserver& aObserver);
+    virtual ~CRemConCoreApiTarget();
+
+    void VolumeUpResponse(TRequestStatus& aStatus, TInt aError);
+    void VolumeDownResponse(TRequestStatus& aStatus, TInt aError);
+    void SendResponse(TRequestStatus& aStatus, TRemConCoreApiOperationId aOperationId, TInt aError);    
+
+protected:
+
+    // from CActive
+    virtual void DoCancel();
+    virtual void RunL();
+    
+private:
+    
+    CRemConCoreApiTarget();
+    
+private:
+
+    TRequestStatus*             iClientStatus;
+    
+    };
+
+#endif      // REMCONCOREAPITARGET_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/inc/remconinterfaceselector.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: remconinterfaceselector stub for testing mpmediakeyhandler
+*
+*/
+
+
+#ifndef REMCONINTERFACESELECTOR_H
+#define REMCONINTERFACESELECTOR_H
+
+
+#include <e32base.h>
+
+
+class CRemConInterfaceSelector : public CBase
+    {
+
+public:
+    
+    static int getCount();
+    static void setNewLLeave();
+    static void NewLLeaveIfDesiredL();
+    static void setOpenTargetLLeave();
+    static void OpenTargetLLeaveIfDesiredL();
+    
+public:
+
+    static CRemConInterfaceSelector* NewL();
+    virtual ~CRemConInterfaceSelector();
+
+    void OpenTargetL();
+
+private:
+    
+    CRemConInterfaceSelector();
+    
+    };
+
+#endif      // REMCONINTERFACESELECTOR_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/mpxplaybackutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,230 @@
+/*
+* 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: mpxplaybackutility stub for testing MpNowPlayingBackEnd
+*
+*/
+
+
+#include <mpxplaybackcommanddefs.h>
+#include <e32debug.h>
+
+#include "stub/inc/mpxplaybackutility.h"
+#include "mpmediakeyhandler_p.h"
+
+
+int gMMPXPlaybackUtilityCount = 0;
+bool gMMPXPlaybackUtilityNewLLeave = false;
+bool gMMPXPlaybackUtilityAddObserverLLeave = false;
+bool gMMPXPlaybackUtilityRemoveObserverLLeave = false;
+bool gMMPXPlaybackUtilityCommandLLeave = false;
+bool gMMPXPlaybackUtilityStateLLeave = false;
+TMPXPlaybackState gMMPXPlaybackUtilityState = EPbStateNotInitialised;
+
+
+//static functions start
+
+int MMPXPlaybackUtility::getCount()
+{
+    return gMMPXPlaybackUtilityCount;
+}
+
+void MMPXPlaybackUtility::setNewLLeave()
+{
+    gMMPXPlaybackUtilityNewLLeave = true;
+}
+
+void MMPXPlaybackUtility::NewLLeaveIfDesiredL()
+{
+    if (gMMPXPlaybackUtilityNewLLeave)
+    {
+        RDebug::Print(_L("MMPXPlaybackUtility::NewLLeaveIfDesiredL Leave"));
+        gMMPXPlaybackUtilityNewLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void MMPXPlaybackUtility::setAddObserverLLeave()
+{
+    gMMPXPlaybackUtilityAddObserverLLeave = true;
+}
+
+void MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL()
+{
+    if (gMMPXPlaybackUtilityAddObserverLLeave)
+    {
+        RDebug::Print(_L("MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL Leave"));
+        gMMPXPlaybackUtilityAddObserverLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void MMPXPlaybackUtility::setRemoveObserverLLeave()
+{
+    gMMPXPlaybackUtilityRemoveObserverLLeave = true;
+}
+
+void MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL()
+{
+    if (gMMPXPlaybackUtilityRemoveObserverLLeave)
+    {
+        RDebug::Print(_L("MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL Leave"));
+        gMMPXPlaybackUtilityRemoveObserverLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void MMPXPlaybackUtility::setCommandLLeave()
+{
+    gMMPXPlaybackUtilityCommandLLeave = true;
+}
+
+void MMPXPlaybackUtility::CommandLLeaveIfDesiredL()
+{
+    if (gMMPXPlaybackUtilityCommandLLeave)
+    {
+        RDebug::Print(_L("MMPXPlaybackUtility::CommandLLeaveIfDesiredL Leave"));
+        gMMPXPlaybackUtilityCommandLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void MMPXPlaybackUtility::setStateLLeave()
+{
+    gMMPXPlaybackUtilityStateLLeave = true;
+}
+
+void MMPXPlaybackUtility::StateLLeaveIfDesiredL()
+{
+    if (gMMPXPlaybackUtilityStateLLeave)
+    {
+        RDebug::Print(_L("MMPXPlaybackUtility::StateLLeaveIfDesiredL Leave"));
+        gMMPXPlaybackUtilityStateLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void MMPXPlaybackUtility::setPlaying()
+{
+    gMMPXPlaybackUtilityState = EPbStatePlaying;
+}
+
+//static functions end
+
+MMPXPlaybackUtility::MMPXPlaybackUtility()
+    : CActive(EPriorityStandard),
+      iObserver(NULL),
+      iVolume(5),
+      iVolumeUp(ETrue)
+{
+    gMMPXPlaybackUtilityState = EPbStateNotInitialised;
+}
+
+MMPXPlaybackUtility::~MMPXPlaybackUtility()
+{
+}
+
+MMPXPlaybackUtility* MMPXPlaybackUtility::UtilityL(const TUid& /*aModeId*/)
+{
+    RDebug::Print(_L("stub MMPXPlaybackUtility::UtilityL"));
+    MMPXPlaybackUtility::NewLLeaveIfDesiredL();
+    gMMPXPlaybackUtilityCount++;
+    static MMPXPlaybackUtility playbackUtilility;
+    return &playbackUtilility;
+}
+
+void MMPXPlaybackUtility::Close()
+{
+    iObserver = NULL;
+    gMMPXPlaybackUtilityCount--;
+}
+
+void MMPXPlaybackUtility::AddObserverL(MpMediaKeyHandlerPrivate& aObs)
+{
+    MMPXPlaybackUtility::AddObserverLLeaveIfDesiredL();
+    iObserver = &aObs;
+}
+
+void MMPXPlaybackUtility::RemoveObserverL(MpMediaKeyHandlerPrivate& /*aObs*/)
+{
+    MMPXPlaybackUtility::RemoveObserverLLeaveIfDesiredL();
+    iObserver = NULL;
+}
+
+void MMPXPlaybackUtility::CommandL(TMPXPlaybackCommand aCmd, TInt /*aData*/)
+{
+    RDebug::Print(_L(">>MMPXPlaybackUtility::CommandL"));
+    
+    MMPXPlaybackUtility::CommandLLeaveIfDesiredL();
+    
+    if (IsActive())
+        User::Leave(KErrNotReady);
+    else
+    {
+        if ((aCmd == EPbCmdIncreaseVolume) || (aCmd == EPbCmdDecreaseVolume))
+        {
+            if (aCmd == EPbCmdIncreaseVolume)
+                iVolumeUp = ETrue;
+            else
+                iVolumeUp = EFalse;
+            
+            // stub should not be async
+            /*TRequestStatus* status = &iStatus;
+            User::RequestComplete(status, KErrNone);
+            SetActive();*/
+            
+            RunL();
+        }
+    }
+    
+    RDebug::Print(_L("<<MMPXPlaybackUtility::CommandL"));
+}
+
+TMPXPlaybackState MMPXPlaybackUtility::StateL() const
+{
+    MMPXPlaybackUtility::StateLLeaveIfDesiredL();
+    return gMMPXPlaybackUtilityState;
+}
+
+void MMPXPlaybackUtility::DoCancel()
+{
+}
+
+void MMPXPlaybackUtility::RunL()
+{
+    RDebug::Print(_L(">>MMPXPlaybackUtility::RunL"));
+    
+    TInt err = KErrNone;
+    
+    if (iVolumeUp)
+    {
+        if (iVolume < 10)
+            iVolume++;
+        else
+            err = KErrArgument;
+    }
+    else
+    {
+        if (iVolume > 0)
+            iVolume--;
+        else
+            err = KErrArgument;
+    }
+    
+    if (iObserver)
+        iObserver->HandlePropertyL(EPbPropertyVolume, iVolume, err);
+    
+    RDebug::Print(_L("<<MMPXPlaybackUtility::RunL"));
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/remconcoreapitarget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* 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: remconcoreapitarget stub for testing MpNowPlayingBackEnd
+*
+*/
+
+
+#include <e32debug.h>
+
+#include "stub/inc/remconcoreapitarget.h"
+
+
+int gCRemConCoreApiTargetCount = 0;
+bool gCRemConCoreApiTargetNewLLeave = false;
+int gCRemConCoreApiTargetSendResponseCount = 0;
+
+
+//static functions start
+
+int CRemConCoreApiTarget::getCount()
+{
+    return gCRemConCoreApiTargetCount;
+}
+
+void CRemConCoreApiTarget::setNewLLeave()
+{
+    gCRemConCoreApiTargetNewLLeave = true;
+}
+
+void CRemConCoreApiTarget::NewLLeaveIfDesiredL()
+{
+    if (gCRemConCoreApiTargetNewLLeave)
+    {
+        RDebug::Print(_L("CRemConCoreApiTarget::NewLLeaveIfDesiredL Leave"));
+        gCRemConCoreApiTargetNewLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+int CRemConCoreApiTarget::getSendResponseCount()
+{
+    return gCRemConCoreApiTargetSendResponseCount;
+}
+
+//static functions end
+
+
+CRemConCoreApiTarget::CRemConCoreApiTarget()
+    : CActive(EPriorityStandard),
+      iClientStatus(NULL)
+{
+    gCRemConCoreApiTargetCount++;
+}
+
+CRemConCoreApiTarget::~CRemConCoreApiTarget()
+{
+    gCRemConCoreApiTargetCount--;
+    gCRemConCoreApiTargetSendResponseCount = 0;
+}
+
+CRemConCoreApiTarget* CRemConCoreApiTarget::NewL(CRemConInterfaceSelector& /*aInterfaceSelector*/, MRemConCoreApiTargetObserver& /*aObserver*/)
+{
+    RDebug::Print(_L("stub CRemConCoreApiTarget::NewL"));
+    CRemConCoreApiTarget::NewLLeaveIfDesiredL();
+    CRemConCoreApiTarget* self = new(ELeave) CRemConCoreApiTarget();
+    return self;
+}
+
+
+void CRemConCoreApiTarget::VolumeUpResponse(TRequestStatus& aStatus, TInt /*aError*/)
+{
+    RDebug::Print(_L(">>CRemConCoreApiTarget::VolumeUpResponse"));
+    
+    iClientStatus = &aStatus;
+    gCRemConCoreApiTargetSendResponseCount++;
+    
+    // stub should not be async
+    /*TRequestStatus* status = &iStatus;
+    User::RequestComplete(status, KErrNone);
+    SetActive();*/
+    
+    RunL();
+    
+    RDebug::Print(_L("<<CRemConCoreApiTarget::VolumeUpResponse"));
+}
+
+void CRemConCoreApiTarget::VolumeDownResponse(TRequestStatus& aStatus, TInt /*aError*/)
+{
+    RDebug::Print(_L(">>CRemConCoreApiTarget::VolumeDownResponse"));
+    
+    iClientStatus = &aStatus;
+    gCRemConCoreApiTargetSendResponseCount++;
+    
+    // stub should not be async
+    /*TRequestStatus* status = &iStatus;
+    User::RequestComplete(status, KErrNone);
+    SetActive();*/
+    
+    RunL();
+    
+    RDebug::Print(_L("<<CRemConCoreApiTarget::VolumeDownResponse"));
+}
+
+void CRemConCoreApiTarget::SendResponse(TRequestStatus& aStatus, TRemConCoreApiOperationId /*aOperationId*/, TInt /*aError*/)
+{
+    RDebug::Print(_L(">>CRemConCoreApiTarget::SendResponse"));
+    
+    iClientStatus = &aStatus;
+    gCRemConCoreApiTargetSendResponseCount++;
+    
+    // stub should not be async
+    /*TRequestStatus* status = &iStatus;
+    User::RequestComplete(status, KErrNone);
+    SetActive();*/
+
+    RunL();
+    
+    RDebug::Print(_L("<<CRemConCoreApiTarget::SendResponse"));
+}
+
+void CRemConCoreApiTarget::DoCancel()
+{
+}
+
+void CRemConCoreApiTarget::RunL()
+{
+    RDebug::Print(_L(">>CRemConCoreApiTarget::RunL"));
+    User::RequestComplete(iClientStatus, KErrNone);
+    RDebug::Print(_L("<<CRemConCoreApiTarget::RunL"));
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/stub/src/remconinterfaceselector.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* 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: remconinterfaceselector stub for testing MpNowPlayingBackEnd
+*
+*/
+
+
+#include <e32debug.h>
+
+#include "stub/inc/remconinterfaceselector.h"
+
+
+int gCRemConInterfaceSelectorCount = 0;
+bool gCRemConInterfaceSelectorNewLLeave = false;
+bool gCRemConInterfaceSelectorOpenTargetLLeave = false;
+
+
+//static functions start
+
+int CRemConInterfaceSelector::getCount()
+{
+    return gCRemConInterfaceSelectorCount;
+}
+
+void CRemConInterfaceSelector::setNewLLeave()
+{
+    gCRemConInterfaceSelectorNewLLeave = true;
+}
+
+void CRemConInterfaceSelector::NewLLeaveIfDesiredL()
+{
+    if (gCRemConInterfaceSelectorNewLLeave)
+    {
+        RDebug::Print(_L("CRemConInterfaceSelector::NewLLeaveIfDesiredL Leave"));
+        gCRemConInterfaceSelectorNewLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+void CRemConInterfaceSelector::setOpenTargetLLeave()
+{
+    gCRemConInterfaceSelectorOpenTargetLLeave = true;
+}
+
+void CRemConInterfaceSelector::OpenTargetLLeaveIfDesiredL()
+{
+    if (gCRemConInterfaceSelectorOpenTargetLLeave)
+    {
+        RDebug::Print(_L("CRemConInterfaceSelector::NewLLeaveIfDesiredL Leave"));
+        gCRemConInterfaceSelectorOpenTargetLLeave = false;
+        User::Leave(KErrGeneral);
+    }
+}
+
+//static functions end
+
+CRemConInterfaceSelector::CRemConInterfaceSelector()
+{
+    gCRemConInterfaceSelectorCount++;
+}
+
+CRemConInterfaceSelector::~CRemConInterfaceSelector()
+{
+    gCRemConInterfaceSelectorCount--;
+}
+
+CRemConInterfaceSelector* CRemConInterfaceSelector::NewL()
+{
+    RDebug::Print(_L("stub CRemConInterfaceSelector::NewL"));
+    CRemConInterfaceSelector::NewLLeaveIfDesiredL();
+    CRemConInterfaceSelector* self = new(ELeave) CRemConInterfaceSelector();
+    return self;
+}
+
+void CRemConInterfaceSelector::OpenTargetL()
+{
+    CRemConInterfaceSelector::OpenTargetLLeaveIfDesiredL();
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpengine/tsrc/unittest_mpmediakeyhandler/unittest_mpmediakeyhandler.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+TARGET = 
+
+DEPENDPATH += . \
+    inc \
+    src
+
+INCLUDEPATH += . \
+    stub/inc \
+    ../../../inc \
+    
+symbian:
+{
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+}
+
+LIBS += -lestor.dll \
+        -lfbscli.dll \
+        -lmpxcommon.dll \
+        -lremconcoreapi.dll \
+
+# Input
+HEADERS += inc/unittest_mpmediakeyhandler.h \
+           ../../inc/mpmediakeyhandler.h \
+           ../../inc/mpmediakeyhandler_p.h \
+           ../../inc/mpmediakeyremconresponse.h \
+           stub/inc/mpxplaybackutility.h \
+           stub/inc/remconcoreapitarget.h \
+           stub/inc/remconinterfaceselector.h \
+               
+SOURCES += src/unittest_mpmediakeyhandler.cpp \
+           ../../src/mpmediakeyhandler.cpp \
+           ../../src/mpmediakeyhandler_p.cpp \
+           ../../src/mpmediakeyremconresponse.cpp \
+           stub/src/mpxplaybackutility.cpp \
+           stub/src/remconcoreapitarget.cpp \
+           stub/src/remconinterfaceselector.cpp \
--- a/mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpserviceplugins/audioeffects/src/mpxaudioeffectengine.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -36,9 +36,9 @@
 
 #include "mpxaudioeffectengine.h"
 
-// Music setting
-const TUid KCRUidMPXMPSettings = {0x101FFCDC};
-const TUint32 KMPXMPEqPresetId = 0x00000001;
+const TUid KMPCenRepSettingsFeature = {0x10207C92};
+const TUint32 KMPCenRepSettingPresetIdKey = 0x00000004;
+
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -328,8 +328,8 @@
     TInt presetId( KEqualizerPresetNone );
     TRAP_IGNORE(
         {
-        CRepository* repository = CRepository::NewL( KCRUidMPXMPSettings );
-        repository->Get( KMPXMPEqPresetId, presetId );
+        CRepository* repository = CRepository::NewL( KMPCenRepSettingsFeature );
+        repository->Get( KMPCenRepSettingPresetIdKey, presetId );
         delete repository;
         repository = NULL;
         } );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/data/101FFCD9.RSS	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Resource file
+*
+*/
+
+
+#include <ecom/registryinfo.rh>
+#include <mpxcollectionplugin.hrh>
+
+/**
+ * The opaque_data syntax is made up of three parts: 
+ * a list of Uids for resolving the view plugin, feature flags, priority.
+ * 
+ * <p>uid1;uid2;uid3</p>
+ *  uid*: Supported plugin types.
+ *  E.g. if podcast plugin may support music plugin as well, KMPXColPluginMusic
+ *
+ * <t>uid</t>
+ *  uid: plugin type uid.
+ *  E.g. for music plugin will be: 0x101FFCDA
+ *
+ * <f>flags</f> [optional]
+ *  flags: sum of the required feature flags, not used now
+ *
+ * <i>priority</i> [optional]
+ *  priority: a value of type TMPXCollectionPluginPriorities. This value determines
+ *  the returning order when several plugins can support the same set of Uids. 
+ *  Default value of this field is EMPXCollectionPluginPriorityNormal.
+ */
+
+RESOURCE REGISTRY_INFO theInfo
+    {
+    dll_uid = 0x101FFCD9;
+
+    interfaces = 
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = KMPXCollectionPluginInterfaceUid;
+            implementations = 
+                {
+                /*
+                * Normal In memory plugin, can be used for any collection 
+                * To resolve this plugin, Resolve with UID: EMPXCollectionPluginTemporary
+                */
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = 0x101FFCD8;
+                    version_no = 1;
+                    display_name = "";
+                    default_data = "";
+                    opaque_data = "<t>"EMPXCollectionPluginHidden"</t>"
+                                  "<p>"EMPXCollectionPluginTemporary"</p>"
+                                  "<i>"EMPXPluginPriorityNormal"</i>"
+                                  "<f>"EMPXPluginFlagPreLoad"</f>";
+                    },
+                /*
+                * Normal In memory plugin, can be used for any collection 
+                * To resolve this plugin, Resolve with UID: EMPXCollectionPluginTemporary AND
+                *                                           EMPXCollectionPluginMusic         
+                */
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = 0x10282960;
+                    version_no = 1;
+                    display_name = "";
+                    default_data = "";
+                    opaque_data = "<t>"EMPXCollectionPluginHidden"</t>"
+                                  "<p>"EMPXCollectionPluginTemporary"</p>"
+                                  "<p>"EMPXCollectionPluginMusic"</p>"
+                                  "<i>"EMPXPluginPriorityNormal"</i>"
+                                  "<f>"EMPXPluginFlagPreLoad"</f>";
+                    }
+                };
+            }
+        };
+    }
+            
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/group/bld.inf	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* 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:  Build information file for project mpxinmemoryplugin.
+*
+*/
+
+
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+mpxinmemoryplugin.mmp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/group/mpxinmemoryplugin.mmp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* 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:  Collection file db plugin project specification
+*
+*/
+
+
+
+#include <bldvariant.hrh>
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET          mpxinmemoryplugin.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x101FFCD9
+
+VENDORID        VID_DEFAULT
+CAPABILITY      CAP_ECOM_PLUGIN
+
+VERSION 15.0
+
+SOURCEPATH      ../src
+SOURCE          mpxinmemoryplugin.cpp
+SOURCE          mpxmusicmemoryplugin.cpp
+SOURCE          mpxinmemorypluginproxy.cpp
+
+SOURCEPATH      ../data
+START RESOURCE  101FFCD9.RSS
+TARGET          mpxinmemoryplugin.rsc
+END
+
+USERINCLUDE     ../inc
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE   /epoc32/include/ecom
+
+LIBRARY         apgrfx.lib
+LIBRARY         euser.lib
+LIBRARY         ecom.lib
+LIBRARY         efsrv.lib
+LIBRARY         estor.lib
+LIBRARY         bafl.lib 
+LIBRARY         mpxcommon.lib
+LIBRARY         mpxmetadataextractor.lib
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/inc/mpxinmemoryplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,203 @@
+/*
+* 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:  Simple plugin to cache media objects
+*
+*/
+
+
+
+#ifndef CMPXINMEMORYPLUGIN_H
+#define CMPXINMEMORYPLUGIN_H
+
+// INCLUDES
+#include <e32cmn.h>
+#include <mpxcollectionplugin.h>
+#include <mpxcollectionmessagedefs.h>
+
+// FORWARD DECLARATIONS
+class CMPXMedia;
+class CMPXMediaArray;
+class CMPXDrmMediaUtility;
+
+// CONSTANTS
+
+// CLASS DECLARATION
+
+/**
+*  CMPXInMemoryPlugin class 
+*
+*  Plug-in basically provides temporary in memory browsing
+*  @lib mpxinmemoryplugin.lib
+*/
+NONSHARABLE_CLASS(CMPXInMemoryPlugin) : public CMPXCollectionPlugin
+    {
+public: // Constructors and destructor
+
+    
+    /**
+    * Two-phased constructor
+    *
+    * @param aInitParams, initialization parameter
+    * @return object of constructed
+    */
+    static CMPXInMemoryPlugin* NewL();
+
+    /**
+    * Destructor
+    */
+    virtual ~CMPXInMemoryPlugin();
+    
+protected: // Functions from base classes
+    /**
+    *  from CMPXCollectionPlugin
+    */
+
+    /** 
+    * From CMPXCollectionPlugin
+    * Navigates to the given path
+    * @param aPath: a path
+    * @param aAttrs, attributes requested
+    * @param aFilter, filter to apply or NULL if none
+    */
+    void OpenL(const CMPXCollectionPath& aPath,
+               const TArray<TMPXAttribute>& aAttrs,
+               CMPXFilter* aFilter); 
+    
+    /**
+    * From CMPXCollectionPlugin     
+    * Get the extended properties of the current file (async)
+    * @param aPath: a path   
+    * @param aAttrs: array of attributes requested             
+    * @param aCaps platsec capabilities of client requesting media; plug-in should also
+    *        verify its process capabilities
+    * @aParam aSpecs, specifications for attributes
+    */
+    void MediaL(const CMPXCollectionPath& aPath, 
+                const TArray<TMPXAttribute>& aAttrs,
+                const TArray<TCapability>& aCaps,
+                CMPXAttributeSpecs* aSpecs);
+            
+    /** 
+    * Cancel outstanding request
+    */
+    void CancelRequest();
+
+    /** 
+    * Executes a command on the selected collection
+    *
+    * @param aCmd a command
+    */
+    void CommandL(TMPXCollectionCommand aCmd, TInt aArg);
+
+    /**
+    * From CMPXCollectionPlugin
+    */
+    void CommandL(CMPXCommand& aCmd);
+    
+    /**
+    *  Adds item(s) to the collection
+    *
+    *  @param aNewProperties, Properties of the item
+    */
+    void AddL(const CMPXMedia& aNewMedia);
+    
+    /**
+    * Remove a collection path
+    * @param aPath, path to remove
+    *
+    */
+    void RemoveL(const CMPXCollectionPath& aPath );
+    
+    /**
+    *  Remove an item or items from the collection
+    *
+    *  @param aProperties, Properties of the item. It may cantain URI only
+    *                      or meta data, all of items matched properties 
+    *                      will be removed.
+    */
+    void RemoveL(const CMPXMedia& aMedia);
+    
+    /**
+    *  Sets/updates the media for the item
+    *  specified in the path
+    *
+    *  @param aMedia, new value
+    */
+    void SetL(const CMPXMedia& aMedia);
+    
+    /**
+    *  Find a list of items matched 
+    *
+    *  @param aMedia, properties to be searched
+    *  @param aAttrs, attributes to return from find
+    */
+    void FindAllL(const CMPXMedia& aMedia, const TArray<TMPXAttribute>& aAttrs);
+
+    /**
+    * Find a list of items matched (sync)
+    *
+    *  @param aMedia, properties to be searched
+    *  @param aAttrs, attributes to return
+    *  @return results of the search        
+    */
+    CMPXMedia* FindAllSyncL(const CMPXMedia& aMedia,
+                            const TArray<TMPXAttribute>& aAttrs);
+                            
+    /**
+    * Get the list of supported capabilities
+    *
+    * @return TCollectionCapability, bitmask of supported capabilities
+    */
+    TCollectionCapability GetCapabilities();
+                        
+protected: // New Functions
+    
+    /**
+    * Send change events back to the observer
+    * @param aId, embedded context that was changed
+    * @param aChange, change type
+    */
+    void HandleChangeL(const TMPXItemId& aId, TMPXChangeEventType aChange );
+
+    /**
+    * Internal function to Add a Media
+    * @param aMedia media to add
+    */
+    void DoAddL( const CMPXMedia& aMedia );
+    
+    /**
+    * Internal function to Set a Media
+    * @param aMedia media to set
+    */
+    void DoSetL( const CMPXMedia& aMedia );
+        
+protected: 
+    /**
+    * Constructor
+    */
+    CMPXInMemoryPlugin();
+    
+    /**
+    *  2nd phase constructor
+    */
+    void ConstructL();
+    
+protected:
+    CMPXDrmMediaUtility*     iDrmMediaUtility;
+    RPointerArray<CMPXMedia> iTemporaryData;
+    RArray<TInt>             iEmbeddedContext;
+    };
+
+#endif      // CMPXINMEMORYPLUGIN_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/inc/mpxmusicmemoryplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* 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:  Music derivative of the in-memory plugin
+*
+*/
+
+
+#ifndef CMPXMUSICMEMORYPLUGIN_H
+#define CMPXMUSICMEMORYPLUGIN_H
+
+#include <apgcli.h>
+#include "mpxinmemoryplugin.h"
+
+// FORWARD DECLARATIONS
+class CMPXMetadataExtractor;
+
+/**
+ *  Music Specific memory plugin
+ *
+ *  @lib mpx
+ *  @since S60 ?S60_version *** for example, S60 v3.0
+ */
+NONSHARABLE_CLASS( CMPXMusicMemoryPlugin ) : public CMPXInMemoryPlugin
+    {
+public:
+
+    /**
+    * Two-phased constructor
+    *
+    * @param aInitParams, initialization parameter
+    * @return object of constructed
+    */
+    static CMPXMusicMemoryPlugin* NewL();
+
+    /**
+    * destructor
+    */
+    virtual ~CMPXMusicMemoryPlugin();
+
+private:
+
+    /**
+    * From CMPXCollectionPlugin     
+    * Get the extended properties of the current file (async)
+    * @param aPath: a path   
+    * @param aAttrs: array of attributes requested             
+    * @param aCaps platsec capabilities of client requesting media; plug-in should also
+    *        verify its process capabilities
+    * @aParam aSpecs, specifications for attributes
+    */
+    void MediaL(const CMPXCollectionPath& aPath, 
+                const TArray<TMPXAttribute>& aAttrs,
+                const TArray<TCapability>& aCaps,
+                CMPXAttributeSpecs* aSpecs);
+
+    /**
+    * Extract metadata for a given media object
+    * metadata will be extracted if a URI exists
+    * @param aUri, uri for the item
+    * @param attrs, attributes requested
+    * @return new CMPXMedia object or NULL if bad
+    */
+    CMPXMedia* ExtractMetadataL( const TDesC& aUri, 
+                                 const TArray<TMPXAttribute>& aAttrs );
+    
+                                                                       
+    /**
+    * Set all the attributes in CMPXMedia corresponding to KMPXMediaIdDrm
+    * @param aMedia, media to update
+    * @param aDrmAttributes, bitwise or of the flags we want
+    * @param aDrmMedia, aMedia with drm attributes
+    */
+    void DoSetMediaDrmL(CMPXMedia& aMedia, 
+                        const TArray<TMPXAttribute>& aAttrs, 
+                        const TDesC& aLocation );
+private:
+
+    /**
+    * Constructor
+    */
+    CMPXMusicMemoryPlugin();
+
+    /**
+    * 2nd phased constructor
+    */
+    void ConstructL();
+
+private: // data
+    CMPXMetadataExtractor*  iMetadataExtractor; // Metadata extractor
+    RFs                     iFs;                // File Session
+    RApaLsSession           iAppArc;            // App arc, dummy
+    RArray<TMPXAttribute>   iAttributes;        // List of attributes to fetch
+    };
+
+#endif // CMPXMUSICMEMORYPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/rom/mpxinmemplugin.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* 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:  Image description file for project mpxinmemplugin
+*
+*/
+
+
+
+#ifndef MPXINMEMORYDBPLUGIN_IBY
+#define MPXINMEMORYDBPLUGIN_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+
+ECOM_PLUGIN(  mpxinmemoryplugin.dll, 101FFCD9.rsc )
+
+#endif // MPXINMEMORYDBPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/rom/rom.pri	Fri Apr 16 14:56:30 2010 +0300
@@ -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/mpxinmemplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mpxinmemplugin.iby)"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/src/mpxinmemoryplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,632 @@
+/*
+* 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:  Simple plugin to cache media objects
+*
+*/
+
+
+// INCLUDE FILES
+#include <e32cmn.h>
+#include <mpxcollectionpath.h>
+#include <mpxcollectionpluginobserver.h>
+#include <mpxcmn.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediacontainerdefs.h>
+#include <mpxmediamusicdefs.h>
+#include <mpxmediaaudiodefs.h>
+#include <mpxmessagegeneraldefs.h>
+#include <mpxcollectionmessagedefs.h>
+#include <mpxmediacollectiondetaildefs.h>
+#include <mpxcollectioncommanddefs.h>
+#include <mpxcommandgeneraldefs.h>
+#include <mpxmedia.h>
+#include <mpxmediaarray.h>
+#include <mpxdrmmediautility.h>
+#include <mpxmediadrmdefs.h>
+#include <mpxlog.h>
+
+#include "mpxinmemoryplugin.h"
+
+// CONSTANTS
+const TInt KIMPluginUid  = 0x101FFCD8;
+
+// ============================ MEMBER FUNCTIONS ==============================
+// ----------------------------------------------------------------------------
+// Two-phased constructor.
+// ----------------------------------------------------------------------------
+//
+CMPXInMemoryPlugin* CMPXInMemoryPlugin::NewL()
+    {
+    CMPXInMemoryPlugin* p = new (ELeave) CMPXInMemoryPlugin();
+    CleanupStack::PushL(p);
+    p->ConstructL();
+    CleanupStack::Pop(p);
+    return p;
+    }
+
+// ----------------------------------------------------------------------------
+// Destructor
+// ----------------------------------------------------------------------------
+//
+CMPXInMemoryPlugin::~CMPXInMemoryPlugin()
+    {
+    delete iDrmMediaUtility;
+
+    // Cleanup Arrays
+    iTemporaryData.ResetAndDestroy();
+    iTemporaryData.Close();
+    iEmbeddedContext.Reset();
+    iEmbeddedContext.Close();
+    }
+
+// ----------------------------------------------------------------------------
+// Constructor
+// ----------------------------------------------------------------------------
+//
+CMPXInMemoryPlugin::CMPXInMemoryPlugin()
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// Symbian 2nd phase constructor can leave.
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::ConstructL()
+    {
+    iDrmMediaUtility = CMPXDrmMediaUtility::NewL();
+    }
+
+// ----------------------------------------------------------------------------
+// Navigates to the given path
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::OpenL(
+    const CMPXCollectionPath& aPath,
+    const TArray<TMPXAttribute>& /*aAttrs*/,
+    CMPXFilter* /*aFilter*/)
+    {
+    // Media object to return
+    RArray<TInt> supportedIds;
+    CleanupClosePushL(supportedIds);
+    supportedIds.AppendL(KMPXMediaIdContainer);
+    supportedIds.AppendL(KMPXMediaIdGeneral);
+    CMPXMedia* entries=CMPXMedia::NewL(supportedIds.Array());
+    CleanupStack::PushL(entries);
+
+    // Media array for items
+    CMPXMediaArray* array=CMPXMediaArray::NewL();
+    CleanupStack::PushL(array);
+
+    // Based on Path, what is the embedded client context id?
+    TInt depth = aPath.Levels();
+    TBool oneSong = EFalse;
+    TInt err = KErrNone;
+    switch( depth )
+        {
+        case 1: // should not have anything
+            {
+            User::Leave( KErrArgument );
+            break;
+            }
+        case 2: // an item or a playlist
+            {
+            TInt context = aPath.Id(1);
+            TInt contextIndex = iEmbeddedContext.Find( context );
+            if( contextIndex >= KErrNone )
+                {
+                CMPXMedia& media = *iTemporaryData[contextIndex];
+
+                TMPXGeneralCategory cat = *media.Value<TMPXGeneralCategory>( KMPXMediaGeneralCategory );
+                if( cat == EMPXPlaylist )
+                    {
+                    const CMPXMediaArray* plarray = media.Value<CMPXMediaArray>( KMPXMediaArrayContents );
+                    for( TInt i=0; i<plarray->Count(); ++i )
+                        {
+                        CMPXMedia* item = (*plarray)[i];
+                        CMPXMedia* copy = CMPXMedia::NewL(*item);
+
+                        // item id is the index in the array
+                        copy->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, i );
+                        array->AppendL( copy ); // ownership x-fer
+                        }
+
+
+                    // Insert dummy media objects if the "specified" count is > actual
+                    // number of media objects
+                    TInt count(0);
+                    if( media.IsSupported(KMPXMediaArrayCount) )
+                        {
+                        count = *media.Value<TInt>(KMPXMediaArrayCount);
+                        }
+                    if( count > 0 && count > plarray->Count() )
+                        {
+                        for( TInt i=plarray->Count(); i<count; ++i )
+                            {
+                            // Insert dummies
+                            CMPXMedia* copy = CMPXMedia::NewL();
+                            copy->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, i );
+                            copy->SetTObjectValueL( KMPXMediaGeneralType,
+                                                    EMPXItem );
+                            copy->SetTObjectValueL( KMPXMediaGeneralCategory,
+                                                    EMPXSong );
+                            array->AppendL( copy ); // ownership x-fer
+                            }
+                        }
+
+                    // Set the title for the playlist
+                    //
+                    if( media.IsSupported( KMPXMediaGeneralTitle ) )
+                        {
+                        const TDesC& title = media.ValueText( KMPXMediaGeneralTitle );
+                        entries->SetTextValueL( KMPXMediaGeneralTitle,
+                                                title );
+                        }
+                    }
+                else // assume it is an item then
+                    {
+                    // Set one song to true
+                    oneSong = ETrue;
+                    }
+                }
+            else
+                {
+                err = KErrNotFound;
+                }
+            break;
+            }
+        case 3:  // item in a playlist
+            {
+            oneSong = ETrue;
+            break;
+            }
+        default:
+        break;
+        }
+
+    // Set array if not one song
+    if( !oneSong )
+        {
+        entries->SetCObjectValueL(KMPXMediaArrayContents,array);
+        entries->SetTObjectValueL(KMPXMediaArrayCount,
+                                  array->Count());
+        entries->SetTObjectValueL( KMPXMediaGeneralType,
+                                   EMPXGroup );
+        entries->SetTObjectValueL( KMPXMediaGeneralCategory,
+                                   EMPXPlaylist );
+        }
+    else
+        {
+        entries->SetTObjectValueL( KMPXMediaGeneralType,
+                                   EMPXItem );
+        entries->SetTObjectValueL( KMPXMediaGeneralCategory,
+                                   EMPXSong );
+        }
+
+    if(oneSong)
+        {
+        iObs->HandleOpen(const_cast<CMPXCollectionPath*>(&aPath), err );
+        }
+    else
+        {
+        entries->SetCObjectValueL( KMPXMediaGeneralContainerPath,
+                                   const_cast<CMPXCollectionPath*>(&aPath) );
+        iObs->HandleOpen(entries, err );
+        }
+    CleanupStack::PopAndDestroy(array);
+    CleanupStack::PopAndDestroy(entries);
+    CleanupStack::PopAndDestroy(&supportedIds);
+    }
+
+// ----------------------------------------------------------------------------
+// Extended properties of the current file (async)
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::MediaL (
+    const CMPXCollectionPath& aPath,
+    const TArray<TMPXAttribute>& aAttrs,
+    const TArray<TCapability>& /*aCaps*/,
+    CMPXAttributeSpecs* /*aSpecs*/)
+    {
+    RArray<TInt> supportedIds;
+    CleanupClosePushL(supportedIds);
+    supportedIds.AppendL(KMPXMediaIdGeneral);
+    CMPXMedia* entries=CMPXMedia::NewL(supportedIds.Array());
+    CleanupStack::PopAndDestroy(&supportedIds);
+    CleanupStack::PushL(entries);
+
+    // Based on Path, what is the embedded client context id?
+    //
+    TInt err = KErrNone;
+    TInt depth = aPath.Levels();
+    switch( depth )
+        {
+        case 2:  // Playlist / Song level
+        case 3:  // Song in a playlist level, fall through
+            {
+            TInt context = aPath.Id(1);
+            TInt contextIndex = iEmbeddedContext.Find( context );
+            if( contextIndex >= KErrNone )
+                {
+                CMPXMedia& media = *iTemporaryData[contextIndex];
+
+                TMPXGeneralCategory cat;
+                cat = *media.Value<TMPXGeneralCategory>( KMPXMediaGeneralCategory );
+
+                // Playlist media
+                //
+                if( cat == EMPXPlaylist && depth == 2)
+                    {
+                    // Get
+                    const TDesC& title = media.ValueText( KMPXMediaGeneralTitle );
+                    const TDesC& uri = media.ValueText( KMPXMediaGeneralUri );
+                    // Set
+                    entries->SetTextValueL( KMPXMediaGeneralTitle,
+                                            title );
+                    entries->SetTextValueL( KMPXMediaGeneralUri,
+                                            uri );
+                    entries->SetTObjectValueL<TUid>(KMPXMediaGeneralCollectionId,
+                                                    TUid::Uid(KIMPluginUid) );
+                    }
+                // Item in a playlist media
+                //
+                else if( cat == EMPXPlaylist && depth == 3 )
+                    {
+                    const CMPXMediaArray* plarray = media.Value<CMPXMediaArray>(
+                                                        KMPXMediaArrayContents );
+                    TInt selection = aPath.Id( 2 );
+                    TInt count = plarray->Count();
+                    if( selection < count )
+                        {
+                        *entries = *(*plarray)[selection];
+
+                        entries->SetTObjectValueL<TUid>(KMPXMediaGeneralCollectionId,
+                                                        TUid::Uid(KIMPluginUid) );
+                        }
+                    else
+                       {
+                       // Bounds check
+                       err = KErrArgument;
+                       }
+                    }
+                // Otherwise, assume it is a song
+                //
+                else // cat == song/image/video/etc
+                    {
+                    *entries = media;
+
+                    entries->SetTObjectValueL<TUid>(KMPXMediaGeneralCollectionId,
+                                                    TUid::Uid(KIMPluginUid) );
+                    }
+                }
+            break;
+            }
+        default:
+            {
+            // Return Nothing because a MediaL at this depth contains nothing
+            break;
+            }
+        }
+    //
+    for (TInt i=aAttrs.Count();--i>=0;)
+        {
+        if (aAttrs[i]==KMPXMediaGeneralPath)
+            {
+            entries->SetCObjectValueL(KMPXMediaGeneralPath,
+                                      const_cast<CMPXCollectionPath*>(&aPath));
+            break;
+            }
+        }
+
+    // Full metadata is not available from this plugin
+    entries->SetTObjectValueL( KMPXMediaColDetailMediaNotAvailable,
+                               ETrue );
+    //
+    iObs->HandleMedia(entries, err );
+    CleanupStack::PopAndDestroy(entries);
+    }
+
+// ----------------------------------------------------------------------------
+// Cancel outstanding request
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::CancelRequest()
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// Executes a command on the selected collection
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::CommandL(TMPXCollectionCommand /*aCmd*/, TInt /*aArg*/)
+    {
+    }
+
+// ----------------------------------------------------------------------------
+// Executes a command on the selected collection
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::CommandL(CMPXCommand& aCmd)
+    {
+    if (!aCmd.IsSupported(TMPXAttribute(KMPXCommandContentIdGeneral, EMPXCommandGeneralId)))
+        {
+        User::Leave(KErrArgument);
+        }
+
+    TMPXCommandId commandId =
+        *aCmd.Value<TMPXCommandId>(
+            TMPXAttribute(KMPXCommandContentIdGeneral, EMPXCommandGeneralId));
+
+    TBool syncOp(EFalse);
+    if( aCmd.IsSupported(KMPXCommandGeneralDoSync) )
+        {
+        syncOp = *aCmd.Value<TBool>(KMPXCommandGeneralDoSync);
+        }
+
+    // Handle each operation
+    //
+    switch( commandId )
+        {
+        case KMPXCommandIdCollectionAdd:
+            {
+            DoAddL( *aCmd.Value<CMPXMedia>(KMPXCommandColAddMedia) );
+            break;
+            }
+        case KMPXCommandIdCollectionSet:
+            {
+            DoSetL( *aCmd.Value<CMPXMedia>(KMPXCommandColSetMedia) );
+            break;
+            }
+        default:
+            {
+            User::Leave(KErrNotSupported);
+            }
+        }
+
+    // Complete Async operations
+    //
+    if( !syncOp )
+        {
+        iObs->HandleCommandComplete( NULL, KErrNone );
+        }
+    }
+
+// ----------------------------------------------------------------------------
+// Adds item(s) to the collection
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::AddL(
+    const CMPXMedia& aNewMedia)
+    {
+    DoAddL( aNewMedia );
+    }
+
+// ----------------------------------------------------------------------------
+// Remove by collection path
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::RemoveL(const CMPXCollectionPath& aPath )
+    {
+    (void) aPath;
+    }
+
+// ----------------------------------------------------------------------------
+// Remove an item or items under a group from the collection
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::RemoveL(const CMPXMedia& aMedia)
+    {
+    (void)aMedia;
+    }
+
+// ----------------------------------------------------------------------------
+// Sets/updates the media for the item
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::SetL(
+    const CMPXMedia& aMedia)
+    {
+    DoSetL( aMedia );
+    }
+
+// ----------------------------------------------------------------------------
+// Find based on media properties
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::FindAllL(const CMPXMedia& aMedia,
+                                      const TArray<TMPXAttribute>& aAttrs )
+    {
+    (void)aMedia;
+    (void)aAttrs;
+    }
+
+// ----------------------------------------------------------------------------
+// Find based on media properties
+// ----------------------------------------------------------------------------
+//
+CMPXMedia* CMPXInMemoryPlugin::FindAllSyncL(const CMPXMedia& aMedia,
+                                            const TArray<TMPXAttribute>& aAttrs )
+    {
+    (void)aMedia;
+    (void)aAttrs;
+    User::Leave(KErrNotSupported);
+    return NULL;
+    }
+
+// ----------------------------------------------------------------------------
+// Find the capabilities of this plugin
+// ----------------------------------------------------------------------------
+//
+TCollectionCapability CMPXInMemoryPlugin::GetCapabilities()
+    {
+    return 0; // nothing special supported
+    }
+
+// ----------------------------------------------------------------------------------------------------------
+// Handle change
+// ----------------------------------------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::HandleChangeL(const TMPXItemId& aId, TMPXChangeEventType aChange )
+    {
+    // Construct the message
+    //
+    CMPXMessage* message = CMPXMedia::NewL();
+    CleanupStack::PushL( message );
+
+    // Set attributes
+    //
+    message->SetTObjectValueL<TMPXMessageId>(KMPXMessageGeneralId, KMPXMessageIdItemChanged);
+
+    message->SetTObjectValueL<TUid>(KMPXMessageCollectionId, TUid::Uid(KIMPluginUid));
+
+    message->SetTObjectValueL<TMPXChangeEventType>(KMPXMessageChangeEventType, aChange);
+
+    message->SetTObjectValueL<TMPXItemId>(KMPXMessageMediaGeneralId, aId);
+
+    // Callback to observer and destroy
+    //
+    iObs->HandleMessage( *message );
+    CleanupStack::PopAndDestroy( message );
+    }
+
+// ----------------------------------------------------------------------------
+// Adds item(s) to the collection
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::DoAddL(
+    const CMPXMedia& aNewMedia)
+    {
+    TInt context = *aNewMedia.Value<TInt>( TMPXAttribute(KMPXMediaIdGeneral,
+                                                         EMPXMediaGeneralId ) );
+
+    // Only 1 set of data per embedded context
+    TInt index = iEmbeddedContext.Find( context );
+    if( index != KErrNotFound )
+        {
+        iEmbeddedContext.Remove( index );
+        iTemporaryData.Remove( index );
+        iEmbeddedContext.Compress();
+        iTemporaryData.Compress();
+        }
+    // Push onto list
+    iEmbeddedContext.Append( context );
+
+    CMPXMedia* copy = CMPXMedia::NewL();
+    *copy = aNewMedia;
+    iTemporaryData.AppendL( copy );  // ownership transferred.
+    }
+
+// ----------------------------------------------------------------------------
+// Sets/updates the media for the item
+// ----------------------------------------------------------------------------
+//
+void CMPXInMemoryPlugin::DoSetL(
+    const CMPXMedia& aMedia)
+    {
+    MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL <---");
+    if( !aMedia.IsSupported(KMPXMediaGeneralId) )
+        {
+        User::Leave( KErrArgument );
+        }
+
+    TInt context = *aMedia.Value<TMPXItemId>(KMPXMediaGeneralId);
+    TInt index = iEmbeddedContext.Find( context );
+
+    MPX_DEBUG2("CMPXInMemoryPlugin::DoSetL index %i", index);
+    if( index != KErrNotFound )
+        {
+        TMPXAttribute att( KMPXMediaArrayContents );
+
+        // Make sure it has a media array
+        //
+        if( aMedia.IsSupported( att ) )
+            {
+            MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 1");
+
+            // Grab the 2 media arrays
+            //
+            CMPXMediaArray* currentMedia =
+                           const_cast<CMPXMediaArray*>(iTemporaryData[index]->Value<CMPXMediaArray>(att));
+            const CMPXMediaArray* newMedia = aMedia.Value<CMPXMediaArray>(att);
+
+            MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 2");
+            // Copy all entries from newMedia into currentMedia
+            //
+            TInt newCount = newMedia->Count();
+            for( TInt i=0; i<newCount; ++i )
+                {
+                MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 3");
+                CMPXMedia* copy = CMPXMedia::NewL(*(*newMedia)[i]);
+                CleanupStack::PushL( copy );
+
+                // If the item contains an item ID, we use it as an index to insert
+                // into the array, otherwise, append item to the end
+                //
+                MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 4");
+                if( copy->IsSupported(KMPXMediaGeneralId) )
+                    {
+                    TInt index = *copy->Value<TMPXItemId>(KMPXMediaGeneralId);
+                    MPX_DEBUG2("CMPXInMemoryPlugin::DoSetL index count %i", index);
+                    // index is 0th based, like an array
+                    //
+                    TInt currentCount = currentMedia->Count();
+                    if( index > currentCount )
+                        {
+                        // Fill in blanks then append the item we want
+                        //
+                        for( TInt j=currentCount; j<index; ++j )
+                            {
+                            CMPXMedia* blank = CMPXMedia::NewL();
+                            CleanupStack::PushL( blank );
+                            currentMedia->AppendL( blank ); // ownership xfer
+                            CleanupStack::Pop( blank );
+                            }
+                        currentMedia->AppendL( copy ); // ownership xfer
+                        }
+                    else
+                        {
+                        // Replace item at index with this new version
+                        //
+                        currentMedia->Remove(index);
+                        currentMedia->Insert( copy, index ); // ownership xfer
+                        }
+                    }
+                else
+                    {
+                    currentMedia->AppendL( copy );  // ownership xfer
+                    }
+                MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 5");
+                CleanupStack::Pop(copy);
+                }
+
+            // Set the new array into the media
+            //
+            MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 6");
+            iTemporaryData[index]->SetCObjectValueL(att, currentMedia );
+
+            // Tell collection client context that something was added
+            //
+            MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 7");
+            HandleChangeL( context, EMPXItemInserted );
+            MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL 8");
+            }
+        }
+    else
+        {
+        MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL KErrArgument");
+        User::Leave( KErrArgument );
+        }
+    MPX_DEBUG1("CMPXInMemoryPlugin::DoSetL --->");
+    }
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/src/mpxinmemorypluginproxy.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* 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:  Standard proxy of the ECOM plugin
+*
+*/
+
+
+#include <implementationproxy.h>
+#include "mpxinmemoryplugin.h"
+#include "mpxmusicmemoryplugin.h"
+
+#if (!defined IMPLEMENTATION_PROXY_ENTRY)
+typedef TAny* TProxyNewLPtr;
+#define IMPLEMENTATION_PROXY_ENTRY(aUid,aFuncPtr) 
+                                        {{aUid},(TProxyNewLPtr)(aFuncPtr)}
+#endif
+
+// ----------------------------------------------------------------------------
+// The list of implementations
+// ----------------------------------------------------------------------------
+//
+const TImplementationProxy ImplementationTable[] = 
+    { IMPLEMENTATION_PROXY_ENTRY(0x101FFCD8, CMPXInMemoryPlugin::NewL),
+      IMPLEMENTATION_PROXY_ENTRY(0x10282960, CMPXMusicMemoryPlugin::NewL) };
+
+// ----------------------------------------------------------------------------
+// The proxy of implementations
+// ----------------------------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
+    TInt& aTableCount)
+    {
+    aTableCount=sizeof(ImplementationTable)/sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpserviceplugins/mpxinmemoryplugin/src/mpxmusicmemoryplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,432 @@
+/*
+* 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:  Music specific memory plugin
+*
+*/
+
+
+#include <e32base.h>
+#include <f32file.h>
+#include <badesca.h>
+#include <apgcli.h>
+#include <mpxcollectiontype.h>
+#include <mpxcollectionpath.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediamusicdefs.h>
+#include <mpxmediaaudiodefs.h>
+#include <mpxmediacontainerdefs.h>
+#include <mpxmediadrmdefs.h>
+#include <mpxmediaarray.h>
+#include <mpxcollectionpluginobserver.h>
+#include <mpxdrmmediautility.h>
+
+#include <mpxmetadataextractor.h>
+#include "mpxmusicmemoryplugin.h"
+
+// CONSTANTS
+const TInt KIMMusicPluginUid  = 0x10282960;
+const TMPXAttributeData KMPXMediaFetched = {KIMMusicPluginUid, 0x01}; // TInt
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Default Constructor
+// ---------------------------------------------------------------------------
+//
+CMPXMusicMemoryPlugin::CMPXMusicMemoryPlugin()
+    {
+    }
+
+
+// ---------------------------------------------------------------------------
+// 2nd phased constructor
+// ---------------------------------------------------------------------------
+//
+void CMPXMusicMemoryPlugin::ConstructL()
+    {
+    User::LeaveIfError( iFs.Connect() );
+    User::LeaveIfError( iAppArc.Connect() );
+    RPointerArray<CMPXCollectionType> dummy;
+    CleanupClosePushL( dummy );
+    iMetadataExtractor = CMPXMetadataExtractor::NewL( iFs, iAppArc, dummy );
+    dummy.ResetAndDestroy();
+    CleanupStack::PopAndDestroy( &dummy );
+    
+    iAttributes.AppendL(KMPXMediaDrmAll);
+    
+    // Base class construction
+    CMPXInMemoryPlugin::ConstructL();
+    }
+
+
+// ---------------------------------------------------------------------------
+// Two-phased constructor
+// ---------------------------------------------------------------------------
+//
+CMPXMusicMemoryPlugin* CMPXMusicMemoryPlugin::NewL()
+    {
+    CMPXMusicMemoryPlugin* self = new(ELeave) CMPXMusicMemoryPlugin();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Virtual destructor
+// ---------------------------------------------------------------------------
+//
+CMPXMusicMemoryPlugin::~CMPXMusicMemoryPlugin()
+    {
+    iFs.Close();
+    iAppArc.Close();
+    delete iMetadataExtractor;
+    iAttributes.Close();
+    }
+
+
+// ----------------------------------------------------------------------------
+// Extended properties of the current file (async)
+// ----------------------------------------------------------------------------
+//
+void CMPXMusicMemoryPlugin::MediaL (
+    const CMPXCollectionPath& aPath, 
+    const TArray<TMPXAttribute>& aAttrs,
+    const TArray<TCapability>& /*aCaps*/,
+    CMPXAttributeSpecs* /*aSpecs*/)
+    {
+    RArray<TInt> supportedIds;
+    CleanupClosePushL(supportedIds);
+    supportedIds.AppendL(KMPXMediaIdGeneral);
+    CMPXMedia* entries=CMPXMedia::NewL(supportedIds.Array());
+    CleanupStack::PopAndDestroy(&supportedIds);
+    CleanupStack::PushL(entries);
+    
+    // Based on Path, what is the embedded client context id?
+    //
+    TInt err = KErrNone;
+    TInt depth = aPath.Levels();
+    switch( depth )
+        {
+        case 2:  // Playlist / Song level
+        case 3:  // Song in a playlist level, fall through
+            {
+            TInt context = aPath.Id(1);
+            TInt contextIndex = iEmbeddedContext.Find( context );
+            if( contextIndex >= KErrNone )
+                {
+                CMPXMedia& media = *iTemporaryData[contextIndex];
+                
+                TMPXGeneralCategory cat;
+                cat = *media.Value<TMPXGeneralCategory>(KMPXMediaGeneralCategory);
+                
+                // Playlist media
+                //
+                if( cat == EMPXPlaylist && depth == 2)
+                    {
+                    // Get
+                    const TDesC& title = media.ValueText( KMPXMediaGeneralTitle );
+                    const TDesC& uri = media.ValueText( KMPXMediaGeneralUri );
+                    // Set
+                    entries->SetTextValueL( KMPXMediaGeneralTitle, title );
+                    entries->SetTextValueL( KMPXMediaGeneralUri, uri );
+                    entries->SetTObjectValueL<TUid>(KMPXMediaGeneralCollectionId, 
+                                                    TUid::Uid(KIMMusicPluginUid) );
+                    }
+                // Item in a playlist media
+                //
+                else if( cat == EMPXPlaylist && depth == 3 )
+                    {
+                    const CMPXMediaArray* plarray = media.Value<CMPXMediaArray>(KMPXMediaArrayContents);
+                    TInt selection = aPath.Id(2);
+                    TInt count = plarray->Count();
+                    if( selection < count )
+                        {
+                        if( (*plarray)[selection]->IsSupported(KMPXMediaFetched) )
+                            {
+                            *entries = *(*plarray)[selection];
+                            }
+                        else  // not fetched yet
+                            {
+                            // Extract the data
+                            const TDesC& uri = (*plarray)[selection]->ValueText( KMPXMediaGeneralUri );
+                            CMPXMedia* metadata = ExtractMetadataL( uri, iAttributes.Array() );
+                            CleanupStack::PushL( metadata );                                            
+                            
+                            // Return to client
+                            *entries = *metadata;
+                            
+                            // Save the data
+                            *(*plarray)[selection] = *metadata;         
+                            (*plarray)[selection]->SetTObjectValueL(KMPXMediaFetched, ETrue);
+                            
+                            CleanupStack::PopAndDestroy( metadata );
+                            }
+                        entries->SetTObjectValueL<TUid>( KMPXMediaGeneralCollectionId, 
+                                                         TUid::Uid(KIMMusicPluginUid) );
+                        }
+                    else
+                       {
+                       // Bounds check
+                       err = KErrArgument; 
+                       }
+                    }
+                // Otherwise, assume it is a song
+                //
+                else // cat == song/image/video/etc
+                    {
+                    if( media.IsSupported(KMPXMediaFetched) )
+                        {
+                        *entries = media;    
+                        }
+                    else
+                        {
+                        const TDesC& uri = media.ValueText( KMPXMediaGeneralUri );
+                        CMPXMedia* metadata = ExtractMetadataL( uri, iAttributes.Array() );
+                        CleanupStack::PushL( metadata );
+                        // Return to client
+                        *entries = *metadata;
+                        
+                        //Save the data
+                        media = *metadata;
+                        media.SetTObjectValueL(KMPXMediaFetched, ETrue);
+                        
+                        CleanupStack::PopAndDestroy( metadata );    
+                        }
+                    entries->SetTObjectValueL<TUid>( KMPXMediaGeneralCollectionId, 
+                                                     TUid::Uid(KIMMusicPluginUid) );
+                    }
+                }
+            break;    
+            }  
+        default:
+            {
+            // Return Nothing because a MediaL at this depth contains nothing
+            break;    
+            }
+        }
+    // Copy Path
+    TMPXAttribute pathAttr(KMPXMediaGeneralPath);
+    for (TInt i=aAttrs.Count();--i>=0;)
+        {
+        if (aAttrs[i]==pathAttr)
+            {
+            entries->SetCObjectValueL(pathAttr,
+                                         const_cast<CMPXCollectionPath*>(&aPath));
+            break;
+            }
+        }
+    // Callback to collection client context
+    iObs->HandleMedia( entries, err );
+    CleanupStack::PopAndDestroy(entries);
+    }
+
+// ----------------------------------------------------------------------------------------------------------
+// Set all the attributes in CMPXMedia corresponding to KMPXMediaIdDrm
+// ----------------------------------------------------------------------------------------------------------
+//
+CMPXMedia* CMPXMusicMemoryPlugin::ExtractMetadataL( const TDesC& aUri, 
+                                                    const TArray<TMPXAttribute>& aAttrs )
+    {
+    CMPXMedia* media( NULL );
+    iMetadataExtractor->CreateMediaL( aUri, media, ETrue );
+    
+    // Also set drm 
+    if( media )
+        {
+        CleanupStack::PushL( media );
+        DoSetMediaDrmL( *media, aAttrs, aUri );
+        CleanupStack::Pop( media );
+        }
+    return media;  // ownership transferred
+    }
+
+// ----------------------------------------------------------------------------------------------------------
+// Set all the attributes in CMPXMedia corresponding to KMPXMediaIdDrm
+// ----------------------------------------------------------------------------------------------------------
+//
+void CMPXMusicMemoryPlugin::DoSetMediaDrmL(CMPXMedia& aMedia, 
+                                           const TArray<TMPXAttribute>& aAttrs, 
+                                           const TDesC& aLocation )
+    {
+    // Gather all DRM attributes
+    TUint aDrmAttributes(0);
+    for( TInt i=0; i<aAttrs.Count(); ++i )
+        {
+        if( aAttrs[i].ContentId() == KMPXMediaIdDrm )
+            {
+            aDrmAttributes |= aAttrs[i].AttributeId();
+            }
+        }
+    
+    iDrmMediaUtility->InitL(aLocation);
+    const CMPXMedia* drmMedia( iDrmMediaUtility->GetMediaL( aDrmAttributes ));   
+    
+    // Only get attributes if it's a DRM file
+    if ( drmMedia )
+        {
+        if ( aDrmAttributes & KMPXMediaDrmType.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmType );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt val( *drmMedia->Value<TInt>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmRightsStatus.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmRightsStatus );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt val( *drmMedia->Value<TInt>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmRightsType.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmRightsType );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt val( *drmMedia->Value<TInt>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmCount.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmCount );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt val( *drmMedia->Value<TInt>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmProtected.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmProtected );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmSendingAllowed.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmSendingAllowed );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmCanSetAutomated.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmCanSetAutomated );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmHasInfoUrl.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmHasInfoUrl );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmHasPreviewUrl.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmHasPreviewUrl );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmAboutToExpire.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmAboutToExpire );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TBool val( *drmMedia->Value<TBool>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmStartTime.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmStartTime );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt64 val( *drmMedia->Value<TInt64>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmEndTime.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmEndTime );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt64 val( *drmMedia->Value<TInt64>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmIntervalStartTime.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmIntervalStartTime );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt64 val( *drmMedia->Value<TInt64>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmAccumulatedTime.iAttributeId )
+            {                        
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, 
+                                  EMPXMediaDrmAccumulatedTime );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TInt64 val( *drmMedia->Value<TInt64>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        if ( aDrmAttributes & KMPXMediaDrmInterval.iAttributeId )
+            {
+            TMPXAttribute mpxAtt( KMPXMediaIdDrm, EMPXMediaDrmInterval );
+            if ( drmMedia->IsSupported( mpxAtt ))
+                {
+                TTimeIntervalSeconds val(
+                    *drmMedia->Value<TTimeIntervalSeconds>( mpxAtt ));
+                aMedia.SetTObjectValueL( mpxAtt, val );
+                }
+            }
+        }
+    iDrmMediaUtility->Close();        
+    }
+// END OF FILE
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionalbumartmanager.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionalbumartmanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -20,13 +20,11 @@
 #define MPCOLLECTIONALBUMARTMANAGER_H
 
 #include <QObject>
-#include <QHash>
-#include <QMap>
-#include <QQueue>
-#include <QPair>
-#include <QBitmap>
-#include <hbicon.h>
+#include <QCache>
+#include <QIcon>
+#include <QList>
 
+class MpMpxCollectionData;
 class ThumbnailManager;
 
 class MpCollectionAlbumArtManager : public QObject
@@ -35,31 +33,34 @@
 
 public:
 
-    explicit MpCollectionAlbumArtManager( QObject *parent=0 );
+    explicit MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent=0 );
     virtual ~MpCollectionAlbumArtManager();
 
-    HbIcon albumArt( const QString &albumArtUri, int index );
-    bool cacheAlbumArt( const QStringList albumArtList );
+    const QIcon* albumArt( int index );
+    void cacheFirstScreen();
     void cancel();
 
 signals:
 
     void albumArtReady( int index );
-    void albumCacheReady();
 
 public slots:
 
-    void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error );
+    void thumbnailReady( QPixmap pixmap, void *data, int id, int error );
 
 private:
 
+    MpMpxCollectionData             *mCollectionData;
     ThumbnailManager                *mThumbnailManager;
-    QHash<QString, HbIcon>          mImageCache;
-    QMap<int, QString>              mTnmReqMap;
+    QCache<int, QIcon>              mImageCache;
     bool                            mCachingInProgress;
 
-    QQueue< QPair<QString, int> >   mRequestQueue;
-    int                             mRequestCount;
+    QIcon                           *mDefaultIcon;
+
+    QList<int>                      mRequestQueue;
+    bool                            mPendingRequest;
+    int                             mRequestId;
+
 };
 
 #endif // MPCOLLECTIONALBUMARTMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontaineralbums.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player collection container definition - Artists.
+*
+*/
+
+#ifndef MPCOLLECTIONCONTAINERALBUMS_H
+#define MPCOLLECTIONCONTAINERALBUMS_H
+
+#include "mpcollectionlistcontainer.h"
+
+class HbGroupBox;
+
+class MpCollectionContainerAlbums : public MpCollectionListContainer
+{
+    Q_OBJECT
+
+public:
+
+    explicit MpCollectionContainerAlbums( HbDocumentLoader *loader, QGraphicsItem *parent=0 );
+    virtual ~MpCollectionContainerAlbums();
+
+public slots:
+
+    void itemActivated( const QModelIndex &index );
+
+private:
+
+    void setupContainer();
+
+private:
+
+    HbGroupBox      *mInfoBar;          // Own
+
+    QString         mArtist;
+    QString         mAlbum;
+
+};
+
+#endif  // MPCOLLECTIONCONTAINERALBUMS_H
+
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerallsongs.h	Fri Apr 16 14:56:30 2010 +0300
@@ -20,7 +20,7 @@
 
 #include "mpcollectionlistcontainer.h"
 
-class MpCollectionInfoBar;
+class HbGroupBox;
 
 class MpCollectionContainerAllSongs : public MpCollectionListContainer
 {
@@ -37,7 +37,7 @@
 
 private:
 
-    MpCollectionInfoBar     *mInfoBar;
+    HbGroupBox     *mInfoBar;   // Own
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerartists.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +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 - Artists.
-*
-*/
-
-#ifndef MPCOLLECTIONCONTAINERARTISTS_H
-#define MPCOLLECTIONCONTAINERARTISTS_H
-
-#include "mpcollectionlistcontainer.h"
-
-class MpCollectionInfoBar;
-
-class MpCollectionContainerArtists : public MpCollectionListContainer
-{
-    Q_OBJECT
-
-public:
-
-    explicit MpCollectionContainerArtists( HbDocumentLoader *loader, QGraphicsItem *parent=0 );
-    virtual ~MpCollectionContainerArtists();
-
-public slots:
-
-    void itemActivated( const QModelIndex &index );
-
-private:
-
-    void setupContainer();
-
-private:
-
-    MpCollectionInfoBar     *mInfoBar;
-    bool                    mListInitialized;
-
-    QString                 mArtist;
-    QString                 mAlbum;
-
-};
-
-#endif  // MPCOLLECTIONCONTAINERARTISTS_H
-
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioncontainerplaylists.h	Fri Apr 16 14:56:30 2010 +0300
@@ -20,7 +20,7 @@
 
 #include "mpcollectionlistcontainer.h"
 
-class MpCollectionInfoBar;
+class HbGroupBox;
 
 class MpCollectionContainerPlaylists : public MpCollectionListContainer
 {
@@ -37,8 +37,7 @@
 
 private:
 
-    MpCollectionInfoBar     *mInfoBar;
-    bool                    mListInitialized;
+    HbGroupBox      *mInfoBar;              // Own
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectiondatamodel.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectiondatamodel.h	Fri Apr 16 14:56:30 2010 +0300
@@ -35,21 +35,28 @@
 
     int rowCount(const QModelIndex &parent=QModelIndex()) const;
     QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const;
-
-    void refreshModel();
+    Qt::DropActions supportedDropActions() const;
+    bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
+    QStringList mimeTypes() const;
+    QMimeData *mimeData(const QModelIndexList &indexes) const;
+    bool dropMimeData(const QMimeData *data, Qt::DropAction action,
+                              int row, int column, const QModelIndex &parent);
+    
     MpMpxCollectionData *collectionData();
+    
+signals:
+    void orderChanged( int containerId, int itemId, int itemOrdinal, int newOrdinal );
 
 public slots:
 
     void updateAlbumArt( int index );
-    void albumCacheReady();
+    void refreshModel();
 
 private:
 
     MpMpxCollectionData             *mCollectionData;
 	MpCollectionAlbumArtManager     *mAlbumArtManager;  // Own
     int                             mRowCount;
-    bool                            mCachingInProgress;
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectioninfobar.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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 information bar.
-*
-*/
-
-#ifndef MPCOLLECTIONINFOBAR_H
-#define MPCOLLECTIONINFOBAR_H
-
-
-#include <hbwidget.h>
-
-class HbLabel;
-class HbDocumentLoader;
-
-class MpCollectionInfoBar : public HbWidget
-{
-    Q_OBJECT
-
-public:
-
-    explicit MpCollectionInfoBar( QGraphicsItem *parent=0 );
-    virtual ~MpCollectionInfoBar();
-
-    void setText( const QString &textLeft );
-    void setText( const QString &textLeft, const QString &textRight );
-    void paint( QPainter *painter, const QStyleOptionGraphicsItem *option,
-        QWidget *widget=0 );
-
-public slots:
-
-    void orientationChange( Qt::Orientation orientation );
-
-private:
-
-    HbDocumentLoader        *mDocumentLoader;   // Own
-    HbWidget                *mContainer;        // Own
-    HbLabel                 *mTextLeft;
-    HbLabel                 *mTextRight;
-    bool                    mSingleText;
-    Qt::Orientations        mOrientation;
-
-};
-
-#endif  // MPCOLLECTIONINFOBAR_H
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionlistcontainer.h	Fri Apr 16 14:56:30 2010 +0300
@@ -22,13 +22,14 @@
 #include <QObject>
 
 #include <hbwidget.h>
-#include <hbeffect.h>
 
 #include "mpcollectioncontainer.h"
 #include "mpmpxcollectionviewdefs.h"
 
 class HbListView;
 class HbAbstractViewItem;
+class HbLabel;
+class HbIndexFeedback;
 
 class MpCollectionListContainer : public MpCollectionContainer
 {
@@ -46,20 +47,19 @@
 
     virtual void itemActivated( const QModelIndex &index );
     virtual void onLongPressed(HbAbstractViewItem *listViewItem, const QPointF &coords);
-    void itemChosenFxComplete1( const HbEffect::EffectStatus &status );
-    void itemChosenFxComplete2( const HbEffect::EffectStatus &status );
 
 
 protected:
 
     explicit MpCollectionListContainer( HbDocumentLoader *loader, QGraphicsItem *parent=0 );
     virtual void initializeList();
+    void setupEmptyListContainer();
 
 protected:
 
     HbListView              *mList;
-    QModelIndex             mChosenIndex;
-    bool                    mEffectOnGoing;
+    HbLabel                 *mNoMusic;
+    HbIndexFeedback         *mIndexFeedback;
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionsongscanner.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: Music Player collection song scanner.
-*
-*/
-
-
-#ifndef MPCOLLECTIONSONGSCANNER_H
-#define MPCOLLECTIONSONGSCANNER_H
-
-class MpMpxFrameworkWrapper;
-class HbProgressNote;
-
-#include <QObject>
-
-class MpCollectionSongScanner : public QObject
-{
-    Q_OBJECT
-
-public:
-
-    explicit MpCollectionSongScanner( MpMpxFrameworkWrapper *wrapper, QObject *parent=0 );
-    virtual ~MpCollectionSongScanner();
-
-    void scan();
-    bool isScanning();
-
-signals:
-
-    void scanEnded();
-
-public slots:
-
-    void cancelScan();
-    void handleScanStarted();
-    void handleScanEnded();
-    void handleScanCountChanged(int count);
-
-private:
-
-    MpMpxFrameworkWrapper       *mMpxWrapper;       // NotOwn
-    TBool                       mScanning;
-    HbProgressNote              *mScanProgressNote; // Own
-
-};
-
-#endif // MPCOLLECTIONSONGSCANNER_H
-
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpcollectionview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -35,11 +35,13 @@
 class MpCollectionContainerFactory;
 class MpCollectionContainer;
 class MpCollectionDataModel;
+class MpEngine;
 class MpMpxFrameworkWrapper;
 class MpMpxCollectionData;
 class MpNowPlayingWidget;
 class MpSnapshotWidget;
-class MpCollectionSongScanner;
+class QTranslator;
+class HbPopup;
 
 class MpCollectionView : public MpViewBase
 {
@@ -53,6 +55,7 @@
     void initializeView();
     void activateView();
     void deactivateView();
+    void setDefaultView();
 
     void orientationChange( Qt::Orientation orientation );
 
@@ -78,9 +81,6 @@
 
     void startPlaybackView();
     void attachNowPlayingBanner( bool active );
-    void nowPlayingBannerActivated();
-    void nowPlayingBannerChosenFxComplete1( const HbEffect::EffectStatus &status );
-    void nowPlayingBannerChosenFxComplete2( const HbEffect::EffectStatus &status );
     void containerTransitionComplete( const HbEffect::EffectStatus &status );
 
     void shufflePlayAll();
@@ -93,9 +93,17 @@
     void songsDeleted( bool success );
     void playlistsRenamed( bool success );
 
-    void handleScanningComplete();
+    void prepareToAddToPlaylist();
+    void handleIsolatedCollectionOpened( MpMpxCollectionData* collectionData );
+    void addToCurrentPlaylist( MpMpxCollectionData* collectionData );
+    void createNewPlaylist( MpMpxCollectionData* collectionData );
+    void arrangeSongs();
+    void openContextMenu( int index, const QPointF &coords );
+    void outstandingPopupClosing();
 
-    void openContextMenu( int index, const QPointF &coords );
+    void handleUsbBlocked( bool blocked );
+    void handleLibraryAboutToUpdate();
+    void handleLibraryUpdated();
 
 private:
 
@@ -106,26 +114,28 @@
     void setPlaylistToolBar();
 
     HbAction *createToolBarAction( QActionGroup *actionsGroup,
-        const QString& iconOn,
-        const QString& iconOff,
-        const QString& toolTip );
+        const QString& icon );
 
     void updateMenu();
     void updateToolBar();
     void setSoftkey();
-    void clearSoftkey();
 
     void setBannerVisibility( bool visible );
     int generateShuffleIndex();
-    void launchAddToPlaylistDialog( QList<int> selection );
+    void launchAddToPlaylistDialog( QList<int> &selection );
     void startContainerTransition( TCollectionContext contextFrom, TCollectionContext contextTo );
-    void requestDelete(QList<int> selection);
+    void requestDelete( QList<int> &selection );
+    QModelIndexList getModelIndexes( const QString &label, QAbstractItemModel* model, bool &ok );
+    QString getText(const QString &label,const QString &text, bool &ok);
+    void setOutstandingPopup(HbPopup *popup);
+    bool queryNewPlaylistName(QString &newPlaylistName , const QStringList &playlists );
 
 private:
 
     TCollectionContext              mCollectionContext;
 
     MpMpxFrameworkWrapper           *mMpxWrapper;           // Own
+    MpEngine                        *mMpEngine;             // Not own
     MpMpxCollectionData             *mCollectionData;       // Not own
 
     MpCollectionContainerFactory    *mContainerFactory;     // Own
@@ -135,7 +145,6 @@
     bool                            mActivated;
     MpNowPlayingWidget              *mNowPlayingBanner;     // Own
     bool                            mBannerAttached;
-    bool                            mEffectOnGoing;
 
     HbMainWindow                    *mWindow;               // Not own
     HbAction                        *mSoftKeyQuit;          // Not own
@@ -148,8 +157,14 @@
     HbToolBar                       *mPlaylistToolBar;
 
     MpSnapshotWidget                *mSnapshot;
-    MpCollectionSongScanner         *mSongScanner;          // Own
-    bool                            mScanning;
+
+    QTranslator                     *mMpTranslator;         // Own
+    QTranslator                     *mCommonTranslator;     // Own
+
+    bool                            mActivationWaiting;
+    HbPopup                         *mOutstandingPopup;     // Not own
+
+    bool                            mUsbBlocked;
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -58,6 +58,11 @@
     bool isAutoPlaylist();
     bool isAutoPlaylist( int index );
     int itemCount( int index );
+    int containerId();
+    int itemId(int index);
+    void removeItem(int index);
+    bool testCachedItem( int itemId );
+    void insertCachedItem(int index);
 
     void setMpxMedia( const CMPXMedia& entries );
     const CMPXMedia& containerMedia();
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata_p.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectiondata_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -43,6 +43,11 @@
     bool isAutoPlaylist();
     bool isAutoPlaylist( int index );
     int itemCount( int index );
+    int containerId();
+    int itemId(int index);
+    void removeItem(int index);
+    bool testCachedItem( int itemId );
+    void insertCachedItem(int index);
 
     void setMpxMedia( const CMPXMedia& entries );
     const CMPXMedia& containerMedia();
@@ -53,6 +58,11 @@
     bool DoIsAutoPlaylistL();
     bool DoIsAutoPlaylistL( int index );
     int DoGetItemCountL( int index );
+    int DoGetContainerIdL();
+    int DoGetItemIdL( int index );
+    void DoRemoveItemL( int index );
+    bool DoTestCachedItemL( int itemId );
+    
     void SetCollectionContextL();
     void DoSetMpxMediaL( const CMPXMedia& entries );
 
@@ -64,6 +74,8 @@
     CMPXMediaArray          *iMediaArray;           // Not owned
 
     TCollectionContext      iContext;
+    
+    CMPXMedia               *iCachedRemovedItem; //Owned
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectionviewdefs.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxcollectionviewdefs.h	Fri Apr 16 14:56:30 2010 +0300
@@ -25,7 +25,7 @@
 enum TCollectionContext {
     ECollectionContextUnknown = 0,
     ECollectionContextAllSongs,
-    ECollectionContextArtistAlbums,
+    ECollectionContextAlbums,
     ECollectionContextAlbumSongs,
     ECollectionContextPlaylists,
     ECollectionContextPlaylistSongs,
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -36,41 +36,45 @@
 
 public:
 
-    explicit MpMpxFrameworkWrapper(
+    explicit MpMpxFrameworkWrapper( 
         MpCommon::MpViewMode viewMode=MpCommon::DefaultView, QObject *parent=0 );
     virtual ~MpMpxFrameworkWrapper();
 
     void openCollection( TCollectionContext context );
     void openCollectionItem( int index );
-    void reopenCollection();
     void back();
     void findPlaylists( QStringList &playlists );
-    void createPlaylist( QString playlistName, QList<int> selection );
-    void saveToPlaylist( int playlistIndex, QList<int> selection );
-    void renamePlaylist( QString newName, int index );
-    void renamePlaylist( QString newName );
-    void deleteSongs( QList<int> selection );
+    void createPlaylist( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData = 0  );
+    void saveToPlaylist( int playlistIndex, QList<int> &selection );
+    void saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData );    
+    void renamePlaylist( QString &newName, int index );
+    void renamePlaylist( QString &newName );
+    void deleteSongs( QList<int> &selection );
     void setShuffle( bool active );
-    void scan();
-    void cancelScan();
+    
     void previewItem( int index );
-
+    void openIsolatedCollection( TCollectionContext context );
+    void releaseIsolatedCollection();
+    
     MpMpxCollectionData *collectionData();
-
+    
 signals:
 
     void collectionPlaylistOpened();
     void playlistSaved( bool success );
     void songsDeleted( bool success );
     void playlistsRenamed( bool success );
+    
+    void isolatedCollectionOpened( MpMpxCollectionData* collectionData );
 
-    void scanStarted();
-    void scanEnded();
-    void scanCountChanged( int count );
+public slots:
+
+    void reopenCollection();
+    void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
 
 private:
 
-    Q_DISABLE_COPY(MpMpxFrameworkWrapper)
+    Q_DISABLE_COPY( MpMpxFrameworkWrapper )
     MpMpxFrameworkWrapperPrivate *d_ptr;
 
 };
--- a/mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper_p.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxframeworkwrapper_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -22,6 +22,7 @@
 #include <mpxcollectionobserver.h>
 #include <mpxcollectionuihelperobserver.h>
 
+#include "mpmpxisolatedcollectionhelper.h" //MMpMpxIsolatedCollectionHelperObserver
 #include "mpmpxcollectionviewdefs.h"
 #include "mpcommondefs.h"
 
@@ -36,7 +37,8 @@
 
 
 class MpMpxFrameworkWrapperPrivate : public MMPXCollectionObserver,
-                                     public MMPXCHelperObserver
+                                     public MMPXCHelperObserver,
+                                     public MMpMpxIsolatedCollectionHelperObserver
 {
 public:
 
@@ -49,28 +51,31 @@
     void reopenCollection();
     void back();
     void findPlaylists( QStringList &playlists );
-    void createPlaylist( QString playlistName, QList<int> selection );
-    void saveToPlaylist( int playlistIndex, QList<int> selection );
-    void deleteSongs( QList<int> selection );
-    void renamePlaylist( QString newName, int index);
-    void renamePlaylist( QString newName);
+    void createPlaylist( QString &playlistName, QList<int> &selection, MpMpxCollectionData *collectionData );
+    void saveToPlaylist( int playlistIndex, QList<int> &selection );
+    void saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData );    
+    void deleteSongs( QList<int> &selection );
+    void renamePlaylist( QString &newName, int index );
+    void renamePlaylist( QString &newName );
     void setShuffle( bool active );
-    void scan();
-    void cancelScan();
     void previewItem( int index );
+    void openIsolatedCollection( TCollectionContext context );
+    void releaseIsolatedCollection();
+    void reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal );
 
     MpMpxCollectionData *collectionData();
 
+private:
+
+
     void HandleOpenL( const CMPXMedia& aEntries,
                      TInt aIndex,TBool aComplete,TInt aError );
     void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist,TInt aError );
     void HandleCollectionMessage( CMPXMessage* aMsg, TInt aErr );
     void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );
-
     void HandleOperationCompleteL( TCHelperOperation aOperation, TInt aErr, void* aArgument );
-
-private:
-
+    void HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError );
+    
     void DoInitL();
     void DoOpenCollectionL( TCollectionContext aContext );
     void DoOpenCollectionItemL( TInt aIndex );
@@ -78,38 +83,38 @@
     void DoReopenCollectionL();
     void DoBackL();
     void DoFindPlaylistsL( QStringList &playlists );
-    void DoCreatePlaylistL( QString playlistName, QList<int> selection );
-    void DoSaveToPlaylistL( int playlistIndex, QList<int> selection );
-    void DoDeleteSongsL( QList<int> selection );
-    void DoRenamePlaylistL( QString newName, int index );
-    void DoRenamePlaylistL( QString newname );
-    void DoRenamePlaylistL( TMPXItemId id, QString newName );
+    void DoSaveToPlaylistL( TMPXItemId playlistId, QList<int> &selection, MpMpxCollectionData *collectionData );
+    void DoCreatePlaylistL( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData );
+    void DoSaveToPlaylistL( int playlistIndex, QList<int> &selection );
+    
+    void DoDeleteSongsL( QList<int> &selection );
+    void DoRenamePlaylistL( QString &newName, int index );
+    void DoRenamePlaylistL( QString &newname );
+    void DoRenamePlaylistL( TMPXItemId id, QString &newName );
+    void DoSaveToCurrentPlaylistL( QList<int> &selection, MpMpxCollectionData *collectionData );
     void DoSetShuffleL( bool active );
-    void DoScanL();
-    void DoCancelScanL();
     void DoPreviewItemL( int index );
+    void DoOpenIsolatedCollectionL( TCollectionContext context );
+    void DoReorderPlaylistL( int playlistId, int songId, int originalOrdinal, int newOrdinal );
     void DoHandleCollectionMessageL( const CMPXMessage& aMsg );
 
-    void PreparePlaylistMediaL( CMPXMedia& aMedia, QList<int> selection );
+    void PreparePlaylistMediaL( CMPXMedia& aMedia, QList<int> &selection, MpMpxCollectionData *collectionData );
 
 private:
 
-    MpMpxFrameworkWrapper       *q_ptr;
-
-    MMPXCollectionUtility       *iCollectionUtility;
-    MMPXCollectionUiHelper      *iCollectionUiHelper;
-    CMPXCollectionOpenUtility   *iIncrementalOpenUtil;
-    MMPXPlaybackUtility         *iPlaybackUtility;
-    MMPXHarvesterUtility        *iHarvesterUtility;
+    MpMpxFrameworkWrapper            *q_ptr;
 
-    MpMpxCollectionData         *iCollectionData;       // Owned
-    TBool                       iFirstIncrementalOpen;
-
-    CMPXMedia                   *iUserPlaylists;        // Owned
-
-    TInt                        iNumItemsAdded;
-
-    MpCommon::MpViewMode        iViewMode;
+    MMPXCollectionUtility            *iCollectionUtility;
+    MMPXCollectionUiHelper           *iCollectionUiHelper;
+    CMPXCollectionOpenUtility        *iIncrementalOpenUtil;
+    CMpMpxIsolatedCollectionHelper   *iIsolatedCollectionHelper;
+    MMPXPlaybackUtility              *iPlaybackUtility;
+    MpMpxCollectionData              *iCollectionData;         // Owned
+    MpMpxCollectionData              *iIsolatedCollectionData; // Owned
+    TBool                            iFirstIncrementalOpen;
+    CMPXMedia                        *iUserPlaylists;          // Owned
+    TInt                             iNumItemsAdded;
+    MpCommon::MpViewMode             iViewMode;
 
 };
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/inc/mpmpxisolatedcollectionhelper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: isolated collection helper.
+*
+*/
+
+#ifndef CMPMPXISOLATEDCOLLECTIONHELPER_H
+#define CMPMPXISOLATEDCOLLECTIONHELPER_H
+
+#include <mpxcollectionobserver.h>
+
+class CMPXCollectionOpenUtility;
+class CMPXCollectionPath;
+
+/*!
+    \class MpMpxIsolatedCollectionHelperObserver
+    \brief Observer interface for class CMpMpxIsolatedCollectionHelper
+
+    This is a helper class to open an insolated collection.
+*/
+class MMpMpxIsolatedCollectionHelperObserver
+{
+public:
+
+    virtual void HandleIsolatedOpenL( const CMPXMedia& aEntries, 
+            TInt aError ) = 0;
+};
+
+class CMpMpxIsolatedCollectionHelper : public CBase,
+                                      public MMPXCollectionObserver
+{
+public:
+
+    static CMpMpxIsolatedCollectionHelper* NewL( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+    static CMpMpxIsolatedCollectionHelper* NewLC( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+    virtual ~CMpMpxIsolatedCollectionHelper();
+    void OpenCollectionL( CMPXCollectionPath& aPath );
+    
+private:
+    CMpMpxIsolatedCollectionHelper( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+    void ConstructL();
+    void HandleOpenL( const CMPXMedia& aEntries,
+                     TInt aIndex,TBool aComplete,TInt aError );
+    void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist,TInt aError );
+    void HandleCollectionMessage( CMPXMessage* aMsg, TInt aErr );
+    void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );
+
+private:
+    MMpMpxIsolatedCollectionHelperObserver* iObserver;
+    CMPXCollectionOpenUtility*              iIncrementalOpenUtil; //owned
+    TBool                                   iFirstIncrementalOpen;
+
+};
+
+#endif // CMPMPXISOLATEDCOLLECTIONHELPER_H
+    
+//EOF
--- a/mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/mpcollectionviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -40,10 +40,8 @@
     -lmpxviewframeworkqt.dll \
     -lmpxcollectionhelper.dll \
     -lmpnowplayingbanner.dll  \
-    -lhbcore \
-    -lhbwidgets \
-    -lhbtools \
-    -lmpsettingsmanager
+    -lmpsettingsmanager \
+    -lmpengine
     
 symbian:TARGET.EPOCALLOWDLLDATA	= 1
 
@@ -55,13 +53,12 @@
     	   src/mpcollectioncontainer.cpp \
     	   src/mpcollectionlistcontainer.cpp \
     	   src/mpcollectioncontainerallsongs.cpp \
-    	   src/mpcollectioncontainerartists.cpp \
+    	   src/mpcollectioncontaineralbums.cpp \
     	   src/mpcollectioncontainerplaylists.cpp \
     	   src/mpcollectioncontainergenres.cpp \
     	   src/mpcollectiondatamodel.cpp \
     	   src/mpcollectionalbumartmanager.cpp \
-    	   src/mpcollectioninfobar.cpp \
-           src/mpcollectionsongscanner.cpp \
+           src/mpmpxisolatedcollectionhelper.cpp \
            src/mpmpxframeworkwrapper.cpp \
            src/mpmpxframeworkwrapper_p.cpp \
            src/mpmpxcollectiondata.cpp \
@@ -76,15 +73,14 @@
     	  inc/mpcollectioncontainer.h \
     	  inc/mpcollectionlistcontainer.h \
     	  inc/mpcollectioncontainerallsongs.h \
-    	  inc/mpcollectioncontainerartists.h \
+    	  inc/mpcollectioncontaineralbums.h \
     	  inc/mpcollectioncontainerplaylists.h  \
     	  inc/mpcollectioncontainergenres.h  \
     	  inc/mpcollectiondatamodel.h \
     	  inc/mpcollectionalbumartmanager.h \
-    	  inc/mpcollectioninfobar.h \
-          inc/mpcollectionsongscanner.h \
           inc/mpmpxcollectionviewdefs.h \
           inc/mpmpxframeworkwrapper.h \
+          inc/mpmpxisolatedcollectionhelper.h \
           inc/mpmpxframeworkwrapper_p.h \
           inc/mpmpxcollectiondata.h \
           inc/mpmpxcollectiondata_p.h  \
--- a/mpviewplugins/mpcollectionviewplugin/resources/all_songs.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="34.934082" y1="10.2143555" x2="14.5689669" y2="39.2987518">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M24.7519531,7.0058594C14.9477539,7.0058594,7,14.953125,7,24.7578125
-			c0,9.8027344,7.9477539,17.75,17.7519531,17.75s17.7519531-7.9472656,17.7519531-17.75
-			C42.5039062,14.953125,34.5561523,7.0058594,24.7519531,7.0058594z M24.7519531,38.8457031
-			c-7.7802734,0-14.0883789-6.3085938-14.0883789-14.0878906c0-7.78125,6.3081055-14.0898438,14.0883789-14.0898438
-			c7.7797852,0,14.0878906,6.3085938,14.0878906,14.0898438C38.8398438,32.5371094,32.5317383,38.8457031,24.7519531,38.8457031z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="30.7680664" y1="15.4790039" x2="18.7067165" y2="32.7043953">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M32.6728516,21.4609375l0.0019531-4.6474609
-			c-1.7460938-1.1748047-4.9008789-1.9462891-8.1796875-1.9814453v11.7636719
-			C23.6293945,26.25,22.609375,26.1171875,21.546875,26.3017578c-2.5429688,0.4482422-4.3041992,2.4599609-3.9541016,4.4931641
-			c0.3588867,2.0273438,2.7094727,3.3183594,5.2514648,2.8671875c2.3671875-0.4140625,4.034668-2.1894531,3.9667969-4.0751953
-			v-9.9755859C29.3076172,19.9179688,31.5717773,20.640625,32.6728516,21.4609375z"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/all_songs_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="34.934082" y1="10.2143555" x2="14.5689669" y2="39.2987518">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M24.7519531,7.0058594C14.9477539,7.0058594,7,14.953125,7,24.7578125
-			c0,9.8027344,7.9477539,17.75,17.7519531,17.75s17.7519531-7.9472656,17.7519531-17.75
-			C42.5039062,14.953125,34.5561523,7.0058594,24.7519531,7.0058594z M24.7519531,38.8457031
-			c-7.7802734,0-14.0883789-6.3085938-14.0883789-14.0878906c0-7.78125,6.3081055-14.0898438,14.0883789-14.0898438
-			c7.7797852,0,14.0878906,6.3085938,14.0878906,14.0898438C38.8398438,32.5371094,32.5317383,38.8457031,24.7519531,38.8457031z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="30.7680664" y1="15.4790039" x2="18.7067165" y2="32.7043953">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M32.6728516,21.4609375l0.0019531-4.6474609
-			c-1.7460938-1.1748047-4.9008789-1.9462891-8.1796875-1.9814453v11.7636719
-			C23.6293945,26.25,22.609375,26.1171875,21.546875,26.3017578c-2.5429688,0.4482422-4.3041992,2.4599609-3.9541016,4.4931641
-			c0.3588867,2.0273438,2.7094727,3.3183594,5.2514648,2.8671875c2.3671875-0.4140625,4.034668-2.1894531,3.9667969-4.0751953
-			v-9.9755859C29.3076172,19.9179688,31.5717773,20.640625,32.6728516,21.4609375z"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/artists.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="32.7128906" y1="18.1611328" x2="14.38379" y2="44.3377991">
-		<stop  offset="0" style="stop-color:#FFFFFF"/>
-		<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-		<stop  offset="1" style="stop-color:#FFFFFF"/>
-	</linearGradient>
-	<path fill="url(#SVGID_1_)" d="M26.0581055,36.7416992c-0.5-4.171875,0.453125-7.8925781,0.9082031-9.0253906
-		c0.453125-1.1367188,0.1347656-2.4960938,3.6738281,1.1777344c3.5371094,3.6757812,4.4902344,3.7207031,5.9873047,4.6738281
-		c1.4970703,0.9511719,4.9443359,3.8554688,5.4892578,4.4003906c0.5439453,0.5429688,1.9960938,1.1328125,2.9941406,1.1777344
-		c0.9980469,0.046875,0.8164062-0.453125,0.8164062-0.453125s-0.7265625-0.9082031-0.4082031-1.9960938
-		c0.3164062-1.0878906-1.3164062-1.0429688-1.3164062-1.0429688c-2.5390625-0.2265625-3.7636719-2.0410156-3.7636719-2.0410156
-		c-2.0878906-3.5390625-6.8056641-7.53125-6.8515625-7.6699219c-0.0439453-0.1367188-2.765625-1.7207031-3.8095703-3.9902344
-		c-1.0439453-2.2675781-3.1298828-4.4902344-3.1298828-4.4902344c-1.1347656-1.4960938-3.9921875-0.6347656-3.9921875-0.6347656
-		s-1.9960938,0.2714844-1.2705078-0.8164062c0.7255859-1.0898438,0.1367188-1.1796875-0.25-1.7695312
-		c-0.3876953-0.5898438-0.1123047-1.2714844-0.1123047-1.2714844c0.6347656-2.3574219-1.5878906-3.8554688-2.4951172-4.7167969
-		s-2.9951172-0.953125-3.6748047-0.3632812s-0.9521484,0.6816406-0.9521484,0.6816406
-		c-1.8154297,0.1816406-3.5849609,2.8125-3.9931641,2.8574219c-0.4072266,0.0449219-0.4072266,0.3632812-0.2265625,0.3164062
-		c0.1816406-0.0449219,0.2265625,0.4101562,0.3632812,0.5c0.1367188,0.0917969,0.4541016,0.453125,0.4541016,0.8164062
-		s-0.0908203,0.953125,0.4082031,1.2246094s0,1.1796875,0,1.1796875s0.0908203,0.9980469-0.3642578,0.953125
-		c-0.453125-0.0449219-0.8144531,0.8164062-0.8144531,1.1328125c0,0.3183594-0.3183594,0.4101562-0.4101562,0.2285156
-		c-0.0898438-0.1816406-0.6796875-0.7714844-0.8154297-0.4082031c-0.1367188,0.3632812-1.3613281,1.2695312-1.9501953,1.6328125
-		c-0.5898438,0.3632812-0.453125,0.9082031-0.453125,0.9082031l-3.5390625,2.1757812l0.6347656,1.1347656l2.359375-1.5429688
-		c-0.1826172,0.5449219,0.4082031,1.0429688,0.6796875,0.9082031c0.2724609-0.1367188,0.953125-0.2265625,0.8164062,0.7246094
-		c-0.1367188,0.953125,1.3154297,8.8476562,2.2695312,11.25c0.9521484,2.4042969,2.8574219,1.0898438,3.7636719,0.1816406
-		c0.9072266-0.90625,0.8173828-0.0898438,0.8173828-0.0898438c-0.8173828,4.8535156,0,9.3442383,0,9.3442383
-		S19.9858398,37.8198242,26.0581055,36.7416992z M17.121582,21.6811523c0,0-2.8583984,2.7675781-2.8134766,3.1757812
-		c0.046875,0.4082031,0.1914062,0.9960938-0.4023438,2.0410156c-0.5957031,1.0449219-1.8652344,3.0214844-1.9101562,3.7578125
-		c-0.0449219,0.734375-1.3613281-3.7578125-2.0410156-5.4804688c-0.6806641-1.7246094-0.3183594-3.5292969-0.2265625-3.8066406
-		c0.0898438-0.2773438,0.2597656-1.921875,0.6796875-1.9550781c0,0,1.859375-0.0449219,1.9042969-0.8613281
-		c0.0458984-0.8183594,0.2734375-1.0449219,0.5-0.453125c0.2265625,0.5878906,0.6347656,1.4960938,1.4960938,1.5859375
-		c0.8613281,0.0917969,2.1777344-0.9980469,2.8134766,0C17.7563477,20.6831055,17.121582,21.6811523,17.121582,21.6811523z"/>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/artists_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="32.7128906" y1="18.1611328" x2="14.38379" y2="44.3377991">
-		<stop  offset="0" style="stop-color:#7EE7FD"/>
-		<stop  offset="0.533742" style="stop-color:#119EE0"/>
-		<stop  offset="1" style="stop-color:#7EE7FD"/>
-	</linearGradient>
-	<path fill="url(#SVGID_1_)" d="M26.0581055,36.7416992c-0.5-4.171875,0.453125-7.8925781,0.9082031-9.0253906
-		c0.453125-1.1367188,0.1347656-2.4960938,3.6738281,1.1777344c3.5371094,3.6757812,4.4902344,3.7207031,5.9873047,4.6738281
-		c1.4970703,0.9511719,4.9443359,3.8554688,5.4892578,4.4003906c0.5439453,0.5429688,1.9960938,1.1328125,2.9941406,1.1777344
-		c0.9980469,0.046875,0.8164062-0.453125,0.8164062-0.453125s-0.7265625-0.9082031-0.4082031-1.9960938
-		c0.3164062-1.0878906-1.3164062-1.0429688-1.3164062-1.0429688c-2.5390625-0.2265625-3.7636719-2.0410156-3.7636719-2.0410156
-		c-2.0878906-3.5390625-6.8056641-7.53125-6.8515625-7.6699219c-0.0439453-0.1367188-2.765625-1.7207031-3.8095703-3.9902344
-		c-1.0439453-2.2675781-3.1298828-4.4902344-3.1298828-4.4902344c-1.1347656-1.4960938-3.9921875-0.6347656-3.9921875-0.6347656
-		s-1.9960938,0.2714844-1.2705078-0.8164062c0.7255859-1.0898438,0.1367188-1.1796875-0.25-1.7695312
-		c-0.3876953-0.5898438-0.1123047-1.2714844-0.1123047-1.2714844c0.6347656-2.3574219-1.5878906-3.8554688-2.4951172-4.7167969
-		s-2.9951172-0.953125-3.6748047-0.3632812s-0.9521484,0.6816406-0.9521484,0.6816406
-		c-1.8154297,0.1816406-3.5849609,2.8125-3.9931641,2.8574219c-0.4072266,0.0449219-0.4072266,0.3632812-0.2265625,0.3164062
-		c0.1816406-0.0449219,0.2265625,0.4101562,0.3632812,0.5c0.1367188,0.0917969,0.4541016,0.453125,0.4541016,0.8164062
-		s-0.0908203,0.953125,0.4082031,1.2246094s0,1.1796875,0,1.1796875s0.0908203,0.9980469-0.3642578,0.953125
-		c-0.453125-0.0449219-0.8144531,0.8164062-0.8144531,1.1328125c0,0.3183594-0.3183594,0.4101562-0.4101562,0.2285156
-		c-0.0898438-0.1816406-0.6796875-0.7714844-0.8154297-0.4082031c-0.1367188,0.3632812-1.3613281,1.2695312-1.9501953,1.6328125
-		c-0.5898438,0.3632812-0.453125,0.9082031-0.453125,0.9082031l-3.5390625,2.1757812l0.6347656,1.1347656l2.359375-1.5429688
-		c-0.1826172,0.5449219,0.4082031,1.0429688,0.6796875,0.9082031c0.2724609-0.1367188,0.953125-0.2265625,0.8164062,0.7246094
-		c-0.1367188,0.953125,1.3154297,8.8476562,2.2695312,11.25c0.9521484,2.4042969,2.8574219,1.0898438,3.7636719,0.1816406
-		c0.9072266-0.90625,0.8173828-0.0898438,0.8173828-0.0898438c-0.8173828,4.8535156,0,9.3442383,0,9.3442383
-		S19.9858398,37.8198242,26.0581055,36.7416992z M17.121582,21.6811523c0,0-2.8583984,2.7675781-2.8134766,3.1757812
-		c0.046875,0.4082031,0.1914062,0.9960938-0.4023438,2.0410156c-0.5957031,1.0449219-1.8652344,3.0214844-1.9101562,3.7578125
-		c-0.0449219,0.734375-1.3613281-3.7578125-2.0410156-5.4804688c-0.6806641-1.7246094-0.3183594-3.5292969-0.2265625-3.8066406
-		c0.0898438-0.2773438,0.2597656-1.921875,0.6796875-1.9550781c0,0,1.859375-0.0449219,1.9042969-0.8613281
-		c0.0458984-0.8183594,0.2734375-1.0449219,0.5-0.453125c0.2265625,0.5878906,0.6347656,1.4960938,1.4960938,1.5859375
-		c0.8613281,0.0917969,2.1777344-0.9980469,2.8134766,0C17.7563477,20.6831055,17.121582,21.6811523,17.121582,21.6811523z"/>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/resources/mpcollectionviewresources.qrc	Fri Apr 16 14:56:30 2010 +0300
@@ -2,21 +2,9 @@
     
     <qresource prefix="/docml" >
         <file alias="musiccollection.docml">musiccollection.docml</file>
-        <file alias="musiccollection_infobar.docml">musiccollection_infobar.docml</file>
     </qresource>
     
-    <qresource prefix="/icons" >
-        <file alias="all_songs.svg">all_songs.svg</file>
-        <file alias="artists.svg">artists.svg</file>
-        <file alias="playlists.svg">playlists.svg</file>
-        <file alias="search.svg">search.svg</file>
-        <file alias="ovi.svg">ovi.svg</file>
-        <file alias="all_songs_on.svg">all_songs_on.svg</file>
-        <file alias="artists_on.svg">artists_on.svg</file>
-        <file alias="playlists_on.svg">playlists_on.svg</file>
-        <file alias="search_on.svg">search_on.svg</file>
-        <file alias="ovi_on.svg">ovi_on.svg</file>
-        
+    <qresource prefix="/icons" >      
         <file alias="default_album.png">default_album.png</file>    
     </qresource>
     
--- a/mpviewplugins/mpcollectionviewplugin/resources/ovi.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="14.8422852" y1="36.230957" x2="22.840332" y2="36.230957">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_1_)" cx="18.8413086" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="29.5063477" y1="36.230957" x2="37.5043945" y2="36.230957">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_2_)" cx="33.5053711" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="4.4902344" y1="21.28125" x2="44.3554688" y2="21.28125">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M43.144043,14.7685547l-0.5097656-0.2617188
-			c-0.9345703-0.4804688-1.9521484-0.3662109-2.2714844,0.2548828l-6.140625,11.9472656H18.4135742l-5.5234375-15.4257812H6.605957
-			c0,0-2.0947266,0.1914062-2.0947266,2.2851562c0,0-0.3808594,1.8095703,2.0947266,1.8095703h3.046875l5.3320312,15.9013672
-			h20.5195312c0,0,1.3554688-0.0771484,1.8808594-1.1845703c0.0253906-0.0351562,0.0556641-0.0664062,0.0761719-0.1054688
-			l6.796875-13.2246094C44.5786133,16.1435547,44.0795898,15.25,43.144043,14.7685547z"/>
-		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="31.1323242" y1="11.5473633" x2="21.6741943" y2="25.0549717">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<polygon fill="url(#SVGID_4_)" points="17.0756836,16.0097656 19.8413086,23.7714844 33.5053711,23.7714844 
-			37.5043945,16.0097656 		"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/ovi_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,396 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-165.065918" y1="10.2138672" x2="-185.4311066" y2="39.2983627">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M-175.2480469,7.0058594C-185.0522461,7.0058594-193,14.953125-193,24.7578125
-			c0,9.8027344,7.9477539,17.75,17.7519531,17.75s17.7519531-7.9472656,17.7519531-17.75
-			C-157.4960938,14.953125-165.4438477,7.0058594-175.2480469,7.0058594z M-175.2480469,38.8457031
-			c-7.7802734,0-14.0883789-6.3085938-14.0883789-14.0878906c0-7.78125,6.3081055-14.0898438,14.0883789-14.0898438
-			c7.7797852,0,14.0878906,6.3085938,14.0878906,14.0898438C-161.1601562,32.5371094-167.4682617,38.8457031-175.2480469,38.8457031
-			z"/>
-		
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-169.230957" y1="15.4790039" x2="-181.2923126" y2="32.7043953">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M-167.3271484,21.4609375l0.0019531-4.6474609
-			c-1.7460938-1.1748047-4.9008789-1.9462891-8.1796875-1.9814453v11.7636719
-			c-0.8657227-0.3457031-1.8857422-0.4785156-2.9482422-0.2939453c-2.5429688,0.4482422-4.3041992,2.4599609-3.9541016,4.4931641
-			c0.3588867,2.0273438,2.7094727,3.3183594,5.2514648,2.8671875c2.3671875-0.4140625,4.034668-2.1894531,3.9667969-4.0751953
-			v-9.9755859C-170.6923828,19.9179688-168.4282227,20.640625-167.3271484,21.4609375z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-62.40625" y1="6.6694336" x2="-72.756813" y2="21.4515686">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M-56.0864258,11.1708984h-22.9853516c-0.1933594,0-0.3486328,0.1542969-0.3486328,0.3457031
-			v5.0878906c0,0.1914062,0.1552734,0.3476562,0.3486328,0.3476562h22.9853516c0.1904297,0,0.3466797-0.15625,0.3466797-0.3476562
-			v-5.0878906C-55.7397461,11.3251953-55.8959961,11.1708984-56.0864258,11.1708984z"/>
-		
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-68.9145508" y1="18.2080078" x2="-79.2658157" y2="32.9911423">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_4_)" d="M-62.5961914,22.7080078H-85.581543c-0.1923828,0-0.3476562,0.15625-0.3476562,0.3476562v5.0878906
-			c0,0.1933594,0.1552734,0.3476562,0.3476562,0.3476562h22.9853516c0.1904297,0,0.3466797-0.1542969,0.3466797-0.3476562
-			v-5.0878906C-62.2495117,22.8642578-62.4057617,22.7080078-62.5961914,22.7080078z"/>
-		
-			<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-63.5732422" y1="28.8540039" x2="-73.9236679" y2="43.6359367">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_5_)" d="M-57.2553711,33.3544922h-22.984375c-0.1933594,0-0.3486328,0.15625-0.3486328,0.3457031v5.0898438
-			c0,0.1914062,0.1552734,0.3457031,0.3486328,0.3457031h22.984375c0.1904297,0,0.3476562-0.1542969,0.3476562-0.3457031v-5.0898438
-			C-56.9077148,33.5107422-57.0649414,33.3544922-57.2553711,33.3544922z"/>
-		<g>
-			
-				<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-82.0732422" y1="10.6352539" x2="-88.1915741" y2="19.3731422">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_6_)" d="M-82.3100586,19.6669922h-5.4619141v-1.2011719h1.6679688v-7.3359375l-1.8320312,0.390625
-				v-1.203125l2.8710938-0.9238281h1.2177734v9.0722656h1.5371094V19.6669922z"/>
-		</g>
-		<g>
-			
-				<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-87.9726562" y1="21.6542969" x2="-94.3171463" y2="30.7151661">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_7_)" d="M-87.8422852,30.7509766h-6.4248047v-0.8945312
-				c0-0.734375,0.1816406-1.4472656,0.5458984-2.1367188c0.3652344-0.6914062,1.0644531-1.4667969,2.0996094-2.3261719
-				c0.546875-0.4609375,0.921875-0.8417969,1.1230469-1.1386719c0.203125-0.2988281,0.3046875-0.6367188,0.3046875-1.0097656
-				c0-0.96875-0.5234375-1.4550781-1.5712891-1.4550781c-0.5839844,0-1.3027344,0.1542969-2.1542969,0.4648438v-1.3867188
-				c0.9345703-0.2792969,1.8447266-0.4179688,2.7285156-0.4179688c1.0849609,0,1.90625,0.2285156,2.4667969,0.6855469
-				c0.5605469,0.4589844,0.8417969,1.1367188,0.8417969,2.0292969c0,0.4257812-0.0693359,0.8203125-0.2089844,1.1757812
-				s-0.3447266,0.6894531-0.6142578,1c-0.2714844,0.3125-0.6738281,0.6894531-1.2060547,1.1386719
-				c-0.5898438,0.4921875-1.0175781,0.8769531-1.2861328,1.15625c-0.2695312,0.2832031-0.4794922,0.5664062-0.6318359,0.8554688
-				c-0.1533203,0.2890625-0.2431641,0.5898438-0.2705078,0.9003906h4.2578125V30.7509766z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-84.03125" y1="32.6533203" x2="-90.2001343" y2="41.4634056">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_8_)" d="M-89.4047852,33.3994141v-1.3554688c0.8710938-0.2226562,1.6865234-0.3359375,2.4482422-0.3359375
-				c2.2001953,0,3.3007812,0.84375,3.3007812,2.53125c0,1.1933594-0.6132812,1.9824219-1.8447266,2.3652344
-				c0.6416016,0.1171875,1.1386719,0.3847656,1.4892578,0.8085938c0.3505859,0.4199219,0.5263672,0.9472656,0.5263672,1.5761719
-				c0,1.0488281-0.3076172,1.8320312-0.9228516,2.3520508c-0.6142578,0.5175781-1.5664062,0.7792969-2.8554688,0.7792969
-				c-0.8388672,0-1.6572266-0.1074219-2.4560547-0.3203125v-1.355957c0.9589844,0.2246094,1.6679688,0.3359375,2.1328125,0.3359375
-				c0.6074219,0,1.0576172-0.1425781,1.3505859-0.421875c0.2949219-0.28125,0.4423828-0.7226562,0.4423828-1.328125
-				c0-0.6601562-0.2060547-1.1210938-0.6171875-1.3789062c-0.4091797-0.2578125-1.2128906-0.3847656-2.4042969-0.3847656v-1.2929688
-				c1.1201172,0,1.8828125-0.1152344,2.2861328-0.3457031c0.4023438-0.2304688,0.6044922-0.6445312,0.6044922-1.2460938
-				c0-0.8886719-0.4990234-1.3320312-1.4970703-1.3320312C-87.8764648,33.0498047-88.5385742,33.1650391-89.4047852,33.3994141z"/>
-		</g>
-	</g>
-	
-		<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-116.2871094" y1="18.1611328" x2="-134.6162109" y2="44.3377991">
-		<stop  offset="0" style="stop-color:#FFFFFF"/>
-		<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-		<stop  offset="1" style="stop-color:#FFFFFF"/>
-	</linearGradient>
-	<path fill="url(#SVGID_9_)" d="M-122.9418945,36.7416992c-0.5-4.171875,0.453125-7.8925781,0.9082031-9.0253906
-		c0.453125-1.1367188,0.1347656-2.4960938,3.6738281,1.1777344c3.5371094,3.6757812,4.4902344,3.7207031,5.9873047,4.6738281
-		c1.4970703,0.9511719,4.9443359,3.8554688,5.4892578,4.4003906c0.5439453,0.5429688,1.9960938,1.1328125,2.9941406,1.1777344
-		c0.9980469,0.046875,0.8164062-0.453125,0.8164062-0.453125s-0.7265625-0.9082031-0.4082031-1.9960938
-		c0.3164062-1.0878906-1.3164062-1.0429688-1.3164062-1.0429688c-2.5390625-0.2265625-3.7636719-2.0410156-3.7636719-2.0410156
-		c-2.0878906-3.5390625-6.8056641-7.53125-6.8515625-7.6699219c-0.0439453-0.1367188-2.765625-1.7207031-3.8095703-3.9902344
-		c-1.0439453-2.2675781-3.1298828-4.4902344-3.1298828-4.4902344c-1.1347656-1.4960938-3.9921875-0.6347656-3.9921875-0.6347656
-		s-1.9960938,0.2714844-1.2705078-0.8164062c0.7255859-1.0898438,0.1367188-1.1796875-0.25-1.7695312
-		c-0.3876953-0.5898438-0.1123047-1.2714844-0.1123047-1.2714844c0.6347656-2.3574219-1.5878906-3.8554688-2.4951172-4.7167969
-		s-2.9951172-0.953125-3.6748047-0.3632812s-0.9521484,0.6816406-0.9521484,0.6816406
-		c-1.8154297,0.1816406-3.5849609,2.8125-3.9931641,2.8574219c-0.4072266,0.0449219-0.4072266,0.3632812-0.2265625,0.3164062
-		c0.1816406-0.0449219,0.2265625,0.4101562,0.3632812,0.5c0.1367188,0.0917969,0.4541016,0.453125,0.4541016,0.8164062
-		s-0.0908203,0.953125,0.4082031,1.2246094s0,1.1796875,0,1.1796875s0.0908203,0.9980469-0.3642578,0.953125
-		c-0.453125-0.0449219-0.8144531,0.8164062-0.8144531,1.1328125c0,0.3183594-0.3183594,0.4101562-0.4101562,0.2285156
-		c-0.0898438-0.1816406-0.6796875-0.7714844-0.8154297-0.4082031c-0.1367188,0.3632812-1.3613281,1.2695312-1.9501953,1.6328125
-		c-0.5898438,0.3632812-0.453125,0.9082031-0.453125,0.9082031l-3.5390625,2.1757812l0.6347656,1.1347656l2.359375-1.5429688
-		c-0.1826172,0.5449219,0.4082031,1.0429688,0.6796875,0.9082031c0.2724609-0.1367188,0.953125-0.2265625,0.8164062,0.7246094
-		c-0.1367188,0.953125,1.3154297,8.8476562,2.2695312,11.25c0.9521484,2.4042969,2.8574219,1.0898438,3.7636719,0.1816406
-		c0.9072266-0.90625,0.8173828-0.0898438,0.8173828-0.0898438c-0.8173828,4.8535156,0,9.3442383,0,9.3442383
-		S-129.0141602,37.8198242-122.9418945,36.7416992z M-131.878418,21.6811523c0,0-2.8583984,2.7675781-2.8134766,3.1757812
-		c0.046875,0.4082031,0.1914062,0.9960938-0.4023438,2.0410156c-0.5957031,1.0449219-1.8652344,3.0214844-1.9101562,3.7578125
-		c-0.0449219,0.734375-1.3613281-3.7578125-2.0410156-5.4804688c-0.6806641-1.7246094-0.3183594-3.5292969-0.2265625-3.8066406
-		c0.0898438-0.2773438,0.2597656-1.921875,0.6796875-1.9550781c0,0,1.859375-0.0449219,1.9042969-0.8613281
-		c0.0458984-0.8183594,0.2734375-1.0449219,0.5-0.453125c0.2265625,0.5878906,0.6347656,1.4960938,1.4960938,1.5859375
-		c0.8613281,0.0917969,2.1777344-0.9980469,2.8134766,0C-131.2436523,20.6831055-131.878418,21.6811523-131.878418,21.6811523z"/>
-	<g>
-		
-			<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-22.5996094" y1="16.8032227" x2="-31.2312622" y2="29.1305008">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_10_)" d="M-23.9985352,29.4658203l-0.5322266-1.9902344
-			c-0.5371094,0.7421875-1.1386719,1.2910156-1.8056641,1.6464844c-0.6660156,0.3554688-1.4814453,0.5332031-2.4443359,0.5332031
-			c-1.3652344,0-2.4257812-0.3613281-3.1787109-1.0839844c-0.7539062-0.7226562-1.1308594-1.734375-1.1308594-3.0371094
-			c0-1.578125,0.5488281-2.7246094,1.6455078-3.4394531c1.0966797-0.7128906,3.0625-1.078125,5.8964844-1.09375v-0.8652344
-			c0-0.6386719-0.0751953-1.1191406-0.2246094-1.4433594c-0.1513672-0.3242188-0.4072266-0.5898438-0.7705078-0.7988281
-			s-0.9082031-0.3144531-1.6337891-0.3144531c-0.9472656,0-2.1660156,0.2285156-3.6582031,0.6855469v-2.2832031
-			c1.7441406-0.4179688,3.3300781-0.6289062,4.7597656-0.6289062c1.7832031,0,3.1337891,0.390625,4.0488281,1.1738281
-			c0.9150391,0.7792969,1.3730469,1.9335938,1.3730469,3.4550781v9.484375H-23.9985352z M-26.1879883,22.9423828
-			c-1.1767578,0-1.9794922,0.234375-2.4091797,0.7050781c-0.4306641,0.46875-0.6455078,1.0742188-0.6455078,1.8164062
-			c0,1.3105469,0.5322266,1.9648438,1.5986328,1.9648438c0.6787109,0,1.1972656-0.2207031,1.5566406-0.6621094
-			s0.5390625-1.0859375,0.5390625-1.9296875v-1.8945312H-26.1879883z"/>
-		
-			<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-13.6391602" y1="15.0205078" x2="-29.8131485" y2="38.1193542">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_11_)" d="M-6.496582,37.9423828l-8.0986328-8.1015625
-			c3.0068359-5.3691406,2.2431641-12.2871094-2.3251953-16.8535156c-5.5029297-5.5039062-14.4296875-5.5039062-19.9345703,0
-			c-5.5048828,5.5058594-5.5048828,14.4335938,0,19.9375c4.9902344,4.9902344,12.7822266,5.4394531,18.2978516,1.3847656
-			l7.8476562,7.8500977c0.6621094,0.6601562,1.7382812,0.6601562,2.4023438-0.0039062l1.8105469-1.809082
-			C-5.8344727,39.6845703-5.8305664,38.6064453-6.496582,37.9423828z M-34.9155273,30.9873047
-			c-4.4355469-4.4375-4.4355469-11.6269531-0.0009766-16.0585938c4.4326172-4.4375,11.6220703-4.4375,16.0576172,0
-			c4.4326172,4.4335938,4.4326172,11.6230469,0,16.0566406C-23.293457,35.4189453-30.480957,35.4189453-34.9155273,30.9873047z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="14.8422852" y1="36.230957" x2="22.840332" y2="36.230957">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_12_)" cx="18.8413086" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="29.5063477" y1="36.230957" x2="37.5043945" y2="36.230957">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_13_)" cx="33.5053711" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="4.4902344" y1="21.28125" x2="44.3554688" y2="21.28125">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_14_)" d="M43.144043,14.7685547l-0.5097656-0.2617188
-			c-0.9345703-0.4804688-1.9521484-0.3662109-2.2714844,0.2548828l-6.140625,11.9472656H18.4135742l-5.5234375-15.4257812H6.605957
-			c0,0-2.0947266,0.1914062-2.0947266,2.2851562c0,0-0.3808594,1.8095703,2.0947266,1.8095703h3.046875l5.3320312,15.9013672
-			h20.5195312c0,0,1.3554688-0.0771484,1.8808594-1.1845703c0.0253906-0.0351562,0.0556641-0.0664062,0.0761719-0.1054688
-			l6.796875-13.2246094C44.5786133,16.1435547,44.0795898,15.25,43.144043,14.7685547z"/>
-		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="31.1323242" y1="11.5473633" x2="21.6741943" y2="25.0549717">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<polygon fill="url(#SVGID_15_)" points="17.0756836,16.0097656 19.8413086,23.7714844 33.5053711,23.7714844 
-			37.5043945,16.0097656 		"/>
-	</g>
-	<g>
-		
-			<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="-165.065918" y1="10.2138672" x2="-185.4311066" y2="39.2983627">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_16_)" d="M-175.2480469,7.0058594C-185.0522461,7.0058594-193,14.953125-193,24.7578125
-			c0,9.8027344,7.9477539,17.75,17.7519531,17.75s17.7519531-7.9472656,17.7519531-17.75
-			C-157.4960938,14.953125-165.4438477,7.0058594-175.2480469,7.0058594z M-175.2480469,38.8457031
-			c-7.7802734,0-14.0883789-6.3085938-14.0883789-14.0878906c0-7.78125,6.3081055-14.0898438,14.0883789-14.0898438
-			c7.7797852,0,14.0878906,6.3085938,14.0878906,14.0898438C-161.1601562,32.5371094-167.4682617,38.8457031-175.2480469,38.8457031
-			z"/>
-		
-			<linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="-169.230957" y1="15.4790039" x2="-181.2923126" y2="32.7043953">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_17_)" d="M-167.3271484,21.4609375l0.0019531-4.6474609
-			c-1.7460938-1.1748047-4.9008789-1.9462891-8.1796875-1.9814453v11.7636719
-			c-0.8657227-0.3457031-1.8857422-0.4785156-2.9482422-0.2939453c-2.5429688,0.4482422-4.3041992,2.4599609-3.9541016,4.4931641
-			c0.3588867,2.0273438,2.7094727,3.3183594,5.2514648,2.8671875c2.3671875-0.4140625,4.034668-2.1894531,3.9667969-4.0751953
-			v-9.9755859C-170.6923828,19.9179688-168.4282227,20.640625-167.3271484,21.4609375z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="-62.40625" y1="6.6694336" x2="-72.756813" y2="21.4515686">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_18_)" d="M-56.0864258,11.1708984h-22.9853516c-0.1933594,0-0.3486328,0.1542969-0.3486328,0.3457031
-			v5.0878906c0,0.1914062,0.1552734,0.3476562,0.3486328,0.3476562h22.9853516c0.1904297,0,0.3466797-0.15625,0.3466797-0.3476562
-			v-5.0878906C-55.7397461,11.3251953-55.8959961,11.1708984-56.0864258,11.1708984z"/>
-		
-			<linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="-68.9145508" y1="18.2080078" x2="-79.2658157" y2="32.9911423">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_19_)" d="M-62.5961914,22.7080078H-85.581543c-0.1923828,0-0.3476562,0.15625-0.3476562,0.3476562
-			v5.0878906c0,0.1933594,0.1552734,0.3476562,0.3476562,0.3476562h22.9853516c0.1904297,0,0.3466797-0.1542969,0.3466797-0.3476562
-			v-5.0878906C-62.2495117,22.8642578-62.4057617,22.7080078-62.5961914,22.7080078z"/>
-		
-			<linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="-63.5732422" y1="28.8540039" x2="-73.9236679" y2="43.6359367">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_20_)" d="M-57.2553711,33.3544922h-22.984375c-0.1933594,0-0.3486328,0.15625-0.3486328,0.3457031
-			v5.0898438c0,0.1914062,0.1552734,0.3457031,0.3486328,0.3457031h22.984375c0.1904297,0,0.3476562-0.1542969,0.3476562-0.3457031
-			v-5.0898438C-56.9077148,33.5107422-57.0649414,33.3544922-57.2553711,33.3544922z"/>
-		<g>
-			
-				<linearGradient id="SVGID_21_" gradientUnits="userSpaceOnUse" x1="-82.0732422" y1="10.6352539" x2="-88.1915741" y2="19.3731422">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_21_)" d="M-82.3100586,19.6669922h-5.4619141v-1.2011719h1.6679688v-7.3359375l-1.8320312,0.390625
-				v-1.203125l2.8710938-0.9238281h1.2177734v9.0722656h1.5371094V19.6669922z"/>
-		</g>
-		<g>
-			
-				<linearGradient id="SVGID_22_" gradientUnits="userSpaceOnUse" x1="-87.9726562" y1="21.6542969" x2="-94.3171463" y2="30.7151661">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_22_)" d="M-87.8422852,30.7509766h-6.4248047v-0.8945312
-				c0-0.734375,0.1816406-1.4472656,0.5458984-2.1367188c0.3652344-0.6914062,1.0644531-1.4667969,2.0996094-2.3261719
-				c0.546875-0.4609375,0.921875-0.8417969,1.1230469-1.1386719c0.203125-0.2988281,0.3046875-0.6367188,0.3046875-1.0097656
-				c0-0.96875-0.5234375-1.4550781-1.5712891-1.4550781c-0.5839844,0-1.3027344,0.1542969-2.1542969,0.4648438v-1.3867188
-				c0.9345703-0.2792969,1.8447266-0.4179688,2.7285156-0.4179688c1.0849609,0,1.90625,0.2285156,2.4667969,0.6855469
-				c0.5605469,0.4589844,0.8417969,1.1367188,0.8417969,2.0292969c0,0.4257812-0.0693359,0.8203125-0.2089844,1.1757812
-				s-0.3447266,0.6894531-0.6142578,1c-0.2714844,0.3125-0.6738281,0.6894531-1.2060547,1.1386719
-				c-0.5898438,0.4921875-1.0175781,0.8769531-1.2861328,1.15625c-0.2695312,0.2832031-0.4794922,0.5664062-0.6318359,0.8554688
-				c-0.1533203,0.2890625-0.2431641,0.5898438-0.2705078,0.9003906h4.2578125V30.7509766z"/>
-		</g>
-		<g>
-			
-				<linearGradient id="SVGID_23_" gradientUnits="userSpaceOnUse" x1="-84.03125" y1="32.6533203" x2="-90.2001343" y2="41.4634056">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_23_)" d="M-89.4047852,33.3994141v-1.3554688
-				c0.8710938-0.2226562,1.6865234-0.3359375,2.4482422-0.3359375c2.2001953,0,3.3007812,0.84375,3.3007812,2.53125
-				c0,1.1933594-0.6132812,1.9824219-1.8447266,2.3652344c0.6416016,0.1171875,1.1386719,0.3847656,1.4892578,0.8085938
-				c0.3505859,0.4199219,0.5263672,0.9472656,0.5263672,1.5761719c0,1.0488281-0.3076172,1.8320312-0.9228516,2.3520508
-				c-0.6142578,0.5175781-1.5664062,0.7792969-2.8554688,0.7792969c-0.8388672,0-1.6572266-0.1074219-2.4560547-0.3203125v-1.355957
-				c0.9589844,0.2246094,1.6679688,0.3359375,2.1328125,0.3359375c0.6074219,0,1.0576172-0.1425781,1.3505859-0.421875
-				c0.2949219-0.28125,0.4423828-0.7226562,0.4423828-1.328125c0-0.6601562-0.2060547-1.1210938-0.6171875-1.3789062
-				c-0.4091797-0.2578125-1.2128906-0.3847656-2.4042969-0.3847656v-1.2929688c1.1201172,0,1.8828125-0.1152344,2.2861328-0.3457031
-				c0.4023438-0.2304688,0.6044922-0.6445312,0.6044922-1.2460938c0-0.8886719-0.4990234-1.3320312-1.4970703-1.3320312
-				C-87.8764648,33.0498047-88.5385742,33.1650391-89.4047852,33.3994141z"/>
-		</g>
-	</g>
-	
-		<linearGradient id="SVGID_24_" gradientUnits="userSpaceOnUse" x1="-116.2871094" y1="18.1611328" x2="-134.6162109" y2="44.3377991">
-		<stop  offset="0" style="stop-color:#7EE7FD"/>
-		<stop  offset="0.533742" style="stop-color:#119EE0"/>
-		<stop  offset="1" style="stop-color:#7EE7FD"/>
-	</linearGradient>
-	<path fill="url(#SVGID_24_)" d="M-122.9418945,36.7416992c-0.5-4.171875,0.453125-7.8925781,0.9082031-9.0253906
-		c0.453125-1.1367188,0.1347656-2.4960938,3.6738281,1.1777344c3.5371094,3.6757812,4.4902344,3.7207031,5.9873047,4.6738281
-		c1.4970703,0.9511719,4.9443359,3.8554688,5.4892578,4.4003906c0.5439453,0.5429688,1.9960938,1.1328125,2.9941406,1.1777344
-		c0.9980469,0.046875,0.8164062-0.453125,0.8164062-0.453125s-0.7265625-0.9082031-0.4082031-1.9960938
-		c0.3164062-1.0878906-1.3164062-1.0429688-1.3164062-1.0429688c-2.5390625-0.2265625-3.7636719-2.0410156-3.7636719-2.0410156
-		c-2.0878906-3.5390625-6.8056641-7.53125-6.8515625-7.6699219c-0.0439453-0.1367188-2.765625-1.7207031-3.8095703-3.9902344
-		c-1.0439453-2.2675781-3.1298828-4.4902344-3.1298828-4.4902344c-1.1347656-1.4960938-3.9921875-0.6347656-3.9921875-0.6347656
-		s-1.9960938,0.2714844-1.2705078-0.8164062c0.7255859-1.0898438,0.1367188-1.1796875-0.25-1.7695312
-		c-0.3876953-0.5898438-0.1123047-1.2714844-0.1123047-1.2714844c0.6347656-2.3574219-1.5878906-3.8554688-2.4951172-4.7167969
-		s-2.9951172-0.953125-3.6748047-0.3632812s-0.9521484,0.6816406-0.9521484,0.6816406
-		c-1.8154297,0.1816406-3.5849609,2.8125-3.9931641,2.8574219c-0.4072266,0.0449219-0.4072266,0.3632812-0.2265625,0.3164062
-		c0.1816406-0.0449219,0.2265625,0.4101562,0.3632812,0.5c0.1367188,0.0917969,0.4541016,0.453125,0.4541016,0.8164062
-		s-0.0908203,0.953125,0.4082031,1.2246094s0,1.1796875,0,1.1796875s0.0908203,0.9980469-0.3642578,0.953125
-		c-0.453125-0.0449219-0.8144531,0.8164062-0.8144531,1.1328125c0,0.3183594-0.3183594,0.4101562-0.4101562,0.2285156
-		c-0.0898438-0.1816406-0.6796875-0.7714844-0.8154297-0.4082031c-0.1367188,0.3632812-1.3613281,1.2695312-1.9501953,1.6328125
-		c-0.5898438,0.3632812-0.453125,0.9082031-0.453125,0.9082031l-3.5390625,2.1757812l0.6347656,1.1347656l2.359375-1.5429688
-		c-0.1826172,0.5449219,0.4082031,1.0429688,0.6796875,0.9082031c0.2724609-0.1367188,0.953125-0.2265625,0.8164062,0.7246094
-		c-0.1367188,0.953125,1.3154297,8.8476562,2.2695312,11.25c0.9521484,2.4042969,2.8574219,1.0898438,3.7636719,0.1816406
-		c0.9072266-0.90625,0.8173828-0.0898438,0.8173828-0.0898438c-0.8173828,4.8535156,0,9.3442383,0,9.3442383
-		S-129.0141602,37.8198242-122.9418945,36.7416992z M-131.878418,21.6811523c0,0-2.8583984,2.7675781-2.8134766,3.1757812
-		c0.046875,0.4082031,0.1914062,0.9960938-0.4023438,2.0410156c-0.5957031,1.0449219-1.8652344,3.0214844-1.9101562,3.7578125
-		c-0.0449219,0.734375-1.3613281-3.7578125-2.0410156-5.4804688c-0.6806641-1.7246094-0.3183594-3.5292969-0.2265625-3.8066406
-		c0.0898438-0.2773438,0.2597656-1.921875,0.6796875-1.9550781c0,0,1.859375-0.0449219,1.9042969-0.8613281
-		c0.0458984-0.8183594,0.2734375-1.0449219,0.5-0.453125c0.2265625,0.5878906,0.6347656,1.4960938,1.4960938,1.5859375
-		c0.8613281,0.0917969,2.1777344-0.9980469,2.8134766,0C-131.2436523,20.6831055-131.878418,21.6811523-131.878418,21.6811523z"/>
-	<g>
-		
-			<linearGradient id="SVGID_25_" gradientUnits="userSpaceOnUse" x1="-22.5996094" y1="16.8032227" x2="-31.2312622" y2="29.1305008">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_25_)" d="M-23.9985352,29.4658203l-0.5322266-1.9902344
-			c-0.5371094,0.7421875-1.1386719,1.2910156-1.8056641,1.6464844c-0.6660156,0.3554688-1.4814453,0.5332031-2.4443359,0.5332031
-			c-1.3652344,0-2.4257812-0.3613281-3.1787109-1.0839844c-0.7539062-0.7226562-1.1308594-1.734375-1.1308594-3.0371094
-			c0-1.578125,0.5488281-2.7246094,1.6455078-3.4394531c1.0966797-0.7128906,3.0625-1.078125,5.8964844-1.09375v-0.8652344
-			c0-0.6386719-0.0751953-1.1191406-0.2246094-1.4433594c-0.1513672-0.3242188-0.4072266-0.5898438-0.7705078-0.7988281
-			s-0.9082031-0.3144531-1.6337891-0.3144531c-0.9472656,0-2.1660156,0.2285156-3.6582031,0.6855469v-2.2832031
-			c1.7441406-0.4179688,3.3300781-0.6289062,4.7597656-0.6289062c1.7832031,0,3.1337891,0.390625,4.0488281,1.1738281
-			c0.9150391,0.7792969,1.3730469,1.9335938,1.3730469,3.4550781v9.484375H-23.9985352z M-26.1879883,22.9423828
-			c-1.1767578,0-1.9794922,0.234375-2.4091797,0.7050781c-0.4306641,0.46875-0.6455078,1.0742188-0.6455078,1.8164062
-			c0,1.3105469,0.5322266,1.9648438,1.5986328,1.9648438c0.6787109,0,1.1972656-0.2207031,1.5566406-0.6621094
-			s0.5390625-1.0859375,0.5390625-1.9296875v-1.8945312H-26.1879883z"/>
-		
-			<linearGradient id="SVGID_26_" gradientUnits="userSpaceOnUse" x1="-13.6391602" y1="15.0205078" x2="-29.8131485" y2="38.1193542">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_26_)" d="M-6.496582,37.9423828l-8.0986328-8.1015625
-			c3.0068359-5.3691406,2.2431641-12.2871094-2.3251953-16.8535156c-5.5029297-5.5039062-14.4296875-5.5039062-19.9345703,0
-			c-5.5048828,5.5058594-5.5048828,14.4335938,0,19.9375c4.9902344,4.9902344,12.7822266,5.4394531,18.2978516,1.3847656
-			l7.8476562,7.8500977c0.6621094,0.6601562,1.7382812,0.6601562,2.4023438-0.0039062l1.8105469-1.809082
-			C-5.8344727,39.6845703-5.8305664,38.6064453-6.496582,37.9423828z M-34.9155273,30.9873047
-			c-4.4355469-4.4375-4.4355469-11.6269531-0.0009766-16.0585938c4.4326172-4.4375,11.6220703-4.4375,16.0576172,0
-			c4.4326172,4.4335938,4.4326172,11.6230469,0,16.0566406C-23.293457,35.4189453-30.480957,35.4189453-34.9155273,30.9873047z"/>
-	</g>
-	<g>
-		<linearGradient id="SVGID_27_" gradientUnits="userSpaceOnUse" x1="14.8422852" y1="36.230957" x2="22.840332" y2="36.230957">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_27_)" cx="18.8413086" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_28_" gradientUnits="userSpaceOnUse" x1="29.5063477" y1="36.230957" x2="37.5043945" y2="36.230957">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<circle fill="url(#SVGID_28_)" cx="33.5053711" cy="36.2304688" r="3.9990234"/>
-		<linearGradient id="SVGID_29_" gradientUnits="userSpaceOnUse" x1="4.4902344" y1="21.28125" x2="44.3554688" y2="21.28125">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_29_)" d="M43.144043,14.7685547l-0.5097656-0.2617188
-			c-0.9345703-0.4804688-1.9521484-0.3662109-2.2714844,0.2548828l-6.140625,11.9472656H18.4135742l-5.5234375-15.4257812H6.605957
-			c0,0-2.0947266,0.1914062-2.0947266,2.2851562c0,0-0.3808594,1.8095703,2.0947266,1.8095703h3.046875l5.3320312,15.9013672
-			h20.5195312c0,0,1.3554688-0.0771484,1.8808594-1.1845703c0.0253906-0.0351562,0.0556641-0.0664062,0.0761719-0.1054688
-			l6.796875-13.2246094C44.5786133,16.1435547,44.0795898,15.25,43.144043,14.7685547z"/>
-		<linearGradient id="SVGID_30_" gradientUnits="userSpaceOnUse" x1="31.1323242" y1="11.5473633" x2="21.6741943" y2="25.0549717">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<polygon fill="url(#SVGID_30_)" points="17.0756836,16.0097656 19.8413086,23.7714844 33.5053711,23.7714844 
-			37.5043945,16.0097656 		"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/playlists.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="36.5932617" y1="6.6694336" x2="26.2429085" y2="21.4512672">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M42.9135742,11.1708984H19.9282227c-0.1933594,0-0.3486328,0.1542969-0.3486328,0.3457031
-			v5.0878906c0,0.1914062,0.1552734,0.3476562,0.3486328,0.3476562h22.9853516c0.1904297,0,0.3466797-0.15625,0.3466797-0.3476562
-			v-5.0878906C43.2602539,11.3251953,43.1040039,11.1708984,42.9135742,11.1708984z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="30.0854492" y1="18.2075195" x2="19.7342567" y2="32.9905548">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M36.4038086,22.7080078H13.418457c-0.1923828,0-0.3476562,0.15625-0.3476562,0.3476562v5.0878906
-			c0,0.1933594,0.1552734,0.3476562,0.3476562,0.3476562h22.9853516c0.1904297,0,0.3466797-0.1542969,0.3466797-0.3476562
-			v-5.0878906C36.7504883,22.8642578,36.5942383,22.7080078,36.4038086,22.7080078z"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="35.4272461" y1="28.8544922" x2="25.0768242" y2="43.636425">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M41.7446289,33.3544922h-22.984375c-0.1933594,0-0.3486328,0.15625-0.3486328,0.3457031v5.0898438
-			c0,0.1914062,0.1552734,0.3457031,0.3486328,0.3457031h22.984375c0.1904297,0,0.3476562-0.1542969,0.3476562-0.3457031v-5.0898438
-			C42.0922852,33.5107422,41.9350586,33.3544922,41.7446289,33.3544922z"/>
-		<g>
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="16.9272461" y1="10.6357422" x2="10.8089104" y2="19.3736305">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_4_)" d="M16.6899414,19.6669922h-5.4619141v-1.2011719h1.6679688v-7.3359375l-1.8320312,0.390625
-				v-1.203125l2.8710938-0.9238281h1.2177734v9.0722656h1.5371094V19.6669922z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="11.027832" y1="21.6547852" x2="4.6830626" y2="30.7160549">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_5_)" d="M11.1577148,30.7509766H4.7329102v-0.8945312c0-0.734375,0.1816406-1.4472656,0.5458984-2.1367188
-				c0.3652344-0.6914062,1.0644531-1.4667969,2.0996094-2.3261719c0.546875-0.4609375,0.921875-0.8417969,1.1230469-1.1386719
-				c0.203125-0.2988281,0.3046875-0.6367188,0.3046875-1.0097656c0-0.96875-0.5234375-1.4550781-1.5712891-1.4550781
-				c-0.5839844,0-1.3027344,0.1542969-2.1542969,0.4648438v-1.3867188c0.9345703-0.2792969,1.8447266-0.4179688,2.7285156-0.4179688
-				c1.0849609,0,1.90625,0.2285156,2.4667969,0.6855469c0.5605469,0.4589844,0.8417969,1.1367188,0.8417969,2.0292969
-				c0,0.4257812-0.0693359,0.8203125-0.2089844,1.1757812s-0.3447266,0.6894531-0.6142578,1
-				c-0.2714844,0.3125-0.6738281,0.6894531-1.2060547,1.1386719c-0.5898438,0.4921875-1.0175781,0.8769531-1.2861328,1.15625
-				c-0.2695312,0.2832031-0.4794922,0.5664062-0.6318359,0.8554688c-0.1533203,0.2890625-0.2431641,0.5898438-0.2705078,0.9003906
-				h4.2578125V30.7509766z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="14.9682617" y1="32.6533203" x2="8.7995138" y2="41.4632034">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_6_)" d="M9.5952148,33.3994141v-1.3554688c0.8710938-0.2226562,1.6865234-0.3359375,2.4482422-0.3359375
-				c2.2001953,0,3.3007812,0.84375,3.3007812,2.53125c0,1.1933594-0.6132812,1.9824219-1.8447266,2.3652344
-				c0.6416016,0.1171875,1.1386719,0.3847656,1.4892578,0.8085938c0.3505859,0.4199219,0.5263672,0.9472656,0.5263672,1.5761719
-				c0,1.0488281-0.3076172,1.8320312-0.9228516,2.3520508c-0.6142578,0.5175781-1.5664062,0.7792969-2.8554688,0.7792969
-				c-0.8388672,0-1.6572266-0.1074219-2.4560547-0.3203125v-1.355957c0.9589844,0.2246094,1.6679688,0.3359375,2.1328125,0.3359375
-				c0.6074219,0,1.0576172-0.1425781,1.3505859-0.421875c0.2949219-0.28125,0.4423828-0.7226562,0.4423828-1.328125
-				c0-0.6601562-0.2060547-1.1210938-0.6171875-1.3789062c-0.4091797-0.2578125-1.2128906-0.3847656-2.4042969-0.3847656v-1.2929688
-				c1.1201172,0,1.8828125-0.1152344,2.2861328-0.3457031c0.4023438-0.2304688,0.6044922-0.6445312,0.6044922-1.2460938
-				c0-0.8886719-0.4990234-1.3320312-1.4970703-1.3320312C11.1235352,33.0498047,10.4614258,33.1650391,9.5952148,33.3994141z"/>
-		</g>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/playlists_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="36.5932617" y1="6.6694336" x2="26.2429085" y2="21.4512672">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M42.9135742,11.1708984H19.9282227c-0.1933594,0-0.3486328,0.1542969-0.3486328,0.3457031
-			v5.0878906c0,0.1914062,0.1552734,0.3476562,0.3486328,0.3476562h22.9853516c0.1904297,0,0.3466797-0.15625,0.3466797-0.3476562
-			v-5.0878906C43.2602539,11.3251953,43.1040039,11.1708984,42.9135742,11.1708984z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="30.0854492" y1="18.2075195" x2="19.7342567" y2="32.9905548">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M36.4038086,22.7080078H13.418457c-0.1923828,0-0.3476562,0.15625-0.3476562,0.3476562v5.0878906
-			c0,0.1933594,0.1552734,0.3476562,0.3476562,0.3476562h22.9853516c0.1904297,0,0.3466797-0.1542969,0.3466797-0.3476562
-			v-5.0878906C36.7504883,22.8642578,36.5942383,22.7080078,36.4038086,22.7080078z"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="35.4272461" y1="28.8544922" x2="25.0768242" y2="43.636425">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M41.7446289,33.3544922h-22.984375c-0.1933594,0-0.3486328,0.15625-0.3486328,0.3457031v5.0898438
-			c0,0.1914062,0.1552734,0.3457031,0.3486328,0.3457031h22.984375c0.1904297,0,0.3476562-0.1542969,0.3476562-0.3457031v-5.0898438
-			C42.0922852,33.5107422,41.9350586,33.3544922,41.7446289,33.3544922z"/>
-		<g>
-			<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="16.9272461" y1="10.6357422" x2="10.8089104" y2="19.3736305">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_4_)" d="M16.6899414,19.6669922h-5.4619141v-1.2011719h1.6679688v-7.3359375l-1.8320312,0.390625
-				v-1.203125l2.8710938-0.9238281h1.2177734v9.0722656h1.5371094V19.6669922z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="11.027832" y1="21.6547852" x2="4.6830626" y2="30.7160549">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_5_)" d="M11.1577148,30.7509766H4.7329102v-0.8945312c0-0.734375,0.1816406-1.4472656,0.5458984-2.1367188
-				c0.3652344-0.6914062,1.0644531-1.4667969,2.0996094-2.3261719c0.546875-0.4609375,0.921875-0.8417969,1.1230469-1.1386719
-				c0.203125-0.2988281,0.3046875-0.6367188,0.3046875-1.0097656c0-0.96875-0.5234375-1.4550781-1.5712891-1.4550781
-				c-0.5839844,0-1.3027344,0.1542969-2.1542969,0.4648438v-1.3867188c0.9345703-0.2792969,1.8447266-0.4179688,2.7285156-0.4179688
-				c1.0849609,0,1.90625,0.2285156,2.4667969,0.6855469c0.5605469,0.4589844,0.8417969,1.1367188,0.8417969,2.0292969
-				c0,0.4257812-0.0693359,0.8203125-0.2089844,1.1757812s-0.3447266,0.6894531-0.6142578,1
-				c-0.2714844,0.3125-0.6738281,0.6894531-1.2060547,1.1386719c-0.5898438,0.4921875-1.0175781,0.8769531-1.2861328,1.15625
-				c-0.2695312,0.2832031-0.4794922,0.5664062-0.6318359,0.8554688c-0.1533203,0.2890625-0.2431641,0.5898438-0.2705078,0.9003906
-				h4.2578125V30.7509766z"/>
-		</g>
-		<g>
-			<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="14.9682617" y1="32.6533203" x2="8.7995138" y2="41.4632034">
-				<stop  offset="0" style="stop-color:#7EE7FD"/>
-				<stop  offset="0.533742" style="stop-color:#119EE0"/>
-				<stop  offset="1" style="stop-color:#7EE7FD"/>
-			</linearGradient>
-			<path fill="url(#SVGID_6_)" d="M9.5952148,33.3994141v-1.3554688c0.8710938-0.2226562,1.6865234-0.3359375,2.4482422-0.3359375
-				c2.2001953,0,3.3007812,0.84375,3.3007812,2.53125c0,1.1933594-0.6132812,1.9824219-1.8447266,2.3652344
-				c0.6416016,0.1171875,1.1386719,0.3847656,1.4892578,0.8085938c0.3505859,0.4199219,0.5263672,0.9472656,0.5263672,1.5761719
-				c0,1.0488281-0.3076172,1.8320312-0.9228516,2.3520508c-0.6142578,0.5175781-1.5664062,0.7792969-2.8554688,0.7792969
-				c-0.8388672,0-1.6572266-0.1074219-2.4560547-0.3203125v-1.355957c0.9589844,0.2246094,1.6679688,0.3359375,2.1328125,0.3359375
-				c0.6074219,0,1.0576172-0.1425781,1.3505859-0.421875c0.2949219-0.28125,0.4423828-0.7226562,0.4423828-1.328125
-				c0-0.6601562-0.2060547-1.1210938-0.6171875-1.3789062c-0.4091797-0.2578125-1.2128906-0.3847656-2.4042969-0.3847656v-1.2929688
-				c1.1201172,0,1.8828125-0.1152344,2.2861328-0.3457031c0.4023438-0.2304688,0.6044922-0.6445312,0.6044922-1.2460938
-				c0-0.8886719-0.4990234-1.3320312-1.4970703-1.3320312C11.1235352,33.0498047,10.4614258,33.1650391,9.5952148,33.3994141z"/>
-		</g>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/search.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.4008789" y1="16.8041992" x2="16.7693653" y2="29.1312771">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M24.0014648,29.4658203l-0.5322266-1.9902344
-			c-0.5371094,0.7421875-1.1386719,1.2910156-1.8056641,1.6464844c-0.6660156,0.3554688-1.4814453,0.5332031-2.4443359,0.5332031
-			c-1.3652344,0-2.4257812-0.3613281-3.1787109-1.0839844c-0.7539062-0.7226562-1.1308594-1.734375-1.1308594-3.0371094
-			c0-1.578125,0.5488281-2.7246094,1.6455078-3.4394531c1.0966797-0.7128906,3.0625-1.078125,5.8964844-1.09375v-0.8652344
-			c0-0.6386719-0.0751953-1.1191406-0.2246094-1.4433594c-0.1513672-0.3242188-0.4072266-0.5898438-0.7705078-0.7988281
-			s-0.9082031-0.3144531-1.6337891-0.3144531c-0.9472656,0-2.1660156,0.2285156-3.6582031,0.6855469v-2.2832031
-			c1.7441406-0.4179688,3.3300781-0.6289062,4.7597656-0.6289062c1.7832031,0,3.1337891,0.390625,4.0488281,1.1738281
-			c0.9150391,0.7792969,1.3730469,1.9335938,1.3730469,3.4550781v9.484375H24.0014648z M21.8120117,22.9423828
-			c-1.1767578,0-1.9794922,0.234375-2.4091797,0.7050781c-0.4306641,0.46875-0.6455078,1.0742188-0.6455078,1.8164062
-			c0,1.3105469,0.5322266,1.9648438,1.5986328,1.9648438c0.6787109,0,1.1972656-0.2207031,1.5566406-0.6621094
-			s0.5390625-1.0859375,0.5390625-1.9296875v-1.8945312H21.8120117z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="34.3623047" y1="15.0214844" x2="18.1885262" y2="38.1200333">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M41.503418,37.9423828l-8.0986328-8.1015625
-			c3.0068359-5.3691406,2.2431641-12.2871094-2.3251953-16.8535156c-5.5029297-5.5039062-14.4296875-5.5039062-19.9345703,0
-			c-5.5048828,5.5058594-5.5048828,14.4335938,0,19.9375c4.9902344,4.9902344,12.7822266,5.4394531,18.2978516,1.3847656
-			l7.8476562,7.8500977c0.6621094,0.6601562,1.7382812,0.6601562,2.4023438-0.0039062l1.8105469-1.809082
-			C42.1655273,39.6845703,42.1694336,38.6064453,41.503418,37.9423828z M13.0844727,30.9873047
-			c-4.4355469-4.4375-4.4355469-11.6269531-0.0009766-16.0585938c4.4326172-4.4375,11.6220703-4.4375,16.0576172,0
-			c4.4326172,4.4335938,4.4326172,11.6230469,0,16.0566406C24.706543,35.4189453,17.519043,35.4189453,13.0844727,30.9873047z"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
--- a/mpviewplugins/mpcollectionviewplugin/resources/search_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
-	 height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
-<g id="Layer_3">
-</g>
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="25.4008789" y1="16.8041992" x2="16.7693653" y2="29.1312771">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M24.0014648,29.4658203l-0.5322266-1.9902344
-			c-0.5371094,0.7421875-1.1386719,1.2910156-1.8056641,1.6464844c-0.6660156,0.3554688-1.4814453,0.5332031-2.4443359,0.5332031
-			c-1.3652344,0-2.4257812-0.3613281-3.1787109-1.0839844c-0.7539062-0.7226562-1.1308594-1.734375-1.1308594-3.0371094
-			c0-1.578125,0.5488281-2.7246094,1.6455078-3.4394531c1.0966797-0.7128906,3.0625-1.078125,5.8964844-1.09375v-0.8652344
-			c0-0.6386719-0.0751953-1.1191406-0.2246094-1.4433594c-0.1513672-0.3242188-0.4072266-0.5898438-0.7705078-0.7988281
-			s-0.9082031-0.3144531-1.6337891-0.3144531c-0.9472656,0-2.1660156,0.2285156-3.6582031,0.6855469v-2.2832031
-			c1.7441406-0.4179688,3.3300781-0.6289062,4.7597656-0.6289062c1.7832031,0,3.1337891,0.390625,4.0488281,1.1738281
-			c0.9150391,0.7792969,1.3730469,1.9335938,1.3730469,3.4550781v9.484375H24.0014648z M21.8120117,22.9423828
-			c-1.1767578,0-1.9794922,0.234375-2.4091797,0.7050781c-0.4306641,0.46875-0.6455078,1.0742188-0.6455078,1.8164062
-			c0,1.3105469,0.5322266,1.9648438,1.5986328,1.9648438c0.6787109,0,1.1972656-0.2207031,1.5566406-0.6621094
-			s0.5390625-1.0859375,0.5390625-1.9296875v-1.8945312H21.8120117z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="34.3623047" y1="15.0214844" x2="18.1885262" y2="38.1200333">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M41.503418,37.9423828l-8.0986328-8.1015625
-			c3.0068359-5.3691406,2.2431641-12.2871094-2.3251953-16.8535156c-5.5029297-5.5039062-14.4296875-5.5039062-19.9345703,0
-			c-5.5048828,5.5058594-5.5048828,14.4335938,0,19.9375c4.9902344,4.9902344,12.7822266,5.4394531,18.2978516,1.3847656
-			l7.8476562,7.8500977c0.6621094,0.6601562,1.7382812,0.6601562,2.4023438-0.0039062l1.8105469-1.809082
-			C42.1655273,39.6845703,42.1694336,38.6064453,41.503418,37.9423828z M13.0844727,30.9873047
-			c-4.4355469-4.4375-4.4355469-11.6269531-0.0009766-16.0585938c4.4326172-4.4375,11.6220703-4.4375,16.0576172,0
-			c4.4326172,4.4335938,4.4326172,11.6230469,0,16.0566406C24.706543,35.4189453,17.519043,35.4189453,13.0844727,30.9873047z"/>
-	</g>
-</g>
-<g id="Layer_4">
-</g>
-<g id="Layer_2">
-</g>
-</svg>
Binary file mpviewplugins/mpcollectionviewplugin/resources/teardrop_mask.png has changed
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionalbumartmanager.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionalbumartmanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -21,9 +21,11 @@
 #include <thumbnailmanager_qt.h>
 
 #include "mpcollectionalbumartmanager.h"
+#include "mpmpxcollectiondata.h"
 #include "mptrace.h"
 
-const int KMaxThumbnailReq = 5;
+const int KInitCacheSize = 10;
+const int KMaxCacheSize = 50;
 
 /*!
     \class MpCollectionAlbumArtManager
@@ -53,19 +55,25 @@
 /*!
  Constructs the album art manager.
  */
-MpCollectionAlbumArtManager::MpCollectionAlbumArtManager( QObject *parent )
+MpCollectionAlbumArtManager::MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent )
     : QObject(parent),
+      mCollectionData(data),
+      mThumbnailManager(0),
       mCachingInProgress(false),
-      mRequestCount(0)
+      mDefaultIcon(0),
+      mPendingRequest(false)
 {
     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);
+    mDefaultIcon = new QIcon(":/icons/default_album.png");
     TX_EXIT
 }
 
@@ -76,89 +84,66 @@
 {
     TX_ENTRY
     cancel();
-    mImageCache.clear();
+    delete mThumbnailManager;
+    delete mDefaultIcon;
     TX_EXIT
 }
 
 /*!
- Returns the album art for the given \a albumArtUri. If the album art is not
+ Returns the album art for the given \a index. If the album art is not
  available in its cache, an asynchronous request is made to the thumbnail manager
- and a null icon is returned.
+ and default icon is returned.
 
  \sa signal albumArtReady
  */
-HbIcon MpCollectionAlbumArtManager::albumArt( const QString& albumArtUri, int index )
+const QIcon* MpCollectionAlbumArtManager::albumArt( int index )
 {
-    TX_ENTRY_ARGS("albumArtUri=" << albumArtUri << ", index=" << index);
-    HbIcon icon;
-    if ( mImageCache.contains(albumArtUri) ) {
-        icon = mImageCache.value(albumArtUri);
-        TX_EXIT_ARGS("true - album art returned");
-    }
-    else {
-        if ( mRequestCount < KMaxThumbnailReq ) {
-            // Using negative index as priority will ensure that thumbnail requests
-            // are processed in the order they were requested.
-            int *clientData = new int(index);
-            int reqId = mThumbnailManager->getThumbnail( albumArtUri, clientData, -index );
-            if ( reqId != -1 ) {
-                mTnmReqMap.insert( reqId, albumArtUri );
-                mRequestCount++;
-                TX_EXIT_ARGS("false - album art requested");
+    TX_ENTRY_ARGS("index=" << index);
+    QIcon *icon = mImageCache[index];
+    if ( !icon ) {
+        icon = mDefaultIcon;
+        if ( !mRequestQueue.contains(index) ) {
+            // Icon was not found in cache. If the item has AlbumArtUri, request it
+            // through ThumbnailManager interface.
+            QString albumArtUri = mCollectionData->itemData(index, MpMpxCollectionData::AlbumArtUri);
+            if ( !albumArtUri.isEmpty() ) {
+                if ( !mPendingRequest ) {
+                    void *clientData = reinterpret_cast<void *>(index);
+                    mRequestId = mThumbnailManager->getThumbnail( albumArtUri, clientData );
+                    if ( mRequestId != -1 ) {
+                        mPendingRequest = true;
+                        TX_EXIT_ARGS("false - album art requested");
+                    }
+                    else {
+                        TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
+                    }
+                }
+                else {
+                    mRequestQueue.append( index );
+                    TX_EXIT_ARGS("false - request queued");
+                }
             }
-            else {
-                TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
-            }
-        }
-        else {
-            mRequestQueue.enqueue( qMakePair(albumArtUri, index) );
-            TX_EXIT_ARGS("false - request queued");
         }
     }
     return icon;
 }
 
 /*!
- Request to cache the album art for the items specified in \a albumArtList.
- Returns 'true' if caching is started. If all items already exist in cache,
- 'false' is returned.
-
- \sa signal albumCacheReady
+ 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.
  */
-bool MpCollectionAlbumArtManager::cacheAlbumArt( const QStringList albumArtList )
+void MpCollectionAlbumArtManager::cacheFirstScreen()
 {
     TX_ENTRY
-    int allAvailable = true;
-    if ( !albumArtList.empty() ) {
-        QString albumArtUri;
-        int reqId;
-        QStringListIterator iter(albumArtList);
-        while ( iter.hasNext() ) {
-            albumArtUri = iter.next();
-            if ( !mImageCache.contains(albumArtUri) ) {
-                reqId = mThumbnailManager->getThumbnail( albumArtUri );
-                if ( reqId != -1 ) {
-                    mTnmReqMap.insert( reqId, albumArtUri );
-                    mRequestCount++;
-                    allAvailable = false;
-                }
-                else {
-                    TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
-                }
-                TX_LOG_ARGS(albumArtUri);
-            }
-        }
+    int count = mCollectionData->count();
+    int initCount = ( count > KInitCacheSize ) ? KInitCacheSize : count;
+    for ( int i = 0; i < initCount; i++ ) {
+        albumArt(i);
     }
-
-    if ( allAvailable ) {
-        TX_EXIT_ARGS("Caching is done!");
-        return false;
+    if ( mPendingRequest ) {
+        mCachingInProgress = true;
     }
-    else {
-        TX_EXIT_ARGS("Caching is in progress!");
-        mCachingInProgress = true;
-        return true;
-    }
+    TX_EXIT
 }
 
 /*!
@@ -169,83 +154,55 @@
 void MpCollectionAlbumArtManager::cancel()
 {
     TX_ENTRY
-    if ( !mTnmReqMap.empty() ) {
-        QMapIterator<int, QString> iter(mTnmReqMap);
-        while ( iter.hasNext() ) {
-            iter.next();
-            bool result = mThumbnailManager->cancelRequest(iter.key());
-        }
+    if ( mPendingRequest ) {
+        mThumbnailManager->cancelRequest(mRequestId);
     }
-    mTnmReqMap.clear();
+    mImageCache.clear();
     mRequestQueue.clear();
-    mRequestCount = 0;
+    mPendingRequest = false;
     mCachingInProgress = false;
     TX_EXIT
 }
 
-
 /*!
  Slot to be called when thumbnail bitmap generation or loading is complete.
  */
-void MpCollectionAlbumArtManager::thumbnailReady( const QPixmap& pixmap, void *data, int id, int error )
+void MpCollectionAlbumArtManager::thumbnailReady( QPixmap pixmap, void *data, int id, int error )
 {
-    TX_ENTRY_ARGS("id=" << id << ", error=" << error);
-
-    // Find the index
-    if ( mTnmReqMap.contains(id) ) {
-        // Remove the request whether it completed successfully or with error.
-        QString albumArtUri = mTnmReqMap[id];
-        mTnmReqMap.remove( id );
-        mRequestCount--;
+    int index = reinterpret_cast<int>(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);
+        if ( !mCachingInProgress ) {
+            emit albumArtReady(index);
+        }
+    }
+    else {
+        TX_EXIT_ARGS("Err: thumbnail manager returned error for getThumbnail request!");
+    }
 
-        if ( mCachingInProgress ) {
-            if ( error == 0 ) {
-                QIcon qicon(pixmap);
-                HbIcon icon(qicon);
-                mImageCache.insert(albumArtUri, icon);
-            }
-            else {
-                TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
-            }
-            if ( mTnmReqMap.empty() ) {
-                TX_LOG_ARGS("Album art cache ready!");
-                mCachingInProgress = false;
-                emit albumCacheReady();
-                return;
-            }
-        }
-        else {
-            if ( error == 0 ) {
-                int *clientData = (int *)data;
-                int index = *clientData;
-                delete clientData;
-
-                QIcon qicon(pixmap);
-                HbIcon icon(qicon);
-                mImageCache.insert(albumArtUri, icon);
-                TX_LOG_ARGS("Album art ready for index=" << index);
-                emit albumArtReady(index);
-            }
-            else {
-                TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
+    if ( mCachingInProgress ) {
+        if ( index >= (KInitCacheSize - 1) || !mRequestQueue.count() ) {
+            mCachingInProgress = false;
+            for ( int i = 0; i <= KInitCacheSize; ++i ) {
+                if ( mImageCache.contains(i) ) {
+                    emit albumArtReady(i);
+                }
             }
         }
     }
 
-    // Check to see if any request is pending in the queue
-    while ( !mRequestQueue.isEmpty()
-            && (mRequestCount < KMaxThumbnailReq) ) {
-        QPair<QString, int> req = mRequestQueue.dequeue();
-        QString albumArtUri = req.first;
-        int index = req.second;
-
-        // Using negative index as priority will ensure that thumbnail requests
-        // are processed in the order they were requested.
-        int *clientData = new int(index);
-        int reqId = mThumbnailManager->getThumbnail( albumArtUri, clientData, -index );
-        if ( reqId != -1 ) {
-            mTnmReqMap.insert( reqId, albumArtUri );
-            mRequestCount++;
+    mPendingRequest = false;
+    if ( mRequestQueue.count() ) {
+        int index = mRequestQueue.takeFirst();
+        QString albumArtUri = mCollectionData->itemData(index, MpMpxCollectionData::AlbumArtUri);
+        void *clientData = reinterpret_cast<void *>(index);
+        mRequestId = mThumbnailManager->getThumbnail( albumArtUri, clientData );
+        if ( mRequestId != -1 ) {
+            mPendingRequest = true;
+            TX_EXIT_ARGS("next album art requested");
         }
         else {
             TX_EXIT_ARGS("Err: thumbnail manager returned (-1) for getThumbnail request!");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontaineralbums.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 collection container definition - Albums.
+*
+*/
+
+#include <QtCore>
+
+#include <hbdocumentloader.h>
+#include <hblistview.h>
+#include <hbgroupbox.h>
+#include <hbindexfeedback.h>
+
+#include "mpcollectioncontaineralbums.h"
+#include "mpmpxcollectiondata.h"
+#include "mptrace.h"
+
+/*!
+    \class MpCollectionContainerAlbums
+    \brief Music Player collection container definition - Albums.
+
+    'Albums' collection container implements the interface specified
+    by MpCollectionContainer. It provides a layout and widgets for the
+    'Albums' view.
+
+    This container handles the following contexts:
+    \li ECollectionContextAlbums
+    \li ECollectionContextAlbumSongs
+
+    \sa MpCollectionContainer
+*/
+
+/*!
+ Constructs the collection container.
+ */
+MpCollectionContainerAlbums::MpCollectionContainerAlbums( HbDocumentLoader *loader, QGraphicsItem *parent )
+    : MpCollectionListContainer(loader, parent),
+      mInfoBar(0)
+{
+    TX_LOG
+}
+
+/*!
+ Destructs the collection container.
+ */
+MpCollectionContainerAlbums::~MpCollectionContainerAlbums()
+{
+    TX_ENTRY
+    delete mInfoBar;
+    delete mList;
+    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);
+
+    mAlbum = mCollectionData->itemData(row, MpMpxCollectionData::Title);
+    if ( mAlbum.isEmpty() ) {
+        mAlbum = hbTrId("txt_mus_dblist_val_unknown3");
+    }
+
+    mArtist = mCollectionData->itemData(row, MpMpxCollectionData::Artist);
+    if ( mArtist.isEmpty() ) {
+        mArtist = hbTrId("txt_mus_subtitle_unknown");
+    }
+
+    MpCollectionListContainer::itemActivated(index);
+    TX_EXIT
+}
+
+/*!
+ Sets up the container by organizing widgets according to its layout.
+
+ \reimp
+ */
+void MpCollectionContainerAlbums::setupContainer()
+{
+    TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext);
+    if ( mCollectionData->count() ) {
+        bool ok = false;
+        QGraphicsWidget *widget;
+        if ( mCollectionContext == ECollectionContextAlbums ) {
+            mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "albums", &ok);
+            if ( !ok ) {
+                TX_LOG_ARGS("Error: invalid xml file.");
+                Q_ASSERT_X(ok, "MpCollectionContainerAlbums::setupContainer", "invalid xml file");
+            }
+            if ( !mList ) {
+                widget = mDocumentLoader->findWidget(QString("albumsList"));
+                mList = qobject_cast<HbListView*>(widget);
+                mIndexFeedback->setItemView(mList);
+                initializeList();
+            }
+            if ( mInfoBar ) {
+                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");
+            }
+
+            widget = mDocumentLoader->findWidget(QString("albumSongsDetail"));
+            mInfoBar = qobject_cast<HbGroupBox*>(widget);
+
+            QString details;
+            if ( mViewMode == MpCommon::FetchView ) {
+                details = "Select a song";
+            }
+            else {
+                details = mArtist;
+                details.append(" : ");
+                details.append(mAlbum);
+            }
+            mInfoBar->setHeading(details);
+        }
+    }
+    else {
+        if ( mInfoBar ) {
+            // When last song in an album is deleted and album list is reloaded
+            delete mInfoBar;
+            mInfoBar = 0;
+        }
+        // Call empty list from base class
+        setupEmptyListContainer();
+    }
+    TX_EXIT
+}
+
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerallsongs.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -19,11 +19,11 @@
 
 #include <hbdocumentloader.h>
 #include <hblistview.h>
-#include <hblabel.h>
+#include <hbgroupbox.h>
+#include <hbindexfeedback.h>
 
 #include "mpcollectioncontainerallsongs.h"
 #include "mpmpxcollectiondata.h"
-#include "mpcollectioninfobar.h"
 #include "mptrace.h"
 
 /*!
@@ -66,31 +66,36 @@
 void MpCollectionContainerAllSongs::setupContainer()
 {
     TX_ENTRY
-    bool ok = false;
-    mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "allSongs", &ok);
-    if ( !ok ) {
-        TX_LOG_ARGS("Error: invalid xml file.");
-        Q_ASSERT_X(ok, "MpCollectionContainerAllSongs::setupContainer", "invalid xml file");
-    }
+    if ( mCollectionData->count() ) {
+        bool ok = false;
+        mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "allSongs", &ok);
+        if ( !ok ) {
+            TX_LOG_ARGS("Error: invalid xml file.");
+            Q_ASSERT_X(ok, "MpCollectionContainerAllSongs::setupContainer", "invalid xml file");
+        }
+        QGraphicsWidget *widget;
+        widget = mDocumentLoader->findWidget(QString("allSongsDetail"));
+        mInfoBar = qobject_cast<HbGroupBox*>(widget);
 
-    QString details;
-    if ( mViewMode == MpCommon::FetchView ) {
-        details = "Select a song";
+        widget = mDocumentLoader->findWidget(QString("allSongsList"));
+        mList = qobject_cast<HbListView*>(widget);
+        mIndexFeedback->setItemView(mList);
+        initializeList();
+
+        QString details;
+        if ( mViewMode == MpCommon::FetchView ) {
+            details = "Select a song";
+        }
+        else {
+            int count = mCollectionData->count();
+            details = hbTrId("txt_mus_subhead_ln_songs", count);
+        }
+        mInfoBar->setHeading(details);
     }
     else {
-        int count = mCollectionData->count();
-        details.setNum(count);
-        details.append(" songs");
+        // Call empty list from base class
+        setupEmptyListContainer();
     }
-
-    QGraphicsWidget *widget;
-    widget = mDocumentLoader->findWidget(QString("allSongsDetail"));
-    mInfoBar = qobject_cast<MpCollectionInfoBar*>(widget);
-    mInfoBar->setText(details);
-
-    widget = mDocumentLoader->findWidget(QString("allSongsList"));
-    mList = qobject_cast<HbListView*>(widget);
-    initializeList();
     TX_EXIT
 }
 
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerartists.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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 - Artists.
-*
-*/
-
-#include <QtCore>
-
-#include <hbdocumentloader.h>
-#include <hblistview.h>
-
-#include "mpcollectioncontainerartists.h"
-#include "mpmpxcollectiondata.h"
-#include "mpcollectioninfobar.h"
-#include "mptrace.h"
-
-/*!
-    \class MpCollectionContainerArtists
-    \brief Music Player collection container definition - Artists.
-
-    'Artists' collection container implements the interface specified
-    by MpCollectionContainer. It provides a layout and widgets for the
-    'Artists' view.
-
-    This container handles the following contexts:
-    \li ECollectionContextArtistAlbums
-    \li ECollectionContextAlbumSongs
-
-    \sa MpCollectionContainer
-*/
-
-/*!
- Constructs the collection container.
- */
-MpCollectionContainerArtists::MpCollectionContainerArtists( HbDocumentLoader *loader, QGraphicsItem *parent )
-    : MpCollectionListContainer(loader, parent),
-      mInfoBar(0),
-      mListInitialized(false)
-{
-    TX_LOG
-}
-
-/*!
- Destructs the collection container.
- */
-MpCollectionContainerArtists::~MpCollectionContainerArtists()
-{
-    TX_ENTRY
-    delete mInfoBar;
-    delete mList;
-    TX_EXIT
-}
-
-/*!
- Slot to be called when an item is selected by the user.
- */
-void MpCollectionContainerArtists::itemActivated( const QModelIndex &index )
-{
-    int row = index.row();
-    TX_ENTRY_ARGS("index=" << row);
-
-    mAlbum = mCollectionData->itemData(row, MpMpxCollectionData::Title);
-    if ( mAlbum.isEmpty() ) {
-        mAlbum = QString( tr("Unknown") );
-    }
-
-    mArtist = mCollectionData->itemData(row, MpMpxCollectionData::Artist);
-    if ( mArtist.isEmpty() ) {
-        mArtist = QString( tr("Unknown") );
-    }
-
-    MpCollectionListContainer::itemActivated(index);
-    TX_EXIT
-}
-
-/*!
- Sets up the container by organizing widgets according to its layout.
-
- \reimp
- */
-void MpCollectionContainerArtists::setupContainer()
-{
-    TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext);
-
-    if ( !mList ) {
-        bool ok = false;
-        mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "artist", &ok);
-
-        if ( !ok ) {
-            TX_LOG_ARGS("Error: invalid xml file.");
-            Q_ASSERT_X(ok, "MpCollectionContainerArtists::setupContainer", "invalid xml file");
-        }
-
-        QGraphicsWidget *widget;
-        widget = mDocumentLoader->findWidget(QString("artistDetail"));
-        mInfoBar = qobject_cast<MpCollectionInfoBar*>(widget);
-
-        widget = mDocumentLoader->findWidget(QString("artistList"));
-        mList = qobject_cast<HbListView*>(widget);
-        initializeList();
-    }
-
-    QString details;
-    int count = 0;
-    switch ( mCollectionContext ) {
-        case ECollectionContextArtistAlbums:
-            count = mCollectionData->count();
-            details.setNum(count);
-            details.append( tr(" album(s)") );
-            mInfoBar->setText(details);
-            break;
-        case ECollectionContextAlbumSongs:
-            if ( mViewMode == MpCommon::FetchView ) {
-                details = "Select a song";
-            }
-            else {
-                details = mArtist;
-                details.append(" : ");
-                details.append(mAlbum);
-            }
-            mInfoBar->setText(details);
-            break;
-        default:
-            TX_LOG_ARGS("Error: Wrong context; should never get here.");
-            break;
-    }
-    TX_EXIT
-}
-
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerfactory.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -21,7 +21,7 @@
 #include "mpcollectionview.h"
 #include "mpcollectioncontainer.h"
 #include "mpcollectioncontainerallsongs.h"
-#include "mpcollectioncontainerartists.h"
+#include "mpcollectioncontaineralbums.h"
 #include "mpcollectioncontainerplaylists.h"
 #include "mpcollectioncontainergenres.h"
 #include "mptrace.h"
@@ -75,10 +75,10 @@
         connect( mCurrentContainer, SIGNAL(itemActivated(int)), mView, SLOT(openIndex(int)) );
         connect( mCurrentContainer, SIGNAL(itemLongPressed(int, QPointF)), mView, SLOT(openContextMenu(int, QPointF)) );
         break;
-    case ECollectionContextArtistAlbums:
+    case ECollectionContextAlbums:
         if ( mCurrentContext != ECollectionContextAlbumSongs ) {
             deleteCurrentContainer();
-            mCurrentContainer = new MpCollectionContainerArtists(mDocumentLoader);
+            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)) );
@@ -123,9 +123,9 @@
     case ECollectionContextAllSongs:
         delete static_cast<MpCollectionContainerAllSongs *>(mCurrentContainer);
         break;
-    case ECollectionContextArtistAlbums:
+    case ECollectionContextAlbums:
     case ECollectionContextAlbumSongs:
-        delete static_cast<MpCollectionContainerArtists *>(mCurrentContainer);
+        delete static_cast<MpCollectionContainerAlbums *>(mCurrentContainer);
         break;
     case ECollectionContextPlaylists:
     case ECollectionContextPlaylistSongs:
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainergenres.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainergenres.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -20,6 +20,7 @@
 
 #include <hbdocumentloader.h>
 #include <hblistview.h>
+#include <hbindexfeedback.h>
 
 #include "mpcollectioncontainergenres.h"
 #include "mptrace.h"
@@ -78,6 +79,7 @@
         QGraphicsWidget *widget;
         widget = mDocumentLoader->findWidget(QString("genreList"));
         mList = qobject_cast<HbListView*>(widget);
+        mIndexFeedback->setItemView(mList);
         initializeList();
     }
     TX_EXIT
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectioncontainerplaylists.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -19,10 +19,11 @@
 
 #include <hbdocumentloader.h>
 #include <hblistview.h>
+#include <hbgroupbox.h>
+#include <hblabel.h>
 
 #include "mpcollectioncontainerplaylists.h"
 #include "mpmpxcollectiondata.h"
-#include "mpcollectioninfobar.h"
 #include "mptrace.h"
 
 
@@ -47,8 +48,7 @@
  */
 MpCollectionContainerPlaylists::MpCollectionContainerPlaylists( HbDocumentLoader *loader, QGraphicsItem *parent )
     : MpCollectionListContainer(loader, parent),
-      mInfoBar(0),
-      mListInitialized(false)
+      mInfoBar(0)
 {
     TX_LOG
 }
@@ -72,53 +72,56 @@
 void MpCollectionContainerPlaylists::setupContainer()
 {
     TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext);
-
-    if ( !mList ) {
+    if ( mCollectionData->count() ) {
         bool ok = false;
-        mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "playlist", &ok);
-
-        if ( !ok ) {
-            TX_LOG_ARGS("Error: invalid xml file.");
-            Q_ASSERT_X(ok, "MpCollectionContainerPlaylists::setupContainer", "invalid xml file");
+        QGraphicsWidget *widget;
+        if ( mCollectionContext == ECollectionContextPlaylists ) {
+            mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "playlists", &ok);
+            if ( !ok ) {
+                TX_LOG_ARGS("Error: invalid xml file.");
+                Q_ASSERT_X(ok, "MpCollectionContainerPlaylists::setupContainer", "invalid xml file");
+            }
+            if ( !mList ) {
+                widget = mDocumentLoader->findWidget(QString("playlistsList"));
+                mList = qobject_cast<HbListView*>(widget);
+                initializeList();
+            }
+            if ( mInfoBar ) {
+                delete mInfoBar;
+                mInfoBar = 0;
+            }
         }
-
-        QGraphicsWidget *widget;
-        widget = mDocumentLoader->findWidget(QString("playlistDetail"));
-        mInfoBar = qobject_cast<MpCollectionInfoBar*>(widget);
-
-        widget = mDocumentLoader->findWidget(QString("playlistList"));
-        mList = qobject_cast<HbListView*>(widget);
-        initializeList();
-    }
+        else if ( mCollectionContext == ECollectionContextPlaylistSongs ) {
+            mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "playlistSongs", &ok);
+            if ( !ok ) {
+                TX_LOG_ARGS("Error: invalid xml file.");
+                Q_ASSERT_X(ok, "MpCollectionContainerPlaylists::setupContainer", "invalid xml file");
+            }
 
-    int count = mCollectionData->count();
-    QString details;
-    QString detailsCount;
-    QString playlist;
-    switch ( mCollectionContext ) {
-    case ECollectionContextPlaylists:
-        details.setNum(count);
-        details.append( tr(" playlist(s)") );
-        mInfoBar->setText(details);
-        break;
-    case ECollectionContextPlaylistSongs:
-        if ( mViewMode == MpCommon::FetchView ) {
-            details = "Select a song";
+            widget = mDocumentLoader->findWidget(QString("playlistSongsDetail"));
+            mInfoBar = qobject_cast<HbGroupBox*>(widget);
+
+            QString details;
+            if ( mViewMode == MpCommon::FetchView ) {
+                details = "Select a song";
+            }
+            else {
+                details = mCollectionData->collectionTitle();
+            }
+            mInfoBar->setHeading(details);
         }
-        else {
-            details = QString( tr("Playlist: ") );
-            playlist = mCollectionData->collectionTitle();
-            if ( playlist.isEmpty() ) {
-                playlist = QString( tr("Unknown") );
-            }
-            details.append(playlist);
-            detailsCount.setNum(count);
+        if ( mNoMusic ) {
+            delete mNoMusic;
+            mNoMusic = 0;
         }
-        mInfoBar->setText(details, detailsCount);
-        break;
-    default:
-        TX_LOG_ARGS("Error: Wrong context; should never get here.");
-        break;
+    }
+    else {
+        if ( mInfoBar ) {
+            delete mInfoBar;
+            mInfoBar = 0;
+        }
+        // Call empty list from base class
+        setupEmptyListContainer();
     }
     TX_EXIT
 }
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondatamodel.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondatamodel.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -15,18 +15,17 @@
 *
 */
 
-#include <QBrush>
-#include <QColor>
-
+#include <QIcon>
+#include <QList>
+#include <qmimedata.h>
 #include <hbicon.h>
+#include <hbnamespace.h>
 
 #include "mpcollectiondatamodel.h"
 #include "mpcollectionalbumartmanager.h"
 #include "mpmpxcollectiondata.h"
 #include "mptrace.h"
 
-const int KInitCacheSize = 11;
-
 /*!
     \class MpCollectionDataModel
     \brief Music Player collection data model.
@@ -46,18 +45,24 @@
 */
 
 /*!
+    \fn void orderChanged( int containerId, int itemId, int itemOrdinal, int newOrdinal )
+
+    This signal is emitted when a reorder operations is propagated to the 
+    model, indicates that the item with \a containerId , \a itemId is to 
+    be moved from \a itemOrdinal to \a newOrdinal.
+ */
+
+/*!
  Constructs the collection data model.
  */
 MpCollectionDataModel::MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent )
     : QAbstractListModel(parent),
       mCollectionData(data),
-      mRowCount(0),
-      mCachingInProgress(false)
+      mRowCount(0)
 {
     TX_ENTRY
-    mAlbumArtManager = new MpCollectionAlbumArtManager();
+    mAlbumArtManager = new MpCollectionAlbumArtManager(mCollectionData);
     connect( mAlbumArtManager, SIGNAL(albumArtReady(int)), this, SLOT(updateAlbumArt(int)) );
-    connect( mAlbumArtManager, SIGNAL(albumCacheReady()), this, SLOT(albumCacheReady()) );
     TX_EXIT
 }
 
@@ -84,12 +89,7 @@
 {
     TX_LOG
     Q_UNUSED(parent);
-    if ( mCachingInProgress ) {
-        return 0;
-    }
-    else {
-        return mRowCount;
-    }
+    return mRowCount;
 }
 
 /*!
@@ -117,94 +117,144 @@
             display << primaryText;
         }
         else {
-            display << QString( tr("Unknown") );
+            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 ECollectionContextArtistAlbums:
+            case ECollectionContextAlbums:
             case ECollectionContextPlaylistSongs:
                 secondaryText = mCollectionData->itemData(row, MpMpxCollectionData::Artist);
                 if ( !secondaryText.isEmpty() ) {
                     display << secondaryText;
                 }
                 else {
-                    display << QString( tr("Unknown") );
+                    display << hbTrId("txt_mus_other_unknown3");
                 }
                 break;
-            case ECollectionContextPlaylists:
-                secondaryText = mCollectionData->itemData(row, MpMpxCollectionData::Count);
-                if ( !secondaryText.isEmpty() ) {
-                    display << secondaryText;
-                }
+            default:
                 break;
         }
         returnValue = display;
     }
     else if ( role == Qt::DecorationRole ) {
         switch ( context ) {
-            case ECollectionContextArtistAlbums:
-                bool defaultArt = true;
-                QString albumArtUri = mCollectionData->itemData(row, MpMpxCollectionData::AlbumArtUri);
-                if ( !albumArtUri.isEmpty() ) {
-                     HbIcon icon = mAlbumArtManager->albumArt(albumArtUri, row);
-                     if ( !icon.isNull() ) {
-                         returnValue = icon;
-                         defaultArt = false;
-                     }
-                }
-                if ( defaultArt ) {
-                    // No album art, use default album art
-                    HbIcon icon(QString(":/icons/default_album.png"));
-                    returnValue = icon;
-                }
+            case ECollectionContextAlbums:
+                const QIcon *icon = mAlbumArtManager->albumArt(row);
+                QVariant iconVariant(QVariant::Icon, icon);
+                returnValue = iconVariant;
                 break;
         }
     }
+    else if ( role == Hb::IndexFeedbackRole ) {
+        QString feedbackIndex;
+        feedbackIndex = mCollectionData->itemData(row, MpMpxCollectionData::Title);
+        returnValue = feedbackIndex;
+    }
     TX_EXIT
     return returnValue;
 }
 
 /*!
- Must be called when data has changed and model needs to be refreshed
- to reflect the new data.
+ \reimp
  */
-void MpCollectionDataModel::refreshModel()
+Qt::DropActions MpCollectionDataModel::supportedDropActions() const
+{
+    return Qt::MoveAction;
+}
+
+/*! 
+ \reimp
+*/
+bool MpCollectionDataModel::removeRows(int row, int count, const QModelIndex &parent )
 {
-    TX_ENTRY
-    // Cancel all outstanding album art request first, then reset the model.
-    mAlbumArtManager->cancel();
-    mRowCount = mCollectionData->count();
+    if ( count > 1 ) {
+        return false;
+    }
+    beginRemoveRows ( parent, row, row);
+    //This call internally caches the item, to be inserted if it it drag and drop.
+    mCollectionData->removeItem(row);
+    mRowCount--;
+    endRemoveRows();
+    return true;
+}
+
+/*! 
+ \reimp
+*/
+QStringList MpCollectionDataModel::mimeTypes() const
+{
+    QStringList types;
+    types << QLatin1String("application/x-mpcollectiondatamodelrowandids");
+    return types;
+}
 
-    TCollectionContext context = mCollectionData->context();
-    if ( context == ECollectionContextArtistAlbums ) {
-        // 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.
-        if ( mRowCount > 0 ) {
-            int initCount = ( mRowCount > KInitCacheSize ) ? KInitCacheSize : mRowCount;
-            QStringList albumArtList;
-            QString albumArtUri;
-            for ( int i = 0; i < initCount; i++ ) {
-                albumArtUri = mCollectionData->itemData(i, MpMpxCollectionData::AlbumArtUri);
-                if ( !albumArtUri.isEmpty() ) {
-                     albumArtList << albumArtUri;
-                }
-            }
-            mCachingInProgress = mAlbumArtManager->cacheAlbumArt(albumArtList);
-            if ( !mCachingInProgress ) {
-                reset();
-            }
-        }
-        else {
-            reset();
-        }
+/*! 
+ \reimp
+*/
+QMimeData *MpCollectionDataModel::mimeData(const QModelIndexList &indexes) const
+{
+    if (indexes.count() <= 0)
+        return 0;
+    QStringList types = mimeTypes();
+    if (types.isEmpty())
+        return 0;
+    QMimeData *data = new QMimeData();
+    QString format = types.at(0);
+    QByteArray encoded;
+    QDataStream stream(&encoded, QIODevice::WriteOnly);
+    stream << indexes.at(0).row();
+    stream << mCollectionData->containerId();
+    stream << mCollectionData->itemId( indexes.at(0).row() );
+    
+    data->setData(format, encoded);
+    return data;
+}
+
+/*! 
+ \reimp
+*/
+bool MpCollectionDataModel::dropMimeData(const QMimeData *data, Qt::DropAction action,
+                          int row, int column, const QModelIndex &parent)
+{
+    Q_UNUSED(column);
+    // check if the action is supported
+    if (!data || action != Qt::MoveAction ) {
+        return false;
     }
-    else {
-        reset();
+    // check if the format is supported
+    QStringList types = mimeTypes();
+    if (types.isEmpty()) {
+        return false;
+    }
+    QString format = types.at(0);
+    if (!data->hasFormat(format)) {
+        return false;
     }
-    TX_EXIT
+    // decode and insert
+    QByteArray encoded = data->data(format);
+    QDataStream stream(&encoded, QIODevice::ReadOnly);
+    int rowFrom = -1;
+    int mpxContainerId = -1;
+    int mpxItemId = -1;
+    if (!stream.atEnd()) {
+        stream >> rowFrom;
+        stream >> mpxContainerId;
+        stream >> mpxItemId;
+    } 
+    if ( rowFrom == -1 || mpxContainerId == -1 || mpxItemId == -1  || 
+            !mCollectionData->testCachedItem( mpxItemId )) {
+        return false;
+    }    
+        
+    beginInsertRows( parent, row, row );
+    emit orderChanged( mpxContainerId, mpxItemId, rowFrom, row );
+    mCollectionData->insertCachedItem( row );
+    mRowCount++;
+    endInsertRows();
+    return true;
 }
 
 /*!
@@ -221,7 +271,7 @@
 void MpCollectionDataModel::updateAlbumArt( int index )
 {
     TX_ENTRY_ARGS("index=" << index);
-    if ( index > 0 && index < mRowCount ) {
+    if ( index >= 0 && index < mRowCount ) {
         QModelIndex modelIndex = QAbstractItemModel::createIndex(index, 0);
         emit dataChanged(modelIndex, modelIndex);
     }
@@ -229,14 +279,23 @@
 }
 
 /*!
- Slot to be called when album art cache is ready.
+ Slot to be called when data has changed and model needs to be refreshed
+ to reflect the new data.
  */
-void MpCollectionDataModel::albumCacheReady()
+void MpCollectionDataModel::refreshModel()
 {
     TX_ENTRY
-    if ( mCachingInProgress ) {
-        mCachingInProgress = false;
-        reset();
+    // Cancel all outstanding album art request first, then reset the model.
+    mAlbumArtManager->cancel();
+    mRowCount = mCollectionData->count();
+
+    TCollectionContext context = mCollectionData->context();
+    if ( context == ECollectionContextAlbums ) {
+        // 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();
     }
+    reset();
     TX_EXIT
 }
+
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectiondocumentloader.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -18,7 +18,6 @@
 // INCLUDE FILES
 #include "mpcollectiondocumentloader.h"
 #include "mpnowplayingwidget.h"
-#include "mpcollectioninfobar.h"
 #include "mpcommondefs.h"
 #include "mptrace.h"
 
@@ -46,12 +45,6 @@
         TX_EXIT
         return object;
     }
-    else if (type == MpCollectionInfoBar::staticMetaObject.className()) {
-        QObject *object = new MpCollectionInfoBar();
-        object->setObjectName(name);
-        TX_EXIT
-        return object;
-    }
 
     TX_EXIT
     return HbDocumentLoader::createObject(type, name);
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectioninfobar.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +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 information bar.
-*
-*/
-
-#include <QPainter>
-#include <QColor>
-
-#include <hbstackedlayout.h>
-#include <hblabel.h>
-#include <hbdocumentloader.h>
-#include <hbinstance.h>
-#include <hbmainwindow.h>
-
-#include "mpcollectioninfobar.h"
-#include "mptrace.h"
-
-
-const char*MUSIC_COLLECTION_INFOBAR_DOCML = ":/docml/musiccollection_infobar.docml";
-
-
-/*!
-    \class MpCollectionInfoBar
-    \brief Music Player collection container information bar.
-
-    Collection Info Bar is a custom widget,similar to HbWidget that provides
-    up to two text labels, one aligned to left and the other to the right.
-*/
-
-/*!
- Constructs the information bar widget.
- */
-MpCollectionInfoBar::MpCollectionInfoBar( QGraphicsItem *parent )
-    : HbWidget(parent),
-      mContainer(0),
-      mTextLeft(0),
-      mTextRight(0)
-{
-    TX_ENTRY
-    mDocumentLoader = new HbDocumentLoader();
-    bool ok = false;
-    mDocumentLoader->load( MUSIC_COLLECTION_INFOBAR_DOCML, &ok );
-    if ( ok ) {
-        QGraphicsWidget *widget;
-        widget = mDocumentLoader->findWidget(QString("infoBarContainer"));
-        mContainer = qobject_cast<HbWidget*>(widget);
-
-        widget = mDocumentLoader->findWidget(QString("leftText"));
-        mTextLeft = qobject_cast<HbLabel*>(widget);
-
-        widget = mDocumentLoader->findWidget(QString("rightText"));
-        mTextRight = qobject_cast<HbLabel*>(widget);
-    }
-    else {
-        TX_LOG_ARGS("Error: invalid xml file.");
-        Q_ASSERT_X(ok, "MpCollectionInfoBar", "invalid xml file");
-    }
-
-    HbStackedLayout *layout = new HbStackedLayout(this);
-    layout->addItem(mContainer);
-
-	HbMainWindow *mainWindow = hbInstance->allMainWindows()[0];
-    mOrientation = mainWindow->orientation();
-    connect( mainWindow, SIGNAL( orientationChanged(Qt::Orientation) ),
-             this, SLOT( orientationChange(Qt::Orientation) ) );
-    TX_EXIT
-}
-
-/*!
- Destructs the widget.
- */
-MpCollectionInfoBar::~MpCollectionInfoBar()
-{
-    TX_ENTRY
-    delete mContainer;
-    delete mDocumentLoader;
-    TX_EXIT
-}
-
-/*!
- Sets the left label text to \a textLeft.
- */
-void MpCollectionInfoBar::setText(const QString &textLeft)
-{
-    TX_ENTRY_ARGS("textLeft=" << textLeft);
-
-    mTextLeft->setPlainText(textLeft);
-    mTextRight->setPlainText(QString::null);
-
-    bool ok1 = false;
-    bool ok2 = false;
-    mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "single", &ok1);
-    if ( mOrientation == Qt::Vertical ) {
-        mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "single singlePortrait", &ok2);
-    }
-    else {
-        mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "single singleLandscape", &ok2);
-    }
-    if ( !ok1 || !ok2 ) {
-        TX_LOG_ARGS("Error: invalid xml file.");
-        Q_ASSERT_X((ok1 || ok2), "MpCollectionInfoBar::setText 1", "invalid xml file");
-    }
-    mSingleText = true;
-    TX_EXIT
-}
-
-/*!
- Sets the left label text to \a textLeft and the right label text to \a textRight.
- */
-void MpCollectionInfoBar::setText(const QString &textLeft, const QString &textRight)
-{
-    TX_ENTRY_ARGS("textLeft=" << textLeft << ", textRight=" << textRight);
-
-    mTextLeft->setPlainText(textLeft);
-    mTextRight->setPlainText(textRight);
-
-    bool ok1 = false;
-    bool ok2 = false;
-    mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "double", &ok1);
-    if ( mOrientation == Qt::Vertical ) {
-        mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "double doublePortrait", &ok2);
-    }
-    else {
-        mDocumentLoader->load(MUSIC_COLLECTION_INFOBAR_DOCML, "double doubleLandscape", &ok2);
-    }
-    if ( !ok1 || !ok2 ) {
-        TX_LOG_ARGS("Error: invalid xml file.");
-        Q_ASSERT_X((ok1 || ok2), "MpCollectionInfoBar::setText 2", "invalid xml file");
-    }
-    mSingleText = false;
-    TX_EXIT
-}
-
-/*!
-    \reimp
- */
-void MpCollectionInfoBar::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
-}
-
-/*!
- Slot to be called when orientation is changed.
- Loads the correct layout based on the \a orientation.
- */
-void MpCollectionInfoBar::orientationChange( Qt::Orientation orientation )
-{
-    TX_ENTRY
-    mOrientation = orientation;
-    if ( mSingleText ) {
-        setText( mTextLeft->plainText() );
-    }
-    else {
-        setText( mTextLeft->plainText(), mTextRight->plainText() );
-    }
-    TX_EXIT
-}
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionlistcontainer.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -23,6 +23,9 @@
 #include <hbabstractviewitem.h>
 #include <hblistviewitem.h>
 #include <hbscrollbar.h>
+#include <hbdocumentloader.h>
+#include <hblabel.h>
+#include <hbindexfeedback.h>
 
 #include "mpcollectionlistcontainer.h"
 #include "mpcollectiondatamodel.h"
@@ -45,9 +48,12 @@
 MpCollectionListContainer::MpCollectionListContainer( HbDocumentLoader *loader, QGraphicsItem *parent )
     : MpCollectionContainer(loader, parent),
       mList(0),
-      mEffectOnGoing(false)
+      mNoMusic(0),
+      mIndexFeedback( new HbIndexFeedback())
 {
-    TX_LOG
+    TX_ENTRY
+    mIndexFeedback->setIndexFeedbackPolicy(HbIndexFeedback::IndexFeedbackSingleCharacter);
+    TX_EXIT
 }
 
 /*!
@@ -55,7 +61,10 @@
  */
 MpCollectionListContainer::~MpCollectionListContainer()
 {
-    TX_LOG
+    TX_ENTRY
+    delete mNoMusic;
+    delete mIndexFeedback;
+    TX_EXIT
 }
 
 /*!
@@ -64,12 +73,7 @@
  */
 void MpCollectionListContainer::initialize()
 {
-    TX_ENTRY
-    HbEffect::add(QString("viewItem"), QString(":/effects/select.fxml"),
-        QString("chosen") );
-    HbEffect::add(QString("viewItem"), QString(":/effects/select_end.fxml"),
-        QString("chosenEnd") );
-    TX_EXIT
+    TX_LOG
 }
 
 /*!
@@ -79,8 +83,9 @@
 {
     TX_ENTRY
     MpCollectionContainer::setDataModel(dataModel);
-    mList->setModel(0);
-    mList->setModel(dataModel);
+    if ( mList ) {
+        mList->setModel(dataModel);
+    }
     TX_EXIT
 }
 
@@ -91,13 +96,7 @@
 void MpCollectionListContainer::itemActivated( const QModelIndex &index )
 {
     TX_ENTRY_ARGS("index=" << index.row());
-    if ( !mEffectOnGoing ) {
-        HbAbstractViewItem *listViewItem = mList->itemByIndex(index);
-        mEffectOnGoing = true;
-        mChosenIndex = index;
-        HbEffect::start(listViewItem, QString("viewItem"), QString("chosen"),
-            this, "itemChosenFxComplete1");
-    }
+    emit MpCollectionContainer::itemActivated( index.row() );
     TX_EXIT
 }
 
@@ -112,34 +111,11 @@
 }
 
 /*!
- Slot for item selected effects part 1.
- */
-void MpCollectionListContainer::itemChosenFxComplete1(
-    const HbEffect::EffectStatus &status )
-{
-    Q_UNUSED(status);
-    HbAbstractViewItem *listViewItem = mList->itemByIndex(mChosenIndex);
-    HbEffect::start(listViewItem, QString("viewItem"), QString("chosenEnd"),
-        this, "itemChosenFxComplete2");
-}
-
-/*!
- Slot for item selected effects part 2. The end.
- */
-void MpCollectionListContainer::itemChosenFxComplete2(
-    const HbEffect::EffectStatus &status )
-{
-    Q_UNUSED(status);
-    mEffectOnGoing = false;
-    emit MpCollectionContainer::itemActivated( mChosenIndex.row() );
-}
-
-
-/*!
  \internal
  */
- void MpCollectionListContainer::initializeList()
- {
+void MpCollectionListContainer::initializeList()
+{
+    TX_ENTRY
     mList->setItemRecycling(true);
     mList->setScrollingStyle( HbListView::PanOrFlick );
     mList->setClampingStyle( HbListView::BounceBackClamping );
@@ -154,5 +130,25 @@
     mList->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded);
 
     mList->listItemPrototype()->setGraphicsSize(HbListViewItem::Thumbnail);
+    TX_EXIT
 }
 
+/*!
+ \internal
+ */
+void MpCollectionListContainer::setupEmptyListContainer()
+{
+    TX_ENTRY
+    bool ok = false;
+    mDocumentLoader->load(QString(":/docml/musiccollection.docml"), "emptyList", &ok);
+    if ( !ok ) {
+        TX_LOG_ARGS("Error: invalid xml file.");
+        Q_ASSERT_X(ok, "MpCollectionListContainer::setupContainer", "invalid xml file");
+    }
+
+    QGraphicsWidget *widget;
+    widget = mDocumentLoader->findWidget(QString("noMusic"));
+    mNoMusic = qobject_cast<HbLabel*>(widget);
+    TX_EXIT
+}
+
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionsongscanner.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +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 song scanner.
-*
-*/
-
-#include <hbprogressnote.h>
-
-#include "mpcollectionsongscanner.h"
-#include "mpmpxframeworkwrapper.h"
-#include "mptrace.h"
-
-/*!
-    \class MpCollectionSongScanner
-    \brief Music Player collection song scanner.
-
-    Song scanner interfaces with MPX Harvesting Framework to harvest
-    music files in the device.
-*/
-
-/*!
- \fn void scanEnd()
-
- This signal is emitted when scanning is ended.
-
- \sa scan()
-*/
-
-/*!
- Constructs the collection song scanner.
- */
-MpCollectionSongScanner::MpCollectionSongScanner( MpMpxFrameworkWrapper *wrapper, QObject *parent )
-    : QObject(parent),
-      mMpxWrapper(wrapper),
-      mScanning(false),
-      mScanProgressNote(0)
-{
-    TX_ENTRY
-    connect( mMpxWrapper, SIGNAL(scanStarted()), this, SLOT(handleScanStarted()) );
-    connect( mMpxWrapper, SIGNAL(scanEnded()), this, SLOT(handleScanEnded()) );
-    connect( mMpxWrapper, SIGNAL(scanCountChanged(int)), this, SLOT(handleScanCountChanged(int)) );
-    TX_EXIT
-}
-
-/*!
- Destructs the collection song scanner.
- */
-MpCollectionSongScanner::~MpCollectionSongScanner()
-{
-    TX_ENTRY
-    if ( mScanProgressNote ) {
-        delete mScanProgressNote;
-    }
-    TX_EXIT
-}
-
-/*!
- Initiates song scanning.
- */
-void MpCollectionSongScanner::scan()
-{
-    mScanning = true;
-    mMpxWrapper->scan();
-}
-
-/*!
- Returns true if scanning is ongoing.
- */
-bool MpCollectionSongScanner::isScanning()
-{
-    return mScanning;
-}
-
-/*!
- Cancels ongoing song scanning, if any.
-
- \sa scan()
- */
-void MpCollectionSongScanner::cancelScan()
-{
-    if ( mScanning ) {
-        mScanning = false;
-        mMpxWrapper->cancelScan();
-    }
-}
-
-/*!
- Slot called upon notification from MPX Harvesting FW indicating start of
- scanning process.
- */
-void MpCollectionSongScanner::handleScanStarted()
-{
-    if ( !mScanProgressNote ) {
-        mScanProgressNote = new HbProgressNote(HbProgressNote::WaitNote);
-        connect(mScanProgressNote, SIGNAL(cancelled()), this, SLOT(cancelScan()));
-    }
-    mScanProgressNote->setText( QString("Scanning...") );
-    mScanProgressNote->show();
-}
-
-/*!
- Slot called upon notification from MPX Harvesting FW indicating end of
- scanning process.
- */
-void MpCollectionSongScanner::handleScanEnded()
-{
-    if ( mScanning ) {
-        mScanning = false;
-        mScanProgressNote->cancel();
-    }
-    emit scanEnded();
-}
-
-/*!
- Slot called upon notification from MPX Harvesting FW indicating the number of
- songs scanned so far.
- */
-void MpCollectionSongScanner::handleScanCountChanged(int count)
-{
-    QString added;
-    added.setNum(count);
-    added.append(" file(s) added.");
-    mScanProgressNote->setText(added);
-}
-
--- a/mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpcollectionview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -29,13 +29,17 @@
 #include <hblistdialog.h>
 #include <hbinputdialog.h>
 #include <hblabel.h>
+#include <QTranslator>
+#include <QLocale>
+#include <hblistview.h>
+#include <hbscrollbar.h>
 
 #include "mpcollectionview.h"
 #include "mpcollectiondocumentloader.h"
 #include "mpcollectioncontainerfactory.h"
 #include "mpcollectioncontainer.h"
 #include "mpcollectiondatamodel.h"
-#include "mpcollectionsongscanner.h"
+#include "mpengine.h"
 #include "mpmpxframeworkwrapper.h"
 #include "mpmpxcollectiondata.h"
 #include "mpnowplayingwidget.h"
@@ -57,8 +61,6 @@
 const int KPlaylistToolBarRemove = 1;
 const int KplaylistToolBarReorder = 2;
 
-
-
 /*!
     \class MpCollectionView
     \brief Music Player collection view.
@@ -80,22 +82,25 @@
  Constructs the collection view.
  */
 MpCollectionView::MpCollectionView()
-    : mCollectionContext(ECollectionContextUnknown),
-      mMpxWrapper(0),
-      mContainerFactory(0),
-      mCollectionContainer(0),
-      mCollectionDataModel(0),
-      mActivated(false),
-      mNowPlayingBanner(0),
-      mBannerAttached(false),
-      mEffectOnGoing(false),
-      mDocumentLoader(0),
-      mMainContainer(0),
-      mMainToolBar(0),
-      mPlaylistToolBar(0),
-      mSnapshot(0),
-      mSongScanner(0),
-      mScanning(false)
+    : mCollectionContext( ECollectionContextUnknown ),
+      mMpxWrapper( 0 ),
+      mMpEngine( 0 ),
+      mContainerFactory( 0 ),
+      mCollectionContainer( 0 ),
+      mCollectionDataModel( 0 ),
+      mActivated( false ),
+      mNowPlayingBanner( 0 ),
+      mBannerAttached( false ),
+      mDocumentLoader( 0 ),
+      mMainContainer( 0 ),
+      mMainToolBar( 0 ),
+      mPlaylistToolBar( 0 ),
+      mSnapshot( 0 ),
+      mMpTranslator( 0 ),
+      mCommonTranslator( 0 ),
+      mActivationWaiting( false ),
+      mOutstandingPopup( 0 ),
+      mUsbBlocked( false )
 {
     TX_LOG
 }
@@ -106,7 +111,6 @@
 MpCollectionView::~MpCollectionView()
 {
     TX_ENTRY
-    delete mSongScanner;
     delete mSnapshot;
     delete mSoftKeyQuit;
     delete mSoftKeyBack;
@@ -115,18 +119,20 @@
     if ( mMainToolBar != toolBar && mPlaylistToolBar != toolBar ) {
         delete toolBar;
     }
-    if ( mMainToolBar) {
+    if ( mMainToolBar ) {
         mMainToolBar->deleteLater();
     }
     if ( mPlaylistToolBar ) {
         mPlaylistToolBar->deleteLater();
     }
-    
+
     delete mCollectionDataModel;
     delete mCollectionContainer;
     delete mContainerFactory;
     delete mMpxWrapper;
     delete mDocumentLoader;
+    delete mMpTranslator;
+    delete mCommonTranslator;
     TX_EXIT
 }
 
@@ -137,22 +143,63 @@
 {
     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
-    mSoftKeyQuit = new HbAction(Hb::QuitAction, this);
-    connect( mSoftKeyQuit, SIGNAL(triggered()), this, SLOT(back()) );
+    mSoftKeyQuit = new HbAction( Hb::QuitAction, this );
+    connect( mSoftKeyQuit, SIGNAL( triggered() ), this, SLOT( back() ) );
 
-    mSoftKeyBack = new HbAction(Hb::BackAction, this);
-    connect( mSoftKeyBack, SIGNAL(triggered()), this, SLOT(back()) );
+    mSoftKeyBack = new HbAction( Hb::BackAction, this );
+    connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) );
 
-    mMpxWrapper = new MpMpxFrameworkWrapper(mViewMode);
-    connect( mMpxWrapper, SIGNAL(collectionPlaylistOpened()), this, SLOT(startPlaybackView()) );
-    connect( mMpxWrapper, SIGNAL(playlistSaved(bool)), this, SLOT(playlistSaved(bool)), Qt::QueuedConnection );
-    connect( mMpxWrapper, SIGNAL(songsDeleted(bool)), this, SLOT(songsDeleted(bool)), Qt::QueuedConnection );
-    connect( mMpxWrapper, SIGNAL(playlistsRenamed(bool)), this, SLOT(playlistsRenamed(bool)), Qt::QueuedConnection );
+    mMpxWrapper = new MpMpxFrameworkWrapper( mViewMode );
+    connect( mMpxWrapper,
+            SIGNAL( collectionPlaylistOpened() ),
+            this,
+            SLOT( startPlaybackView() ),
+            Qt::QueuedConnection );
+    connect( mMpxWrapper,
+            SIGNAL( playlistSaved( bool ) ),
+            this,
+            SLOT( playlistSaved( bool ) ),
+            Qt::QueuedConnection );
+    connect( mMpxWrapper,
+            SIGNAL( songsDeleted( bool ) ),
+            this,
+            SLOT( songsDeleted( bool ) ),
+            Qt::QueuedConnection );
+    connect( mMpxWrapper,
+            SIGNAL( playlistsRenamed( bool ) ),
+            this,
+            SLOT( playlistsRenamed( bool ) ),
+            Qt::QueuedConnection );
+    connect( mMpxWrapper,
+            SIGNAL( isolatedCollectionOpened( MpMpxCollectionData* ) ),
+            this,
+            SLOT( handleIsolatedCollectionOpened( MpMpxCollectionData* ) ),
+            Qt::QueuedConnection );
+
     mCollectionData = mMpxWrapper->collectionData();
-    connect( mCollectionData, SIGNAL(contextChanged(TCollectionContext)), this, SLOT(setContext(TCollectionContext)) );
+    connect( mCollectionData, SIGNAL( contextChanged( TCollectionContext ) ), this, SLOT( setContext( TCollectionContext ) ) );
     mCollectionDataModel = new MpCollectionDataModel( mCollectionData );
 
     mDocumentLoader = new MpCollectionDocumentLoader();
@@ -161,62 +208,67 @@
     if ( ok ) {
         QGraphicsWidget *widget;
 
-        widget = mDocumentLoader->findWidget(QString("nowPlaying"));
-        mNowPlayingBanner = qobject_cast<MpNowPlayingWidget*>(widget);
+        widget = mDocumentLoader->findWidget( QString( "nowPlaying" ) );
+        mNowPlayingBanner = qobject_cast<MpNowPlayingWidget*>( widget );
 
         if ( mViewMode == MpCommon::FetchView ) {
             // Banner is not needed since playback is stopped when returning
             // from playback preview. Disable the banner from updating.
-            mNowPlayingBanner->setEnabled(false);
+            mNowPlayingBanner->setEnabled( false );
         }
         else {
-            connect( mNowPlayingBanner, SIGNAL(clicked()), this, SLOT(nowPlayingBannerActivated()) );
-            connect( mNowPlayingBanner, SIGNAL(playbackAttachmentChanged(bool)), this, SLOT(attachNowPlayingBanner(bool)) );
-            HbEffect::add( QString("banner"), EFFECT_SELECT, QString("chosen") );
-            HbEffect::add( QString("banner"), EFFECT_SELECT_END, QString("chosenEnd") );
+            connect( mNowPlayingBanner, SIGNAL( clicked() ), this, SLOT( startPlaybackView() ) );
+            connect( mNowPlayingBanner, SIGNAL( playbackAttachmentChanged( bool ) ), this, SLOT( attachNowPlayingBanner( bool ) ) );
         }
 
-        widget = mDocumentLoader->findWidget(QString("mainContainer"));
-        mMainContainer = qobject_cast<HbWidget*>(widget);
+        widget = mDocumentLoader->findWidget( QString( "mainContainer" ) );
+        mMainContainer = qobject_cast<HbWidget*>( widget );
 
-        setWidget(mMainContainer);
+        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_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_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( QString( "container" ),
+                QString( ":/effects/slide_out_to_top.fxml" ),
+                QString( "slide_out_to_top" ) );
 
-        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_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_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") );
+        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.");
-        Q_ASSERT_X(ok, "MpCollectionView::initializeView", "invalid xml file");
+        TX_LOG_ARGS( "Error: invalid xml file." );
+        Q_ASSERT_X( ok, "MpCollectionView::initializeView", "invalid xml file" );
     }
 
-    mContainerFactory = new MpCollectionContainerFactory(this, mDocumentLoader);
+    mContainerFactory = new MpCollectionContainerFactory( this, mDocumentLoader );
+
+    mMpEngine = MpEngine::instance();
+    connect( mMpEngine, SIGNAL( usbBlocked(bool) ),
+             this, SLOT( handleUsbBlocked(bool) ) );
+    connect( mMpEngine, SIGNAL( libraryAboutToRefresh() ),
+             this, SLOT( handleLibraryAboutToUpdate() ) );
+    connect( mMpEngine, SIGNAL( libraryRefreshed() ),
+             this, SLOT( handleLibraryUpdated() ) );
+    mUsbBlocked = mMpEngine->verifyUsbBlocking();
 
     if ( MpSettingsManager::firstStartup() ) {
-        mSongScanner = new MpCollectionSongScanner(mMpxWrapper);
-        connect(mSongScanner, SIGNAL(scanEnded()), this, SLOT(handleScanningComplete()));
-        mScanning = true;
-        mSongScanner->scan();
+        mActivationWaiting = true;
+        mMpEngine->refreshLibrary();
     }
 
     TX_EXIT
@@ -227,11 +279,11 @@
  */
 void MpCollectionView::activateView()
 {
-    if ( mScanning ) {
+    if ( mActivationWaiting ) {
         return;
     }
     mActivated = true;
-    TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext);
+    TX_ENTRY_ARGS( "mCollectionContext=" << mCollectionContext );
     if ( mCollectionContext == ECollectionContextUnknown ) {
         // Open 'All Songs' by default
         mMpxWrapper->openCollection( ECollectionContextAllSongs );
@@ -249,8 +301,32 @@
 void MpCollectionView::deactivateView()
 {
     TX_ENTRY
-    clearSoftkey();
     mActivated = false;
+	
+    if ( mOutstandingPopup ) {
+        mOutstandingPopup->close();
+    }        
+    menu()->close();
+
+    setNavigationAction( 0 );
+    TX_EXIT
+}
+
+/*!
+ Sets the default collection - AllSongs
+ */
+void MpCollectionView::setDefaultView()
+{
+    TX_ENTRY
+    if ( mCollectionContext != ECollectionContextAllSongs ) {
+        // Open 'All Songs' by default
+        mMpxWrapper->openCollection( ECollectionContextAllSongs );
+    }
+
+    if ( mBannerAttached ) {
+        setBannerVisibility( false );
+    }
+
     TX_EXIT
 }
 
@@ -260,15 +336,15 @@
 void MpCollectionView::orientationChange( Qt::Orientation orientation )
 {
     if ( mCollectionContainer ) {
-        mCollectionContainer->orientationChange(orientation);
+        mCollectionContainer->orientationChange( orientation );
     }
 
     if ( mBannerAttached ) {
         if ( orientation == Qt::Vertical ) {
-            setBannerVisibility(true);
+            setBannerVisibility( true );
         }
         else {
-            setBannerVisibility(false);
+            setBannerVisibility( false );
         }
     }
 }
@@ -279,19 +355,18 @@
  */
 void MpCollectionView::setContext( TCollectionContext context )
 {
-    TX_ENTRY_ARGS("context=" << context);
-    if (mActivated) {
-        startContainerTransition(mCollectionContext, context);
+    TX_ENTRY_ARGS( "context=" << context );
+    if ( mActivated ) {
+        startContainerTransition( mCollectionContext, context );
     }
     mCollectionContext = context;
-    mCollectionContainer = mContainerFactory->createContainer(context);
-    mCollectionContainer->setViewMode(mViewMode);
+    mCollectionContainer = mContainerFactory->createContainer( context );
+    mCollectionContainer->setViewMode( mViewMode );
     mCollectionDataModel->refreshModel();
-    mCollectionContainer->setDataModel(mCollectionDataModel);
+    mCollectionContainer->setDataModel( mCollectionDataModel );
 
     // Reset softkey and the menu
-    if (mActivated) {
-        clearSoftkey();
+    if ( mActivated ) {
         setSoftkey();
     }
     updateToolBar();
@@ -305,7 +380,9 @@
 void MpCollectionView::openSongs()
 {
     TX_ENTRY
-    mMpxWrapper->openCollection( ECollectionContextAllSongs );
+    if ( mCollectionContext != ECollectionContextAllSongs ) {
+        mMpxWrapper->openCollection( ECollectionContextAllSongs );
+    }
     TX_EXIT
 }
 
@@ -315,7 +392,9 @@
 void MpCollectionView::openArtists()
 {
     TX_ENTRY
-    mMpxWrapper->openCollection( ECollectionContextArtistAlbums );
+    if ( mCollectionContext != ECollectionContextAlbums ) {
+        mMpxWrapper->openCollection( ECollectionContextAlbums );
+    }
     TX_EXIT
 }
 
@@ -325,7 +404,9 @@
 void MpCollectionView::openPlaylists()
 {
     TX_ENTRY
-    mMpxWrapper->openCollection( ECollectionContextPlaylists );
+    if ( mCollectionContext != ECollectionContextPlaylists) {
+        mMpxWrapper->openCollection( ECollectionContextPlaylists );
+    }
     TX_EXIT
 }
 
@@ -335,7 +416,9 @@
 void MpCollectionView::openGenres()
 {
     TX_ENTRY
-    mMpxWrapper->openCollection( ECollectionContextGenres );
+    if ( mCollectionContext != ECollectionContextGenres ) {
+        mMpxWrapper->openCollection( ECollectionContextGenres );
+    }
     TX_EXIT
 }
 
@@ -345,7 +428,7 @@
 void MpCollectionView::find()
 {
     // Todo
-    HbMessageBox messageBox("Not ready!", HbMessageBox::MessageTypeInformation);
+    HbMessageBox messageBox( "Not ready!", HbMessageBox::MessageTypeInformation );
     messageBox.exec();
     updateToolBar();
 }
@@ -356,7 +439,7 @@
 void MpCollectionView::openMusicStore()
 {
     // Todo
-    HbMessageBox messageBox("Not ready!", HbMessageBox::MessageTypeInformation);
+    HbMessageBox messageBox( "Not ready!", HbMessageBox::MessageTypeInformation );
     messageBox.exec();
     updateToolBar();
 }
@@ -366,7 +449,7 @@
  */
 void MpCollectionView::openIndex( int index )
 {
-    TX_ENTRY_ARGS("index=" << index);
+    TX_ENTRY_ARGS( "index=" << index );
     bool doOpen = true;
     if ( mViewMode == MpCommon::FetchView ) {
         QString songUri;
@@ -376,8 +459,8 @@
             case ECollectionContextPlaylistSongs:
             case ECollectionContextGenreSongs:
                 doOpen = false;
-                songUri = mCollectionData->itemData(index, MpMpxCollectionData::Uri);
-                emit songSelected(songUri);
+                songUri = mCollectionData->itemData( index, MpMpxCollectionData::Uri );
+                emit songSelected( songUri );
                 break;
             default:
                 break;
@@ -394,11 +477,11 @@
  */
 void MpCollectionView::back()
 {
-    TX_ENTRY_ARGS("mCollectionContext=" << mCollectionContext);
-    bool doExit(false);
+    TX_ENTRY_ARGS( "mCollectionContext=" << mCollectionContext );
+    bool doExit( false );
     switch ( mCollectionContext ) {
         case ECollectionContextAllSongs:
-        case ECollectionContextArtistAlbums:
+        case ECollectionContextAlbums:
         case ECollectionContextPlaylists:
         case ECollectionContextGenres:
             // Exit from these levels.
@@ -415,10 +498,10 @@
     }
 
     if ( doExit ) {
-	    if ( mViewMode == MpCommon::FetchView ) {
+        if ( mViewMode == MpCommon::FetchView ) {
             // Send an empty string to indicate that user has cancelled
             // the fetch operation
-            emit songSelected("");
+            emit songSelected( "" );
         }
         else {
             emit command( MpCommon::Exit );
@@ -461,42 +544,12 @@
 }
 
 /*!
- Slot to be called when 'Now Playing Banner' is clicked by the user.
- */
-void MpCollectionView::nowPlayingBannerActivated()
-{
-    if ( !mEffectOnGoing ) {
-        HbEffect::start(mNowPlayingBanner, QString("banner"), QString("chosen"), this, "nowPlayingBannerChosenFxComplete1");
-        mEffectOnGoing = true;
-    }
-}
-
-/*!
- Slot for 'Now Playing Banner' effects part 1.
- */
-void MpCollectionView::nowPlayingBannerChosenFxComplete1( const HbEffect::EffectStatus &status )
-{
-    Q_UNUSED(status);
-    HbEffect::start(mNowPlayingBanner, QString("banner"), QString("chosenEnd"), this, "nowPlayingBannerChosenFxComplete2");
-}
-
-/*!
- Slot for 'Now Playing Banner' effects part 2. The end.
- */
-void MpCollectionView::nowPlayingBannerChosenFxComplete2( const HbEffect::EffectStatus &status )
-{
-    Q_UNUSED(status);
-    mEffectOnGoing = false;
-    startPlaybackView();
-}
-
-/*!
  Slot for container transition end.
  */
 void MpCollectionView::containerTransitionComplete( const HbEffect::EffectStatus &status )
 {
-    Q_UNUSED(status);
-    qobject_cast<QGraphicsView *>(mWindow)->scene()->removeItem(mSnapshot);
+    Q_UNUSED( status );
+    qobject_cast<QGraphicsView *>( mWindow )->scene()->removeItem( mSnapshot );
     delete mSnapshot;
     mSnapshot = 0;
 }
@@ -506,10 +559,10 @@
  */
 void MpCollectionView::shufflePlayAll()
 {
-    mMpxWrapper->setShuffle(true);
-    MpSettingsManager::setShuffle(true);
+    mMpxWrapper->setShuffle( true );
+    MpSettingsManager::setShuffle( true );
     int index = generateShuffleIndex();
-    openIndex(index);
+    openIndex( index );
 }
 
 
@@ -518,12 +571,9 @@
  */
 void MpCollectionView::refreshLibrary()
 {
-    if ( !mSongScanner ) {
-        mSongScanner = new MpCollectionSongScanner(mMpxWrapper);
-        connect(mSongScanner, SIGNAL(scanEnded()), this, SLOT(handleScanningComplete()));
+    if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+        mMpEngine->refreshLibrary();
     }
-    mScanning = true;
-    mSongScanner->scan();
 }
 
 /*!
@@ -531,20 +581,21 @@
  */
 void MpCollectionView::addToPlaylist()
 {
-    QModelIndexList SelectedModelIndexes;
-    bool ok;
-    SelectedModelIndexes = HbListDialog::getModelIndexes(QString(tr("Select songs:")), 
-            mCollectionDataModel,
-            &ok,
-            HbAbstractItemView::MultiSelection);
-                
-    if (ok && SelectedModelIndexes.count()) {
-        QList<int> selection;
-        for ( int i = 0; i < SelectedModelIndexes.size(); ++i ) {
-            selection.append( SelectedModelIndexes.at(i).row() );
+    if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+        QModelIndexList SelectedModelIndexes;
+        bool ok;
+        SelectedModelIndexes = getModelIndexes( hbTrId( "txt_mus_title_select_songs" ),
+                mCollectionDataModel,
+                ok);
+
+        if ( ok && SelectedModelIndexes.count() ) {
+            QList<int> selection;
+            for ( int i = 0; i < SelectedModelIndexes.size(); ++i ) {
+                selection.append( SelectedModelIndexes.at( i ).row() );
+            }
+            launchAddToPlaylistDialog( selection );
         }
-    launchAddToPlaylistDialog(selection);
-    } 
+    }
 }
 
 /*!
@@ -554,18 +605,17 @@
 {
     QModelIndexList SelectedModelIndexes;
     bool ok;
-    SelectedModelIndexes = HbListDialog::getModelIndexes(QString(tr("Select songs:")), 
+    SelectedModelIndexes = getModelIndexes( hbTrId( "txt_mus_title_select_songs" ),
             mCollectionDataModel,
-            &ok,
-            HbAbstractItemView::MultiSelection);
-                
-    if (ok && SelectedModelIndexes.count()) {
+            ok);
+
+    if ( ok && SelectedModelIndexes.count() ) {
         QList<int> selection;
         for ( int i = 0; i < SelectedModelIndexes.size(); ++i ) {
-            selection.append( SelectedModelIndexes.at(i).row() );
+            selection.append( SelectedModelIndexes.at( i ).row() );
         }
-    requestDelete(selection);
-    updateMenu();
+        requestDelete( selection );
+        updateMenu();
     }
 }
 
@@ -574,13 +624,16 @@
  */
 void MpCollectionView::renameCurrentPlaylistContainer()
 {
-    QString currentName;
-    currentName = mCollectionData->collectionTitle();
-    bool ok = false;
-    QString newName;
-    newName = HbInputDialog::getText(QString(tr("Enter name:")), currentName, &ok);
-    if ( ok && ( currentName != newName ) ) 
-    mMpxWrapper->renamePlaylist( newName );   
+    if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+        QString currentName;
+        currentName = mCollectionData->collectionTitle();
+        bool ok = false;
+        QString newName;
+    newName = getText( hbTrId( "txt_mus_dialog_enter_name" ), currentName, ok );
+        if ( ok && ( currentName != newName ) && !mMpEngine->verifyUsbBlocking( true ) ) {
+            mMpxWrapper->renamePlaylist( newName );
+        }
+    }
 }
 
 
@@ -589,8 +642,10 @@
  */
 void MpCollectionView::playlistSaved( bool success )
 {
-    if (success && mCollectionContext == ECollectionContextPlaylists) {
-	      mMpxWrapper->reopenCollection();
+    if ( success &&
+            ( ECollectionContextPlaylists == mCollectionContext ||
+            ECollectionContextPlaylistSongs == mCollectionContext ) ) {
+     mMpxWrapper->reopenCollection();
     }
 }
 
@@ -599,7 +654,8 @@
  */
 void MpCollectionView::songsDeleted( bool success )
 {
-    if ( success ) {
+    // Update list if delete succeded or if delete interrupted by an USB MTP Event
+    if ( success || mMpEngine->verifyUsbBlocking( true ) ) {
         mMpxWrapper->reopenCollection();
     }
 }
@@ -614,19 +670,138 @@
 }
 
 /*!
- Slot to be called when scan completes.
+ Slot to be called to get ready for add to playlist using an isolated collection.
  */
-void MpCollectionView::handleScanningComplete()
+void MpCollectionView::prepareToAddToPlaylist()
+{
+    TX_ENTRY
+    if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+        //We dismiss dialogs here since after open is complete we are triggering a dialog.
+        setOutstandingPopup( 0 );
+        mMpxWrapper->openIsolatedCollection( ECollectionContextAllSongs );
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when isolated collection is oppened.
+ */
+void MpCollectionView::handleIsolatedCollectionOpened( MpMpxCollectionData* collectionData )
 {
     TX_ENTRY
-    mScanning = false;
-    if ( mActivated ) {
-        mMpxWrapper->reopenCollection();
+    if ( mActivated && !mOutstandingPopup ) {
+
+        if (ECollectionContextPlaylistSongs == mCollectionContext) {
+           addToCurrentPlaylist( collectionData );
+        }
+        else if (ECollectionContextPlaylists == mCollectionContext) {
+            createNewPlaylist( collectionData );
+        }
+    }
+    //Playlist is saved asynchronosly by the default collection, it is OK to release now.
+    mMpxWrapper->releaseIsolatedCollection();
+    TX_EXIT
+}
+
+
+/*!
+ Slot to be called to add items to current playlist.
+ */
+void MpCollectionView::addToCurrentPlaylist( MpMpxCollectionData* collectionData )
+{
+    MpCollectionDataModel *collectionDataModel;
+    collectionDataModel = new MpCollectionDataModel( collectionData );
+    collectionDataModel->refreshModel();
+    QModelIndexList SelectedModelIndexes;
+    bool ok;
+    SelectedModelIndexes = getModelIndexes( hbTrId( "txt_mus_title_select_songs" ),
+            collectionDataModel,
+            ok);
+
+    if ( ok && SelectedModelIndexes.count() ) {
+        QList<int> selection;
+        for ( int i = 0; i < SelectedModelIndexes.size(); ++i ) {
+            selection.append( SelectedModelIndexes.at( i ).row() );
+        }
+        if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+            mMpxWrapper->saveToCurrentPlaylist( selection, collectionData );
+        }
     }
-    else {
-        activateView();
+    delete collectionDataModel;
+}
+
+/*!
+ Slot to be called to add items to new playlist.
+ */
+void MpCollectionView::createNewPlaylist( MpMpxCollectionData* collectionData )
+{
+    MpCollectionDataModel *collectionDataModel;
+    collectionDataModel = new MpCollectionDataModel( collectionData );
+    collectionDataModel->refreshModel();
+
+    QString newPlaylistName;
+    bool ok;
+    QStringList playlists;
+    mMpxWrapper->findPlaylists( playlists );
+    ok = queryNewPlaylistName(newPlaylistName , playlists);
+    if ( ok ) {
+        QModelIndexList SelectedModelIndexes;
+        SelectedModelIndexes = getModelIndexes( hbTrId( "txt_mus_title_select_songs" ),
+                collectionDataModel,
+                ok);
+        QList<int> selection;
+        if ( ok && SelectedModelIndexes.count() ) {
+            for ( int i = 0; i < SelectedModelIndexes.size(); ++i ) {
+                selection.append( SelectedModelIndexes.at( i ).row() );
+            }
+        }
+        //Creating Playlist even when there is no selection.
+        if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+            mMpxWrapper->createPlaylist( newPlaylistName, selection, collectionData );
+        }
     }
-    TX_EXIT
+    delete collectionDataModel;
+}
+
+/*!
+ Slot to be called to arrange songs in a playlist.
+ */
+void MpCollectionView::arrangeSongs( )
+{
+    HbListView *listView = new HbListView();
+    listView->setItemRecycling(true);
+    listView->setScrollingStyle( HbListView::PanOrFlick );
+    listView->setClampingStyle( HbListView::BounceBackClamping );
+    HbScrollBar *scrollbar = listView->verticalScrollBar();
+    scrollbar->show();
+    scrollbar->setInteractive(true);
+    listView->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAsNeeded);
+    MpCollectionDataModel *model;
+    //Ownership of the model is passed to the listView as a child object.
+    model = new MpCollectionDataModel( mCollectionData, listView );
+    model->refreshModel();
+    connect( model,
+            SIGNAL( orderChanged( int, int, int, int ) ),
+            mMpxWrapper,
+            SLOT( reorderPlaylist( int, int, int, int ) ) );
+    listView->setModel( model );
+    listView->setArrangeMode( true );
+    HbDialog *popup = new HbDialog();
+    popup->setAttribute( Qt::WA_DeleteOnClose );
+    popup->setDismissPolicy( HbPopup::NoDismiss );
+    popup->setTimeout( HbPopup::NoTimeout );
+
+    HbLabel *label = new HbLabel( hbTrId( "txt_mus_title_arrange"  ) );
+    popup->setHeadingWidget( label );
+    popup->setContentWidget( listView );
+    popup->setPrimaryAction( new HbAction( hbTrId( "txt_common_button_ok" ), popup ) );
+    popup->setModal( true );
+    connect( popup, SIGNAL( aboutToClose() ), this, SLOT( outstandingPopupClosing() ) );
+    //Reopen the collection so the ordinals get fixed on the view list, if we
+    //delete items the index will not match to the item on the collection.
+    connect( popup, SIGNAL( aboutToClose() ), mMpxWrapper, SLOT( reopenCollection() ) );
+    setOutstandingPopup(popup);
+    popup->show();
 }
 
 /*!
@@ -634,13 +809,13 @@
  */
 void MpCollectionView::openContextMenu( int index, const QPointF &coords )
 {
-    TX_ENTRY_ARGS("index=" << index);
+    TX_ENTRY_ARGS( "index=" << index );
     switch ( mViewMode ) {
         case MpCommon::DefaultView:
-            openDefaultViewContextMenu(index, coords);
+            openDefaultViewContextMenu( index, coords );
             break;
         case MpCommon::FetchView:
-            openFetchViewContextMenu(index, coords);
+            openFetchViewContextMenu( index, coords );
             break;
         default:
             break;
@@ -649,42 +824,112 @@
 }
 
 /*!
+ Slot to be called when a dialog is about to close.
+ */
+void MpCollectionView::outstandingPopupClosing()
+{
+   HbPopup *popup = qobject_cast<HbPopup *>( sender() );
+   if ( popup ) {
+       Q_ASSERT( popup != mOutstandingPopup );
+       mOutstandingPopup = 0;
+   }
+}
+
+/*!
+ Slot to be called when USB blocking status changes.
+ */
+void MpCollectionView::handleUsbBlocked( bool blocked )
+{
+    TX_ENTRY_ARGS( "blocked=" << blocked );
+    mUsbBlocked = blocked;
+    
+    // Hide/Show usb blocked options
+    updateMenu();
+    if ( mCollectionContext == ECollectionContextPlaylistSongs ) {
+         updateToolBar();
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when library is going to be updated.
+ */
+void MpCollectionView::handleLibraryAboutToUpdate()
+{
+    TX_ENTRY
+
+    if ( mActivated ) {
+        if ( mOutstandingPopup ) {
+            mOutstandingPopup->close();
+        }        
+        menu()->close();
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to be called when refreshing completes or library has been updated.
+ */
+void MpCollectionView::handleLibraryUpdated()
+{
+    TX_ENTRY
+    if ( mActivationWaiting ) {
+        mActivationWaiting = false;
+        activateView();
+    }
+    else {
+        //Update cache, even if collection is in background.
+        //Library refreshing could be triggered at any point due USB connect./disconnect.
+        mMpxWrapper->reopenCollection();
+    }
+    TX_EXIT
+}
+
+/*!
  Default view context menu.
  */
-void MpCollectionView::openDefaultViewContextMenu(int index, const QPointF &coords)
+void MpCollectionView::openDefaultViewContextMenu( int index, const QPointF &coords )
 {
     HbMenu *contextMenu = 0;
     HbAction *action;
-    switch (mCollectionContext) {
+    switch ( mCollectionContext ) {
         case ECollectionContextAllSongs:
         case ECollectionContextAlbumSongs:
             contextMenu = new HbMenu();
-            action = contextMenu->addAction(QString(tr("Add to playlist")));
-            action->setObjectName("add");
-            action = contextMenu->addAction(QString(tr("Delete")));
-            action->setObjectName("delete");
+            if ( !mUsbBlocked ) {
+                action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) );
+                action->setObjectName( "add" );
+                action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) );
+                action->setObjectName( "delete" );
+            }
             break;
-        case ECollectionContextArtistAlbums:
+        case ECollectionContextAlbums:
             contextMenu = new HbMenu();
-            action = contextMenu->addAction(QString(tr("Add to playlist")));
-            action->setObjectName("add");
-            action = contextMenu->addAction(QString(tr("Delete")));
-            action->setObjectName("delete");
+            if ( !mUsbBlocked ) {
+                action = contextMenu->addAction( hbTrId( "txt_mus_menu_add_to_playlist" ) );
+                action->setObjectName( "add" );
+                action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) );
+                action->setObjectName( "delete" );
+            }
             break;
         case ECollectionContextPlaylists:
-            if ( !mCollectionData->isAutoPlaylist(index) ) {
+            if ( !mCollectionData->isAutoPlaylist( index ) ) {
                 contextMenu = new HbMenu();
-                action = contextMenu->addAction(QString(tr("Delete")));
-                action->setObjectName("delete");
-                action = contextMenu->addAction(QString(tr("Rename")));
-                action->setObjectName("rename playlist");
+                if ( !mUsbBlocked ) {
+                    action = contextMenu->addAction( hbTrId( "txt_common_menu_delete" ) );
+                    action->setObjectName("delete");
+                    action = contextMenu->addAction( hbTrId( "txt_common_menu_rename_item" ) );
+                    action->setObjectName( "rename playlist" );
+                }
             }
             break;
         case ECollectionContextPlaylistSongs:
             if ( !mCollectionData->isAutoPlaylist() ) {
                 contextMenu = new HbMenu();
-                action = contextMenu->addAction(QString(tr("Remove")));
-                action->setObjectName("delete");
+                if ( !mUsbBlocked ) {
+                    action = contextMenu->addAction( hbTrId( "txt_common_menu_remove" ) );
+                    action->setObjectName( "delete" );
+                }
             }
             break;
         default:
@@ -692,23 +937,25 @@
     }
 
     if ( contextMenu ) {
-        HbAction *selectedAction = contextMenu->exec(coords);
-        if ( selectedAction ) {
+        setOutstandingPopup( contextMenu );
+        HbAction *selectedAction = mActivated ? contextMenu->exec( coords ) : 0;
+        setOutstandingPopup( 0 );
+        if ( selectedAction && !mMpEngine->verifyUsbBlocking( true ) ) {
             QString objectName = selectedAction->objectName();
             QList<int> selection;
-            selection.append(index);
+            selection.append( index );
             if ( objectName == "add" ) {
-                launchAddToPlaylistDialog(selection);
+                launchAddToPlaylistDialog( selection );
             }
             else if ( objectName == "delete" ) {
-                requestDelete(selection);
+                requestDelete( selection );
             }
             else if ( objectName == "rename playlist" ) {
                 QString currentName;
-                currentName = mCollectionData->itemData(index, MpMpxCollectionData::Title);
+                currentName = mCollectionData->itemData( index, MpMpxCollectionData::Title );
                 bool ok = false;
                 QString newName;
-                newName = HbInputDialog::getText(QString(tr("Enter name:")), currentName, &ok);
+                newName = getText( hbTrId("txt_mus_dialog_enter_name" ), currentName, ok );
                 if ( ok && ( currentName != newName ) ) {
                     mMpxWrapper->renamePlaylist( newName, index );   
                 }
@@ -724,7 +971,7 @@
  */
 void MpCollectionView::openFetchViewContextMenu( int index, const QPointF &coords )
 {
-    TX_ENTRY_ARGS("index=" << index);
+    TX_ENTRY_ARGS( "index=" << index );
 
     HbMenu *contextMenu = 0;
     switch ( mCollectionContext ) {
@@ -733,17 +980,19 @@
         case ECollectionContextPlaylistSongs:
         case ECollectionContextGenreSongs:
             contextMenu = new HbMenu();
-            contextMenu->addAction(QString(tr("Play")));
+            contextMenu->addAction( hbTrId("txt_common_menu_play_music") );
             break;
         default:
             break;
     }
 
-    if ( contextMenu) {
-        if ( contextMenu->exec(coords) ) {
+    if ( contextMenu ) {
+        setOutstandingPopup( contextMenu );
+        if ( mActivated ? contextMenu->exec( coords ) : 0 ) {
             // Start the playback process. View will switch to playbackview.
             mMpxWrapper->previewItem( index );
         }
+        setOutstandingPopup( 0 );
     }
     contextMenu->deleteLater();
     TX_EXIT
@@ -751,7 +1000,7 @@
 
 /*!
  \internal
- Sets the main (default) toolbar for the view.
+ Sets the main ( default ) toolbar for the view.
  */
 void MpCollectionView::setMainToolBar()
 {
@@ -759,75 +1008,60 @@
     if ( !mMainToolBar ) {
         //Create the toolbar.
         mMainToolBar = new HbToolBar();
-        mMainToolBar->setOrientation(Qt::Horizontal);
+        mMainToolBar->setOrientation( Qt::Horizontal );
         QActionGroup *actionsGroup = new QActionGroup( mMainToolBar );
         HbAction *action;
-    
+
         // All Songs
-        action = createToolBarAction(actionsGroup,
-                ":/icons/all_songs_on",
-                ":/icons/all_songs",
-                tr("All"));
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(openSongs()) );
-        mMainToolBar->addAction(action);
-    
-        // Artists
-        action = createToolBarAction(actionsGroup,
-                ":/icons/artists_on",
-                ":/icons/artists",
-                tr("Artists"));
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(openArtists()) );
-        mMainToolBar->addAction(action);
-    
+        action = createToolBarAction( actionsGroup, "qtg_mono_songs_all" );
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openSongs() ) );
+        mMainToolBar->addAction( action );
+
+        // Albums
+        action = createToolBarAction( actionsGroup, "qtg_mono_artists_albums" );
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openArtists() ) );
+        mMainToolBar->addAction( action );
+
         // Playlists
-        action = createToolBarAction(actionsGroup,
-                ":/icons/playlists_on",
-                ":/icons/playlists",
-                tr("Playlists"));
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(openPlaylists()) );
-        mMainToolBar->addAction(action);
-    
+        action = createToolBarAction( actionsGroup, "qtg_mono_playlist" );
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openPlaylists() ) );
+        mMainToolBar->addAction( action );
+
         // Genres
-        action = createToolBarAction(actionsGroup,
-                ":/icons/search_on",
-                ":/icons/search",
-                tr("Search"));
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(find()) );
-        mMainToolBar->addAction(action);
-    
+        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,
-                    ":/icons/ovi_on",
-                    ":/icons/ovi",
-                    tr("Ovi"));
-            connect( action, SIGNAL(triggered(bool)), this, SLOT(openMusicStore()) );
-            mMainToolBar->addAction(action);
+            action = createToolBarAction(actionsGroup, "qtg_mono_ovistore" );
+            connect( action, SIGNAL( triggered( bool ) ), this, SLOT( openMusicStore() ) );
+            mMainToolBar->addAction( action );
         }
     }
     HbAction* action = 0;
     switch ( mCollectionContext ) {
         case ECollectionContextAllSongs:
-            action = qobject_cast<HbAction*>(mMainToolBar->actions()[KMainToolBarAll]);
+            action = qobject_cast<HbAction*>( mMainToolBar->actions()[KMainToolBarAll] );
             break;
-        case ECollectionContextArtistAlbums:
+        case ECollectionContextAlbums:
         case ECollectionContextAlbumSongs:
-            action = qobject_cast<HbAction*>(mMainToolBar->actions()[KMainToolBarArtists]);
+            action = qobject_cast<HbAction*>( mMainToolBar->actions()[KMainToolBarArtists] );
             break;
         case ECollectionContextPlaylists:
         case ECollectionContextPlaylistSongs:
-            action = qobject_cast<HbAction*>(mMainToolBar->actions()[KMainToolBarPlaylists]);
+            action = qobject_cast<HbAction*>( mMainToolBar->actions()[KMainToolBarPlaylists] );
             break;
     }
     if ( action ) {
-        action->setChecked(true);
+        action->setChecked( true );
     }
     if ( toolBar() != mMainToolBar ) {
         HbToolBar *tmpToolBar = takeToolBar();
         if ( tmpToolBar && tmpToolBar->actions().empty() ) {
             tmpToolBar->deleteLater();
         }
-        setToolBar(mMainToolBar);
+        setToolBar( mMainToolBar );
     }
     TX_EXIT
 }
@@ -842,36 +1076,50 @@
     TX_ENTRY
     if ( !mPlaylistToolBar ) {
         mPlaylistToolBar = new HbToolBar();
-        mPlaylistToolBar->setOrientation(Qt::Horizontal);
-        HbAction *action;      
-        
-        action = new HbAction( tr("Add") );
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(notimplemented()) );
-        mPlaylistToolBar->addAction(action);
-        
-        action = new HbAction( tr("Remove") );
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(deleteSongs()));
-        mPlaylistToolBar->addAction(action);
-    
-        action = new HbAction( tr("Reorder") );
-        connect( action, SIGNAL(triggered(bool)), this, SLOT(notimplemented()) );
-        mPlaylistToolBar->addAction(action);
+        mPlaylistToolBar->setOrientation( Qt::Horizontal );
+        HbAction *action;
+        HbIcon *icon;
+
+        action = new HbAction( this );
+        icon = new HbIcon( "qtg_mono_plus" );
+        action->setIcon( *icon );
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( prepareToAddToPlaylist() ) );
+        mPlaylistToolBar->addAction( action );
+
+        action = new HbAction( this );
+        icon = new HbIcon( "qtg_mono_minus" );
+        action->setIcon( *icon);
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( deleteSongs() ) );
+        mPlaylistToolBar->addAction( action );
+
+        action = new HbAction( this );
+        icon = new HbIcon( "qtg_mono_organize" );
+        action->setIcon( *icon );
+        connect( action, SIGNAL( triggered( bool ) ), this, SLOT( arrangeSongs() ) );
+        mPlaylistToolBar->addAction( action );
     }
- 
-    int items = mCollectionData->count();
-        
-    //no use for remove if there are no items.
-    mPlaylistToolBar->actions()[KPlaylistToolBarRemove]->setEnabled(items > 0); 
-     
-    //no use for reorder if there is no more than 1 item.
-    mPlaylistToolBar->actions()[KplaylistToolBarReorder]->setEnabled(items > 1);
-        
+
+    if ( !mUsbBlocked ) {
+        int items = mCollectionData->count();
+
+        mPlaylistToolBar->setEnabled( true );
+		
+        //no use for remove if there are no items.
+        mPlaylistToolBar->actions()[KPlaylistToolBarRemove]->setEnabled( items > 0 );
+
+        //no use for reorder if there is no more than 1 item.
+        mPlaylistToolBar->actions()[KplaylistToolBarReorder]->setEnabled( items > 1 );
+    }
+    else {
+        mPlaylistToolBar->setEnabled( false );
+    }
+
     if ( toolBar() != mPlaylistToolBar ) {
         HbToolBar *tmpToolBar = takeToolBar();
-        if (tmpToolBar && tmpToolBar->actions().empty ()) {
+        if ( tmpToolBar && tmpToolBar->actions().empty () ) {
             tmpToolBar->deleteLater();
         }
-        setToolBar(mPlaylistToolBar);
+        setToolBar( mPlaylistToolBar );
     }
     TX_EXIT
 }
@@ -882,18 +1130,13 @@
  */
 HbAction *MpCollectionView::createToolBarAction(
     QActionGroup *actionsGroup,
-    const QString& iconOn,
-    const QString& iconOff,
-    const QString& toolTip )
+    const QString& icon )
 {
-    HbIcon actionIcon(iconOff);
-    // button pressed icon
-    actionIcon.setIconName(iconOn, QIcon::Normal, QIcon::On );
+    HbIcon actionIcon( icon );
 
-    HbAction *action = new HbAction(actionsGroup);
-    action->setToolTip(toolTip);
-    action->setIcon(actionIcon);
-    action->setCheckable(true);
+    HbAction *action = new HbAction( actionsGroup );
+    action->setIcon( actionIcon );
+    action->setCheckable( true );
     return action;
 }
 
@@ -907,48 +1150,52 @@
     HbMenu* myMenu = new HbMenu();
     if ( mViewMode == MpCommon::DefaultView ) {
         bool items = mCollectionData->count() != 0;
-        if ( mBannerAttached ) {
-            connect( myMenu->addAction(tr("Go to Now Playing")), SIGNAL(triggered()), this, SLOT(startPlaybackView()) );
-        }
-        switch (mCollectionContext) {
+        switch ( mCollectionContext ) {
             case ECollectionContextAllSongs:
-                if (items) {
-                    connect( myMenu->addAction(tr("Shuffle play all")), SIGNAL(triggered()), this, SLOT(shufflePlayAll()) );
+                if (items ) {
+                    connect( myMenu->addAction( hbTrId( "txt_mus_dblist_shuffle" ) ), SIGNAL( triggered() ), this, SLOT( shufflePlayAll() ) );
                 }
-                connect( myMenu->addAction(tr("Refresh library")), SIGNAL(triggered()), this, SLOT(refreshLibrary()) );
-                if (items) {
-                    connect( myMenu->addAction(tr("Add to playlist")), SIGNAL(triggered()), this, SLOT(addToPlaylist()), Qt::QueuedConnection );
+                if ( !mUsbBlocked ) {
+                    if (items ) {
+                        connect( myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ), SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) );
+                    }
+                    connect( myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ), SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) );
                 }
-                connect( myMenu->addAction(tr("Exit")), SIGNAL(triggered()), this, SLOT(exit()) );
+                connect( myMenu->addAction(hbTrId("txt_common_opt_exit")), SIGNAL(triggered()), this, SLOT(exit()) );
                 break;
-            case ECollectionContextArtistAlbums:
-                //connect( myMenu->addAction(tr("Add to playlist")), SIGNAL(triggered()), this, SLOT(addToPlaylist()), Qt::QueuedConnection );
+            case ECollectionContextAlbums:
+                //connect( myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ), SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) );
                 // Todo: View as coverflow
+                if ( !mUsbBlocked ) {
+                    connect( myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ), SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) );
+                }
                 break;
             case ECollectionContextAlbumSongs:
-                if (items) {
-                    connect( myMenu->addAction(tr("Add to playlist")), SIGNAL(triggered()), this, SLOT(addToPlaylist()), Qt::QueuedConnection );
+                if ( items && !mUsbBlocked ) {
+                    connect( myMenu->addAction( hbTrId( "txt_mus_opt_add_to_playlist" ) ), SIGNAL( triggered() ), this, SLOT( addToPlaylist() ) );
                 }
                 break;
             case ECollectionContextPlaylists:
-                // Todo: Create new playlist
+                if ( !mUsbBlocked ) {
+                    connect( myMenu->addAction( hbTrId( "txt_mus_opt_new_playlist" ) ), SIGNAL( triggered() ), this, SLOT( prepareToAddToPlaylist() ) );
+                }
                 break;
             case ECollectionContextPlaylistSongs:
-                if ( !mCollectionData->isAutoPlaylist() ) {
-                    connect( myMenu->addAction(tr("Rename playlist")), SIGNAL(triggered()), this, SLOT(renameCurrentPlaylistContainer()), Qt::QueuedConnection );
+                if ( !mCollectionData->isAutoPlaylist() && !mUsbBlocked ) {
+                    connect( myMenu->addAction( hbTrId( "txt_common_menu_rename_item" ) ), SIGNAL( triggered() ), this, SLOT( renameCurrentPlaylistContainer() ) );
                 }
                 break;
             default:
                 break;
         }
     }
-    else if (mViewMode == MpCommon::FetchView ) {
-        if ( mCollectionContext == ECollectionContextAllSongs ) {
-            connect( myMenu->addAction(tr("Refresh library")), SIGNAL(triggered()), this, SLOT(refreshLibrary()) );
+    else if ( mViewMode == MpCommon::FetchView ) {
+        if ( mCollectionContext == ECollectionContextAllSongs && !mUsbBlocked ) {
+            connect( myMenu->addAction( hbTrId( "txt_mus_opt_refresh_library" ) ), SIGNAL( triggered() ), this, SLOT( refreshLibrary() ) );
         }
     }
 
-    setMenu(myMenu);
+    setMenu( myMenu );
     TX_EXIT
 }
 
@@ -960,21 +1207,21 @@
 {
     TX_ENTRY
 
-    switch (mCollectionContext) {
+    switch ( mCollectionContext ) {
         case ECollectionContextPlaylistSongs:
             if ( !mCollectionData->isAutoPlaylist() ) {
                 setPlaylistToolBar();
             }
-            else if (!toolBar()->actions().empty()) {
+            else if ( !toolBar()->actions().empty() ) {
                 takeToolBar();
-                setToolBar(new HbToolBar);
-            } 
+                setToolBar( new HbToolBar );
+            }
             break;
         case ECollectionContextAlbumSongs:
         case ECollectionContextGenreSongs:
-            if (!toolBar()->actions().empty()) {
+            if ( !toolBar()->actions().empty() ) {
                 takeToolBar();
-                setToolBar(new HbToolBar);
+                setToolBar( new HbToolBar );
             }
             break;
         default:
@@ -993,18 +1240,18 @@
     if ( mViewMode == MpCommon::FetchView ) {
         // 'Back' is used in all views in fetch mode because we must
         // appear as an embedded application.
-        mWindow->addSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBack);
+        setNavigationAction( mSoftKeyBack );
     }
     else {
         switch ( mCollectionContext ) {
             case ECollectionContextAllSongs:
-            case ECollectionContextArtistAlbums:
+            case ECollectionContextAlbums:
             case ECollectionContextPlaylists:
             case ECollectionContextGenres:
-                mWindow->addSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyQuit);
+                setNavigationAction( mSoftKeyQuit );
                 break;
             default:
-                mWindow->addSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBack);
+                setNavigationAction( mSoftKeyBack );
                 break;
         }
     }
@@ -1012,33 +1259,23 @@
 
 /*!
  \internal
- Clears the softkey set by this view. Restore to previous.
- */
-void MpCollectionView::clearSoftkey()
-{
-    mWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBack);
-    mWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyQuit);
-}
-
-/*!
- \internal
  Sets the Now Playing Banner visibility based on \a visible.
  */
 void MpCollectionView::setBannerVisibility( bool visible )
 {
     bool ok = false;
-    if ( visible && (hbInstance->allMainWindows()[0]->orientation() == Qt::Vertical)) {
-        mDocumentLoader->load(MUSIC_COLLECTION_DOCML, "showBanner", &ok);
+    if ( visible && ( hbInstance->allMainWindows()[0]->orientation() == Qt::Vertical ) ) {
+        mDocumentLoader->load( MUSIC_COLLECTION_DOCML, "showBanner", &ok );
         mNowPlayingBanner->show();
     }
     else {
-        mDocumentLoader->load(MUSIC_COLLECTION_DOCML, "hideBanner", &ok);
+        mDocumentLoader->load( MUSIC_COLLECTION_DOCML, "hideBanner", &ok );
         mNowPlayingBanner->hide();
     }
 
     if ( !ok ) {
-        TX_LOG_ARGS("Error: invalid xml file.");
-        Q_ASSERT_X(ok, "MpCollectionView::setBannerVisibility", "invalid xml file");
+        TX_LOG_ARGS( "Error: invalid xml file." );
+        Q_ASSERT_X( ok, "MpCollectionView::setBannerVisibility", "invalid xml file" );
     }
 }
 
@@ -1052,10 +1289,10 @@
     int high = mCollectionData->count();
 
     time_t seconds;
-    time(&seconds);
-    srand((unsigned int) seconds);
+    time( &seconds );
+    srand( ( unsigned int ) seconds );
 
-    int index = rand() % (high - low + 1) + low;
+    int index = rand() % ( high - low + 1 ) + low;
     return index;
 }
 
@@ -1063,111 +1300,111 @@
  \internal
  Launches the 'Add to playlist' dialog.
  */
-void MpCollectionView::launchAddToPlaylistDialog( QList<int> selection )
+void MpCollectionView::launchAddToPlaylistDialog( QList<int> &selection )
 {
+    if (!mActivated) {
+       return;
+    }
     QString newPlaylistName;
-    int playlistIndex;
-    bool canceled = false;
+    QStringList playlists;
+    mMpxWrapper->findPlaylists( playlists );
+    HbListDialog dialog;
+    dialog.setStringItems( playlists );
+    dialog.setSelectionMode( HbAbstractItemView::SingleSelection );
+    dialog.setHeadingWidget(new HbLabel( hbTrId( "txt_mus_title_select_playlist" ) ) );
+    dialog.setPrimaryAction(new HbAction( hbTrId( "txt_mus_button_new" ) ) );
+    dialog.setSecondaryAction(new HbAction( hbTrId( "txt_common_button_cancel" ) ) );
 
     forever {
-        QStringList list;
-        mMpxWrapper->findPlaylists(list);
-        if ( list.count()) {
-            HbListDialog dialog;
-            dialog.setStringItems(list);
-            dialog.setSelectionMode(HbAbstractItemView::SingleSelection);
-            dialog.setHeadingWidget(new HbLabel(QString(tr("Choose a playlist:"))));
-            dialog.setPrimaryAction(new HbAction(QString(tr("New"))));
-            dialog.setSecondaryAction(new HbAction(QString(tr("Cancel"))));
-            HbAction *selectedAction = dialog.exec();
-            if ( selectedAction == dialog.secondaryAction() ) {
-                // Cancel
+        if ( playlists.count() ) {
+            //There are saved playlists, query for a saved playlist or new.
+            setOutstandingPopup( &dialog );
+            HbAction *selectedAction = mActivated ? dialog.exec() : 0;
+            setOutstandingPopup( 0 );
+            if ( selectedAction == dialog.primaryAction() ) {
+                //User selected pimaryAction "new", fall trough to new playlyst query.
+            }
+            else if ( dialog.selectedItems().count() ) {//this only works for SingleSelection
+                // User selected existing playlist, add songs and exit the loop.
+                if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+                    mMpxWrapper->saveToPlaylist( dialog.selectedItems().at( 0 ), selection );
+                }
                 break;
             }
-            else if ( selectedAction != dialog.primaryAction()) {
-                // User selected existing playlist
-                playlistIndex = dialog.selectedItems().at(0);
-                mMpxWrapper->saveToPlaylist(playlistIndex, selection);
+            else {
+                //Cancel was pressed or dialog was closed or never executed, exit the loop.
                 break;
             }
         }
-        else if (canceled) {
+        //querying for a new playlist name.
+        if ( queryNewPlaylistName(newPlaylistName , playlists) ) {
+            // user selected a new playlist, save and exit the loop.
+            if ( !mMpEngine->verifyUsbBlocking( true ) ) {
+                mMpxWrapper->createPlaylist( newPlaylistName, selection );
+            }
             break;
         }
-
-        // New - create a suggested name for the playlist
-        QString suggestedPlaylistName(tr("Playlist"));
-        int i = 0;
-        for (;
-             list.contains( QString( suggestedPlaylistName + "(" + QString::number(i) + ")" ) ) ;
-             i++ ) {};
-        suggestedPlaylistName += QString("(" + QString::number( i ) + ")");
-        // Loop until the user cancels or enters a valid name
-        forever {
-            QString suggestedText;
-            bool ok = false;
-            suggestedText = HbInputDialog::getText(QString(tr("Enter a name for the new playlist:")), suggestedPlaylistName, &ok);
-            if ( !ok ) {
-                canceled = true;
-                break;
-            }
-            if ( !list.contains(suggestedText) ) {
-            	  newPlaylistName = suggestedText;
-                mMpxWrapper->createPlaylist(newPlaylistName, selection);
-                return;
-            }
+        else if (!playlists.count()) {
+            // user decided to not provide a new name and there are no saved playlists, exit the loop
+            break;
         }
-    }
+        // user decided to not provide a new name and there are saved playlists, back to the top.
+    } //forever
 }
 
 /*!
  \internal
  starts a transition of the main container with a decoy snapshot.
  */
-void MpCollectionView::startContainerTransition(TCollectionContext contextFrom, TCollectionContext contextTo)
+void MpCollectionView::startContainerTransition( TCollectionContext contextFrom, TCollectionContext contextTo )
 {
-    if (!mSnapshot)
-      mSnapshot = new MpSnapshotWidget();
-    mSnapshot->capture(mWindow, mMainContainer );
-    mWindow->scene()->addItem(mSnapshot);
+    if (contextFrom == contextTo) {
+        return;
+    }
+
+    if ( !mSnapshot ) {
+        mSnapshot = new MpSnapshotWidget();
+    }
+    mSnapshot->capture( mWindow, mMainContainer );
+    mWindow->scene()->addItem( mSnapshot );
 
 
-    if ( ( contextFrom == ECollectionContextArtistAlbums && contextTo == ECollectionContextAlbumSongs ) ||
+    if ( ( contextFrom == ECollectionContextAlbums && contextTo == ECollectionContextAlbumSongs ) ||
             ( contextFrom == ECollectionContextPlaylists && contextTo == ECollectionContextPlaylistSongs ) ||
-            ( contextFrom == ECollectionContextGenres && contextTo == ECollectionContextGenreSongs ) ){
-        HbEffect::start(mSnapshot,
-                QString("container"),
-                QString("slide_out_to_left"));
+            ( contextFrom == ECollectionContextGenres && contextTo == ECollectionContextGenreSongs ) ) {
+        HbEffect::start( mSnapshot,
+                QString( "container" ),
+                QString( "slide_out_to_left" ) );
 
-        HbEffect::start(mMainContainer,
-                QString("container"),
-                QString("slide_in_to_left_and_fade_in"),
+        HbEffect::start( mMainContainer,
+                QString( "container" ),
+                QString( "slide_in_to_left_and_fade_in" ),
                 this,
-                "containerTransitionComplete");
+                "containerTransitionComplete" );
     }
-    else if(( contextFrom == ECollectionContextAlbumSongs && contextTo == ECollectionContextArtistAlbums) ||
-            ( contextFrom == ECollectionContextPlaylistSongs && contextTo == ECollectionContextPlaylists) ||
-            ( contextFrom == ECollectionContextGenreSongs && contextTo == ECollectionContextGenres)) {
-        HbEffect::start(mSnapshot,
-                QString("container"),
-                QString("slide_out_to_right"));
+    else if( ( contextFrom == ECollectionContextAlbumSongs && contextTo == ECollectionContextAlbums ) ||
+            ( contextFrom == ECollectionContextPlaylistSongs && contextTo == ECollectionContextPlaylists ) ||
+            ( contextFrom == ECollectionContextGenreSongs && contextTo == ECollectionContextGenres ) ) {
+        HbEffect::start( mSnapshot,
+                QString( "container" ),
+                QString( "slide_out_to_right" ) );
 
-        HbEffect::start(mMainContainer,
-                QString("container"),
-                QString("slide_in_to_right_and_fade_in"),
+        HbEffect::start( mMainContainer,
+                QString( "container" ),
+                QString( "slide_in_to_right_and_fade_in" ),
                 this,
-                "containerTransitionComplete");
+                "containerTransitionComplete" );
     }
     else {
-        HbEffect::start(mSnapshot,
-                QString("container"),
-                QString("slide_out_to_top"));
+        HbEffect::start( mSnapshot,
+                QString( "container" ),
+                QString( "slide_out_to_top" ) );
 
-        HbEffect::start(mMainContainer,
-                QString("container"),
-                QString("slide_in_to_top_and_fade_in"),
+        HbEffect::start( mMainContainer,
+                QString( "container" ),
+                QString( "slide_in_to_top_and_fade_in" ),
                 this,
-                "containerTransitionComplete");
+                "containerTransitionComplete" );
     }
 
 }
@@ -1176,43 +1413,50 @@
  \internal
  request a delete operation always it has been confirmed.
  */
-void MpCollectionView::requestDelete(QList<int> selection)
-{           
-    bool confirmation(false);
+void MpCollectionView::requestDelete( QList<int> &selection )
+{
+    bool confirmation( false );
     // Todo: Use HbMessageBox::question when time-out removed from it
-    HbMessageBox dialog(HbMessageBox::MessageTypeQuestion);
+    HbMessageBox dialog( HbMessageBox::MessageTypeQuestion );
+
     QString message;
-    HbAction *action;
-    
-    switch (mCollectionContext) {
+    HbAction *action = 0;
+
+    switch ( mCollectionContext ) {
         case ECollectionContextAllSongs:
         case ECollectionContextAlbumSongs:
-            message = QString(tr("Delete song?"));
-            dialog.setText(message);
-            dialog.setTimeout(HbPopup::NoTimeout);
-            action = dialog.exec();
-            if (action == dialog.primaryAction()) {
+            message = hbTrId( "txt_mus_delete_song" );
+            dialog.setText( message );
+            dialog.setTimeout( HbPopup::NoTimeout );
+            setOutstandingPopup( &dialog );
+            action = mActivated ? dialog.exec() : 0;
+            setOutstandingPopup( 0 );
+            if ( action && action == dialog.primaryAction() ) {
                 confirmation = true;
             }
             break;
-        case ECollectionContextArtistAlbums:
-            message = QString(tr("Delete album?"));
-            dialog.setText(message);
-            dialog.setTimeout(HbPopup::NoTimeout);
-            action = dialog.exec();
-            if (action == dialog.primaryAction()) {
+        case ECollectionContextAlbums:
+            message = hbTrId( "txt_mus_delete_album" );
+            dialog.setText( message );
+            dialog.setTimeout( HbPopup::NoTimeout );
+            setOutstandingPopup( &dialog );
+            action = mActivated ? dialog.exec() : 0;
+            setOutstandingPopup( 0 );
+            if ( action && action == dialog.primaryAction() ) {
                 confirmation = true;
             }
             break;
         case ECollectionContextPlaylists:
-            message = QString(tr("Delete playlist?"));
-            dialog.setText(message);
-            dialog.setTimeout(HbPopup::NoTimeout);
-            action = dialog.exec();
-            if (action == dialog.primaryAction()) {
+            message = hbTrId( "txt_mus_delete_playlist" );
+            dialog.setText( message );
+            dialog.setTimeout( HbPopup::NoTimeout );
+            setOutstandingPopup( &dialog );
+            action = mActivated ? dialog.exec() : 0;
+            setOutstandingPopup( 0 );
+            if ( action && action == dialog.primaryAction() ) {
                 confirmation = true;
             }
-            break;            
+            break;
         case ECollectionContextPlaylistSongs:
         case ECollectionContextGenres:
         case ECollectionContextGenreSongs:
@@ -1221,11 +1465,114 @@
         case ECollectionContextUnknown:
         default:
             // We shouldn't be here
-            TX_LOG_ARGS("Invalid Collection Context:" << mCollectionContext);
+            TX_LOG_ARGS( "Invalid Collection Context:" << mCollectionContext );
             break;
     }
 
-    if ( confirmation ) {
-        mMpxWrapper->deleteSongs(selection);
-    }    
+    if ( confirmation && !mMpEngine->verifyUsbBlocking( true ) ) {
+        mMpxWrapper->deleteSongs( selection );
+    }
+}
+
+/*!
+ \internal
+ Returns a list of itmes selected.
+ */
+QModelIndexList MpCollectionView::getModelIndexes( const QString &label, QAbstractItemModel* model, bool &ok )
+{
+    QModelIndexList result;
+
+    if ( !mActivated ) {
+       ok = false;
+       return result;
+    }
+
+    HbListDialog *dlg = new HbListDialog();
+    dlg->setHeadingWidget( new HbLabel( label ) );
+    dlg->setSelectionMode( HbAbstractItemView::MultiSelection );
+    dlg->setModel( model );
+    setOutstandingPopup( dlg );
+    HbAction* action = mActivated ? dlg->exec() : 0;
+    setOutstandingPopup( 0 );
+    if( action == dlg->primaryAction() ){ //OK was pressed
+        ok = true;
+        result = dlg->selectedModelIndexes();
+    }
+    else{ //Cancel was pressed or dialog was closed or never executed.
+        ok = false;
+    }
+    dlg->setModel( 0 );
+    delete dlg;
+    return result;
 }
+
+/*!
+ \internal
+ Returns a string from user input.
+ */
+QString MpCollectionView::getText( const QString &label,const QString &text,
+                                bool &ok )
+{
+    
+    QString result;
+    
+    if ( !mActivated ) {
+       ok = false;
+       return result;
+    }
+    
+    HbInputDialog *dlg = new HbInputDialog();
+    dlg->setPromptText( label );
+    dlg->setInputMode( HbInputDialog::TextInput );
+    dlg->setValue( text );
+    setOutstandingPopup( dlg ); 
+    HbAction* action = mActivated ? dlg->exec() : 0;
+    setOutstandingPopup( 0 );
+    if( action == dlg->primaryAction() ) { //OK was pressed
+        ok = true;
+        result = dlg->value().toString();
+    } else {  //Cancel was pressed or dialog was closed or never executed.
+        ok = false;
+    }
+    delete dlg;
+    return result;  
+}
+
+/*!
+ \internal
+ sets \a popup as the current outstanding popup and cancels any otstanding popup.
+ */
+void MpCollectionView::setOutstandingPopup( HbPopup *popup )
+{
+    if ( mOutstandingPopup ) {
+        mOutstandingPopup->close();
+    } 
+    mOutstandingPopup = popup;
+}
+
+/*!
+ \internal
+ sets \a newPlaylistName with imput name from the user, uses \a playlists to 
+ generate a suggested playlist name, retrns true if the user confirmed the query.
+ */
+bool MpCollectionView::queryNewPlaylistName(QString &newPlaylistName , const QStringList &playlists ) 
+{
+    bool ret= false;
+    if (!mActivated) {
+       return ret;
+    }
+    int i = 0;
+    for ( ;
+         playlists.contains( hbTrId( "txt_mus_dialog_enter_name_entry_playlist_l1" ).arg( i ) ) ;
+         i++ ) {};
+    QString suggestedPlaylistName = hbTrId( "txt_mus_dialog_enter_name_entry_playlist_l1" ).arg( i );
+    QString suggestedText;
+    bool ok = false;
+    suggestedText = getText( hbTrId("txt_mus_dialog_enter_name" ), suggestedPlaylistName, ok);
+    if ( ok ) {
+        newPlaylistName = suggestedText;
+        ret = true;
+    }
+    return ret;
+}
+
--- a/mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -114,7 +114,52 @@
 {
     return d_ptr->itemCount(index);
 }
-  
+
+/*!
+ Returns the current container id.
+ */
+int MpMpxCollectionData::containerId()
+{
+    return d_ptr->containerId();
+}
+
+/*!
+ Returns id of the item specified by \a index
+ */
+int MpMpxCollectionData::itemId(int index)
+{
+    return d_ptr->itemId(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)
+{
+    d_ptr->removeItem(index);
+}
+
+/*!
+ Test wether the cached item matches \a itemId.
+ \sa removeItem() insertCachedItem()
+ */
+bool MpMpxCollectionData::testCachedItem( int itemId )
+{
+    return d_ptr->testCachedItem( itemId );
+}
+
+/*!
+ Inserts the cached item in the location specified by \a index
+ \sa removeItem() testCachedItem()
+ */
+void MpMpxCollectionData::insertCachedItem(int index)
+{
+    return d_ptr->insertCachedItem( index );
+}
+
 /*!
  Sets the media \a entries from the MPX framework.
  Internal usage only from MpMpxFrameworkWrapper.
--- a/mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata_p.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpmpxcollectiondata_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -44,7 +44,8 @@
     : q_ptr( wrapper ),
       iContainerMedia(0),
       iMediaArray(0),
-      iContext( ECollectionContextUnknown )
+      iContext( ECollectionContextUnknown ),
+      iCachedRemovedItem ( 0 )
 {
     TX_LOG
 }
@@ -56,6 +57,7 @@
 {
     TX_ENTRY
     delete iContainerMedia;
+    delete iCachedRemovedItem;
     TX_EXIT
 }
 
@@ -177,6 +179,83 @@
 /*!
  \internal
  */
+int MpMpxCollectionDataPrivate::containerId()
+{
+    int id = -1;
+    TRAPD( err, id = DoGetContainerIdL() );
+    if ( err == KErrNone ) {
+        TX_LOG_ARGS("id=" << id);
+    }
+    else {
+        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    }
+    TX_EXIT
+    return id;
+}
+
+/*!
+ \internal
+ */
+int MpMpxCollectionDataPrivate::itemId(int index)
+{
+    TX_ENTRY_ARGS("index=" << index);
+    int id = -1;
+    TRAPD(err, id = DoGetItemIdL(index));
+    if ( err == KErrNone ) {
+        TX_LOG_ARGS("id=" << id);
+    }
+    else {
+        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    }
+    TX_EXIT
+    return id;
+}
+
+/*!
+ \internal
+ */
+void MpMpxCollectionDataPrivate::removeItem(int index)
+{
+    TX_ENTRY_ARGS("index=" << index);
+     TRAPD(err,  DoRemoveItemL(index));
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+bool MpMpxCollectionDataPrivate::testCachedItem( int itemId )
+{
+    TX_ENTRY_ARGS( "itemId=" << itemId);
+    bool match = false;
+    TRAPD( err, match = DoTestCachedItemL( itemId ) );
+    if ( err == KErrNone ) {
+        TX_LOG_ARGS("match=" << match);
+    }
+    else {
+        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    }
+    TX_EXIT
+    return match;
+}
+
+/*!
+ \internal
+ */
+void MpMpxCollectionDataPrivate::insertCachedItem(int index)
+{
+    TX_ENTRY_ARGS("index=" << index);
+    iMediaArray->Insert( iCachedRemovedItem, index );
+    iCachedRemovedItem = 0; //ownership tranferred above.
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
 void MpMpxCollectionDataPrivate::setMpxMedia( const CMPXMedia& entries )
 {
     TX_ENTRY
@@ -303,6 +382,52 @@
 /*!
  \internal
  */
+int MpMpxCollectionDataPrivate::DoGetContainerIdL()
+{
+    if ( !iContainerMedia->IsSupported( KMPXMediaGeneralId ) ) {
+        User::Leave(KErrNotFound);
+    }
+    return iContainerMedia->ValueTObjectL<TInt>( KMPXMediaGeneralId );
+}
+
+/*!
+ \internal
+ */
+int MpMpxCollectionDataPrivate::DoGetItemIdL( int index )
+{
+    CMPXMedia* currentMedia( iMediaArray->AtL( index ) );
+    if ( !currentMedia->IsSupported( KMPXMediaGeneralId ) ) {
+        User::Leave(KErrNotFound);
+    }
+    return currentMedia->ValueTObjectL<TInt>( KMPXMediaGeneralId );
+}
+
+/*!
+ \internal
+ */
+void MpMpxCollectionDataPrivate::DoRemoveItemL( int index )
+{
+    delete iCachedRemovedItem;
+    iCachedRemovedItem = 0;
+    iCachedRemovedItem = CMPXMedia::NewL( *iMediaArray->AtL( index ) );
+    iMediaArray->Remove( index );
+}
+
+/*!
+ \internal
+ */
+bool MpMpxCollectionDataPrivate::DoTestCachedItemL( int itemId )
+{
+    if ( !iCachedRemovedItem && !iCachedRemovedItem->IsSupported( KMPXMediaGeneralId ) ) {
+        User::Leave(KErrNotFound);
+    }
+    return ( itemId == iCachedRemovedItem->ValueTObjectL<TInt>( KMPXMediaGeneralId ) );
+}
+
+
+/*!
+ \internal
+ */
 void MpMpxCollectionDataPrivate::SetCollectionContextL()
 {
     TX_ENTRY
@@ -324,7 +449,7 @@
                 iContext = ECollectionContextAllSongs;
                 break;
             case EMPXAlbum:
-                iContext = ECollectionContextArtistAlbums;
+                iContext = ECollectionContextAlbums;
                 break;
             case EMPXPlaylist:
                 iContext = ECollectionContextPlaylists;
--- a/mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -27,21 +27,54 @@
 */
 
 /*!
-    \fn void playlistOpened()
+    \fn void collectionPlaylistOpened()
+
+    This signal is emitted when A new collection playlist is opened and 
+    playback is initialized.
+
+ */
 
-    This signal is emitted when
+/*!
+    \fn void playlistSaved( bool success )
 
-    \sa openCollectionItem()
+    This signal is emitted when playlist save operation is completed, it 
+    indicates the operation \a success .
+
  */
 
 /*!
+    \fn void songsDeleted( bool success )
+
+    This signal is emitted when song delete operation is completed, it 
+    indicates the operation \a success .
+
+ */
+
+/*!
+    \fn void playlistsRenamed( bool success )
+
+    This signal is emitted when playlist rename operation is completed, it
+    indicates the operation  \a success .
+
+ */
+
+/*!
+    \fn void isolatedCollectionOpened( MpMpxCollectionData* collectionData )
+
+    This signal is emitted when an isolated collection is opened on \a context
+
+ */
+ 
+ 
+ 
+/*!
  Constructs the utility wrapper.
  */
 MpMpxFrameworkWrapper::MpMpxFrameworkWrapper( MpCommon::MpViewMode viewMode, QObject *parent )
-    : QObject(parent)
+    : QObject( parent )
 {
-    d_ptr = new MpMpxFrameworkWrapperPrivate(this);
-    d_ptr->init(viewMode);
+    d_ptr = new MpMpxFrameworkWrapperPrivate( this );
+    d_ptr->init( viewMode );
 }
 
 /*!
@@ -59,7 +92,7 @@
  */
 void MpMpxFrameworkWrapper::openCollection( TCollectionContext context )
 {
-    d_ptr->openCollection(context);
+    d_ptr->openCollection( context );
 }
 
 /*!
@@ -69,17 +102,7 @@
  */
 void MpMpxFrameworkWrapper::openCollectionItem( int index )
 {
-    d_ptr->openCollectionItem(index);
-}
-
-/*!
- Opens the collection in its current state.
-
- \sa collectionOpened()
- */
-void MpMpxFrameworkWrapper::reopenCollection()
-{
-    d_ptr->reopenCollection();
+    d_ptr->openCollectionItem( index );
 }
 
 /*!
@@ -98,47 +121,55 @@
  */
 void MpMpxFrameworkWrapper::findPlaylists( QStringList &playlists )
 {
-    d_ptr->findPlaylists(playlists);
+    d_ptr->findPlaylists( playlists );
 }
 
 /*!
- Creates a new playlist with name \a playlistName and adds \a selection.
+ Creates a new playlist with name \a playlistName and adds \a selection and optionally uses \a collectionData.
  */
-void MpMpxFrameworkWrapper::createPlaylist( QString playlistName, QList<int> selection )
+void MpMpxFrameworkWrapper::createPlaylist( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData )
 {
-    d_ptr->createPlaylist(playlistName, selection);
+    d_ptr->createPlaylist( playlistName, selection, collectionData );
 }
 
 /*!
  Adds \a selection to the playlist specified in \a playlistIndex.
  */
-void MpMpxFrameworkWrapper::saveToPlaylist( int playlistIndex, QList<int> selection )
+void MpMpxFrameworkWrapper::saveToPlaylist( int playlistIndex, QList<int> &selection )
 {
-    d_ptr->saveToPlaylist(playlistIndex, selection);
+    d_ptr->saveToPlaylist( playlistIndex, selection );
 }
 
 /*!
  Rename a playlist by \a index with \a name.
  */
-void MpMpxFrameworkWrapper::renamePlaylist( QString newName, int index )
+void MpMpxFrameworkWrapper::renamePlaylist( QString &newName, int index )
 {
-    d_ptr->renamePlaylist(newName, index);
+    d_ptr->renamePlaylist( newName, index );
+}
+
+/*!
+ Adds \a selection to the current playlist from the specified \a collectionData.
+ */
+void MpMpxFrameworkWrapper::saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData )
+{
+    d_ptr->saveToCurrentPlaylist( selection, collectionData );
 }
 
 /*!
  Rename a playlist with \a name.
  */
-void MpMpxFrameworkWrapper::renamePlaylist( QString newName )
+void MpMpxFrameworkWrapper::renamePlaylist( QString &newName )
 {
-    d_ptr->renamePlaylist(newName);
+    d_ptr->renamePlaylist( newName );
 }
 
 /*!
  Deletes \a selection from the collection.
  */
-void MpMpxFrameworkWrapper::deleteSongs( QList<int> selection )
+void MpMpxFrameworkWrapper::deleteSongs( QList<int> &selection )
 {
-    d_ptr->deleteSongs(selection);
+    d_ptr->deleteSongs( selection );
 }
 
 /*!
@@ -146,7 +177,33 @@
  */
 void MpMpxFrameworkWrapper::setShuffle( bool active )
 {
-    d_ptr->setShuffle(active);
+    d_ptr->setShuffle( active );
+}
+
+/*!
+ Initiate a playback preview for the selected item.
+ */
+void MpMpxFrameworkWrapper::previewItem( int index )
+{
+    d_ptr->previewItem( index );
+}
+
+
+/*!
+ Opens the an isolated collection with \a context.
+ \sa isolatedCollectionOpened()
+ */
+void MpMpxFrameworkWrapper::openIsolatedCollection( TCollectionContext context )
+{
+       d_ptr->openIsolatedCollection( context );     
+}
+
+/*!
+ Releases the resources used for the isolated collection.
+ */
+void MpMpxFrameworkWrapper::releaseIsolatedCollection()
+{
+    d_ptr->releaseIsolatedCollection();
 }
 
 /*!
@@ -158,25 +215,23 @@
 }
 
 /*!
- Initiates collection scanning.
+ Slot to be called to reopen the collection in its current state.
+
+ \sa collectionOpened()
  */
-void MpMpxFrameworkWrapper::scan()
+void MpMpxFrameworkWrapper::reopenCollection()
 {
-    d_ptr->scan();
+    d_ptr->reopenCollection();
 }
 
 /*!
- Cancels ongoing collection scanning.
+ Slot to be called to request a reorder operation , indicates that 
+ the item with \a playlistId , \a songId is to be moved from 
+ \a originalOrdinal to \a newOrdinal.
  */
-void MpMpxFrameworkWrapper::cancelScan()
+void MpMpxFrameworkWrapper::reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal )
 {
-    d_ptr->cancelScan();
+    d_ptr->reorderPlaylist( playlistId, songId, originalOrdinal, newOrdinal );
 }
 
-/*!
- Initiate a playback preview for the selected item.
- */
-void MpMpxFrameworkWrapper::previewItem( int index )
-{
-    d_ptr->previewItem(index);
-}
+
--- a/mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper_p.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpmpxframeworkwrapper_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -69,15 +69,16 @@
  \internal
  */
 MpMpxFrameworkWrapperPrivate::MpMpxFrameworkWrapperPrivate( MpMpxFrameworkWrapper *wrapper )
-    : q_ptr(wrapper),
-      iCollectionUtility(0),
-      iCollectionUiHelper(0),
-      iIncrementalOpenUtil(0),
-      iPlaybackUtility(0),
-      iHarvesterUtility(0),
-      iCollectionData(0),
-      iFirstIncrementalOpen(EFalse),
-      iUserPlaylists(0)
+    : q_ptr( wrapper ),
+      iCollectionUtility( 0 ),
+      iCollectionUiHelper( 0 ),
+      iIncrementalOpenUtil( 0 ),
+      iIsolatedCollectionHelper( 0 ),
+      iPlaybackUtility( 0 ),
+      iCollectionData( 0 ),
+      iIsolatedCollectionData( 0 ),
+      iFirstIncrementalOpen( EFalse ),
+      iUserPlaylists( 0 )
 {
     TX_LOG
 }
@@ -89,6 +90,7 @@
 {
     TX_ENTRY
     delete iCollectionData;
+    delete iIsolatedCollectionData;
 
     if ( iCollectionUtility ) {
         iCollectionUtility->Collection().CancelRequest();
@@ -99,15 +101,12 @@
         iCollectionUiHelper->Close();
     }
 
-	if ( iPlaybackUtility ) {
+    if ( iPlaybackUtility ) {
         iPlaybackUtility->Close();
     }
 
-    if ( iHarvesterUtility ) {
-        iHarvesterUtility->Close();
-    }
-
     delete iIncrementalOpenUtil;
+    delete iIsolatedCollectionHelper;
     delete iUserPlaylists;
 
     TX_EXIT
@@ -120,9 +119,9 @@
 {
 
     iViewMode = viewMode;
-    TRAPD(err, DoInitL());
+    TRAPD( err, DoInitL() );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -131,9 +130,9 @@
  */
 void MpMpxFrameworkWrapperPrivate::openCollection( TCollectionContext context )
 {
-    TRAPD(err, DoOpenCollectionL(context));
+    TRAPD( err, DoOpenCollectionL( context ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -142,9 +141,9 @@
  */
 void MpMpxFrameworkWrapperPrivate::openCollectionItem( int index )
 {
-    TRAPD(err, DoOpenCollectionItemL(index));
+    TRAPD( err, DoOpenCollectionItemL( index ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -153,9 +152,9 @@
  */
 void MpMpxFrameworkWrapperPrivate::reopenCollection()
 {
-    TRAPD(err, DoReopenCollectionL());
+    TRAPD( err, DoReopenCollectionL() );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -164,9 +163,9 @@
  */
 void MpMpxFrameworkWrapperPrivate::back()
 {
-    TRAPD(err, DoBackL());
+    TRAPD( err, DoBackL() );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 /*!
@@ -174,64 +173,75 @@
  */
 void MpMpxFrameworkWrapperPrivate::findPlaylists( QStringList &playlists )
 {
-    TRAPD(err, DoFindPlaylistsL(playlists));
+    TRAPD( err, DoFindPlaylistsL( playlists ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::createPlaylist( QString playlistName, QList<int> selection )
+void MpMpxFrameworkWrapperPrivate::createPlaylist( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData )
 {
-    TRAPD(err, DoCreatePlaylistL(playlistName, selection));
+    TRAPD( err, DoCreatePlaylistL( playlistName, selection, collectionData ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::saveToPlaylist( int playlistIndex, QList<int> &selection )
+{
+    TRAPD( err, DoSaveToPlaylistL( playlistIndex, selection ) );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::saveToPlaylist( int playlistIndex, QList<int> selection )
+void MpMpxFrameworkWrapperPrivate::saveToCurrentPlaylist( QList<int> &selection, MpMpxCollectionData *collectionData )
 {
-    TRAPD(err, DoSaveToPlaylistL(playlistIndex, selection));
+    TRAPD( err, DoSaveToCurrentPlaylistL( selection, collectionData ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+} 
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::deleteSongs( QList<int> &selection )
+{
+    TRAPD( err, DoDeleteSongsL( selection ) );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::deleteSongs( QList<int> selection )
-{
-    TRAPD(err, DoDeleteSongsL(selection));
+void MpMpxFrameworkWrapperPrivate::renamePlaylist( QString &newName, int index )
+{      
+    TRAPD( err, DoRenamePlaylistL( newName, index ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::renamePlaylist( QString newName, int index )
+void MpMpxFrameworkWrapperPrivate::renamePlaylist( QString &newName )
 {      
-    TRAPD(err, DoRenamePlaylistL(newName, index));
+    TRAPD( err, DoRenamePlaylistL( newName ) );
     if ( err != KErrNone ) {
-    TX_LOG_ARGS("Error: " << err << "; should never get here.");
-    }
-}
-
-/*!
- \internal
- */
-void MpMpxFrameworkWrapperPrivate::renamePlaylist( QString newName )
-{      
-    TRAPD(err, DoRenamePlaylistL(newName));
-    if ( err != KErrNone ) {
-    TX_LOG_ARGS("Error: " << err << "; should never get here.");
+    TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 /*!
@@ -239,31 +249,9 @@
  */
 void MpMpxFrameworkWrapperPrivate::setShuffle( bool active )
 {
-    TRAPD(err, DoSetShuffleL(active));
-    if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
-    }
-}
-
-/*!
- \internal
- */
-void MpMpxFrameworkWrapperPrivate::scan()
-{
-    TRAPD(err, DoScanL());
+    TRAPD( err, DoSetShuffleL( active ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
-    }
-}
-
-/*!
- \internal
- */
-void MpMpxFrameworkWrapperPrivate::cancelScan()
-{
-    TRAPD(err, DoCancelScanL());
-    if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -272,9 +260,42 @@
  */
 void MpMpxFrameworkWrapperPrivate::previewItem( int index )
 {
-    TRAPD(err, DoPreviewItemL(index));
+    TRAPD( err, DoPreviewItemL( index ) );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+ void MpMpxFrameworkWrapperPrivate::openIsolatedCollection( TCollectionContext context )
+{
+    TRAPD( err, DoOpenIsolatedCollectionL( context ) );
     if ( err != KErrNone ) {
-        TX_LOG_ARGS("Error: " << err << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::releaseIsolatedCollection()
+{
+    delete iIsolatedCollectionHelper;
+    iIsolatedCollectionHelper = 0;
+    delete iIsolatedCollectionData;
+    iIsolatedCollectionData = 0;
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::reorderPlaylist( int playlistId, int songId, int originalOrdinal, int newOrdinal )
+{
+    TRAPD( err, DoReorderPlaylistL( playlistId, songId, originalOrdinal, newOrdinal ) );
+    if ( err != KErrNone ) {
+        TX_LOG_ARGS( "Error: " << err << "; should never get here." );
     }
 }
 
@@ -289,23 +310,23 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::HandleOpenL(
+void MpMpxFrameworkWrapperPrivate::HandleOpenL( 
     const CMPXMedia& aEntries,
     TInt aIndex,
     TBool aComplete,
     TInt aError )
 {
-    Q_UNUSED(aIndex);
-    TX_UNUSED(aComplete);
-    TX_ENTRY_ARGS("aError=" << aError << "aComplete=" << aComplete);
+    Q_UNUSED( aIndex );
+    TX_UNUSED( aComplete );
+    TX_ENTRY_ARGS( "aError=" << aError << "aComplete=" << aComplete );
     if ( aError == KErrNone ) {
         if ( iFirstIncrementalOpen ) {
-            iCollectionData->setMpxMedia(aEntries);
+            iCollectionData->setMpxMedia( aEntries );
             iFirstIncrementalOpen = EFalse;
         }
     }
     else {
-        TX_LOG_ARGS("Error: " << aError << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << aError << "; should never get here." );
     }
     TX_EXIT
 }
@@ -313,25 +334,25 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::HandleOpenL(
+void MpMpxFrameworkWrapperPrivate::HandleOpenL( 
     const CMPXCollectionPlaylist& aPlaylist,
     TInt aError )
 {
-    TX_ENTRY_ARGS("aError=" << aError);
+    TX_ENTRY_ARGS( "aError=" << aError );
 
     if ( aError == KErrNone ) {
         if ( !iPlaybackUtility ) {
-            iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid(MpCommon::KMusicPlayerUid) );
+            iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( MpCommon::KMusicPlayerUid ) );
             if ( iViewMode == MpCommon::DefaultView ) {
                 iPlaybackUtility->SetL( EPbPropertyRandomMode, MpSettingsManager::shuffle() ? ETrue : EFalse );
-                iPlaybackUtility->SetL( EPbPropertyRepeatMode, MpSettingsManager::repeat() ? EPbRepeatAll : EPbRepeatOff);
+                iPlaybackUtility->SetL( EPbPropertyRepeatMode, MpSettingsManager::repeat() ? EPbRepeatAll : EPbRepeatOff );
             }
         }
         iPlaybackUtility->InitL( aPlaylist, ETrue );
         emit q_ptr->collectionPlaylistOpened();
     }
     else {
-        TX_LOG_ARGS("Error: " << aError << "; should never get here.");
+        TX_LOG_ARGS( "Error: " << aError << "; should never get here." );
     }
     TX_EXIT
 }
@@ -339,11 +360,11 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::HandleCollectionMessage(
+void MpMpxFrameworkWrapperPrivate::HandleCollectionMessage( 
     CMPXMessage* aMsg,
     TInt aErr )
 {
-    TX_ENTRY_ARGS("aErr=" << aErr);
+    TX_ENTRY_ARGS( "aErr=" << aErr );
     if ( aErr == KErrNone && aMsg )
         {
         TRAP_IGNORE( DoHandleCollectionMessageL( *aMsg ) );
@@ -354,48 +375,33 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::HandleCollectionMediaL(
+void MpMpxFrameworkWrapperPrivate::HandleCollectionMediaL( 
     const CMPXMedia& aMedia,
     TInt aError )
 {
-    Q_UNUSED(aMedia);
-    Q_UNUSED(aError);
+    Q_UNUSED( aMedia );
+    Q_UNUSED( aError );
 }
 
 /*!
  \internal
  Handles the completion of any collection helper event.
  */
-void MpMpxFrameworkWrapperPrivate::HandleOperationCompleteL(
+void MpMpxFrameworkWrapperPrivate::HandleOperationCompleteL( 
     TCHelperOperation aOperation,
     TInt aErr,
     void* aArgument )
 {
-    TX_ENTRY_ARGS("aErr=" << aErr);
+    TX_ENTRY_ARGS( "aErr=" << aErr );
     switch( aOperation ) {
     case EDeleteOp:
-        if ( KErrNone == aErr ) {
-            emit q_ptr->songsDeleted(true);
-        }
-        else {
-            emit q_ptr->songsDeleted(false);
-        }
+        emit q_ptr->songsDeleted( KErrNone == aErr );
         break;
     case EAddOp:
-        if ( KErrNone == aErr ) {
-            emit q_ptr->playlistSaved(true);
-        }
-        else {
-            emit q_ptr->playlistSaved(false);
-        }
+        emit q_ptr->playlistSaved( KErrNone == aErr );
         break;
     case ERenameOp:
-        if ( KErrNone == aErr ) {
-            emit q_ptr->playlistsRenamed(true);
-        }
-        else {
-            emit q_ptr->playlistsRenamed(false);
-        }
+        emit q_ptr->playlistsRenamed( KErrNone == aErr );
         break;
     default:
         break;
@@ -409,6 +415,27 @@
 /*!
  \internal
  */
+void MpMpxFrameworkWrapperPrivate::HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError )
+{
+    TX_ENTRY_ARGS( "aError=" << aError );
+    if ( aError == KErrNone ) {
+        if ( iIsolatedCollectionData ) {
+            delete iIsolatedCollectionData;
+            iIsolatedCollectionData = 0;
+        }  
+        iIsolatedCollectionData = new MpMpxCollectionData();
+        iIsolatedCollectionData->setMpxMedia( aEntries );
+        emit q_ptr->isolatedCollectionOpened( iIsolatedCollectionData );
+    }
+    else {
+        TX_LOG_ARGS( "Error: " << aError << "; should never get here." );
+    }
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
 void MpMpxFrameworkWrapperPrivate::DoInitL()
 {
     TX_ENTRY
@@ -416,9 +443,6 @@
     iCollectionUiHelper = CMPXCollectionHelperFactory:: NewCollectionUiHelperL();
     iIncrementalOpenUtil = CMPXCollectionOpenUtility::NewL( this );
 
-    iHarvesterUtility = CMPXHarvesterFactory::NewL();
-    iHarvesterUtility->CheckForSystemEventsL();
-
     iCollectionData = new MpMpxCollectionData();
     TX_EXIT
 }
@@ -426,10 +450,10 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoOpenCollectionL(
+void MpMpxFrameworkWrapperPrivate::DoOpenCollectionL( 
     TCollectionContext aContext )
 {
-    TX_ENTRY_ARGS("aContext=" << aContext);
+    TX_ENTRY_ARGS( "aContext=" << aContext );
 
     switch ( aContext ) {
     case ECollectionContextAllSongs:
@@ -440,7 +464,7 @@
         CleanupStack::PopAndDestroy( cpath );
         break;
         }
-    case ECollectionContextArtistAlbums:
+    case ECollectionContextAlbums:
         {
         CMPXCollectionPath* cpath = iCollectionUiHelper->MusicMenuPathL();
         CleanupStack::PushL( cpath );
@@ -468,7 +492,7 @@
         break;
         }
     default:
-        TX_LOG_ARGS("Error: Unexpected context; should never get here.");
+        TX_LOG_ARGS( "Error: Unexpected context; should never get here." );
         break;
     }
     TX_EXIT
@@ -479,7 +503,7 @@
  */
 void MpMpxFrameworkWrapperPrivate::DoOpenCollectionItemL( TInt aIndex )
     {
-    TX_ENTRY_ARGS("aIndex=" << aIndex);
+    TX_ENTRY_ARGS( "aIndex=" << aIndex );
     iCollectionUtility->Collection().OpenL( aIndex );
     TX_EXIT
     }
@@ -515,7 +539,7 @@
     CMPXCollectionPath* cpath = iCollectionUtility->Collection().PathL();
     CleanupStack::PushL( cpath );
     cpath->Back();
-    iCollectionUtility->Collection().OpenL(*cpath);
+    iCollectionUtility->Collection().OpenL( *cpath );
     CleanupStack::PopAndDestroy( cpath );
     TX_EXIT
 }
@@ -546,15 +570,15 @@
 
     CMPXMedia* criteria = CMPXMedia::NewL();
     CleanupStack::PushL( criteria );
-    criteria->SetTObjectValueL<TMPXGeneralType>(
+    criteria->SetTObjectValueL<TMPXGeneralType>( 
         KMPXMediaGeneralType, EMPXGroup );
-    criteria->SetTObjectValueL<TMPXGeneralCategory>(
+    criteria->SetTObjectValueL<TMPXGeneralCategory>( 
         KMPXMediaGeneralCategory, EMPXPlaylist );
 
     // Look up collection UID and set to criteria
     RArray<TUid> ary;
     CleanupClosePushL( ary );
-    ary.AppendL( TUid::Uid(EMPXCollectionPluginMusic) );
+    ary.AppendL( TUid::Uid( EMPXCollectionPluginMusic ) );
     TUid musicCollection = iCollectionUtility->CollectionIDL( ary.Array() );
     CleanupStack::PopAndDestroy( &ary );
 
@@ -567,10 +591,10 @@
     if ( iUserPlaylists ) {
         const CMPXMediaArray* mediaArray =
             iUserPlaylists->Value<CMPXMediaArray>( KMPXMediaArrayContents );
-        User::LeaveIfNull(const_cast<CMPXMediaArray*>(mediaArray));
+        User::LeaveIfNull( const_cast<CMPXMediaArray*>( mediaArray ) );
         TInt count = mediaArray->Count();
         for ( TInt i = 0; i < count; i++ ) {
-            CMPXMedia* media( mediaArray->AtL(i) );
+            CMPXMedia* media( mediaArray->AtL( i ) );
             const TDesC& titleText = media->ValueText( KMPXMediaGeneralTitle );
             if ( titleText.Compare( KNullDesC ) != 0 ) {
             playlists += QString::fromUtf16( titleText.Ptr(), titleText.Length() );
@@ -583,104 +607,139 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoCreatePlaylistL( QString playlistName, QList<int> selection )
+void MpMpxFrameworkWrapperPrivate::DoCreatePlaylistL( QString &playlistName, QList<int> &selection, MpMpxCollectionData* collectionData )
 {
-    TX_ENTRY_ARGS("playlistName=" << playlistName);
+    TX_ENTRY_ARGS( "playlistName=" << playlistName );
     CMPXMedia* tracks = CMPXMedia::NewL();
     CleanupStack::PushL( tracks );
 
-    TPtrC ptr(reinterpret_cast<const TText*>(playlistName.constData()));
+    TPtrC ptr( reinterpret_cast<const TText*>( playlistName.constData() ) );
     tracks->SetTextValueL( KMPXMediaGeneralTitle, ptr );
     tracks->SetTextValueL( KMPXMediaGeneralUri, KPlaylistPath );
-    PreparePlaylistMediaL(*tracks, selection);
+    //if collection data is not provided we use the browsing collection.
+    PreparePlaylistMediaL( *tracks, selection, collectionData ? collectionData : iCollectionData );
 
     iCollectionUiHelper->IncAddL( *tracks, this, KMPXChunkSize );
     CleanupStack::PopAndDestroy( tracks );
+    TX_EXIT
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoSaveToPlaylistL( int playlistIndex, QList<int> selection )
+void MpMpxFrameworkWrapperPrivate::DoSaveToPlaylistL( TMPXItemId playlistId, QList<int> &selection, MpMpxCollectionData *collectionData )
 {
-    TX_ENTRY_ARGS("playlistIndex=" << playlistIndex);
+    TX_ENTRY_ARGS( "playlistId=" << int( playlistId ) );
+    
     CMPXMedia* tracks = CMPXMedia::NewL();
     CleanupStack::PushL( tracks );
 
-    const CMPXMediaArray* mediaArray =
-        iUserPlaylists->Value<CMPXMediaArray>( KMPXMediaArrayContents );
-    User::LeaveIfNull( const_cast<CMPXMediaArray*>( mediaArray ));
-    CMPXMedia* media( mediaArray->AtL(playlistIndex) );
-    TMPXItemId playlistId = media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
-
     RArray<TUid> ary;
     CleanupClosePushL( ary );
-    ary.AppendL( TUid::Uid(EMPXCollectionPluginMusic) );
+    ary.AppendL( TUid::Uid( EMPXCollectionPluginMusic ) );
     TUid musicCollection = iCollectionUtility->CollectionIDL( ary.Array() );
     CleanupStack::PopAndDestroy( &ary );
 
     tracks->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, playlistId );
     tracks->SetTObjectValueL<TUid>( KMPXMediaGeneralCollectionId, musicCollection );
-    PreparePlaylistMediaL(*tracks, selection);
+    PreparePlaylistMediaL( *tracks, selection, collectionData );
 
     iCollectionUiHelper->IncAddL( *tracks, this, KMPXChunkSize );
     CleanupStack::PopAndDestroy( tracks );
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoSaveToPlaylistL( int playlistIndex, QList<int> &selection )
+{
+    TX_ENTRY_ARGS( "playlistIndex=" << playlistIndex );
+
+    const CMPXMediaArray* mediaArray =  iUserPlaylists->Value<CMPXMediaArray>( KMPXMediaArrayContents );
+    User::LeaveIfNull( const_cast<CMPXMediaArray*>( mediaArray ) );
+    CMPXMedia* media( mediaArray->AtL( playlistIndex ) );
+    TMPXItemId playlistId = media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
+    DoSaveToPlaylistL( playlistId, selection, iCollectionData );
+    TX_EXIT
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoDeleteSongsL( QList<int> selection )
+void MpMpxFrameworkWrapperPrivate::DoSaveToCurrentPlaylistL( QList<int> &selection, MpMpxCollectionData *collectionData )
+{
+    TX_ENTRY
+
+    const CMPXMedia& container = iCollectionData->containerMedia();
+    if ( container.ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType) != EMPXItem && 
+        container.ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory) != EMPXPlaylist) {
+        User::Leave( KErrArgument );
+    }
+    TMPXItemId playlistId( container.ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
+    DoSaveToPlaylistL( playlistId, selection, collectionData );
+    TX_EXIT
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoDeleteSongsL( QList<int> &selection )
 {
     int count = selection.count();
-    TX_ENTRY_ARGS("selection count=" << count);
+    TX_ENTRY_ARGS( "selection count=" << count );
 
     CMPXCollectionPath* path( iCollectionUtility->Collection().PathL() );
     CleanupStack::PushL( path );
 
     for ( TInt i = 0; i < count; i++ ) {
-        path->SelectL( selection.at(i) );
+        path->SelectL( selection.at( i ) );
     }
     iCollectionUiHelper->DeleteL( *path, this );
     CleanupStack::PopAndDestroy( path );
+    TX_EXIT
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( QString newName, int index)
+void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( QString &newName, int index )
 {
+    TX_ENTRY
     CMPXMediaArray *mediaArray;  
     const CMPXMedia& container = iCollectionData->containerMedia();
-    mediaArray = const_cast<CMPXMediaArray*>(container.Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
+    mediaArray = const_cast<CMPXMediaArray*>( container.Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
     CMPXMedia* currentPlaylistMedia( mediaArray->AtL( index ) );
     TMPXItemId id( currentPlaylistMedia->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
     DoRenamePlaylistL( id, newName );
+    TX_EXIT
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( QString newName )
+void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( QString &newName )
 {
+    TX_ENTRY
     const CMPXMedia& container = iCollectionData->containerMedia();
     TMPXItemId id( container.ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
     DoRenamePlaylistL( id, newName );
+    TX_EXIT
 }
 
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( TMPXItemId id, QString newName )
+void MpMpxFrameworkWrapperPrivate::DoRenamePlaylistL( TMPXItemId id, QString &newName )
  {
      CMPXMedia* media = CMPXMedia::NewL();
      CleanupStack::PushL( media );
-     media->SetTObjectValueL<TMPXGeneralType>(
+     media->SetTObjectValueL<TMPXGeneralType>( 
      KMPXMediaGeneralType, EMPXItem );
-     media->SetTObjectValueL<TMPXGeneralCategory>(
+     media->SetTObjectValueL<TMPXGeneralCategory>( 
      KMPXMediaGeneralCategory, EMPXPlaylist );
      media->SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, id );
-     TPtrC ptr(reinterpret_cast<const TText*>(newName.constData()));
+     TPtrC ptr( reinterpret_cast<const TText*>( newName.constData() ) );
      media->SetTextValueL( KMPXMediaGeneralTitle, ptr );
      iCollectionUiHelper->RenameL( *media, this );
      CleanupStack::PopAndDestroy( media );
@@ -692,7 +751,6 @@
 void MpMpxFrameworkWrapperPrivate::DoSetShuffleL( bool active )
 {
     TX_ENTRY
-
     if ( iPlaybackUtility ) {
         iPlaybackUtility->SetL( EPbPropertyRandomMode, active );
     }
@@ -702,55 +760,27 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoScanL()
-{
-    TX_ENTRY
-    iNumItemsAdded = 0;
-    iHarvesterUtility->ScanL();
-    TX_EXIT
-}
-
-/*!
- \internal
- */
-void MpMpxFrameworkWrapperPrivate::DoCancelScanL()
-{
-    TX_ENTRY
-    // If harvester crashes, restart it.
-    TRAPD( err, iHarvesterUtility->CancelScanL() );
-    if ( err != KErrNone ) {
-        iHarvesterUtility->Close();
-        iHarvesterUtility = NULL;
-        iHarvesterUtility = CMPXHarvesterFactory::NewL();
-        iHarvesterUtility->CheckForSystemEventsL();
-    }
-    TX_EXIT
-}
-
-/*!
- \internal
- */
 void MpMpxFrameworkWrapperPrivate::DoPreviewItemL( int index )
 {
     TX_ENTRY
     if ( !iPlaybackUtility ) {
-        iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid(MpCommon::KMusicPlayerUid) );
+        iPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( MpCommon::KMusicPlayerUid ) );
     }
 
     // Get the current path
     CMPXCollectionPath* cpath = iCollectionUtility->Collection().PathL();
     CleanupStack::PushL( cpath );
-    MPX_DEBUG_PATH(*cpath);
+    MPX_DEBUG_PATH( *cpath );
     cpath->Back();
 
     CMPXMediaArray *mediaArray;
     const CMPXMedia& container = iCollectionData->containerMedia();
-    mediaArray = const_cast<CMPXMediaArray*>(container.Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
+    mediaArray = const_cast<CMPXMediaArray*>( container.Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
     CMPXMedia* currentMedia( mediaArray->AtL( index ) );
     TMPXItemId id( currentMedia->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
 
-    cpath->AppendL(id); // Top level items of songs
-    cpath->Set(0); 		// Select 1st song
+    cpath->AppendL( id ); // Top level items of songs
+    cpath->Set( 0 ); // Select 1st song
 
     CMPXCollectionPlaylist* playList = CMPXCollectionPlaylist::NewL( *cpath );
     CleanupStack::PushL( playList );
@@ -767,7 +797,33 @@
 /*!
  \internal
  */
-void MpMpxFrameworkWrapperPrivate::DoHandleCollectionMessageL(
+void MpMpxFrameworkWrapperPrivate::DoOpenIsolatedCollectionL( TCollectionContext context )
+{
+
+    if ( ECollectionContextAllSongs == context ) {
+        CMPXCollectionPath* cpath = iCollectionUiHelper->MusicAllSongsPathL();
+        CleanupStack::PushL( cpath );
+        if ( !iIsolatedCollectionHelper ) {
+            iIsolatedCollectionHelper = CMpMpxIsolatedCollectionHelper::NewL( this );
+        }   
+        iIsolatedCollectionHelper->OpenCollectionL( *cpath );
+        CleanupStack::PopAndDestroy( cpath );
+    }
+}
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoReorderPlaylistL( int playlistId, int songId, int originalOrdinal, int newOrdinal )
+{
+    iCollectionUiHelper->ReorderPlaylistL( playlistId, songId, originalOrdinal, newOrdinal, this );           
+}
+
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::DoHandleCollectionMessageL( 
     const CMPXMessage& aMsg )
 {
     TX_ENTRY
@@ -776,7 +832,7 @@
         TInt event( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralEvent ) );
         TInt type( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralType ) );
         TInt data( aMsg.ValueTObjectL<TInt>( KMPXMessageGeneralData ) );
-        TX_LOG_ARGS("event=" << event << ", type=" << type << ", data=" << data);
+        TX_LOG_ARGS( "event=" << event << ", type=" << type << ", data=" << data );
 
         if ( event == TMPXCollectionMessage::EPathChanged &&
              type == EMcPathChangedByOpen &&
@@ -791,56 +847,25 @@
             // This will result in HandleOpenL with CMPXCollectionPlaylist
             iCollectionUtility->Collection().OpenL();
         }
-
-        if ( event == TMPXCollectionMessage::EBroadcastEvent ) {
-            switch (type) {
-                case EMcMsgRefreshStart:
-                    emit q_ptr->scanStarted();
-                    break;
-                case EMcMsgRefreshEnd:
-                case EMcMsgDiskInserted:
-                    emit q_ptr->scanEnded();
-                    break;
-                default:
-                    break;
-            }
-        }
-    }
-    else if( KMPXMessageIdItemChanged == id ) {
-        if ( aMsg.IsSupported(KMPXMessageArrayContents) ) {
-            // Loop through messages for arrays
-            const CMPXMessageArray* messageArray =
-                        aMsg.Value<CMPXMessageArray>(KMPXMessageArrayContents);
-            User::LeaveIfNull(const_cast<CMPXMessageArray*>(messageArray));
-
-            for ( TInt i=0; i<messageArray->Count(); ++i ) {
-                  HandleCollectionMessage( messageArray->AtL( i ), KErrNone );
-            }
-            emit q_ptr->scanCountChanged(iNumItemsAdded);
-        }
-        else {
-            // Single item
-            TMPXChangeEventType changeType( aMsg.ValueTObjectL<TMPXChangeEventType>( KMPXMessageChangeEventType ) );
-            TMPXGeneralCategory cat(aMsg.ValueTObjectL<TMPXGeneralCategory>(KMPXMessageMediaGeneralCategory));
-            if( changeType == EMPXItemInserted &&
-                (cat == EMPXSong || cat == EMPXPlaylist || cat == EMPXPodcast) ) {
-                iNumItemsAdded++;
-            }
-        }
     }
     TX_EXIT
 }
 
-void MpMpxFrameworkWrapperPrivate::PreparePlaylistMediaL(
-    CMPXMedia& aMedia,
-    QList<int> selection )
+
+/*!
+ \internal
+ */
+void MpMpxFrameworkWrapperPrivate::PreparePlaylistMediaL( 
+        CMPXMedia& aMedia,
+        QList<int> &selection,
+        MpMpxCollectionData *collectionData )
 {
     int count = selection.count();
-    TX_ENTRY_ARGS("selection count=" << count);
+    TX_ENTRY_ARGS( "selection count=" << count );
 
-    const CMPXMedia& container = iCollectionData->containerMedia();
+    const CMPXMedia& container = collectionData->containerMedia();
     const CMPXMediaArray* containerArray = container.Value<CMPXMediaArray>( KMPXMediaArrayContents );
-    User::LeaveIfNull( const_cast<CMPXMediaArray*>( containerArray ));
+    User::LeaveIfNull( const_cast<CMPXMediaArray*>( containerArray ) );
     CMPXMediaArray* tracksArray( CMPXMediaArray::NewL() );
     CleanupStack::PushL( tracksArray );
 
@@ -849,12 +874,12 @@
     TMPXItemId collectionId( path->Id( 0 ) );
     CleanupStack::PopAndDestroy( path );
 
-    if ( iCollectionData->context() == ECollectionContextArtistAlbums ) {
+    if ( collectionData->context() == ECollectionContextAlbums ) {
         for ( TInt i = 0; i < count; i++ ) {
             CMPXMedia* results;
             CMPXMedia* album( containerArray->AtL( selection[i] ) );
             // Fetch the songs for the selected album
-            TMPXItemId albumId = album->ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId);
+            TMPXItemId albumId = album->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId );
             CMPXMedia* findCriteria = CMPXMedia::NewL();
             CleanupStack::PushL( findCriteria );
             findCriteria->SetTObjectValueL<TMPXGeneralType>( KMPXMediaGeneralType, EMPXGroup );
@@ -866,26 +891,26 @@
                                          EMPXMediaGeneralTitle |
                                          EMPXMediaGeneralId ) );
             attrs.Append( KMPXMediaMusicAlbumTrack );
-            results = iCollectionUtility->Collection().FindAllL( *findCriteria, attrs.Array());
+            results = iCollectionUtility->Collection().FindAllL( *findCriteria, attrs.Array() );
             CleanupStack::PopAndDestroy( &attrs );
             CleanupStack::PopAndDestroy( findCriteria );
             CleanupStack::PushL( results );
             
             const CMPXMediaArray* resultsArray = results->Value<CMPXMediaArray>( KMPXMediaArrayContents );
             User::LeaveIfNull( resultsArray );
-            for (int j = 0 ; j < resultsArray->Count();j++) {
-                CMPXMedia* media( resultsArray->AtL(j) );
+            for ( int j = 0 ; j < resultsArray->Count();j++ ) {
+                CMPXMedia* media( resultsArray->AtL( j ) );
                 CMPXMedia* entry = CMPXMedia::NewL();
                 CleanupStack::PushL( entry );
                 entry->SetTextValueL( KMPXMediaGeneralTitle,
                     media->ValueText( KMPXMediaGeneralTitle ) );
-                entry->SetTObjectValueL( KMPXMediaGeneralType, EMPXItem);
+                entry->SetTObjectValueL( KMPXMediaGeneralType, EMPXItem );
                 entry->SetTObjectValueL( KMPXMediaGeneralCategory, EMPXSong );
                 entry->SetTObjectValueL( KMPXMediaGeneralId,
                     media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
                 entry->SetTObjectValueL( KMPXMediaGeneralCollectionId, collectionId );
+                CleanupStack::Pop( entry );
                 tracksArray->AppendL( entry );
-                CleanupStack::Pop( entry );
             }
             CleanupStack::PopAndDestroy( results );
         }
@@ -893,18 +918,18 @@
     }
     else {   
         for ( TInt i = 0; i < count; i++ ) {
-            CMPXMedia* media( containerArray->AtL(selection.at(i)) );
+            CMPXMedia* media( containerArray->AtL( selection.at( i ) ) );
             CMPXMedia* entry = CMPXMedia::NewL();
             CleanupStack::PushL( entry );
             entry->SetTextValueL( KMPXMediaGeneralTitle,
                 media->ValueText( KMPXMediaGeneralTitle ) );
-            entry->SetTObjectValueL( KMPXMediaGeneralType, EMPXItem);
+            entry->SetTObjectValueL( KMPXMediaGeneralType, EMPXItem );
             entry->SetTObjectValueL( KMPXMediaGeneralCategory, EMPXSong );
             entry->SetTObjectValueL( KMPXMediaGeneralId,
                 media->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ) );
             entry->SetTObjectValueL( KMPXMediaGeneralCollectionId, collectionId );
+            CleanupStack::Pop( entry );
             tracksArray->AppendL( entry );
-            CleanupStack::Pop( entry );
         }
     }
     aMedia.SetTObjectValueL<TMPXGeneralType>( KMPXMediaGeneralType, EMPXItem );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/src/mpmpxisolatedcollectionhelper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,169 @@
+/*
+* 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: isolated collection helper.
+*
+*/
+
+
+#include <mpxcollectionhelperfactory.h>
+#include <mpxcollectionuihelper.h>
+#include <mpxcollectionopenutility.h>
+
+#include "mpmpxisolatedcollectionhelper.h"
+#include "mpxlog.h"
+
+
+
+const TInt KIncrementalDelayNone = 0;
+const TInt KIncrementalDelayHalfSecond = 1000000;
+const TInt KIncrementalFetchBlockSize = 20;
+const TInt KIncrementalNullOffset = 0;
+
+
+/*!
+    \class CMpMpxIsolatedCollectionHelper
+    \brief Helper class to open an isolated collection.
+
+    This is a helper class to open an insolated collection.
+*/
+
+/*!
+ \internal
+ Two-phased constructor.
+ */
+CMpMpxIsolatedCollectionHelper* CMpMpxIsolatedCollectionHelper::NewL( 
+        MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    {
+    CMpMpxIsolatedCollectionHelper* self = NewLC( aObserver );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+/*!
+ \internal
+ Two-phased constructor.
+ */
+CMpMpxIsolatedCollectionHelper* CMpMpxIsolatedCollectionHelper::NewLC( 
+        MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    {
+    CMpMpxIsolatedCollectionHelper* self =
+            new ( ELeave ) CMpMpxIsolatedCollectionHelper( aObserver );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+/*!
+ \internal
+ Destructor
+ */
+CMpMpxIsolatedCollectionHelper::~CMpMpxIsolatedCollectionHelper()
+    {
+    delete iIncrementalOpenUtil;
+    }
+    
+
+/*!
+ \internal
+ Opens an isolated collection with the /a path.
+ */
+void CMpMpxIsolatedCollectionHelper::OpenCollectionL( CMPXCollectionPath& aPath )
+    {
+    //Using incremental open to open the collection.
+    
+    // Cancel any reads
+    iIncrementalOpenUtil->Stop();
+
+    // Start the read
+    iFirstIncrementalOpen = ETrue;
+    RArray<TMPXAttribute> attrs;
+    CleanupClosePushL( attrs );
+    TArray<TMPXAttribute> ary = attrs.Array();
+    iIncrementalOpenUtil->SetDelay( KIncrementalDelayNone );
+    iIncrementalOpenUtil->StartL( aPath, ary, KIncrementalFetchBlockSize,
+                                  KIncrementalNullOffset, CMPXCollectionOpenUtility::EFetchNormal );
+    iIncrementalOpenUtil->SetDelay( KIncrementalDelayHalfSecond );
+    CleanupStack::PopAndDestroy( &attrs );
+    }
+
+/*!
+ \internal
+ c++ Contructor
+ */
+CMpMpxIsolatedCollectionHelper::CMpMpxIsolatedCollectionHelper( MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    : iObserver( aObserver ),
+      iIncrementalOpenUtil( 0 ),
+      iFirstIncrementalOpen( EFalse )
+    {
+    }
+
+/*!
+ \internal
+ Leaving constructor
+ */
+void CMpMpxIsolatedCollectionHelper::ConstructL()
+    {
+    iIncrementalOpenUtil = CMPXCollectionOpenUtility::NewL( this, KMcModeIsolated );
+
+    }
+
+
+/*!
+ \internal
+ reimp
+ */
+void CMpMpxIsolatedCollectionHelper::HandleOpenL( 
+    const CMPXMedia& aEntries,
+    TInt /*aIndex*/,
+    TBool /*aComplete*/,
+    TInt aError )
+    {
+    if ( iFirstIncrementalOpen )
+        {
+        iObserver->HandleIsolatedOpenL( aEntries, aError );
+        iFirstIncrementalOpen = EFalse;
+        }
+    }
+
+/*!
+ \internal
+  reimp
+ */
+void CMpMpxIsolatedCollectionHelper::HandleOpenL( 
+    const CMPXCollectionPlaylist& /*aPlaylist*/,
+    TInt /*aError*/ )
+    {
+    }
+
+/*!
+ \internal
+  reimp
+ */
+void CMpMpxIsolatedCollectionHelper::HandleCollectionMessage( 
+    CMPXMessage* /*aMsg*/,
+    TInt /*aErr*/ )
+    {
+    }
+
+/*!
+ \internal
+  reimp
+ */
+void CMpMpxIsolatedCollectionHelper::HandleCollectionMediaL( 
+    const CMPXMedia& /*aMedia*/,
+    TInt /*aError*/ )
+    {
+    }
+    
+//EOF
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/inc/unittest_mpcollectionalbumartmanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -19,9 +19,10 @@
 #define TESTMPCOLLECTIONALBUMARTMANAGER_H
 
 #include <QtTest/QtTest>
+#include <QIcon>
 
 class MpCollectionAlbumArtManager;
-class HbIcon;
+class MpMpxCollectionData;
 
 class TestMpCollectionAlbumArtManager : public QObject
 {
@@ -34,7 +35,7 @@
 
 signals:
 
-    void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error );
+    void thumbnailReady( QPixmap pixmap, void *data, int id, int error );
 
 public slots:
 
@@ -49,24 +50,22 @@
     void testAlbumArtNoCache();
     void testAlbumArtNoCacheQueue();
     void testAlbumArtCache();
+    void testAlbumArtNoUri();
     void testAlbumArtFail();
-    void testCacheAlbumArtEmpty();
-    void testCacheAlbumArt();
-    void testCacheAlbumArtCached();
-    void testCacheAlbumArtAllCached();
-    void testCacheAlbumArtFail();
+    void testCacheFirstScreenEmpty();
+    void testCacheFirstScreen();
+    void testCacheFirstScreenAllCached();
     void testCancel();
     void testThumbnailReadyCache();
     void testThumbnailReadyCacheError();
     void testThumbnailReadyAlbumArt();
     void testThumbnailReadyAlbumArtError();
-    void testThumbnailReadyAlbumArtQueue();
-    void testThumbnailReadyAlbumArtQueueError();
 
 private:
 
     MpCollectionAlbumArtManager *mTest;
-    HbIcon                      *mIcon;
+    MpMpxCollectionData         *mStubData;
+    QIcon                       mIcon;
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/src/unittest_mpcollectionalbumartmanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -22,19 +22,13 @@
 
 #include "unittest_mpcollectionalbumartmanager.h"
 #include "stub/inc/thumbnailmanager_qt.h"
+#include "stub/inc/mpmpxcollectiondata.h"
 
 // Do this so we can access all member variables.
 #define private public
 #include "mpcollectionalbumartmanager.h"
 #undef private
 
-// Max request defined in mpcollectionalbumartmanager.cpp
-const int KMaxThumbnailReq = 5;
-
-const char* ALBUM_URI_1 = "album1.mp3";
-const char* ALBUM_URI_2 = "album2.mp3";
-const char* ALBUM_URI_3 = "album3.mp3";
-
 /*!
  Make our test case a stand-alone executable that runs all the test functions.
  */
@@ -56,13 +50,15 @@
 }
 
 TestMpCollectionAlbumArtManager::TestMpCollectionAlbumArtManager()
-    : mTest(0)
+    : mTest(0),
+      mStubData(0)
 {
 }
 
 TestMpCollectionAlbumArtManager::~TestMpCollectionAlbumArtManager()
 {
     delete mTest;
+    delete mStubData;
 }
 
 /*!
@@ -70,8 +66,10 @@
  */
 void TestMpCollectionAlbumArtManager::initTestCase()
 {
+    mStubData = new MpMpxCollectionData();
+
     // Create an icon (any icon will do) to help with testing.
-    mIcon = new HbIcon( QString(":/icons/default_album.png"));
+    mIcon = QIcon(":/icons/default_album.png");
 }
 
 /*!
@@ -79,7 +77,6 @@
  */
 void TestMpCollectionAlbumArtManager::cleanupTestCase()
 {
-    delete mIcon;
 }
 
 /*!
@@ -87,7 +84,9 @@
  */
 void TestMpCollectionAlbumArtManager::init()
 {
-    mTest = new MpCollectionAlbumArtManager();
+    mTest = new MpCollectionAlbumArtManager(mStubData);
+    mStubData->mCount = 100;
+    mStubData->mItemDataReturn = true;
 }
 
 /*!
@@ -117,34 +116,31 @@
  */
 void TestMpCollectionAlbumArtManager::testAlbumArtNoCache()
 {
-    HbIcon icon = mTest->albumArt(ALBUM_URI_1, 1);
+    const QIcon* icon = mTest->albumArt(1);
     // Verify that:
-    // - It didn't return an icon
+    // - It returned default icon
     // - A request has been made to thumbnail manager
-    QVERIFY(icon.isNull() == true);
-    QCOMPARE(mTest->mRequestCount, 1);
-    QCOMPARE(mTest->mTnmReqMap.count(), 1);
+    QVERIFY(icon->isNull() == false);
+    QCOMPARE(mTest->mPendingRequest, true);
     QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 1);
 }
 
 /*!
  Tests albumArt() request when art is not in local cache.
- Request more than max to test request queue.
+ Request more than 1 to test request queue.
  */
 void TestMpCollectionAlbumArtManager::testAlbumArtNoCacheQueue()
 {
-    int max = KMaxThumbnailReq + 1;
-    for ( int i = 0; i < max; i++) {
-        HbIcon icon = mTest->albumArt(ALBUM_URI_1, i);
-        QVERIFY(icon.isNull() == true);
+    for ( int i = 0; i < 3; i++) {
+        const QIcon* icon = mTest->albumArt(i);
+        QVERIFY(icon->isNull() == false);
     }
     // Verify that:
     // - Max number of requests were sent to thumbnail manager
     // - A request has been queued
-    QCOMPARE(mTest->mRequestCount, KMaxThumbnailReq);
-    QCOMPARE(mTest->mTnmReqMap.count(), KMaxThumbnailReq);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, KMaxThumbnailReq);
-    QCOMPARE(mTest->mRequestQueue.count(), 1);
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
+    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 1);
 }
 
 /*!
@@ -152,164 +148,140 @@
  */
 void TestMpCollectionAlbumArtManager::testAlbumArtCache()
 {
-    mTest->mImageCache.insert(ALBUM_URI_1, *mIcon);
+    mTest->mImageCache.insert(0, new QIcon(mIcon));
 
-    HbIcon icon = mTest->albumArt(ALBUM_URI_1, 1);
+    const QIcon* icon = mTest->albumArt(0);
     // Verify that:
     // - A valid icon has been returned
     // - No request has been sent to thumbnail manager
-    QVERIFY(icon.isNull() == false);
-    QVERIFY(icon == *mIcon);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QVERIFY(icon->isNull() == false);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 0);
 }
 
 /*!
+ Tests albumArt() request when item doesn't have AlbumArtUri.
+ */
+void TestMpCollectionAlbumArtManager::testAlbumArtNoUri()
+{
+    mTest->mCollectionData->mItemDataReturn = false;
+    const QIcon* icon = mTest->albumArt(0);
+    // Verify that:
+    // - It returned default icon
+    // - There is no request pending from thumbnail manager
+    QVERIFY(icon->isNull() == false);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
+}
+
+/*!
  Tests albumArt() request when thumbnail request fails.
  */
 void TestMpCollectionAlbumArtManager::testAlbumArtFail()
 {
     mTest->mThumbnailManager->mGetThumbFails = true;
-    HbIcon icon = mTest->albumArt(ALBUM_URI_1, 1);
+    const QIcon* icon = mTest->albumArt(0);
     // Verify that:
-    // - It didn't return an icon
+    // - It returned default icon
     // - There is no request pending from thumbnail manager
-    QVERIFY(icon.isNull() == true);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QVERIFY(icon->isNull() == false);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
 }
 
 /*!
- Tests cacheAlbumArt() request with empty list.
+ Tests cacheFirstScreen() request with empty list.
  */
-void TestMpCollectionAlbumArtManager::testCacheAlbumArtEmpty()
+void TestMpCollectionAlbumArtManager::testCacheFirstScreenEmpty()
 {
-    bool cachingStarted = mTest->cacheAlbumArt(QStringList());
-    QCOMPARE(cachingStarted, false);
+    mTest->mCollectionData->mCount = 0;
+    mTest->cacheFirstScreen();
+    QCOMPARE(mTest->mPendingRequest, false);
     QCOMPARE(mTest->mCachingInProgress, false);
     QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 0);
 }
 
 /*!
- Tests cacheAlbumArt() request with 3 URIs.
+ Tests cacheFirstScreen() request with 1 item in the list.
  */
-void TestMpCollectionAlbumArtManager::testCacheAlbumArt()
+void TestMpCollectionAlbumArtManager::testCacheFirstScreen()
 {
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, true);
+    mTest->mCollectionData->mCount = 1;
+    mTest->cacheFirstScreen();
     QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mTnmReqMap.count(), 3);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 3);
-}
-
-/*!
- Tests cacheAlbumArt() request with one item already in local cache.
- */
-void TestMpCollectionAlbumArtManager::testCacheAlbumArtCached()
-{
-    mTest->mImageCache.insert(ALBUM_URI_1, *mIcon);
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, true);
-    QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mTnmReqMap.count(), 2);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 2);
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
+    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 1);
 }
 
 /*!
- Tests cacheAlbumArt() request with all items already in local cache.
+ Tests cacheFirstScreen() request with all items already in local cache.
  */
-void TestMpCollectionAlbumArtManager::testCacheAlbumArtAllCached()
+void TestMpCollectionAlbumArtManager::testCacheFirstScreenAllCached()
 {
-    mTest->mImageCache.insert(ALBUM_URI_1, *mIcon);
-    mTest->mImageCache.insert(ALBUM_URI_2, *mIcon);
-    mTest->mImageCache.insert(ALBUM_URI_3, *mIcon);
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, false);
-    QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    mTest->mCollectionData->mCount = 3;
+    mTest->mImageCache.insert(0, new QIcon(mIcon));
+    mTest->mImageCache.insert(1, new QIcon(mIcon));
+    mTest->mImageCache.insert(2, new QIcon(mIcon));
+    mTest->cacheFirstScreen();
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 0);
 }
 
 /*!
- Tests cacheAlbumArt() request when thumbnail request fails.
- */
-void TestMpCollectionAlbumArtManager::testCacheAlbumArtFail()
-{
-    mTest->mThumbnailManager->mGetThumbFails = true;
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, false);
-    QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
-}
-
-/*!
  Tests cancel() request.
  */
 void TestMpCollectionAlbumArtManager::testCancel()
 {
-    // First send enough requests to trigger max number of request to
-    // thumbnail manager and also queue the extra request.
-    int max = KMaxThumbnailReq + 1;
-    for ( int i = 0; i < max; i++) {
-        HbIcon icon = mTest->albumArt(ALBUM_URI_1, i);
-        QVERIFY(icon.isNull() == true);
+    // First send enough requests to trigger requests to be queued.
+    for ( int i = 0; i < 3; i++) {
+        const QIcon* icon = mTest->albumArt(i);
+        QVERIFY(icon->isNull() == false);
     }
-    QCOMPARE(mTest->mRequestCount, KMaxThumbnailReq);
-    QCOMPARE(mTest->mTnmReqMap.count(), KMaxThumbnailReq);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, KMaxThumbnailReq);
-    QCOMPARE(mTest->mRequestQueue.count(), 1);
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
+    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 1);
 
     // Verify that:
     // - All requests to thumbnail manager are cancelled
     // - Queue is emptied
     mTest->cancel();
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QCOMPARE(mTest->mPendingRequest, false);
     QCOMPARE(mTest->mRequestQueue.count(), 0);
-    QCOMPARE(mTest->mThumbnailManager->mCancelCounter, KMaxThumbnailReq);
+    QCOMPARE(mTest->mThumbnailManager->mCancelCounter, 1);
 }
 
 /*!
  Tests thumbnailReady() slot.
- Tests completion of cacheAlbumArt() request.
+ Tests completion of cacheFirstScreen() request.
  */
 void TestMpCollectionAlbumArtManager::testThumbnailReadyCache()
 {
     connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-    QSignalSpy spy(mTest, SIGNAL(albumCacheReady()));
+    QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
 
     // First send cacheAlbumArt() request with 3 items.
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, true);
+    mTest->mCollectionData->mCount = 3;
+    mTest->cacheFirstScreen();
     QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mTnmReqMap.count(), 3);
-
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 3);
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
 
     // Emit thumbnailReady() signal for each request. Then verify that:
-    // - Test object emitted signal albumCacheReady()
+    // - Test object emitted signal albumArtReady() for 3 items
     // - 3 items are present in local cache
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        emit thumbnailReady(mIcon->pixmap(), 0, reqId, 0);
+    for ( int i = 0; i < 3; i++ ) {
+        void *clientData = reinterpret_cast<void *>(i);
+        emit thumbnailReady(mIcon.pixmap(50,50), clientData, i+1, 0);
     }
-    QCOMPARE(spy.count(), 1);
+
+    QCOMPARE(spy.count(), 3);
     QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mImageCache.count(), 3);
     disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
@@ -317,36 +289,32 @@
 
 /*!
  Tests thumbnailReady() slot.
- Tests completion of cacheAlbumArt() request with error code returned.
+ Tests completion of cacheFirstScreen() request with error code returned.
  */
 void TestMpCollectionAlbumArtManager::testThumbnailReadyCacheError()
 {
     connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-    QSignalSpy spy(mTest, SIGNAL(albumCacheReady()));
+    QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
 
     // First send cacheAlbumArt() request with 3 items.
-    QStringList list;
-    list << ALBUM_URI_1 << ALBUM_URI_2 << ALBUM_URI_3;
-    bool cachingStarted = mTest->cacheAlbumArt(list);
-    QCOMPARE(cachingStarted, true);
+    mTest->mCollectionData->mCount = 3;
+    mTest->cacheFirstScreen();
     QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mTnmReqMap.count(), 3);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, 3);
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
 
     // Emit thumbnailReady() signal for each request with error. Then verify that:
-    // - Test object emitted signal albumCacheReady()
+    // - Test object doesn't emit signal albumArtReady()
     // - 0 item is present in local cache
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        emit thumbnailReady(mIcon->pixmap(), 0, reqId, -1);
+    for ( int i = 0; i < 3; i++ ) {
+        void *clientData = reinterpret_cast<void *>(i);
+        emit thumbnailReady(mIcon.pixmap(50,50), clientData, i+1, -1);
     }
-    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.count(), 0);
     QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mImageCache.count(), 0);
     disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
@@ -363,28 +331,23 @@
     QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
 
     // First send 3 albumArt() requests.
-    HbIcon icon = mTest->albumArt(ALBUM_URI_1, 1);
-    QVERIFY(icon.isNull() == true);
-    icon = mTest->albumArt(ALBUM_URI_2, 2);
-    QVERIFY(icon.isNull() == true);
-    icon = mTest->albumArt(ALBUM_URI_3, 3);
-    QVERIFY(icon.isNull() == true);
-    QCOMPARE(mTest->mRequestCount, 3);
-    QCOMPARE(mTest->mTnmReqMap.count(), 3);
+    for ( int i = 0; i < 3; i++) {
+        const QIcon* icon = mTest->albumArt(i);
+        QVERIFY(icon->isNull() == false);
+    }
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
 
     // Emit thumbnailReady() signal for each request. Then verify that:
     // - Test object emitted signal albumArtReady() 3 times
     // - 3 items are present in local cache
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        int *clientData = new int(reqId);
-        emit thumbnailReady(mIcon->pixmap(), clientData, reqId, 0);
+    for ( int i = 0; i < 3; i++ ) {
+        void *clientData = reinterpret_cast<void *>(i);
+        emit thumbnailReady(mIcon.pixmap(50,50), clientData, i+1, 0);
     }
     QCOMPARE(spy.count(), 3);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mImageCache.count(), 3);
     disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
@@ -402,107 +365,26 @@
     QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
 
     // First send 3 albumArt() requests.
-    HbIcon icon = mTest->albumArt(ALBUM_URI_1, 1);
-    QVERIFY(icon.isNull() == true);
-    icon = mTest->albumArt(ALBUM_URI_2, 2);
-    QVERIFY(icon.isNull() == true);
-    icon = mTest->albumArt(ALBUM_URI_3, 3);
-    QVERIFY(icon.isNull() == true);
-    QCOMPARE(mTest->mRequestCount, 3);
-    QCOMPARE(mTest->mTnmReqMap.count(), 3);
+    for ( int i = 0; i < 3; i++) {
+        const QIcon* icon = mTest->albumArt(i);
+        QVERIFY(icon->isNull() == false);
+    }
+    QCOMPARE(mTest->mPendingRequest, true);
+    QCOMPARE(mTest->mRequestQueue.count(), 2);
 
     // Emit thumbnailReady() signal for each request with error. Then verify that:
     // - Test object doesn't emitted signal albumArtReady()
     // - 0 items are present in local cache
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        int *clientData = new int(reqId);
-        emit thumbnailReady(mIcon->pixmap(), clientData, reqId, -1);
+    for ( int i = 0; i < 3; i++ ) {
+        void *clientData = reinterpret_cast<void *>(i);
+        emit thumbnailReady(mIcon.pixmap(50,50), clientData, i+1, -1);
     }
     QCOMPARE(spy.count(), 0);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
+    QCOMPARE(mTest->mPendingRequest, false);
+    QCOMPARE(mTest->mRequestQueue.count(), 0);
     QCOMPARE(mTest->mImageCache.count(), 0);
     disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
         mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
 }
 
-/*!
- Tests thumbnailReady() slot.
- Tests completion of albumArt() request with pending request in queue.
- */
-void TestMpCollectionAlbumArtManager::testThumbnailReadyAlbumArtQueue()
-{
-    connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
-        mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-    QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
-
-    // First send enough requests to trigger max number of request to
-    // thumbnail manager and also queue the extra request.
-    int max = KMaxThumbnailReq + 1;
-    for ( int i = 0; i < max; i++) {
-        HbIcon icon = mTest->albumArt(ALBUM_URI_1, i);
-        QVERIFY(icon.isNull() == true);
-    }
-    QCOMPARE(mTest->mRequestCount, KMaxThumbnailReq);
-
-    // Emit thumbnailReady() signal for each request. Then verify that:
-    // - Test object emitted signal albumArtReady() 5 times
-    // - The extra request in queue is sent to thumbnail manager
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        int *clientData = new int(reqId);
-        emit thumbnailReady(mIcon->pixmap(), clientData, reqId, 0);
-    }
-    QCOMPARE(spy.count(), KMaxThumbnailReq);
-    QCOMPARE(mTest->mRequestCount, 1);
-    QCOMPARE(mTest->mTnmReqMap.count(), 1);
-    QCOMPARE(mTest->mThumbnailManager->mThumbnailReqCounter, max);
-    disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
-        mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-}
-
-/*!
- Tests thumbnailReady() slot.
- Tests completion of albumArt() request with pending request in queue.
- Queue item's request for thumbnail fails.
- */
-void TestMpCollectionAlbumArtManager::testThumbnailReadyAlbumArtQueueError()
-{
-    connect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
-        mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-    QSignalSpy spy(mTest, SIGNAL(albumArtReady(int)));
-
-    // First send enough requests to trigger max number of request to
-    // thumbnail manager and also queue the extra request.
-    int max = KMaxThumbnailReq + 1;
-    for ( int i = 0; i < max; i++) {
-        HbIcon icon = mTest->albumArt(ALBUM_URI_1, i);
-        QVERIFY(icon.isNull() == true);
-    }
-    QCOMPARE(mTest->mRequestCount, KMaxThumbnailReq);
-
-    mTest->mThumbnailManager->mGetThumbFails = true;
-    // Emit thumbnailReady() signal for each request. Then verify that:
-    // - The extra request in queue is removed
-    // - There is no request pending from thumbnail manager
-    QMapIterator<int, QString> iter(mTest->mTnmReqMap);
-    while ( iter.hasNext() ) {
-        iter.next();
-        int reqId = iter.key();
-        int *clientData = new int(reqId);
-        emit thumbnailReady(mIcon->pixmap(), clientData, reqId, 0);
-    }
-    QCOMPARE(spy.count(), KMaxThumbnailReq);
-    QCOMPARE(mTest->mRequestCount, 0);
-    QCOMPARE(mTest->mTnmReqMap.count(), 0);
-    QCOMPARE(mTest->mRequestQueue.isEmpty(), true);
-    disconnect( this, SIGNAL(thumbnailReady(QPixmap, void *, int, int)),
-        mTest->mThumbnailManager, SIGNAL(thumbnailReady(QPixmap, void *, int, int)) );
-}
-
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/inc/mpmpxcollectiondata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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 <QObject>
+
+#include "mpmpxcollectionviewdefs.h"
+
+
+class MpMpxCollectionData : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    enum DataType {
+        Title,
+        Artist,
+        Count,
+        AlbumArtUri
+    };
+
+    // Stub functions
+    explicit MpMpxCollectionData( QObject *parent=0 );
+    virtual ~MpMpxCollectionData();
+
+    TCollectionContext context() const;
+    int count() const;
+    QString itemData( int index, MpMpxCollectionData::DataType type ) const;
+
+signals:
+
+    void contextChanged( TCollectionContext context );
+
+public:
+
+    TCollectionContext      mContext;
+    int                     mCount;
+    bool                    mItemDataReturn;
+
+};
+
+#endif // MPMPXCOLLECTIONDATA_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/src/mpmpxcollectiondata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpMpxCollectionData stub for testing MpCollectionDataModel
+*
+*/
+
+#include "mptrace.h"
+#include "stub/inc/mpmpxcollectiondata.h"
+
+/*!
+ Stub function.
+ */
+MpMpxCollectionData::MpMpxCollectionData( QObject *parent )
+    : QObject(parent),
+      mContext(ECollectionContextUnknown),
+      mCount(0),
+      mItemDataReturn(true)
+{
+}
+
+/*!
+ Stub function.
+ */
+MpMpxCollectionData::~MpMpxCollectionData()
+{
+}
+
+/*!
+ Stub function.
+ */
+TCollectionContext MpMpxCollectionData::context() const
+{
+    return mContext;
+}
+
+/*!
+ Stub function.
+ */
+int MpMpxCollectionData::count() const
+{
+    return mCount;
+}
+
+/*!
+ Stub function.
+ */
+QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const
+{
+    if ( index < 0 || index > mCount ) {
+        TX_LOG_ARGS("index=" << index);
+        qFatal("MpMpxCollectionData::itemData called with index out of range");
+    }
+    QString data;
+    if ( !mItemDataReturn && (type != MpMpxCollectionData::Count) ) {
+        return data;
+    }
+    switch ( type ) {
+        case MpMpxCollectionData::Title:
+            data = QString("Title");
+            break;
+        case MpMpxCollectionData::Artist:
+            data = QString("Artist");
+            break;
+        case MpMpxCollectionData::Count:
+            data = QString("Count");
+            break;
+        case MpMpxCollectionData::AlbumArtUri:
+            data = QString("AlbumArtUri");
+            break;
+        default:
+            qFatal("MpMpxCollectionData::itemData called with unknown type");
+            break;
+    }
+    return data;
+}
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/stub/src/thumbnailmanager_qt.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -93,14 +93,7 @@
 {
     Q_UNUSED(fileName);
     Q_UNUSED(priority);
-
-    if (clientData) {
-        // Delete this to prevent memory leak
-        int *data = (int *)clientData;
-        delete data;
-
-        data = 0;
-    }
+    Q_UNUSED(clientData);
 
     if ( mGetThumbFails ) {
         return -1;
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectionalbumartmanager/unittest_mpcollectionalbumartmanager.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -31,10 +31,12 @@
 
 HEADERS += inc/unittest_mpcollectionalbumartmanager.h \
            stub/inc/thumbnailmanager_qt.h \
+           stub/inc/mpmpxcollectiondata.h \
            ../../inc/mpcollectionalbumartmanager.h \
                
 SOURCES += src/unittest_mpcollectionalbumartmanager.cpp \
            stub/src/thumbnailmanager_qt.cpp \
+           stub/src/mpmpxcollectiondata.cpp \
            ../../src/mpcollectionalbumartmanager.cpp
 
 RESOURCES += ../../resources/mpcollectionviewresources.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/inc/unittest_mpcollectioncontainers.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* 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 mpcollectioncontainers
+*
+*/
+
+#ifndef TESTMPCOLLECTIONCONTAINERS_H
+#define TESTMPCOLLECTIONCONTAINERS_H
+
+#include <QtTest/QtTest>
+
+//Forward declarations
+class MpCollectionContainer;
+class MpCollectionContainerFactory;
+class MpCollectionDocumentLoader;
+class MpCollectionView;
+class MpMpxCollectionData;
+class MpCollectionDataModel;
+
+class TestMpCollectionContainers : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpCollectionContainers();
+    virtual ~TestMpCollectionContainers();
+
+signals:
+
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+
+    void testConstructors();
+    void testSetupContainers();
+    void testItemActivated();
+    void testOnLongPressed();
+    
+private:
+
+    MpCollectionContainer           *mTest;
+    MpCollectionView                *mView;
+    MpCollectionDataModel           *mCollectionDataModel;
+    MpMpxCollectionData             *mCollectionData;
+
+};
+
+#endif  // TESTMPCOLLECTIONCONTAINERS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/src/unittest_mpcollectioncontainers.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,344 @@
+/*
+* 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 mpcollectioncontainers
+*
+*/
+
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+#include <hbListView.h>
+#include <hbListViewItem.h>
+#include "mpcollectiondocumentloader.h"
+#include "stub/inc/mpcollectionview.h"
+#include "stub/inc/mpmpxcollectiondata.h"
+#include "stub/inc/mpcollectiondatamodel.h"
+
+#include "unittest_mpcollectioncontainers.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#define protected public
+#include "mpcollectioncontainerfactory.h"
+#include "mpcollectioncontainer.h"
+#include "mpcollectionlistcontainer.h"
+#include "mpcollectioncontainerallsongs.h"
+#include "mpcollectioncontaineralbums.h"
+#include "mpcollectioncontainerplaylists.h"
+#include "mpcollectioncontainergenres.h"
+#undef private
+#undef protected
+/*!
+ 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;
+    TestMpCollectionContainers tv;
+
+    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;
+}
+
+TestMpCollectionContainers::TestMpCollectionContainers()
+    : mTest(0),
+      mCollectionDataModel(0),
+      mCollectionData(0)
+{
+}
+
+TestMpCollectionContainers::~TestMpCollectionContainers()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpCollectionContainers::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpCollectionContainers::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpCollectionContainers::init()
+{
+    mView = new MpCollectionView();
+    mView->initializeView();
+    mCollectionData = new MpMpxCollectionData();
+    mCollectionDataModel = new MpCollectionDataModel(mCollectionData);
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpCollectionContainers::cleanup()
+{
+    delete mCollectionDataModel;
+    delete mCollectionData;
+    delete mView;
+}
+
+/*!
+ Test constructors
+ */
+void TestMpCollectionContainers::testConstructors()
+{
+    mTest = new MpCollectionContainerAllSongs(mView->mDocumentLoader);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+
+    delete mTest;
+    mTest = 0;
+    
+    mTest = new MpCollectionContainerAlbums(mView->mDocumentLoader);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+    
+    delete mTest;
+    mTest = 0;
+    
+    mTest = new MpCollectionContainerPlaylists(mView->mDocumentLoader);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+    
+    delete mTest;
+    mTest = 0;
+    
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs);
+   
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
+      
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mNoMusic == 0);
+    QCOMPARE(mTest->mCollectionContext,ECollectionContextUnknown);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);        
+}
+
+/*!
+ Test setupContainer via setDataModel 
+ */
+void TestMpCollectionContainers::testSetupContainers()
+{
+    mCollectionData->mCount = 1;
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList != 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mInfoBar != 0);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->itemRecycling(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->longPressEnabled(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
+    QCOMPARE(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
+    mCollectionData->mContext = ECollectionContextAlbums;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList != 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar == 0);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->itemRecycling(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->longPressEnabled(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
+    
+    mCollectionData->mContext = ECollectionContextAlbumSongs;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList != 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar != 0);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->itemRecycling(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->longPressEnabled(), true);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
+    QCOMPARE(static_cast<MpCollectionContainerAlbums*>(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
+    mCollectionData->mContext = ECollectionContextPlaylists;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList != 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar == 0);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->itemRecycling(), true);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->longPressEnabled(), true);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);
+    
+    mCollectionData->mContext = ECollectionContextPlaylistSongs;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList != 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar != 0);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->itemRecycling(), true);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->scrollingStyle(), HbListView::PanOrFlick);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->clampingStyle(), HbListView::BounceBackClamping);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->longPressEnabled(), true);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->verticalScrollBarPolicy(), HbScrollArea::ScrollBarAsNeeded);
+    QCOMPARE(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList->listItemPrototype()->graphicsSize(), HbListViewItem::Thumbnail);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);
+    
+    //No data
+    mTest = 0;
+    mCollectionData->mCount = 0;
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAllSongs*>(mTest)->mNoMusic != 0);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAllSongs);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
+    mCollectionData->mContext = ECollectionContextAlbums;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mNoMusic != 0);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
+    
+    mCollectionData->mContext = ECollectionContextAlbumSongs;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerAlbums*>(mTest)->mNoMusic != 0);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextAlbums);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
+    mCollectionData->mContext = ECollectionContextPlaylists;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mNoMusic != 0);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);
+    
+    mCollectionData->mContext = ECollectionContextPlaylistSongs;
+    mTest->setDataModel(mCollectionDataModel);
+    
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mList == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mInfoBar == 0);
+    QVERIFY(static_cast<MpCollectionContainerPlaylists*>(mTest)->mNoMusic != 0);
+    QCOMPARE(mView->mContainerFactory->mCurrentContext, ECollectionContextPlaylists);   
+}
+
+/*!
+ Test itemActivated
+ */
+void TestMpCollectionContainers::testItemActivated()
+{ 
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAllSongs);
+    
+    QSignalSpy spy(mTest, SIGNAL(itemActivated( int )));
+    static_cast<MpCollectionContainerAllSongs*>(mTest)->itemActivated(QModelIndex());
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy.at(0).at(0)), -1);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
+    QSignalSpy spy2(mTest, SIGNAL(itemActivated( int )));
+    static_cast<MpCollectionContainerAlbums*>(mTest)->itemActivated(QModelIndex());
+    QCOMPARE(spy2.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy2.at(0).at(0)), -1);
+   
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
+    QSignalSpy spy3(mTest, SIGNAL(itemActivated( int )));
+    static_cast<MpCollectionContainerPlaylists*>(mTest)->itemActivated(QModelIndex());
+    QCOMPARE(spy3.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy3.at(0).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<MpCollectionContainerAllSongs*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy.at(0).at(0)), -1);
+        
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextAlbums);
+    QSignalSpy spy2(mTest, SIGNAL(itemLongPressed( int, QPointF )));
+    static_cast<MpCollectionContainerAlbums*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
+    QCOMPARE(spy2.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy2.at(0).at(0)), -1);
+    
+    mTest = 0;   
+    mTest = mView->mContainerFactory->createContainer(ECollectionContextPlaylists);
+    QSignalSpy spy3(mTest, SIGNAL(itemLongPressed( int, QPointF )));
+    static_cast<MpCollectionContainerPlaylists*>(mTest)->onLongPressed(viewItem->listItemPrototype(), QPointF());
+    QCOMPARE(spy3.count(), 1);
+    QCOMPARE(qvariant_cast<int>(spy3.at(0).at(0)), -1);
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectiondatamodel.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player collection abstract data model stub for testing mpcollectioncontainers
+*
+*/
+
+#ifndef MPCOLLECTIONDATAMODEL_H
+#define MPCOLLECTIONDATAMODEL_H
+
+#include <QAbstractListModel>
+
+class MpMpxCollectionData;
+class MpCollectionAlbumArtManager;
+
+
+class MpCollectionDataModel : public QAbstractListModel
+{
+    Q_OBJECT
+
+public:
+
+    explicit MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent=0 );
+    virtual ~MpCollectionDataModel();
+
+    int rowCount(const QModelIndex &parent=QModelIndex()) const;
+    QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const;
+
+    void refreshModel();
+    MpMpxCollectionData *collectionData();
+
+
+public:
+
+    MpMpxCollectionData             *mCollectionData;
+	int                             mRowCount;
+    bool                            mCachingInProgress;
+
+};
+
+#endif // MPCOLLECTIONDATAMODEL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpcollectionview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player collection view stub for testing mpcollectioncontainers
+*
+*/
+
+#ifndef MPCOLLECTIONVIEW_H
+#define MPCOLLECTIONVIEW_H
+
+#include <QObject>
+
+#include <hbview.h>
+#include <hbeffect.h>
+
+#include "mpmpxcollectionviewdefs.h"
+#include "mpviewbase.h"
+#include <QGraphicsWidget>
+
+class QActionGroup;
+class HbMainWindow;
+class HbAction;
+class HbMenu;
+class HbToolBar;
+class MpCollectionDocumentLoader;
+class MpCollectionContainerFactory;
+class MpCollectionContainer;
+class MpCollectionDataModel;
+class MpMpxFrameworkWrapper;
+class MpMpxCollectionData;
+class MpNowPlayingWidget;
+class MpSnapshotWidget;
+class MpCollectionSongScanner;
+
+class MpCollectionView : public QGraphicsWidget
+{
+    Q_OBJECT
+
+public:
+
+    MpCollectionView();
+    virtual ~MpCollectionView();
+
+    void initializeView();
+
+
+public slots:
+   
+    void openIndex( int index );
+    void openContextMenu( int index, const QPointF &coords );
+
+public:
+
+    TCollectionContext              mCollectionContext;
+
+    MpMpxFrameworkWrapper           *mMpxWrapper;           // Own
+    MpMpxCollectionData             *mCollectionData;       // Not own
+
+    MpCollectionContainerFactory    *mContainerFactory;     // Own
+    MpCollectionContainer           *mCollectionContainer;  // Not own
+    MpCollectionDataModel           *mCollectionDataModel;  // Own
+
+    bool                            mActivated;
+    MpNowPlayingWidget              *mNowPlayingBanner;     // Own
+    bool                            mBannerAttached;
+    bool                            mEffectOnGoing;
+
+    HbMainWindow                    *mWindow;               // Not own
+    HbAction                        *mSoftKeyQuit;          // Not own
+    HbAction                        *mSoftKeyBack;          // Not own
+
+    MpCollectionDocumentLoader      *mDocumentLoader;       // Own
+    HbWidget                        *mMainContainer;        // Own
+
+    HbToolBar                       *mMainToolBar;
+    HbToolBar                       *mPlaylistToolBar;
+
+    MpSnapshotWidget                *mSnapshot;
+    MpCollectionSongScanner         *mSongScanner;          // Own
+    bool                            mScanning;
+
+};
+
+#endif  // MPCOLLECTIONVIEW_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/inc/mpmpxcollectiondata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,63 @@
+/*
+* 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 mpcollectioncontainers
+*
+*/
+
+#ifndef MPMPXCOLLECTIONDATA_H
+#define MPMPXCOLLECTIONDATA_H
+
+#include "mpmpxcollectionviewdefs.h"
+
+class CMPXMedia;
+ 
+
+class MpMpxCollectionData 
+{
+
+public:
+
+    enum DataType {
+        Title,
+        Uri,
+        Duration,
+        Count,
+        Artist,
+        Album,
+        Genre,
+        Rating,
+        AlbumArtUri
+    };
+
+    // Stub functions
+     MpMpxCollectionData();
+    ~MpMpxCollectionData();
+
+    TCollectionContext context();
+    QString itemData( int index, MpMpxCollectionData::DataType type ) const;
+
+    void setMpxMedia( const CMPXMedia& entries );
+    const CMPXMedia& containerMedia();
+    int count() const;
+    QString collectionTitle() const;
+
+public:
+    CMPXMedia               *mContainerMedia;
+    TBool                   mMediaSet;
+    TCollectionContext      mContext;
+    int                     mCount;
+};
+
+#endif // MPMPXCOLLECTIONDATA_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectiondatamodel.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* 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 data model stub for testing mpcollectioncontainers.
+*
+*/
+
+
+#include "stub/inc/mpcollectiondatamodel.h"
+#include "stub/inc/mpmpxcollectiondata.h"
+#include "mptrace.h"
+
+
+/*!
+ Stub function
+ */
+MpCollectionDataModel::MpCollectionDataModel( MpMpxCollectionData *data, QObject *parent )
+    : QAbstractListModel(parent),
+      mCollectionData(data)
+{
+    TX_ENTRY
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+MpCollectionDataModel::~MpCollectionDataModel()
+{
+    TX_ENTRY
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+int MpCollectionDataModel::rowCount( const QModelIndex &parent ) const
+{
+    TX_LOG
+    Q_UNUSED(parent);
+    if ( mCachingInProgress ) {
+        return 0;
+    }
+    else {
+        return mRowCount;
+    }
+}
+
+/*!
+ Stub function
+ */
+QVariant MpCollectionDataModel::data(const QModelIndex &index, int role) const
+{
+    TX_ENTRY
+    Q_UNUSED(index);
+    Q_UNUSED(role);
+    QVariant returnValue = QVariant();
+    return returnValue;
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+void MpCollectionDataModel::refreshModel()
+{
+    TX_ENTRY
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+MpMpxCollectionData *MpCollectionDataModel::collectionData()
+{
+    return mCollectionData;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpcollectionview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* 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 view stub for testing mpcollectioncontainers
+*
+*/
+
+// INCLUDE FILES
+
+#include <cstdlib>
+#include <qtcore>
+
+#include "stub/inc/mpcollectionview.h"
+#include "mpcollectiondocumentloader.h"
+#include "mpcollectioncontainerfactory.h"
+
+#include "mptrace.h"
+
+
+
+const char*MUSIC_COLLECTION_DOCML = ":/docml/musiccollection.docml";
+
+
+/*!
+ Stub function
+ */
+MpCollectionView::MpCollectionView()
+    : mContainerFactory(0),
+      mDocumentLoader(0)      
+{
+    TX_LOG
+}
+
+/*!
+ Stub function
+ */
+MpCollectionView::~MpCollectionView()
+{
+    TX_ENTRY
+    delete mContainerFactory;
+    delete mDocumentLoader;
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+void MpCollectionView::initializeView()
+{
+    TX_ENTRY
+
+    mDocumentLoader = new MpCollectionDocumentLoader();
+    bool ok = false;
+    mDocumentLoader->load( MUSIC_COLLECTION_DOCML, &ok );
+    mContainerFactory = new MpCollectionContainerFactory(this, mDocumentLoader);
+
+    TX_EXIT
+}
+
+/*!
+ Stub function
+ */
+void MpCollectionView::openIndex( int index )
+{
+    Q_UNUSED(index);
+}
+
+/*!
+ Stub function
+ */
+void MpCollectionView::openContextMenu( int index, const QPointF &coords )
+{
+    Q_UNUSED(index);
+    Q_UNUSED(coords);
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/stub/src/mpmpxcollectiondata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpMpxCollectionData stub for testing mpcollectioncontainers
+*
+*/
+
+#include "mptrace.h"
+#include "stub/inc/mpmpxcollectiondata.h"
+#include <mpxmedia.h>
+
+
+/*!
+ Stub function.
+ */
+MpMpxCollectionData::MpMpxCollectionData()
+    :mContainerMedia(0),
+    mMediaSet(EFalse),
+    mContext (ECollectionContextUnknown)
+{   
+}
+
+/*!
+ Stub function.
+*/
+MpMpxCollectionData::~MpMpxCollectionData()
+{   
+}
+
+/*!
+ Stub function.
+*/
+TCollectionContext MpMpxCollectionData::context()
+{
+    return mContext;
+}
+
+/*!
+ Stub function.
+*/
+QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const
+{
+    Q_UNUSED(index);
+    if ( type == MpMpxCollectionData::Uri ) {
+        return QString("Uri");
+    }
+    else {
+        return QString();
+    }
+}
+/*!
+ Stub function.
+*/
+void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries )
+{
+    delete mContainerMedia;
+    mContainerMedia = 0;
+    mContainerMedia = CMPXMedia::NewL(entries);
+    mMediaSet = ETrue;
+}
+
+/*!
+ Stub function.
+*/
+const CMPXMedia& MpMpxCollectionData::containerMedia()
+{
+    return *mContainerMedia;
+}
+
+/*!
+ Stub function.
+ */
+int MpMpxCollectionData::count() const
+{
+    return mCount;
+}
+
+/*!
+ Stub function.
+ */
+QString MpMpxCollectionData::collectionTitle() const
+{
+    QString title("Title");
+    return title;
+}
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioncontainers/unittest_mpcollectioncontainers.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+TARGET = 
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+    stub/inc \
+    ../../../../inc
+
+    
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
+
+LIBS += -lestor.dll \
+    	-lmpnowplayingbanner.dll
+
+
+HEADERS += inc/unittest_mpcollectioncontainers.h \
+           ../../inc/mpcollectioncontainerfactory.h \
+           ../../inc/mpcollectioncontainer.h \
+           ../../inc/mpcollectionlistcontainer.h \
+           ../../inc/mpcollectioncontainerallsongs.h \
+           ../../inc/mpcollectioncontaineralbums.h \
+           ../../inc/mpcollectioncontainerplaylists.h \
+           ../../inc/mpcollectioncontainergenres.h \
+           ../../inc/mpcollectiondocumentloader.h \
+           stub/inc/mpcollectiondatamodel.h \
+           stub/inc/mpmpxcollectiondata.h \
+           stub/inc/mpcollectionview.h
+               
+SOURCES += src/unittest_mpcollectioncontainers.cpp \
+           ../../src/mpcollectioncontainerfactory.cpp \
+           ../../src/mpcollectioncontainer.cpp \
+           ../../src/mpcollectionlistcontainer.cpp \
+           ../../src/mpcollectioncontainerallsongs.cpp \
+           ../../src/mpcollectioncontaineralbums.cpp \
+           ../../src/mpcollectioncontainerplaylists.cpp \
+           ../../src/mpcollectioncontainergenres.cpp \ 
+           ../../src/mpcollectiondocumentloader.cpp \
+           stub/src/mpcollectiondatamodel.cpp \
+           stub/src/mpmpxcollectiondata.cpp \
+           stub/src/mpcollectionview.cpp 
+           
+RESOURCES += ../../resources/mpcollectionviewresources.qrc
\ No newline at end of file
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/inc/unittest_mpcollectiondatamodel.h	Fri Apr 16 14:56:30 2010 +0300
@@ -20,6 +20,7 @@
 
 #include <QtTest/QtTest>
 
+class QTranslator;
 class MpCollectionDataModel;
 class MpMpxCollectionData;
 class TestHelper;
@@ -48,15 +49,13 @@
 private slots:
 
     void testMemberCleanup();
+    void testRefreshModel();
     void testRefreshModelZeroCount();
-    void testRefreshModelLargeData();
-    void testRefreshModelSmallData();
-    void testRefreshModelNoAlbumArtUri();
     void testCollectionData();
     void testDataAllSongs();
     void testDataAllSongsNoData();
-    void testDataArtistAlbums();
-    void testDataArtistAlbumsNoData();
+    void testDataAlbums();
+    void testDataAlbumsNoData();
     void testDataAlbumSongs();
     void testDataAlbumSongsNoData();
     void testDataPlaylists();
@@ -65,13 +64,13 @@
     void testDataPlaylistSongsNoData();
     void testDataAnyOtherRole();
     void testUpdateAlbumArt();
-    void testAlbumCacheReady();
 
 private:
 
     MpCollectionDataModel   *mTest;
     TestHelper              *mHelper;
     MpMpxCollectionData     *mStubData;
+    QTranslator             *mMpTranslator; // Own
 
 };
 
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/src/unittest_mpcollectiondatamodel.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -18,6 +18,9 @@
 #include <QAbstractItemModel>
 #include <QSignalSpy>
 #include <QMetaType>
+#include <QTranslator>
+#include <QLocale>
+
 #include <hbapplication.h>
 #include <hbmainwindow.h>
 #include <hbicon.h>
@@ -58,7 +61,8 @@
 TestMpCollectionDataModel::TestMpCollectionDataModel()
     : mTest(0),
       mHelper(0),
-      mStubData(0)
+      mStubData(0),
+      mMpTranslator(0)
 {
 }
 
@@ -67,6 +71,7 @@
     delete mTest;
     delete mHelper;
     delete mStubData;
+    delete mMpTranslator;
 }
 
 /*!
@@ -74,6 +79,16 @@
  */
 void TestMpCollectionDataModel::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();
 }
@@ -123,6 +138,21 @@
 }
 
 /*!
+ Tests refreshModel() request.
+ */
+void TestMpCollectionDataModel::testRefreshModel()
+{
+    mTest->mCollectionData->mCount = 100;
+    mTest->mCollectionData->mContext = ECollectionContextAlbums;
+    mTest->refreshModel();
+    // Verify that:
+    // - It sets correct row count
+    QCOMPARE(mTest->mRowCount, 100);
+    QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 1);
+    // Stub QAbstractListModel to verify call to reset()
+}
+
+/*!
  Tests refreshModel() request with empty data model.
  */
 void TestMpCollectionDataModel::testRefreshModelZeroCount()
@@ -131,72 +161,7 @@
     mTest->refreshModel();
     // Verify that:
     // - It sets correct row count
-    // - It doesn't attempt to cache initial set of album art
     QCOMPARE(mTest->mRowCount, 0);
-    QCOMPARE(MpMpxCollectionData::getItemDataCounter(), 0);
-    QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 0);
-    // AK - Stub QAbstractListModel to verify call to reset()
-}
-
-/*!
- Tests refreshModel() request with large data size.
- */
-void TestMpCollectionDataModel::testRefreshModelLargeData()
-{
-    mTest->mCollectionData->mCount = 100;
-    mTest->mCollectionData->mContext = ECollectionContextArtistAlbums;
-    mTest->refreshModel();
-    // Verify that:
-    // - It sets correct row count
-    // - It caches the initial cache size
-    QCOMPARE(mTest->mRowCount, 100);
-    QCOMPARE(MpMpxCollectionData::getItemDataCounter(), KInitCacheSize);
-    QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 1);
-
-    // Verify that:
-    // - rowCount returns 0 when caching is in progress
-    QCOMPARE(mTest->rowCount(QModelIndex()), 0);
-}
-
-/*!
- Tests refreshModel() request with small data size.
- */
-void TestMpCollectionDataModel::testRefreshModelSmallData()
-{
-    mTest->mCollectionData->mCount = 3;
-    mTest->mCollectionData->mContext = ECollectionContextArtistAlbums;
-    mTest->refreshModel();
-    // Verify that:
-    // - It sets correct row count
-    // - It caches all data
-    QCOMPARE(mTest->mRowCount, 3);
-    QCOMPARE(MpMpxCollectionData::getItemDataCounter(), 3);
-    QCOMPARE(mTest->mCachingInProgress, true);
-    QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 1);
-}
-
-/*!
- Tests refreshModel() request with data that has no album art.
- */
-void TestMpCollectionDataModel::testRefreshModelNoAlbumArtUri()
-{
-    mTest->mCollectionData->mCount = 100;
-    mTest->mCollectionData->mItemDataReturn = false;
-    mTest->mCollectionData->mContext = ECollectionContextArtistAlbums;
-    mTest->refreshModel();
-    // Verify that:
-    // - It sets correct row count
-    // - Caching is not in progress
-    QCOMPARE(mTest->mRowCount, 100);
-    QCOMPARE(MpMpxCollectionData::getItemDataCounter(), KInitCacheSize);
-    QCOMPARE(mTest->mCachingInProgress, false);
-    QCOMPARE(mTest->mAlbumArtManager->mCacheAlbumArtCount, 1);
-
-    // Verify that:
-    // - rowCount returns actual data size when caching is not in progress
-    QCOMPARE(mTest->rowCount(QModelIndex()), 100);
 }
 
 /*!
@@ -248,8 +213,8 @@
     QCOMPARE(data.canConvert(QVariant::StringList), true);
     QStringList dataList = data.toStringList();
     QCOMPARE(dataList.count(), 2);
-    QCOMPARE(dataList.at(0), QString("Unknown"));
-    QCOMPARE(dataList.at(1), QString("Unknown"));
+    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);
@@ -257,13 +222,13 @@
 }
 
 /*!
- Tests data() request for ArtistAlbums context.
+ Tests data() request for Albums context.
  */
-void TestMpCollectionDataModel::testDataArtistAlbums()
+void TestMpCollectionDataModel::testDataAlbums()
 {
     mTest->mCollectionData->mCount = 100;
     mTest->mRowCount = 100;
-    mTest->mCollectionData->mContext = ECollectionContextArtistAlbums;
+    mTest->mCollectionData->mContext = ECollectionContextAlbums;
 
     QModelIndex modelIndex = mHelper->indexFor(1);
 
@@ -273,24 +238,21 @@
     QStringList dataList = data.toStringList();
     QCOMPARE(dataList.count(), 2);
     QCOMPARE(dataList.at(0), QString("Title"));
-    // AK - Second data will eventually change to "Album"
     QCOMPARE(dataList.at(1), QString("Artist"));
 
     // Qt::DecorationRole
     data = mTest->data(modelIndex, Qt::DecorationRole);
-    QCOMPARE(data.userType(), QMetaType::type("HbIcon"));
-    HbIcon icon = data.value<HbIcon>();
-    QCOMPARE(icon.iconName(), QString(":/icons/artists"));
+    QCOMPARE(data.userType(), QMetaType::type("QIcon"));
 }
 
 /*!
- Tests data() request for ArtistAlbums context with no data available.
+ Tests data() request for Albums context with no data available.
  */
-void TestMpCollectionDataModel::testDataArtistAlbumsNoData()
+void TestMpCollectionDataModel::testDataAlbumsNoData()
 {
     mTest->mCollectionData->mCount = 100;
     mTest->mRowCount = 100;
-    mTest->mCollectionData->mContext = ECollectionContextArtistAlbums;
+    mTest->mCollectionData->mContext = ECollectionContextAlbums;
     mTest->mCollectionData->mItemDataReturn = false;
 
     QModelIndex modelIndex = mHelper->indexFor(1);
@@ -300,14 +262,12 @@
     QCOMPARE(data.canConvert(QVariant::StringList), true);
     QStringList dataList = data.toStringList();
     QCOMPARE(dataList.count(), 2);
-    QCOMPARE(dataList.at(0), QString("Unknown"));
-    QCOMPARE(dataList.at(1), QString("Unknown"));
+    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("HbIcon"));
-    HbIcon icon = data.value<HbIcon>();
-    QCOMPARE(icon.iconName(), QString(":/icons/default_album.png"));
+    QCOMPARE(data.userType(), QMetaType::type("QIcon"));
 }
 
 /*!
@@ -350,7 +310,7 @@
     QCOMPARE(data.canConvert(QVariant::StringList), true);
     QStringList dataList = data.toStringList();
     QCOMPARE(dataList.count(), 1);
-    QCOMPARE(dataList.at(0), QString("Unknown"));
+    QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4"));
 }
 
 /*!
@@ -368,9 +328,8 @@
     QVariant data = mTest->data(modelIndex, Qt::DisplayRole);
     QCOMPARE(data.canConvert(QVariant::StringList), true);
     QStringList dataList = data.toStringList();
-    QCOMPARE(dataList.count(), 2);
+    QCOMPARE(dataList.count(), 1);
     QCOMPARE(dataList.at(0), QString("Title"));
-    QCOMPARE(dataList.at(1), QString("Count"));
 
     // Qt::DecorationRole
     data = mTest->data(modelIndex, Qt::DecorationRole);
@@ -393,9 +352,8 @@
     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("Unknown"));
-    QCOMPARE(dataList.at(1), QString("Count"));
+    QCOMPARE(dataList.count(), 1);
+    QCOMPARE(dataList.at(0), hbTrId("txt_mus_other_unknown4"));
 }
 
 /*!
@@ -439,8 +397,8 @@
     QCOMPARE(data.canConvert(QVariant::StringList), true);
     QStringList dataList = data.toStringList();
     QCOMPARE(dataList.count(), 2);
-    QCOMPARE(dataList.at(0), QString("Unknown"));
-    QCOMPARE(dataList.at(1), QString("Unknown"));
+    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);
@@ -482,20 +440,4 @@
         mTest->mAlbumArtManager, SIGNAL(albumArtReady(int)) );
 }
 
-/*!
- Tests albumCacheReady() slot.
- */
-void TestMpCollectionDataModel::testAlbumCacheReady()
-{
-    connect( this, SIGNAL(albumCacheReady()),
-        mTest->mAlbumArtManager, SIGNAL(albumCacheReady()) );
-    mTest->mCachingInProgress = true;
-
-    emit albumCacheReady();
-    QCOMPARE(mTest->mCachingInProgress, false);
-
-    disconnect( this, SIGNAL(albumCacheReady()),
-        mTest->mAlbumArtManager, SIGNAL(albumCacheReady()) );
-}
-
 // End of file
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/inc/mpcollectionalbumartmanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -20,8 +20,9 @@
 #define MPCOLLECTIONALBUMARTMANAGER_H
 
 #include <QObject>
+#include <QIcon>
 
-class HbIcon;
+class MpMpxCollectionData;
 
 class MpCollectionAlbumArtManager : public QObject
 {
@@ -34,22 +35,20 @@
     static void resetInitCounter();
 
     // Stub functions
-    explicit MpCollectionAlbumArtManager( QObject *parent=0 );
+    explicit MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent=0 );
     virtual ~MpCollectionAlbumArtManager();
-    HbIcon albumArt( const QString &albumArtUri, int index );
-    bool cacheAlbumArt( const QStringList albumArtList );
+
+    const QIcon* albumArt( int index );
+    void cacheFirstScreen();
     void cancel();
 
 signals:
 
     void albumArtReady( int index );
-    void albumCacheReady();
 
 public:
 
-    HbIcon      *mIcon;
-    bool        mAlbumArtReturn;
-    bool        mCacheAlbumArtReturn;
+    QIcon       *mIcon;
     int         mAlbumArtCount;
     int         mCacheAlbumArtCount;
 
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondatamodel/stub/src/mpcollectionalbumartmanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -18,7 +18,6 @@
 *
 */
 
-#include <hbicon.h>
 #include "stub/inc/mpcollectionalbumartmanager.h"
 
 int gAlbumInitCounter = 0;
@@ -43,16 +42,15 @@
 /*!
  Stub function.
  */
-MpCollectionAlbumArtManager::MpCollectionAlbumArtManager( QObject *parent )
+MpCollectionAlbumArtManager::MpCollectionAlbumArtManager( MpMpxCollectionData *data, QObject *parent )
     : QObject(parent),
       mIcon(0),
-      mAlbumArtReturn(true),
-      mCacheAlbumArtReturn(true),
       mAlbumArtCount(0),
       mCacheAlbumArtCount(0)
 {
+    Q_UNUSED(data);
     gAlbumInitCounter++;
-    mIcon = new HbIcon(QString(":/icons/artists"));
+    mIcon = new QIcon(":/icons/default_album.png");
 }
 
 /*!
@@ -67,28 +65,19 @@
 /*!
  Stub function.
  */
-HbIcon MpCollectionAlbumArtManager::albumArt( const QString& albumArtUri, int index )
+const QIcon* MpCollectionAlbumArtManager::albumArt( int index )
 {
-    Q_UNUSED(albumArtUri);
     Q_UNUSED(index);
     mAlbumArtCount++;
-    HbIcon icon;
-    if ( mAlbumArtReturn ) {
-        return *mIcon;
-    }
-    return icon;
+    return mIcon;
 }
 
 /*!
  Stub function.
  */
-bool MpCollectionAlbumArtManager::cacheAlbumArt( const QStringList albumArtList )
+void MpCollectionAlbumArtManager::cacheFirstScreen()
 {
     mCacheAlbumArtCount++;
-    if ( albumArtList.empty() ) {
-        return false;
-    }
-    return mCacheAlbumArtReturn;
 }
 
 /*!
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/inc/unittest_mpcollectiondocumentloader.h	Fri Apr 16 14:56:30 2010 +0300
@@ -42,9 +42,8 @@
 
 private slots:
     void testCreateMpNowPlayingWidget();
-    void testCreateMpCollectionInfoBar();
     void testCreateQObject();
-    
+
 private:
 
     MpCollectionDocumentLoader          *mTest;
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/src/unittest_mpcollectiondocumentloader.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -22,7 +22,6 @@
 
 #include "unittest_mpcollectiondocumentloader.h"
 #include "mpnowplayingwidget.h"
-#include "mpcollectioninfobar.h"
 
 // Do this so we can access all member variables.
 #define private public
@@ -102,26 +101,11 @@
     QCOMPARE(theObject->objectName(),QString("myMpNowPlayingWidget"));
     QVERIFY(qobject_cast<MpNowPlayingWidget*>(theObject));
     delete theObject;
-    
+
 }
 
 /*!
- Tests the correct creation of MpCollectionInfoBar.
- */
-void TestMpCollectionDocumentLoader::testCreateMpCollectionInfoBar()
-{
-    cleanup();
-    init();
-    QObject *theObject;
-    theObject = mTest->createObject(QString("MpCollectionInfoBar"),QString("myMpCollectionInfoBar"));
-    QCOMPARE(theObject->metaObject()->className(),"MpCollectionInfoBar");
-    QCOMPARE(theObject->objectName(),QString("myMpCollectionInfoBar"));
-    QVERIFY(qobject_cast<MpCollectionInfoBar*>(theObject));
-    delete theObject;
-}
-
-/*!
- Tests the correct creation of QObject, this should be pased to the 
+ Tests the correct creation of QObject, this should be pased to the
  base clas and base clas should return a named object.
  */
 void TestMpCollectionDocumentLoader::testCreateQObject()
@@ -134,5 +118,5 @@
     QCOMPARE(theObject->objectName(),QString("myQObject"));
     delete theObject;
 }
- 
+
 // End of file
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/inc/mpcollectioninfobar.h	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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: MpCollectionInfoBar stub for testing MpCollectionDocumentLoader
-*
-*/
-
-#ifndef MPCOLLECTIONINFOBAR_H
-#define MPCOLLECTIONINFOBAR_H
-
-#include <QObject>
-
-class MpCollectionInfoBar : public QObject
-{
-    Q_OBJECT
-
-public:
-
-    explicit MpCollectionInfoBar();
-    virtual ~MpCollectionInfoBar();
-};
-
-#endif  // MPCOLLECTIONINFOBAR_H
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/stub/src/mpcollectioninfobar.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +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: MpCollectionInfoBar stub for testing MpCollectionDocumentLoader
-*
-*/
-
-#include "mpcollectioninfobar.h"
-
-/*!
- Constructs the information bar widget stub.
- */
-MpCollectionInfoBar::MpCollectionInfoBar()
-{
-}
-
-/*!
- Destructs the widget stub.
- */
-MpCollectionInfoBar::~MpCollectionInfoBar()
-{
-}
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectiondocumentloader/unittest_mpcollectiondocumentloader.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -28,10 +28,8 @@
 
 HEADERS += inc/unittest_mpcollectiondocumentloader.h \
            ../../inc/mpcollectiondocumentloader.h \
-           stub/inc/mpnowplayingwidget.h \
-           stub/inc/mpcollectioninfobar.h
+           stub/inc/mpnowplayingwidget.h
                
 SOURCES += src/unittest_mpcollectiondocumentloader.cpp \
            ../../src/mpcollectiondocumentloader.cpp \
-           stub/src/mpnowplayingwidget.cpp \
-           stub/src/mpcollectioninfobar.cpp
+           stub/src/mpnowplayingwidget.cpp
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/inc/unittest_mpcollectioninfobar.h	Fri Mar 19 09:28:13 2010 +0200
+++ /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: Unit test for MpCollectionInfoBar
-*
-*/
-
-#ifndef TESTMPCOLLECTIONINFOBAR_H
-#define TESTMPCOLLECTIONINFOBAR_H
-
-#include <QtTest/QtTest>
-
-class MpCollectionInfoBar;
-
-class TestMpCollectionInfoBar : public QObject
-{
-    Q_OBJECT
-
-public:
-
-    TestMpCollectionInfoBar();
-    virtual ~TestMpCollectionInfoBar();
-
-signals:
-    void orientationChange(Qt::Orientation orientation);
-
-public slots:
-    void initTestCase();
-    void cleanupTestCase();
-    void init();
-    void cleanup();
-
-private slots:
-    void testConstructor();
-    void testSetText();
-    void testOrientationChange();
-
-private:
-
-    MpCollectionInfoBar          *mTest;
-
-};
-
-#endif  // TESTMPCOLLECTIONINFOBAR_H
-
-
-
-
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/src/unittest_mpcollectioninfobar.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +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 MpCollectionInfoBar
-*
-*/
-
-#include <qnamespace.h>
-#include <QSignalSpy>
-#include <QMetaType>
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-#include <hbInstance.h>
-#include <hblabel.h>
-
-#include "unittest_mpcollectioninfobar.h"
-#include "mpcommondefs.h"
-
-// Do this so we can access all member variables.
-#define private public
-#include "mpcollectioninfobar.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;
-
-    TestMpCollectionInfoBar tv;
-
-    char *pass[3];
-    pass[0] = argv[0];
-    pass[1] = "-o";
-    pass[2] = "c:\\data\\unittest_mpcollectioninfobar.txt";
-
-    int res = QTest::qExec(&tv, 3, pass);
-
-    return res;
-}
-
-TestMpCollectionInfoBar::TestMpCollectionInfoBar()
-    : mTest(0)
-{
-}
-
-TestMpCollectionInfoBar::~TestMpCollectionInfoBar()
-{
-    delete mTest;
-}
-
-/*!
- Called before the first testfunction is executed.
- */
-void TestMpCollectionInfoBar::initTestCase()
-{
-}
-
-/*!
- Called after the last testfunction was executed.
- */
-void TestMpCollectionInfoBar::cleanupTestCase()
-{
-}
-
-/*!
- Called before each testfunction is executed.
- */
-void TestMpCollectionInfoBar::init()
-{
-    mTest = new MpCollectionInfoBar();
-}
-
-/*!
- Called after every testfunction.
- */
-void TestMpCollectionInfoBar::cleanup()
-{
-    delete mTest;
-    mTest = 0;
-}
-
-/*!
- Tests constructor.
- */
-void TestMpCollectionInfoBar::testConstructor()
-{
-    QVERIFY(mTest->mContainer != 0);
-    QVERIFY(mTest->mDocumentLoader != 0);
-    QVERIFY(mTest->mTextLeft != 0);
-    QVERIFY(mTest->mTextRight != 0);
-    
-    cleanup();
-    QGraphicsRectItem rectItem;
-    mTest = new MpCollectionInfoBar(&rectItem);
-    QVERIFY(mTest->parentItem()  == &rectItem);
-    mTest->setParentItem(0);
-}
-
-///*!
-// Tests changing the text with one or two labels
-// */
-void TestMpCollectionInfoBar::testSetText()
-{
-    mTest->setText(QString("Left text"));
-    QCOMPARE(mTest->mSingleText, true);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text"));
-    mTest->setText(QString("Left text 2"),QString("Right text 2"));
-    QCOMPARE(mTest->mSingleText, false);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text 2"));
-    QCOMPARE(mTest->mTextRight->plainText(),QString("Right text 2"));
-    mTest->setText(QString("Left text"));
-    QCOMPARE(mTest->mSingleText, true);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text"));   
-}
-
-///*!
-// Tests orientation changes.
-// */
-void TestMpCollectionInfoBar::testOrientationChange()
-{
-    connect(this, SIGNAL( orientationChange(Qt::Orientation) ),
-                 mTest, SLOT( orientationChange(Qt::Orientation) ) );
-    mTest->setText(QString("Left text"));
-    QCOMPARE(mTest->mSingleText, true);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text"));
-    emit orientationChange(Qt::Horizontal);
-    QCOMPARE(mTest->mSingleText, true);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text"));
-    QCOMPARE(mTest->mOrientation,Qt::Horizontal);
-    
-    emit orientationChange(Qt::Vertical);
-    QCOMPARE(mTest->mSingleText, true);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text"));
-    QCOMPARE(mTest->mOrientation,Qt::Vertical);
-    
-    mTest->setText(QString("Left text 2"),QString("Right text 2"));
-    emit orientationChange(Qt::Horizontal);
-    QCOMPARE(mTest->mSingleText, false);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text 2"));
-    QCOMPARE(mTest->mTextRight->plainText(),QString("Right text 2"));
-    QCOMPARE(mTest->mOrientation,Qt::Horizontal);
-    
-    emit orientationChange(Qt::Vertical);
-    QCOMPARE(mTest->mSingleText, false);
-    QCOMPARE(mTest->mTextLeft->plainText(),QString("Left text 2"));
-    QCOMPARE(mTest->mTextRight->plainText(),QString("Right text 2"));
-    QCOMPARE(mTest->mOrientation,Qt::Vertical);
-}
-
-// End of file
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpcollectioninfobar/unittest_mpcollectioninfobar.pro	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +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 mpcollectioninfobar
-TEMPLATE = app
-CONFIG += qtestlib \
-    hb
-TARGET = 
-DEPENDPATH += .
-INCLUDEPATH += . \
-    ../../inc \
-    ../../../../inc
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-LIBS += -lestor.dll \
-    -lfbscli.dll
-
-HEADERS += inc/unittest_mpcollectioninfobar.h \
-    ../../inc/mpcollectioninfobar.h 
-SOURCES += src/unittest_mpcollectioninfobar.cpp \
-    ../../src/mpcollectioninfobar.cpp 
-RESOURCES += ../../resources/mpcollectionviewresources.qrc
-
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxcollectiondata/src/unittest_mpmpxcollectiondata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -492,8 +492,8 @@
     entries->SetTObjectValueL<TMPXGeneralCategory>(KMPXMediaGeneralCategory, EMPXAlbum);
     mTestPrivate->iContainerMedia = entries;
     mTestPrivate->SetCollectionContextL();
-    QCOMPARE(mTestPrivate->iContext,ECollectionContextArtistAlbums);
-    
+    QCOMPARE(mTestPrivate->iContext,ECollectionContextAlbums);
+
     // All songs in one or multiple albums
     entries->SetTObjectValueL<TMPXGeneralType>(KMPXMediaGeneralType, EMPXItem);
     entries->SetTObjectValueL<TMPXGeneralCategory>(KMPXMediaGeneralCategory, EMPXAlbum);
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/inc/unittest_mpmpxframeworkwrapper.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/inc/unittest_mpmpxframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -47,24 +47,29 @@
 private slots:
 
     void testConstructor();
+    void testReleaseIsolatedCollection();
     void testCollectionData();
     void testHandleOpenEntries();
     void testHandleOpenPlaylist();    
-    void testHandleOperationComplete();  
+    void testHandleOperationComplete();
+    void testHandleIsolatedOpen();
     void testOpenCollection();  
     void testDoIncrementalOpen();
     void testReopenCollection();
     void testOpenCollectionItem();  
     void testGoBack();
     void testFindPlaylists();
-    void testCreatePlaylist();        
+    void testCreatePlaylist();
+    void testCreatePlaylistWithProvidedCollectionData();   
     void testSaveToPlaylist();
+    void testSaveToCurrentPlaylist();
     void testRenamePlaylist();
     void testDeleteSongs();
     void testSetShuffle();
     void testScan();
     void testCancelScan();
     void testPreviewItem();
+    void testOpenIsolatedCollection();
     void testHandleCollectionMessage();
     void testPreparePlaylistMediaSongsContext();
     void testPreparePlaylistMediaArtistAlbumsContext();
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/src/unittest_mpmpxframeworkwrapper.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/src/unittest_mpmpxframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -29,6 +29,7 @@
 #include "stub/inc/mpxcollectionutility.h"
 #include "stub/inc/mpxplaybackutility.h"
 #include "stub/inc/mpxharvesterutility.h"
+#include "stub/inc/mpmpxisolatedcollectionhelper.h"
 #include "mpsettingsmanager.h"
 
 // Do this so we can access all member variables.
@@ -143,6 +144,18 @@
 /*!
  Tests collectionData
  */
+void TestMpMpxFrameworkWrapper::testReleaseIsolatedCollection()
+{  
+    mTestPrivate->iIsolatedCollectionHelper = CMpMpxIsolatedCollectionHelper::NewL( mTestPrivate );
+    mTestPrivate->iIsolatedCollectionData = new MpMpxCollectionData();
+    mTest->releaseIsolatedCollection();
+    QVERIFY(mTestPrivate->iIsolatedCollectionHelper == 0);
+    QVERIFY(mTestPrivate->iIsolatedCollectionData == 0);
+}
+
+/*!
+ Tests collectionData
+ */
 void TestMpMpxFrameworkWrapper::testCollectionData()
 {
     loadTestData();
@@ -276,6 +289,31 @@
 }
 
 /*!
+ Tests HandleIsolatedOpen.
+ */
+void TestMpMpxFrameworkWrapper::testHandleIsolatedOpen()
+{
+    loadTestData();
+    QSignalSpy spy(mTest, SIGNAL(isolatedCollectionOpened(MpMpxCollectionData*)));
+        
+    mTestPrivate->iIsolatedCollectionData = 0;
+    mTestPrivate->HandleIsolatedOpenL( *iMediaTestData, KErrNone ) ;
+    QCOMPARE(mTestPrivate->iIsolatedCollectionData->mMediaSet, TBool(ETrue));
+    delete mTestPrivate->iIsolatedCollectionData;
+            
+    mTestPrivate->iIsolatedCollectionData = new MpMpxCollectionData();
+    mTestPrivate->HandleIsolatedOpenL( *iMediaTestData, KErrNone ) ;
+    QCOMPARE(mTestPrivate->iIsolatedCollectionData->mMediaSet, TBool(ETrue));
+    delete mTestPrivate->iIsolatedCollectionData;
+    
+    mTestPrivate->iIsolatedCollectionData = new MpMpxCollectionData();
+    mTestPrivate->HandleIsolatedOpenL( *iMediaTestData, KErrNotFound ) ;
+    QCOMPARE(mTestPrivate->iIsolatedCollectionData->mMediaSet, TBool(EFalse));
+
+    QCOMPARE(spy.count(), 2);
+}
+
+/*!
  Tests openCollection for different contexts.
  */
 void TestMpMpxFrameworkWrapper::testOpenCollection()
@@ -287,7 +325,7 @@
     QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1);
     cleanup();
     init();
-    mTest->openCollection(ECollectionContextArtistAlbums);
+    mTest->openCollection(ECollectionContextAlbums);
     QCOMPARE(mTestPrivate->iCollectionUtility->iOpen,TBool(ETrue));
     QCOMPARE(mTestPrivate->iCollectionUtility->iCountPath, 1);
     QCOMPARE(mTestPrivate->iCollectionUtility->iOpenCount, 1);
@@ -406,6 +444,44 @@
 }
 
 /*!
+ Tests createPlaylist with a provided collection data.
+ */
+void TestMpMpxFrameworkWrapper::testCreatePlaylistWithProvidedCollectionData()
+{
+    QList<int> selection;
+    selection.append(1);
+    selection.append(3);
+    selection.append(5);
+    QString playListName("playlistname");
+    loadTestData();
+    
+    //test with a collection data different that the browsing collection.
+    MpMpxCollectionData *collectionData;
+    collectionData = new MpMpxCollectionData();
+    collectionData->setMpxMedia(*iMediaTestData);
+    mTest->createPlaylist(playListName,selection, collectionData);
+    delete collectionData;
+    QCOMPARE(mTestPrivate->iCollectionUiHelper->iIncAdd, TBool(ETrue));
+    CMPXMedia* testTracks = mTestPrivate->iCollectionUiHelper->iMedia;
+    QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
+    QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXPlaylist);
+    const TDesC& playlistTitle = TPtrC(reinterpret_cast<const TText*>(playListName.constData()));
+    const TDesC& playlistPath = TPtrC(KPlaylistPath);
+    QCOMPARE(testTracks->ValueText(KMPXMediaGeneralTitle),playlistTitle);
+    QCOMPARE(testTracks->ValueText(KMPXMediaGeneralUri), playlistPath);
+    TInt count = testTracks->ValueTObjectL<TInt>(KMPXMediaArrayCount);
+    QCOMPARE(count, selection.count());
+    CMPXMediaArray* testArray = testTracks->Value<CMPXMediaArray>( KMPXMediaArrayContents );
+    for( TInt i = 0; i < count; i++ ){
+        CMPXMedia* track( testArray->AtL(i) );
+        const TDesC& title = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[(2*i)+1].GeneralTitle));
+        QCOMPARE(track->ValueText( KMPXMediaGeneralTitle ), title);
+        QCOMPARE(track->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
+        QCOMPARE(track->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXSong);
+    }
+}
+
+/*!
  Tests saveToPlaylist.
  */
 void TestMpMpxFrameworkWrapper::testSaveToPlaylist()
@@ -442,25 +518,69 @@
 }
 
 /*!
+ Tests SaveToCurrentPlaylist.
+ */
+void TestMpMpxFrameworkWrapper::testSaveToCurrentPlaylist()
+{
+    QList<int> selection;
+    selection.append(1);
+    selection.append(3);
+    selection.append(5);
+    loadTestData();
+    
+    MpMpxCollectionData *testCollectionData = new MpMpxCollectionData();
+    testCollectionData->setMpxMedia(*iMediaTestData);
+    
+    //Reusing the same data, just setting some parameters to make it look like playlist tracks.
+    iMediaTestData->SetTObjectValueL<TMPXItemId>(KMPXMediaGeneralId,TMPXItemId(1234));
+    iMediaTestData->SetTObjectValueL<TMPXGeneralType>(KMPXMediaGeneralType, EMPXItem);
+    iMediaTestData->SetTObjectValueL<TMPXGeneralCategory>(KMPXMediaGeneralCategory, EMPXPlaylist);
+    mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData);
+    mTest->saveToCurrentPlaylist( selection, testCollectionData );
+    
+    QCOMPARE(mTestPrivate->iCollectionUiHelper->iIncAdd, TBool(ETrue));
+    CMPXMedia* testTracks = mTestPrivate->iCollectionUiHelper->iMedia;
+    QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
+    QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXPlaylist);
+    QCOMPARE(testTracks->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId),TMPXItemId(1234));
+    
+    QCOMPARE(testTracks->ValueTObjectL<TUid>( KMPXMediaGeneralCollectionId),TUid::Uid(EMPXCollectionPluginMusic));
+    TInt count = testTracks->ValueTObjectL<TInt>(KMPXMediaArrayCount);
+    QCOMPARE(count, selection.count());
+    CMPXMediaArray* testArray = testTracks->Value<CMPXMediaArray>( KMPXMediaArrayContents );
+    for( TInt i = 0; i < count; i++ ){
+        CMPXMedia* track( testArray->AtL(i) );
+        const TDesC& title = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[(2*i)+1].GeneralTitle));
+        QCOMPARE(track->ValueText( KMPXMediaGeneralTitle ), title);
+        QCOMPARE(track->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
+        QCOMPARE(track->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXSong);
+    }
+
+}
+
+/*!
  Tests renamePlaylist.
  */
 void TestMpMpxFrameworkWrapper::testRenamePlaylist()
 {
+    
     loadPlaylists();
     mTestPrivate->iCollectionData->setMpxMedia(*iPlaylistsTestData);
-    mTest->renamePlaylist(QString("New Playlist Name"),3);
+    QString newPlaylistName("New Playlist Name");
+    mTest->renamePlaylist(newPlaylistName,3);
     QCOMPARE(mTestPrivate->iCollectionUiHelper->iValidRename, TBool(ETrue));
     CMPXMediaArray *mediaArray;
     mediaArray = const_cast<CMPXMediaArray*>(iPlaylistsTestData->Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
     CMPXMedia* currentPlaylistMedia( mediaArray->AtL( 3 ) );
     QCOMPARE(mTestPrivate->iCollectionUiHelper->iPlaylistId, currentPlaylistMedia->ValueTObjectL<TMPXItemId>( KMPXMediaGeneralId ));
-    QCOMPARE(mTestPrivate->iCollectionUiHelper->iRenameTitle, QString("New Playlist Name"));
+    QCOMPARE(mTestPrivate->iCollectionUiHelper->iRenameTitle, newPlaylistName);
     
     loadTestData();
     mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData);
-    mTest->renamePlaylist(QString("New Playlist Name 2"));
+    QString newPlaylistName2("New Playlist Name 2");
+    mTest->renamePlaylist(newPlaylistName2);
     QCOMPARE(mTestPrivate->iCollectionUiHelper->iValidRename, TBool(ETrue));
-    QCOMPARE(mTestPrivate->iCollectionUiHelper->iRenameTitle, QString("New Playlist Name 2"));
+    QCOMPARE(mTestPrivate->iCollectionUiHelper->iRenameTitle, newPlaylistName2);
     QCOMPARE(mTestPrivate->iCollectionUiHelper->iPlaylistId, TMPXItemId(1));
 }
 
@@ -528,10 +648,12 @@
 }
 
 /*!
- Tests scan
+ Tests PreviewItem
  */
 void TestMpMpxFrameworkWrapper::testPreviewItem()
 {
+    loadTestData();
+    mTestPrivate->iCollectionData->setMpxMedia(*iMediaTestData);
     QSignalSpy spy(mTest, SIGNAL(collectionPlaylistOpened()));
     mTest->previewItem(1);
     
@@ -542,6 +664,29 @@
 }
 
 /*!
+ Tests OpenIsolatedCollection
+ */
+void TestMpMpxFrameworkWrapper::testOpenIsolatedCollection()
+{
+
+    QVERIFY(mTestPrivate->iIsolatedCollectionHelper == 0);
+    mTest->openIsolatedCollection( ECollectionContextAllSongs );
+    QVERIFY(mTestPrivate->iIsolatedCollectionHelper != 0);
+    QCOMPARE(dynamic_cast<MMpMpxIsolatedCollectionHelperObserver*>(mTestPrivate),mTestPrivate->iIsolatedCollectionHelper->iObserver);
+    QCOMPARE(mTestPrivate->iIsolatedCollectionHelper->iOpen,TBool(ETrue));
+    QCOMPARE(mTestPrivate->iIsolatedCollectionHelper->iCountPath, 6);
+    QCOMPARE(mTestPrivate->iIsolatedCollectionHelper->iOpenCount, 1);
+          
+    delete mTestPrivate->iIsolatedCollectionHelper;
+    mTestPrivate->iIsolatedCollectionHelper = 0;
+    mTest->openIsolatedCollection( ECollectionContextUnknown );
+    QVERIFY(mTestPrivate->iIsolatedCollectionHelper == 0);
+
+}
+
+
+
+/*!
  Tests handleCollectionMessage. Part of private implementation.
  */
 void TestMpMpxFrameworkWrapper::testHandleCollectionMessage()
@@ -677,7 +822,7 @@
     CMPXMedia* testTracks = CMPXMedia::NewL();
     CleanupStack::PushL( testTracks ); 
     
-    mTestPrivate->PreparePlaylistMediaL(*testTracks,selection);
+    mTestPrivate->PreparePlaylistMediaL(*testTracks,selection,mTestPrivate->iCollectionData);
     QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
     QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXPlaylist);
     TInt count = testTracks->ValueTObjectL<TInt>(KMPXMediaArrayCount);
@@ -797,12 +942,12 @@
        
     mTestPrivate->iCollectionUtility->iAlbumSongs = albumsTracksTestData;
     mTestPrivate->iCollectionData->setMpxMedia(*albumsTestData);
-    mTestPrivate->iCollectionData->mContext = ECollectionContextArtistAlbums;
+    mTestPrivate->iCollectionData->mContext = ECollectionContextAlbums;
 
     CMPXMedia* testTracks = CMPXMedia::NewL();
     CleanupStack::PushL( testTracks ); 
     
-    mTestPrivate->PreparePlaylistMediaL(*testTracks,selection);
+    mTestPrivate->PreparePlaylistMediaL(*testTracks,selection,mTestPrivate->iCollectionData);
     QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType),EMPXItem);
     QCOMPARE(testTracks->ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory),EMPXPlaylist);
     TInt count = sizeof(KAllSongsTestData)/sizeof(TTestAttrs);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/stub/inc/mpmpxisolatedcollectionhelper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: isolated collection helper stub for testing mpmpxframeworkwrapper.
+*
+*/
+
+#ifndef CMPMPXISOLATEDCOLLECTIONHELPER_H
+#define CMPMPXISOLATEDCOLLECTIONHELPER_H
+
+#include <e32base.h>
+class CMPXCollectionPath;
+class CMPXMedia;
+
+class MMpMpxIsolatedCollectionHelperObserver
+{
+public:
+
+    virtual void HandleIsolatedOpenL( const CMPXMedia& aEntries, 
+            TInt aError ) = 0;
+};
+
+class CMpMpxIsolatedCollectionHelper : public CBase
+{
+public:
+
+    static CMpMpxIsolatedCollectionHelper* NewL( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+    static CMpMpxIsolatedCollectionHelper* NewLC( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+    virtual ~CMpMpxIsolatedCollectionHelper();
+    void OpenCollectionL( CMPXCollectionPath& aPath );
+    
+private:
+    CMpMpxIsolatedCollectionHelper( MMpMpxIsolatedCollectionHelperObserver* aObserver );
+
+public:
+    MMpMpxIsolatedCollectionHelperObserver* iObserver;
+    TBool          iOpen;
+    TInt           iOpenCount;
+    TInt           iCountPath;
+
+};
+
+#endif // CMPMPXISOLATEDCOLLECTIONHELPER_H
+    
+//EOF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/stub/src/mpmpxisolatedcollectionhelper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* 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: isolated collection helper stub for testing mpmpxframeworkwrapper.
+*
+*/
+
+
+#include <mpxcollectionpath.h>
+
+#include "stub/inc/mpmpxisolatedcollectionhelper.h"
+
+
+
+
+/*!
+ \internal
+ */
+CMpMpxIsolatedCollectionHelper* CMpMpxIsolatedCollectionHelper::NewL( 
+        MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    {
+    CMpMpxIsolatedCollectionHelper* self = NewLC( aObserver );
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+/*!
+ \internal
+ */
+CMpMpxIsolatedCollectionHelper* CMpMpxIsolatedCollectionHelper::NewLC( 
+        MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    {
+    CMpMpxIsolatedCollectionHelper* self =
+            new ( ELeave ) CMpMpxIsolatedCollectionHelper( aObserver );
+    CleanupStack::PushL( self );
+    return self;
+    }
+
+/*!
+ \internal
+ */
+CMpMpxIsolatedCollectionHelper::~CMpMpxIsolatedCollectionHelper()
+    {
+    }
+    
+
+/*!
+ \internal
+ */
+void CMpMpxIsolatedCollectionHelper::OpenCollectionL( CMPXCollectionPath& aPath )
+    {
+    iCountPath = aPath.Count();
+    iOpen = ETrue;
+    iOpenCount++;
+    }
+
+/*!
+ \internal
+ */
+CMpMpxIsolatedCollectionHelper::CMpMpxIsolatedCollectionHelper( MMpMpxIsolatedCollectionHelperObserver* aObserver )
+    : iObserver( aObserver ),
+      iOpen(EFalse),
+      iOpenCount(0),
+      iCountPath(0)
+    {
+    }
+
+    
+//EOF
--- a/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/unittest_mpmpxframeworkwrapper.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxframeworkwrapper/unittest_mpmpxframeworkwrapper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -32,21 +32,23 @@
     ../../inc/mpmpxframeworkwrapper.h \
     ../../inc/mpmpxframeworkwrapper_p.h \
     stub/inc/mpmpxcollectiondata.h \
-	stub/inc/mpxcollectionopenutility.h \
-	stub/inc/mpxcollectionuihelper.h \
-	stub/inc/mpxcollectionutility.h \
-	stub/inc/mpxcollectionhelperfactory.h \
-	stub/inc/mpxharvesterutility.h \
-	stub/inc/mpxplaybackutility.h 
+    stub/inc/mpxcollectionopenutility.h \
+    stub/inc/mpxcollectionuihelper.h \
+    stub/inc/mpxcollectionutility.h \
+    stub/inc/mpxcollectionhelperfactory.h \
+    stub/inc/mpxharvesterutility.h \
+    stub/inc/mpxplaybackutility.h \
+    stub/inc/mpmpxisolatedcollectionhelper.h
 
 SOURCES += src/unittest_mpmpxframeworkwrapper.cpp \
     ../../src/mpmpxframeworkwrapper.cpp \
-	stub/src/mpmpxcollectiondata.cpp \
-	stub/src/mpxcollectionopenutility.cpp \
-	stub/src/mpxcollectionuihelper.cpp \
-	stub/src/mpxcollectionutility.cpp \
-	stub/src/mpxcollectionhelperfactory.cpp \
-	stub/src/mpxharvesterutility.cpp \
-	stub/src/mpxplaybackutility.cpp 
+    stub/src/mpmpxcollectiondata.cpp \
+    stub/src/mpxcollectionopenutility.cpp \
+    stub/src/mpxcollectionuihelper.cpp \
+    stub/src/mpxcollectionutility.cpp \
+    stub/src/mpxcollectionhelperfactory.cpp \
+    stub/src/mpxharvesterutility.cpp \
+    stub/src/mpxplaybackutility.cpp \
+    stub/src/mpmpxisolatedcollectionhelper.cpp
 
 RESOURCES += ../../resources/mpcollectionviewresources.qrc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/inc/unittest_mpmpxisolatedcollectionhelper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for CMpMpxIsolatedCollectionHelper
+*
+*/
+
+#ifndef TESTMPMPXISOLATEDCOLLECTIONHELPER_H
+#define TESTMPMPXISOLATEDCOLLECTIONHELPER_H
+
+#include <QtTest/QtTest>
+
+/* in our unit test usually this goes on the CPP file, but in this case we need it here to get
+ the observer interface, and also the mpxcollectionopenutility stub before the tested class so 
+ we get the stub instead of the normal mpxcollectionopenutility.*/
+#include "stub/inc/mpxcollectionopenutility.h"
+// Do this so we can access all member variables.
+#define private public
+#include "mpmpxisolatedcollectionhelper.h"
+#undef private
+
+class CMpMpxIsolatedCollectionHelper;
+class CMPXMedia;
+
+class TestCMpMpxIsolatedCollectionHelper : public QObject,
+                                                  MMpMpxIsolatedCollectionHelperObserver
+{
+    Q_OBJECT
+
+public:
+
+    TestCMpMpxIsolatedCollectionHelper();
+    virtual ~TestCMpMpxIsolatedCollectionHelper();
+
+private:
+    
+    void HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError );
+    
+public slots:
+
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+
+    void testConstructor();
+    void testOpenCollection();
+    void testHandleOpen();
+
+private:
+
+    CMpMpxIsolatedCollectionHelper  *mTest;
+    const CMPXMedia                 *iEntriesFromoOpenCallback; //not own
+    TInt                             iErrorFromoOpenCallback;
+    TInt                             iOpenCallbackCounter;
+
+};
+
+#endif  // TESTMPMPXISOLATEDCOLLECTIONHELPER_H
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/src/unittest_mpmpxisolatedcollectionhelper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 CMpMpxIsolatedCollectionHelper
+*
+*/
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include <mpxmedia.h>
+#include <mpxcollectionplaylist.h>
+#include <mpxcollectionpath.h>
+
+#include "unittest_mpmpxisolatedcollectionhelper.h"
+
+
+//This so we can test private functions
+#include "../../src/mpmpxisolatedcollectionhelper.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;
+
+    TestCMpMpxIsolatedCollectionHelper tv;
+
+    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;
+}
+
+TestCMpMpxIsolatedCollectionHelper::TestCMpMpxIsolatedCollectionHelper()
+    : mTest( 0 ),
+      iEntriesFromoOpenCallback ( 0 ),
+      iErrorFromoOpenCallback( KErrNone ),
+      iOpenCallbackCounter( 0 )
+{
+}
+
+TestCMpMpxIsolatedCollectionHelper::~TestCMpMpxIsolatedCollectionHelper()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestCMpMpxIsolatedCollectionHelper::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestCMpMpxIsolatedCollectionHelper::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestCMpMpxIsolatedCollectionHelper::init()
+{
+    mTest = CMpMpxIsolatedCollectionHelper::NewL( this );
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestCMpMpxIsolatedCollectionHelper::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ Tests constructor.
+*/
+void TestCMpMpxIsolatedCollectionHelper::testConstructor()
+{
+    QVERIFY(mTest->iIncrementalOpenUtil != 0);
+    QCOMPARE(mTest->iIncrementalOpenUtil->iMode , KMcModeIsolated);
+    QCOMPARE(mTest->iObserver , dynamic_cast<MMpMpxIsolatedCollectionHelperObserver*>(this));
+}
+
+/*!
+ Tests OpenCollection.
+ */
+void TestCMpMpxIsolatedCollectionHelper::testOpenCollection()
+{
+    CMPXCollectionPath* path = CMPXCollectionPath::NewL();
+    mTest->OpenCollectionL(*path);
+    QCOMPARE(mTest->iIncrementalOpenUtil->iDelay, KIncrementalDelayHalfSecond);
+    QCOMPARE(mTest->iIncrementalOpenUtil->iStop,TBool(ETrue));
+    QCOMPARE(mTest->iIncrementalOpenUtil->iStart,TBool(ETrue));
+    QCOMPARE(mTest->iFirstIncrementalOpen,TBool(ETrue));
+    QCOMPARE(mTest->iIncrementalOpenUtil->iDirection,CMPXCollectionOpenUtility::EFetchNormal);
+    QCOMPARE(mTest->iIncrementalOpenUtil->iChunkSize, KIncrementalFetchBlockSize);
+    QCOMPARE((int)mTest->iIncrementalOpenUtil->iPath, (int)path);
+    delete path;
+}
+
+/*!
+ Tests HandleOpen.
+ */
+void TestCMpMpxIsolatedCollectionHelper::testHandleOpen()
+{
+     iEntriesFromoOpenCallback = 0;
+     iErrorFromoOpenCallback = KErrArgument;
+     iOpenCallbackCounter = 0;
+     CMPXMedia *media = CMPXMedia::NewL();
+     mTest->iFirstIncrementalOpen = ETrue;
+     mTest->HandleOpenL(*media, 0, false, KErrNone);
+     QCOMPARE((int)iEntriesFromoOpenCallback,(int)media);
+     QCOMPARE(iErrorFromoOpenCallback,KErrNone);
+     QCOMPARE(iOpenCallbackCounter,1);
+}
+ 
+/*!
+ Used to keep track of the callback from teh isolated collection helper.
+ */
+void TestCMpMpxIsolatedCollectionHelper::HandleIsolatedOpenL( const CMPXMedia& aEntries, TInt aError )
+{
+     iEntriesFromoOpenCallback = &aEntries;
+     iErrorFromoOpenCallback = aError;
+     iOpenCallbackCounter++;
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/stub/inc/mpxcollectionopenutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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:  mpxcollectionopenutility stub for testing CMpMpxIsolatedCollectionHelper
+*
+*/
+
+
+#ifndef C_CMPXCOLLECTIONOPENUTILITY_H
+#define C_CMPXCOLLECTIONOPENUTILITY_H
+
+#include <mpxcollectionobserver.h>
+#include <mpxcollectionframeworkdefs.h>
+#include <mpxcollectionopenlresultdef.h>
+
+class CMPXCollectionPath;
+
+class CMPXCollectionOpenUtility  
+{
+public:
+    
+    // Stub functions
+    enum TDirection
+        {
+        EFetchNormal,
+        EFetchUp,
+        EFetchDown
+        };
+     static CMPXCollectionOpenUtility* NewL( MMPXCollectionObserver* aObs, TUid aMode = KMcModeDefault );
+     CMPXCollectionOpenUtility();
+     ~CMPXCollectionOpenUtility();
+     void StartL( const CMPXCollectionPath& aPath,
+                              TArray<TMPXAttribute> aAttrs,
+                              TInt aChunkSize,
+                              TInt aOffset = 0,
+                              TDirection aDirection = EFetchNormal,
+                              TMPXAttribute aKeyAttribute = KMPXMediaNullAttribute );
+     void Stop();
+     void SetDelay( TInt aDelay );
+public:
+     TInt                      iDelay;
+     TInt                      iChunkSize;
+     TBool                     iStop;
+     TBool                     iStart;
+     TDirection                iDirection;
+     const CMPXCollectionPath *iPath; //not own
+     TUid                      iMode;
+    };
+
+#endif // C_CMPXCOLLECTIONOPENUTILITY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/stub/src/mpxcollectionopenutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* 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: mpxcollectionopenutility stub for testing CMpMpxIsolatedCollectionHelper
+*
+*/
+
+
+
+#include <e32debug.h>
+#include <Qt>
+
+#include "stub/inc/mpxcollectionopenutility.h"
+
+
+/*!
+ Stub function.
+*/
+CMPXCollectionOpenUtility::CMPXCollectionOpenUtility():iDelay(0),
+                                                       iStart(EFalse),
+                                                       iStop(EFalse),
+                                                       iChunkSize(0),
+                                                       iDirection(EFetchDown),
+                                                       iMode(TUid::Null())
+{
+    
+}
+
+/*!
+ Stub function.
+*/   
+CMPXCollectionOpenUtility* CMPXCollectionOpenUtility::NewL(MMPXCollectionObserver* aObs, TUid aMode)
+{
+    Q_UNUSED(aObs);
+    CMPXCollectionOpenUtility* collectionOpenUtility = new CMPXCollectionOpenUtility();
+    collectionOpenUtility->iMode = aMode;
+    return collectionOpenUtility;
+}
+
+/*!
+ Stub function.
+*/
+CMPXCollectionOpenUtility::~CMPXCollectionOpenUtility()
+{
+    
+}
+
+/*!
+ Stub function.
+*/
+void CMPXCollectionOpenUtility::Stop()
+{
+    iStop=ETrue;
+}
+
+/*!
+ Stub function.
+*/
+void CMPXCollectionOpenUtility::SetDelay( TInt aDelay )
+{
+    iDelay = aDelay;
+}
+
+/*!
+ Stub function.
+*/
+void CMPXCollectionOpenUtility::StartL( const CMPXCollectionPath& aPath,
+                              TArray<TMPXAttribute> aAttrs,
+                              TInt aChunkSize,
+                              TInt aOffset,
+                              TDirection aDirection,
+                              TMPXAttribute aKeyAttribute)
+{
+    Q_UNUSED(aAttrs);
+    Q_UNUSED(aOffset);
+    Q_UNUSED(aKeyAttribute);
+    iPath = &aPath;
+    iStart = ETrue;
+    iChunkSize = aChunkSize;
+    iDirection = aDirection;
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpcollectionviewplugin/tsrc/unittest_mpmpxisolatedcollectionhelper/unittest_mpmpxisolatedcollectionhelper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for CMpMpxIsolatedCollectionHelper
+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_mpmpxisolatedcollectionhelper.h \
+    ../../inc/mpmpxisolatedcollectionhelper.h \
+    stub/inc/mpxcollectionopenutility.h
+
+SOURCES += src/unittest_mpmpxisolatedcollectionhelper.cpp \
+        stub/src/mpxcollectionopenutility.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,157 @@
+/*
+* 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 details view.
+*
+*/
+
+#ifndef MPDETAILSVIEW_H
+#define MPDETAILSVIEW_H
+
+#include <hbview.h>
+#include <qpixmap>
+#include <qpointer.h>
+#include <QNetworkReply>
+#include <QDomDocument>
+#include <QMap>
+
+class QGraphicsWebView;
+class QNetworkAccessManager;
+
+class HbMainWindow;
+class HbAction;
+class HbLabel;
+class HbWidget;
+class HbGroupBox;
+class HbPushButton;
+class HbDocumentLoader;
+class HbListWidget;
+class HbDialog;
+class ThumbnailManager;
+class QTranslator;
+class QGraphicsLinearLayout;
+
+class MpSongData;
+class MpMpxDetailsFrameworkWrapper;
+
+//class declaration
+class MpDetailsView : public HbView
+{
+    Q_OBJECT
+    
+public:
+
+    MpDetailsView();
+    virtual ~MpDetailsView();
+
+    void initializeView();
+    void activateView();
+    void deactivateView();
+
+signals:
+    void command( int aCommand );
+    
+public slots:
+    void back();    
+    void albumArtChanged();
+    
+private slots:
+    void share();
+    void webViewLoaded( bool ok );
+    void playbackInfoChanged();
+    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<QSslError> &error );
+    
+    void DownloadFinished( QNetworkReply* reply );
+    
+    void thumbnailReady( const QPixmap& pixmap, void *data, int id, int error );
+    
+    void addContext();
+    void close();
+    
+private:
+    void setupMenu();
+    void loadSharePlayer();
+    
+    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();
+    
+    void setAlbumArtUri( const QString &albumArtUri, const QString &albumArtName );
+    void RenderInspireMeGroupBox();
+    void recommendationAlbumArtReady();
+    
+private:
+    MpSongData              *mSongData;
+    MpMpxDetailsFrameworkWrapper   *mFrameworkWrapper;
+    
+    bool                    mActivated;
+    HbMainWindow            *mWindow;
+    HbAction                *mSoftKeyBack;
+    
+    HbWidget                *mContainer;
+    HbLabel                 *mSongText; //owned
+    HbLabel                 *mAlbumText; //owned
+    HbLabel                 *mArtistText; //owned
+    HbLabel                 *mAlbumArt; //owned
+    HbGroupBox              *mSongDetailsGroupBox; //owned
+    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<QString>          mRecommendationSongs;
+    QList<QString>          mRecommendationArtists;
+    QList<QString>          mRecommendationAlbumArtsLink;
+    QList<QString>          mRecommendationAlbumArtsName;
+    
+    QNetworkAccessManager   *mManager;
+    QNetworkAccessManager   *mDownloadManager;
+    
+    int                     mDownloadedAlbumArts;
+    
+    ThumbnailManager        *mThumbnailManager; //owned
+    QPixmap                 mDefaultRecommendationAlbumArt;
+    QMap<QString, QPixmap>    mRecommendationAlbumArtsMap;
+    int                     mAlbumArtsReadyCount;
+    QList<QNetworkReply *>  mReplys;
+    
+    QDomDocument            mDomDocument;
+    
+    QTranslator             *mMpTranslator;         // Own
+    QTranslator             *mCommonTranslator;     // Own
+    
+    HbDialog                *mPopup;
+    QGraphicsWebView        *mWebView; // owned by popup dialog
+    
+    Q_DISABLE_COPY(MpDetailsView)
+};
+
+
+#endif //MPDETAILSVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsviewplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 details view.
+*
+*/
+
+#ifndef MPDETAILSVIEWPLUGIN_H
+#define MPDETAILSVIEWPLUGIN_H
+
+#include <qobject>
+#include <mpxviewpluginqt.h>
+
+//forward declartions
+class MpDetailsView;
+
+//class declaration
+class MpDetailsViewPlugin : public MpxViewPlugin
+{
+    Q_OBJECT
+
+public:
+    explicit MpDetailsViewPlugin();
+    virtual ~MpDetailsViewPlugin();
+
+    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 };
+    MpDetailsView    *mView; //owned
+    State             mState;
+};
+
+#endif  // MPPLAYBACKVIEWPLUGIN_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <QObject>
+
+//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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpmpxdetailsframeworkwrapper_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* 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 <qobject>
+#include <mpxplaybackobserver.h>
+
+//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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/inc/mpsongdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* 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 <QObject>
+#include <QString>
+#include <QPixmap>
+
+//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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/mpdetailsviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+symbian:TARGET.UID3 = 0x2002D0AA
+
+TEMPLATE = lib
+CONFIG += hb qt ecomplugin
+QT += webkit \
+    network \
+    xml
+TARGET = mpdetailsviewplugin
+
+SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0
+SERVICE.CONFIGURATION = ""
+
+TARGET.CAPABILITY = All -TCB
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+     inc \
+     ../../inc
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
+
+LIBS += -lmpxviewframeworkqt.dll \
+		-lmpxplaybackutility.dll \
+        -lmpxcommon.dll \
+        -lthumbnailmanagerqt.dll 
+    
+symbian:TARGET.EPOCALLOWDLLDATA	= 1
+
+# Input
+SOURCES += src/mpdetailsviewplugin.cpp \
+    	   src/mpdetailsview.cpp \
+    	   src/mpmpxdetailsframeworkwrapper.cpp \
+    	   src/mpmpxdetailsframeworkwrapper_p.cpp \
+    	   src/mpsongdata.cpp
+
+HEADERS = inc/mpdetailsviewplugin.h \
+    	  inc/mpdetailsview.h \
+    	  inc/mpmpxdetailsframeworkwrapper.h \
+    	  inc/mpmpxdetailsframeworkwrapper_p.h \
+    	  inc/mpsongdata.h
+    	  
+RESOURCES += resources/mpdetailsviewresources.qrc
Binary file mpviewplugins/mpdetailsviewplugin/resources/defaultalbumart.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/resources/mpdetailsviewresources.qrc	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,9 @@
+<RCC>    
+    <qresource prefix="/detailsviewdocml" >
+        <file alias="detailsview.docml">detailsview.docml</file>
+    </qresource>
+    
+    <qresource prefix="/detailsviewicons" >
+        <file alias="defaultalbumart.png">defaultalbumart.png</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/rom/mpdetailsviewplugin.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -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 MPDETAILSVIEWPLUGIN_IBY
+#define MPDETAILSVIEWPLUGIN_IBY
+
+#include <bldvariant.hrh>
+
+ECOM_PLUGIN( mpdetailsviewplugin.dll, mpdetailsviewplugin.rsc )
+
+#endif //MPDETAILSVIEWPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/rom/rom.pri	Fri Apr 16 14:56:30 2010 +0300
@@ -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/mpdetailsviewplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mpdetailsviewplugin.iby)"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/src/mpdetailsview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,787 @@
+/*
+* 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 details view.
+*
+*/
+#include <qgraphicswebview>
+#include <qwebsettings>
+#include <QGraphicsWidget>
+#include <QGraphicsLayoutItem>
+#include <QUrl>
+#include <QSslError>
+#include <QDomElement>
+#include <QWebPage>
+#include <QWebFrame>
+#include <QList>
+#include <QFile>
+#include <QTranslator>
+#include <QLocale>
+#include <QGraphicsLinearLayout>
+
+#include <thumbnailmanager_qt.h>
+#include <thumbnaildata.h>
+#include <thumbnailobjectsource.h>
+
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hblabel.h>
+#include <hbgroupbox.h>
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbpushbutton.h>
+#include <hbpopup.h>
+#include <hbdialog.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+
+#include "mpdetailsview.h"
+#include "mpcommondefs.h"
+#include "mpmpxdetailsframeworkwrapper.h"
+#include "mpsongdata.h"
+#include "mptrace.h"
+
+const int KUndefined = -1;
+const int KRecommendationNum = 2;
+
+/*!
+ Constructor
+ */
+MpDetailsView::MpDetailsView()
+    : mSongData( 0 ),
+      mFrameworkWrapper( 0 ),
+      mActivated( false ),
+      mWindow( 0 ),
+      mSoftKeyBack( 0 ),
+      mSongText( NULL ),
+      mAlbumText( NULL ),
+      mArtistText( NULL ),
+      mAlbumArt( NULL ),
+      mDocumentLoader( NULL ),
+      mDownloadedAlbumArts( 0 ),
+      mAlbumArtsReadyCount( 0 ),
+      mMpTranslator( 0 ),
+      mCommonTranslator( 0 )
+{
+    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<HbWidget *>(widget);
+        if ( mContainer ) {
+            setWidget( mContainer );
+        }
+        
+     widget = mDocumentLoader->findWidget( QString("shareButton") );
+     mShareButton = qobject_cast<HbPushButton *>(widget);         
+        
+     widget = mDocumentLoader->findWidget( QString("songText") );
+     mSongText = qobject_cast<HbLabel *>(widget);
+    
+     widget = mDocumentLoader->findWidget( QString("artistText") );
+     mArtistText = qobject_cast<HbLabel *>(widget);
+    
+     widget = mDocumentLoader->findWidget( QString("albumText") );
+     mAlbumText = qobject_cast<HbLabel *>(widget);
+
+     widget = mDocumentLoader->findWidget( QString("albumArt") );
+     mAlbumArt = qobject_cast<HbLabel *>(widget);
+        
+     widget = mDocumentLoader->findWidget( QString("songDetailsGroupBox") );
+     mSongDetailsGroupBox = qobject_cast<HbGroupBox *>(widget);
+        
+     widget = mDocumentLoader->findWidget( QString("inspireMeGroupBox") );
+     mInspireMeGroupBox = qobject_cast<HbGroupBox *>(widget);
+    }
+    else {
+        TX_LOG_ARGS( "Error: invalid detailsview.docml" );
+    }
+    TX_EXIT
+}
+
+/*!
+ Destructs the details view.
+ */
+MpDetailsView::~MpDetailsView()
+{
+    TX_ENTRY    
+    if ( mFrameworkWrapper ) {
+        delete mFrameworkWrapper;
+    }
+    if ( mSoftKeyBack ) {
+        delete mSoftKeyBack;
+    }
+    if ( mDocumentLoader ) {
+        delete mDocumentLoader;
+    }
+    if ( mManager ) {
+        mManager->deleteLater();
+    }
+    if ( mDownloadManager ) {
+        mDownloadManager->deleteLater();
+    }    
+    if( mThumbnailManager ) {
+        delete mThumbnailManager;
+    }
+    delete mMpTranslator;
+    delete mCommonTranslator;
+    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;
+
+        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();
+    mSoftKeyBack = new HbAction( Hb::BackAction, 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 );
+
+    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" );
+    
+    setTitle( tr("Music") );
+    // TODO: might need later
+    setupMenu();
+      
+    connect( mSoftKeyBack, 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 ) ) );
+    TX_EXIT
+}
+
+/*!
+ Activates the details view.
+ */
+void MpDetailsView::activateView()
+{
+    TX_ENTRY    
+    setNavigationAction( mSoftKeyBack );
+    mFrameworkWrapper->retrieveSong();
+        
+    mActivated = true;
+    TX_EXIT
+}
+
+/*!
+ Deactivates the details view.
+ */
+void MpDetailsView::deactivateView()
+{
+    TX_ENTRY    
+    setNavigationAction( 0 );
+    mActivated = false;    
+    TX_EXIT
+}
+
+/*!
+ Setup the menu.
+ */
+void MpDetailsView::setupMenu()
+{
+    TX_ENTRY
+
+    TX_EXIT
+}
+
+/*!
+ Slot to handle back command from softkey.
+
+ \reimp
+ */
+void MpDetailsView::back()
+{
+    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 );
+    TX_EXIT
+}
+
+/*!
+ Make a key & value pair string for querying
+ */
+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()
+{
+    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<QSslError> ) ), this, SLOT( retrieveInformationSslErrors( QList<QSslError> ) ) );
+            }             
+        }
+    } 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<void *>( const_cast<QString *>( &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();
+    }
+    TX_EXIT
+}
+
+/*!
+ Render inspireme groupbox after album arts downloaded
+ */
+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 );       
+    }
+    
+    // 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 );
+    
+    TX_EXIT
+}
+
+void MpDetailsView::recommendationAlbumArtReady()
+{   
+    TX_ENTRY_ARGS( "mAlbumArtsReadyCount = " << mAlbumArtsReadyCount )
+    mAlbumArtsReadyCount++;
+    if ( mAlbumArtsReadyCount == KRecommendationNum ) {
+        RenderInspireMeGroupBox();
+    }
+    TX_EXIT
+}
+
+
+/*!
+ Slot to handle basic song information
+ */
+void MpDetailsView::playbackInfoChanged()
+{
+    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();
+    TX_EXIT
+}
+
+/*!
+ Slot to handle detail song information
+ */
+void MpDetailsView::songDetailInfoChanged()
+{
+    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 );
+
+    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 );
+
+    item = new HbListWidgetItem();
+    item->setText( tr( "Comment" ) );
+    item->setSecondaryText( mSongData->comment() );
+    mDetailList->addItem( item );    
+    TX_EXIT
+}
+
+/*!
+ Slot to handle details groupbox toggling
+ */
+void MpDetailsView::toggleDetailsGroupBox(bool /*state*/)
+{
+    TX_ENTRY
+    if ( !mInspireMeGroupBox->isCollapsed() ) {
+        mSongDetailsGroupBox->setCollapsed( true );
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to handle inspire me groupbox toggling
+ */
+void MpDetailsView::toggleInspireMeGroupBox(bool /*state*/)
+{
+    TX_ENTRY
+    if ( !mSongDetailsGroupBox->isCollapsed() ) {
+        mInspireMeGroupBox->setCollapsed( true );
+    }
+    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<QSslError> ) ), this, SLOT( retrieveInformationSslErrors( QList<QSslError> ) ) );
+    TX_EXIT
+}
+
+
+/*!
+ Slot to call when getting response
+ */
+void MpDetailsView::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" );
+    }
+    TX_EXIT
+}
+
+/*!
+ Slot to call when there is network error
+ */
+void MpDetailsView::retrieveInformationNetworkError( QNetworkReply::NetworkError /*error*/ )
+{
+    // 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<QSslError> &/*error*/ )
+{   
+    // TODO: agree on error handling
+    TX_ENTRY_ARGS( "SSL error for retrieving Information" );
+    TX_EXIT
+}
+
+/*!
+ Slot to call when downloading finished
+ */
+void MpDetailsView::DownloadFinished( QNetworkReply* reply )
+{
+    TX_ENTRY_ARGS( "mDownloadedAlbumArts = " << mDownloadedAlbumArts );
+    if ( reply->error() == QNetworkReply::NoError )
+    {
+        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 ) );
+            }
+        }
+    }
+    else
+    {
+        TX_LOG_ARGS( "Downloading album art failed!" );
+    }
+    
+    mDownloadedAlbumArts++;
+    TX_EXIT
+}
+
+/*!
+ Slot to handle the recommendation album art 
+*/
+void MpDetailsView::thumbnailReady(
+        const QPixmap& pixmap,
+        void *data,
+        int /*id*/,
+        int error  )
+{
+    TX_ENTRY
+    QString uri = *( reinterpret_cast<QString *>( 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();
+    }
+
+    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
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/src/mpdetailsviewplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 details view.
+*
+*/
+
+#include <xqplugin.h>
+
+#include "mpdetailsviewplugin.h"
+#include "mpdetailsview.h"
+#include "mptrace.h"
+
+/*!
+    \class MpDetailsViewPlugin
+    \brief Plugin interface for Music Player details view.
+
+    Details view plugin provides interface to the details 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 details view plugin.
+ */
+MpDetailsViewPlugin::MpDetailsViewPlugin()
+    : mView(0),
+      mState(NullView)
+{
+    TX_LOG
+}
+
+/*!
+ Destructs the details view plugin.
+ */
+MpDetailsViewPlugin::~MpDetailsViewPlugin()
+{
+    TX_LOG
+}
+
+/*!
+ Creates the details view.
+ */
+void MpDetailsViewPlugin::createView()
+{
+    TX_ENTRY
+    if ( mState == NullView ) {
+        mView = new MpDetailsView();
+        connect( mView, SIGNAL( command( int ) ), this, SIGNAL( command( int ) ) );
+        mState = Created;
+    }
+    TX_EXIT
+}
+
+/*!
+ Destroys the details view.
+ */
+void MpDetailsViewPlugin::destroyView()
+{
+    TX_ENTRY
+    if ( mState != NullView ) {
+        delete mView;
+        mView = NULL;
+        mState = NullView;
+    }
+    TX_EXIT
+}
+
+/*!
+ Activates the details view. View initialization is done very first time.
+ */
+void MpDetailsViewPlugin::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 details view.
+ */
+void MpDetailsViewPlugin::deactivateView()
+{
+    TX_ENTRY
+    if ( mState == Activated ) {
+        mView->deactivateView();
+        mState = Initialized;
+    }
+    TX_EXIT
+}
+
+/*!
+ Returns pointer to QGraphicsWidget, which is the details view.
+ The returned pointer is 0, if it is not created first.
+
+ \sa createView()
+ */
+QGraphicsWidget* MpDetailsViewPlugin::getView()
+{
+    TX_LOG
+    return mView;
+}
+
+/*!
+ Slot to be called when application orientation changes.
+
+ \reimp
+ */
+void MpDetailsViewPlugin::orientationChange( Qt::Orientation orientation )
+{
+    TX_LOG
+    Q_UNUSED( orientation );
+}
+
+/*!
+ Slot to handle back command from softkey.
+
+ \reimp
+ */
+void MpDetailsViewPlugin::back()
+{
+    //do nothing, softkey is handledinternally by the view.
+    TX_LOG
+}
+
+XQ_EXPORT_PLUGIN2( mpdetailsviewplugin, MpDetailsViewPlugin );
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* 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();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,283 @@
+/*
+* 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 <mpxplaybackutility.h>
+#include <mpxmedia.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediamusicdefs.h>
+#include <mpxcommandgeneraldefs.h>
+#include <mpxplaybackmessage.h>
+#include <mpxmessagegeneraldefs.h>
+#include <mpxplaybackmessagedefs.h>
+
+#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<TInt64>( 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<TMPXAttribute> 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
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/src/mpsongdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,407 @@
+/*
+* 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 <qstring>
+#include <qpixmap>
+
+#include <thumbnailmanager_qt.h>
+#include <thumbnaildata.h>
+#include <thumbnailobjectsource.h>
+
+#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
+    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
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,30 @@
+; 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
+#{"UT_ALL_mpdetailsviewplugin"},(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"
+
+"/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"
+
+"/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"
+
+"/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"
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+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
+
+test.depends = first
+test.CONFIG += recursive
+autotest.depends = first
+autotest.CONFIG += recursive
+QMAKE_EXTRA_TARGETS += test autotest
+
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/UT_ALL_mpdetailsviewplugin.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/sis.bat	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+@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_ALL_mpdetailsviewplugin.pkg
+signsis UT_ALL_mpdetailsviewplugin.sis UT_ALL_mpdetailsviewplugin.sisx .\RndCerts\Nokia_RnDCert_02.der .\RndCerts\Nokia_RnDCert_02.key
+del     UT_ALL_mpdetailsviewplugin.sis
\ No newline at end of file
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/MON.sym	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,718 @@
+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<QSslError> & 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<KRecommendationNum
+23 20 397 3 entry . attribute ( "type" ) == tr ( "musictrack" )
+24 22 399 4 ! link . isNull ( )
+25 20 401 5 link . attribute ( "title" ) == tr ( "albumart100" )
+1 12 403 6
+0 1 404 5 else
+26 23 416 2 i < KRecommendationNum
+27 20 421 3 mRecommendationAlbumArtsLink . at ( i ) . contains ( "http" , Qt::CaseInsensitive )
+0 1 428 1 else
+14 0 437 0 MpDetailsView::setAlbumArtUri
+0 90 0 0 ( const QString & albumArtUri , const QString & albumArtName )
+0 91 101 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+28 20 441 1 ! albumArtUri . isEmpty ( )
+29 20 443 2 id == KUndefined
+0 1 449 1 else
+15 0 460 0 MpDetailsView::RenderInspireMeGroupBox
+0 90 0 0 ( )
+0 91 102 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+30 23 463 1 i < KRecommendationNum
+16 0 487 0 MpDetailsView::recommendationAlbumArtReady
+0 90 0 0 ( )
+0 91 103 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+31 20 491 1 mAlbumArtsReadyCount == KRecommendationNum
+17 0 501 0 MpDetailsView::playbackInfoChanged
+0 90 0 0 ( )
+0 91 71 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+32 23 510 1 i < mReplys . count ( )
+33 20 512 2 reply != 0
+34 23 524 1 i < KRecommendationNum
+35 20 531 2 file . exists ( )
+36 20 532 3 file . remove ( )
+0 1 535 3 else
+0 1 538 2 else
+18 0 562 0 MpDetailsView::songDetailInfoChanged
+0 90 0 0 ( )
+0 91 72 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+19 0 597 0 MpDetailsView::toggleDetailsGroupBox
+0 90 0 0 ( bool state )
+0 91 75 2 Z:/musicplayer/mpviewplugins/mpdetailsviewplugin/inc/mpdetailsview.h
+37 20 600 1 ! mInspireMeGroupBox -> 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<QSslError> & 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+; 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_mpdetailsview"},(0xE003e880),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Executable and default resource files
+"/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"
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/UT_detailsview.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcdata.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,652 @@
+
+
+CTCRTS: Write coverage data to file 2010-03-12 13:39:14
+
+CTCDATA:<START:1j,1M,1,4,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1p,1q,1b,1X,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1q,1d,1r,1n,1t,1q,1b,1d,1r,k,1b,1o,1o,1S,w,1U,1l,1
+
+CTCDATA:t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r
+
+CTCDATA:,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,
+
+CTCDATA:1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,1,0,1,0,0,0,1,0,1,0,1j,1M,1,A,6,5,0
+
+CTCDATA:,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,
+
+CTCDATA:1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s
+
+CTCDATA:,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq3QT,1,1,1,1,1,4,4,1,1,1,0,1,1,1,1,4,4,1,1,1,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,1,1,1,1,1,1j,1M,1,J,q,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1
+
+CTCDATA:q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1
+
+CTCDATA:s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1l,1n,1b,1X,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,
+
+CTCDATA:1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U
+
+CTCDATA:,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,u,0,E,1,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u,0,0,0,1,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,4,4,1,1,
+
+CTCDATA:1,1,1,1,0,D,0,0,0,1,D,u,0,0,D,0,18,1M,1,U,2,j,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1
+
+CTCDATA:k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d
+
+CTCDATA:,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,
+
+CTCDATA:1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1
+
+CTCDATA:G,k,1c,1Z,1s,1Nq3QO,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1a,1M,1,5,e,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S
+
+CTCDATA:,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1
+
+CTCDATA:f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,o,0,1,1,0,0,0,0,1,0,o,0
+
+CTCDATA:,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,1,0,0,0,0,1,o,0,0,1,0,1u,1M,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1
+
+CTCDATA:x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c
+
+CTCDATA:,1Z,1s,1Nq3QT,4,4,4,1,4,4,0,1,4,1c,1M,1,P,H,G,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1
+
+CTCDATA:m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,
+
+CTCDATA:1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1
+
+CTCDATA:r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QT,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,1l,1M,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k
+
+CTCDATA:,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k
+
+CTCDATA:,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QU,0,0,8,4,0,8,8
+
+CTCDATA:,0,0,0,0,8,4,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,1g,1M,1,5,A,5,0,0,1S,w,l,
+
+CTCDATA:1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r
+
+CTCDATA:,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,
+
+CTCDATA:1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,0,G,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,1X,1M,1,7,c,F,0,
+
+CTCDATA:0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1
+
+CTCDATA:S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QQ,0,G,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:1v,1S,1,D,q,p,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v
+
+CTCDATA:,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq35R,1,1,1,1,1,6,6,1,1,1,1,1,1,0,1,1,1,1,6,6,1,1,1,1,1,1,1,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1v,1S,1,4,S,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,
+
+CTCDATA:1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,1E,0,K,0,0,0,0,0,1E,0,0,0,0,1,1,1,1
+
+CTCDATA:,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,0,K,0,0,0,0,K,1E,0,0,K,0,1E,1S,1,B,9,
+
+CTCDATA:3,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq35O,6,6,1,4,5,5,1,0,0,0,0,6,6,1,4,5,5,0,0,0,0,0,1,1,1,1,3,3,1,
+
+CTCDATA:0,0,1,3,1,0,1,4,1l,1S,1,7,0,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d
+
+CTCDATA:,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:s,1t,1a,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o
+
+CTCDATA:,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,
+
+CTCDATA:1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35R,8,8,
+
+CTCDATA:1,2,1,6,1,8,8,1,2,1,6,1,1g,1S,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w
+
+CTCDATA:,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,2,0,0,1
+
+CTCDATA:,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1m,1S,1,5,E,5,0,0,1
+
+CTCDATA:S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1
+
+CTCDATA:s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h
+
+CTCDATA:,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,3,0,1,1,0,0,0,0,1,0,3,0,0,0,0,1,
+
+CTCDATA:1,0,0,0,0,0,1,0,0,0,0,1,3,0,0,1,0,2D,1b,1,T,V,h,0,0,1S,w,l,1l,1t,1r,1h
+
+CTCDATA:,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t
+
+CTCDATA:,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,
+
+CTCDATA:1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,
+
+CTCDATA:1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1
+
+CTCDATA:j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1
+
+CTCDATA:d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq366,Q,Q,Q,0,Q,Q,Q,
+
+CTCDATA:4,4,0,1,1,1,1,1,Y,Y,1,1,1,1,1,1,Q,R,1,1,0,R,0,0,0,0,0,0,0,0,0,0,0,1,1,
+
+CTCDATA:1,1,Y,Y,1,1,1,1,1,1,4,R,1,1,0,R,Q,Q,Q,0,Q,Q,Q,4,4,0,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,M,0,0,O,O,O,0,O,O,N,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,M,0,0,1,Q,P,P,P,Q,P,P,P,P,P,Q,2,2,2,0,2,2,3,1,1,0,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,Q,Q,Q,Q,Q,4,4,4,Q,1,2,2,2,1,2,2,2,2,2,1,2D,1b,1,4,U,
+
+CTCDATA:5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n
+
+CTCDATA:,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq363,0,1P,0,N,0,0,0,0,0,1P,0,0,0,0,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,0,N,0,0,0,0,N,1P,0,0,N,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l
+
+CTCDATA:,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,
+
+CTCDATA:1Z,1o,1o,1d,1q,1X,1o,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq4iQ,Y,Y,X,X,Y,X,1,1,
+
+CTCDATA:1,R,2f,1,1,1,Y,Y,X,X,Y,X,1,1,1,Q,0,1,1,1,0,0,0,0,1,2f,0,0,X,1,O,O,O,P,
+
+CTCDATA:P,O,O,O,O,O,Q,0,Q,2,2,2,1,1,2,2,2,2,2,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1
+
+CTCDATA:b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,
+
+CTCDATA:l,1l,1o,1w,1o,1k,1Z,1x,1a,1Z,1b,1j,1t,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G
+
+CTCDATA:,k,1c,1Z,1s,1Nq366,X,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,Y,0,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,X,0,1,0,0,0,0,0,0,Y,X,X,0,1,1x,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z
+
+CTCDATA:,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,
+
+CTCDATA:1o,1w,1o,1k,1Z,1x,1d,1q,1l,1Z,1m,1Z,1f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,
+
+CTCDATA:1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1
+
+CTCDATA:U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q
+
+CTCDATA:,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s
+
+CTCDATA:,1Nq367,X,0,0,0,0,0,0,0,0,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,
+
+CTCDATA:1,7,3,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,
+
+CTCDATA:1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l
+
+CTCDATA:,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1r,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1
+
+CTCDATA:U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,
+
+CTCDATA:1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36A,X,0,0,0,0,1,0,X,0,0,0,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S
+
+CTCDATA:,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,
+
+CTCDATA:1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,
+
+CTCDATA:1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1
+
+CTCDATA:l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b
+
+CTCDATA:,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1N
+
+CTCDATA:q367,Y,X,0,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0,Q,0,P,Q,Y,X,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,Q,0,P,Q,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0
+
+CTCDATA:,N,N,N,N,O,E,Q,N,N,0,0,3,3,3,3,2,C,0,3,3,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1
+
+CTCDATA:b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,
+
+CTCDATA:1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq362,Y,X,1,1,Y,X,0,1,1,1
+
+CTCDATA:m,1b,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1
+
+CTCDATA:o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d
+
+CTCDATA:,1q,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq362,0,0,0,0,Q,P,Q,0,0,0,0,Q,P,Q,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1d,1J,1,d,k,j,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1
+
+CTCDATA:s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3ia,1,1,1,1,1,X,Y,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,X,Y,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1d,1J,1,5,1K,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,
+
+CTCDATA:1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,
+
+CTCDATA:1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,5s,0,1a,2,0,0,0,0,2,0,5
+
+CTCDATA:s,0,0,0,0,0,0,1,1,1,1,V,V,V,V,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,0,1a,0,0,0,0,1a,5s,0,0,1a,0,15,1J,1,P,H,G,0,0,1S,w,l
+
+CTCDATA:,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b
+
+CTCDATA:,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36s,X,X,2,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,1,2,0,3,2,1,1,X,X,
+
+CTCDATA:2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0,0,0,0,0,0,2,2,2,
+
+CTCDATA:2,2,2,1,2,X,0,1,1,1,1,1,1,1,1,1,2,1,2,1,1,0,2,1,1,1,1,1,1,0,0,1,1,1,0,
+
+CTCDATA:1,1,1i,1J,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1s,1t,1a,l,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,
+
+CTCDATA:1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,
+
+CTCDATA:1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U
+
+CTCDATA:,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,
+
+CTCDATA:k,1c,1Z,1s,1Nq36v,1,1,X,X,0,X,X,2,1,0,1,X,X,0,0,0,0,0,1,0,X,X,1,1,1,0,
+
+CTCDATA:1,2,1,1d,1J,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1
+
+CTCDATA:o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,
+
+CTCDATA:1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l
+
+CTCDATA:,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z
+
+CTCDATA:,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1
+
+CTCDATA:s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,
+
+CTCDATA:1Nq36s,0,15,0,2,2,0,0,0,0,2,0,15,0,0,0,0,2,2,0,2,0,0,0,0,2,15,0,0,2,0,
+
+CTCDATA:1U,1J,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,
+
+CTCDATA:1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,
+
+CTCDATA:1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o
+
+CTCDATA:,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1
+
+CTCDATA:f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,f,0,2,4,1,1,0,0,0,0,4,1,
+
+CTCDATA:1,0,f,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,f,0,0,2,0,0,0,0,0,0,0,0,0,0,0,>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/ctcerr.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,5167 @@
+
+*******************************************************************************
+
+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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/inc/unittest_mpdetailsview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit Test for mpdetailsview.
+*
+*/
+
+#ifndef UNITTEST_MPDETAILSVIEW_H_
+#define UNITTEST_MPDETAILSVIEW_H_
+
+#include <QtTest/QtTest>
+#include <hbview.h>
+#include <QNetworkReply>
+
+//Forward Declaration
+class MpDetailsView;
+
+
+
+class TestMpDetailsView : public HbView
+{
+    Q_OBJECT
+
+public:
+
+    TestMpDetailsView();
+    virtual ~TestMpDetailsView();
+    
+
+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<QSslError> &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();
+    void init();
+    void cleanup();
+    
+private slots:
+  //Test Cases  
+    void testactivateView();
+    void testdeactivateView();
+    void testbackSlot();
+    
+private:
+    MpDetailsView *mTest;
+    
+};
+
+#endif /* UNITTEST_MPDETAILSVIEW_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/profile.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,1094 @@
+*****************************************************************************
+*           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<KRecomm..
+         0          0 -   397     if (entry . attribute ( "type" ) == tr ( "..
+         0          0 -   399       while (! link . isNull ( ))
+         0          0 -   401         if (link . attribute ( "title" ) == tr..
+         0            -   403           break
+                          404         else
+         0          0 -   416   for (;i < KRecommendationNum;)
+         0          0 -   421     if (mRecommendationAlbumArtsLink . at ( i ..
+                          428 else
+
+***TER   0 % (  0/ 26) of FUNCTION MpDetailsView::handleParsedXML()
+-----------------------------------------------------------------------------
+
+         0          0 -   437 FUNCTION MpDetailsView::setAlbumArtUri()
+         0          0 -   441 if (! albumArtUri . isEmpty ( ))
+         0          0 -   443   if (id == KUndefined)
+                          449 else
+
+***TER   0 % (  0/  5) of FUNCTION MpDetailsView::setAlbumArtUri()
+-----------------------------------------------------------------------------
+
+         0          0 -   460 FUNCTION MpDetailsView::RenderInspireMeGroupBox()
+         0          0 -   463 for (;i < KRecommendationNum;)
+
+***TER   0 % (  0/  3) of FUNCTION MpDetailsView::RenderInspireMeGroupBox()
+-----------------------------------------------------------------------------
+
+         0          0 -   487 FUNCTION MpDetailsView::recommendationAlbumArtReady()
+         0          0 -   491 if (mAlbumArtsReadyCount == KRecommendationNum)
+
+***TER   0 % (  0/  3) of FUNCTION MpDetailsView::recommendationAlbumArtReady()
+-----------------------------------------------------------------------------
+
+         0          0 -   501 FUNCTION MpDetailsView::playbackInfoChanged()
+         0          0 -   510 for (;i < mReplys . count ( );)
+         0          0 -   512   if (reply != 0)
+         0          0 -   524 for (;i < KRecommendationNum;)
+         0          0 -   531   if (file . exists ( ))
+         0          0 -   532     if (file . remove ( ))
+                          535     else
+                          538   else
+
+***TER   0 % (  0/ 11) of FUNCTION MpDetailsView::playbackInfoChanged()
+-----------------------------------------------------------------------------
+
+         0          0 -   562 FUNCTION MpDetailsView::songDetailInfoChanged()
+
+***TER   0 % (  0/  1) of FUNCTION MpDetailsView::songDetailInfoChanged()
+-----------------------------------------------------------------------------
+
+         0          0 -   597 FUNCTION MpDetailsView::toggleDetailsGroupBox()
+         0          0 -   600 if (! mInspireMeGroupBox -> 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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/sis.bat	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+@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_detailsview.pkg
+signsis UT_detailsview.sis UT_detailsview.sisx  ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key
+del     UT_detailsview.sis
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/src/unittest_mpdetailsview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* 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.
+*
+*/
+#include <QSignalSpy>
+#include <qgraphicswebview>
+#include <qwebsettings>
+#include <QGraphicsWidget>
+#include <QGraphicsLayoutItem>
+#include <QUrl>
+#include <QSslError>
+#include <QDomElement>
+#include <QWebPage>
+#include <QWebFrame>
+#include <QList>
+#include <QFile>
+#include <QTranslator>
+#include <QLocale>
+
+#include <hbinstance.h>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hblabel.h>
+#include <hbgroupbox.h>
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbpushbutton.h>
+#include <hbpopup.h>
+#include <hbdialog.h>
+#include <hblistwidget.h>
+#include <hblistwidgetitem.h>
+#include <HbApplication>
+
+#include "unittest_mpdetailsview.h"
+#include "stub/inc/mpsongdata.h"
+#include "stub/inc/thumbnailmanager_qt.h"
+#include "stub/inc/mpmpxdetailsframeworkwrapper.h"
+#include "mpcommondefs.h"
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpdetailsview.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;
+
+    TestMpDetailsView tv;
+
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o";
+    pass[2] = "c:\\data\\unittest_testmpdetailsview.txt";
+
+    int res = QTest::qExec(&tv, 3, pass);
+
+    return res;
+}
+
+//Constructor
+TestMpDetailsView::TestMpDetailsView()
+    : mTest(0)
+{
+
+}
+
+//Destructor
+TestMpDetailsView::~TestMpDetailsView()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpDetailsView::initTestCase()
+{
+    
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpDetailsView::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpDetailsView::init()
+{
+    mTest = new MpDetailsView();
+    mTest->initializeView();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpDetailsView::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+void TestMpDetailsView::testactivateView()
+    {
+    mTest->activateView();
+    QVERIFY(mTest->mActivated==true);
+    }
+
+void TestMpDetailsView::testdeactivateView()
+    {
+    /* TODO: Fix   
+    mTest->deactivateView();
+    QVERIFY(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);
+    }
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpmpxdetailsframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Framework wrapper 
+*
+*/
+
+#ifndef MPMPXDETAILSFRAMEWORKWRAPPER_H_
+#define MPMPXDETAILSFRAMEWORKWRAPPER_H_
+
+//includes
+#include <QObject>
+#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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/mpsongdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Metadata of song for details view.
+*
+*/
+
+#ifndef MPSONGDATA_H
+#define MPSONGDATA_H
+
+#include <QObject>
+#include <QString>
+#include <QPixmap>
+
+
+//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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/inc/thumbnailmanager_qt.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <qobject>
+#include <QPixmap.h>
+
+
+/** 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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpmpxdetailsframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* 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
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/mpsongdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,405 @@
+/*
+* 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 <qstring>
+#include <qpixmap>
+
+#include "stub/inc/thumbnailmanager_qt.h"
+#include <thumbnaildata.h>
+#include <thumbnailobjectsource.h>
+
+#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 ),
+      mComposer( NULL),
+      mGenre( NULL ),
+      mYear( NULL ),
+      mAlbumTrack( NULL ),
+      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);
+        }
+    }
+    //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
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/stub/src/thumbnailmanager_qt.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <qsize.h>
+#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;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsview/unittest_mpdetailsview.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,36 @@
+######################################################################
+# Automatically generated by qmake (2.01a) Tue 9. Mar 14:34:59 2010
+######################################################################
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+
+QT += webkit \
+    network \
+    xml
+
+TARGET = 
+DEPENDPATH += . 
+INCLUDEPATH += ./stub/inc \
+	       ../../inc \
+	       ../../../../inc \
+	       
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+LIBS += -lmpxviewframeworkqt.dll
+
+# Input
+HEADERS += inc/unittest_mpdetailsview.h \
+		   ../../inc/mpdetailsview.h \
+	       stub/inc/mpmpxdetailsframeworkwrapper.h \
+           stub/inc/mpsongdata.h \
+           stub/inc/thumbnailmanager_qt.h
+
+SOURCES += src/unittest_mpdetailsview.cpp \
+	       ../../src/mpdetailsview.cpp \
+	       stub/src/mpmpxdetailsframeworkwrapper.cpp \
+           stub/src/mpsongdata.cpp \
+           stub/src/thumbnailmanager_qt.cpp
+
+RESOURCES += ../../resources/mpdetailsviewresources.qrc
\ No newline at end of file
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/MON.sym	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,444 @@
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+; 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_mpdetailsviewplugin"},(0xE003e880),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+; Executable and default resource files
+"/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"
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/UT_mpdetailsviewplugin.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcdata.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,652 @@
+
+
+CTCRTS: Write coverage data to file 2010-03-12 13:39:14
+
+CTCDATA:<START:1j,1M,1,4,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1p,1q,1b,1X,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1q,1d,1r,1n,1t,1q,1b,1d,1r,k,1b,1o,1o,1S,w,1U,1l,1
+
+CTCDATA:t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r
+
+CTCDATA:,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,
+
+CTCDATA:1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,1,0,1,0,0,0,1,0,1,0,1j,1M,1,A,6,5,0
+
+CTCDATA:,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,
+
+CTCDATA:1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s
+
+CTCDATA:,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq3QT,1,1,1,1,1,4,4,1,1,1,0,1,1,1,1,4,4,1,1,1,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,1,1,1,1,1,1j,1M,1,J,q,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1
+
+CTCDATA:q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1
+
+CTCDATA:s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1l,1n,1b,1X,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,
+
+CTCDATA:1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U
+
+CTCDATA:,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,u,0,E,1,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u,0,0,0,1,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,4,4,1,1,
+
+CTCDATA:1,1,1,1,0,D,0,0,0,1,D,u,0,0,D,0,18,1M,1,U,2,j,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1
+
+CTCDATA:k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d
+
+CTCDATA:,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,
+
+CTCDATA:1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1
+
+CTCDATA:G,k,1c,1Z,1s,1Nq3QO,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1a,1M,1,5,e,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S
+
+CTCDATA:,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1
+
+CTCDATA:f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,o,0,1,1,0,0,0,0,1,0,o,0
+
+CTCDATA:,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,1,0,0,0,0,1,o,0,0,1,0,1u,1M,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1
+
+CTCDATA:x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c
+
+CTCDATA:,1Z,1s,1Nq3QT,4,4,4,1,4,4,0,1,4,1c,1M,1,P,H,G,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1
+
+CTCDATA:m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,
+
+CTCDATA:1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1
+
+CTCDATA:r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QT,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,1l,1M,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k
+
+CTCDATA:,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k
+
+CTCDATA:,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QU,0,0,8,4,0,8,8
+
+CTCDATA:,0,0,0,0,8,4,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,1g,1M,1,5,A,5,0,0,1S,w,l,
+
+CTCDATA:1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r
+
+CTCDATA:,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,
+
+CTCDATA:1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,0,G,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,1X,1M,1,7,c,F,0,
+
+CTCDATA:0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1
+
+CTCDATA:S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QQ,0,G,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:1v,1S,1,D,q,p,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v
+
+CTCDATA:,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq35R,1,1,1,1,1,6,6,1,1,1,1,1,1,0,1,1,1,1,6,6,1,1,1,1,1,1,1,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1v,1S,1,4,S,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,
+
+CTCDATA:1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,1E,0,K,0,0,0,0,0,1E,0,0,0,0,1,1,1,1
+
+CTCDATA:,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,0,K,0,0,0,0,K,1E,0,0,K,0,1E,1S,1,B,9,
+
+CTCDATA:3,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq35O,6,6,1,4,5,5,1,0,0,0,0,6,6,1,4,5,5,0,0,0,0,0,1,1,1,1,3,3,1,
+
+CTCDATA:0,0,1,3,1,0,1,4,1l,1S,1,7,0,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d
+
+CTCDATA:,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:s,1t,1a,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o
+
+CTCDATA:,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,
+
+CTCDATA:1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35R,8,8,
+
+CTCDATA:1,2,1,6,1,8,8,1,2,1,6,1,1g,1S,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w
+
+CTCDATA:,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,2,0,0,1
+
+CTCDATA:,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1m,1S,1,5,E,5,0,0,1
+
+CTCDATA:S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1
+
+CTCDATA:s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h
+
+CTCDATA:,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,3,0,1,1,0,0,0,0,1,0,3,0,0,0,0,1,
+
+CTCDATA:1,0,0,0,0,0,1,0,0,0,0,1,3,0,0,1,0,2D,1b,1,T,V,h,0,0,1S,w,l,1l,1t,1r,1h
+
+CTCDATA:,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t
+
+CTCDATA:,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,
+
+CTCDATA:1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,
+
+CTCDATA:1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1
+
+CTCDATA:j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1
+
+CTCDATA:d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq366,Q,Q,Q,0,Q,Q,Q,
+
+CTCDATA:4,4,0,1,1,1,1,1,Y,Y,1,1,1,1,1,1,Q,R,1,1,0,R,0,0,0,0,0,0,0,0,0,0,0,1,1,
+
+CTCDATA:1,1,Y,Y,1,1,1,1,1,1,4,R,1,1,0,R,Q,Q,Q,0,Q,Q,Q,4,4,0,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,M,0,0,O,O,O,0,O,O,N,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,M,0,0,1,Q,P,P,P,Q,P,P,P,P,P,Q,2,2,2,0,2,2,3,1,1,0,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,Q,Q,Q,Q,Q,4,4,4,Q,1,2,2,2,1,2,2,2,2,2,1,2D,1b,1,4,U,
+
+CTCDATA:5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n
+
+CTCDATA:,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq363,0,1P,0,N,0,0,0,0,0,1P,0,0,0,0,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,0,N,0,0,0,0,N,1P,0,0,N,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l
+
+CTCDATA:,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,
+
+CTCDATA:1Z,1o,1o,1d,1q,1X,1o,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq4iQ,Y,Y,X,X,Y,X,1,1,
+
+CTCDATA:1,R,2f,1,1,1,Y,Y,X,X,Y,X,1,1,1,Q,0,1,1,1,0,0,0,0,1,2f,0,0,X,1,O,O,O,P,
+
+CTCDATA:P,O,O,O,O,O,Q,0,Q,2,2,2,1,1,2,2,2,2,2,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1
+
+CTCDATA:b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,
+
+CTCDATA:l,1l,1o,1w,1o,1k,1Z,1x,1a,1Z,1b,1j,1t,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G
+
+CTCDATA:,k,1c,1Z,1s,1Nq366,X,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,Y,0,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,X,0,1,0,0,0,0,0,0,Y,X,X,0,1,1x,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z
+
+CTCDATA:,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,
+
+CTCDATA:1o,1w,1o,1k,1Z,1x,1d,1q,1l,1Z,1m,1Z,1f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,
+
+CTCDATA:1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1
+
+CTCDATA:U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q
+
+CTCDATA:,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s
+
+CTCDATA:,1Nq367,X,0,0,0,0,0,0,0,0,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,
+
+CTCDATA:1,7,3,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,
+
+CTCDATA:1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l
+
+CTCDATA:,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1r,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1
+
+CTCDATA:U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,
+
+CTCDATA:1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36A,X,0,0,0,0,1,0,X,0,0,0,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S
+
+CTCDATA:,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,
+
+CTCDATA:1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,
+
+CTCDATA:1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1
+
+CTCDATA:l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b
+
+CTCDATA:,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1N
+
+CTCDATA:q367,Y,X,0,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0,Q,0,P,Q,Y,X,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,Q,0,P,Q,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0
+
+CTCDATA:,N,N,N,N,O,E,Q,N,N,0,0,3,3,3,3,2,C,0,3,3,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1
+
+CTCDATA:b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,
+
+CTCDATA:1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq362,Y,X,1,1,Y,X,0,1,1,1
+
+CTCDATA:m,1b,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1
+
+CTCDATA:o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d
+
+CTCDATA:,1q,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq362,0,0,0,0,Q,P,Q,0,0,0,0,Q,P,Q,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1d,1J,1,d,k,j,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1
+
+CTCDATA:s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3ia,1,1,1,1,1,X,Y,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,X,Y,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1d,1J,1,5,1K,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,
+
+CTCDATA:1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,
+
+CTCDATA:1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,5s,0,1a,2,0,0,0,0,2,0,5
+
+CTCDATA:s,0,0,0,0,0,0,1,1,1,1,V,V,V,V,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,0,1a,0,0,0,0,1a,5s,0,0,1a,0,15,1J,1,P,H,G,0,0,1S,w,l
+
+CTCDATA:,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b
+
+CTCDATA:,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36s,X,X,2,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,1,2,0,3,2,1,1,X,X,
+
+CTCDATA:2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0,0,0,0,0,0,2,2,2,
+
+CTCDATA:2,2,2,1,2,X,0,1,1,1,1,1,1,1,1,1,2,1,2,1,1,0,2,1,1,1,1,1,1,0,0,1,1,1,0,
+
+CTCDATA:1,1,1i,1J,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1s,1t,1a,l,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,
+
+CTCDATA:1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,
+
+CTCDATA:1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U
+
+CTCDATA:,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,
+
+CTCDATA:k,1c,1Z,1s,1Nq36v,1,1,X,X,0,X,X,2,1,0,1,X,X,0,0,0,0,0,1,0,X,X,1,1,1,0,
+
+CTCDATA:1,2,1,1d,1J,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1
+
+CTCDATA:o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,
+
+CTCDATA:1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l
+
+CTCDATA:,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z
+
+CTCDATA:,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1
+
+CTCDATA:s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,
+
+CTCDATA:1Nq36s,0,15,0,2,2,0,0,0,0,2,0,15,0,0,0,0,2,2,0,2,0,0,0,0,2,15,0,0,2,0,
+
+CTCDATA:1U,1J,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,
+
+CTCDATA:1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,
+
+CTCDATA:1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o
+
+CTCDATA:,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1
+
+CTCDATA:f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,f,0,2,4,1,1,0,0,0,0,4,1,
+
+CTCDATA:1,0,f,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,f,0,0,2,0,0,0,0,0,0,0,0,0,0,0,>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/ctcerr.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,1513 @@
+
+*******************************************************************************
+
+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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/inc/unittest_mpdetailsviewplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 MpDetailsViewPlugin
+*
+*/
+
+#ifndef TESTMPDETAILSVIEWPLUGIN_H
+#define TESTMPDETAILSVIEWPLUGIN_H
+
+#include <QtTest/QtTest>
+
+class MpDetailsViewPlugin;
+
+class TestMpDetailsViewPlugin : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpDetailsViewPlugin();
+    virtual ~TestMpDetailsViewPlugin();
+
+private slots: // not treated as testfunctions, executed by the testing framework
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+    void testConstructor();
+    void testCreateView();
+    void testdestroyView();
+    void testActivateView();
+    void testDeactivateView();
+    void testGetView();
+private:
+
+    MpDetailsViewPlugin          *mTest;
+
+};
+
+#endif  // TESTMPDETAILSVIEWPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/profile.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,616 @@
+*****************************************************************************
+*           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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/sis.bat	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+@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_mpdetailsviewplugin.pkg
+signsis UT_mpdetailsviewplugin.sis UT_mpdetailsviewplugin.sisx ..\RndCerts\Nokia_RnDCert_02.der ..\RndCerts\Nokia_RnDCert_02.key
+del     UT_mpdetailsviewplugin.sis
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/src/unittest_mpdetailsviewplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,257 @@
+/*
+* 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 MpDetailsViewPlugin
+*
+*/
+
+#include <QSignalSpy>
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+
+#include "unittest_mpdetailsviewplugin.h"
+#include "stub/inc/mpdetailsview.h"
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpdetailsviewplugin.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;
+    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 );
+
+    return res;
+}
+
+TestMpDetailsViewPlugin::TestMpDetailsViewPlugin()
+    : mTest( 0 )
+{
+}
+
+TestMpDetailsViewPlugin::~TestMpDetailsViewPlugin()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpDetailsViewPlugin::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpDetailsViewPlugin::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpDetailsViewPlugin::init()
+{
+    mTest = new MpDetailsViewPlugin();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpDetailsViewPlugin::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ testConstructor
+ */
+void TestMpDetailsViewPlugin::testConstructor()
+{
+    QVERIFY( !mTest->mView );
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::NullView ); 
+}
+
+/*!
+ testCreateView
+ */
+void TestMpDetailsViewPlugin::testCreateView()
+{
+    mTest->createView();
+    QVERIFY( mTest->mView );
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Created );
+    QSignalSpy spy( mTest, SIGNAL( command( int ) ) );
+    mTest->mView->emitCommand( 123 );
+    QCOMPARE( spy.count(), 1 );
+    QCOMPARE( spy.at( 0 ).at( 0 ), QVariant( 123 ) );
+    
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+
+/*!
+ testdestroyView
+ */
+void TestMpDetailsViewPlugin::testdestroyView()
+{
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::Created;
+    mTest->destroyView();
+    QVERIFY( !mTest->mView );
+    
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::Initialized;
+    mTest->destroyView();
+    QVERIFY( !mTest->mView );
+    
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::Activated;
+    mTest->destroyView();
+    QVERIFY( !mTest->mView );
+    
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::NullView;
+    mTest->destroyView();
+    QVERIFY( mTest->mView );
+    
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+/*!
+ testActivateView
+ */
+void TestMpDetailsViewPlugin::testActivateView()
+{
+    mTest->mState = MpDetailsViewPlugin::NullView;
+    mTest->activateView(); // we should be able to call activate without a view and not crash.
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::NullView );
+    
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::NullView;
+    mTest->activateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::NullView );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Activated;
+    mTest->activateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Activated );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+           
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Created;
+    mTest->activateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Activated );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 1 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 1 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Initialized;
+    mTest->activateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Activated );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 1 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+       
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+/*!
+ testDeactivateView
+ */
+void TestMpDetailsViewPlugin::testDeactivateView()
+{
+    mTest->mState = MpDetailsViewPlugin::NullView;
+    mTest->deactivateView(); // we should be able to call deactivate without a view and not crash.
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::NullView );
+    
+    mTest->mView = new MpDetailsView();
+    mTest->mState = MpDetailsViewPlugin::NullView;
+    mTest->deactivateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::NullView );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Created;
+    mTest->deactivateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Created );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Initialized;
+    mTest->deactivateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Initialized );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 0 );
+    
+    mTest->mView->resetCounters();
+    mTest->mState = MpDetailsViewPlugin::Activated;
+    mTest->deactivateView();
+    QCOMPARE( mTest->mState, MpDetailsViewPlugin::Initialized );
+    QCOMPARE( mTest->mView->mInitializeViewCount, 0 );
+    QCOMPARE( mTest->mView->mActivateViewCount, 0 );
+    QCOMPARE( mTest->mView->mDeactivateViewCount, 1 );
+           
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+void TestMpDetailsViewPlugin::testGetView()
+{
+    MpDetailsView* tmpView;
+    mTest->mView = new MpDetailsView();
+    tmpView = mTest->mView;
+    QCOMPARE( int( tmpView ),int( mTest->getView() ) );
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/inc/mpdetailsview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpDetailsView stub for testing MpDetailsViewPlugin
+*
+*/
+
+#ifndef MPDETAILSVIEW_H
+#define MPDETAILSVIEW_H
+
+//includes
+#include <QGraphicsWidget>
+
+class MpDetailsView : public QGraphicsWidget
+{
+    Q_OBJECT
+
+public:
+    explicit MpDetailsView();
+    virtual ~MpDetailsView();
+    
+    void initializeView();
+    void activateView();
+    void deactivateView();
+
+    void emitCommand(int cmd);
+    void resetCounters();
+    
+signals:
+    void command(int cmd);
+
+public:
+    int mInitializeViewCount;
+    int mActivateViewCount;
+    int mDeactivateViewCount;
+    
+};
+
+#endif    // MPDETAILSVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/stub/src/mpdetailsview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpDetailsView stub for testing MpDetailsViewplugin
+*
+*/
+
+#include "stub/inc/mpdetailsview.h"
+
+
+/*!
+ Constructs the MpDetailsView stub
+ */
+MpDetailsView::MpDetailsView()
+    :mInitializeViewCount( 0 ),
+    mActivateViewCount( 0 ),
+    mDeactivateViewCount( 0 )
+{
+}
+
+/*!
+ Destructs the MpDetailsView stub
+ */
+MpDetailsView::~MpDetailsView()
+{
+}
+    
+/*!
+ Initializes the MpDetailsView stub
+ */
+void MpDetailsView::initializeView()
+{
+    mInitializeViewCount++;
+}
+
+/*!
+ Activates the MpDetailsView stub
+ */
+void MpDetailsView::activateView()
+{
+    mActivateViewCount++;
+}
+
+/*!
+ Deactivates the MpDetailsView stub
+ */
+void MpDetailsView::deactivateView()
+{
+    mDeactivateViewCount++;
+}
+
+/*!
+ Reset counters
+ */
+void MpDetailsView::resetCounters()
+{
+    mInitializeViewCount = 0;
+    mActivateViewCount = 0;
+    mDeactivateViewCount = 0;
+}
+
+/*!
+ emits the signal command
+ */
+void MpDetailsView::emitCommand( int cmd )
+{
+    emit command( cmd );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpdetailsviewplugin/unittest_mpdetailsviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,41 @@
+#
+# 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 += -lmpxviewframeworkqt.dll \
+        -lxqplugins
+        
+HEADERS += inc/unittest_mpdetailsviewplugin.h \        
+           ../../inc/mpdetailsviewplugin.h \
+           stub/inc/mpdetailsview.h            
+               
+SOURCES += src/unittest_mpdetailsviewplugin.cpp \
+		       ../../src/mpdetailsviewplugin.cpp \
+		       stub/src/mpdetailsview.cpp
+           
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/MON.sym	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,774 @@
+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<TProcessId> & 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<TMPXPlaybackPlayerType> & 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<TUid> & 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<TUid> & 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<TMPXAttribute> & 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<TMPXAttribute> & 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+; 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"
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/UT_mpmpxpbframeworkwrapper.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcdata.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,1044 @@
+
+
+CTCRTS: Write coverage data to file 2010-03-12 13:39:14
+
+CTCDATA:<START:1j,1M,1,4,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1p,1q,1b,1X,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1q,1d,1r,1n,1t,1q,1b,1d,1r,k,1b,1o,1o,1S,w,1U,1l,1
+
+CTCDATA:t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r
+
+CTCDATA:,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,
+
+CTCDATA:1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,1,0,1,0,0,0,1,0,1,0,1j,1M,1,A,6,5,0
+
+CTCDATA:,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,
+
+CTCDATA:1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s
+
+CTCDATA:,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq3QT,1,1,1,1,1,4,4,1,1,1,0,1,1,1,1,4,4,1,1,1,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,1,1,1,1,1,1j,1M,1,J,q,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1
+
+CTCDATA:q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1
+
+CTCDATA:s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1l,1n,1b,1X,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,
+
+CTCDATA:1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U
+
+CTCDATA:,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,u,0,E,1,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u,0,0,0,1,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,4,4,1,1,
+
+CTCDATA:1,1,1,1,0,D,0,0,0,1,D,u,0,0,D,0,18,1M,1,U,2,j,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1
+
+CTCDATA:k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d
+
+CTCDATA:,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,
+
+CTCDATA:1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1
+
+CTCDATA:G,k,1c,1Z,1s,1Nq3QO,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1a,1M,1,5,e,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S
+
+CTCDATA:,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1
+
+CTCDATA:f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,o,0,1,1,0,0,0,0,1,0,o,0
+
+CTCDATA:,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,1,0,0,0,0,1,o,0,0,1,0,1u,1M,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1
+
+CTCDATA:x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c
+
+CTCDATA:,1Z,1s,1Nq3QT,4,4,4,1,4,4,0,1,4,1c,1M,1,P,H,G,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1
+
+CTCDATA:m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,
+
+CTCDATA:1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1
+
+CTCDATA:r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QT,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,1l,1M,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k
+
+CTCDATA:,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k
+
+CTCDATA:,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QU,0,0,8,4,0,8,8
+
+CTCDATA:,0,0,0,0,8,4,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,1g,1M,1,5,A,5,0,0,1S,w,l,
+
+CTCDATA:1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r
+
+CTCDATA:,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,
+
+CTCDATA:1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,0,G,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,1X,1M,1,7,c,F,0,
+
+CTCDATA:0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1
+
+CTCDATA:S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QQ,0,G,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:1v,1S,1,D,q,p,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v
+
+CTCDATA:,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq35R,1,1,1,1,1,6,6,1,1,1,1,1,1,0,1,1,1,1,6,6,1,1,1,1,1,1,1,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1v,1S,1,4,S,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,
+
+CTCDATA:1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,1E,0,K,0,0,0,0,0,1E,0,0,0,0,1,1,1,1
+
+CTCDATA:,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,0,K,0,0,0,0,K,1E,0,0,K,0,1E,1S,1,B,9,
+
+CTCDATA:3,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq35O,6,6,1,4,5,5,1,0,0,0,0,6,6,1,4,5,5,0,0,0,0,0,1,1,1,1,3,3,1,
+
+CTCDATA:0,0,1,3,1,0,1,4,1l,1S,1,7,0,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d
+
+CTCDATA:,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:s,1t,1a,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o
+
+CTCDATA:,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,
+
+CTCDATA:1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35R,8,8,
+
+CTCDATA:1,2,1,6,1,8,8,1,2,1,6,1,1g,1S,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w
+
+CTCDATA:,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,2,0,0,1
+
+CTCDATA:,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1m,1S,1,5,E,5,0,0,1
+
+CTCDATA:S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1
+
+CTCDATA:s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h
+
+CTCDATA:,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,3,0,1,1,0,0,0,0,1,0,3,0,0,0,0,1,
+
+CTCDATA:1,0,0,0,0,0,1,0,0,0,0,1,3,0,0,1,0,2D,1b,1,T,V,h,0,0,1S,w,l,1l,1t,1r,1h
+
+CTCDATA:,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t
+
+CTCDATA:,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,
+
+CTCDATA:1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,
+
+CTCDATA:1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1
+
+CTCDATA:j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1
+
+CTCDATA:d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq366,Q,Q,Q,0,Q,Q,Q,
+
+CTCDATA:4,4,0,1,1,1,1,1,Y,Y,1,1,1,1,1,1,Q,R,1,1,0,R,0,0,0,0,0,0,0,0,0,0,0,1,1,
+
+CTCDATA:1,1,Y,Y,1,1,1,1,1,1,4,R,1,1,0,R,Q,Q,Q,0,Q,Q,Q,4,4,0,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,M,0,0,O,O,O,0,O,O,N,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,M,0,0,1,Q,P,P,P,Q,P,P,P,P,P,Q,2,2,2,0,2,2,3,1,1,0,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,Q,Q,Q,Q,Q,4,4,4,Q,1,2,2,2,1,2,2,2,2,2,1,2D,1b,1,4,U,
+
+CTCDATA:5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n
+
+CTCDATA:,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq363,0,1P,0,N,0,0,0,0,0,1P,0,0,0,0,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,0,N,0,0,0,0,N,1P,0,0,N,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l
+
+CTCDATA:,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,
+
+CTCDATA:1Z,1o,1o,1d,1q,1X,1o,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq4iQ,Y,Y,X,X,Y,X,1,1,
+
+CTCDATA:1,R,2f,1,1,1,Y,Y,X,X,Y,X,1,1,1,Q,0,1,1,1,0,0,0,0,1,2f,0,0,X,1,O,O,O,P,
+
+CTCDATA:P,O,O,O,O,O,Q,0,Q,2,2,2,1,1,2,2,2,2,2,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1
+
+CTCDATA:b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,
+
+CTCDATA:l,1l,1o,1w,1o,1k,1Z,1x,1a,1Z,1b,1j,1t,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G
+
+CTCDATA:,k,1c,1Z,1s,1Nq366,X,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,Y,0,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,X,0,1,0,0,0,0,0,0,Y,X,X,0,1,1x,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z
+
+CTCDATA:,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,
+
+CTCDATA:1o,1w,1o,1k,1Z,1x,1d,1q,1l,1Z,1m,1Z,1f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,
+
+CTCDATA:1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1
+
+CTCDATA:U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q
+
+CTCDATA:,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s
+
+CTCDATA:,1Nq367,X,0,0,0,0,0,0,0,0,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,
+
+CTCDATA:1,7,3,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,
+
+CTCDATA:1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l
+
+CTCDATA:,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1r,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1
+
+CTCDATA:U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,
+
+CTCDATA:1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36A,X,0,0,0,0,1,0,X,0,0,0,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S
+
+CTCDATA:,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,
+
+CTCDATA:1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,
+
+CTCDATA:1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1
+
+CTCDATA:l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b
+
+CTCDATA:,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1N
+
+CTCDATA:q367,Y,X,0,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0,Q,0,P,Q,Y,X,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,Q,0,P,Q,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0
+
+CTCDATA:,N,N,N,N,O,E,Q,N,N,0,0,3,3,3,3,2,C,0,3,3,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1
+
+CTCDATA:b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,
+
+CTCDATA:1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq362,Y,X,1,1,Y,X,0,1,1,1
+
+CTCDATA:m,1b,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1
+
+CTCDATA:o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d
+
+CTCDATA:,1q,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq362,0,0,0,0,Q,P,Q,0,0,0,0,Q,P,Q,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1d,1J,1,d,k,j,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1
+
+CTCDATA:s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3ia,1,1,1,1,1,X,Y,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,X,Y,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1d,1J,1,5,1K,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,
+
+CTCDATA:1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,
+
+CTCDATA:1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,5s,0,1a,2,0,0,0,0,2,0,5
+
+CTCDATA:s,0,0,0,0,0,0,1,1,1,1,V,V,V,V,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,0,1a,0,0,0,0,1a,5s,0,0,1a,0,15,1J,1,P,H,G,0,0,1S,w,l
+
+CTCDATA:,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b
+
+CTCDATA:,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36s,X,X,2,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,1,2,0,3,2,1,1,X,X,
+
+CTCDATA:2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0,0,0,0,0,0,2,2,2,
+
+CTCDATA:2,2,2,1,2,X,0,1,1,1,1,1,1,1,1,1,2,1,2,1,1,0,2,1,1,1,1,1,1,0,0,1,1,1,0,
+
+CTCDATA:1,1,1i,1J,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1s,1t,1a,l,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,
+
+CTCDATA:1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,
+
+CTCDATA:1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U
+
+CTCDATA:,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,
+
+CTCDATA:k,1c,1Z,1s,1Nq36v,1,1,X,X,0,X,X,2,1,0,1,X,X,0,0,0,0,0,1,0,X,X,1,1,1,0,
+
+CTCDATA:1,2,1,1d,1J,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1
+
+CTCDATA:o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,
+
+CTCDATA:1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l
+
+CTCDATA:,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z
+
+CTCDATA:,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1
+
+CTCDATA:s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,
+
+CTCDATA:1Nq36s,0,15,0,2,2,0,0,0,0,2,0,15,0,0,0,0,2,2,0,2,0,0,0,0,2,15,0,0,2,0,
+
+CTCDATA:1U,1J,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,
+
+CTCDATA:1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,
+
+CTCDATA:1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o
+
+CTCDATA:,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1
+
+CTCDATA:f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,f,0,2,4,1,1,0,0,0,0,4,1,
+
+CTCDATA:1,0,f,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,f,0,0,2,0,0,0,0,0,0,0,0,0,0,0,>
+
+
+
+CTCRTS: Write coverage data to file 2010-03-12 14:18:14
+
+CTCDATA:<START:2D,1b,1,S,V,h,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,
+
+CTCDATA:1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1
+
+CTCDATA:U,1F,1H,1G,k,1c,1Z,1s,1Nq5cu,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,6,6,1,1,1,1
+
+CTCDATA:,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,6,6,1,1,1,1,1,0,0,0,1,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,2D,1b,1,4,S,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,
+
+CTCDATA:1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1
+
+CTCDATA:v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,
+
+CTCDATA:1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1
+
+CTCDATA:q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1
+
+CTCDATA:U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,
+
+CTCDATA:1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1
+
+CTCDATA:v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq5cr,0,1E,0,K,0,0,0,0,0,1
+
+CTCDATA:E,0,0,0,0,1,1,1,1,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,0,K,0,0,0,0,K,1E,0,0
+
+CTCDATA:,K,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1X,1o,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G
+
+CTCDATA:,k,1c,1Z,1s,1Nq5cr,6,6,6,6,6,6,1,1,1,0,1,1,1,1,6,6,6,6,6,6,1,1,1,0,0,1
+
+CTCDATA:,1,1,0,0,0,0,0,1,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,
+
+CTCDATA:1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1
+
+CTCDATA:o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1o,1k,1Z,1x,1a,1Z,1b,1j,1t
+
+CTCDATA:,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q
+
+CTCDATA:,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1
+
+CTCDATA:r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j
+
+CTCDATA:,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq5cu,6,6,6,6,6,6,0,0,0,
+
+CTCDATA:0,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,6,6,6,6,6,0,0,0,0,6,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,1,0,0,0,0,0,0,6,6,6,0,0,1x
+
+CTCDATA:,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o
+
+CTCDATA:,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o
+
+CTCDATA:,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,
+
+CTCDATA:1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1o,1k,1Z,1x,1d,1q,1l,1Z,1m,1Z,1
+
+CTCDATA:f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,
+
+CTCDATA:1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1
+
+CTCDATA:o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq5cx,6,0,0,0,0,0,0,0,0,0,0,0,0,6,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,1,7,3,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,
+
+CTCDATA:1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1
+
+CTCDATA:v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1r
+
+CTCDATA:,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U
+
+CTCDATA:,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1
+
+CTCDATA:s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v
+
+CTCDATA:,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq5d2,6,0,0,0,0,1,0,6,0,0,0
+
+CTCDATA:,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q
+
+CTCDATA:,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s
+
+CTCDATA:,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1
+
+CTCDATA:s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v
+
+CTCDATA:,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1
+
+CTCDATA:o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq5cu,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1
+
+CTCDATA:o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,
+
+CTCDATA:1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s
+
+CTCDATA:,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,
+
+CTCDATA:1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c
+
+CTCDATA:,1Z,1s,1Nq5cr,6,6,1,1,6,6,0,1,1,>
+
+
+
+CTCRTS: Write coverage data to file 2010-03-15 15:03:54
+
+CTCDATA:<START:2D,1b,1,T,V,h,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,
+
+CTCDATA:1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1
+
+CTCDATA:U,1F,1H,1G,k,1c,1Z,1s,1NrBe2,Q,Q,Q,0,Q,Q,Q,Q,Q,0,1,1,1,1,1,Y,Y,1,1,1,1
+
+CTCDATA:,1,1,Q,R,1,1,0,R,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,Y,Y,1,1,1,1,1,1,Q,R,1,1
+
+CTCDATA:,0,R,Q,Q,Q,0,Q,Q,Q,Q,Q,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,O
+
+CTCDATA:,O,O,0,O,O,N,O,O,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,Q,P,P,P
+
+CTCDATA:,Q,P,P,P,P,P,Q,2,2,2,0,2,2,3,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,Q,Q,Q,Q,Q
+
+CTCDATA:,Q,Q,Q,Q,1,2,2,2,1,2,2,2,2,2,1,2D,1b,1,4,U,5,0,0,1S,w,l,1l,1t,1r,1h,1b
+
+CTCDATA:,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c
+
+CTCDATA:,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m
+
+CTCDATA:,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,
+
+CTCDATA:1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAOG,0,1P,0,N,0,0,0,0
+
+CTCDATA:,0,1P,0,0,0,0,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,N,0,0,0,0,
+
+CTCDATA:N,1P,0,0,N,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q
+
+CTCDATA:,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1X,1o,k,1b,1
+
+CTCDATA:o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,
+
+CTCDATA:1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1
+
+CTCDATA:f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c
+
+CTCDATA:,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,
+
+CTCDATA:1F,1H,1G,k,1c,1Z,1s,1NrBmP,Y,Y,X,X,Y,X,1,1,1,R,3N,1,1,1,Y,Y,X,X,Y,X,1,
+
+CTCDATA:1,1,Q,0,1,1,1,0,0,0,0,1,3N,0,0,X,1,O,O,O,P,P,O,O,O,O,O,Q,0,Q,2,2,2,1,1
+
+CTCDATA:,2,2,2,2,2,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q
+
+CTCDATA:,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s
+
+CTCDATA:,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1o,1k,1Z,1x,1a,1
+
+CTCDATA:Z,1b,1j,1t,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1
+
+CTCDATA:Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1
+
+CTCDATA:v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAOL,X,X,X,X,
+
+CTCDATA:Y,X,0,0,0,0,X,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Y,0,X,X,X,Y,X,0,
+
+CTCDATA:0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,X,0,1,0,0,0,0,0,0,Y,
+
+CTCDATA:X,X,0,1,1x,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l
+
+CTCDATA:,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1
+
+CTCDATA:l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z
+
+CTCDATA:,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1o,1k,1Z,1x,1d,1q,1l,
+
+CTCDATA:1Z,1m,1Z,1f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,
+
+CTCDATA:1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAOO,X,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,1,7,3,0,0,0,1S,w,l,1l,1t,1r
+
+CTCDATA:,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l
+
+CTCDATA:,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l
+
+CTCDATA:,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,
+
+CTCDATA:1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1
+
+CTCDATA:l,1o,1w,1r,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1
+
+CTCDATA:x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1
+
+CTCDATA:n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAOO,X,0,0,0,0,1
+
+CTCDATA:,0,X,0,0,0,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1
+
+CTCDATA:Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1
+
+CTCDATA:s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n
+
+CTCDATA:,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,
+
+CTCDATA:1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,
+
+CTCDATA:1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s
+
+CTCDATA:,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAON,Y,X,0,R,R,R,R,R,R,R,1,
+
+CTCDATA:R,Q,Q,Q,Q,Q,Q,Q,Q,0,Q,0,P,Q,Y,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:Q,0,P,Q,R,R,R,R,R,R,R,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0,N,N,N,N,O,E,Q,N,N,0,0,3,3,
+
+CTCDATA:3,3,2,C,0,3,3,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d
+
+CTCDATA:,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1
+
+CTCDATA:o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,
+
+CTCDATA:1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d
+
+CTCDATA:,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,
+
+CTCDATA:1H,1G,k,1c,1Z,1s,1NrAOG,Y,X,1,1,Y,X,0,1,1,1m,1b,1,7,c,F,0,0,1S,w,l,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r
+
+CTCDATA:,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q
+
+CTCDATA:,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n,1b,1X,1l,1o,1r,
+
+CTCDATA:1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1NrAOL,0,0,0,0,Q,P,Q,0,
+
+CTCDATA:0,0,0,Q,P,Q,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/ctcerr.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,5529 @@
+
+*******************************************************************************
+
+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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/logger.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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:  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 <e32debug.h>
+
+    #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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/inc/unittest_mpmpxdetailsframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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 <QtTest/QtTest>
+
+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
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/profile.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,1168 @@
+*****************************************************************************
+*           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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/sis.bat	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+@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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/src/unittest_mpmpxdetailsframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,608 @@
+/*
+* 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 <QSignalSpy>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include <mpxmessagegeneraldefs.h>
+#include <mpxplaybackmessage.h>
+#include <mpxmediamusicdefs.h>
+#include <mpxmediageneraldefs.h>
+
+#include <e32std.h>
+#include <e32des8.h>
+
+#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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<const TUint16*>(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<TInt> supportedIds;
+    CleanupClosePushL( supportedIds );
+    supportedIds.AppendL( KMPXMessageContentIdGeneral );
+    CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array());
+    CleanupStack::PopAndDestroy(&supportedIds);
+    CleanupStack::PushL(testMessage);
+    testMessage->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMessageGeneral);    
+    
+    //Media change
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
+    testMessage->SetTObjectValueL<TInt>(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<TInt> 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<const TUint16*>( 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<const TUint16*>( 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<const TUint16*>( 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<const TUint16*>( 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<const TUint16*>( 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<const TUint16*>( 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<TInt64>( KMPXMediaMusicYear, date.Int64() );        
+    }
+
+    TPtrC musicAlbumTrack( reinterpret_cast<const TUint16*>( 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<const TUint16*>( 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<const TUint16*>( 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpsongdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* 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 <QObject>
+#include <QString>
+#include <QPixmap>
+
+//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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplaybackutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <mpxplaybackframeworkdefs.h>
+#include <mpxcommand.h>
+#include <f32file.h>
+#include <BADESCA.H>
+
+//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<TProcessId>& 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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxplayermanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <e32base.h>
+#include <e32cmn.h>
+#include <mpxplaybackplugin.hrh>
+
+class MMPXPlayer;
+class MMPXPlaybackCallback;
+
+class MMPXPlayerManager
+{
+public:
+    MMPXPlayerManager();
+    ~MMPXPlayerManager();
+    
+public: // MMPXPlayerManager
+    void GetPlayerTypesL(RArray<TMPXPlaybackPlayerType>& aTypes);
+    HBufC* PlayerTypeDisplayNameL(TMPXPlaybackPlayerType aType);
+    void GetPlayerListL(RArray<TUid>& aPlayers);
+    void GetPlayerListL(RArray<TUid>& 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/inc/mpxsource.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <e32base.h>
+#include <e32cmn.h>
+#include <f32file.h>
+
+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<TMPXAttribute>& aAttrs, MMPXPlaybackCallback& aCallback);
+    void MediaL(const TArray<TMPXAttribute>& aAttrs, MMPXPlaybackCallback& aCallback,
+                            CMPXAttributeSpecs* aSpecs);    
+};
+    
+#endif // MPXSOURCE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpsongdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,384 @@
+/*
+* 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 <qstring>
+#include <qpixmap>
+
+#include <thumbnailmanager_qt.h>
+#include <thumbnaildata.h>
+#include <thumbnailobjectsource.h>
+
+#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")
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplaybackutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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<TProcessId>& /*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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxplayermanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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<TMPXPlaybackPlayerType>& 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<TUid>& aPlayers)
+{
+    TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp")    
+}
+
+void MMPXPlayerManager::GetPlayerListL(RArray<TUid>& 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;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/stub/src/mpxsource.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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<TMPXAttribute>& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/)
+{
+    TX_ENTRY_ARGS("STUB")    
+}
+
+void MMPXSource::MediaL(const TArray<TMPXAttribute>& /*aAttrs*/, MMPXPlaybackCallback& /*aCallback*/,
+                            CMPXAttributeSpecs* /*aSpecs*/)
+{
+    TX_ENTRY_ARGS("STUB WARNING! The unit test required to implement this. Currently empty imp")    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpmpxdetailsframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 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
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.dat has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/MON.sym	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,686 @@
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+; 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"
+
Binary file mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/UT_mpsongdata.sisx has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcdata.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,652 @@
+
+
+CTCRTS: Write coverage data to file 2010-03-12 13:39:14
+
+CTCDATA:<START:1j,1M,1,4,2,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,
+
+CTCDATA:1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l
+
+CTCDATA:,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1p,1q,1b,1X,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1q,1d,1r,1n,1t,1q,1b,1d,1r,k,1b,1o,1o,1S,w,1U,1l,1
+
+CTCDATA:t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r
+
+CTCDATA:,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,
+
+CTCDATA:1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,1,0,1,0,0,0,1,0,1,0,1j,1M,1,A,6,5,0
+
+CTCDATA:,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,
+
+CTCDATA:1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s
+
+CTCDATA:,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq3QT,1,1,1,1,1,4,4,1,1,1,0,1,1,1,1,4,4,1,1,1,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,1,1,1,1,1,1j,1M,1,J,q,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1
+
+CTCDATA:q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1
+
+CTCDATA:s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1l,1n,1b,1X,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,
+
+CTCDATA:1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U
+
+CTCDATA:,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,u,0,E,1,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,u,0,0,0,1,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,4,4,1,1,
+
+CTCDATA:1,1,1,1,0,D,0,0,0,1,D,u,0,0,D,0,18,1M,1,U,2,j,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1
+
+CTCDATA:k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d
+
+CTCDATA:,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,
+
+CTCDATA:1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1
+
+CTCDATA:G,k,1c,1Z,1s,1Nq3QO,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,4,4,4,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1a,1M,1,5,e,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S
+
+CTCDATA:,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1
+
+CTCDATA:f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QN,0,o,0,1,1,0,0,0,0,1,0,o,0
+
+CTCDATA:,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,1,0,0,0,0,1,o,0,0,1,0,1u,1M,1,4,1,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1
+
+CTCDATA:x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z
+
+CTCDATA:,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c
+
+CTCDATA:,1Z,1s,1Nq3QT,4,4,4,1,4,4,0,1,4,1c,1M,1,P,H,G,0,0,1S,w,l,1l,1t,1r,1h,1
+
+CTCDATA:b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1
+
+CTCDATA:c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1
+
+CTCDATA:m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,
+
+CTCDATA:1t,1a,l,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1
+
+CTCDATA:r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h
+
+CTCDATA:,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QT,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,1l,1M,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k
+
+CTCDATA:,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s
+
+CTCDATA:,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k
+
+CTCDATA:,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k
+
+CTCDATA:,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QU,0,0,8,4,0,8,8
+
+CTCDATA:,0,0,0,0,8,4,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,1g,1M,1,5,A,5,0,0,1S,w,l,
+
+CTCDATA:1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m
+
+CTCDATA:,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r
+
+CTCDATA:,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1
+
+CTCDATA:d,1v,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,
+
+CTCDATA:1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QR,0,G,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,1X,1M,1,7,c,F,0,
+
+CTCDATA:0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1
+
+CTCDATA:S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3QQ,0,G,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,G,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:1v,1S,1,D,q,p,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,
+
+CTCDATA:1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l,1t,1m,1h,
+
+CTCDATA:1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1
+
+CTCDATA:h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v
+
+CTCDATA:,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq35R,1,1,1,1,1,6,6,1,1,1,1,1,1,0,1,1,1,1,6,6,1,1,1,1,1,1,1,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1v,1S,1,4,S,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,
+
+CTCDATA:1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1l,1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,
+
+CTCDATA:1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s
+
+CTCDATA:,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,
+
+CTCDATA:1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,1E,0,K,0,0,0,0,0,1E,0,0,0,0,1,1,1,1
+
+CTCDATA:,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1,0,K,0,0,0,0,K,1E,0,0,K,0,1E,1S,1,B,9,
+
+CTCDATA:3,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,
+
+CTCDATA:1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1
+
+CTCDATA:Z,1s,1Nq35O,6,6,1,4,5,5,1,0,0,0,0,6,6,1,4,5,5,0,0,0,0,0,1,1,1,1,3,3,1,
+
+CTCDATA:0,0,1,3,1,0,1,4,1l,1S,1,7,0,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d
+
+CTCDATA:,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k
+
+CTCDATA:,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:s,1t,1a,l,1r,1q,1b,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o
+
+CTCDATA:,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1
+
+CTCDATA:t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,
+
+CTCDATA:1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35R,8,8,
+
+CTCDATA:1,2,1,6,1,8,8,1,2,1,6,1,1g,1S,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,
+
+CTCDATA:1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,k,1b,1o,1o,1S,w
+
+CTCDATA:,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r
+
+CTCDATA:,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,2,0,0,1
+
+CTCDATA:,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1m,1S,1,5,E,5,0,0,1
+
+CTCDATA:S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l
+
+CTCDATA:,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1
+
+CTCDATA:u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1l,1n,1b,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,
+
+CTCDATA:1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1
+
+CTCDATA:s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h
+
+CTCDATA:,1s,1s,1d,1r,1s,1X,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1U,1F,1H,1G,k,1c,1Z,1s,1Nq35O,0,3,0,1,1,0,0,0,0,1,0,3,0,0,0,0,1,
+
+CTCDATA:1,0,0,0,0,0,1,0,0,0,0,1,3,0,0,1,0,2D,1b,1,T,V,h,0,0,1S,w,l,1l,1t,1r,1h
+
+CTCDATA:,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o
+
+CTCDATA:,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t
+
+CTCDATA:,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,
+
+CTCDATA:1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,
+
+CTCDATA:1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1
+
+CTCDATA:j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1
+
+CTCDATA:d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,
+
+CTCDATA:1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1
+
+CTCDATA:q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq366,Q,Q,Q,0,Q,Q,Q,
+
+CTCDATA:4,4,0,1,1,1,1,1,Y,Y,1,1,1,1,1,1,Q,R,1,1,0,R,0,0,0,0,0,0,0,0,0,0,0,1,1,
+
+CTCDATA:1,1,Y,Y,1,1,1,1,1,1,4,R,1,1,0,R,Q,Q,Q,0,Q,Q,Q,4,4,0,1,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,0,0,0,0,M,0,0,O,O,O,0,O,O,N,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,0,0,0,M,0,0,1,Q,P,P,P,Q,P,P,P,P,P,Q,2,2,2,0,2,2,3,1,1,0,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,Q,Q,Q,Q,Q,4,4,4,Q,1,2,2,2,1,2,2,2,2,2,1,2D,1b,1,4,U,
+
+CTCDATA:5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1
+
+CTCDATA:k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,
+
+CTCDATA:1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1l,1n
+
+CTCDATA:,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq363,0,1P,0,N,0,0,0,0,0,1P,0,0,0,0,1,1,1,1,7,7,7,7,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,0,N,0,0,0,0,N,1P,0,0,N,0,1P,1b,1,E,8,D,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1b,l
+
+CTCDATA:,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,
+
+CTCDATA:1Z,1o,1o,1d,1q,1X,1o,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,
+
+CTCDATA:1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1
+
+CTCDATA:k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d
+
+CTCDATA:,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,
+
+CTCDATA:1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq4iQ,Y,Y,X,X,Y,X,1,1,
+
+CTCDATA:1,R,2f,1,1,1,Y,Y,X,X,Y,X,1,1,1,Q,0,1,1,1,0,0,0,0,1,2f,0,0,X,1,O,O,O,P,
+
+CTCDATA:P,O,O,O,O,O,Q,0,Q,2,2,2,1,1,2,2,2,2,2,0,1z,1b,1,V,A,2,0,0,1S,w,l,1l,1t
+
+CTCDATA:,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l
+
+CTCDATA:,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1
+
+CTCDATA:b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,
+
+CTCDATA:l,1l,1o,1w,1o,1k,1Z,1x,1a,1Z,1b,1j,1t,1s,1h,1k,1h,1s,1x,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1
+
+CTCDATA:Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G
+
+CTCDATA:,k,1c,1Z,1s,1Nq366,X,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,Y,0,X,X,X,Y,X,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,X,0,1,0,0,0,0,0,0,Y,X,X,0,1,1x,1b,1,D,2,0,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z
+
+CTCDATA:,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l,1r,1q,1b,l,1l,
+
+CTCDATA:1o,1w,1o,1k,1Z,1x,1d,1q,1l,1Z,1m,1Z,1f,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,
+
+CTCDATA:1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1
+
+CTCDATA:U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q
+
+CTCDATA:,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,
+
+CTCDATA:1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s
+
+CTCDATA:,1Nq367,X,0,0,0,0,0,0,0,0,0,0,0,0,X,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1q,1b,
+
+CTCDATA:1,7,3,0,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1
+
+CTCDATA:v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,
+
+CTCDATA:1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l
+
+CTCDATA:,1r,1s,1t,1a,l,1r,1q,1b,l,1l,1o,1w,1r,1n,1t,1q,1b,1d,k,1b,1o,1o,1S,w,1
+
+CTCDATA:U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h
+
+CTCDATA:,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,
+
+CTCDATA:1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1
+
+CTCDATA:h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36A,X,0,0,0,0,1,0,X,0,0,0,0,1,0,0,0,0,1r,1b,1,P,H,B,0,0,1S
+
+CTCDATA:,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,
+
+CTCDATA:1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,
+
+CTCDATA:1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h
+
+CTCDATA:,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,l,1r,1s,1t,1a,l
+
+CTCDATA:,1r,1q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,
+
+CTCDATA:1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1
+
+CTCDATA:l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b
+
+CTCDATA:,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,
+
+CTCDATA:1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1N
+
+CTCDATA:q367,Y,X,0,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0,Q,0,P,Q,Y,X,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,Q,0,P,Q,R,R,R,R,R,5,5,1,R,Q,Q,Q,Q,Q,Q,Q,Q,0
+
+CTCDATA:,N,N,N,N,O,E,Q,N,N,0,0,3,3,3,3,2,C,0,3,3,0,1N,1b,1,4,1,0,0,0,1S,w,l,1l
+
+CTCDATA:,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1q,1
+
+CTCDATA:b,l,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,
+
+CTCDATA:1q,1Z,1o,1o,1d,1q,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,
+
+CTCDATA:1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1
+
+CTCDATA:r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r
+
+CTCDATA:,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,
+
+CTCDATA:1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z,1s,1Nq362,Y,X,1,1,Y,X,0,1,1,1
+
+CTCDATA:m,1b,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h
+
+CTCDATA:,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1
+
+CTCDATA:o,1w,1c,1d,1s,1Z,1h,1k,1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d
+
+CTCDATA:,1q,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,
+
+CTCDATA:1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1
+
+CTCDATA:r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r
+
+CTCDATA:,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1l,1o,1w,1c,1d,1s,1Z,1h,1k,
+
+CTCDATA:1r,1e,1q,1Z,1l,1d,1v,1n,1q,1j,1v,1q,1Z,1o,1o,1d,1q,1U,1F,1H,1G,k,1c,1Z
+
+CTCDATA:,1s,1Nq362,0,0,0,0,Q,P,Q,0,0,0,0,Q,P,Q,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1d,1J,1,d,k,j,0,0,1S,w,l,1l,1t,1r,1
+
+CTCDATA:h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1q,1b,l,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,
+
+CTCDATA:w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f
+
+CTCDATA:,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1
+
+CTCDATA:s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq3ia,1,1,1,1,1,X,Y,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,X,Y,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+
+CTCDATA:,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
+
+CTCDATA:,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1d,1J,1,5,1K,5,0,0,1S,w,l,1
+
+CTCDATA:l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,
+
+CTCDATA:1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,
+
+CTCDATA:1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,
+
+CTCDATA:1n,1b,1X,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b
+
+CTCDATA:,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1
+
+CTCDATA:o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t
+
+CTCDATA:,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,
+
+CTCDATA:1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,5s,0,1a,2,0,0,0,0,2,0,5
+
+CTCDATA:s,0,0,0,0,0,0,1,1,1,1,V,V,V,V,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+
+CTCDATA:1,1,1,1,1,1,1,1,1,0,1a,0,0,0,0,1a,5s,0,0,1a,0,15,1J,1,P,H,G,0,0,1S,w,l
+
+CTCDATA:,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1
+
+CTCDATA:m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,l,1r,1
+
+CTCDATA:q,1b,l,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b
+
+CTCDATA:,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,
+
+CTCDATA:1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1
+
+CTCDATA:t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,
+
+CTCDATA:1c,1Z,1s,1Nq36s,X,X,2,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,1,2,0,3,2,1,1,X,X,
+
+CTCDATA:2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,1,0,0,0,0,0,0,0,0,0,2,2,2,
+
+CTCDATA:2,2,2,1,2,X,0,1,1,1,1,1,1,1,1,1,2,1,2,1,1,0,2,1,1,1,1,1,1,0,0,1,1,1,0,
+
+CTCDATA:1,1,1i,1J,1,9,7,2,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,
+
+CTCDATA:1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d
+
+CTCDATA:,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o
+
+CTCDATA:,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1r,1s,1t,1a,l,1r,1q,1b,l,1s,1g,1t,1l,1a,1m,
+
+CTCDATA:1Z,1h,1k,1l,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,
+
+CTCDATA:1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1
+
+CTCDATA:o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U
+
+CTCDATA:,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,
+
+CTCDATA:k,1c,1Z,1s,1Nq36v,1,1,X,X,0,X,X,2,1,0,1,X,X,0,0,0,0,0,1,0,X,X,1,1,1,0,
+
+CTCDATA:1,2,1,1d,1J,1,5,A,5,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1
+
+CTCDATA:o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,
+
+CTCDATA:1d,1v,1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,
+
+CTCDATA:1o,1r,1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1s,1g,1t,1l,1a,1m,1Z,1h,1k,1l
+
+CTCDATA:,1Z,1m,1Z,1f,1d,1q,1X,1p,1s,k,1b,1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z
+
+CTCDATA:,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,
+
+CTCDATA:1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1
+
+CTCDATA:s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,
+
+CTCDATA:1Nq36s,0,15,0,2,2,0,0,0,0,2,0,15,0,0,0,0,2,2,0,2,0,0,0,0,2,15,0,0,2,0,
+
+CTCDATA:1U,1J,1,7,c,F,0,0,1S,w,l,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,l,1l,1o,1u,1
+
+CTCDATA:h,1d,1v,1o,1k,1t,1f,1h,1m,1r,l,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,
+
+CTCDATA:1o,1k,1t,1f,1h,1m,l,1s,1r,1q,1b,l,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,
+
+CTCDATA:1n,1m,1f,1c,1Z,1s,1Z,l,1l,1n,1b,1X,1l,1o,1r,1n,1m,1f,1c,1Z,1s,1Z,k,1b,
+
+CTCDATA:1o,1o,1S,w,1U,1l,1t,1r,1h,1b,1o,1k,1Z,1x,1d,1q,1U,1l,1o,1u,1h,1d,1v,1o
+
+CTCDATA:,1k,1t,1f,1h,1m,1r,1U,1l,1o,1c,1d,1s,1Z,1h,1k,1r,1u,1h,1d,1v,1o,1k,1t,
+
+CTCDATA:1f,1h,1m,1U,1s,1r,1q,1b,1U,1t,1m,1h,1s,1s,1d,1r,1s,1X,1l,1o,1r,1n,1m,1
+
+CTCDATA:f,1c,1Z,1s,1Z,1U,1F,1H,1G,k,1c,1Z,1s,1Nq36s,0,f,0,2,4,1,1,0,0,0,0,4,1,
+
+CTCDATA:1,0,f,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+
+CTCDATA:0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,f,0,0,2,0,0,0,0,0,0,0,0,0,0,0,>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/ctcerr.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,2213 @@
+
+*******************************************************************************
+
+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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/inc/unittest_mpsongdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* 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 <QtTest/QtTest>
+
+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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/profile.txt	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,938 @@
+*****************************************************************************
+*           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)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/sis.bat	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,20 @@
+@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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/src/unittest_mpsongdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,471 @@
+/*
+* 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 <QSignalSpy>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbicon.h>
+
+#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 );
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/inc/thumbnailmanager_qt.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <qobject>
+#include <QPixmap.h>
+
+
+/** 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_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/stub/src/thumbnailmanager_qt.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 <qsize.h>
+#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;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpdetailsviewplugin/tsrc/unittest_mpsongdata/unittest_mpsongdata.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,25 @@
+######################################################################
+# 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwidget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Equalizer dialog widget.
+*
+*/
+
+#ifndef MPEQUALIZERWIDGET_H
+#define MPEQUALIZERWIDGET_H
+
+//includes
+#include <hbdialog.h>
+
+//forward declartions
+class HbRadioButtonList;
+class MpEqualizerWrapper;
+
+//class declaration
+class MpEqualizerWidget : public HbDialog
+{
+
+    Q_OBJECT
+
+public:
+    explicit MpEqualizerWidget();
+    virtual ~MpEqualizerWidget();
+
+public:
+    void initialize();
+    void prepareDialog();
+    
+public slots:
+    void presetSelected(int index);
+    void equalizerReady();
+    void cancelSelected(bool checked);
+    void okSelected(bool checked);
+
+private:
+    
+    MpEqualizerWrapper *mEqualizerWrapper;  //owned    
+    HbRadioButtonList  *mPresetsList;  //owned
+    
+    int  mOriginalPreset;
+    bool mEqualizerReady;
+
+    Q_DISABLE_COPY(MpEqualizerWidget)
+    
+};
+
+#endif //MPEQUALIZERWIDGET_H
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Wrapper for equalizer utility
+*
+*/
+
+#ifndef MPEQUALIZERWRAPPER_H
+#define MPEQUALIZERWRAPPER_H
+
+// System includes
+#include <qobject>
+#include <QStringList>
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/inc/mpequalizerwrapper_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* 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 <e32base.h>
+#include <mdaaudiosampleplayer.h>
+
+// 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
--- a/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/inc/mpplaybackview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -26,6 +26,8 @@
 class MpMpxPbFrameworkWrapper;
 class MpPlaybackData;
 class MpPlaybackWidget;
+class MpEqualizerWidget;
+class QTranslator;
 
 
 class MpPlaybackView : public MpViewBase
@@ -47,18 +49,21 @@
 
 public slots:
 
-    void startCollectionView();
+    void startSettingsView();
     void back();
     void exit();
 
     void playbackStateChanged();
-
+    
+    void flip();
+    
     void toggleShuffle();
-    void shuffleChanged(bool shuffle);
+    void shuffleChanged( bool shuffle );
     void toggleRepeat();
-    void repeatChanged(bool repeat);
+    void repeatChanged( bool repeat );
 
     void handleSongSelected();
+    void showEqualizerDialog();
 
 private:
 
@@ -70,6 +75,7 @@
     MpMpxPbFrameworkWrapper *mFrameworkWrapper; // Own
     MpPlaybackData          *mPlaybackData;     // Not own
     MpPlaybackWidget        *mPlaybackWidget;   // Not own
+    MpEqualizerWidget       *mEqualizerWidget;  // Own
 
     HbMainWindow            *mWindow;           // Not own
     HbAction                *mSoftKeyBack;      // Own
@@ -83,6 +89,9 @@
     HbAction                *mPlayPauseAction;  // Not own
     HbAction                *mRepeatAction;     // Not own
     HbAction                *mShuffleAction;    // Not own
+    
+    QTranslator             *mMpTranslator;     // Own
+    QTranslator             *mCommonTranslator; // Own
 
     bool                    mShuffle;
     bool                    mRepeat;
--- a/mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/mpplaybackviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -37,12 +37,17 @@
         -lmpxcollectionutility.dll \
         -lestor.dll \
 	-lmpxviewframeworkqt.dll \
-	-lhbcore \
-	-lhbwidgets \
-	-lhbtools \
+	-laudioequalizerutility.dll \
 	-lmpsettingsmanager
 	
-symbian:TARGET.EPOCALLOWDLLDATA = 1
+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"
+}
 
 HEADERS = ../../inc/mpviewbase.h \
       inc/mpplaybackviewplugin.h \
@@ -50,14 +55,20 @@
       inc/mpmpxpbframeworkwrapper.h \
       inc/mpmpxpbframeworkwrapper_p.h \
       inc/mpplaybackdata.h \
-      inc/mpplaybackwidget.h
+      inc/mpplaybackwidget.h \
+      inc/mpequalizerwrapper.h \
+      inc/mpequalizerwrapper_p.h \
+      inc/mpequalizerwidget.h
 
 SOURCES += src/mpplaybackviewplugin.cpp \
        src/mpplaybackview.cpp \
        src/mpplaybackdata.cpp \
        src/mpplaybackwidget.cpp \
        src/mpmpxpbframeworkwrapper.cpp \
-       src/mpmpxpbframeworkwrapper_p.cpp
+       src/mpmpxpbframeworkwrapper_p.cpp \
+       src/mpequalizerwrapper.cpp \
+       src/mpequalizerwrapper_p.cpp \
+       src/mpequalizerwidget.cpp
        
 RESOURCES += resources/mpplaybackviewpluginresources.qrc
 
--- a/mpviewplugins/mpplaybackviewplugin/resources/info.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="9.8100586" y1="25.4345703" x2="25.8537941" y2="9.3908329">
-		<stop  offset="0" style="stop-color:#FFFFFF"/>
-		<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-		<stop  offset="1" style="stop-color:#FFFFFF"/>
-	</linearGradient>
-	<path fill="url(#SVGID_1_)" d="M17.8320312,6.0688477c-6.2646484,0-11.34375,5.078125-11.34375,11.3447266
-		c0,6.2661133,5.0791016,11.3442383,11.34375,11.3442383c6.265625,0,11.3447266-5.078125,11.3447266-11.3442383
-		C29.1767578,11.1469727,24.0976562,6.0688477,17.8320312,6.0688477z M19.8300781,25.8691406h-3.4628906V15.5717773h-1.1894531
-		v-1.9707031h4.6523438V25.8691406z M19.4707031,11.9047852c-0.34375,0.28125-0.8007812,0.4238281-1.3710938,0.4238281
-		c-0.5634766,0-1.0166016-0.1425781-1.3613281-0.4238281s-0.5175781-0.6699219-0.5175781-1.1630859
-		c0-0.4863281,0.1699219-0.8720703,0.5068359-1.1582031c0.3378906-0.2851562,0.7939453-0.4267578,1.3720703-0.4267578
-		c0.5498047,0,1.0019531,0.1445312,1.3564453,0.4326172c0.3535156,0.2880859,0.5322266,0.6728516,0.5322266,1.1523438
-		C19.9882812,11.2348633,19.8164062,11.6235352,19.4707031,11.9047852z"/>
-</g>
-</svg>
--- a/mpviewplugins/mpplaybackviewplugin/resources/mpplaybackviewpluginresources.qrc	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/resources/mpplaybackviewpluginresources.qrc	Fri Apr 16 14:56:30 2010 +0300
@@ -1,15 +1,7 @@
 <RCC>
 
     <qresource prefix="/playbackviewicons" >
-        <file alias="defaultalbumart.png">defaultalbumart.png</file>
-        <file alias="info.svg">info.svg</file>
-        <file alias="next.svg">next.svg</file>
-        <file alias="pause.svg">pause.svg</file>
-        <file alias="play.svg">play.svg</file>
-        <file alias="prev.svg">prev.svg</file>
-        <file alias="shuffle_on.svg">shuffle_on.svg</file>        
-        <file alias="shuffle_off.svg">shuffle_off.svg</file>  
-        <file alias="select.png" >select.png</file>
+        <file alias="defaultalbumart.png">defaultalbumart.png</file>  
     </qresource>
     
     <qresource prefix="/playbackviewdocml" >
--- a/mpviewplugins/mpplaybackviewplugin/resources/next.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="17.9580078" y1="24.4814453" x2="32.0948372" y2="10.3446169">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M20.8525391,8.0249023c0-0.7685547,0.6240234-1.390625,1.3925781-1.390625h5.5625
-			c0.7675781,0,1.3916016,0.6220703,1.3916016,1.390625v18.7758789c0,0.7695312-0.6240234,1.390625-1.3916016,1.390625h-5.5625
-			c-0.7685547,0-1.3925781-0.6210938-1.3925781-1.390625V8.0249023z"/>
-		<g>
-			<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.7060547" y1="22.9667969" x2="14.8120146" y2="11.860836">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" d="M6.4824219,9.7250977c0-1.1000977,0.7460938-1.4970703,1.6582031-0.8818359l11.0537109,7.4521484
-				c0.9121094,0.6152344,0.9121094,1.6210938,0,2.2358398L8.140625,25.9833984
-				c-0.9121094,0.6152344-1.6582031,0.2177734-1.6582031-0.8818359V9.7250977z"/>
-		</g>
-	</g>
-</g>
-</svg>
Binary file mpviewplugins/mpplaybackviewplugin/resources/nullsound.mp3 has changed
--- a/mpviewplugins/mpplaybackviewplugin/resources/pause.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.0239258" y1="24.3642578" x2="18.9261436" y2="10.462039">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M14.7099609,6.8129883H9.2382812c-0.7539062,0-1.3671875,0.6123047-1.3671875,1.3671875v18.4663086
-			c0,0.7539062,0.6132812,1.3671875,1.3671875,1.3671875h5.4716797c0.7548828,0,1.3681641-0.6132812,1.3681641-1.3671875V8.1801758
-			C16.078125,7.425293,15.4648438,6.8129883,14.7099609,6.8129883z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="16.4360352" y1="24.3642578" x2="30.3382092" y2="10.4620829">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M26.1220703,6.8129883h-5.4707031c-0.7548828,0-1.3681641,0.6123047-1.3681641,1.3671875
-			v18.4663086c0,0.7539062,0.6132812,1.3671875,1.3681641,1.3671875h5.4707031c0.7548828,0,1.3681641-0.6132812,1.3681641-1.3671875
-			V8.1801758C27.4902344,7.425293,26.8769531,6.8129883,26.1220703,6.8129883z"/>
-	</g>
-</g>
-</svg>
--- a/mpviewplugins/mpplaybackviewplugin/resources/play.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7.6206055" y1="23.7324219" x2="20.2574692" y2="11.0955582">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M10.8642578,8.4926758c0-1.1000977,0.7460938-1.4970703,1.6582031-0.8818359l12.8828125,8.6845703
-			c0.9121094,0.6152344,0.9121094,1.6210938,0,2.2358398l-12.8828125,8.6845703
-			c-0.9121094,0.6152344-1.6582031,0.2177734-1.6582031-0.8818359V8.4926758z"/>
-	</g>
-</g>
-</svg>
--- a/mpviewplugins/mpplaybackviewplugin/resources/prev.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-307.9033203" y1="-17.6152344" x2="-293.7667542" y2="-31.7518024" gradientTransform="matrix(-1 0 0 -1 -290.4023438 -7.2705078)">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M14.6044922,26.8007812c0,0.7695312-0.6220703,1.390625-1.390625,1.390625H7.6503906
-			c-0.7675781,0-1.390625-0.6210938-1.390625-1.390625V8.0249023c0-0.7675781,0.6230469-1.390625,1.390625-1.390625h5.5634766
-			c0.7685547,0,1.390625,0.6230469,1.390625,1.390625V26.8007812z"/>
-		<g>
-			
-				<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-322.15625" y1="-19.1289062" x2="-311.0487061" y2="-30.2364368" gradientTransform="matrix(-1 0 0 -1 -290.4023438 -7.2705078)">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-				<stop  offset="1" style="stop-color:#FFFFFF"/>
-			</linearGradient>
-			<path fill="url(#SVGID_2_)" d="M28.9775391,25.1015625c0,1.0996094-0.7460938,1.4970703-1.6582031,0.8818359L16.2626953,18.53125
-				c-0.9121094-0.6147461-0.9121094-1.6206055,0-2.2353516l11.0566406-7.453125
-				C28.2314453,8.2280273,28.9775391,8.625,28.9775391,9.7250977V25.1015625z"/>
-		</g>
-	</g>
-</g>
-</svg>
Binary file mpviewplugins/mpplaybackviewplugin/resources/select.png has changed
--- a/mpviewplugins/mpplaybackviewplugin/resources/shuffle_off.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0361328" y1="30.09375" x2="28.5427303" y2="4.5871511">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M0.0478516,27.1054688h8.4970703c0,0,2.6523438,0.5097656,5.3583984-3.3339844
-			c2.7060547-3.8417969,7.2431641-9.2602539,7.2431641-9.2602539s0.875-1.4541016,2.8134766-1.5078125
-			c1.4736328-0.0419922,4.2304688-0.0556641,4.2304688-0.0556641v3.3007812l5.953125-6.0605469l-5.953125-5.7636719
-			l-0.0546875,3.5986328h-4.8154297c0,0-2.9775391-0.4863281-8.3349609,6.6035156L10.0068359,20.6875
-			c0,0-0.7041016,1.0839844-2.4902344,1.0839844h-7.46875V27.1054688z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.3720703" y1="15.2382812" x2="10.4428988" y2="7.1674523">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M14.9267578,12.3374023c-0.3769531-0.5146484-0.7382812-1.0185547-1.0732422-1.4970703
-			c-2.7060547-3.8847656-5.3574219-3.3671875-5.3574219-3.3671875H0v5.3925781h7.4677734
-			c1.7871094,0,2.4892578,1.09375,2.4892578,1.09375l1.7167969,2.1132812
-			C12.7724609,14.8237305,13.6679688,13.4477539,14.9267578,12.3374023z"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="21.5712891" y1="27.2451172" x2="29.2561741" y2="19.5602322">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.533742" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M28.1416016,18.4458008v3.3393555c0,0-2.7587891-0.0136719-4.2294922-0.0566406
-			c-1.9394531-0.0546875-2.8144531-1.5234375-2.8144531-1.5234375s-0.4082031-0.4941406-1.0517578-1.2890625
-			c-0.9921875,1.2421875-1.90625,2.609375-3.0625,3.6855469c4.0644531,4.5292969,6.2880859,4.1621094,6.2880859,4.1621094h4.8154297
-			l0.0546875,3.6386719l5.9550781-5.8261719L28.1416016,18.4458008z"/>
-	</g>
-</g>
-</svg>
--- a/mpviewplugins/mpplaybackviewplugin/resources/shuffle_on.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="3.0361328" y1="30.09375" x2="28.5427303" y2="4.5871511">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M0.0478516,27.1054688h8.4970703c0,0,2.6523438,0.5097656,5.3583984-3.3339844
-			c2.7060547-3.8417969,7.2431641-9.2602539,7.2431641-9.2602539s0.875-1.4541016,2.8134766-1.5078125
-			c1.4736328-0.0419922,4.2304688-0.0556641,4.2304688-0.0556641v3.3007812l5.953125-6.0605469l-5.953125-5.7636719
-			l-0.0546875,3.5986328h-4.8154297c0,0-2.9775391-0.4863281-8.3349609,6.6035156L10.0068359,20.6875
-			c0,0-0.7041016,1.0839844-2.4902344,1.0839844h-7.46875V27.1054688z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="2.3720703" y1="15.2382812" x2="10.4428988" y2="7.1674523">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M14.9267578,12.3374023c-0.3769531-0.5146484-0.7382812-1.0185547-1.0732422-1.4970703
-			c-2.7060547-3.8847656-5.3574219-3.3671875-5.3574219-3.3671875H0v5.3925781h7.4677734
-			c1.7871094,0,2.4892578,1.09375,2.4892578,1.09375l1.7167969,2.1132812
-			C12.7724609,14.8237305,13.6679688,13.4477539,14.9267578,12.3374023z"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="21.5712891" y1="27.2451172" x2="29.2561741" y2="19.5602322">
-			<stop  offset="0" style="stop-color:#7EE7FD"/>
-			<stop  offset="0.533742" style="stop-color:#119EE0"/>
-			<stop  offset="1" style="stop-color:#7EE7FD"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M28.1416016,18.4458008v3.3393555c0,0-2.7587891-0.0136719-4.2294922-0.0566406
-			c-1.9394531-0.0546875-2.8144531-1.5234375-2.8144531-1.5234375s-0.4082031-0.4941406-1.0517578-1.2890625
-			c-0.9921875,1.2421875-1.90625,2.609375-3.0625,3.6855469c4.0644531,4.5292969,6.2880859,4.1621094,6.2880859,4.1621094h4.8154297
-			l0.0546875,3.6386719l5.9550781-5.8261719L28.1416016,18.4458008z"/>
-	</g>
-</g>
-</svg>
--- a/mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/rom/mpplaybackviewplugin.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -22,4 +22,6 @@
 
 ECOM_PLUGIN( mpplaybackviewplugin.dll, mpplaybackviewplugin.rsc )
 
+data=ZSYSTEM\data\nullsound.mp3                nullsound.mp3
+
 #endif //MPPLAYBACKVIEWPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwidget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,203 @@
+/*
+* 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: Equalizer widget for Music Player playback view.
+*
+*/
+
+// System includes
+#include <QStringList>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <hbradiobuttonlist.h>
+
+// User includes
+#include "mpequalizerwidget.h"
+#include "mpequalizerwrapper.h"
+#include "mptrace.h"
+
+// CONSTANTS
+const int KEqualizerPresetNone = -1;
+
+/*!
+    \class MpEqualizerWidget
+    \brief Provide radio button list to select a predefined eq. preset
+*/
+
+/*!
+ Constructs the Equalizer widget.
+ */
+MpEqualizerWidget::MpEqualizerWidget() :
+    mEqualizerWrapper(0),
+    mPresetsList(0),
+    mOriginalPreset(KEqualizerPresetNone),
+    mEqualizerReady(false)
+{
+    TX_ENTRY
+    
+    initialize();
+    
+    TX_EXIT
+}
+
+/*!
+ Destructs the widget.
+ */
+MpEqualizerWidget::~MpEqualizerWidget()
+{
+    TX_ENTRY
+    
+    delete mEqualizerWrapper;
+    
+    TX_EXIT
+}
+
+/*!
+ Initialize dialog by loading the EqualizerUtility.
+ */
+void MpEqualizerWidget::initialize()
+{
+    TX_ENTRY
+    
+    mEqualizerWrapper = new MpEqualizerWrapper( this );
+
+    connect( mEqualizerWrapper,
+            SIGNAL( equalizerReady() ),
+            this,
+            SLOT( equalizerReady() ) );
+
+    TX_EXIT
+}
+
+/*!
+ Prepare dialog by loading the presets list.
+ */
+void MpEqualizerWidget::prepareDialog()
+{
+    TX_ENTRY
+    
+    setTimeout(NoTimeout);
+    setDismissPolicy(HbDialog::NoDismiss);
+    setFrameType(HbPopup::Strong);
+    setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset")));    
+    setPrimaryAction(new HbAction(hbTrId("txt_common_button_ok")));
+    setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel")));
+    
+    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"
+        }
+        else {
+            presetSelected = mOriginalPreset;
+        }
+    
+        mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this);
+        setContentWidget( mPresetsList );  //mPresetsList now owned by HbDialog
+    
+        connect( mPresetsList, 
+               SIGNAL(itemSelected(int)), 
+               this, 
+               SLOT(presetSelected(int)));
+    }
+    
+    connect( secondaryAction(),
+            SIGNAL( triggered(bool) ),
+            this,
+            SLOT( cancelSelected(bool) ) );
+    
+    connect( primaryAction(),
+            SIGNAL( triggered(bool) ),
+            this,
+            SLOT( okSelected(bool) ) );
+    
+    TX_EXIT
+}
+
+/*!
+ Slot to handle when a preset has been selected.
+ */
+void MpEqualizerWidget::presetSelected(int index)
+{
+    TX_ENTRY
+    
+    if (mEqualizerWrapper) {
+        if (index == 0) {
+            mEqualizerWrapper->disableEqualizer();
+        }
+        else{
+            mEqualizerWrapper->applyPreset( index );
+        }
+    }
+    
+    TX_EXIT
+}
+
+/*!
+ Slot to handle when Cancel is selected
+ */
+void MpEqualizerWidget::cancelSelected(bool checked)
+{
+    TX_ENTRY
+    Q_UNUSED(checked);
+    
+    if (mEqualizerWrapper && mPresetsList) {
+        // Return to the original Preset
+        if (mOriginalPreset != mEqualizerWrapper->activePreset()) {
+            if (mOriginalPreset == KEqualizerPresetNone) {
+                mEqualizerWrapper->disableEqualizer();
+                mPresetsList->setSelected( 0 );     //First list item corresponds to "OFF"
+            }
+            else {
+                mEqualizerWrapper->applyPreset( mOriginalPreset );
+                mPresetsList->setSelected( mOriginalPreset );
+            }            
+        }
+    }
+    
+    TX_EXIT
+}
+
+/*!
+ Slot to handle when Ok is selected
+ */
+void MpEqualizerWidget::okSelected(bool checked)
+{
+    TX_ENTRY
+    Q_UNUSED(checked);    
+    
+    //Update original preset
+    if (mEqualizerWrapper) {
+        mOriginalPreset = mEqualizerWrapper->activePreset();
+    }
+    
+    TX_EXIT
+}
+
+/*!
+ Equalizer utility is ready
+ */
+void MpEqualizerWidget::equalizerReady()
+{
+    TX_ENTRY
+    
+    mEqualizerReady = true;
+    
+    TX_EXIT
+}
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* 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 <qstringlist>
+#include <qdebug>
+
+// 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/src/mpequalizerwrapper_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,346 @@
+/*
+* 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 <qDebug>
+#include <QStringList>
+#include <audioequalizerutility.h>
+#include <EqualizerConstants.h>
+#include <mpxplaybackutility.h>
+
+// 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<TEfAudioEqualizerUtilityPreset> presetArray = iEqualizerUtility->Presets();
+    for (TInt i=0; i<presetArray.Count(); i++)
+    {
+        TPresetName selectedItem = presetArray[i].iPresetName;
+        presetList << QString::fromUtf16( selectedItem.Ptr(), selectedItem.Length() );
+    }
+
+    TX_EXIT
+
+    return presetList;
+}
+
+/*!
+ \internal
+ */
+void MpEqualizerWrapperPrivate::DoInitL()
+{
+    TX_ENTRY
+
+    if (!iMpxPlaybackUtility)
+    {
+        iMpxPlaybackUtility = MMPXPlaybackUtility::UtilityL( TUid::Uid( MpCommon::KMusicPlayerUid ) );
+    }
+
+    if (iMdaPlayUtility)
+    {
+        iMdaPlayUtility->Close();
+        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<TEfAudioEqualizerUtilityPreset> 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 << ")");
+            if ( presetArray[i].iPresetNameKey == static_cast<TUint32>( 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<TEfAudioEqualizerUtilityPreset> 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
--- a/mpviewplugins/mpplaybackviewplugin/src/mpplaybackdata.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/src/mpplaybackdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -77,7 +77,8 @@
       mReqId(KUndefined),
       mDuration(0),
       mPosition(0),
-      mAlbumArt()
+      mAlbumArt(),
+      mPlaybackState(Stopped)
 {
     TX_ENTRY
     mThumbnailManager = new ThumbnailManager(this);
--- a/mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpplaybackviewplugin/src/mpplaybackview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -23,6 +23,8 @@
 #include <hbtoolbar.h>
 #include <hbaction.h>
 #include <hbicon.h>
+#include <QTranslator>
+#include <QLocale>
 
 #include "mpplaybackview.h"
 #include "mpplaybackwidget.h"
@@ -31,6 +33,7 @@
 #include "mpsettingsmanager.h"
 #include "mpcommondefs.h"
 #include "mptrace.h"
+#include "mpequalizerwidget.h"
 
 
 /*!
@@ -54,15 +57,18 @@
  Constructs the playback view.
  */
 MpPlaybackView::MpPlaybackView()
-    : mFrameworkWrapper(0),
-      mPlaybackData(0),
-      mPlaybackWidget(0),
-      mSoftKeyBack(0),
-      mActivated(false),
-      mPlayIcon(0),
-      mPauseIcon(0),
-      mShuffleOnIcon(0),
-      mShuffleOffIcon(0)
+    : mFrameworkWrapper( 0 ),
+      mPlaybackData( 0 ),
+      mPlaybackWidget( 0 ),
+      mEqualizerWidget( new MpEqualizerWidget() ),
+      mSoftKeyBack( 0 ),
+      mActivated( false ),
+      mPlayIcon( 0 ),
+      mPauseIcon( 0 ),
+      mShuffleOnIcon( 0 ),
+      mShuffleOffIcon( 0 ),
+      mMpTranslator( 0 ),
+      mCommonTranslator( 0 )
 {
     TX_LOG
 }
@@ -79,6 +85,9 @@
     delete mPauseIcon;
     delete mShuffleOnIcon;
     delete mShuffleOffIcon;
+    delete mEqualizerWidget;
+    delete mMpTranslator;
+    delete mCommonTranslator;
     TX_EXIT
 }
 
@@ -90,28 +99,49 @@
 {
     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();
 
-    mSoftKeyBack = new HbAction(Hb::BackAction, this);
-    connect( mSoftKeyBack, SIGNAL(triggered()), this, SLOT(back()) );
+    mSoftKeyBack = new HbAction( Hb::BackAction, this );
+    connect( mSoftKeyBack, SIGNAL( triggered() ), this, SLOT( back() ) );
 
     mFrameworkWrapper = new MpMpxPbFrameworkWrapper();
     mPlaybackData = mFrameworkWrapper->playbackData();
-    connect( mPlaybackData, SIGNAL(playbackStateChanged()),
-             this, SLOT(playbackStateChanged()) );
+    connect( mPlaybackData, SIGNAL( playbackStateChanged() ),
+             this, SLOT( playbackStateChanged() ) );
 
-    mPlaybackWidget = new MpPlaybackWidget(mPlaybackData);
-    connect( mPlaybackWidget, SIGNAL(setPlaybackPosition(int)), mFrameworkWrapper, SLOT( setPosition(int) ) );
+    mPlaybackWidget = new MpPlaybackWidget( mPlaybackData );
+    connect( mPlaybackWidget, SIGNAL( setPlaybackPosition( int ) ), mFrameworkWrapper, SLOT( setPosition( int ) ) );
 
-    setWidget(mPlaybackWidget);
+    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( MpSettingsManager::instance(), SIGNAL( shuffleChanged( bool ) ),
+             this, SLOT( shuffleChanged( bool ) ) );
+    connect( MpSettingsManager::instance(), SIGNAL( repeatChanged( bool ) ),
+             this, SLOT( repeatChanged( bool ) ) );
 
     TX_EXIT
 }
@@ -123,7 +153,7 @@
 {
     TX_ENTRY
     mActivated = true;
-    mWindow->addSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBack);
+    setNavigationAction( mSoftKeyBack );
     TX_EXIT
 }
 
@@ -133,18 +163,24 @@
 void MpPlaybackView::deactivateView()
 {
     TX_ENTRY
-    mWindow->removeSoftKeyAction(Hb::SecondarySoftKey, mSoftKeyBack);
+    if ( mEqualizerWidget->isActive() ) {
+        mEqualizerWidget->close();
+    }
+
+    menu()->close();
+
+    setNavigationAction( 0 );
     mActivated = false;
     TX_EXIT
 }
 
 /*!
- Slot to be called to activate collection view.
+ Slot to be called to activate settings view.
  */
-void MpPlaybackView::startCollectionView()
+void MpPlaybackView::startSettingsView()
 {
     TX_LOG
-    emit command( MpCommon::ActivateCollectionView );
+    emit command( MpCommon::ActivateSettingsView );
 }
 
 /*!
@@ -174,20 +210,20 @@
 /*!
  Slot to handle playback state changed.
  */
-void MpPlaybackView::playbackStateChanged( )
+void MpPlaybackView::playbackStateChanged()
 {
     TX_ENTRY
     switch ( mPlaybackData->playbackState() ) {
         case MpPlaybackData::Playing:
-            TX_LOG_ARGS("MpPlaybackData::Playing")
+            TX_LOG_ARGS( "MpPlaybackData::Playing" )
             mPlayPauseAction->setIcon( *mPauseIcon );
             break;
         case MpPlaybackData::Paused:
-            TX_LOG_ARGS("MpPlaybackData::Paused")
+            TX_LOG_ARGS( "MpPlaybackData::Paused" )
             mPlayPauseAction->setIcon( *mPlayIcon );
             break;
         case MpPlaybackData::Stopped:
-            TX_LOG_ARGS("MpPlaybackData::Paused")
+            TX_LOG_ARGS( "MpPlaybackData::Paused" )
             if ( mViewMode == MpCommon::FetchView ) {
                 back();
             }
@@ -203,12 +239,22 @@
 }
 
 /*!
+ Slot to handle flip action.
+ */
+void MpPlaybackView::flip()
+{
+    TX_ENTRY
+    emit command( MpCommon::ActivateDetailsView );
+    TX_EXIT
+}
+
+/*!
  Slot to handle shuffle toggle.
  */
 void MpPlaybackView::toggleShuffle()
 {
     mFrameworkWrapper->setShuffle( !mShuffle );
-    MpSettingsManager::setShuffle(!mShuffle);
+    MpSettingsManager::setShuffle( !mShuffle );
 }
 
 /*!
@@ -217,7 +263,7 @@
 void MpPlaybackView::shuffleChanged( bool shuffle )
 {
     mShuffle = shuffle;
-    mShuffleAction->setIcon( mShuffle ? *mShuffleOnIcon : *mShuffleOffIcon);
+    mShuffleAction->setIcon( mShuffle ? *mShuffleOnIcon : *mShuffleOffIcon );
 }
 
 /*!
@@ -225,17 +271,17 @@
  */
 void MpPlaybackView::toggleRepeat()
 {
-    mFrameworkWrapper->setRepeat(!mRepeat);
-    MpSettingsManager::setRepeat(!mRepeat);
+    mFrameworkWrapper->setRepeat( !mRepeat );
+    MpSettingsManager::setRepeat( !mRepeat );
 }
 
 /*!
  Slot to handle /a repeat setting change.
  */
-void MpPlaybackView::repeatChanged(bool repeat)
+void MpPlaybackView::repeatChanged( bool repeat )
 {
     mRepeat = repeat;
-    mRepeatAction->setText( mRepeat ?  tr("Repeat off") : tr("Repeat on"));
+    mRepeatAction->setText( mRepeat ?  hbTrId( "txt_mus_opt_repeat_off" ) : hbTrId( "txt_mus_opt_repeat_on" ) );
 }
 
 /*!
@@ -258,11 +304,12 @@
     if ( mViewMode == MpCommon::DefaultView ) {
         mRepeat = MpSettingsManager::repeat();
         HbMenu* myMenu = new HbMenu();
-        connect( myMenu->addAction(tr("Go to music library")), SIGNAL(triggered()), this, SLOT(startCollectionView()) );
-        mRepeatAction = myMenu->addAction( mRepeat ?  tr("Repeat off") : tr("Repeat on"));
-        connect( mRepeatAction , SIGNAL(triggered()), this, SLOT(toggleRepeat()) );
-        connect( myMenu->addAction(tr("Exit")), SIGNAL(triggered()), this, SLOT(exit()) );
-        setMenu(myMenu);
+        connect( myMenu->addAction( hbTrId( "txt_mus_opt_equalizer" ) ), SIGNAL( triggered() ), this, SLOT( showEqualizerDialog() ) );
+        connect( myMenu->addAction( hbTrId( "txt_mus_opt_audio_effects" ) ), SIGNAL( triggered() ), this, SLOT( startSettingsView() ) );
+        mRepeatAction = myMenu->addAction( mRepeat ?  hbTrId( "txt_mus_opt_repeat_off" ) : hbTrId( "txt_mus_opt_repeat_on" ) );
+        connect( mRepeatAction , SIGNAL( triggered() ), this, SLOT( toggleRepeat() ) );
+        connect( myMenu->addAction( hbTrId( "txt_common_opt_exit" ) ), SIGNAL( triggered() ), this, SLOT( exit() ) );
+        setMenu( myMenu );
     }
     TX_EXIT
 }
@@ -274,72 +321,86 @@
 {
     TX_ENTRY
     HbToolBar *toolBar = this->toolBar();
-    toolBar->setOrientation(Qt::Horizontal);
+    toolBar->setOrientation( Qt::Horizontal );
     QActionGroup *actionsGroup = new QActionGroup( toolBar );
 
     if ( mViewMode == MpCommon::DefaultView ) {
-        mShuffleOnIcon = new HbIcon(":/playbackviewicons/shuffle_on.svg");
-        mShuffleOffIcon = new HbIcon( ":/playbackviewicons/shuffle_off.svg");
-        mShuffleAction = new HbAction(actionsGroup);
+        mShuffleOnIcon = new HbIcon( "qtg_mono_shuffle" );
+        mShuffleOffIcon = new HbIcon( "qtg_mono_shuffle_off" );
+        mShuffleAction = new HbAction( actionsGroup );
         mShuffle = MpSettingsManager::shuffle();
-        mShuffleAction->setIcon( mShuffle ? *mShuffleOnIcon : *mShuffleOffIcon);
+        mShuffleAction->setIcon( mShuffle ? *mShuffleOnIcon : *mShuffleOffIcon );
         mShuffleAction->setCheckable( false );
 
-        connect( mShuffleAction, SIGNAL(triggered(bool)),
-                 this, SLOT(toggleShuffle()) );
+        connect( mShuffleAction, SIGNAL( triggered( bool ) ),
+                 this, SLOT( toggleShuffle() ) );
         toolBar->addAction( mShuffleAction );
 
-        HbAction *action = new HbAction(actionsGroup);
-        action->setIcon( HbIcon( ":/playbackviewicons/prev.svg") );
+        HbAction *action = new HbAction( actionsGroup );
+        action->setIcon( HbIcon( "qtg_mono_previous" ) );
         action->setCheckable( false );
-        connect( action, SIGNAL(triggered(bool)),
-                 mFrameworkWrapper, SLOT(skipBackward()) );
+        connect( action, SIGNAL( triggered( bool ) ),
+                 mFrameworkWrapper, SLOT( skipBackward() ) );
         toolBar->addAction( action );
 
-        mPlayPauseAction = new HbAction(actionsGroup);
-        mPlayIcon = new HbIcon(":/playbackviewicons/play.svg");
-        mPauseIcon = new HbIcon( ":/playbackviewicons/pause.svg" );
+        mPlayPauseAction = new HbAction( actionsGroup );
+        mPlayIcon = new HbIcon( "qtg_mono_play" );
+        mPauseIcon = new HbIcon( "qtg_mono_pause" );
         mPlayPauseAction->setIcon( *mPlayIcon );
         mPlayPauseAction->setCheckable( false );
-        connect( mPlayPauseAction, SIGNAL(triggered(bool)),
-                 mFrameworkWrapper, SLOT(playPause()) );
+        connect( mPlayPauseAction, SIGNAL( triggered( bool ) ),
+                 mFrameworkWrapper, SLOT( playPause() ) );
         toolBar->addAction( mPlayPauseAction );
 
-        action = new HbAction(actionsGroup);
-        action->setIcon( HbIcon(":/playbackviewicons/next.svg") );
+        action = new HbAction( actionsGroup );
+        action->setIcon( HbIcon( "qtg_mono_next" ) );
         action->setCheckable( false );
-        connect( action, SIGNAL(triggered(bool)),
-                 mFrameworkWrapper, SLOT(skipForward()) );
+        connect( action, SIGNAL( triggered( bool ) ),
+                 mFrameworkWrapper, SLOT( skipForward() ) );
         toolBar->addAction( action );
 
-        HbIcon icon( ":/playbackviewicons/info.svg" );
-        action = new HbAction(actionsGroup);
+        HbIcon icon( "qtg_mono_info" );
+        action = new HbAction( actionsGroup );
         action->setIcon( icon );
         action->setCheckable( false );
-    /*
-        connect( action, SIGNAL(triggered(bool)),
-                 this, SLOT( flip()) );
-    */
+
+        connect( action, SIGNAL( triggered( bool ) ),
+                 this, SLOT( flip() ) );
+
         toolBar->addAction( action );
     }
     else {
         // Fetch mode
-        HbAction *action = new HbAction(actionsGroup);
-        action->setIcon( HbIcon(":/playbackviewicons/select.png") );
+        HbAction *action = new HbAction( actionsGroup );
+        action->setIcon( HbIcon( "qtg_mono_tick" ) );
         action->setCheckable( false );
-        connect( action, SIGNAL(triggered(bool)),
-                 this, SLOT(handleSongSelected()) );
+        connect( action, SIGNAL( triggered( bool ) ),
+                 this, SLOT( handleSongSelected() ) );
         toolBar->addAction( action );
-    
-        mPlayPauseAction = new HbAction(actionsGroup);
-        mPlayIcon = new HbIcon(":/playbackviewicons/play.svg");
-        mPauseIcon = new HbIcon( ":/playbackviewicons/pause.svg" );
+
+        mPlayPauseAction = new HbAction( actionsGroup );
+        mPlayIcon = new HbIcon( "qtg_mono_play" );
+        mPauseIcon = new HbIcon( "qtg_mono_pause" );
         mPlayPauseAction->setIcon( *mPlayIcon );
         mPlayPauseAction->setCheckable( false );
-        connect( mPlayPauseAction, SIGNAL(triggered(bool)),
-                 mFrameworkWrapper, SLOT(playPause()) );
+        connect( mPlayPauseAction, SIGNAL( triggered( bool ) ),
+                 mFrameworkWrapper, SLOT( playPause() ) );
         toolBar->addAction( mPlayPauseAction );
     }
     TX_EXIT
 }
 
+/*!
+ Slot to be called to activate equalizer dialog.
+ */
+void MpPlaybackView::showEqualizerDialog()
+{
+    TX_ENTRY
+
+    if( mEqualizerWidget )
+    {
+        mEqualizerWidget->exec();
+    }
+
+    TX_EXIT
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/inc/unittest_mpequalizerwidget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,60 @@
+/**
+* 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 TESTMPEQUALIZERWIDGET_H
+#define TESTMPEQUALIZERWIDGET_H
+
+#include <QtTest/QtTest>
+
+class MpEqualizerWidget;
+
+class TestMpEqualizerWidget: public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpEqualizerWidget();
+    virtual ~TestMpEqualizerWidget();
+
+signals:
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+    void testInitialize();
+    void testPrepareDialog();
+    void testEqualizerReady();
+    void testPresetSelected();
+    void testCancelSelected();
+    void testOkSelected();
+
+private:
+
+    MpEqualizerWidget *mTest;
+
+};
+
+#endif  // TESTMPEQUALIZERWIDGET_H
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/src/unittest_mpequalizerwidget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,204 @@
+/**
+* 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
+*
+*/
+
+#include <QMetaType>
+#include <QtGui>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbradiobuttonlist.h>
+
+#include "stub/inc/mpequalizerwrapper.h"
+#include "unittest_mpequalizerwidget.h"
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpequalizerwidget.h"
+#undef private
+
+//This so we can test private functions
+#include "../../src/mpequalizerwidget.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;
+
+    TestMpEqualizerWidget tv;
+
+    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;
+}
+
+TestMpEqualizerWidget::TestMpEqualizerWidget()
+    : mTest(0)
+{
+}
+
+TestMpEqualizerWidget::~TestMpEqualizerWidget()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpEqualizerWidget::initTestCase()
+{
+   
+}   
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpEqualizerWidget::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpEqualizerWidget::init()
+{
+    mTest = new MpEqualizerWidget();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpEqualizerWidget::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ Tests constructor.
+ */
+void TestMpEqualizerWidget::testInitialize()
+{
+    QVERIFY(mTest->mEqualizerWrapper != 0 );    
+}
+
+/*!
+ Tests testPrepare.
+ */
+void TestMpEqualizerWidget::testPrepareDialog()
+{
+    //With Equalizer not ready
+    mTest->prepareDialog();
+    QVERIFY(mTest->mOriginalPreset == -1 );    
+    QVERIFY(mTest->timeout() == HbDialog::NoTimeout);
+    QVERIFY(mTest->dismissPolicy() == HbDialog::NoDismiss);
+    QVERIFY(mTest->frameType() == HbPopup::Strong);
+    QVERIFY(mTest->headingWidget() != 0);
+    QVERIFY(mTest->primaryAction() != 0);
+    QVERIFY(mTest->secondaryAction() != 0);
+    QVERIFY(mTest->contentWidget() == 0);
+    
+    
+    //With Equalizer ready
+    cleanup();
+    init();
+    mTest->equalizerReady();
+    mTest->prepareDialog();
+    QVERIFY(mTest->mPresetsList != 0);
+    QCOMPARE(qobject_cast<HbRadioButtonList*>(mTest->contentWidget()), mTest->mPresetsList);
+    QVERIFY(mTest->mPresetsList->selected() == 0);
+}
+
+/*!
+ Tests equalizerReady.
+ */
+void TestMpEqualizerWidget::testEqualizerReady()
+{
+    mTest->equalizerReady();
+    
+    QVERIFY(mTest->mEqualizerReady);
+}
+
+/*!
+ Tests presetSelected.
+ */
+void TestMpEqualizerWidget::testPresetSelected()
+{
+    //Off preset must call DisableEqualizer
+    mTest->presetSelected(0);
+    QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
+
+    //Any other preset must be applied
+    mTest->presetSelected(3);
+    QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
+}
+
+/*!
+ Tests cancelSelected.
+ */
+void TestMpEqualizerWidget::testCancelSelected()
+{
+    mTest->equalizerReady();
+    mTest->prepareDialog();
+    
+    //Cancel, when Current preset selected != Original Preset
+    
+    //When Original Preset == -1 "Off"
+    mTest->mEqualizerWrapper->mActivePreset = 4;
+    mTest->mOriginalPreset = -1;
+    mTest->cancelSelected(true);
+    QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
+    QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
+    
+    //When Original Preset != -1 "Any other different than Off"
+    mTest->mEqualizerWrapper->mActivePreset = 4;
+    mTest->mOriginalPreset = 2;
+    mTest->cancelSelected(true);
+    QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
+    QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
+        
+    //Cancel, when Current preset selected == Original Preset
+    mTest->mEqualizerWrapper->mActivePreset = 3;
+    mTest->mOriginalPreset = 3;
+    mTest->cancelSelected(true);
+    QVERIFY(mTest->mEqualizerWrapper->mApplyPresetCount == 1);
+    QVERIFY(mTest->mEqualizerWrapper->mDisableEquqlizerCount == 1);
+    QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);
+}
+
+/*!
+ Tests okSelected.
+ */
+void TestMpEqualizerWidget::testOkSelected()
+{
+    mTest->equalizerReady();
+    
+    mTest->mEqualizerWrapper->mActivePreset = 2;
+    mTest->mOriginalPreset = -1;
+    mTest->okSelected(true);
+    QCOMPARE(mTest->mEqualizerWrapper->mActivePreset, mTest->mOriginalPreset);   
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/inc/mpequalizerwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Wrapper for equalizer utility
+*
+*/
+
+#ifndef MPEQUALIZERWRAPPER_H
+#define MPEQUALIZERWRAPPER_H
+
+// System includes
+#include <QStringList>
+
+
+/**
+ *  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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/stub/src/mpequalizerwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwidget/unittest_mpequalizerwidget.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for mpequalizerwidget
+TEMPLATE = app
+CONFIG += qtestlib \
+    hb
+TARGET = 
+DEPENDPATH += .
+INCLUDEPATH += . \
+    ../../inc \
+    ../../../../inc
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+LIBS += lestor.dll \
+    -lfbscli.dll \
+
+symbian: TARGET.EPOCALLOWDLLDATA = 1
+
+HEADERS += stub/inc/mpequalizerwrapper.h \
+    inc/unittest_mpequalizerwidget.h \
+    ../../inc/mpequalizerwidget.h
+
+SOURCES += stub/src/mpequalizerwrapper.cpp \
+    src/unittest_mpequalizerwidget.cpp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/inc/unittest_mpequalizerwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,65 @@
+/**
+* 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 <QtTest/QtTest>
+
+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
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/src/unittest_mpequalizerwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,231 @@
+/**
+* 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 <QSignalSpy>
+#include <QStringList>
+#include <QMetaType>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <centralrepository.h>
+
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/audioequalizerutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* 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 <e32base.h>
+#include <e32svr.h>
+#include <AudioEqualizerBase.h>
+#include <centralrepository.h>
+#include <AudioEqualizerUtilityData.h>
+
+// 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<TEfAudioEqualizerUtilityPreset> 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<TEfAudioEqualizerUtilityPreset>& aPresetArray);
+
+    private: // Data
+
+        // Array for Storing the Current State of the Repository
+        // which has been compacted after the transaction
+        // with the Central Repository
+        RArray<TEfAudioEqualizerUtilityPreset> iPresetArray;
+
+   };
+
+#endif      // CAUDIOEQUALIZERUTILITY_H
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxplaybackutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: mpxplaybackutility stub for testing mpmpxframeworkwrapper
+*
+*/
+
+
+#ifndef MMPXPLAYBACKUTILITY_H
+#define MMPXPLAYBACKUTILITY_H
+
+#include <mpxplaybackframeworkdefs.h>
+#include <mpxcommonframeworkdefs.h>
+//#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/inc/mpxuser.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: mpxuser stub for testing mpmpxframeworkwrapper
+*
+*/
+
+#ifndef MPXUSER_H
+#define MPXUSER_H
+
+#include <e32base.h>
+
+class MPXUser
+    {
+public: // stub functions
+    
+    MPXUser();
+    ~MPXUser();
+
+    static TInt CompleteWithDllPath(TDes& aFileName);
+
+    };
+#endif   // MPXUSER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/audioequalizerutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,159 @@
+/*
+* 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 <e32std.h>
+#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<TEfAudioEqualizerUtilityPreset> CAudioEqualizerUtility::Presets()
+    {
+		return iPresetArray.Array();
+    }
+
+// -----------------------------------------------------------------------------
+// CAudioEqualizerUtility::UpdatePresetArray(RArray<TDesC>& aPresetArray,const RArray<TEfAudioEqualizerUtilityPreset> &aFullPresetArray)
+// Creates the Descriptor Array of Names of the predifined presets
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CAudioEqualizerUtility::UpdatePresetArray(RArray<TEfAudioEqualizerUtilityPreset>& 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxplaybackutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: mpxplaybackutility stub for testing mpmpxframeworkwrapper
+*
+*/
+
+#include <Qt>
+
+#include <mpxplaybackcommanddefs.h>
+//#include <mpxplaybackframeworkdefs.h>
+
+#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;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/stub/src/mpxuser.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpequalizerwrapper/unittest_mpequalizerwrapper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/inc/unittest_mpmpxpbframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for mpmpxpbframeworkwrapper
+*
+*/
+
+#ifndef TESTMPMPXPBFRAMEWORKWRAPPER_H
+#define TESTMPMPXPBFRAMEWORKWRAPPER_H
+
+#include <QtTest/QtTest>
+
+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
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/src/unittest_mpmpxpbframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,389 @@
+/*
+* 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 <QSignalSpy>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include <mpxmedia.h>
+#include <mpxcollectionplaylist.h>
+
+
+
+#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<TInt> supportedIds;
+    CleanupClosePushL( supportedIds );
+    supportedIds.AppendL( KMPXMessageContentIdGeneral );
+    CMPXMedia* testMessage = CMPXMedia::NewL(supportedIds.Array());
+    CleanupStack::PopAndDestroy(&supportedIds);
+    CleanupStack::PushL(testMessage);
+    testMessage->SetTObjectValueL<TMPXMessageId>( KMPXMessageGeneralId, KMPXMessageGeneral);
+    
+    //Update State
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EStateChanged);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,0);
+    mTestPrivate->iPlaybackUtility->iState = EPbStatePlaying;
+    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
+    QCOMPARE(mTestPrivate->iPlaybackData->mPlaybackState, MpPlaybackData::Playing);
+    
+    //Initialize complete
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EInitializeComplete);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,1);
+    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral);
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandPlaybackGeneralType),TInt(EPbCmdPlay));
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandGeneralDoSync),TBool(ETrue));
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandPlaybackGeneralNoBuffer),TBool(ETrue));
+
+    //Property change
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EPropertyChanged);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,EPbPropertyPosition);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,50);
+    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
+    QCOMPARE(mTestPrivate->iPlaybackData->mPosition, 50);
+    
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,EPbPropertyDuration);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralData,100);
+    mTestPrivate->HandlePlaybackMessage(testMessage, KErrNone);
+    QCOMPARE(mTestPrivate->iPlaybackData->mDuration, 100);
+    
+    //Media change
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralEvent,TMPXPlaybackMessage::EMediaChanged);
+    testMessage->SetTObjectValueL<TInt>(KMPXMessageGeneralType,0);
+    testMessage->SetTObjectValueL<TInt>(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<const TUint16*>(KAllSongsTestData[1].GeneralTitle));
+    QCOMPARE(mTestPrivate->iPlaybackData->title(), QString::fromUtf16( title.Ptr(), title.Length() ));
+    const TDesC& artist = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicArtist));
+    QCOMPARE(mTestPrivate->iPlaybackData->artist(), QString::fromUtf16( artist.Ptr(), artist.Length() ));
+    const TDesC& album = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicAlbum));
+    QCOMPARE(mTestPrivate->iPlaybackData->album(), QString::fromUtf16( album.Ptr(), album.Length() ));
+    const TDesC& albumArt = TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[1].MusicAlbumArtFileName));
+    QCOMPARE(mTestPrivate->iPlaybackData->currentAAUri, QString::fromUtf16( albumArt.Ptr(), albumArt.Length() ));
+    const TDesC& albumUri = TPtrC(reinterpret_cast<const TUint16*>(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<TInt>(KMPXCommandGeneralId),KMPXCommandIdPlaybackGeneral);
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TInt>(KMPXCommandPlaybackGeneralType),TInt(EPbCmdStop));
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(KMPXCommandGeneralDoSync),TBool(ETrue));
+    QCOMPARE(mTestPrivate->iPlaybackUtility->iCMPXCmd->ValueTObjectL<TBool>(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<TInt> 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<const TUint16*>(KAllSongsTestData[aPos].GeneralTitle)));
+    entries->SetTextValueL(KMPXMediaMusicArtist, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicArtist)));
+    entries->SetTObjectValueL<TInt>(KMPXMediaGeneralCount, KAllSongsTestData[aPos].GeneralCount);
+    entries->SetTextValueL(KMPXMediaMusicAlbumArtFileName, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicAlbumArtFileName)));
+    entries->SetTextValueL(KMPXMediaMusicAlbum, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicAlbum)));
+    entries->SetTextValueL(KMPXMediaGeneralUri, TPtrC(reinterpret_cast<const TUint16*>(KAllSongsTestData[aPos].MusicUri)));
+ 
+    iMediaTestData = CMPXMedia::NewL(*entries);
+    CleanupStack::PopAndDestroy(entries);
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpplaybackdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Playback Data stub for testing mpmpxpbframeworkwrapper
+*
+*/
+
+#ifndef MPPLAYBACKDATA_H
+#define MPPLAYBACKDATA_H
+
+#include <QObject>
+#include <QString>
+
+
+//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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxcollectionutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* 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 <mpxcollectionframeworkdefs.h>
+#include <mpxcommonframeworkdefs.h>
+#include <mpxcollectionobserver.h>
+#include <mpxattribute.h>
+#include <mpxsearchcriteria.h>
+#include <mpxattributespecs.h>
+
+#include <badesca.h>
+
+
+//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<TUid>& aUids);
+    void Close();
+    
+    void CommandL(CMPXCommand& aCmd);
+    
+public:
+ 
+    CMPXCommand *iCmd;
+};
+
+
+
+
+
+#endif      // MMPXCOLLECTIONUTILITY_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/inc/mpxplaybackutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: mpxplaybackutility stub for testing mpmpxframeworkwrapper
+*
+*/
+
+
+#ifndef MMPXPLAYBACKUTILITY_H
+#define MMPXPLAYBACKUTILITY_H
+
+#include <mpxplaybackframeworkdefs.h>
+#include <mpxcommonframeworkdefs.h>
+#include <badesca.h>
+#include <mpxattribute.h>
+#include <mpxattributespecs.h>
+
+//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<TMPXAttribute>& 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<TMPXAttribute>& aAttrs,
+                    MMPXPlaybackCallback& aCallback);
+    
+
+public:
+
+    TInt                    iValue;
+    TMPXPlaybackProperty    iProperty;
+    MMPXPlaybackObserver*   iObs;
+    TMPXPlaybackCommand     iCmd;
+    CMPXCommand*            iCMPXCmd;
+    TMPXPlaybackState       iState;
+    RArray<TMPXAttribute>*   iAttrs;
+};
+
+#endif      // MMPXPLAYBACKUTILITY_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpplaybackdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,222 @@
+/*
+* 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 <qstring>
+
+#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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxcollectionutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: mpxcollectionutility stub for testing mpmpxframeworkwrapper
+*
+*/
+
+
+#include <mpxmedia.h>
+#include <mpxmessage.h>
+#include <mpxmessagegeneraldefs.h>
+#include <mpxcollectionmessage.h>
+#include <mpxcollectionmessagedefs.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediacollectiondetaildefs.h>
+#include <mpxcollectionplugin.hrh>
+#include <mpxcollectionpath.h>
+#include "mptrace.h"
+#include <e32debug.h>
+
+#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<TUid>& 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/stub/src/mpxplaybackutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,150 @@
+/*
+* 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 <Qt>
+#include <mpxcollectionplaylist.h>
+#include <mptrace.h>
+
+#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<TMPXAttribute>& aAttrs,
+                    MMPXPlaybackCallback& aCallback)
+{
+    Q_UNUSED(aCallback);
+    RArray<TMPXAttribute> attrs;
+    CleanupClosePushL(attrs);
+    for(TInt i = 0; i < aAttrs.Count(); i++){
+        attrs.AppendL(aAttrs[i]);
+    }
+    iAttrs = new RArray<TMPXAttribute>(attrs);
+    CleanupStack::PopAndDestroy(&attrs);
+   
+}
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpmpxpbframeworkwrapper/unittest_mpmpxpbframeworkwrapper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/inc/unittest_mpplaybackdata.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Unit test for MpPlaybackData
+*
+*/
+
+#ifndef TESTMPMPPLAYBACKDATA_H
+#define TESTMPMPPLAYBACKDATA_H
+
+#include <QtTest/QtTest>
+
+class MpPlaybackData;
+
+class TestMpPlaybackData : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpPlaybackData();
+    virtual ~TestMpPlaybackData();
+
+signals:
+
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+    void testConstructor();
+    void testSetDuration();
+    void testSetPosition();
+    void testSetTitle();
+    void testSetArtist();
+    void testSetAlbum();
+    void testSetUri();
+    void testSetAlbumArtUri();
+    void testThumbnailReady();
+    void testSetPlaybackState();
+    void testCommitPlaybackInfo();
+    
+//    void testDeactivateView();
+//    void testGetView();
+private:
+
+    MpPlaybackData          *mTest;
+
+};
+
+#endif  // TESTMPMPPLAYBACKDATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/src/unittest_mpplaybackdata.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,340 @@
+/*
+* 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 MpPlaybackData
+*
+*/
+
+#include <QSignalSpy>
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+
+#include "unittest_mpplaybackdata.h"
+#include "stub/inc/thumbnailmanager_qt.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpplaybackdata.h"
+#undef private
+
+const int KUndefined = -1;
+
+/*!
+ 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;
+    TestMpPlaybackData tv;
+
+    char *pass[3];
+    pass[0] = argv[0];
+    pass[1] = "-o";
+    pass[2] = "c:\\data\\unittest_mpplaybackdata.txt";
+
+    int res = QTest::qExec(&tv, 3, pass);
+
+    return res;
+}
+
+TestMpPlaybackData::TestMpPlaybackData()
+    : mTest(0)
+{
+}
+
+TestMpPlaybackData::~TestMpPlaybackData()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpPlaybackData::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpPlaybackData::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpPlaybackData::init()
+{
+    mTest = new MpPlaybackData();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpPlaybackData::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ testConstructor
+ */
+void TestMpPlaybackData::testConstructor()
+{
+    QVERIFY(mTest->mThumbnailManager != 0);
+    QCOMPARE(mTest->mThumbnailManager->getInitCounter(), 1);
+    QVERIFY(mTest->mDuration == 0);
+    QVERIFY(mTest->mPosition == 0);
+    QVERIFY(!mTest->mDefaultAlbumArt);
+
+}
+
+/*!
+ test setDuration and duration
+ */
+void TestMpPlaybackData::testSetDuration()
+{
+    QSignalSpy spy(mTest, SIGNAL(durationChanged()));
+    for(int i= 0; i < 10; i++){
+        mTest->setDuration(i);
+        QCOMPARE(mTest->mDuration, i);
+        QCOMPARE(mTest->duration(),i);
+        QCOMPARE(spy.count(),i+1);
+    }
+}
+
+/*!
+ test setPosition and position
+ */
+void TestMpPlaybackData::testSetPosition()
+{
+    QSignalSpy spy(mTest, SIGNAL(positionChanged()));
+    for(int i= 0; i < 10; i++){
+        mTest->setPosition(i);
+        QCOMPARE(mTest->mPosition, i);
+        QCOMPARE(mTest->position(),i);
+        QCOMPARE(spy.count(),i+1);
+    }
+}
+
+/*!
+ test setTitle and title
+ */
+void TestMpPlaybackData::testSetTitle()
+{
+    bool changed;
+    
+    changed = mTest->setTitle(QString("Title 1"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mTitle, QString("Title 1"));
+    QCOMPARE(mTest->title(), QString("Title 1"));
+    changed = mTest->setTitle(QString("Title 1"));
+    QCOMPARE(changed, false);
+    QCOMPARE(mTest->title(), QString("Title 1"));
+    changed = mTest->setTitle(QString("Title 1"));
+    changed = mTest->setTitle(QString("Title 2"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mTitle, QString("Title 2"));
+    QCOMPARE(mTest->title(), QString("Title 2"));
+    
+}
+
+/*!
+ test setArtist and artist
+ */
+void TestMpPlaybackData::testSetArtist()
+{
+    bool changed;
+    
+    changed = mTest->setArtist(QString("Artist 1"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mArtist, QString("Artist 1"));
+    QCOMPARE(mTest->artist(), QString("Artist 1"));
+    changed = mTest->setArtist(QString("Artist 1"));
+    QCOMPARE(changed, false);
+    QCOMPARE(mTest->mArtist, QString("Artist 1"));
+    QCOMPARE(mTest->artist(), QString("Artist 1"));  
+    changed = mTest->setArtist(QString("Artist 2"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mArtist, QString("Artist 2"));
+    QCOMPARE(mTest->artist(), QString("Artist 2"));
+    
+}
+
+/*!
+ test setAlbum and album
+ */
+void TestMpPlaybackData::testSetAlbum()
+{
+    bool changed;
+    
+    changed = mTest->setAlbum(QString("Album 1"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mAlbum, QString("Album 1"));
+    QCOMPARE(mTest->album(), QString("Album 1"));
+    changed = mTest->setAlbum(QString("Album 1"));
+    QCOMPARE(changed, false);
+    QCOMPARE(mTest->mAlbum, QString("Album 1"));
+    QCOMPARE(mTest->album(), QString("Album 1"));
+    changed = mTest->setAlbum(QString("Album 2"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mAlbum, QString("Album 2"));
+    QCOMPARE(mTest->album(), QString("Album 2"));
+    
+}
+
+/*!
+ test setUri and uri
+ */
+void TestMpPlaybackData::testSetUri()
+{
+    bool changed;
+    
+    changed = mTest->setUri(QString("Uri 1"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mUri, QString("Uri 1"));
+    QCOMPARE(mTest->uri(), QString("Uri 1"));
+    changed = mTest->setUri(QString("Uri 1"));
+    QCOMPARE(changed, false);
+    QCOMPARE(mTest->mUri, QString("Uri 1"));
+    QCOMPARE(mTest->uri(), QString("Uri 1"));
+    changed = mTest->setUri(QString("Uri 2"));
+    QCOMPARE(changed, true);
+    QCOMPARE(mTest->mUri, QString("Uri 2"));
+    QCOMPARE(mTest->uri(), QString("Uri 2"));
+    
+}
+
+/*!
+ test setAlbumArtUri
+ */
+void TestMpPlaybackData::testSetAlbumArtUri()
+{
+    QSignalSpy spy(mTest, SIGNAL(albumArtReady()));
+    //Empty string
+    mTest->setAlbumArtUri(QString(""));
+    QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    //Request failed
+    mTest->mThumbnailManager->mGetThumbFails = true;
+    mTest->setAlbumArtUri(QString("AlbumArt"));
+    QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    //Succesful requests
+    mTest->mThumbnailManager->mGetThumbFails = false;
+    for(int i = 1; i < 10; i++){
+        mTest->setAlbumArtUri(QString("AlbumArt"));
+        QCOMPARE(mTest->mReqId, i);
+        QCOMPARE(spy.count(),0);
+        mTest->mReqId = KUndefined;
+    }
+    
+    //Pending request
+    mTest->mReqId = 1;
+    for(int i = 1; i < 10; i++){
+        mTest->setAlbumArtUri(QString("AlbumArt"));
+        QCOMPARE(spy.count(),0);
+        QCOMPARE(mTest->mThumbnailManager->mCancelCounter, i);
+    }
+}
+
+/*!
+ test ThumbnailReady and albumArt
+ */
+void TestMpPlaybackData::testThumbnailReady()
+{
+    void* temp;
+    temp=0;
+    QSignalSpy spy(mTest, SIGNAL(albumArtReady()));
+    QPixmap albumArt(100,100);
+    QPixmap albumArt2;
+   
+    //Error
+    mTest->thumbnailReady(albumArt,temp,KUndefined,KUndefined);
+    QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt); 
+    QCOMPARE(mTest->mReqId, KUndefined);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    //Wrong id
+    mTest->mReqId = 1;
+    mTest->thumbnailReady(albumArt,temp,KUndefined,0);
+    QCOMPARE(mTest->mAlbumArt, mTest->mDefaultAlbumArt); 
+    QCOMPARE(mTest->mReqId, KUndefined);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    //Update album art
+    mTest->mReqId = 1;
+    mTest->thumbnailReady(albumArt,temp,1,0);
+    QCOMPARE(mTest->mReqId, KUndefined);
+    QCOMPARE(spy.count(),1);
+    mTest->albumArt(albumArt2);
+    QCOMPARE(albumArt,albumArt2);
+}
+
+/*!
+ test setPlaybackState and playbackState
+ */
+void TestMpPlaybackData::testSetPlaybackState()
+{
+    QSignalSpy spy(mTest, SIGNAL(playbackStateChanged()));
+    
+    mTest->mPlaybackState = MpPlaybackData::Paused;
+    
+    mTest->setPlaybackState(MpPlaybackData::Playing);
+    QCOMPARE(mTest->playbackState(),MpPlaybackData::Playing);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    mTest->setPlaybackState(MpPlaybackData::Stopped);
+    QCOMPARE(mTest->playbackState(),MpPlaybackData::Stopped);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    mTest->setPlaybackState(MpPlaybackData::Paused);
+    QCOMPARE(mTest->playbackState(),MpPlaybackData::Paused);
+    QCOMPARE(spy.count(),1);
+    spy.clear();
+    
+    mTest->setPlaybackState(MpPlaybackData::Paused);
+    QCOMPARE(mTest->playbackState(),MpPlaybackData::Paused);
+    QCOMPARE(spy.count(),0);
+    
+}
+
+
+/*!
+ test commitPlaybackInfo
+ */
+void TestMpPlaybackData::testCommitPlaybackInfo()
+{
+    QSignalSpy spy(mTest, SIGNAL(playbackInfoChanged()));
+    
+    for(int i = 1; i < 10; i++){
+        mTest->commitPlaybackInfo();
+        QCOMPARE(spy.count(),i);
+    }
+}
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/stub/inc/thumbnailmanager_qt.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* 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 MpPlaybackData
+*
+*/
+
+#ifndef THUMBNAILMANAGER_QT_H
+#define THUMBNAILMANAGER_QT_H
+
+#include <qobject>
+#include <QPixmap.h>
+
+
+/** 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/stub/src/thumbnailmanager_qt.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,122 @@
+/*
+* 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 MpPlaybackData
+*
+*/
+
+#include <qsize.h>
+#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;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackdata/unittest_mpplaybackdata.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,41 @@
+#
+# 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 \
+				
+HEADERS += inc/unittest_mpplaybackdata.h \        
+           stub/inc/thumbnailmanager_qt.h \
+           ../../inc/mpplaybackdata.h 
+           
+               
+SOURCES += src/unittest_mpplaybackdata.cpp \
+		   ../../src/mpplaybackdata.cpp \
+           stub/src/thumbnailmanager_qt.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/inc/unittest_mpplaybackviewplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 MpPlaybackViewPlugin
+*
+*/
+
+#ifndef TESTMPPLAYBACKVIEWPLUGIN_H
+#define TESTMPPLAYBACKVIEWPLUGIN_H
+
+#include <QtTest/QtTest>
+
+class MpPlaybackViewPlugin;
+
+class TestMpPlaybackViewPlugin : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpPlaybackViewPlugin();
+    virtual ~TestMpPlaybackViewPlugin();
+
+signals:
+
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+    void testConstructor();
+    void testCreateView();
+    void testdestroyView();
+    void testActivateView();
+    void testDeactivateView();
+    void testGetView();
+private:
+
+    MpPlaybackViewPlugin          *mTest;
+
+};
+
+#endif  // TESTMPPLAYBACKVIEWPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/src/unittest_mpplaybackviewplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,247 @@
+/*
+* 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 MpPlaybackViewPlugin
+*
+*/
+
+#include <QSignalSpy>
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+
+#include "unittest_mpplaybackviewplugin.h"
+#include "stub/inc/mpplaybackview.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpplaybackviewplugin.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;
+    TestMpPlaybackViewPlugin tv;
+
+    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;
+}
+
+TestMpPlaybackViewPlugin::TestMpPlaybackViewPlugin()
+    : mTest(0)
+{
+}
+
+TestMpPlaybackViewPlugin::~TestMpPlaybackViewPlugin()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpPlaybackViewPlugin::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpPlaybackViewPlugin::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpPlaybackViewPlugin::init()
+{
+    mTest = new MpPlaybackViewPlugin();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpPlaybackViewPlugin::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ testConstructor
+ */
+void TestMpPlaybackViewPlugin::testConstructor()
+{
+    QVERIFY(!mTest->mView);
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::NullView); 
+}
+
+/*!
+ testCreateView
+ */
+void TestMpPlaybackViewPlugin::testCreateView()
+{
+    mTest->createView();
+    QVERIFY(mTest->mView);
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Created);
+    QSignalSpy spy( mTest, SIGNAL(command(int)) );
+    mTest->mView->emitCommand(123);
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0), QVariant(123));
+    
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+
+/*!
+ testdestroyView
+ */
+void TestMpPlaybackViewPlugin::testdestroyView()
+{
+    mTest->mView = new MpPlaybackView();
+    mTest->mState = MpPlaybackViewPlugin::Created;
+    mTest->destroyView();
+    QVERIFY(!mTest->mView);
+    mTest->mView = new MpPlaybackView();
+    mTest->mState = MpPlaybackViewPlugin::NullView;
+    mTest->destroyView();
+    QVERIFY(mTest->mView);
+    
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+/*!
+ testActivateView
+ */
+void TestMpPlaybackViewPlugin::testActivateView()
+{
+    mTest->mState = MpPlaybackViewPlugin::NullView;
+    mTest->activateView(); // we should be able to call activate without a view and not crash.
+
+    
+    mTest->mView = new MpPlaybackView();
+    mTest->mState = MpPlaybackViewPlugin::NullView;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::NullView);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Activated;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+           
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Created;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,1);
+    QCOMPARE(mTest->mView->mActivateViewCount,1);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Initialized;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,1);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+/*!
+ testDeactivateView
+ */
+void TestMpPlaybackViewPlugin::testDeactivateView()
+{
+    mTest->mState = MpPlaybackViewPlugin::NullView;
+    mTest->deactivateView(); // we should be able to call deactivate without a view and not crash.
+    
+    mTest->mView = new MpPlaybackView();
+    mTest->mState = MpPlaybackViewPlugin::NullView;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::NullView);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Activated;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Initialized);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,1);
+           
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Created;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Created);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpPlaybackViewPlugin::Initialized;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpPlaybackViewPlugin::Initialized);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+void TestMpPlaybackViewPlugin::testGetView()
+{
+    MpPlaybackView* tmpView;
+    mTest->mView = new MpPlaybackView();
+    tmpView = mTest->mView;
+    mTest->getView();
+    QCOMPARE(int(tmpView),int(mTest->getView()));
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/inc/mpplaybackview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpPlaybackView stub for testing MpPlaybackViewPlugin
+*
+*/
+
+#ifndef MPPLAYBACKVIEW_H
+#define MPPLAYBACKVIEW_H
+
+//includes
+#include <QGraphicsWidget>
+
+class MpPlaybackView : public QGraphicsWidget
+{
+    Q_OBJECT
+
+public:
+    explicit MpPlaybackView();
+    virtual ~MpPlaybackView();
+    
+    void initializeView();
+    void activateView();
+    void deactivateView();
+
+    void emitCommand(int cmd);
+    void resetCounters();
+    
+signals:
+    void command(int cmd);
+
+public:
+    int mInitializeViewCount;
+    int mActivateViewCount;
+    int mDeactivateViewCount;
+    
+};
+
+#endif    // MPPLAYBACKVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/stub/src/mpplaybackview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpPlaybackView stub for testing MpPlaybackViewplugin
+*
+*/
+
+#include "stub/inc/mpplaybackview.h"
+
+
+/*!
+ Constructs the MpPlaybackView stub
+ */
+MpPlaybackView::MpPlaybackView()
+    :mInitializeViewCount(0),
+    mActivateViewCount(0),
+    mDeactivateViewCount (0)
+{
+}
+
+/*!
+ Destructs the MpPlaybackView stub
+ */
+MpPlaybackView::~MpPlaybackView()
+{
+}
+    
+/*!
+ Initializes the MpPlaybackView stub
+ */
+void MpPlaybackView::initializeView()
+{
+    mInitializeViewCount++;
+}
+
+/*!
+ Activates the MpPlaybackView stub
+ */
+void MpPlaybackView::activateView()
+{
+    mActivateViewCount++;
+}
+
+/*!
+ Deactivates the MpPlaybackView stub
+ */
+void MpPlaybackView::deactivateView()
+{
+    mDeactivateViewCount++;
+}
+
+void MpPlaybackView::resetCounters()
+{
+    mInitializeViewCount = 0;
+    mActivateViewCount = 0;
+    mDeactivateViewCount = 0;
+}
+
+/*!
+ emits the signal command
+ */
+void MpPlaybackView::emitCommand(int cmd)
+{
+    emit command(cmd);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpplaybackviewplugin/tsrc/unittest_mpplaybackviewplugin/unittest_mpplaybackviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+TARGET = 
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+    ../../inc \
+    ../../../../inc
+
+
+    
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
+
+LIBS += -lmpxviewframeworkqt.dll
+				
+HEADERS += inc/unittest_mpplaybackviewplugin.h \        
+           ../../inc/mpplaybackviewplugin.h \
+           stub/inc/mpplaybackview.h
+               
+SOURCES += src/unittest_mpplaybackviewplugin.cpp \
+		   ../../src/mpplaybackviewplugin.cpp \
+           stub/src/mpplaybackview.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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:  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 <QObject>
+
+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*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/inc/mpmpxasframeworkwrapper_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Framework wraper for Audio Settings - Private.
+*
+*/
+
+#ifndef MPMPXASFRAMEWORKWRAPPER_P_H
+#define MPMPXASFRAMEWORKWRAPPER_P_H
+
+#include <mpxaudioeffectproperties.h>
+
+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*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsaudioeffectswidget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player audio effect view.
+*
+*/
+
+#ifndef MPSETTINGSAUDIOEFFECTSWIDGET_H
+#define MPSETTINGSAUDIOEFFECTSWIDGET_H
+
+
+// INCLUDES
+#include <qobject>
+#include <hbwidget.h>
+#include <hbdataform.h>
+#include <hbdataformmodel.h>
+
+// CLASS DECLARATION
+class MpMpxAsFrameworkWrapper;
+class HbSlider;
+
+/**
+ *  Audio Effects widget definition.
+ *
+ */
+class MpSettingsAudioEffectsWidget : public HbWidget
+    {
+    Q_OBJECT
+    
+public:
+    explicit MpSettingsAudioEffectsWidget( QGraphicsItem *parent=0  );
+    virtual ~MpSettingsAudioEffectsWidget();
+    
+    void initialize();
+
+public slots:
+    
+    void filterSignals( QModelIndex startIn, QModelIndex endIn );
+    
+private:
+
+    MpMpxAsFrameworkWrapper *mFrameworkWrapper;
+    HbDataFormModel         *mModel;
+    };
+
+#endif  // MPSETTINGSAUDIOEFFECTSWIDGET_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: Music Player Settings view.
+*
+*/
+
+#ifndef MPSETTINGSVIEW_H
+#define MPSETTINGSVIEW_H
+
+#include <hbview.h>
+
+
+class HbAction;
+class HbMainWindow;
+class MpSettingsAudioEffectsWidget;
+
+//class declaration
+class MpSettingsView : public HbView
+{
+    Q_OBJECT
+
+public:
+    explicit MpSettingsView();
+    virtual ~MpSettingsView();
+    
+    void initializeView();
+    void activateView();
+    void deactivateView();
+
+signals:
+    void command( int aCommand );
+
+public slots:
+    void back();
+        
+private:
+    HbMainWindow                 *mWindow;             // not own
+    HbAction                     *mSoftKeyBack;        // own
+    MpSettingsAudioEffectsWidget *mAudioEffectsWidget; // not own
+
+    Q_DISABLE_COPY(MpSettingsView)
+};
+
+
+#endif //MPSETTINGSVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/inc/mpsettingsviewplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 playback view.
+*
+*/
+
+#ifndef MPSETTINGSVIEWPLUGIN_H
+#define MPSETTINGSVIEWPLUGIN_H
+
+#include <qobject>
+#include <mpxviewpluginqt.h>
+
+//forward declartions
+class MpSettingsView;
+
+//class declaration
+class MpSettingsViewPlugin : public MpxViewPlugin
+{
+    Q_OBJECT
+
+public:
+    explicit MpSettingsViewPlugin();
+    virtual ~MpSettingsViewPlugin();
+
+    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 };
+    MpSettingsView    *mView; //owned
+    State             mState;
+};
+
+#endif  // MPSETTINGSVIEWPLUGIN_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/mpsettingsviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+symbian:TARGET.UID3 = 0x10207C66
+
+TEMPLATE = lib
+CONFIG += hb qt ecomplugin
+TARGET = mpsettingsviewplugin
+
+SERVICE.INTERFACE_NAME = org.nokia.mmdt.MpxViewPlugin/1.0
+SERVICE.CONFIGURATION = "<t>0x101FFCA2</t><i>EMPXViewPluginPriorityLowest</i>"
+
+TARGET.CAPABILITY = All -TCB
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+     inc \
+     ../../inc \
+     ../../mpserviceplugins/inc
+     
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+     
+LIBS += -lmpxplaybackutility.dll \
+        -lestor.dll \
+				-lmpxviewframeworkqt.dll
+	
+symbian:TARGET.EPOCALLOWDLLDATA = 1
+
+HEADERS += inc/mpsettingsviewplugin.h \
+      inc/mpsettingsview.h \
+      inc/mpsettingsaudioeffectswidget.h \
+      inc/mpmpxasframeworkwrapper.h \
+      inc/mpmpxasframeworkwrapper_p.h
+      
+
+SOURCES += src/mpsettingsviewplugin.cpp \
+       src/mpsettingsview.cpp \
+       src/mpsettingsaudioeffectswidget.cpp \
+       src/mpmpxasframeworkwrapper.cpp \
+       src/mpmpxasframeworkwrapper_p.cpp
+       
+       
+RESOURCES += resources/mpsettingsview.qrc
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/resources/mpsettingsview.qrc	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,8 @@
+<RCC>
+
+    
+    <qresource prefix="/settingsviewdocml" >
+        <file alias="settingsview.docml">settingsview.docml</file>
+    </qresource>
+
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/rom/mpsettingsviewplugin.iby	Fri Apr 16 14:56:30 2010 +0300
@@ -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 MPSETTINGSVIEWPLUGIN_IBY
+#define MPSETTINGSVIEWPLUGIN_IBY
+
+#include <bldvariant.hrh>
+
+ECOM_PLUGIN( mpsettingsviewplugin.dll, mpsettingsviewplugin.rsc )
+
+#endif //MPPLAYBACKVIEWPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/rom/rom.pri	Fri Apr 16 14:56:30 2010 +0300
@@ -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/mpsettingsviewplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mpsettingsviewplugin.iby)"
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 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
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/src/mpmpxasframeworkwrapper_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,185 @@
+/*
+* 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 <mpxplaybackutility.h>
+
+#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();
+}
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/src/mpsettingsaudioeffectswidget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* 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 audio effect view.
+*
+*/
+
+// System includes
+#include <hbslider.h>
+#include <hbstackedlayout.h>
+#include <hbdataformmodel.h>
+
+// User includes
+#include "mpsettingsaudioeffectswidget.h"
+#include "mpmpxasframeworkwrapper.h"
+#include "mptrace.h"
+
+
+
+/*!
+    \class MpSettingsAudioEffectsWidget
+    \brief This class to set up UI widgets for audio effect settings view.
+
+    Audio Effects widgets allow user to configure settings for Dolby,
+    Balance and Loudness.
+
+*/
+
+
+/*!
+    Constructs a new MpSettingsAudioEffectsWidget with \a parent.
+*/
+MpSettingsAudioEffectsWidget::MpSettingsAudioEffectsWidget( QGraphicsItem *parent  )
+    : HbWidget( parent ),
+      mFrameworkWrapper( 0 )
+{
+    TX_LOG
+}
+
+/*!
+    Destructs the widget.
+ */
+MpSettingsAudioEffectsWidget::~MpSettingsAudioEffectsWidget()
+{
+    delete mFrameworkWrapper;
+    delete mModel;
+    TX_LOG
+}
+
+/*!
+    Initialize the widget.
+*/
+void MpSettingsAudioEffectsWidget::initialize()
+{
+    TX_ENTRY
+
+    mFrameworkWrapper = new MpMpxAsFrameworkWrapper();
+
+    //create data form
+    HbDataForm *dataForm = new HbDataForm();
+
+    //create a model class
+    mModel = new HbDataFormModel();
+    HbDataFormModelItem * slider;
+    HbDataFormModelItem *loudnessItem;
+    slider = mModel->appendDataFormItem( HbDataFormModelItem::SliderItem, hbTrId( "txt_mus_setlabel_balance" ), mModel->invisibleRootItem() );
+    loudnessItem = mModel->appendDataFormItem( HbDataFormModelItem::ToggleValueItem, hbTrId( "txt_mus_setlabel_loudness" ), mModel->invisibleRootItem() );
+    slider->setContentWidgetData( QString( "minimum" ),-100 );
+    slider->setContentWidgetData( QString( "maximum" ),100 );
+    slider->setContentWidgetData( QString( "majorTickInterval" ),100 );
+    slider->setContentWidgetData( QString( "minorTickInterval" ),25 );
+    slider->setContentWidgetData( QString( "singleStep" ),25 );
+    slider->setContentWidgetData( QString( "toolTipVisible" ), false );
+    slider->setContentWidgetData( QString( "tickPosition" ), Hb::SliderTicksRight );
+    slider->setContentWidgetData( QString( "sliderPosition" ),mFrameworkWrapper->balance() );
+    if ( mFrameworkWrapper->loudness() == true ) {
+        loudnessItem->setContentWidgetData( QString( "text" ), hbTrId( "txt_mus_setlabel_loudness_val_on" ) );
+        loudnessItem->setContentWidgetData( QString( "additionalText" ), hbTrId( "txt_mus_setlabel_loudness_val_off" ) );
+    }
+    else {
+        loudnessItem->setContentWidgetData( QString( "text" ), hbTrId( "txt_mus_setlabel_loudness_val_off" ) );
+        loudnessItem->setContentWidgetData( QString( "additionalText" ), hbTrId( "txt_mus_setlabel_loudness_val_on" ) );
+    }
+
+    dataForm->setModel( mModel );
+    dataForm->setParentItem( this );
+    HbStackedLayout *mylayout;
+    mylayout = new HbStackedLayout( this );
+    mylayout->setContentsMargins( 0.0, 0.0, 0.0, 0.0  );
+    mylayout->setMinimumSize( 0.0, 0.0  );
+    mylayout->addItem( dataForm  );
+    setLayout( mylayout  );
+    dataForm->addConnection( slider, SIGNAL( valueChanged( int  ) ),
+            mFrameworkWrapper, SLOT( setBalance( int  ) ) );
+    connect( mModel, SIGNAL( dataChanged( QModelIndex, QModelIndex ) ), this, SLOT( filterSignals( QModelIndex, QModelIndex ) ) );
+
+    TX_EXIT
+}
+
+void  MpSettingsAudioEffectsWidget::filterSignals( QModelIndex startIn, QModelIndex endIn )
+{
+    Q_UNUSED( endIn );
+    HbDataFormModelItem *itm = mModel->itemFromIndex( startIn );
+    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 );
+            }
+            else if( itm->contentWidgetData( QString( "text" ) ).toString() == hbTrId( "txt_mus_setlabel_loudness_val_off" ) ) {
+                mFrameworkWrapper->setLoudness( false );
+            }
+            else {
+                TX_LOG_ARGS( "Error: should never get here." );
+            }
+        }
+    }
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/src/mpsettingsview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* 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 <hbmainwindow.h>
+#include <hbaction.h>
+#include <mpxaudioeffectproperties.h>
+#include <hbapplication.h>
+#include <QTranslator>
+#include <QLocale>
+
+#include "mpsettingsview.h"
+#include "mpsettingsaudioeffectswidget.h"
+#include "mpcommondefs.h"
+#include "mptrace.h"
+
+/*!
+    \class MpSettingsView
+    \brief Music Player Settings view.
+
+    Music player audio settings and audio effects are grouped under this 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 settings view.
+ */
+MpSettingsView::MpSettingsView()
+    : mWindow(0),
+      mSoftKeyBack(0),
+      mAudioEffectsWidget(0)
+{
+    TX_LOG
+}
+
+/*!
+ Destructs the settings view.
+ */
+MpSettingsView::~MpSettingsView()
+{
+    TX_ENTRY
+    delete mSoftKeyBack;
+    TX_EXIT
+}
+
+/*!
+ Initializes the settings view.
+ */
+void MpSettingsView::initializeView()
+{
+    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();
+    setTitle(hbTrId("txt_mus_title_music"));
+    mSoftKeyBack = new HbAction(Hb::BackAction, this);
+    mAudioEffectsWidget = new MpSettingsAudioEffectsWidget(this);
+    mAudioEffectsWidget->initialize();
+    setWidget( mAudioEffectsWidget );
+
+    connect( mSoftKeyBack,
+                SIGNAL(triggered()),
+                this,
+                SLOT(back()) );
+
+    connect( mSoftKeyBack,
+                SIGNAL(triggered()),
+                mAudioEffectsWidget,
+                SLOT(persistBalance()) );
+    TX_EXIT
+}
+
+/*!
+ Activates the settings view.
+ */
+void MpSettingsView::activateView()
+{
+    TX_ENTRY
+    setNavigationAction( mSoftKeyBack );
+    TX_EXIT
+}
+
+/*!
+ Deactivates the settings view.
+ */
+void MpSettingsView::deactivateView()
+{
+    TX_ENTRY
+    setNavigationAction( 0 );
+    TX_EXIT
+}
+
+/*!
+ Slot to handle back command from softkey.
+ */
+void MpSettingsView::back()
+{
+    TX_ENTRY
+    emit command( MpCommon::ActivatePlaybackView );
+    TX_EXIT
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/src/mpsettingsviewplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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 settings view.
+*
+*/
+
+#include <xqplugin.h>
+
+#include "mpsettingsviewplugin.h"
+#include "mpsettingsview.h"
+#include "mptrace.h"
+
+/*!
+    \class MpSettingsViewPlugin
+    \brief Plugin interface for Music Player settings view.
+
+    settings view plugin provides interface to the settings 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 settings view plugin.
+ */
+MpSettingsViewPlugin::MpSettingsViewPlugin()
+    : mView(0),
+      mState(NullView)
+{
+    TX_LOG
+}
+
+/*!
+ Destructs the settings view plugin.
+ */
+MpSettingsViewPlugin::~MpSettingsViewPlugin()
+{
+    TX_LOG
+}
+
+/*!
+ Creates the settings view.
+ */
+void MpSettingsViewPlugin::createView()
+{
+    TX_ENTRY
+    if ( mState == NullView ) {
+        mView = new MpSettingsView();
+        connect( mView, SIGNAL(command(int)), this, SIGNAL(command(int)) );
+        mState = Created;
+    }
+    TX_EXIT
+}
+
+/*!
+ Destroys the settings view.
+ */
+void MpSettingsViewPlugin::destroyView()
+{
+    TX_ENTRY
+    if ( mState != NullView ) {
+        delete mView;
+        mView = 0;
+        mState = NullView;
+    }
+    TX_EXIT
+}
+
+/*!
+ Activates the settings view. View initialization is done very first time.
+ */
+void MpSettingsViewPlugin::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 settings view.
+ */
+void MpSettingsViewPlugin::deactivateView()
+{
+    TX_ENTRY
+    if ( mState == Activated ) {
+        mView->deactivateView();
+        mState = Initialized;
+    }
+    TX_EXIT
+}
+
+/*!
+ Returns pointer to QGraphicsWidget, which is the settings view.
+ The returned pointer is 0, if it is not created first.
+
+ \sa createView()
+ */
+QGraphicsWidget* MpSettingsViewPlugin::getView()
+{
+    TX_LOG
+    return mView;
+}
+
+/*!
+ Slot to be called when application orientation changes.
+
+ \reimp
+ */
+void MpSettingsViewPlugin::orientationChange( Qt::Orientation orientation )
+{
+    TX_LOG
+    Q_UNUSED(orientation);
+}
+
+/*!
+ Slot to handle back command from softkey.
+
+ \reimp
+ */
+void MpSettingsViewPlugin::back()
+{
+    //do nothing, softkey is handledinternally by the view.
+    TX_LOG
+}
+
+XQ_EXPORT_PLUGIN2( mpsettingsviewplugin, MpSettingsViewPlugin );
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/inc/unittest_mpmpxasframeworkwrapper.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 mpmpxasframeworkwrapper
+*
+*/
+
+#ifndef TESTMPMPXASFRAMEWORKWRAPPER_H
+#define TESTMPMPXASFRAMEWORKWRAPPER_H
+
+#include <QtTest/QtTest>
+
+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 testSetBalance();
+    void testPersistBalance();
+    
+private:
+
+    MpMpxAsFrameworkWrapper          *mTest;
+    MpMpxAsFrameworkWrapperPrivate   *mTestPrivate;
+
+};
+
+#endif  // TESTMPMPXASFRAMEWORKWRAPPER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/src/unittest_mpmpxasframeworkwrapper.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* 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 <QSignalSpy>
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+
+#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);
+}
+
+/*!
+ test balance
+ */
+void TestMpMpxAsFrameworkWrapper::testBalance()
+{
+    for(TInt i = -10; i < 10; i++){
+        mTest->persistBalance(i);
+        QCOMPARE(mTestPrivate->iAudioEffectProperties->iBalance, i);
+        QCOMPARE(mTestPrivate->iAudioEffectProperties->iSaveToFile, TBool(ETrue));
+        mTestPrivate->iAudioEffectProperties->iSaveToFile = EFalse;
+        QCOMPARE(mTest->balance(), i);
+        QCOMPARE(mTestPrivate->iAudioEffectProperties->iLoadFromFile, TBool(ETrue));
+        mTestPrivate->iAudioEffectProperties->iLoadFromFile = EFalse;
+    }
+    mTestPrivate->iAudioEffectProperties->iLeave = ETrue;
+    QCOMPARE(mTest->balance(),0);
+}
+
+
+/*!
+ 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);        
+    }   
+}
+
+/*!
+ test persistBalance
+ */
+void TestMpMpxAsFrameworkWrapper::testPersistBalance()
+{
+    for(TInt i = -10; i < 10; i++){
+        mTest->persistBalance(i);
+        QCOMPARE(mTestPrivate->iAudioEffectProperties->iBalance, i);
+        QCOMPARE(mTestPrivate->iAudioEffectProperties->iSaveToFile, TBool(ETrue));
+        mTestPrivate->iAudioEffectProperties->iSaveToFile = EFalse;
+    }   
+}
+    
+    
+// end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxaudioeffectproperties.h	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* 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 <e32base.h>
+#include <s32strm.h>
+
+
+class CMPXAudioEffectProperties : public CBase
+    {
+public: 
+    explicit CMPXAudioEffectProperties();   
+    virtual ~CMPXAudioEffectProperties();
+
+public:
+    
+    // Stub functions
+    TInt Balance();
+    void SetBalance(TInt aBalance);
+    void Reset();
+    void SaveToFileL();
+    void LoadFromFileL();
+
+public:
+    
+    TInt    iBalance;
+    TBool   iLoadFromFile;
+    TBool   iSaveToFile;
+    TBool   iLeave;
+};
+
+#endif // CMPXAUDIOEFFECTPROPERTIES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/inc/mpxplaybackutility.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: mpxplaybackutility stub for testing mpmpxasframeworkwrapper
+*
+*/
+
+
+#ifndef MMPXPLAYBACKUTILITY_H
+#define MMPXPLAYBACKUTILITY_H
+
+#include <mpxplaybackframeworkdefs.h>
+#include <mpxcommonframeworkdefs.h>
+#include <badesca.h>
+#include <mpxattribute.h>
+#include <mpxattributespecs.h>
+
+
+class MMPXPlaybackUtility
+{
+public:
+
+    // Stub functions
+    MMPXPlaybackUtility();
+    ~MMPXPlaybackUtility();
+    static MMPXPlaybackUtility* UtilityL(const TUid& aModeId = KPbModeDefault);
+    void Close();
+    void SetL(TMPXPlaybackProperty aProperty, TInt aValue);
+
+public:
+    TInt                    iBalance;
+    TMPXPlaybackProperty    iProperty;
+
+};
+
+#endif      // MMPXPLAYBACKUTILITY_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxaudioeffectproperties.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* 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  <s32file.h>
+#include  <s32std.h>
+#include <f32file.h>
+#include <mpxlog.h>
+#include "stub/inc/mpxaudioeffectproperties.h"
+
+
+/*!
+ Stub function.
+*/
+CMPXAudioEffectProperties::CMPXAudioEffectProperties():iBalance(0),
+                                                       iLoadFromFile(EFalse),
+                                                       iSaveToFile(EFalse),
+                                                       iLeave(EFalse)
+{
+}
+
+/*!
+ Stub function.
+*/
+CMPXAudioEffectProperties::~CMPXAudioEffectProperties()
+{
+}
+
+/*!
+ Stub function.
+*/
+TInt CMPXAudioEffectProperties::Balance()
+{
+    return iBalance;
+}
+
+/*!
+ Stub function.
+*/
+void CMPXAudioEffectProperties::SetBalance(TInt aBalance)
+{
+    iBalance = aBalance;
+}
+
+/*!
+ Stub function.
+*/
+void CMPXAudioEffectProperties::Reset()
+{
+    MPX_DEBUG1("CMPXAudioEffectProperties::Reset");
+    iBalance = 0;
+}
+
+/*!
+ 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){
+        User::Leave(KErrNotFound);
+    }else{
+        iLoadFromFile = ETrue;
+    }
+    MPX_DEBUG1("CMPXAudioEffectProperties::LoadFromFileL --->");
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/stub/src/mpxplaybackutility.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,65 @@
+/*
+* 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 <Qt>
+#include <mpxcollectionplaylist.h>
+#include <mptrace.h>
+
+#include "stub/inc/mpxplaybackutility.h"
+
+/*!
+ Stub function.
+*/
+MMPXPlaybackUtility::MMPXPlaybackUtility():iProperty(EPbPropertyVolume),
+                                           iBalance(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::Close()
+{
+}
+
+/*!
+ Stub function.
+*/
+void MMPXPlaybackUtility::SetL(TMPXPlaybackProperty aProperty, TInt aValue)
+{
+    iProperty = aProperty;
+    iBalance = aValue;
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpmpxasframeworkwrapper/unittest_mpmpxasframeworkwrapper.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+TARGET = 
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+    ../../inc \
+    ../../../../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
+		   
+           
+           
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/inc/unittest_mpsettingsviewplugin.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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 MpSettingsViewPlugin
+*
+*/
+
+#ifndef TESTMPMPSETTINGSVIEWPLUGIN_H
+#define TESTMPMPSETTINGSVIEWPLUGIN_H
+
+#include <QtTest/QtTest>
+
+class MpSettingsViewPlugin;
+
+class TestMpSettingsViewPlugin : public QObject
+{
+    Q_OBJECT
+
+public:
+
+    TestMpSettingsViewPlugin();
+    virtual ~TestMpSettingsViewPlugin();
+
+signals:
+
+
+public slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+private slots:
+    void testConstructor();
+    void testCreateView();
+    void testdestroyView();
+    void testActivateView();
+    void testDeactivateView();
+    void testGetView();
+private:
+
+    MpSettingsViewPlugin          *mTest;
+
+};
+
+#endif  // TESTMPMPSETTINGSVIEWPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/src/unittest_mpsettingsviewplugin.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,247 @@
+/*
+* 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 MpSettingsViewPlugin
+*
+*/
+
+#include <QSignalSpy>
+#include <qnamespace.h>
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbInstance.h>
+
+#include "unittest_mpsettingsviewplugin.h"
+#include "stub/inc/mpsettingsview.h"
+
+
+// Do this so we can access all member variables.
+#define private public
+#include "mpsettingsviewplugin.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;
+    TestMpSettingsViewPlugin tv;
+
+    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;
+}
+
+TestMpSettingsViewPlugin::TestMpSettingsViewPlugin()
+    : mTest(0)
+{
+}
+
+TestMpSettingsViewPlugin::~TestMpSettingsViewPlugin()
+{
+    delete mTest;
+}
+
+/*!
+ Called before the first testfunction is executed.
+ */
+void TestMpSettingsViewPlugin::initTestCase()
+{
+}
+
+/*!
+ Called after the last testfunction was executed.
+ */
+void TestMpSettingsViewPlugin::cleanupTestCase()
+{
+}
+
+/*!
+ Called before each testfunction is executed.
+ */
+void TestMpSettingsViewPlugin::init()
+{
+    mTest = new MpSettingsViewPlugin();
+}
+
+/*!
+ Called after every testfunction.
+ */
+void TestMpSettingsViewPlugin::cleanup()
+{
+    delete mTest;
+    mTest = 0;
+}
+
+/*!
+ testConstructor
+ */
+void TestMpSettingsViewPlugin::testConstructor()
+{
+    QVERIFY(!mTest->mView);
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::NullView); 
+}
+
+/*!
+ testCreateView
+ */
+void TestMpSettingsViewPlugin::testCreateView()
+{
+    mTest->createView();
+    QVERIFY(mTest->mView);
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Created);
+    QSignalSpy spy( mTest, SIGNAL(command(int)) );
+    mTest->mView->emitCommand(123);
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0), QVariant(123));
+    
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+
+/*!
+ testdestroyView
+ */
+void TestMpSettingsViewPlugin::testdestroyView()
+{
+    mTest->mView = new MpSettingsView();
+    mTest->mState = MpSettingsViewPlugin::Created;
+    mTest->destroyView();
+    QVERIFY(!mTest->mView);
+    mTest->mView = new MpSettingsView();
+    mTest->mState = MpSettingsViewPlugin::NullView;
+    mTest->destroyView();
+    QVERIFY(mTest->mView);
+    
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+/*!
+ testActivateView
+ */
+void TestMpSettingsViewPlugin::testActivateView()
+{
+    mTest->mState = MpSettingsViewPlugin::NullView;
+    mTest->activateView(); // we should be able to call activate without a view and not crash.
+
+    
+    mTest->mView = new MpSettingsView();
+    mTest->mState = MpSettingsViewPlugin::NullView;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::NullView);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Activated;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+           
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Created;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,1);
+    QCOMPARE(mTest->mView->mActivateViewCount,1);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Initialized;
+    mTest->activateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Activated);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,1);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+/*!
+ testDeactivateView
+ */
+void TestMpSettingsViewPlugin::testDeactivateView()
+{
+    mTest->mState = MpSettingsViewPlugin::NullView;
+    mTest->deactivateView(); // we should be able to call deactivate without a view and not crash.
+    
+    mTest->mView = new MpSettingsView();
+    mTest->mState = MpSettingsViewPlugin::NullView;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::NullView);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Activated;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Initialized);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,1);
+           
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Created;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Created);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+       
+    mTest->mView->resetCounters();
+    mTest->mState = MpSettingsViewPlugin::Initialized;
+    mTest->deactivateView();
+    QCOMPARE(mTest->mState, MpSettingsViewPlugin::Initialized);
+    QCOMPARE(mTest->mView->mInitializeViewCount,0);
+    QCOMPARE(mTest->mView->mActivateViewCount,0);
+    QCOMPARE(mTest->mView->mDeactivateViewCount,0);
+    
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+
+void TestMpSettingsViewPlugin::testGetView()
+{
+    MpSettingsView* tmpView;
+    mTest->mView = new MpSettingsView();
+    tmpView = mTest->mView;
+    mTest->getView();
+    QCOMPARE(int(tmpView),int(mTest->getView()));
+    delete mTest->mView; 
+    //mTest->mView = 0; intentionally not = 0 to prevent unecesary double delete.
+}
+    
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/inc/mpsettingsview.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpNowPlayingWidget stub for testing MpCollectionDocumentLoader
+*
+*/
+
+#ifndef MPSETTINGSVIEW_H
+#define MPSETTINGSVIEW_H
+
+//includes
+#include <QGraphicsWidget>
+
+class MpSettingsView : public QGraphicsWidget
+{
+    Q_OBJECT
+
+public:
+    explicit MpSettingsView();
+    virtual ~MpSettingsView();
+    
+    void initializeView();
+    void activateView();
+    void deactivateView();
+
+    void emitCommand(int cmd);
+    void resetCounters();
+    
+signals:
+    void command(int cmd);
+
+public:
+    int mInitializeViewCount;
+    int mActivateViewCount;
+    int mDeactivateViewCount;
+    
+};
+
+#endif    // MPSETTINGSVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/stub/src/mpsettingsview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -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: MpSettingsView stub for testing MpSettingsViewplugin
+*
+*/
+
+#include "stub/inc/mpsettingsview.h"
+
+
+/*!
+ Constructs the MpSettingsView stub
+ */
+MpSettingsView::MpSettingsView()
+    :mInitializeViewCount(0),
+    mActivateViewCount(0),
+    mDeactivateViewCount (0)
+{
+}
+
+/*!
+ Destructs the MpSettingsView stub
+ */
+MpSettingsView::~MpSettingsView()
+{
+}
+    
+/*!
+ Initializes the MpSettingsView stub
+ */
+void MpSettingsView::initializeView()
+{
+    mInitializeViewCount++;
+}
+
+/*!
+ Activates the MpSettingsView stub
+ */
+void MpSettingsView::activateView()
+{
+    mActivateViewCount++;
+}
+
+/*!
+ Deactivates the MpSettingsView stub
+ */
+void MpSettingsView::deactivateView()
+{
+    mDeactivateViewCount++;
+}
+
+void MpSettingsView::resetCounters()
+{
+    mInitializeViewCount = 0;
+    mActivateViewCount = 0;
+    mDeactivateViewCount = 0;
+}
+
+/*!
+ emits the signal command
+ */
+void MpSettingsView::emitCommand(int cmd)
+{
+    emit command(cmd);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mpviewplugins/mpsettingsviewplugin/tsrc/unittest_mpsettingsviewplugin/unittest_mpsettingsviewplugin.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -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: 
+#
+
+TEMPLATE = app
+CONFIG += qtestlib hb
+TARGET = 
+
+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
--- a/mpviewplugins/mpviewplugins.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/mpviewplugins/mpviewplugins.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -16,6 +16,8 @@
 
 TEMPLATE = subdirs
 SUBDIRS  = mpcollectionviewplugin \
-           mpplaybackviewplugin
+           mpplaybackviewplugin \
+           mpsettingsviewplugin \
+	   mpdetailsviewplugin
 
 CONFIG += ordered
--- a/package_definition.xml	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="musicplayer" name="Music Player Apps" levels="plugins support hs app">
-    <collection id="musicvisualization" name="Music Visualization" level="plugins">
-      <component id="musicvisualizationplugin" filter="s60" name="Music Visualization Plugin" class="plugin">
-        <unit bldFile="musicvisualization/musicvisualizationplugin/group"/>
-      </component>
-      <component id="mpxvisualizationplugins" filter="s60" name="MPX Visualization Plugins" class="plugin">
-        <unit bldFile="musicvisualization/mpxvisualizationplugins/group"/>
-      </component>
-    </collection>
-    <collection id="mpxmusicplayer" name="MPX Music Player" level="app">
-      <component id="mpxmusicplayer_help" filter="s60" name="Help">
-        <unit bldFile="mpxmusicplayer/help/group"/>
-      </component>
-      <component id="mpxmusicplayer_commonui" filter="s60" name="MPX Common UI">
-        <unit bldFile="mpxmusicplayer/commonui/group"/>
-      </component>
-      <component id="activeidle" filter="s60" name="MPX Active Idle">
-        <unit bldFile="mpxmusicplayer/activeidle/group"/>
-      </component>
-      <component id="metadatahandler" filter="s60" name="MPX Metadata Handler">
-        <unit bldFile="mpxmusicplayer/metadatahandler/group"/>
-      </component>
-      <component id="mediakeyhandler" filter="s60" name="MPX Media Key Handler">
-        <unit bldFile="mpxmusicplayer/mediakeyhandler/group"/>
-      </component>
-      <component id="mpxmusicplayer_app" filter="s60" name="MPX Application">
-        <unit bldFile="mpxmusicplayer/app/group"/>
-      </component>
-      <component id="mpxmusicplayer_build" filter="s60" name="MPX Music Player Build">
-      	<!--  can the exports be distributed to the above components?  -->
-        <unit bldFile="mpxmusicplayer/group"/>
-      </component>
-    </collection>
-    <collection id="musichomescreen" name="Music Home Screen" level="hs">
-      <component id="mpxcollectionpublisher" filter="s60" name="MPX Collection Publisher" introduced="^2">
-        <unit bldFile="musichomescreen/mpxcollectionpublisher/group"/>
-      </component>
-      <component id="musiccontentpublisher" filter="s60" name="Music Content Publisher" introduced="^2">
-        <unit bldFile="musichomescreen/musiccontentpublisher/group"/>
-      </component>
-      <component id="mcpmusicplayer" filter="s60" name="Music Player MCP Plugin" class="plugin" introduced="^2">
-        <unit bldFile="musichomescreen/mcpmusicplayer/group"/>
-      </component>
-      <component id="musicplayeractionhandlerplugin" filter="s60" name="Music Player Action Handler Plugin" class="plugin" introduced="^2">
-        <unit bldFile="musichomescreen/musicplayeractionhandlerplugin/group"/>
-      </component>
-      <component id="data" filter="s60" name="MPX Data" introduced="^2">
-      	<!-- does this make sense to be a component? should it just be #include from musichomescreen/group? -->
-        <unit bldFile="musichomescreen/data/themes/default/group"/>
-      </component>
-      <component id="musichomescreen_build" filter="s60" name="Music Homescreen Build" introduced="^2">
-        <unit bldFile="musichomescreen/group"/>
-      </component>
-    </collection>
-    <collection id="mpxplugins" name="MPX Plugins" level="plugins">
-      <component id="serviceplugins" filter="s60" name="MPX Service Plugins" class="plugin">
-        <unit bldFile="mpxplugins/serviceplugins/group"/>
-      </component>
-      <component id="viewplugins" filter="s60" name="MPX View Plugins" class="plugin">
-        <unit bldFile="mpxplugins/viewplugins/group"/>
-      </component>
-      <component id="mpxplugins_build" filter="s60" name="MPX Plugins Build">
-      	<!--  can the exports be distributed to the above components?  -->
-        <unit bldFile="mpxplugins/group"/>
-      </component>
-    </collection>
-    <collection id="musicplayer_info" name="Music Player Apps Info" level="app">
-      <component id="musicplayer_plat" filter="s60" name="Music Player Apps Platform Interfaces" class="api">
-        <unit bldFile="musicplayer_plat/group"/>
-        	<!-- can only have one unit. Need to #include the rest from the above -->
-        <unit bldFile="musicplayer_plat/mpx_music_player_app_api/tsrc/group"/>
-        <unit bldFile="musicplayer_plat/mpx_music_player_commonui_api/tsrc/group"/>
-        <unit bldFile="musicplayer_plat/mpx_music_player_media_key_handler_api/tsrc/group"/>
-        <unit bldFile="musicplayer_plat/mpx_music_store_api/tsrc/group"/>
-        <unit bldFile="musicplayer_plat/music_visualization_plugin_api/tsrc/group"/>
-      </component>
-      <component id="musicplayer_test" filter="s60" purpose="development" name="Music Player Apps Test">
-      	<!-- should this be uncommented? -->
-        <!-- <unit bldFile="tsrc/group"/> -->
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/qtmusicplayer.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/qtmusicplayer.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -19,22 +19,27 @@
 symbian {
     include(app/rom/rom.pri)
     include(musicfetcher/rom/rom.pri)
+    include(mpengine/rom/rom.pri)
     include(utilities/mpsettingsmanager/rom/rom.pri)
     include(utilities/mpnowplayingbanner/rom/rom.pri)
     include(mpviewplugins/mpcollectionviewplugin/rom/rom.pri)
     include(mpviewplugins/mpplaybackviewplugin/rom/rom.pri)
+    include(mpviewplugins/mpsettingsviewplugin/rom/rom.pri)
+    include(mpviewplugins/mpdetailsviewplugin/rom/rom.pri)
     include(mpserviceplugins/audioeffects/rom/rom.pri)
     include(mpserviceplugins/localaudio/rom/rom.pri)
     include(mpserviceplugins/mpxsqlitedbcommon/rom/rom.pri)
     include(mpserviceplugins/mpxsqlitedbplugin/rom/rom.pri)
     include(mpserviceplugins/mpxsqlitepodcastdbplugin/rom/rom.pri)
+    include(mpserviceplugins/mpxinmemoryplugin/rom/rom.pri)
     include(mpserviceplugins/m3uplaylistplugin/rom/rom.pri)
-}
+    }
 
 SUBDIRS = utilities \
-           musicfetcher \
-           app \
-           mpviewplugins 
+          musicfetcher \
+          app \
+          mpengine \
+          mpviewplugins 
 
 CONFIG += ordered
 
@@ -43,6 +48,7 @@
 "./mpserviceplugins/mpxsqlitedbcommon/group/mpxsqlitedbcommon.mmp" \
 "./mpserviceplugins/mpxsqlitedbplugin/group/mpxsqlitedbplugin.mmp" \
 "./mpserviceplugins/mpxsqlitepodcastdbplugin/group/mpxsqlitepodcastdbplugin.mmp" \
+"./mpserviceplugins/mpxinmemoryplugin/group/mpxinmemoryplugin.mmp" \
 "./mpserviceplugins/m3uplaylistplugin/group/mpxm3uplaylistparsers.mmp" \
 "./mpserviceplugins/m3uplaylistplugin/group/mpxm3uplaylistplugin.mmp"
 
--- a/sis/musicplayer.pkg	Fri Mar 19 09:28:13 2010 +0200
+++ b/sis/musicplayer.pkg	Fri Apr 16 14:56:30 2010 +0300
@@ -51,4 +51,13 @@
 "\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
--- a/tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/tsrc/mpfetchertestapp/src/mpfetchertestappview.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description: 
+* Description:
 *
 */
 
@@ -44,7 +44,7 @@
 void MpFetcherTestAppView::handleOk(const QVariant &result)
 {
     qDebug() << "MpFetcherTestAppView::handleOk";
-    
+
     if (!result.canConvert<QString>())
     {
         mErrorEdit->setText("Corrupt result");
@@ -54,7 +54,7 @@
         mResultEdit->setText(result.value<QString>());
         qDebug() << "MpFetcherTestAppView::handleOk" << ": result=" << result.value<QString>();
     }
-    
+
 }
 
 void MpFetcherTestAppView::handleError(int errorCode, const QString& errorMessage)
@@ -67,7 +67,7 @@
 void MpFetcherTestAppView::createLayout()
 {
     qDebug() <<  "MpFetcherTestAppView::createLayout";
-    
+
     QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
 
     if (layout)
@@ -77,7 +77,7 @@
         if (topLayout)
         {
             topLayout->addStretch(5);
-            
+
             mResultEdit = new HbLineEdit;
             HbLabel* label = new HbLabel("Result:");
             if (mResultEdit && label)
@@ -86,7 +86,7 @@
                 mResultEdit->setMaxRows(5);
                 topLayout->addItem(mResultEdit);
             }
-            
+
             mErrorCodeEdit = new HbLineEdit;
             label = new HbLabel("Error code:");
             if (mErrorCodeEdit && label)
@@ -94,7 +94,7 @@
                 topLayout->addItem(label);
                 topLayout->addItem(mErrorCodeEdit);
             }
-            
+
             mErrorEdit = new HbLineEdit;
             label = new HbLabel("Error description:");
             if (mErrorEdit && label)
@@ -103,7 +103,7 @@
                 mErrorEdit->setMaxRows(5);
                 topLayout->addItem(mErrorEdit);
             }
-            
+
             layout->addItem(topLayout);
             layout->setStretchFactor(topLayout, 5);
         }
@@ -129,17 +129,17 @@
 void MpFetcherTestAppView::fetchSong()
 {
     qDebug() <<  "MpFetcherTestAppView::fetchSong START";
-    
+
     mResultEdit->setText("");
     mErrorEdit->setText("");
     mErrorCodeEdit->setText("");
-    
+
     if (!mReq)
     {
         mReq = mAppMgr.create("com.nokia.services.media.Music", "fetch(QString)", true);
-        
+
         qDebug() <<  "MpFetcherTestAppView::fetchSong: mReq=" << mReq;
-        
+
         if (!mReq)
         {
             mErrorEdit->setText("Failed to create REQ");
@@ -151,7 +151,7 @@
             connect(mReq, SIGNAL(requestError(int,const QString&)), SLOT(handleError(int,const QString&)));
         }
     }
-    
+
     // Set arguments for request (application title)
     QList<QVariant> args;
     args << QVariant(QString("<app_name>"));
@@ -163,6 +163,6 @@
         mErrorEdit->setText("Failed to send REQ");
         qDebug() <<  "MpFetcherTestAppView::fetchSong: XQAiwRequest::send returned false";
     }
-    
+
     qDebug() <<  "MpFetcherTestAppView::fetchSong END";
 }
--- a/utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/bwins/mpnowplayingbanneru.def	Fri Apr 16 14:56:30 2010 +0300
@@ -17,4 +17,5 @@
 	?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 *)
 
--- a/utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/eabi/mpnowplayingbanneru.def	Fri Apr 16 14:56:30 2010 +0300
@@ -24,4 +24,5 @@
 	_ZThn8_N18MpNowPlayingWidgetD0Ev @ 23 NONAME
 	_ZThn8_N18MpNowPlayingWidgetD1Ev @ 24 NONAME
 	_ZN18MpNowPlayingWidget10setEnabledEb @ 25 NONAME
+	_ZN18MpNowPlayingWidget11changeEventEP6QEvent @ 26 NONAME
 
--- a/utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/inc/mpnowplayingwidget_p.h	Fri Apr 16 14:56:30 2010 +0300
@@ -45,6 +45,8 @@
 
     void setEnabled(bool enabled );
     bool handleClickEvent( QGraphicsSceneMouseEvent *event );
+    void handleMousePressEvent(QGraphicsSceneMouseEvent *event, bool pressed);
+    void handleThemeChange();
 
 public slots:
 
@@ -58,8 +60,10 @@
     SimplifiedPlayerState   mState;
     MpNowPlayingBackEnd     *mBackEnd;
 
-	HbIcon                  *mPlayIcon;
-    HbIcon                  *mPauseIcon;
+	HbIcon                  *mPlayIconNormal;
+    HbIcon                  *mPauseIconNormal;
+    HbIcon                  *mPlayIconPressed;
+    HbIcon                  *mPauseIconPressed;
     HbLabel                 *mIcon;
 
     HbDocumentLoader        *mDocumentLoader;
--- a/utilities/mpnowplayingbanner/mpnowplayingbanner.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/mpnowplayingbanner.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -28,10 +28,7 @@
 INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE 
      
 LIBS += -lmpxplaybackutility.dll \
-        -lmpxcommon.dll \
-        -lhbcore \
-        -lhbwidgets \
-        -lhbtools
+        -lmpxcommon.dll
         
 symbian:TARGET.EPOCALLOWDLLDATA	= 1
 
--- a/utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/resources/mpnowplayingbanner.qrc	Fri Apr 16 14:56:30 2010 +0300
@@ -2,8 +2,4 @@
     <qresource prefix="/xml" >   
         <file alias="nowplaying.docml">nowplaying.docml</file>
     </qresource>
-    <qresource prefix="/icons" >
-        <file alias="play.svg">play.svg</file>
-        <file alias="pause.svg">pause.svg</file>
-    </qresource>
 </RCC>
--- a/utilities/mpnowplayingbanner/resources/pause.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="286.0996" y1="-178.7515" x2="432.2307" y2="-324.8826">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.5337" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M478.781-229.968c3.618-4.143,2.485-9.402-2.518-11.688l-65.002-29.698
-			c-5.003-2.285-9.096,0.344-9.096,5.844v27.139c0,5.5-4.391,10.987-9.756,12.195l-44.821,10.084
-			c-5.365,1.208-9.756-2.305-9.756-7.805v-72.109c0-5.5,4.441-9.274,9.869-8.387l75.262,12.303c5.428,0.887,9.869-2.887,9.869-8.387
-			v-19.135c0-5.5-4.446-10.695-9.88-11.545l-113.24-17.712c-5.434-0.85-9.88,2.955-9.88,8.455v171.891
-			c0,5.5,4.315,8.723,9.589,7.163l83.155-24.601c5.273-1.561,9.589,1.663,9.589,7.163v26.557c0,5.5,2.96,6.609,6.578,2.467
-			L478.781-229.968z"/>
-	</g>
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.5273" y1="23.9521" x2="19.5779" y2="11.9016">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.5337" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M15.922,8.738H11.18c-0.654,0-1.186,0.531-1.186,1.185v16.006c0,0.654,0.531,1.186,1.186,1.186
-			h4.742c0.655,0,1.187-0.531,1.187-1.186V9.923C17.108,9.269,16.577,8.738,15.922,8.738z"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="16.4189" y1="23.9521" x2="28.4692" y2="11.9019">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.5337" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_3_)" d="M24.814,8.738h-4.742c-0.654,0-1.186,0.531-1.186,1.185v16.006c0,0.654,0.531,1.186,1.186,1.186
-			h4.742c0.654,0,1.186-0.531,1.186-1.186V9.923C26,9.269,25.469,8.738,24.814,8.738z"/>
-	</g>
-</g>
-</svg>
--- a/utilities/mpnowplayingbanner/resources/play.svg	Fri Mar 19 09:28:13 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="35px"
-	 height="35px" viewBox="0 0 35 35" enable-background="new 0 0 35 35" xml:space="preserve">
-<g id="Layer_1">
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="286.0996" y1="-178.7515" x2="432.2307" y2="-324.8826">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.5337" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M478.781-229.968c3.618-4.143,2.485-9.402-2.518-11.688l-65.002-29.698
-			c-5.003-2.285-9.096,0.344-9.096,5.844v27.139c0,5.5-4.391,10.987-9.756,12.195l-44.821,10.084
-			c-5.365,1.208-9.756-2.305-9.756-7.805v-72.109c0-5.5,4.441-9.274,9.869-8.387l75.262,12.303c5.428,0.887,9.869-2.887,9.869-8.387
-			v-19.135c0-5.5-4.446-10.695-9.88-11.545l-113.24-17.712c-5.434-0.85-9.88,2.955-9.88,8.455v171.891
-			c0,5.5,4.315,8.723,9.589,7.163l83.155-24.601c5.273-1.561,9.589,1.663,9.589,7.163v26.557c0,5.5,2.96,6.609,6.578,2.467
-			L478.781-229.968z"/>
-	</g>
-</g>
-<g id="Layer_2">
-	<g>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="8.7358" y1="23.3418" x2="19.5661" y2="12.5116">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="0.5337" style="stop-color:#C4C4C4"/>
-			<stop  offset="1" style="stop-color:#FFFFFF"/>
-		</linearGradient>
-		<path fill="url(#SVGID_2_)" d="M11.428,10.46c0-1.1,0.746-1.497,1.658-0.882l10.725,7.229c0.912,0.615,0.912,1.621,0,2.236
-			l-10.725,7.229c-0.912,0.615-1.658,0.218-1.658-0.882V10.46z"/>
-	</g>
-</g>
-</svg>
--- a/utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/src/mpnowplayingwidget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -19,6 +19,7 @@
 #include <QGraphicsSceneMouseEvent>
 
 #include <hbicon.h>
+#include <hbevent.h>
 
 #include "mpnowplayingwidget.h"
 #include "mpnowplayingwidget_p.h"
@@ -99,6 +100,8 @@
 {
     TX_ENTRY
     if ( event->button() == Qt::LeftButton ) {
+        d_ptr->handleMousePressEvent( event, true );
+        update();
         event->accept();
     }
     else {
@@ -114,6 +117,8 @@
 {
     TX_ENTRY
     if ( event->button() == Qt::LeftButton ) {
+        d_ptr->handleMousePressEvent( event, false );
+        update();
         if ( !d_ptr->handleClickEvent( event ) && rect().contains( event->pos() ) ) {
             emit clicked();
         }
@@ -125,3 +130,14 @@
     TX_EXIT
 }
 
+/*!
+    \reimp
+ */
+void MpNowPlayingWidget::changeEvent(QEvent *event)
+{
+    if (event->type() == HbEvent::ThemeChanged) {
+            d_ptr->handleThemeChange();
+    }
+    HbWidgetBase::changeEvent(event);
+}
+
--- a/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/src/mpnowplayingwidget_p.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -23,6 +23,7 @@
 #include <hbiconitem.h>
 #include <hbdocumentloader.h>
 #include <hbinstance.h>
+#include <hbcolorscheme.h>
 
 #include "mpnowplayingwidget_p.h"
 #include "mpnowplayingwidget.h"
@@ -57,9 +58,20 @@
     QGraphicsWidget *widget;
     bool widgetsOk = false;
 
-
-    mPlayIcon = new HbIcon( QString(":/icons/play.png"));
-    mPauseIcon = new HbIcon( QString(":/icons/pause.png"));
+    //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") );
+    
+    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 );
 
     mDocumentLoader = new HbDocumentLoader();
     if (mDocumentLoader) {
@@ -75,10 +87,15 @@
 
         widget = mDocumentLoader->findWidget(QString("primaryText"));
         mPrimaryText = qobject_cast<HbLabel*>(widget);
+        //TODO final color resource should be qtc_multimedia_trans_normal when available
+        mPrimaryText->setTextColor( normalColor );
+       
 
         widget = mDocumentLoader->findWidget(QString("secondaryText"));
         mSecondaryText = qobject_cast<HbLabel*>(widget);
-
+        //TODO final color resource should be qtc_multimedia_trans_normal when available
+        mSecondaryText->setTextColor( normalColor );
+        
         widget = mDocumentLoader->findWidget(QString("playPause"));
         mIcon = qobject_cast<HbLabel*>(widget);
 
@@ -107,8 +124,10 @@
 {
     TX_ENTRY
     delete mBackEnd;
-    delete mPlayIcon;
-    delete mPauseIcon;
+    delete mPlayIconNormal;
+    delete mPauseIconNormal;
+    delete mPlayIconPressed;
+    delete mPauseIconPressed;
     delete mDocumentLoader;
     TX_EXIT
 }
@@ -157,6 +176,66 @@
    }
 }
 
+/*!
+ \internal
+ Changes text and icon color when \a pressed
+ */
+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") );
+    
+    if( mIcon->windowFrameGeometry().contains( event->pos() ) && pressed) {            
+        if ( mState == Playing ) {
+            mIcon->setIcon( *mPauseIconPressed );
+        }
+        else {             
+            mIcon->setIcon( *mPlayIconPressed );
+        }
+    }
+    else if( q_ptr->rect().contains( event->pos() ) && pressed ){
+        mPrimaryText->setTextColor( pressedColor );
+        mSecondaryText->setTextColor( pressedColor );
+    }
+    else { 
+        mPrimaryText->setTextColor( normalColor );
+        mSecondaryText->setTextColor( normalColor );
+        if( mState == Playing){        
+            mIcon->setIcon( *mPauseIconNormal );
+        }
+        else{
+            mIcon->setIcon( *mPlayIconNormal );
+        }
+    }
+}
+
+/*!
+ \internal
+ Handles theme change
+ */
+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") );
+    
+    mPrimaryText->setTextColor( normalColor );
+    mSecondaryText->setTextColor( normalColor );
+    mPauseIconNormal->setColor( normalColor );
+    mPlayIconNormal->setColor( normalColor );
+    mPauseIconPressed->setColor( pressedColor );
+    mPlayIconPressed->setColor( pressedColor );
+    
+    if( mState == Playing){               
+        mIcon->setIcon( *mPauseIconNormal );
+    }
+    else{        
+        mIcon->setIcon( *mPlayIconNormal );
+    }
+}
 
 /*!
  \internal
@@ -171,12 +250,12 @@
                 emit q_ptr->playbackAttachmentChanged( false );
             break;
         case Playing:
-            mIcon->setIcon(*mPauseIcon);
+            mIcon->setIcon(*mPauseIconNormal);
             if (mState == NotPlaying)
                 emit q_ptr->playbackAttachmentChanged( true );
             break;
         case Paused:
-            mIcon->setIcon(*mPlayIcon);
+            mIcon->setIcon(*mPlayIconNormal);
             if (mState == NotPlaying)
                 emit q_ptr->playbackAttachmentChanged( true );
             break;
--- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/inc/unittest_mpnowplayingwidget.h	Fri Apr 16 14:56:30 2010 +0300
@@ -49,6 +49,7 @@
     void testTitleChange();
     void testArtistChange();
     void testSetEnabled();
+    void testThemeChange();
 
 private:
 
--- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/src/unittest_mpnowplayingwidget.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -22,9 +22,11 @@
 #include <hbmainwindow.h>
 #include <hbInstance.h>
 #include <hblabel.h>
+#include <hbevent.h>
 
 #include "unittest_mpnowplayingwidget.h"
 #include "stub/inc/mpnowplayingbackend.h"
+#include "stub/inc/hbcolorscheme.h"
 #include "mpcommondefs.h"
 
 // Do this so we can access all member variables.
@@ -106,8 +108,10 @@
     QVERIFY(mTestPrivate->mPrimaryText != 0);
     QVERIFY(mTestPrivate->mSecondaryText != 0);
     QVERIFY(mTestPrivate->mBackEnd != 0);
-    QVERIFY(mTestPrivate->mPlayIcon != 0);
-    QVERIFY(mTestPrivate->mPauseIcon != 0);
+    QVERIFY(mTestPrivate->mPlayIconNormal != 0);
+    QVERIFY(mTestPrivate->mPauseIconNormal != 0);
+    QVERIFY(mTestPrivate->mPlayIconPressed != 0);
+    QVERIFY(mTestPrivate->mPauseIconPressed != 0);
     QVERIFY(mTestPrivate->mIcon != 0);
     QVERIFY(mTestPrivate->mDocumentLoader != 0);
     QCOMPARE(mTestPrivate->mState, NotPlaying);
@@ -217,4 +221,41 @@
     QCOMPARE(mTestPrivate->mSecondaryText->plainText(), QString("Artist"));
 }
 
+/*!
+ Tests ThemeChange.
+ */
+void TestMpNowPlayingWidget::testThemeChange()
+{
+    
+    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);
+    
+    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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/inc/hbcolorscheme.h	Fri Apr 16 14:56:30 2010 +0300
@@ -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: HbColorScheme stub for testing MpNowPlayingWidget
+*
+*/
+
+#ifndef HBCOLORSCHEME_H
+#define HBCOLORSCHEME_H
+
+#include <hbglobal.h>
+#include <QColor>
+
+
+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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/stub/src/hbcolorscheme.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* 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);
+}
+
--- a/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpnowplayingbanner/tsrc/unittest_mpnowplayingwidget/unittest_mpnowplayingwidget.pro	Fri Apr 16 14:56:30 2010 +0300
@@ -31,11 +31,13 @@
 # Input
 HEADERS += inc/unittest_mpnowplayingwidget.h \
            stub/inc/mpnowplayingbackend.h \
+           stub/inc/hbcolorscheme.h \
            ../../../../inc/mpnowplayingwidget.h \
            ../../inc/mpnowplayingwidget_p.h
                
 SOURCES += src/unittest_mpnowplayingwidget.cpp \
            stub/src/mpnowplayingbackend.cpp \
+           stub/src/hbcolorscheme.cpp \
            ../../src/mpnowplayingwidget.cpp \
            ../../src/mpnowplayingwidget_p.cpp
 
--- a/utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/bwins/mpsettingsmanageru.def	Fri Apr 16 14:56:30 2010 +0300
@@ -20,4 +20,7 @@
 	?instance@MpSettingsManager@@SAPAV1@XZ @ 19 NONAME ; class MpSettingsManager * MpSettingsManager::instance(void)
 	?shuffle@MpSettingsManager@@SA_NXZ @ 20 NONAME ; bool MpSettingsManager::shuffle(void)
 	?firstStartup@MpSettingsManager@@SA_NXZ @ 21 NONAME ; bool MpSettingsManager::firstStartup(void)
+	?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)
 
Binary file utilities/mpsettingsmanager/conf/musicplayer.confml has changed
Binary file utilities/mpsettingsmanager/conf/musicplayer_10207C92.crml has changed
--- a/utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/eabi/mpsettingsmanageru.def	Fri Apr 16 14:56:30 2010 +0300
@@ -20,4 +20,7 @@
 	_ZTI17MpSettingsManager @ 19 NONAME
 	_ZTV17MpSettingsManager @ 20 NONAME
 	_ZN17MpSettingsManager12firstStartupEv @ 21 NONAME
+	_ZN17MpSettingsManager13presetChangedEi @ 22 NONAME
+	_ZN17MpSettingsManager6presetEv @ 23 NONAME
+	_ZN17MpSettingsManager9setPresetEi @ 24 NONAME
 
--- a/utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/inc/mpsettingsmanagerdefs.h	Fri Apr 16 14:56:30 2010 +0300
@@ -23,5 +23,6 @@
     const qint32 KMPCenRepSettingShuffleKey         = {0x00000001};
     const qint32 KMPCenRepSettingRepeatKey          = {0x00000002};
     const qint32 KMPCenRepSettingFirstStartupKey    = {0x00000003};
+    const qint32 KMPCenRepSettingPresetIdKey        = {0x00000004};
 
 #endif	// MPSETTINGSMANAGERDEFS_H
--- a/utilities/mpsettingsmanager/src/mpsettingsmanager.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/src/mpsettingsmanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -76,6 +76,12 @@
     mRepeat = mSettingsManager->readItemValue(repeatProfileKey).toInt();
     mSettingsManager->startMonitoring(repeatProfileKey);
     
+    XQSettingsKey presetProfileKey(XQSettingsKey::TargetCentralRepository, 
+             KMPCenRepSettingsFeature, 
+             KMPCenRepSettingPresetIdKey);
+    mPreset = mSettingsManager->readItemValue(presetProfileKey).toInt();
+    mSettingsManager->startMonitoring(presetProfileKey);
+
     TX_EXIT
 }
 
@@ -120,6 +126,14 @@
     return instance()->mRepeat;
 }
 
+/*!
+ Returns the preset setting.
+ */
+int MpSettingsManager::preset()
+{
+    return instance()->mPreset;
+}
+
 
 /*!
  Slot to be called when a setting is changed.
@@ -139,6 +153,11 @@
             TX_LOG_ARGS("Repeat changed to "<< mRepeat);
             emit repeatChanged( mRepeat );
             break;
+        case KMPCenRepSettingPresetIdKey:
+            mPreset = value.toInt();
+            TX_LOG_ARGS("Preset changed to "<< mPreset);
+            emit presetChanged( mPreset );
+            break;
         default :
             TX_LOG_ARGS(" unhandled cenrep key: " << key.key() << 
                     "; should never get here.");
@@ -177,3 +196,18 @@
     TX_EXIT
 }
 
+/*!
+ Slot to be called to request an update on the \a preset setting.
+ */
+void MpSettingsManager::setPreset(int preset)
+{
+    TX_STATIC_ENTRY_ARGS("preset=" << preset);
+    XQSettingsKey presetProfileKey(XQSettingsKey::TargetCentralRepository, 
+            KMPCenRepSettingsFeature, 
+            KMPCenRepSettingPresetIdKey);
+    instance()->mSettingsManager->writeItemValue(
+            presetProfileKey, preset);
+    TX_EXIT
+}
+
+
--- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/inc/unittest_mpsettingsmanager.h	Fri Apr 16 14:56:30 2010 +0300
@@ -42,9 +42,11 @@
     void testConstructor(); //don't change the order, this should be the first test.
     void testInstanceConstruction();
     void testShuffleGetAndSet();
-    void testRepeatGetAndSet();   
+    void testRepeatGetAndSet();
+    void testPresetGetAndSet();
     void testValueChangedShuffleCase();
     void testValueChangedRepeatCase();
+    void testValueChangedPresetCase();
 
 
 };
--- a/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp	Fri Mar 19 09:28:13 2010 +0200
+++ b/utilities/mpsettingsmanager/tsrc/unittest_mpsettingsmanager/src/unittest_mpsettingsmanager.cpp	Fri Apr 16 14:56:30 2010 +0300
@@ -150,13 +150,13 @@
     test->mShuffle = true;
     MpSettingsManager::setShuffle(false);
     QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingShuffleKey),QVariant(false));
-    QCOMPARE(test->mShuffle, true); //should not chaqnge until sotred in cenrep
+    QCOMPARE(test->mShuffle, 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 sotred in cenrep
+    QCOMPARE(test->mShuffle, 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 +176,13 @@
     test->mRepeat = true;
     MpSettingsManager::setRepeat(false);
     QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingRepeatKey),QVariant(false));
-    QCOMPARE(test->mRepeat, true); //should not chaqnge until sotred in cenrep
+    QCOMPARE(test->mRepeat, 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 sotred in cenrep
+    QCOMPARE(test->mRepeat, false);//should not chaqnge until stored in cenrep
 
     //make sure there are not unecesary request to cenrep.
     QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingRepeatKey),2);
@@ -191,6 +191,32 @@
 }
 
 /*!
+testPresetGetAndSet
+ */
+void TestMpSettingsManager::testPresetGetAndSet()
+{
+    MpSettingsManager *test;
+    test = MpSettingsManager::instance();
+    test->mSettingsManager->clear();
+    
+    test->mPreset = 1;
+    MpSettingsManager::setPreset(0);
+    QCOMPARE(test->mSettingsManager->writeRequestValue(KMPCenRepSettingPresetIdKey),QVariant(0));
+    QCOMPARE(test->mPreset, 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
+
+    //make sure there are not unecesary request to cenrep.
+    QCOMPARE(test->mSettingsManager->writeItemValueRequestCount(KMPCenRepSettingPresetIdKey),2);
+    QCOMPARE(test->mSettingsManager->readItemValueRequestCount(KMPCenRepSettingPresetIdKey),0);
+    QCOMPARE(test->mSettingsManager->startMonitoringRequestCount(KMPCenRepSettingPresetIdKey), 0);
+}
+
+/*!
  testValueChangedShuffleCase.
  */ 
 void TestMpSettingsManager::testValueChangedShuffleCase()
@@ -238,5 +264,29 @@
 
 }
 
+/*!
+ testValueChangedPresetCase.
+ */ 
+void TestMpSettingsManager::testValueChangedPresetCase()
+{
+    MpSettingsManager *test;
+    test = MpSettingsManager::instance();
+      
+    XQSettingsKey presetProfileKey(XQSettingsKey::TargetCentralRepository, 
+            KMPCenRepSettingsFeature, 
+            KMPCenRepSettingPresetIdKey);
+    test->mPreset = 1;
+    test->valueChanged(presetProfileKey, QVariant(0));
+    QCOMPARE(test->mPreset, 0);
+
+    test->mPreset = 0;
+    QSignalSpy spy( test, SIGNAL(presetChanged(int) ) );
+    test->mSettingsManager->emitValueChanged(presetProfileKey, QVariant(1));
+    QCOMPARE(spy.count(), 1);
+    QCOMPARE(spy.at(0).at(0), QVariant(1) );
+    QCOMPARE(test->mPreset, 1);
+
+}
+
 // End of file