Unnecessary components removed v5backport
authorjake
Thu, 18 Mar 2010 14:57:41 +0200
branchv5backport
changeset 14 1abc632eb502
parent 13 6205fd287e8a
child 20 636d517f67e6
Unnecessary components removed
menufw/cenrep/keys_matrix.xls
menufw/group/bld.inf
menufw/hierarchynavigator/group/bld.inf
menufw/hierarchynavigator/hnengine/bwins/hnengineu.def
menufw/hierarchynavigator/hnengine/eabi/hnengineu.def
menufw/hierarchynavigator/hnengine/group/bld.inf
menufw/hierarchynavigator/hnengine/group/hnengine.mmp
menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h
menufw/hierarchynavigator/hnengine/inc/hndatachangenotifier.h
menufw/hierarchynavigator/hnengine/inc/hndatachangeobserver.h
menufw/hierarchynavigator/hnengine/inc/hnengine.h
menufw/hierarchynavigator/hnengine/inc/hneventgenerator.h
menufw/hierarchynavigator/hnengine/inc/hninstallnotifier.h
menufw/hierarchynavigator/hnengine/inc/hninterface.h
menufw/hierarchynavigator/hnengine/inc/hnserviceglobals.h
menufw/hierarchynavigator/hnengine/inc/menudebug.h
menufw/hierarchynavigator/hnengine/inc/mymenudebug.h
menufw/hierarchynavigator/hnengine/src/hnengine.cpp
menufw/hierarchynavigator/hnengine/src/hninstallnotifier.cpp
menufw/hierarchynavigator/hnmetadatamodel/bwins/hnmetadatamodelu.def
menufw/hierarchynavigator/hnmetadatamodel/eabi/hnmetadatamodelu.def
menufw/hierarchynavigator/hnmetadatamodel/group/bld.inf
menufw/hierarchynavigator/hnmetadatamodel/group/hnmetadatamodel.mmp
menufw/hierarchynavigator/hnmetadatamodel/inc/hnbitmapidcache.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hncomplexcondition.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditionfactory.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditioninterface.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnfilter.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnglobals.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnhelper.inl
menufw/hierarchynavigator/hnmetadatamodel/inc/hnitemid.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdaction.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdbutton.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdevent.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmapping.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmditem.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalization.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalizationelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmenuitem.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmodel.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequest.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequests.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdqueries.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdquery.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservice.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservicecommand.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdsuite.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdtoolbar.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimapping.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimappingelement.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluebase.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvalueimage.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluetext.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnqueryresultcollector.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnrepositoryobserver.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimplecondition.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiondifferent.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionequal.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiongreater.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhas.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhasnot.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionsmaller.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnstringhandler.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnutils.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelcache.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelprovider.h
menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlsuitefilesreg.h
menufw/hierarchynavigator/hnmetadatamodel/inc/mymenudebug.h
menufw/hierarchynavigator/hnmetadatamodel/src/hnbitmapidcache.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hncomplexcondition.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnconditionfactory.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnfilter.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnitemid.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdaction.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdbutton.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdevent.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmapping.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmappingelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmditem.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalization.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalizationelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmenuitem.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmodel.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequest.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequests.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdqueries.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdquery.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservice.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdsuite.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdtoolbar.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimapping.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimappingelement.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluebase.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluetext.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnqueryresultcollector.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnrepositoryobserver.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimplecondition.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiondifferent.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionequal.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiongreater.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhas.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhasnot.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionsmaller.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnstringhandler.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnutils.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelcache.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelprovider.cpp
menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlsuitefilesreg.cpp
menufw/hierarchynavigator/hnpresentationmodel/bwins/hnpresentationmodelu.def
menufw/hierarchynavigator/hnpresentationmodel/eabi/hnpresentationmodelu.def
menufw/hierarchynavigator/hnpresentationmodel/group/bld.inf
menufw/hierarchynavigator/hnpresentationmodel/group/hnpresentationmodel.mmp
menufw/hierarchynavigator/hnpresentationmodel/inc/hnactionmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributebase.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributeimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributetext.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovappimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovemptyimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovfileimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovider.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovliwimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovsvgimage.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovthememif.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnbuttonmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hneventhandler.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnextbmpiconholder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hniconholder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemfocushandler.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemsorder.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnmenuitemmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodelcontainer.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuiteobserver.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitesstack.h
menufw/hierarchynavigator/hnpresentationmodel/inc/hntoolbarmodel.h
menufw/hierarchynavigator/hnpresentationmodel/inc/mymenudebug.h
menufw/hierarchynavigator/hnpresentationmodel/src/hnactionmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributebase.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributeimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattributetext.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovappimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovemptyimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovfileimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovider.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovliwimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovsvgimage.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovthememif.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnbuttonmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hneventhandler.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnextbmpiconholder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hniconholder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnitemsorder.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnmenuitemmodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodel.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodelcontainer.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitesstack.cpp
menufw/hierarchynavigator/hnpresentationmodel/src/hntoolbarmodel.cpp
menufw/hierarchynavigator/hnutilities/bwins/hnutilitiesu.def
menufw/hierarchynavigator/hnutilities/data/20012474.txt
menufw/hierarchynavigator/hnutilities/data/20012474_newMenuFw.txt
menufw/hierarchynavigator/hnutilities/eabi/hnutilitiesu.def
menufw/hierarchynavigator/hnutilities/group/bld.inf
menufw/hierarchynavigator/hnutilities/group/hnutilities.mmp
menufw/hierarchynavigator/hnutilities/inc/hnconvutils.h
menufw/hierarchynavigator/hnutilities/inc/hnconvutils.inl
menufw/hierarchynavigator/hnutilities/inc/hnliwutils.h
menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdbooleankey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdinteger64key.h
menufw/hierarchynavigator/hnutilities/inc/hnmdintegerkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdkeyfactory.h
menufw/hierarchynavigator/hnutilities/inc/hnmdlistkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdmapkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdstring16key.h
menufw/hierarchynavigator/hnutilities/inc/hnmdstring8key.h
menufw/hierarchynavigator/hnutilities/inc/hnmduidkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmduintegerkey.h
menufw/hierarchynavigator/hnutilities/inc/hnmdundefkey.h
menufw/hierarchynavigator/hnutilities/inc/hnrepositorymanager.h
menufw/hierarchynavigator/hnutilities/inc/hnservicehandler.h
menufw/hierarchynavigator/hnutilities/inc/mymenudebug.h
menufw/hierarchynavigator/hnutilities/src/hnconvutils.cpp
menufw/hierarchynavigator/hnutilities/src/hnliwutils.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdbasekey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdbooleankey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdinteger64key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdintegerkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdkeyfactory.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdlistkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdmapkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdstring16key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdstring8key.cpp
menufw/hierarchynavigator/hnutilities/src/hnmduidkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmduintegerkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnmdundefkey.cpp
menufw/hierarchynavigator/hnutilities/src/hnrepositorymanager.cpp
menufw/hierarchynavigator/hnutilities/src/hnservicehandler.cpp
menufw/hierarchynavigator/rom/hierarchynavigator.iby
menufw/menufwui/group/bld.inf
menufw/menufwui/matrixmenu/data/matrixmenu.rss
menufw/menufwui/matrixmenu/data/matrixmenu_reg.rss
menufw/menufwui/matrixmenu/group/backup_registration.xml
menufw/menufwui/matrixmenu/group/bld.inf
menufw/menufwui/matrixmenu/group/matrixmenu.mmp
menufw/menufwui/matrixmenu/help/data/xhtml.zip
menufw/menufwui/matrixmenu/help/group/bld.inf
menufw/menufwui/matrixmenu/help/inc/app.hlp.hrh
menufw/menufwui/matrixmenu/help/rom/matrixmenuhelps_variant.iby
menufw/menufwui/matrixmenu/inc/mmactionrequest.h
menufw/menufwui/matrixmenu/inc/mmappkeyhandler.h
menufw/menufwui/matrixmenu/inc/mmapplication.h
menufw/menufwui/matrixmenu/inc/mmappui.h
menufw/menufwui/matrixmenu/inc/mmdocument.h
menufw/menufwui/matrixmenu/inc/mmgui.hrh
menufw/menufwui/matrixmenu/inc/mmguiconstants.h
menufw/menufwui/matrixmenu/inc/mmguiuid.hrh
menufw/menufwui/matrixmenu/inc/mmnomemory.h
menufw/menufwui/matrixmenu/inc/mymenudebug.h
menufw/menufwui/matrixmenu/loc/matrix_menu.loc
menufw/menufwui/matrixmenu/rom/matrixmenu.iby
menufw/menufwui/matrixmenu/rom/matrixmenu_resources.iby
menufw/menufwui/matrixmenu/src/mmappkeyhandler.cpp
menufw/menufwui/matrixmenu/src/mmapplication.cpp
menufw/menufwui/matrixmenu/src/mmappui.cpp
menufw/menufwui/matrixmenu/src/mmdocument.cpp
menufw/menufwui/matrixmenu/src/mmgui.cpp
menufw/menufwui/matrixmenu/src/mmnomemory.cpp
menufw/menufwui/mmextensions/group/bld.inf
menufw/menufwui/mmextensions/mmextensionmanager/BWINS/mmextensionmanageru.def
menufw/menufwui/mmextensions/mmextensionmanager/EABI/mmextensionmanageru.def
menufw/menufwui/mmextensions/mmextensionmanager/group/bld.inf
menufw/menufwui/mmextensions/mmextensionmanager/group/mmextensionmanager.mmp
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmdialogmanager.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmecomobserver.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionmanager.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.inl
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugindef.h
menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionpluginuids.hrh
menufw/menufwui/mmextensions/mmextensionmanager/inc/mymenudebug.h
menufw/menufwui/mmextensions/mmextensionmanager/src/mmecomobserver.cpp
menufw/menufwui/mmextensions/mmextensionmanager/src/mmextensionmanager.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextensionplugin.rss
menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextplugin.rss
menufw/menufwui/mmextensions/mmfolderuiextension/group/bld.inf
menufw/menufwui/mmextensions/mmfolderuiextension/group/mmfolderuiextensionplugin.mmp
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandadd.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommanddelete.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandrename.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextplugin.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextpluginconstants.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmmovetofoldercommand.h
menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmpluginsharedresources.h
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommand.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandadd.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandrename.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfolderuiextplugin.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmmovetofoldercommand.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmpluginsharedresources.cpp
menufw/menufwui/mmextensions/mmfolderuiextension/src/mmproxy.cpp
menufw/menufwui/mmextensions/rom/mmextensions.iby
menufw/menufwui/mmextensions/rom/mmextensions_resources.iby
menufw/menufwui/mmwidgets/bwins/mmwidgetsu.def
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/grid/custom/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/data/grid/lct/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_10.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_11.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_12.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_13.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_5.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_6.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_7.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_8.xml
menufw/menufwui/mmwidgets/data/list/custom/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_list_single_hc_apps_pane.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_1.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_12.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_2.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_3.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_4.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_5.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6a.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_7.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_8.xml
menufw/menufwui/mmwidgets/data/list/lct/akn_single_large_graphic_pane.xml
menufw/menufwui/mmwidgets/eabi/mmwidgetsu.def
menufw/menufwui/mmwidgets/group/bld.inf
menufw/menufwui/mmwidgets/group/mmwidgets.mmp
menufw/menufwui/mmwidgets/inc/mmcacheforitem.h
menufw/menufwui/mmwidgets/inc/mmcacheforitem.inl
menufw/menufwui/mmwidgets/inc/mmdraganddropobserver.h
menufw/menufwui/mmwidgets/inc/mmdraweranimator.h
menufw/menufwui/mmwidgets/inc/mmfloatingitem.h
menufw/menufwui/mmwidgets/inc/mmgrid.h
menufw/menufwui/mmwidgets/inc/mmgridcontainer.h
menufw/menufwui/mmwidgets/inc/mmgridmodel.h
menufw/menufwui/mmwidgets/inc/mmgridview.h
menufw/menufwui/mmwidgets/inc/mmitemsdatacache.h
menufw/menufwui/mmwidgets/inc/mmkeyeventobserver.h
menufw/menufwui/mmwidgets/inc/mmlctutils.h
menufw/menufwui/mmwidgets/inc/mmlistbox.h
menufw/menufwui/mmwidgets/inc/mmlistboxcontainer.h
menufw/menufwui/mmwidgets/inc/mmlistboxitemdrawer.h
menufw/menufwui/mmwidgets/inc/mmlistboxmodel.h
menufw/menufwui/mmwidgets/inc/mmlistboxview.h
menufw/menufwui/mmwidgets/inc/mmlongtapobserver.h
menufw/menufwui/mmwidgets/inc/mmmarqueeadapter.h
menufw/menufwui/mmwidgets/inc/mmpostevaluationprocessor.h
menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.h
menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.inl
menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h
menufw/menufwui/mmwidgets/inc/mmvisibilityobserver.h
menufw/menufwui/mmwidgets/inc/mmwidgetcontainer.h
menufw/menufwui/mmwidgets/inc/mmwidgetobserver.h
menufw/menufwui/mmwidgets/inc/mmwidgetsconstants.h
menufw/menufwui/mmwidgets/rom/mmwidgets.iby
menufw/menufwui/mmwidgets/src/mmcacheforitem.cpp
menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp
menufw/menufwui/mmwidgets/src/mmfloatingitem.cpp
menufw/menufwui/mmwidgets/src/mmgrid.cpp
menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp
menufw/menufwui/mmwidgets/src/mmgridmodel.cpp
menufw/menufwui/mmwidgets/src/mmgridview.cpp
menufw/menufwui/mmwidgets/src/mmitemsdatacache.cpp
menufw/menufwui/mmwidgets/src/mmlctutils.cpp
menufw/menufwui/mmwidgets/src/mmlistbox.cpp
menufw/menufwui/mmwidgets/src/mmlistboxcontainer.cpp
menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp
menufw/menufwui/mmwidgets/src/mmlistboxmodel.cpp
menufw/menufwui/mmwidgets/src/mmlistboxview.cpp
menufw/menufwui/mmwidgets/src/mmmarqueeadapter.cpp
menufw/menufwui/mmwidgets/src/mmpostevaluationprocessor.cpp
menufw/menufwui/mmwidgets/src/mmtemplatelibrary.cpp
menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp
menufw/menufwui/mmwidgets/src/mymenudebug.h
menufw/menusuites/data/mmenuschema.xsd
menufw/menusuites/foldersuite/bwins/dummyCu.def
menufw/menusuites/foldersuite/data/foldersuite.rss
menufw/menusuites/foldersuite/data/items_nontouch.xml
menufw/menusuites/foldersuite/data/items_touch.xml
menufw/menusuites/foldersuite/data/matrixmenudata.dtd
menufw/menusuites/foldersuite/data/matrixmenudata.xml
menufw/menusuites/foldersuite/data/matrixmenudatatestcontent.xml
menufw/menusuites/foldersuite/data/suite.xml
menufw/menusuites/foldersuite/eabi/dummyCu.def
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_bottom.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_left.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_right.svg
menufw/menusuites/foldersuite/gfx/qgn_move_arrow_top.svg
menufw/menusuites/foldersuite/gfx/qgn_move_frame.svg
menufw/menusuites/foldersuite/group/bld.inf
menufw/menusuites/foldersuite/group/copyheaderfile.flm
menufw/menusuites/foldersuite/group/copyheaderfile.meta
menufw/menusuites/foldersuite/group/copyheaderfile.xml
menufw/menusuites/foldersuite/group/exportfoldersuite.mk
menufw/menusuites/foldersuite/group/exportmoveindicatoricons.mk
menufw/menusuites/foldersuite/group/foldersuite.mmp
menufw/menusuites/foldersuite/loc/matrixmenudata.loc
menufw/menusuites/foldersuite/src/dummyC.cpp
menufw/menusuites/group/bld.inf
menufw/menusuites/group/build.xml
menufw/menusuites/group/validate.mk
menufw/menusuites/group/validateNewMenuFw.mk
menufw/menusuites/rom/menusuites.iby
menufw/menusuites/rom/menusuites_resources.iby
menufw/rom/menufw_stub.iby
menufw/sis/menufw_SA_RU.pkg
menufw/sis/menufw_stub.pkg
taskswitcher/contextengine/group/bld.inf
taskswitcher/contextengine/rom/tscontextservices.iby
taskswitcher/contextengine/sis/stubs/createstubs.bat
taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.pkg
taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.sis
taskswitcher/contextengine/trace/tslogging.h
taskswitcher/contextengine/trace/tslogutils.h
taskswitcher/contextengine/tsctxutils/bwins/tscontextservicesutilsu.def
taskswitcher/contextengine/tsctxutils/eabi/tscontextservicesutilsu.def
taskswitcher/contextengine/tsctxutils/group/bld.inf
taskswitcher/contextengine/tsctxutils/group/tscontextservicesutils.mmp
taskswitcher/contextengine/tsctxutils/inc/tscenreplistener.h
taskswitcher/contextengine/tsctxutils/inc/tsproplistener.h
taskswitcher/contextengine/tsctxutils/src/tscenreplistener.cpp
taskswitcher/contextengine/tsctxutils/src/tsproplistener.cpp
taskswitcher/contextengine/tsfswpreviewprovider/bwins/tspreviewprovideru.def
taskswitcher/contextengine/tsfswpreviewprovider/eabi/tspreviewprovideru.def
taskswitcher/contextengine/tsfswpreviewprovider/group/bld.inf
taskswitcher/contextengine/tsfswpreviewprovider/group/previewprovider.mmp
taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/previewproviderlogging.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tsfastswappreviewproviderlogging.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewproviderclient.h
taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h
taskswitcher/contextengine/tsfswpreviewprovider/rom/tsfastswappreviewprovider.iby
taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp
taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp
taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/bld.inf
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/previewprovidercrp.mmp
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrplogging.h
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/20016BEC.rss
taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp
taskswitcher/contextengine/tsfswserver/client/bwins/tsfswclientu.def
taskswitcher/contextengine/tsfswserver/client/eabi/tsfswclientu.def
taskswitcher/contextengine/tsfswserver/client/group/bld.inf
taskswitcher/contextengine/tsfswserver/client/group/tsfswclient.mmp
taskswitcher/contextengine/tsfswserver/client/inc/clientlogging.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclient.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientimpl.h
taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientobserver.h
taskswitcher/contextengine/tsfswserver/client/src/tsfswclient.cpp
taskswitcher/contextengine/tsfswserver/client/src/tsfswclientimpl.cpp
taskswitcher/contextengine/tsfswserver/engine/bwins/tsfswengineu.def
taskswitcher/contextengine/tsfswserver/engine/eabi/tsfswengineu.def
taskswitcher/contextengine/tsfswserver/engine/group/bld.inf
taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp
taskswitcher/contextengine/tsfswserver/engine/inc/enginelogging.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfsalwaysshownapplist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfshiddenapplist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswiconcache.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h
taskswitcher/contextengine/tsfswserver/engine/inc/tsfswobservers.h
taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswiconcache.cpp
taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp
taskswitcher/contextengine/tsfswserver/group/bld.inf
taskswitcher/contextengine/tsfswserver/inc/tsfswclient.h
taskswitcher/contextengine/tsfswserver/inc/tsfswclientobserver.h
taskswitcher/contextengine/tsfswserver/inc/tsfswcommon.h
taskswitcher/contextengine/tsfswserver/rom/tsfswserver.iby
taskswitcher/contextengine/tsfswserver/server/group/bld.inf
taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp
taskswitcher/contextengine/tsfswserver/server/inc/serverlogging.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswappui.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswserver.h
taskswitcher/contextengine/tsfswserver/server/inc/tsfswsession.h
taskswitcher/contextengine/tsfswserver/server/src/tsfswappui.cpp
taskswitcher/contextengine/tsfswserver/server/src/tsfswserver.cpp
taskswitcher/contextengine/tsfswserver/server/src/tsfswsession.cpp
taskswitcher/contextengine/tsfswserver/utils/bwins/tsfswutilsu.def
taskswitcher/contextengine/tsfswserver/utils/eabi/tsfswutilsu.def
taskswitcher/contextengine/tsfswserver/utils/group/bld.inf
taskswitcher/contextengine/tsfswserver/utils/group/tsfswutils.mmp
taskswitcher/contextengine/tsfswserver/utils/inc/tsfswentry.h
taskswitcher/contextengine/tsfswserver/utils/inc/utilslogging.h
taskswitcher/contextengine/tsfswserver/utils/src/tsfswentry.cpp
taskswitcher/group/bld.inf
taskswitcher/taskswitcherui/group/bld.inf
taskswitcher/taskswitcherui/rom/taskswitcher.iby
taskswitcher/taskswitcherui/rom/taskswitcherresources.iby
taskswitcher/taskswitcherui/sis/stubs/createstubs.bat
taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.pkg
taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.sis
taskswitcher/taskswitcherui/sis/taskswitcher.pkg
taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher.rss
taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher_reg.rss
taskswitcher/taskswitcherui/taskswitcherapp/group/backup_registration.xml
taskswitcher/taskswitcherui/taskswitcherapp/group/bld.inf
taskswitcher/taskswitcherui/taskswitcherapp/group/tsapp.mmp
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplication.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplogging.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tscommands.hrh
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdatachangeobserver.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdevicestate.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdocument.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontrolerobserver.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysics.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsuid.hrh
taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc
taskswitcher/taskswitcherui/taskswitcherapp/src/tsapplication.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsdevicestate.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsdocument.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysics.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tstaskswitcher.cpp
taskswitcher/taskswitcherui/taskswitcherappecom/data/tsappecom.rss
taskswitcher/taskswitcherui/taskswitcherappecom/group/bld.inf
taskswitcher/taskswitcherui/taskswitcherappecom/group/tsappecom.mmp
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecom.h
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomconst.hrh
taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomlogging.h
taskswitcher/taskswitcherui/taskswitcherappecom/src/proxy.cpp
taskswitcher/taskswitcherui/taskswitcherappecom/src/tsappecom.cpp
taskswitcher/taskswitcherui/trace/tslogging.h
taskswitcher/taskswitcherui/trace/tslogutils.h
Binary file menufw/cenrep/keys_matrix.xls has changed
--- a/menufw/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project menufw
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../hierarchynavigator/group/bld.inf"
-#include "../menufwui/group/bld.inf"
-#include "../menusuites/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// ../rom/menufw_stub.iby	CORE_APP_LAYER_IBY_EXPORT_PATH(menufw_stub.iby)
-
-PRJ_MMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../sis/internal/tsrc/iad_testing/group/bld.inf"
-#endif
-
-PRJ_EXTENSIONS
-#ifndef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-START EXTENSION app-services/buildstubsis
-OPTION SISNAME menufw_stub
-OPTION SRCDIR ../sis
-END
-#endif
\ No newline at end of file
--- a/menufw/hierarchynavigator/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project hierarchynavigator
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../hnutilities/group/bld.inf"
-#include "../hnpresentationmodel/group/bld.inf"
-#include "../hnmetadatamodel/group/bld.inf"
-#include "../hnengine/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/hierarchynavigator.iby CORE_APP_LAYER_IBY_EXPORT_PATH(hierarchynavigator.iby)
--- a/menufw/hierarchynavigator/hnengine/bwins/hnengineu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	?HandleRequestL@CHnEngine@@UAEXABVCLiwGenericParamList@@PAV2@@Z @ 1 NONAME ; void CHnEngine::HandleRequestL(class CLiwGenericParamList const &, class CLiwGenericParamList *)
-	?InitializeL@CHnEngine@@UAEHAAVCLiwGenericParamList@@@Z @ 2 NONAME ; int CHnEngine::InitializeL(class CLiwGenericParamList &)
-	?LoadSuitesFromUriL@CHnEngine@@UAEXABVTDesC8@@@Z @ 3 NONAME ; void CHnEngine::LoadSuitesFromUriL(class TDesC8 const &)
-	?NewL@CHnEngine@@SAPAV1@AAVMHnControllerInterface@@@Z @ 4 NONAME ; class CHnEngine * CHnEngine::NewL(class MHnControllerInterface &)
-	?NewLC@CHnEngine@@SAPAV1@AAVMHnControllerInterface@@@Z @ 5 NONAME ; class CHnEngine * CHnEngine::NewLC(class MHnControllerInterface &)
-	?ResetModelsL@CHnEngine@@UAEXXZ @ 6 NONAME ; void CHnEngine::ResetModelsL(void)
-	?TriggerHnEventL@CHnEngine@@UAEHHHPAVCLiwGenericParamList@@@Z @ 7 NONAME ; int CHnEngine::TriggerHnEventL(int, int, class CLiwGenericParamList *)
-
--- a/menufw/hierarchynavigator/hnengine/eabi/hnengineu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	_ZN9CHnEngine11InitializeLER20CLiwGenericParamList @ 1 NONAME
-	_ZN9CHnEngine12ResetModelsLEv @ 2 NONAME
-	_ZN9CHnEngine14HandleRequestLERK20CLiwGenericParamListPS0_ @ 3 NONAME
-	_ZN9CHnEngine15TriggerHnEventLEiiP20CLiwGenericParamList @ 4 NONAME
-	_ZN9CHnEngine18LoadSuitesFromUriLERK6TDesC8 @ 5 NONAME
-	_ZN9CHnEngine4NewLER22MHnControllerInterface @ 6 NONAME
-	_ZN9CHnEngine5NewLCER22MHnControllerInterface @ 7 NONAME
-	_ZThn8_N9CHnEngine15TriggerHnEventLEiiP20CLiwGenericParamList @ 8 NONAME ; #<thunk>#
-
--- a/menufw/hierarchynavigator/hnengine/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project hnengine
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/hncontrollerinterface.h      |../../../inc/hncontrollerinterface.h
-../inc/hnengine.h                   |../../../inc/hnengine.h
-../inc/hninterface.h                |../../../inc/hninterface.h
-../inc/hninstallnotifier.h          |../../../inc/hninstallnotifier.h
-../inc/hneventgenerator.h           |../../../inc/hneventgenerator.h
-../inc/menudebug.h                  |../../../inc/menudebug.h
-
-
-PRJ_MMPFILES
-hnengine.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnengine/group/hnengine.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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:  Project definition file for project hierarchy navigator engine
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          hnengine.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C5
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          hnengine.cpp
-SOURCE          hninstallnotifier.cpp
-
-USERINCLUDE     ../inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE   ../../../inc
-
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         hnmetadatamodel.lib
-LIBRARY         hnpresentationmodel.lib
-LIBRARY         liwservicehandler.lib
-LIBRARY         xmlenginedom.lib
-LIBRARY         inetprotutil.lib        // for parsing message URI
-LIBRARY         hnutilities.lib
-LIBRARY         centralrepository.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         HWRMLightClient.lib
-LIBRARY         avkon.lib
-
-LIBRARY         eikcore.lib             // for error info notes
-LIBRARY         cone.lib                // for error info notes
-LIBRARY         apgrfx.lib
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnengine/inc/hncontrollerinterface.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-
-#ifndef HNCONTROLLERINTERFACE_H
-#define HNCONTROLLERINTERFACE_H
-
-#include "hnsuiteobserver.h"
-
-class CLiwGenericParamList;
-
-/**
- * @ingroup group_hnengine
- * User interface refresh type
- */
-enum THnUiRefreshType
-    {
-        ERefreshSuite,
-        ERefreshToolbar,
-        EStartEditMode,
-        EStopEditMode,
-        EForegroundGain,
-        EBackgroundGain,
-        ELightOn,
-        ELightOff,
-        ERemoveLiwObjects
-    };
-
-
-/**
- * @ingroup group_hnengine
- * UI refresh observer. The implementing class can be notified about the ui being refreshed.
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-class MHnControllerInterface : public MHnSuiteObserver
-    {
-public:
-
-    /**
-     * Called when the ui needs to be refreshed,
-     * for a reason indicated in aRefreshType.
-     *
-     * @since S60 v3.2
-     * @param aRefreshType Defines reason for refresh.
-     */
-    virtual void NotifyUiRefreshL( const THnUiRefreshType aRefreshType ) = 0;
-
-    /**
-     * Trigger appropriate action on suite model.
-     *
-     * @param aCustomSuiteEvent Event that is associated
-     *                          with the lifecycle of a suite
-     * @param aModel Suite model on that custom event should be performed.
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-            CHnSuiteModel *aModel ) = 0;
-
-    /**
-     * Whenever an action for extension manager occurs it invokes
-     * this method to execute one, passing the information needed
-     * by extension manager about the action as a parameters.
-     *
-     * @param aUid UID of the ECom plugin's.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList List of the event parameters needed to
-     *                        execute action. Extention Manager is its owner.
-     * @return Number representing error code.
-     */
-    virtual TInt ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-            CLiwGenericParamList* aEventParamList ) = 0;
-    };
-
-#endif //HNCONTROLLERINTERFACE_H
--- a/menufw/hierarchynavigator/hnengine/inc/hndatachangenotifier.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
- 
-
-#ifndef C_HNDATACHANGENOTIFIER_H
-#define C_HNDATACHANGENOTIFIER_H
-
-#include "hndatachangeobserver.h"
-
-
-/**
- * @ingroup group_hnengine
- * Data change notifier interface.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-class MHnDataChangeNotifier
-    {    
-    public:
-    
-    /**
-     * Subscribes observer.
-     *
-     * @since S60 v5.0
-     * @param aObserv Observer to HNEngine.
-     */
-    virtual void SubscribeL( CHnDataChangeObserver* aObserv ) = 0;  
-    };
-
-
-#endif // C_HNDATACHANGENOTIFIER_H
--- a/menufw/hierarchynavigator/hnengine/inc/hndatachangeobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
- 
-
-#ifndef C_HNDATACHANGEOBSERVER_H
-#define C_HNDATACHANGEOBSERVER_H
-
-class CHnItemId;
-
-/**
- * @ingroup group_hnengine
- * Data change observer interface. It is used to notify the implementing class that something in the database has been changed.
- *
- * @lib hnengine
- * @since S60 v5.0 
- */
-NONSHARABLE_CLASS(CHnDataChangeObserver) : public CBase
-    {    
-    public:
-
-    /**
-     * DataChangeL is called when sth in database was changed.
-     * @since S60 v5.0
-     * @param aItemIds Array with ItemIds of changed entries.
-     */
-    virtual void DataChangedL( RPointerArray< CHnItemId >& aItemIds ) = 0;
-    };
-
-
-#endif // C_HNDATACHANGEOBSERVER_H
--- a/menufw/hierarchynavigator/hnengine/inc/hnengine.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNENGINE_H
-#define C_HNENGINE_H
-
-#include <e32base.h>
-#include <eikenv.h>
-#include <hwrmlight.h>
-
-#include "hnglobals.h"
-#include "hninterface.h"
-#include "hnmdmodel.h"
-#include "hninstallnotifier.h"
-
-class CHnMdModel;
-class CHnSuiteModelContainer;
-class MHnControllerInterface;
-class MHnSuiteObserver;
-
-/**
- * @ingroup group_hnengine
- *  Hierarchy Navigator engine - used by Multimedia Menu
- *  to fetch data models. The most commonly used exported method is TriggerHnEventL, 
- *  which offers event execution for the framework. This functionality is implemented
- *  through the MHnEventGenerator interface. The class owns the meta data model ( CHnMdModel ) 
- *  and suite container ( CHnSuiteModelContainer ) to manage them. The engine manages 
- *  the model by processing model events ( HandleModelEventL ) or reseting the models
- *  ( ResetModelsL ).
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-NONSHARABLE_CLASS( CHnEngine ) : public CHnInterface,
-                  public MHnMdModelEventObserver,
-                  public MHnInstallNotifierCallback,
-                  public MHWRMLightObserver
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnEngine* NewL( MHnControllerInterface& aController );
-
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     * @return Fully constructed object.
-     */    
-    IMPORT_C static CHnEngine* NewLC( MHnControllerInterface& aController );
-
-    /**
-     * Standard C++ destructor.
-     * 
-     * @since S60 v5.0
-     */    
-    ~CHnEngine();
-
-    // from CHnInterface
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Filled suite model object from the stack.
-     */
-    CHnSuiteModel* GetLastSuiteModelL();
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Filled suite model object from the stack.
-     */
-    CHnSuiteModel* GetParentSuiteModelL();
-   
-    /**
-     * Get count of suite models on the stack.
-     * 
-     * @since S60 v5.0
-     * @return Count of suite models on the stack.
-     */
-    virtual TInt GetSuiteModelsCountL();
-    
-    /**
-     * Checks if suite model is loaded.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if suite model is loaded, otherwise EFalse.
-     */
-    TBool SuiteModelLoadedL( TInt aId );
-    
-    /**
-     * Loads suite hierarchy specified in URI.
-     *
-     * @since S60 v5.0
-     * @param aUri The URI contained suite(s) to load.
-     */
-    IMPORT_C void LoadSuitesFromUriL( const TDesC8& aUri );
-
-public:
-    // from MHnMdModelEventObserver
-    
-     /**
-     * Handle model event.
-     *
-     * @since S60 v5.0
-     * @param aEventName Event's name to perform.
-     * @param aParams Event specific parameters used to perform action.
-     */
-     TInt HandleModelEventL( const TDesC& aEventName, CLiwGenericParamList& aParams );
-     
-    // from CHnInterface
-     
-    /**
-     * Handle back event.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite given by the name genre.
-     * @param aIterations Number of iterations.
-     * @return Status code.
-     */
-     TInt HandleBackEventL( const TDesC& aGenre,
-             TInt aIterations = KModelCountForRoot );
-
-    // from MHNMulModelInstallNotifierCallback
-
-     /**
-      * InstallChangeL is called when the subscribed key has been changed.
-      * 
-      * @since S60 v5.0
-      * @param aStatus Status of the installation event.
-      */
-    virtual void InstallChangeL( TInt aStatus );
-    
-    
-    /**
-     * Loads default root suite
-     * 
-     * @since S60 v5.0
-     * @param aSuiteParams Suite parameters.
-     * @return Status error code.
-     */
-    IMPORT_C TInt InitializeL( CLiwGenericParamList& aSuiteParams );
-    
-    // from MHnEventGenerator
-    
-    /**
-     * Triggers an event inside hierarchy navigator.
-     * 
-     * Used by UI to notify hierarchy navigator of its events,
-     * as well as for hierarchy navigator components to notify
-     * the module of certain events (such as OnSuiteLoaded etc).
-     *
-     * @since S60 v5.0
-     * @param aHnEventId Internal id of an event (Event names are 
-     *                    mapped to ids).
-     * @param aRecipientId The id of the recipient item.
-     * @param aEventParameters Event specific parameter.
-     * @return Status code.
-     */
-     IMPORT_C TInt TriggerHnEventL( const TInt aHnEventId,
-             const TInt aRecipientId, CLiwGenericParamList* aEventParameters = NULL );
-     
-     /**
-      * Splits the source descriptor by a separatos
-      * 
-      * @since S60 v5.0
-      * @param aSource Source descriptor intended to split.
-      * @param aSeparator Separator used to split.
-      * @return Array of descriptors. 
-      */
-     RPointerArray< HBufC8 > SplitL( const TDesC8& aSource,
-             const TDesC8& aSeparator );
-     
-     /**
-      * Generate param list according to query param.
-      * 
-      * @param aUriQuery Descriptor consist of param(s) to split
-      * @param aUriFragment Descriptor containing an uri fragment.
-      * @param aSuiteName The suite's name.  
-      * @return Filled generic param list.
-      */
-     CLiwGenericParamList* UriQueryToLiwListLC( const TDesC8& aUriQuery,
-             const TDesC8& aUriFragment, const TDesC8& aSuiteName );
-     
-     /**
-      * Resets MD Model and Suite Container.
-      *
-      * @since S60 v5.0
-      */
-     IMPORT_C void ResetModelsL();
-     
-     // from MHnEditModeInterface 
-     
-     /**
-      * Sets edit mode.
-      * 
-      * @since S60 v5.0
-      * @param aEditMode Set edit mode member to false/true.
-      */
-     void SetEditModeL( TBool aEditMode );
-
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-     IMPORT_C void HandleRequestL( const CLiwGenericParamList& aParam, 
-                         CLiwGenericParamList* aOutput = NULL);
-
-    //    from MHWRMLightObserver
-    /**
-     * Called when the device light status changes.
-     * Note that if the light status for certain target changes
-     * very rapidly, some state transitions might be missed.
-     * It is however guaranteed that latest state is always obtained.
-     *
-     * @param aTarget Indicates target(s) the new status applies to.
-     * @param aStatus Indicates light request status.
-     */
-    virtual void LightStatusChanged(TInt aTarget,
-            CHWRMLight::TLightStatus aStatus);
-
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v5.0
-     * @param aController Controller handler.
-     */
-    CHnEngine( MHnControllerInterface& aController );
-    
-    /**
-     * Standard 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-         
-    /**
-     * Handle new suite loaded event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters.
-     * @return Status code.
-     */
-    TInt HandleNewSuiteLoadedEventL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handle open suit event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters that hold liw packed filter.
-     * @return Status code.
-     */
-    TInt HandleReevaluateEventL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handles widget change.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-      */
-    TInt HandleWidgetChangeL( CLiwGenericParamList& aParams );
-
-    /**
-     * Handles SetFocus event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-     */
-    TInt HandleSetFocusEventL( const CLiwGenericParamList& aParams );
-    
-    /**
-     * Handles MoveFocusBeforeDelete event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters consist of target widget type.
-     * @return Status code.
-     */
-    TInt HandleMoveFocusBeforeDeleteEventL(
-            const CLiwGenericParamList& aParams );
-    
-    /**
-     * Handles RefreshIcons event.
-     *
-     * @since S60 v5.0
-     * @param aParams Event specific parameters (ignored)
-     * @return Status code.
-     */
-    TInt HandleRefreshIconsEventL( const CLiwGenericParamList& aParams );
-
-    /**
-     * Handles DisableActionsForItem event.
-     * 
-     * @since S60 v5.0
-     * @param aParams Event specific parameters - contains custom item id
-     * @return Status code.
-     */
-    TInt HandleDisableActionsForItemL( const CLiwGenericParamList& aParams );
-
-     /**
-      *  Store widget type to repository.
-      *
-      * @since S60 v5.0
-      * @param aSuiteName Suite name to that set widget type. 
-      * @param aType Widget type to store in repository.
-      * @return Status code.
-      */    
-    TInt HandleWidgetChangeL( const TDesC& aSuiteName,
-            THnSuiteWidgetType aType );
-     
-         
-     /**
-      * Parse URI path component containing Suites to be loaded.
-      *
-      * @since S60 v5.0
-      * @param aUriPath Descriptor URI path which consist of suites' names.
-      * @param aOutput Array on output containes parsed suite names.
-      */
-     void ParseSuiteUriPathL( const TDesC8& aUriPath, 
-         CDesC8ArrayFlat& aOutput );
-   
-     
-     /**
-      * Checks if only root configuration is loaded.
-      * Used to decide if reloading models is needed.
-      *
-      * @since S60 v5.0
-      * @return Return ETrue if only root configuration is loaded
-      *         otherwise EFalse.
-      */
-     TBool IsOnlyRootConfLoaded();
-     
-     /**
-      * Resets loaded resources.
-      *
-      * @since S60 5.0
-      */
-     void ResetLocalization();
-     
-     /**
-      * Loads suite with given suite name with parameters
-      * from uri query. 
-      *
-      * @since S60 5.0
-      * @param aSuiteName Name of the suite to load. 
-      * @param aUriQuery Descriptor containig parsed part of the uri.
-      * @param aUriFragment Descriptor containig parsed part (fragment) of the uri.
-      * @return Error code when loading suite.
-      */
-     TInt LoadSuiteFromUriL( const TDesC8& aSuiteName, 
-         const TDesC8& aUriQuery, const TDesC8& aUriFragment );
-     
-     /**
-      * Reads highlight position from uri fragment 
-      * and sets it on the suite model.
-      *
-      * @since S60 5.0
-      * @param aUriFragment Descriptor containig parsed part of the uri.
-      */
-     void HighlightPlacementFromUriL( const TDesC8& aUriFragment );
-    
-     
-     /**
-      * Loads folder and sets focus through CR.
-      * 
-      * @since S60 v5.0
-      */
-     void LoadFromCrL( const TDesC8& aUri );
-     
-     /**
-      * Handles loading suite from uri if suites names' are the same.
-      * 
-      * @param aNextExists ETrue if the next suite's name exists in uri.
-      * @param aUri The URI's parameters passed to the suite. 
-      */
-     void HandleTheSameSuitesL( TBool aNextExists, const TDesC8& aParams );
-     
-     /**
-      * Checks if suites have the same names.
-      * 
-      * @param aLastSuiteName The last suite's name on the stack.
-      * @param aFirstSuiteName The first suite's name in uri.
-      * @return ETrue if names are equal
-      */
-     TBool SuitesAreTheSameL( const TDesC& aLastSuiteName, const TDesC8& aFirstSuiteName );
-
-     /**
-      * Decides whether to hide menu depending on current state and uri parameters
-      * 
-      * @param aUri The Uri to parse for exit procedure.
-      * @return ETrue If exit was consumed.
-      */
-     TBool HandleActionL( const TDesC8& aUri );
-     
-     /**
-      * Loads suites from uri.
-      * 
-      * @param aUri The uri to parse
-      */
-     void LoadSuitesL( const TDesC8& aUri );
-     
-private: // data
-        
-    /**
-     * Own - Meta data model.
-     */
-    CHnMdModel* iMetaDataModel;
-    
-    /**
-     * Own - Suite container.
-     */
-    CHnSuiteModelContainer* iSuiteContainer;
-       
-    /**
-     * Not own.
-     * EikonEnv for displaying popup messages. 
-     */
-    CEikonEnv* iEEnv;
-    
-    /**
-     * Not own - Suite observer.
-     */
-    MHnControllerInterface& iControllerInterface;
-    
-    /**
-     * Installation observer.
-     * Own.
-     */
-    CHnInstallNotifier* iInstObserver;
-    
-    /**
-     * Edit mode
-     */
-    TBool iEditMode;
-    
-    /**
-     * Light status observer
-     */
-    CHWRMLight* iLight;
-    };
-
-#endif //C_HNENGINE_H
--- a/menufw/hierarchynavigator/hnengine/inc/hneventgenerator.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNEVENTGENERATOR_H_
-#define HNEVENTGENERATOR_H_
-
-#include <e32def.h>
-
-class CLiwGenericParamList;
-/**
- * @ingroup group_hnengine
- * Hierarchy navigator event generator.
- * 
- * This class is an interface for event triggering in hierarchy navigator.
- * Events being triggered may be e.g. SuiteLoaded, ItemFocus, etc.
- * It also mediates in events being passed from the UI. 
- *
- * @lib hnengine
- * @since S60 5.0 
- */
-class MHnEventGenerator
-    {
-    public:
-  
-    /**
-    * Method is invoked whenever any component wants to trigger an event 
-    * inside hierarchy navigator.
-    * 
-    * @since S60 5.0
-    * @param aHnEventId Event type id to trigger.
-    * @param aRecipientId The id of the recipient item which the event concerns.
-    * @param aEventParameters Event specific parameters used to perform action.
-    * @return Status code.
-    */
-    virtual TInt TriggerHnEventL( const TInt aHnEventId, const TInt aRecipientId,
-            CLiwGenericParamList* aEventParameters = NULL ) = 0;
-    };
-
-
-#endif // HNEVENTGENERATOR_H_
--- a/menufw/hierarchynavigator/hnengine/inc/hninstallnotifier.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Sis package installation event listener
-*
-*/
-  
-
-
-#ifndef HNINSTALLNOTIFIER_H
-#define HNINSTALLNOTIFIER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- * @ingroup group_hnengine
- *  Interface for observing Sis installation events.
- *
- * @lib hnengine
- * @since S60 S60 v3.1
- */
-class MHnInstallNotifierCallback
-    {
-    
-public:
-    /**
-     * @ingroup group_hnengine
-     * Enum defining the purpouse of the installation event.
-     */
-    enum TInstOp
-        {
-        EInstOpNone = 0x00, 
-        EInstOpInstall = 0x01, 
-        EInstOpUninstall = 0x02, 
-        EInstOpRestore = 0x04  
-        };
-
-    /**
-     * @ i ngroup group_hnengine
-     * Enum defining the exit status of the installation event.
-     */
-/*    enum TInstOpStatus
-        {
-        EInstOpStatusNone = 0x0000, 
-        EInstOpStatusSuccess = 0x0100, 
-        EInstOpStatusAborted = 0x0200 
-        };*/
-        
-    /**
-     * InstallChangeL is called when the subscribed key has been changed.
-     * 
-     * @param aStatus Status of the installation event.
-     */
-    virtual void InstallChangeL( TInt aStatus ) = 0;
-    
-    };
-
-
-/**
- * @ingroup group_hnengine
- *  Central Repository notifier.
- * 
- * @lib hnengine
- * @since S60 S60 v3.1
- */
-NONSHARABLE_CLASS( CHnInstallNotifier ) : public CActive
-    {
-    
-public:
-
-    /**
-     * Creates an instance of CHnMulModelInstallNotifier implementation.
-     * 
-     * @since S60 v5.0
-     * 
-     * @param aCallback Reference to notifier interface.
-     * @param aCategory Package uid.
-     * @param aKey Key for central repository.
-     * @return Fully constructed object.
-     */
-    static CHnInstallNotifier* NewL( 
-                                   MHnInstallNotifierCallback* aCallback,
-                                   TUid aCategory, 
-                                   TUint aKey );
-
-    /**
-     * Default destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CHnInstallNotifier();
-
-
-private:
-    /**
-     * Constructor.
-     * 
-     * @since S60 v5.0
-     * 
-     * @param aCallback Reference to notifier interface.
-     * @param aCategory Package uid.
-     * @param aKey Key for central repository.
-     */
-    CHnInstallNotifier( 
-                                MHnInstallNotifierCallback* aCallback, 
-                                TUid aCategory, 
-                                TUint aKey );
-
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * From CActive. Implements cancellation of an outstanding request.
-     * 
-     * @since S60 v5.0
-     */
-    void DoCancel();
-    
-    /**
-     * From CActive. Handles an active object's request completion event.
-     * 
-     * @since S60 v5.0
-     */
-    void RunL();
-    
-    /**
-     * From CActive.
-     * 
-     * @since S60 v5.0
-     * @param aError The leave code.
-     * @return Status code.
-     */
-    TInt RunError( TInt aError );
-    
-        
-private:
-    /**
-     * User side interface to Publish & Subscribe.
-     */
-    RProperty iProperty;
-
-    /**
-     * Interface for notifying changes in SWI.
-     * Not own.
-     */
-    MHnInstallNotifierCallback* iCallback;
-    
-    /**
-     * Category uid.
-     */
-    TUid    iCategory;
-    
-    /**
-     * Key identifier.
-     */
-    TUint   iKey;
-
-    };
-
-#endif // HNINSTALLNOTIFIER_H
-
-// End of File
--- a/menufw/hierarchynavigator/hnengine/inc/hninterface.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-/*
-* 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:   Interface for Hierarchy Navigator
-*
-*/
-
-
-
-#ifndef C_HNINTERFACE_H
-#define C_HNINTERFACE_H
-
-#include "hneventgenerator.h"
-
-class CHnSuiteModel;
-class CLiwGenericParamList;
-
-/**
- * @ingroup group_hnengine
- * An interface for edit mode. Used by hierarchy navigator to track edit mode state status change.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-class MHnEditModeInterface
-    {
-public:
-    /**
-     * Sets edit mode.
-     * 
-     * @since S60 v5.0
-     * @param aEditMode Parametr sets edit mode to EFlase/Etrue.
-     */
-    virtual void SetEditModeL( TBool aEditMode ) = 0;
-    };
-
-/**
- * @ingroup group_hnengine
- * Interface for Multimedia Menu to use Hierarchy Navigator engine. The functionality of this interface are
- * suite model event issues like loading a model, counting the models currently loaded or loading the root
- * suite.
- *
- * @lib hnengine
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CHnInterface ) : public CBase, 
-                                    public MHnEditModeInterface,
-                                    public MHnEventGenerator
-    {
-public:
-
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Return last loaded suite model on the stack.
-     */
-    virtual CHnSuiteModel* GetLastSuiteModelL() = 0;
-    
-    /**
-     * Fetches and constructs data structres, needed by Multimedia
-     * Menu to display suites.
-     *
-     * @since S60 v5.0
-     * @return Return last loaded suite model on the stack.
-     */
-    virtual CHnSuiteModel* GetParentSuiteModelL() = 0;
-
-    /**
-     * Get count of suite models on the stack.
-     * 
-     * @since S60 v5.0
-     * @return Count of suite models on the stack.
-     */
-    virtual TInt GetSuiteModelsCountL() = 0;
-    
-    /**
-     * Checks if suite model is loaded.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if suite model is loaded, otherwise EFalse.
-     */
-    virtual TBool SuiteModelLoadedL( TInt aId ) = 0;
-      
-    /**
-     * Handles back event coming from the UI.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite's name given by genre name on
-     *               which perform back event.
-     * @param aIterations Number of iterations.
-     * @return Status code.
-     */
-    virtual TInt HandleBackEventL( const TDesC& aGenre,
-            TInt aIterations = KModelCountForRoot ) = 0;
-    
-    /**
-     * Loads suite hierarchy specified in URI.
-     *
-     * @since S60 v5.0
-     * @param aUri The URI path consist of suite's name(s) to load to the stack.
-     */
-    virtual void LoadSuitesFromUriL( const TDesC8& aUri ) = 0;
-    
-    /**
-     * Resets MD Model and Suite Container.
-     *
-     * @since S60 v5.0
-     */
-    virtual void ResetModelsL() = 0;
-    
-    /**
-     * Loads default root suite
-     * 
-     * @since S60 v5.0
-     * @param aSuiteParams Suite parameters.
-     * @return Status error code.
-     */
-    virtual TInt InitializeL( CLiwGenericParamList& aSuiteParams ) = 0;
-    
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-    virtual void HandleRequestL( const CLiwGenericParamList& aParam, 
-                         CLiwGenericParamList* aOutput = NULL ) = 0; 
-    
-    };
-
-#endif  // C_HNINTERFACE_H
-
-
--- a/menufw/hierarchynavigator/hnengine/inc/hnserviceglobals.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007-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:  ?Description
-*
-*/
-
-
-
-#ifndef C_HNSERVICEGLOBALS_H
-#define C_HNSERVICEGLOBALS_H
-   
-
-
-//// model event-related params
-_LIT8( KNewSuiteParamNameEn,       "suite_name" );
-
-
-#endif // C_HNSERVICEGLOBALS_H
--- a/menufw/hierarchynavigator/hnengine/inc/menudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug macro definitions
-*
-*/
-
-
-#ifndef MENUDEBUG_H
-#define MENUDEBUG_H
-
-// INCLUDES
-#include <e32std.h>
-#include <flogger.h>
-
-// Maximum formatted size resulting from a single DEBUG* call
-#ifndef MAX_DEBUG_STRING_LENGTH
-#define MAX_DEBUG_STRING_LENGTH 4096
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-_LIT( KPerformanceLogDir, "menu" );
-_LIT( KPerformanceLogFile, "performance.txt" );
-#endif
-
-#ifdef _DEBUG
-#include "mymenudebug.h"
-
-// Load correct mymenudebug.h from module inc directory,
-// define your application-specific configuration like this:
-// ----------------------------------------------------------
-// Debug file - debug output is disabled if the parent dir does not exist
-// _LIT(KDebugDirName, "menu");
-// _LIT(KDebugFileName, "hnengine.txt");
-
-// Replace the current debug file - if not defined appends to the file
-#ifndef APPEND_TO_DEBUG_FILE
-#define REPLACE_DEBUG_FILE
-#endif
-
-
-/**
- * @param aData
- */
-static void DoOutput(TDesC8& aData);
-
-static void DebugStringNarrowL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC8* buf = HBufC8::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(fmt, args);
-    buf->Des().Append('\n');
-    DoOutput(*buf);
-    CleanupStack::PopAndDestroy(buf);
-       
-    VA_END(args);
-    }
-
-static void DebugStringWideL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC* fmt16 = HBufC::NewLC(fmt.Length());
-    fmt16->Des().Copy(fmt);
-    HBufC* buf = HBufC::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(*fmt16, args);
-    buf->Des().Append('\n');
-    HBufC8* buf8 = HBufC8::NewLC(buf->Length());
-    buf8->Des().Copy(*buf);
-    DoOutput(*buf8);
-    CleanupStack::PopAndDestroy(3); // fmt16, buf, buf8
-
-    VA_END(args);
-    }
-
-static void DebugBufferL(const TDesC8& aBuf)
-    {
-    DebugStringNarrowL("\"%S\"", &aBuf);
-    }
-
-static void DebugBufferL(const TDesC& aBuf)
-    {
-    DebugStringWideL("\"%S\"", &aBuf);
-    }
-
-static void DebugTimeL(const TTime& aTime)
-    {
-    TBuf<64> dateTimeString;
-    _LIT(KDateString, "%E%D%X%N%Y %1 %2 %3");
-    aTime.FormatL(dateTimeString, KDateString);
-    DebugBufferL(dateTimeString);
-    _LIT(KTimeString, "%-B%:0%J%:1%T%:2%S%.%*C4%:3%+B");
-    aTime.FormatL(dateTimeString, KTimeString);
-    DebugBufferL(dateTimeString);
-    }
-
-
-static void DoOutput(TDesC8& aData)
-    {
-    RFileLogger::Write(KDebugDirName,
-                       KDebugFileName,
-                       EFileLoggingModeAppend,
-                       aData);
-    }
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-
-static void DoOutputPerf(TDesC8& aData)
-    {
-    RFileLogger::Write(KPerformanceLogDir,
-                       KPerformanceLogFile,
-                       EFileLoggingModeAppend,
-                       aData);
-    }
-
-static void DebugStringNarrowPerfL(const char* aFmt, ...)
-    {
-    VA_LIST args;
-    VA_START(args, aFmt);
-    
-    TPtrC8 fmt(reinterpret_cast<const unsigned char *>(aFmt));
-    HBufC8* buf = HBufC8::NewLC(MAX_DEBUG_STRING_LENGTH);
-    buf->Des().FormatList(fmt, args);
-    buf->Des().Append('\n');
-    
-    TTime timestamp;
-    timestamp.HomeTime();
-    
-    TBuf<64> dateTimeString;
-    TBuf8<64> dateTimeString8;
-    
-    _LIT(KTimeString, "%:0%J%:1%T%:2%S%.%*C4%:3");
-    timestamp.FormatL(dateTimeString, KTimeString);
-    dateTimeString8.Copy( dateTimeString );
-    buf->Des().Insert( 0, _L8(" -> ") );
-    buf->Des().Insert( 0, dateTimeString8 );
-    
-    DoOutputPerf(*buf);
-    CleanupStack::PopAndDestroy(buf);
-       
-    VA_END(args);
-    }
-#endif
-
-// MACROS
-// If you output one or more narrow descriptors by using '%S',
-//    use DEBUGSTRING8
-// else if you output one or more unicode descriptors by using '%S',
-//    use DEBUGSTRING16
-// else
-//    use DEBUGSTRING
-//
-// Narrow and unicode cannot be mixed in a single DEBUGSTRINGx call.
-
-#ifdef _DEBUG
-#define DEBUGINIT() DebugInit()
-#define DEBUGINITSUSPENDED() DebugInit(ETrue)
-#define DEBUGENABLE() SetDebugEnabled(ETrue)
-#define DEBUGDISABLE() SetDebugEnabled(EFalse)
-#define DEBUGSUSPEND() SetDebugSuspended(ETrue)
-#define DEBUGCONTINUE() SetDebugSuspended(EFalse)
-#define DEBUG(x) TRAP_IGNORE( DebugStringNarrowL x )
-#define DEBUG8(x) TRAP_IGNORE( DebugStringNarrowL x )
-#define DEBUG16(x) TRAP_IGNORE( DebugStringWideL x )
-#define DEBUGBUFFER(x) TRAP_IGNORE( DebugBufferL x )
-#define DEBUGTIME(x) TRAP_IGNORE( DebugTimeL x )
-#else
-#define DEBUGINIT()
-#define DEBUGINITSUSPENDED()
-#define DEBUGENABLE()
-#define DEBUGDISABLE()
-#define DEBUGSUSPEND()
-#define DEBUGCONTINUE()
-#define DEBUG(x)
-#define DEBUG8(x)
-#define DEBUG16(x)
-#define DEBUGBUFFER(x)
-#define DEBUGTIME(x)
-#endif
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-#define MMPERF(x) TRAP_IGNORE( DebugStringNarrowPerfL x )
-#else
-#define MMPERF(x)
-#endif
-
-#endif // MENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnengine/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnengine.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/hierarchynavigator/hnengine/src/hnengine.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1301 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-
-#include <uri8.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <sacls.h>
-#include <apgtask.h>
-#include <centralrepository.h>
-#include <AknUtils.h>
-
-#include "hnengine.h"
-#include "hnconvutils.h"
-#include "hncontrollerinterface.h"
-#include "hnfilter.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnsuitemodel.h"
-#include "hnserviceglobals.h"
-#include "hnglobals.h"
-#include "hnmdsuite.h"
-#include "hnitemid.h"
-#include "hnliwutils.h"
-#include "hnrepositorymanager.h"
-#include "menudebug.h"
-#include "hnrepositorymanager.h"
-#include "hnsuiteobserver.h"
-#include "hnmdbasekey.h"
-#include "hnitemsorder.h"
-
-_LIT8(  KAnd8,                      "&" );
-_LIT8(  KEquals8,                   "=" );
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::ConstructL()
-    {
-    iEEnv = CEikonEnv::Static();
-    iSuiteContainer = CHnSuiteModelContainer::NewL( *this , iControllerInterface );
-    iMetaDataModel = CHnMdModel::NewL( this, iSuiteContainer );
-    iLight = CHWRMLight::NewL(this);
-    iInstObserver = CHnInstallNotifier::NewL( this,
-            KUidSystemCategory, KSAUidSoftwareInstallKeyValue  );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnEngine* CHnEngine::NewL( MHnControllerInterface& aController )
-    {
-    CHnEngine* self = CHnEngine::NewLC( aController );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnEngine* CHnEngine::NewLC( MHnControllerInterface& aController )
-    {
-    CHnEngine* self = new( ELeave ) CHnEngine( aController );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnEngine::CHnEngine( MHnControllerInterface& aController ):
-    iControllerInterface( aController )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnEngine::~CHnEngine()
-    {
-    delete iInstObserver;
-    delete iLight;
-    if( iSuiteContainer )
-        {
-        iSuiteContainer->RemoveLiwObjects();
-        }
-    delete iMetaDataModel;
-    delete iSuiteContainer;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::GetSuiteModelsCountL()
-    {
-    return iSuiteContainer->GetSuiteModelCount();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::SuiteModelLoadedL( TInt aId )
-    {
-    TBool ret( EFalse );
-    TInt count( iSuiteContainer->GetSuiteModelCount() );
-    for( int i=0; i<count; i++ )
-        {
-        CHnSuiteModel* suite = iSuiteContainer->GetSuiteModel( i );
-        if( suite->GetItemsOrder()->GetSuiteId() == aId )
-            {
-            ret = ETrue;
-            break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel* CHnEngine::GetLastSuiteModelL()
-    {
-    return iSuiteContainer->GetLastSuiteModel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel* CHnEngine::GetParentSuiteModelL()
-    {
-    return iSuiteContainer->GetParentSuiteModel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEngine::TriggerHnEventL( const TInt aHnEventId,
-        const TInt aRecipientId, CLiwGenericParamList* aEventParameters )
-    {
-    TInt ret = iSuiteContainer->OfferHnEventL( aHnEventId, aRecipientId,
-            aEventParameters);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::HighlightPlacementFromUriL( const TDesC8& aUriFragment )
-    {
-    TLex8 lexFrag( aUriFragment );
-    TInt highLight( 0 );
-    if( !( lexFrag.Val( highLight ) ) )
-        {
-        iSuiteContainer->GetLastSuiteModel()->SetSuiteHighlightL( highLight );
-        iControllerInterface.HandleSuiteEventL( ESuiteHighlightChanged,
-                iSuiteContainer->GetLastSuiteModel() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::LoadSuiteFromUriL( const TDesC8& aSuiteName,
-        const TDesC8& aUriQuery, const TDesC8& aUriFragment )
-    {
-    TInt error( KErrNone );
-
-    if( !( aSuiteName.Compare( KRoot8 ) ) )
-        {
-        CLiwGenericParamList* uriParams =
-			UriQueryToLiwListLC( aUriQuery, aUriFragment, aSuiteName );
-        CLiwGenericParamList* params = CLiwGenericParamList::NewLC();
-        params->AppendL( iMetaDataModel->GetSuiteParameters( 0 ) );
-        params->AppendL( *uriParams );
-        ResetModelsL();
-        iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-        error = InitializeL( *params );
-        CleanupStack::PopAndDestroy( params );
-        CleanupStack::PopAndDestroy( uriParams );
-        }
-    else
-        {
-        CLiwGenericParamList* params =
-			UriQueryToLiwListLC( aUriQuery, aUriFragment, aSuiteName );
-
-        HBufC* suiteName = HnConvUtils::Str8ToStrLC( aSuiteName );
-        params->AppendL( TLiwGenericParam( KNewSuiteParamNameEn,
-            TLiwVariant( *suiteName ) ) );
-
-        error = HandleNewSuiteLoadedEventL( *params );
-
-        CleanupStack::PopAndDestroy( suiteName );
-        CleanupStack::PopAndDestroy( params );
-        }
-
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::SuitesAreTheSameL( const TDesC& aLastSuiteName,
-    const TDesC8& aFirstSuiteName )
-    {
-    RBuf8 lastSuiteName;
-    CleanupClosePushL( lastSuiteName );
-    lastSuiteName.CreateL( aLastSuiteName.Length() );
-    lastSuiteName.Copy( aLastSuiteName );
-    TBool suitesAreTheSame( !lastSuiteName.Compare( aFirstSuiteName ) );
-    CleanupStack::PopAndDestroy( &lastSuiteName );
-    return suitesAreTheSame;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::HandleTheSameSuitesL( TBool aNextExists, const TDesC8& aParams )
-    {
-    RBuf exitMode;
-    CleanupClosePushL( exitMode );
-    CLiwGenericParamList* params = UriQueryToLiwListLC( aParams, KNullDesC8, KNullDesC8 );
-    HnLiwUtils::GetStringL( *params, KExitModeParams, exitMode );
-
-    if ( !exitMode.Compare( KExitModeHide ) )
-        {
-        // set parameters
-        iSuiteContainer->GetLastSuiteModel()->SetExitMode( EExitModeHide );
-        }
-
-    CleanupStack::PopAndDestroy( params );
-    CleanupStack::PopAndDestroy( &exitMode );
-
-    if ( !aNextExists )
-        {
-        // refresh if necessary
-        iControllerInterface.NotifyUiRefreshL( ERefreshSuite );
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnEngine::LoadSuitesFromUriL( const TDesC8& aUri )
-	{
-	DEBUG(("_MM_:CHnEngine::LoadSuitesFromUriL IN"));
-	DEBUG8(("_MM_:\tURI: %S",&aUri));
-
-	TBool consumed(EFalse);
-
-    if ( aUri.Find( KSetFocusWithPref ) != KErrNotFound )
-	    {
-	    LoadFromCrL( aUri );
-	    consumed = ETrue;
-	    }
-
-    if ( !consumed )
-    	{
-    	consumed = HandleActionL( aUri );
-    	}
-
-    if ( !consumed )
-    	{
-    	LoadSuitesL( aUri );
-    	}
-
-    DEBUG(("_MM_:CHnEngine::LoadSuitesFromUriL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleModelEventL( const TDesC& aEventName,
-                                CLiwGenericParamList& aParams )
-    {
-    TInt ret(KErrNotFound);
-
-    if ( aEventName == KNewSuiteLoadedMdEvent )
-        {
-        // This handles new suite creation, putting its visual model
-        // onto the stack eventually.
-        ret = HandleNewSuiteLoadedEventL( aParams );
-        }
-    else if ( aEventName == KBackMdEvent )
-        {
-        const TDesC& suiteName = iSuiteContainer->GetLastSuiteModel()->SuiteName();
-        ret = HandleBackEventL( suiteName );
-        }
-    else if (aEventName == KReevaluateMdEvent )
-        {
-        // This event triggers reevaluate on the model.
-        // aParams holds liw packed filter.
-        ret = HandleReevaluateEventL( aParams );
-        }
-    else if (aEventName == KSwitchWidgetMdEvent )
-        {
-        // Widget change is requested.
-        ret = HandleWidgetChangeL( aParams );
-        }
-    else if (aEventName == KRefreshUiMdEvent )
-        {
-        // Refresh of the whole of the UI is refreshed
-        iControllerInterface.NotifyUiRefreshL( ERefreshSuite );
-        ret = KErrNone;
-        }
-    else if (aEventName == KRefreshToolbarMdEvent )
-        {
-        // Just the toolbar in UI is refreshed
-        iControllerInterface.NotifyUiRefreshL( ERefreshToolbar );
-        ret = KErrNone;
-        }
-    else if (aEventName == KStartEditModeMdEvent )
-        {
-        // Starting edit mode
-        iControllerInterface.NotifyUiRefreshL( EStartEditMode );
-        ret = KErrNone;
-        }
-    else if (aEventName == KStopEditModeMdEvent )
-        {
-        // Stopping edit mode
-        iControllerInterface.NotifyUiRefreshL( EStopEditMode );
-        ret = KErrNone;
-        }
-    else if (aEventName == KSetFocusEvent )
-        {
-        // SetFocus
-        ret = HandleSetFocusEventL( aParams );
-        }
-    else if (aEventName == KAppGainForeground )
-    	{
-    	//force matrix gain foreground
-        DEBUG(("_MM_:CHnEngine::HandleModelEventL EForegroundGain"));
-        iControllerInterface.NotifyUiRefreshL( EForegroundGain );
-        ret = KErrNone;
-    	}
-    else if (aEventName == KAppGainBackground )
-    	{
-    	//force matrix gain background
-        DEBUG(("_MM_:CHnEngine::HandleModelEventL EBackgroundGain"));
-        iControllerInterface.NotifyUiRefreshL( EBackgroundGain );
-        ret = KErrNone;
-    	}
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleWidgetChangeL(
-        CLiwGenericParamList& aParams )
-    {
-    THnSuiteWidgetType type = EChangeWidget;
-    TInt pos( 0 );
-    const TLiwGenericParam* param = NULL;
-    param = aParams.FindFirst( pos,  KWidgetTypeAttrName8 );
-    if ( pos != KErrNotFound )
-        {
-        TPtrC widgetType( KNullDesC );
-        param->Value().Get( widgetType );
-        if ( widgetType.Compare( KWidgetTypeList ) == 0 )
-            type = EListWidget;
-        else if ( widgetType.Compare( KWidgetTypeGrid ) == 0 )
-            type = EGridWidget;
-        else if ( widgetType.Compare( KWidgetTypeCoverFlow ) == 0 )
-            type = ECoverFlowWidget;
-        }
-
-    CHnSuiteModel* model  = iSuiteContainer->GetLastSuiteModel();
-    return HandleWidgetChangeL( model->SuiteName(), type );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleWidgetChangeL( const TDesC& aSuiteName,
-        THnSuiteWidgetType aType )
-    {
-    DEBUG(("_MM_:CMatrixMenuAppUi::HandleWidgetChangeL IN"));
-    TInt ret( KErrGeneral );
-
-    CHnRepositoryManager* rep = CHnRepositoryManager::NewLC();
-    THnSuiteWidgetType type( EUnspecified );
-    TInt err( rep->ReadSuiteWidgetTypeL( aSuiteName, type ) );
-
-    if( ( !err || err == KErrNotFound ) && type != EUnspecified )
-        {
-        ret = rep->StoreSuiteWidgetTypeL( aSuiteName, aType );
-        }
-    CleanupStack::PopAndDestroy( rep );
-    DEBUG(("_MM_:CMatrixMenuAppUi::HandleWidgetChangeL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleReevaluateEventL(
-        CLiwGenericParamList& aParams )
-    {
-    TInt ret(KErrNone);
-    // Paths to retrieve filter values
-    _LIT8( KGenreGlobalPath, "filter:genre");
-    _LIT8( KIdGlobalPath, "filter:id");
-    _LIT8( KGenrePath, "filter:[%d]/genre");
-    _LIT8( KItemPath, "filter:[%d]/item");
-
-    CHnFilter* filter = CHnFilter::NewLC();
-
-    TLiwGenericParam param;
-    param.PushL();
-    aParams.AtL(0, param);
-    ASSERT( !param.Name().Compare( KFilterElementItem8 ) );
-
-    TLiwVariant suiteIdVariant;
-    suiteIdVariant.PushL();
-    TLiwVariant genreVariant;
-    genreVariant.PushL();
-    TInt idFound =
-        HnLiwUtils::GetVariantL( aParams, KIdGlobalPath(), suiteIdVariant );
-    TInt found =
-        HnLiwUtils::GetVariantL(aParams, KGenreGlobalPath(), genreVariant );
-    if (idFound != KErrNotFound)
-        {
-        filter->SetSuiteId( suiteIdVariant.AsTInt32() );
-        filter->SetEvaluateSuiteL( ETrue );
-        }
-    else if (found != KErrNotFound && found != KErrBadDescriptor)
-        {
-        filter->SetSuiteNameL( genreVariant.AsDes() );
-        filter->SetEvaluateSuiteL( ETrue );
-        }
-    else
-        {
-        filter->SetEvaluateSuiteL( EFalse );
-        // For each entry in the fitler list....
-        for ( int i=0; i< param.Value().AsList()->Count(); i++ )
-            {
-            RBuf8 path;
-            CleanupClosePushL( path );
-            path.CreateL( KGenrePath().Length() );
-            path.Format( KGenrePath, i );
-            TLiwVariant genreVariant;
-            HnLiwUtils::GetVariantL(aParams, path, genreVariant );
-            path.Close();
-            path.CreateL( KItemPath().Length() );
-            path.Format( KItemPath, i );
-            TLiwVariant itemVariant;
-            HnLiwUtils::GetVariantL(aParams, path, itemVariant );
-            CleanupStack::PopAndDestroy( &path );
-
-            TPtrC suiteName;
-            TPtrC itemId;
-            genreVariant.Get(suiteName);
-            itemVariant.Get(itemId);
-
-            CHnItemId* itemIdObject = CHnItemId::NewLC(suiteName, itemId);
-            filter->AppendItemIdL( itemIdObject );
-            CleanupStack::Pop( itemIdObject );
-
-            genreVariant.Reset();
-            itemVariant.Reset();
-            }
-        }
-    CleanupStack::PopAndDestroy( &genreVariant );
-    CleanupStack::PopAndDestroy( &suiteIdVariant );
-    CleanupStack::PopAndDestroy( &param );
-    iMetaDataModel->EvaluateL( *filter );
-    CleanupStack::PopAndDestroy( filter );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleBackEventL( const TDesC& aGenre, TInt aIterations )
-    {
-    return iMetaDataModel->HandleBackEventL(
-            iSuiteContainer, aGenre, aIterations );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleNewSuiteLoadedEventL(
-        CLiwGenericParamList& aParams )
-    {
-    DEBUG(("_MM_:CHnEngine::HandleNewSuiteLoadedEventL IN"));
-    TInt err( KErrNone );
-    const TLiwGenericParam* param =
-        aParams.FindFirst( err, KNewSuiteParamNameEn );
-    if( err != KErrNotFound )
-        {
-        TPtrC genre;
-        param->Value().Get( genre );
-        DEBUG16(("_MM_:\tSuite genre name: %S",&genre));
-        // load and evaluate the suite
-        err = iMetaDataModel->LoadSuiteL( genre, &aParams );
-        if ( !err )
-            {
-            GetLastSuiteModelL()->RegisterSuiteObserverL( &iControllerInterface, EPriorityNull );
-            CHnFilter* filter = CHnFilter::NewLC();
-            filter->SetSuiteNameL( genre );
-            filter->SetEvaluateSuiteL( ETrue );
-            if ( iEditMode )
-                {
-                iMetaDataModel->SetModeL( EMdModeEdit );
-                }
-            else
-                {
-                iMetaDataModel->SetModeL( EMdModeNormal );
-                }
-
-            TRAP( err, iMetaDataModel->EvaluateL( *filter ) );
-
-            CleanupStack::PopAndDestroy( filter );
-            if ( err )
-                {
-                iMetaDataModel->DeleteLastSuite();
-                iSuiteContainer->PopSuiteModelL( genre );
-                }
-            }
-        else
-            {
-            // show error note to User
-            HBufC* message( NULL );
-            switch ( err )
-                {
-                case KErrPathNotFound :
-                    {
-                    message = KDebugNoteDirNotFound().AllocL();
-                    }
-                    break;
-                case KErrNotFound :
-                    {
-                    message = KDebugNoteFileNotFound().AllocL();
-                    }
-                    break;
-                default :
-                    {
-                    message = HBufC::NewL( KDebugNoteOtherError().Length() +
-                                            KMaxLength );
-                    message->Des().AppendFormat( KDebugNoteOtherError, err );
-                    }
-                    break;
-                }
-            iEEnv->AlertWin( *message );
-            delete message;
-            }
-        }
-    DEBUG(("_MM_:\tReturned error code: %d",err));
-    DEBUG(("_MM_:CHnEngine::HandleNewSuiteLoadedEventL OUT"));
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleSetFocusEventL( const CLiwGenericParamList& aParams  )
-    {
-    // Triggering event in hierarchy navigator, specifying
-    // that suite given by the name genre has been
-    DEBUG(("_MM_:CHnEngine::HandleSetFocusEventL IN"));
-
-    TInt posSuite( 0 );
-    TInt posItem( 0 );
-	TInt64 suiteCustomId( KErrNotFound );
-	TInt64 itemCustomId( KErrNotFound );
-
-	// Get suite's and item's custom ids.
-	const TLiwGenericParam* paramSuiteId = aParams.FindFirst( posSuite,  KSuiteCustomId8 );
-	const TLiwGenericParam* paramItemId = aParams.FindFirst( posItem,  KItemCustomId8 );
-
-
-	if ( posSuite >= 0 && posItem >= 0 )
-    	{
-    	suiteCustomId = paramSuiteId->Value().AsTInt64();
-    	itemCustomId = paramItemId->Value().AsTInt64();
-
-    	// Get matching suite.
-    	CHnSuiteModel* suiteModel = iSuiteContainer->GetMatchingSuiteModel( suiteCustomId );
-
-    	if ( suiteModel )
-    		{
-    		// If suite is not null, then find matching item model.
-    		TInt index( KErrNotFound );
-    		CHnItemModel* itemModel = suiteModel->GetMatchingItemModelL( itemCustomId, index );
-
-    		if ( itemModel )
-    			{
-    			// If itemModel is not null then set highlight and set highligh
-    			// on matching item.
-    			suiteModel->SetSuiteHighlightL( index );
-        		iControllerInterface.HandleSuiteEventL( ESuiteHighlightChanged, suiteModel );
-    			}
-    		else
-    			{
-    			suiteModel->QueueFocus( itemCustomId );
-    			}
-    		}
-    	}
-
-    DEBUG(("_MM_:CHnEngine::HandleSetFocusEventL OUT"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleMoveFocusBeforeDeleteEventL(
-        const CLiwGenericParamList& /* aParams */  )
-    {
-    // Triggering event in hierarchy navigator, specifying
-    // that suite given by the name genre has been
-    DEBUG(("_MM_:CHnEngine::HandleMoveFocusBeforeDeleteEventL IN"));
-
-    TInt currentHighlight( GetLastSuiteModelL()->GetSuiteHighlight() );
-    TInt itemsCount( GetLastSuiteModelL()->GetItemModelsCount() );
-
-    TInt shift( 0 );
-    if( AknLayoutUtils::PenEnabled() && iEditMode )
-        {
-        // add empty item
-        shift = 1;
-        }
-    if( currentHighlight == itemsCount - shift - 1 )
-        {
-        GetLastSuiteModelL()->SetSuiteHighlightL( currentHighlight - 1 );
-        }
-    else
-        {
-        GetLastSuiteModelL()->SetSuiteHighlightL( currentHighlight + 1 );
-        }
-    iControllerInterface.HandleSuiteEventL(
-            ESuiteHighlightChanged, GetLastSuiteModelL() );
-
-    DEBUG(("_MM_:CHnEngine::HandleMoveFocusBeforeDeleteEventL OUT"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleRefreshIconsEventL( const CLiwGenericParamList& /* aParams */ )
-    {
-    iMetaDataModel->EvaluateL();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnEngine::HandleDisableActionsForItemL( const CLiwGenericParamList& aParams )
-    {
-    TInt pos( 0 );
-    aParams.FindFirst( pos, KItemCustomId8 );
-    if ( pos != KErrNotFound )
-        {
-        TInt itemCustomId = aParams[pos].Value().AsTInt32();
-        TInt itemId = 0;
-        CHnItemModel* itemModel =
-                iSuiteContainer->GetLastSuiteModel()->GetMatchingItemModelL(
-                        itemCustomId, itemId );
-        if ( itemModel )
-            {
-            itemModel->DeleteAllActionModels();
-            }
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::InstallChangeL( TInt aStatus )
-    {
-    switch ( aStatus)
-        {
-        case EInstOpNone:
-            {
-            iMetaDataModel->HandleSisInstallationEventL( iSuiteContainer );
-            break;
-            }
-        case EInstOpInstall:
-        case EInstOpUninstall:
-            {
-            iMetaDataModel->ReleaseLocalization();
-            break;
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEngine::InitializeL( CLiwGenericParamList& aParam )
-    {
-    DEBUG(("_MM_:CMatrixMenuAppUi::InitializeL IN"));
-    User::LeaveIfError( HandleNewSuiteLoadedEventL( aParam ) );
-    DEBUG(("_MM_:CMatrixMenuAppUi::InitializeL OUT"));
-    // This is an interface method so some value has to be returned.
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::ParseSuiteUriPathL( const TDesC8& aUriPath,
-        CDesC8ArrayFlat& aOutput )
-    {
-    DEBUG(("_MM_:CHnEngine::ParseSuiteUriPathL IN"));
-    DEBUG(("_MM_:\tURI path: %S",&aUriPath));
-    if ( aUriPath.Length() )
-        {
-        // copy the path so we can freely trim already parsed chunks
-        RBuf8 buf( aUriPath.AllocL() );
-        CleanupClosePushL( buf );
-
-        // get rid of the initial slash
-        if ( buf[0] == KSlash8()[0] )
-            {
-            buf.Delete( 0, 1 );
-            DEBUG(("_MM_:\tDeleted leading slash"));
-            }
-
-        // get the first chunk
-        TInt slashPos = buf.Find( KSlash8 );
-        TPtrC8 chunkPtr;
-        if ( slashPos != KErrNotFound )
-            {
-            chunkPtr.Set( buf.Left( slashPos ) );
-            }
-        else
-            {
-            // no slash - one chunk path
-            chunkPtr.Set( buf );
-            }
-
-        while ( chunkPtr.Length() )
-            {
-            aOutput.AppendL( chunkPtr );
-            DEBUG8(( "_MM_:\t\tParsed segment: %S", &chunkPtr ));
-
-            // get rid of the parsed chunk and get a new one
-            if ( slashPos != KErrNotFound )
-                {
-                // also remove the trailing slash
-                buf.Delete( 0, chunkPtr.Length() + 1 );
-                slashPos = buf.Find( KSlash8 );
-                if ( slashPos != KErrNotFound )
-                    {
-                    chunkPtr.Set( buf.Left( slashPos ) );
-                    }
-                else
-                    {
-                    // last chunk
-                    chunkPtr.Set( buf );
-                    }
-                }
-            else
-                {
-                // no slashes found, this was the last one
-                break;
-                }
-            }
-
-        CleanupStack::PopAndDestroy( &buf );
-        }
-    DEBUG(("_MM_:CHnEngine::ParseSuiteUriPathL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnEngine::ResetModelsL()
-    {
-    MMPERF(("CHnEngine::ResetModelsL - START"));
-
-    iControllerInterface.NotifyUiRefreshL( ERemoveLiwObjects );
-
-    if( iSuiteContainer )
-        {
-        iSuiteContainer->RemoveLiwObjects();
-        }
-    delete iMetaDataModel;
-    iMetaDataModel = NULL;
-    delete iSuiteContainer;
-    iSuiteContainer = NULL;
-
-    iSuiteContainer = CHnSuiteModelContainer::NewL( *this , iControllerInterface );
-    MMPERF(("CHnEngine::ResetModelsL - suite container ready"));
-
-    iMetaDataModel = CHnMdModel::NewL( this, iSuiteContainer );
-
-    MMPERF(("CHnEngine::ResetModelsL - DONE"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnEngine::UriQueryToLiwListLC(
-        const TDesC8& aUriQuery, const TDesC8& aUriFragment, const TDesC8& aSuiteName )
-    {
-    CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-
-    CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-    map->PushL();
-
-    RPointerArray< HBufC8 > params = SplitL( aUriQuery, KAnd8 );
-
-    for( TInt i = 0; i < params.Count(); i++ )
-        {
-        RPointerArray< HBufC8 > paramValue = SplitL( *params[ i ], KEquals8 );
-        CleanupResetAndDestroyPushL( paramValue );
-        ASSERT( paramValue.Count() == 2 );
-        map->InsertL( *paramValue[ 0 ], TLiwVariant( *paramValue[ 1 ] ) );
-        CleanupStack::PopAndDestroy( &paramValue );
-        }
-
-    if ( aUriFragment.Length() > 0 && aSuiteName.Length() > 0 )
-        {
-        map->InsertL( KUriHighlight, TLiwVariant( aUriFragment ) );
-        map->InsertL( KUriHighlightSuite, TLiwVariant( aSuiteName ) );
-        }
-
-    list->AppendL( TLiwGenericParam(  KParams8, TLiwVariant( map )));
-
-    params.ResetAndDestroy();
-    CleanupStack::PopAndDestroy( map );
-
-    return list;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-RPointerArray< HBufC8 > CHnEngine::SplitL( const TDesC8& aSource,
-        const TDesC8& aSeparator )
-    {
-    RPointerArray< HBufC8 > tokens;
-    CleanupResetAndDestroyPushL( tokens );
-
-    if ( aSource.Length() > 0 && aSeparator.Length() > 0 )
-        {
-        TPtrC8 tmpSource = aSource;
-
-        TPtrC8 token( KNullDesC8 );
-
-        while( ETrue )
-            {
-            TInt length = tmpSource.Find( aSeparator );
-
-            if ( length >= 0 )
-                {
-                token.Set( tmpSource.Mid( 0, length ) );
-                tokens.AppendL( token.AllocL() );
-                tmpSource.Set( tmpSource.Mid( length + 1 ) );
-                }
-            else
-                {
-                token.Set( tmpSource );
-                tokens.AppendL( token.AllocL() );
-                break;
-                }
-            }
-        }
-    CleanupStack::Pop( &tokens );
-    return tokens;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::SetEditModeL( TBool aEditMode )
-    {
-    iEditMode = aEditMode;
-    if ( aEditMode )
-        {
-        iMetaDataModel->SetModeL( EMdModeEdit );
-        }
-    else
-        {
-        iMetaDataModel->SetModeL( EMdModeNormal );
-        }
-    //The suite on top of the stack is probably displayed.
-    //Switching to edit mode has some dramatic ui impact,
-    //thus when parts of the suite will get displayed
-    //it may look awkward thus the suite on top of the stack
-    //is marked as uninitialized, therefore ui will be able to
-    //react only to the ready suite model.
-    if (AknLayoutUtils::PenEnabled() || (!AknLayoutUtils::PenEnabled() && iEditMode))
-        {
-        GetLastSuiteModelL()->GetItemsOrder()->MarkSuiteUninitialized();
-        iMetaDataModel->EvaluateL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::IsOnlyRootConfLoaded()
-    {
-    return ( iSuiteContainer &&
-            iSuiteContainer->GetSuiteModelCount() == KModelCountForRoot );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-
-EXPORT_C void CHnEngine::HandleRequestL( const CLiwGenericParamList& aParam,
-                                CLiwGenericParamList* /*aOutput*/ )
-    {
-    TInt pos( 0 );
-    aParam.FindFirst( pos, KHnRequest );
-    if (pos != KErrNotFound)
-        {
-        TPtrC8 command = aParam[pos].Value().AsData();
-        if( command == KSetFocus )
-            {
-            HandleSetFocusEventL( aParam );
-            }
-        else if( command == KMoveFocusBeforeDelete )
-            {
-            HandleMoveFocusBeforeDeleteEventL( aParam );
-            }
-        else if( command == KRefreshIcons )
-            {
-            HandleRefreshIconsEventL( aParam );
-            }
-        else if (command == KEvaluateMdModel)
-            {
-            GetLastSuiteModelL()->GetItemsOrder()->MarkSuiteUninitialized();
-            iMetaDataModel->EvaluateL();
-            }
-        else if ( command == KDisableActionsForItem )
-            {
-            HandleDisableActionsForItemL( aParam );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LoadFromCrL( const TDesC8& aUri )
-	{
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-	parser.Parse( *uriBuf );
-	User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-	const TDesC8& query = parser.Extract( EUriQuery );
-    RPointerArray< HBufC8 > params = SplitL( query, HnLogicalRelations::KLogicalAnd8);
-
-    TBuf8<KApaMaxAppGroupName + KTimeStampBufferLength + KUidStringLength + 2> item;
-
-    for( TInt i = 0; i < params.Count(); i++ )
-        {
-        RPointerArray< HBufC8 > paramValue = SplitL( *params[ i ], HnLogicalRelations::KLogicalEqual8 );
-        CleanupResetAndDestroyPushL( paramValue );
-        ASSERT( paramValue.Count() == 2 );
-
-        if ( !paramValue[0]->Compare(KMcsAppGroupName8) )
-        	{
-        	TBuf8<KApaMaxAppGroupName> appgrname;
-        	if( paramValue[1]->Length()<=KApaMaxAppGroupName )
-        	    {
-        	    appgrname.Append( *paramValue[1] );
-        	    }
-
-        	//get current time
-        	TTime currentTime;
-        	currentTime.HomeTime();
-        	TDateTime date(currentTime.DateTime());
-        	item.Format(KCRepTimeFormat, &appgrname , date.Year(), date.Month(),
-        		date.Day(), date.Hour(), date.Minute(), date.Second(), date.MicroSecond());
-        	}
-        else if ( !paramValue[0]->Compare( KKeyTypeUid ) )
-        	{
-        	item.Append( KComma8 );
-            if( paramValue[1]->Length()<=KUidStringLength )
-                {
-                item.Append( *paramValue[1] );
-                }
-        	}
-        CleanupStack::PopAndDestroy( &paramValue );
-        }
-
-    TBuf<KApaMaxAppGroupName + KTimeStampBufferLength + KUidStringLength + 2> item1;
-    item1.Copy(item);
-	CRepository *cenRep = CRepository::NewLC( KCRUidMenu );
-	cenRep->Set(KMenuShowFolder, item1);
-	CleanupStack::PopAndDestroy( cenRep );
-
-    params.ResetAndDestroy();
-    CleanupStack::PopAndDestroy( uriBuf );
-
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LightStatusChanged(TInt aTarget,
-        CHWRMLight::TLightStatus aStatus)
-    {
-        DEBUG(("_Mm_:CHnEngine::LightStatusChanged: target %d, status %d - IN", aTarget, aStatus));
-    if (CHWRMLight::EPrimaryDisplay == aTarget
-            || CHWRMLight::EPrimaryDisplayAndKeyboard == aTarget)
-        {
-        switch (aStatus)
-            {
-            case CHWRMLight::ELightOn:
-                {
-                TRAP_IGNORE( iControllerInterface.NotifyUiRefreshL(ELightOn) );
-                break;
-                }
-            case CHWRMLight::ELightOff:
-                {
-                TRAP_IGNORE( iControllerInterface.NotifyUiRefreshL(ELightOff) );
-                break;
-                }
-            }
-        }
-        DEBUG(("_Mm_:CMmAppUi::LightStatusChanged - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnEngine::HandleActionL( const TDesC8& aUri )
-	{
-	TBool exitActionConsumed(EFalse);
-
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-    parser.Parse( *uriBuf );
-    User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-    const TDesC8& host8 = parser.Extract( EUriHost );
-    const TDesC8& query = parser.Extract( EUriQuery );
-
-	RBuf action;
-    CleanupClosePushL( action );
-    CLiwGenericParamList* paramsUri = UriQueryToLiwListLC( query, KNullDesC8, KNullDesC8 );
-    HnLiwUtils::GetStringL( *paramsUri, KActionParams, action );
-
-    if ( !action.Compare( KActionExit ) )
-    	{
-    	RBuf host;
-		host.CreateL( host8.Length() );
-		CleanupClosePushL( host );
-		host.Copy(host8);
-    	CHnSuiteModel* suiteModel = iSuiteContainer->GetSuiteModel( host );
-    	TBool exitHideHostNotFound( ETrue  );
-    	if( suiteModel  && suiteModel->ExitMode() == EExitModeHide )
-    	    {
-    	    exitHideHostNotFound = EFalse;
-    	    }
-
-		if ( exitHideHostNotFound )
-			{
-			//send to foreground
-			CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( pl );
-			HandleModelEventL( KAppGainForeground, *pl );
-			CleanupStack::PopAndDestroy( pl );
-			}
-		else
-			{
-			//send to background
-			CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-			CleanupStack::PushL( pl );
-			HandleModelEventL( KAppGainBackground, *pl );
-			CleanupStack::PopAndDestroy( pl );
-			}
-
-    	if ( exitHideHostNotFound && iSuiteContainer->GetLastSuiteModel() == suiteModel  )
-    		{
-            HandleBackEventL( host,  1 );
-    		}
-    	else
-    		{
-        	//reset to root
-            CLiwGenericParamList* params = CLiwGenericParamList::NewLC();
-            params->AppendL( iMetaDataModel->GetSuiteParameters( 0 ) );
-        	ResetModelsL();
-            InitializeL( *params );
-            CleanupStack::PopAndDestroy( params );
-    		}
-
-    	CleanupStack::PopAndDestroy( &host );
-    	exitActionConsumed = ETrue;
-    	}
-
-    CleanupStack::PopAndDestroy( paramsUri );
-    CleanupStack::PopAndDestroy( &action );
-    CleanupStack::PopAndDestroy( uriBuf );
-    return exitActionConsumed;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnEngine::LoadSuitesL( const TDesC8& aUri )
-	{
-	TBool sendToForeground(EFalse);
-	HBufC8* uriBuf = HBufC8::NewLC( aUri.Length() );
-	uriBuf->Des().Copy( aUri );
-
-	TUriParser8 parser;
-	parser.Parse( *uriBuf );
-	User::LeaveIfError( parser.IsSchemeValid() ? KErrNone : KErrPathNotFound );
-
-	CDesC8ArrayFlat* suiteNameArray = new( ELeave ) CDesC8ArrayFlat( KDefaultGranularity ) ;
-	CleanupStack::PushL( suiteNameArray );
-
-	const TDesC8& host = parser.Extract( EUriHost );
-    RBuf8 host8;
-    CleanupClosePushL( host8 );
-    if (host.Compare( KNullDesC8 ))
-        {
-        host8.CreateL( host );
-        host8.LowerCase();
-        suiteNameArray->AppendL( host8 );
-        DEBUG8(( "_MM_:\tURI host part: %S", &host8 ));
-        }
-
-	const TDesC8& path = parser.Extract( EUriPath );
-	if (path.Compare( KNullDesC8 ))
-		{
-		HBufC8* path8 = HBufC8::NewLC( path.Length() );
-		path8->Des().Copy( path );
-		path8->Des().LowerCase();
-		ParseSuiteUriPathL( *path8, *suiteNameArray );
-		CleanupStack::PopAndDestroy( path8 );
-		}
-
-	TBool suiteExists( EFalse );
-	iMetaDataModel->IgnoreEvaluations( ETrue );
-	iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-
-    if( host8.Length() == 0 || ( host8.Length() > 0 &&
-            !iMetaDataModel->SuiteModelExistsL( host8 ) ) )
-        {
-        suiteNameArray->Reset();
-        suiteNameArray->AppendL( KRoot8 );
-        }
-
-	for( TInt i = 0; i < suiteNameArray->Count(); ++i )
-		{
-		suiteExists = iMetaDataModel->SuiteModelExistsL(
-			( *suiteNameArray )[i] );
-		TBool nextExists = i < suiteNameArray->Count() - 1 &&
-			iMetaDataModel->SuiteModelExistsL( ( *suiteNameArray )[i + 1] );
-		TBool isLast = ( i == ( suiteNameArray->Count() - 1 ) );
-
-		TBool turnOnEvaluation = ( suiteExists && ( !nextExists || isLast ) );
-		if( turnOnEvaluation || !suiteExists )
-			{
-			iMetaDataModel->IgnoreEvaluations( EFalse );
-			}
-
-		TInt err( KErrNone );
-
-		// Ignore loading new suite if the last suite in model is the same
-		// as first one in the uri.
-		if ( i == 0 )
-			{
-			if ( SuitesAreTheSameL( iMetaDataModel->GetLastSuite()->SuiteName(), (*suiteNameArray)[i] ) )
-				{
-				HandleTheSameSuitesL( nextExists, parser.Extract( EUriQuery ) );
-				sendToForeground = ETrue;
-				continue;
-				}
-			}
-
-		if( suiteExists )
-			{
-			if (!nextExists)
-			    {
-			    // Tricky: queue foreground so that if the suite is evaluated synchronously
-			    // the foreground will be gained.
-			    iMetaDataModel->QueueForeground( CHnMdModel::EWhenAnySuiteIsEvaluated );
-			    }
-			err = LoadSuiteFromUriL(
-				( *suiteNameArray )[i], parser.Extract( EUriQuery ), parser.Extract( EUriFragment ) );
-			if ( KErrNone == err && !nextExists && iMetaDataModel->IsForegroundQueued() )
-			    {
-			    // Tricky: if foreground is still queued it means that the suite is evaluated
-			    // asynchronously. Override the previos foreground queue setting with one
-			    // that will be effective only if the last loaded suite is evaluated.
-			    iMetaDataModel->QueueForeground( CHnMdModel::EWhenCurrentTopSuiteIsEvaluated );
-			    }
-			if ( err != KErrNone )
-				{
-				sendToForeground = ETrue;
-				}
-			}
-
-		if( !suiteExists || err != KErrNone || !nextExists )
-			{
-			CHnFilter* filter = CHnFilter::NewLC();
-
-			filter->SetSuiteId(
-				iSuiteContainer->GetLastSuiteModel()->CustomId() );
-
-			filter->SetEvaluateSuiteL( ETrue );
-			iMetaDataModel->IgnoreEvaluations( EFalse );
-
-			TRAPD( err, iMetaDataModel->EvaluateL( *filter ) );
-
-			CleanupStack::PopAndDestroy( filter );
-			if( err )
-				{
-				iMetaDataModel->DeleteLastSuite();
-				iSuiteContainer->PopSuiteModelL(
-					 HnConvUtils::Str8ToStr( ( *suiteNameArray )[i] )->Des() );
-				sendToForeground = ETrue;
-				}
-			break;
-			}
-		}
-
-	// set highlight only when path is valid!
-	if( suiteExists )
-		{
-		HighlightPlacementFromUriL( parser.Extract( EUriFragment ) );
-		}
-
-    CleanupStack::PopAndDestroy( &host8 );
-	CleanupStack::PopAndDestroy( suiteNameArray );
-	CleanupStack::PopAndDestroy( uriBuf );
-
-//    send to foreground
-	if ( sendToForeground )
-		{
-		CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-		CleanupStack::PushL( pl );
-		HandleModelEventL( KAppGainForeground, *pl );
-		CleanupStack::PopAndDestroy( pl );
-		iMetaDataModel->QueueForeground( CHnMdModel::ENever );
-		}
-
-	}
-
-// End of file
--- a/menufw/hierarchynavigator/hnengine/src/hninstallnotifier.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Sis package installation event listener
-*
-*/
- 
-
-#include <sacls.h>
-#include "hninstallnotifier.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// -----------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::CHnMulModelInstallNotifier
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CHnInstallNotifier::CHnInstallNotifier( 
-                                    MHnInstallNotifierCallback* aCallback, 
-                                    TUid aCategory, 
-                                    TUint aKey ) : CActive( EPriorityNormal )
-    {    
-    CActiveScheduler::Add( this );
-    
-    iCallback = aCallback;
-    iCategory = aCategory;
-    iKey = aKey;
-    // Prepare automatically
-    TInt err = iProperty.Attach( iCategory, iKey );
-    SetActive();
-    iStatus = KRequestPending;
-    iProperty.Subscribe( iStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::ConstructL
-// S2nd phase constructor.
-// -----------------------------------------------------------------------------
-//
-void CHnInstallNotifier::ConstructL()
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::NewL
-// ---------------------------------------------------------------------------
-//
-CHnInstallNotifier* CHnInstallNotifier::
-                              NewL( MHnInstallNotifierCallback* aCallback,
-                                    TUid aCategory, 
-                                    TUint aKey  )
-    {
-    CHnInstallNotifier* self = 
-                new (ELeave) CHnInstallNotifier( aCallback,
-                                                         aCategory,
-                                                         aKey );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::~CHnMulModelInstallNotifier
-// ---------------------------------------------------------------------------
-//
-CHnInstallNotifier::~CHnInstallNotifier()
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CHnInstallNotifier::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CHnInstallNotifier::RunError( TInt /*aError*/ )
-    {    
-    // No need to do anything      
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CHnMulModelInstallNotifier::RunL
-// ---------------------------------------------------------------------------
-//
-void CHnInstallNotifier::RunL()
-    {
-    // Re-issue request before notifying
-    SetActive();
-    iStatus = KRequestPending;
-    iProperty.Subscribe( iStatus );
-    
-    TInt status;
-    User::LeaveIfError( iProperty.Get( KUidSystemCategory, 
-                                      KSAUidSoftwareInstallKeyValue,status ));
-
-    iCallback->InstallChangeL( status );
-    }
-// End of File
--- a/menufw/hierarchynavigator/hnmetadatamodel/bwins/hnmetadatamodelu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	?SetSuiteNameL@CHnFilter@@QAEXABVTDesC16@@@Z @ 1 NONAME ; void CHnFilter::SetSuiteNameL(class TDesC16 const &)
-	?Id@CHnMdEvent@@QBEHXZ @ 2 NONAME ; int CHnMdEvent::Id(void) const
-	?NewLC@CHnItemId@@SAPAV1@ABVTDesC16@@0@Z @ 3 NONAME ; class CHnItemId * CHnItemId::NewLC(class TDesC16 const &, class TDesC16 const &)
-	?GetAlternativeWidgetNumber@CHnMdSuite@@QAEHXZ @ 4 NONAME ; int CHnMdSuite::GetAlternativeWidgetNumber(void)
-	?GetSuiteParameters@CHnMdSuite@@QAEAAVCLiwGenericParamList@@XZ @ 5 NONAME ; class CLiwGenericParamList & CHnMdSuite::GetSuiteParameters(void)
-	?ReloadLocalizationL@CHnMdModel@@QAEXXZ @ 6 NONAME ; void CHnMdModel::ReloadLocalizationL(void)
-	?QueueForeground@CHnMdModel@@QAEXW4TForegroundGainTriggeringEvent@1@@Z @ 7 NONAME ; void CHnMdModel::QueueForeground(enum CHnMdModel::TForegroundGainTriggeringEvent)
-	?ReadFileL@HnUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 8 NONAME ; class HBufC8 * HnUtils::ReadFileL(class TDesC16 const &)
-	?GetModelL@CHnXmlModelProvider@@QAEHABVTDesC16@@AAVRXmlEngDocument@@@Z @ 9 NONAME ; int CHnXmlModelProvider::GetModelL(class TDesC16 const &, class RXmlEngDocument &)
-	?GetLastSuite@CHnMdModel@@QAEPAVCHnMdSuite@@XZ @ 10 NONAME ; class CHnMdSuite * CHnMdModel::GetLastSuite(void)
-	?GetColumnTextColumnCount@HnUtils@@SAHABVTDesC8@@VTChar@@@Z @ 11 NONAME ; int HnUtils::GetColumnTextColumnCount(class TDesC8 const &, class TChar)
-	?SetSuiteParametersL@CHnMdSuite@@QAEXAAVCLiwGenericParamList@@@Z @ 12 NONAME ; void CHnMdSuite::SetSuiteParametersL(class CLiwGenericParamList &)
-	?NewLC@CHnXmlModelProvider@@SAPAV1@XZ @ 13 NONAME ; class CHnXmlModelProvider * CHnXmlModelProvider::NewLC(void)
-	?NewLC@CHnMdModel@@SAPAV1@PAVMHnMdModelEventObserver@@PAVCHnSuiteModelContainer@@@Z @ 14 NONAME ; class CHnMdModel * CHnMdModel::NewLC(class MHnMdModelEventObserver *, class CHnSuiteModelContainer *)
-	?IsForegroundQueued@CHnMdModel@@QBEHXZ @ 15 NONAME ; int CHnMdModel::IsForegroundQueued(void) const
-	?NewL@CHnXmlModelProvider@@SAPAV1@XZ @ 16 NONAME ; class CHnXmlModelProvider * CHnXmlModelProvider::NewL(void)
-	?SetModeL@CHnMdModel@@QAEXW4TMdMode@@@Z @ 17 NONAME ; void CHnMdModel::SetModeL(enum TMdMode)
-	?AppendItemIdL@CHnFilter@@QAEXPAVCHnItemId@@@Z @ 18 NONAME ; void CHnFilter::AppendItemIdL(class CHnItemId *)
-	?HandleSisInstallationEventL@CHnMdModel@@QAEXPAVCHnSuiteModelContainer@@@Z @ 19 NONAME ; void CHnMdModel::HandleSisInstallationEventL(class CHnSuiteModelContainer *)
-	?ReadFileLC@HnUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 20 NONAME ; class HBufC8 * HnUtils::ReadFileLC(class TDesC16 const &)
-	?LoadSuiteL@CHnMdModel@@QAEHABVTDesC16@@PAVCLiwGenericParamList@@@Z @ 21 NONAME ; int CHnMdModel::LoadSuiteL(class TDesC16 const &, class CLiwGenericParamList *)
-	?SuiteModelExistsL@CHnMdModel@@QAEHABVTDesC8@@@Z @ 22 NONAME ; int CHnMdModel::SuiteModelExistsL(class TDesC8 const &)
-	?HandleBackEventL@CHnMdModel@@QAEHPAVCHnSuiteModelContainer@@ABVTDesC16@@H@Z @ 23 NONAME ; int CHnMdModel::HandleBackEventL(class CHnSuiteModelContainer *, class TDesC16 const &, int)
-	?SuiteName@CHnItemId@@QBEABVTDesC16@@XZ @ 24 NONAME ; class TDesC16 const & CHnItemId::SuiteName(void) const
-	?Template@CHnMdItem@@QAEAAVTDesC8@@XZ @ 25 NONAME ; class TDesC8 & CHnMdItem::Template(void)
-	?SetAttributeL@HnUtils@@SAXABVTXmlEngElement@@AAVRBuf8@@@Z @ 26 NONAME ; void HnUtils::SetAttributeL(class TXmlEngElement const &, class RBuf8 &)
-	?ReleaseLocalization@CHnMdModel@@QAEXXZ @ 27 NONAME ; void CHnMdModel::ReleaseLocalization(void)
-	?DeleteLastSuite@CHnMdModel@@QAEXXZ @ 28 NONAME ; void CHnMdModel::DeleteLastSuite(void)
-	?NewLC@CHnFilter@@SAPAV1@XZ @ 29 NONAME ; class CHnFilter * CHnFilter::NewLC(void)
-	?EvaluateL@CHnMdModel@@QAEXXZ @ 30 NONAME ; void CHnMdModel::EvaluateL(void)
-	?SetAttributeL@HnUtils@@SAXABVTXmlEngElement@@ABVTDesC8@@AAVRBuf8@@@Z @ 31 NONAME ; void HnUtils::SetAttributeL(class TXmlEngElement const &, class TDesC8 const &, class RBuf8 &)
-	?Compare@CHnItemId@@QBEHABV1@@Z @ 32 NONAME ; int CHnItemId::Compare(class CHnItemId const &) const
-	?LocateFileLC@HnUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 33 NONAME ; class HBufC16 * HnUtils::LocateFileLC(class TDesC16 const &)
-	?Uid@CHnMdItem@@QAEAAVTDesC8@@XZ @ 34 NONAME ; class TDesC8 & CHnMdItem::Uid(void)
-	?SetEvaluateSuiteL@CHnFilter@@QAEXH@Z @ 35 NONAME ; void CHnFilter::SetEvaluateSuiteL(int)
-	?GetColumnTextLC@HnUtils@@SAPAVHBufC8@@HABVTDesC8@@VTChar@@@Z @ 36 NONAME ; class HBufC8 * HnUtils::GetColumnTextLC(int, class TDesC8 const &, class TChar)
-	?LocateNearestLanguageFileLC@HnUtils@@SAPAVHBufC16@@ABVTDesC16@@@Z @ 37 NONAME ; class HBufC16 * HnUtils::LocateNearestLanguageFileLC(class TDesC16 const &)
-	?SetSuiteId@CHnFilter@@QAEXH@Z @ 38 NONAME ; void CHnFilter::SetSuiteId(int)
-	?NewL@CHnFilter@@SAPAV1@XZ @ 39 NONAME ; class CHnFilter * CHnFilter::NewL(void)
-	?SuiteName@CHnMdSuite@@QAEABVTDesC16@@XZ @ 40 NONAME ; class TDesC16 const & CHnMdSuite::SuiteName(void)
-	?UpdateL@CHnItemId@@QAEXABV1@@Z @ 41 NONAME ; void CHnItemId::UpdateL(class CHnItemId const &)
-	?Type@CHnMdItem@@QAEAAVTDesC8@@XZ @ 42 NONAME ; class TDesC8 & CHnMdItem::Type(void)
-	?ReloadModelL@CHnXmlModelProvider@@QAEXXZ @ 43 NONAME ; void CHnXmlModelProvider::ReloadModelL(void)
-	??1CHnXmlModelProvider@@UAE@XZ @ 44 NONAME ; CHnXmlModelProvider::~CHnXmlModelProvider(void)
-	?NewL@CHnItemId@@SAPAV1@ABVTDesC16@@0@Z @ 45 NONAME ; class CHnItemId * CHnItemId::NewL(class TDesC16 const &, class TDesC16 const &)
-	?Id@CHnItemId@@QBEABVTDesC16@@XZ @ 46 NONAME ; class TDesC16 const & CHnItemId::Id(void) const
-	?EvaluateL@CHnMdModel@@QAEXAAVCHnFilter@@@Z @ 47 NONAME ; void CHnMdModel::EvaluateL(class CHnFilter &)
-	?NewL@CHnMdModel@@SAPAV1@PAVMHnMdModelEventObserver@@PAVCHnSuiteModelContainer@@@Z @ 48 NONAME ; class CHnMdModel * CHnMdModel::NewL(class MHnMdModelEventObserver *, class CHnSuiteModelContainer *)
-	?GetSuiteParameters@CHnMdModel@@QAEAAVCLiwGenericParamList@@H@Z @ 49 NONAME ; class CLiwGenericParamList & CHnMdModel::GetSuiteParameters(int)
-	?IgnoreEvaluations@CHnMdModel@@QAEXH@Z @ 50 NONAME ; void CHnMdModel::IgnoreEvaluations(int)
-	?GetCurrentUriL@CHnMdModel@@QAEXAAVTDes16@@@Z @ 51 NONAME ; void CHnMdModel::GetCurrentUriL(class TDes16 &)
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/eabi/hnmetadatamodelu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-EXPORTS
-	_ZN10CHnMdModel10LoadSuiteLERK7TDesC16P20CLiwGenericParamList @ 1 NONAME
-	_ZN10CHnMdModel12GetLastSuiteEv @ 2 NONAME
-	_ZN10CHnMdModel14GetCurrentUriLER6TDes16 @ 3 NONAME
-	_ZN10CHnMdModel15DeleteLastSuiteEv @ 4 NONAME
-	_ZN10CHnMdModel15QueueForegroundENS_30TForegroundGainTriggeringEventE @ 5 NONAME
-	_ZN10CHnMdModel16HandleBackEventLEP22CHnSuiteModelContainerRK7TDesC16i @ 6 NONAME
-	_ZN10CHnMdModel17IgnoreEvaluationsEi @ 7 NONAME
-	_ZN10CHnMdModel17SuiteModelExistsLERK6TDesC8 @ 8 NONAME
-	_ZN10CHnMdModel18GetSuiteParametersEi @ 9 NONAME
-	_ZN10CHnMdModel19ReleaseLocalizationEv @ 10 NONAME
-	_ZN10CHnMdModel19ReloadLocalizationLEv @ 11 NONAME
-	_ZN10CHnMdModel27HandleSisInstallationEventLEP22CHnSuiteModelContainer @ 12 NONAME
-	_ZN10CHnMdModel4NewLEP23MHnMdModelEventObserverP22CHnSuiteModelContainer @ 13 NONAME
-	_ZN10CHnMdModel5NewLCEP23MHnMdModelEventObserverP22CHnSuiteModelContainer @ 14 NONAME
-	_ZN10CHnMdModel8SetModeLE7TMdMode @ 15 NONAME
-	_ZN10CHnMdModel9EvaluateLER9CHnFilter @ 16 NONAME
-	_ZN10CHnMdModel9EvaluateLEv @ 17 NONAME
-	_ZN10CHnMdSuite18GetSuiteParametersEv @ 18 NONAME
-	_ZN10CHnMdSuite19SetSuiteParametersLER20CLiwGenericParamList @ 19 NONAME
-	_ZN10CHnMdSuite26GetAlternativeWidgetNumberEv @ 20 NONAME
-	_ZN10CHnMdSuite9SuiteNameEv @ 21 NONAME
-	_ZN19CHnXmlModelProvider12ReloadModelLEv @ 22 NONAME
-	_ZN19CHnXmlModelProvider4NewLEv @ 23 NONAME
-	_ZN19CHnXmlModelProvider5NewLCEv @ 24 NONAME
-	_ZN19CHnXmlModelProvider9GetModelLERK7TDesC16R15RXmlEngDocument @ 25 NONAME
-	_ZN19CHnXmlModelProviderD0Ev @ 26 NONAME
-	_ZN19CHnXmlModelProviderD1Ev @ 27 NONAME
-	_ZN19CHnXmlModelProviderD2Ev @ 28 NONAME
-	_ZN7HnUtils10ReadFileLCERK7TDesC16 @ 29 NONAME
-	_ZN7HnUtils12LocateFileLCERK7TDesC16 @ 30 NONAME
-	_ZN7HnUtils13SetAttributeLERK14TXmlEngElementR5RBuf8 @ 31 NONAME
-	_ZN7HnUtils13SetAttributeLERK14TXmlEngElementRK6TDesC8R5RBuf8 @ 32 NONAME
-	_ZN7HnUtils15GetColumnTextLCEiRK6TDesC85TChar @ 33 NONAME
-	_ZN7HnUtils24GetColumnTextColumnCountERK6TDesC85TChar @ 34 NONAME
-	_ZN7HnUtils27LocateNearestLanguageFileLCERK7TDesC16 @ 35 NONAME
-	_ZN7HnUtils9ReadFileLERK7TDesC16 @ 36 NONAME
-	_ZN9CHnFilter10SetSuiteIdEi @ 37 NONAME
-	_ZN9CHnFilter13AppendItemIdLEP9CHnItemId @ 38 NONAME
-	_ZN9CHnFilter13SetSuiteNameLERK7TDesC16 @ 39 NONAME
-	_ZN9CHnFilter17SetEvaluateSuiteLEi @ 40 NONAME
-	_ZN9CHnFilter4NewLEv @ 41 NONAME
-	_ZN9CHnFilter5NewLCEv @ 42 NONAME
-	_ZN9CHnItemId4NewLERK7TDesC16S2_ @ 43 NONAME
-	_ZN9CHnItemId5NewLCERK7TDesC16S2_ @ 44 NONAME
-	_ZN9CHnItemId7UpdateLERKS_ @ 45 NONAME
-	_ZN9CHnMdItem3UidEv @ 46 NONAME
-	_ZN9CHnMdItem4TypeEv @ 47 NONAME
-	_ZN9CHnMdItem8TemplateEv @ 48 NONAME
-	_ZNK10CHnMdModel18IsForegroundQueuedEv @ 49 NONAME
-	_ZNK9CHnItemId2IdEv @ 50 NONAME
-	_ZNK9CHnItemId7CompareERKS_ @ 51 NONAME
-	_ZNK9CHnItemId9SuiteNameEv @ 52 NONAME
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project hnmetadatamodel
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS 
-../inc/hnmdmodel.h              |../../../inc/hnmdmodel.h
-../inc/hnfilter.h               |../../../inc/hnfilter.h 
-../inc/hnitemid.h               |../../../inc/hnitemid.h
-../inc/hnutils.h                |../../../inc/hnutils.h
-../inc/hnglobals.h              |../../../inc/hnglobals.h
-../inc/hnhelper.inl             |../../../inc/hnhelper.inl
-../inc/hnqueryresultcollector.h |../../../inc/hnqueryresultcollector.h 
-../inc/hnmdsuite.h              |../../../inc/hnmdsuite.h 
-../inc/hnmdvaluebase.h          |../../../inc/hnmdvaluebase.h
-
-PRJ_MMPFILES
-hnmetadatamodel.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnmetadatamodel/group/hnmetadatamodel.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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:  Project definition file for project hierarchy navigator meta data model
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          hnmetadatamodel.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C7
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-
-SOURCE          hnmdaction.cpp
-SOURCE          hnmditem.cpp
-SOURCE          hnmdevent.cpp
-SOURCE          hnmdeventmapping.cpp
-SOURCE          hnmdeventmappingelement.cpp
-SOURCE          hnmdquery.cpp
-SOURCE          hnmdsuite.cpp
-SOURCE          hnmdvaluebase.cpp
-SOURCE          hnmdvalueimage.cpp
-SOURCE          hnmdvaluetext.cpp
-SOURCE          hnmduimapping.cpp
-SOURCE          hnmduimappingelement.cpp
-SOURCE          hnmdmenuitem.cpp
-SOURCE          hnmdmodel.cpp
-SOURCE          hnutils.cpp
-SOURCE          hnmdlocalizationelement.cpp
-SOURCE          hnmdlocalization.cpp
-SOURCE          hnmdqueries.cpp
-SOURCE          hnstringhandler.cpp
-SOURCE          hnfilter.cpp
-SOURCE          hnitemid.cpp
-SOURCE          hnxmlmodelprovider.cpp
-SOURCE          hnmdnotifyrequest.cpp
-SOURCE          hnmdnotifyrequests.cpp 
-SOURCE          hnmdbutton.cpp 
-SOURCE          hnmdtoolbar.cpp
-SOURCE	        hnrepositoryobserver.cpp
-SOURCE          hnmdservicecommand.cpp
-SOURCE 	        hnmdservice.cpp
-SOURCE          hnsimplecondition.cpp
-SOURCE          hncomplexcondition.cpp
-SOURCE          hnconditionfactory.cpp 
-SOURCE          hnsimpleconditionequal.cpp 
-SOURCE          hnsimpleconditiondifferent.cpp 
-SOURCE          hnsimpleconditionsmaller.cpp 
-SOURCE          hnqueryresultcollector.cpp
-SOURCE          hnsimpleconditiongreater.cpp
-SOURCE          hnsimpleconditionhas.cpp
-SOURCE          hnsimpleconditionhasnot.cpp
-SOURCE          hnxmlmodelcache.cpp 
-SOURCE          hnxmlsuitefilesreg.cpp
-SOURCE          hnbitmapidcache.cpp
-
-USERINCLUDE     ../inc
-//USERINCLUDE     ../../../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         estor.lib 
-LIBRARY         euser.lib
-LIBRARY         XmlEngineDOM.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         cone.lib //for CCoeEnv
-LIBRARY         CommonEngine.lib //for String Loader
-LIBRARY         mmextensionmanager.lib
-LIBRARY         liwservicehandler.lib //LIW Framework
-LIBRARY         hnpresentationmodel.lib
-LIBRARY         aknicon.lib
-LIBRARY         XCFW.lib
-LIBRARY         libpthread.lib
-LIBRARY	        aknskins.lib
-LIBRARY	        aknskinsrv.lib
-LIBRARY	        aknswallpaperutils.lib
-LIBRARY         CentralRepository.lib
-LIBRARY	        hnutilities.lib
-LIBRARY         mediaclientimage.lib
-LIBRARY         fbscli.lib
-LIBRARY         egul.lib 
-LIBRARY         cenrepnotifhandler.lib 
-LIBRARY         bitgdi.lib 
-LIBRARY         ws32.lib 
-LIBRARY         gdi.lib
-LIBRARY         sysutil.lib
-    
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnbitmapidcache.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef HNXMLMODELCACHE_H_
-#define HNXMLMODELCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-#include <bautils.h>
-
-
-/**
- * Bitmaps and masks ids cache.
- * 
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnBitmapIdCache ) : public CBase
-    {
-
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnBitmapIdCache();
-    
-    /**
-     * Standard second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    static CHnBitmapIdCache* NewLC();
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * 
-     */
-    static CHnBitmapIdCache* NewL();
-    
-    /**
-     * Adds a new entry into the cache.
-     * @param aKey A key identifying a pair: key - value.
-     * @param aValue A value.
-     * 
-     * @since S60 5.0
-     */
-    TInt AddL( const TDesC8& aKey, TInt aValue );
-    
-    /**
-     * Checks if the cache contains an entry identifies by a given key.
-     * 
-     * @param aSuiteName The name of the suite to be checked.
-     * @return ETrue if a suite of a given name is stored in the cache,
-     *         otherwise - EFalse.
-     *         
-     * @since S60 5.0
-     */
-    TBool ExistsL( const TDesC8& aKey );
-    
-    /**
-     * Gets an integer value by a given name.
-     * 
-     * @param aSuiteName The name corresponding to the xml document to be
-     *                   retrieved from the cache.
-     * @param aDocument The reference to the xml document.
-     * 
-     * @since S60 5.0
-     */
-    void GetL( const TDesC8& aKey, TInt& aValue );
-    
-    /**
-     * Resets the cache - removes all stored xml documents.
-     * 
-     * @since S60 5.0
-     */
-    void Reset();
-    
-    /**
-     * Standard C++ virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnBitmapIdCache();
-
-private:
-    
-    /**
-     * The hash map storing pairs: and an integer value.
-     * 
-     * @since S60 5.0
-     */
-    RHashMap< HBufC8*, TInt > iEntries;
-    
-    };
-
-#endif /*HNXMLMODELCACHE_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hncomplexcondition.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNCOMPLEXCONDITION_H
-#define C_HNCOMPLEXCONDITION_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h>
-
-#include "hnconditioninterface.h"
-
-class CLiwGenericParamList;
-
-/**
- * Complex condition.
- * 
- * This class is designed to support complex conditions in the xml configuration.
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnComplexCondition) : public CHnConditionInterface
-    {
-public:
-
-     
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnComplexCondition* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard C++ Destructor
-     */
-    ~CHnComplexCondition();
-    
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos Position in the list.
-     * @return True if condition of true, otherwise false.
-     */    
-    TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos );  
-    
-protected:
-    
-    /**
-     *  Standard C++ Constructor
-     */
-    CHnComplexCondition();
-
-    /**
-     * Standard symbian second phase constructor.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TDesC8 & aElement );
-       
-    /**
-     * Prepares the condition for processng.
-     * Removes excessive white characters and 
-     * superfluous parentheses
-     * 
-     * @param aConditionString Condition string.
-     */
-    TBool CheckForOrOnTheSameLevelL( TDesC8 & aConditionString );
-    
-protected: // data
-        
-    /**
-     * Logical operation between conditions.
-     */
-    TOperator iOperation;
-    
-    /**
-     * Own - left side of the condition.
-     */
-    CHnConditionInterface* iLeftCondition;
-    
-    /**
-     * Own - right side of the condition.
-     */
-    CHnConditionInterface* iRightCondition;
-    
-    };
-
-#endif // C_HNCOMPLEXCONDITION_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditionfactory.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNCONDITIONFACTORY_H
-#define C_HNCONDITIONFACTORY_H
-
-#include <e32def.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-
-class CHnConditionInterface;
-
-/**
- * Condition factory.
- * 
- * The purpose of this class is the creation of different types of the condition objects.
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(HnConditionFactory)
-    {
-public:
-   
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewL( TXmlEngAttr aElement );
-
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewLC( TXmlEngAttr aElement );
-    
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnConditionInterface* NewLC( TDesC8 & aElement );
-    
-private:
-    
-    /**
-     * Prepares the condition for processng.
-     * Removes excessive white characters and 
-     * superfluous parentheses
-     * 
-     * @param aConditionString Condition string.
-     */
-    static void TrimConditionL( RBuf8 & aConditionString );
- 
-    /**
-     * Check condition's brace integrity.
-     * 
-     * @param aConditionString Condition string.
-     * @return Error code. 
-     */
-    static TInt CheckBraceIntegrityL( TDesC8 & aConditionString );
-    
-    /**
-     * Constructs condition appropriate to its properties.
-     * 
-     * @param aConditionString Condition string.
-     * @return A pointer to the condition's interface.
-     */
-    static CHnConditionInterface* ConstructConditionL( TDesC8 & aConditionString );
-
-    };
-
-#endif // C_HNCONDITIONFACTORY_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnconditioninterface.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNCONDITIONINTERFACE_H
-#define C_HNCONDITIONINTERFACE_H
-
-#include <e32base.h>
-
-class CLiwGenericParamList;
-
-enum TOperator
-    {
-        EOpeningBrace = '(',
-        EClosingBrace = ')', 
-        ELogicalAnd = '&',  
-        ELogicalOr = '|',  
-        ESpace = ' '
-    };
-
-/**
- * Condition Interface
- * 
- * This class is an interface for conditions.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnConditionInterface ) : public CBase
-    {
-    
-public:
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos position the list.
-     * @return True if condition is true, otherwise false.
-     */    
-    virtual TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos  = 0 ) = 0;
-    
-    };
-
-#endif // C_HNCONDITIONINTERFACE_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnfilter.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef C_HNFILTER_H
-#define C_HNFILTER_H
-
-
-#include <e32base.h>
-
-class CHnItemId;
-
-/**
- * Evaluation Filter
- * 
- * This class is a filter which is used during evaluation.
- * Due to the content of this filter the appropriate actions are taken.  
- *
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnFilter ) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @return Filer object.
-     */
-    IMPORT_C static CHnFilter* NewL();
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @return Filter object.
-     */
-    IMPORT_C static CHnFilter* NewLC();
-    
-    /**
-     * standard destructor
-     */
-    ~CHnFilter();
-
-public:    
-
-    /**
-     * Returns iGenre
-     *
-     * @since S60 v5.0
-     * @return Suite's name.
-     */
-    const TDesC& SuiteName() const;
-    
-    /**
-     * Checks if has item ids.
-     *
-     * @since S60 v5.0
-     * @return True if a filter has item ids.
-     */    
-    TBool HasItemIds() const;
-
-    /**
-     * Checks if has genre
-     *
-     * @since S60 v5.0
-     * @return True if suite has name.
-     */    
-    TBool HasSuiteName() const;
-    
-    /**
-     * Resets iterator.
-     *
-     * @since S60 v5.0
-     */    
-    void ResetIterator();
-    
-    /**
-     * Gets next item id.
-     *
-     * @since S60 v5.0
-     * @return Next item id.
-     */    
-    const CHnItemId* GetNextItemId() const;
-    
-    /**
-     * Checks if has next item id.
-     *
-     * @since S60 v5.0
-     * @return True if there is next item id.
-     */    
-    TBool HasNextItemId();
-
-    /**
-     * Resets genre.
-     *
-     * @since S60 v5.0
-     */    
-    void ResetSuiteName();
-    
-    /**
-     * Resets item ids
-     *
-     * @since S60 v5.0
-     */    
-    void ResetItemIds();
-    
-    /**
-     * Set genre.
-     *
-     * @since S60 v5.0
-     * @param aGenre Suite's name.
-     */    
-    IMPORT_C void SetSuiteNameL( const TDesC& aGenre );
-    
-    /**
-     * Append item id. 
-     * NOTE: This class takes the ownership of the given CHnItemId.
-     *
-     * @since S60 v5.0
-     * @param iItemId Item id.
-     */    
-    IMPORT_C void AppendItemIdL( CHnItemId* iItemId );
-    
-    /**
-     * Marks suites for evaluation.
-     *
-     * @since S60 v5.0
-     * @param aEvaluate ValueL of the flag
-     */    
-    IMPORT_C void SetEvaluateSuiteL( TBool aEvaluate );
-    
-    /**
-     * Checks if the suite(s) should be evalauted.
-     *
-     * @since S60 v5.0
-     */    
-    TBool IsEvaluateSuite();
-    
-    /**
-     * Set suite id.
-     *
-     * @since S60 v5.0
-     * @param aSuiteId Suite's id.
-     */    
-    IMPORT_C void SetSuiteId( const TInt aSuiteId );
-    
-    /**
-     * Returns iSuiteId
-     *
-     * @since S60 v5.0
-     * @return Suite's id.
-     */
-    TInt SuiteId() const;
-    
-    /**
-     * Checks if has suite id
-     *
-     * @since S60 v5.0
-     * @return True if suite has id.
-     */ 
-    TBool HasSuiteId() const;
-
-private:
-
-    /**
-     * standard constructor
-     */
-    CHnFilter();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL();
-    
-
-private: // data
-        
-    /**
-     * Suite's genre/name.
-     */
-    RBuf iGenre;
-    
-    /**
-     * Items' ids.
-     */
-    RPointerArray< CHnItemId > iItemIds;
-    
-    /**
-     * Flag determines if the suites should also be evaluated.
-     * If set to false, just items are evaluated.
-     * By default it is set to true.
-     */
-    TBool iEvaluateSuite;
-    
-    /**
-     * Current index of item id -> for iterator support
-     */
-    mutable TInt iIter;
-    
-    /**
-     * Suite Id
-     */
-    TInt iSuiteId;
-    
-    };
-
-#endif //C_HNFILTER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnglobals.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,621 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-
-#ifndef C_HNGLOBALS_H
-#define C_HNGLOBALS_H
-
-#include <f32file.h>
-
-/**
- * Default size for svg icons.
- */
-const TInt KDefaultSvgIconSize = 60;
-
-/**
- * Maximum size for icons loaded from files containing
- * raster graphics, such as png, jpg. This does not
- * apply to MIF and MBM files.
- */
-const TInt KMaxIconBitmapSize = 240;
-
-/**
- * Maximun integer character length
- */
-const TInt KMaxLength = 12;
-
-/**
- * Single character length.
- */
-const TInt KSingleChar( 1 );
-
-/**
- * Default datagranularity.
- */
-const TInt KDefaultGranularity( 8 );
-
-/**
- * Max digit number.
- */
-const TInt KMaxDigitNumber( 10 );
-
-/**
- * A number of cached suites.
- */
-const TInt KXmlModelCacheMaxLength( 10 );
-
-/**
- * Used to check if root suite loaded for display.
- */
-const TInt KModelCountForRoot( 1 );
-
-/**
- * KErrNoMemory code from MenuService
- */
-const TInt KSErrNoMemory = 1007;
-/**
- * Logical relations namespace
- */
-namespace HnLogicalRelations
-    {
-    /**
-     * Greater.
-     */
-    _LIT8( KLogicalGreater8,        ">"  );
-
-    /**
-     * Less.
-     */
-    _LIT8( KLogicalLess8,           "<"  );
-
-    /**
-     * Equals.
-     */
-    _LIT8( KLogicalEqual8,          "="  );
-
-    /**
-     * Different.
-     */
-    _LIT8( KLogicalDifferent8,      "!="  );
-
-    /**
-     * And.
-     */
-    _LIT8( KLogicalAnd8,            "&"  );
-
-    /**
-     * Or.
-     */
-    _LIT8( KLogicalOr8,             "|"  );
-
-    /**
-     * Nas.
-     */
-    _LIT8( KLogicalHas8,            "HAS" );
-
-    /**
-     * Has not.
-     */
-	_LIT8( KLogicalHasNot8,         "HASNOT" );
-    }
-
-/**
- * Event namespace
- */
-namespace HnEvent
-    {
-    /**
-     * Event data.
-     */
-    _LIT8( KEventArgNamespace8,     "event_data");
-
-    /**
-     * Dropped before custom id.
-     */
-    _LIT8( KDroppedBefore8,         "dropped_before_custom_id" );
-
-    /**
-     * Dragged custom id.
-     */
-    _LIT8( KDragged8,               "dragged_custom_id" );
-
-    /**
-     * Highlight offset.
-     */
-    _LIT8( KHighlightOffset8,       "highlight_offset" );
-
-    }
-
-
-_LIT8( KMm8,                        "mm" );
-_LIT8( KContentElementName8,        "content" );
-_LIT8( KSuiteElementName8,          "suite" );
-_LIT8( KItemElementName8,           "item" );
-_LIT8( KActionElementName8,         "action" );
-_LIT8( KEventElementName8,          "event" );
-_LIT8( KMenuItemElementName8,       "menuitem" );
-_LIT8( KMenuItemSpecificElementName8,       "menuitem_specific" );
-_LIT8( KMenuItemActionElementName8,       "menuitem_action" );
-_LIT8( KLocalizationElementName8,   "localization" );
-_LIT8( KNotifyRequestElementName8,  "notify_request" );
-_LIT8( KMenuButton8,				"button" );
-_LIT8( KMiddleSoftKey8,             "msk" );
-_LIT8( KMenuToolbar8,				"toolbar" );
-
-_LIT8 ( KName8,                     "name" );
-
-_LIT8( KQueryElementItem8,          "query" );
-_LIT8( KConstructorElementItem8 ,   "constructor" );
-_LIT8( KCommandElementItem8 ,       "command" );
-_LIT8( KOutputElementItem8 ,        "output" );
-_LIT8( KImageElementItem8,          "image" );
-_LIT8( KTextElementItem8,           "text" );
-_LIT8( KIdAttrName8,                "id" );
-_LIT8( KFolderAttrName8,            "folder" );
-
-
-_LIT8( KCommandModeAsync8,          "async" );
-_LIT8( KCommandNameAttr8,           "name" );
-_LIT8( KCommandModeAttr8,           "mode" );
-
-_LIT8( KContentTypeElementItem8,    "contenttype" );
-_LIT8( KFilterElementItem8,         "filter" );
-_LIT8( KKeyElementItem8,            "key" );
-
-_LIT8( 	KKeyAttrName8,              "key" );
-_LIT8( 	KTypeAttrName8,             "type" );
-_LIT8( 	KValueAttrName8,            "value" );
-_LIT8( 	KEventAttrName8,            "event" );
-_LIT8( 	KPositionAttrName8,         "position" );
-_LIT8( 	KMenuConditionAttrName8,    "condition" );
-_LIT8(  KIndexAttrName8, 			"index" );
-_LIT8( 	KMenuDimmAttrName8,    	    "dimm" );
-_LIT8( 	KGenreAttrName8,            "genre" );
-_LIT8( 	KTitleAttrName8,            "title" );
-_LIT8(  KEmptyTextAttrName8,        "emptytext" );
-_LIT8( 	KNameAttrName8,             "name" );
-_LIT8(  KWidgetAttrName8,           "widget" );
-_LIT8( 	KCountAttrName8,            "count" );
-_LIT8( 	KTemplateAttrName8,         "template" );
-_LIT8(  KTemplateEmpty8,            "empty" );
-_LIT8( 	KWidgetTypeAttrName8,       "type" );
-_LIT8( 	KItemIdAttrName8,           "id" );
-_LIT8( 	KNameSpaceAttrName8,        "namespace" );
-_LIT8( 	KServiceAttrName8,          "service" );
-_LIT8( 	KAliasAttrName8,            "alias" );
-_LIT8(  KParams8,                   "params");
-
-_LIT8( KEditModeItem8,              "edit_mode");
-_LIT8( KInterfaceAttrName8,         "interface" );
-
-_LIT8 ( KKeyTypeString,             "string" );
-_LIT8 ( KKeyTypeString8,            "string8" );
-_LIT8 ( KKeyTypeString16,           "string16" );
-_LIT8 ( KKeyTypeInteger,            "integer" );
-_LIT8 ( KKeyTypeInteger64,          "integer64" );
-_LIT8 ( KKeyTypeUInteger,           "uinteger" );
-_LIT8 ( KKeyTypeUid    ,            "uid" );
-_LIT8 ( KKeyTypeBoolean,            "boolean" );
-_LIT8 ( KKeyTypeMap,                "map" );
-_LIT8 ( KKeyTypeList,               "list" );
-_LIT8 ( KIdsList,                   "item_ids" );
-
-_LIT8 ( KAction,                    "action");
-_LIT8 ( KActionRemove,              "remove");
-_LIT8 ( KIdParam,	  				"id" );
-_LIT8 ( KMenuApplication8,          "menu:application" );
-_LIT  ( KMenuApplication,           "menu:application" );
-_LIT8 ( KMenuParentFolder8,         "custom:parent_folder" );
-_LIT  ( KMenuParentFolder,          "custom:parent_folder" );
-_LIT8 ( KMenuFolder8,               "menu:folder" );
-_LIT  ( KMenuFolder,                "menu:folder" );
-_LIT8 ( KMenuSuite8,                "menu:suite" );
-_LIT  ( KMenuSuite,                 "menu:suite" );
-_LIT8 ( KId8,                       "id" );
-_LIT8 ( KUid8,                      "uid" );
-_LIT8 ( KMcsTitleName8,             "title_name" );
-_LIT8 ( KMcsAppGroupName8,          "applicationgroup_name" );
-_LIT8 ( KMcsShortName8,             "short_name" );
-_LIT8 ( KMcsLongName8,              "long_name" );
-_LIT8 ( KMatrixMenuData,  			"matrixmenudata" );
-_LIT8 ( KServiceContentName,  		"ContentName" );
-_LIT8 ( KType8,  		            "type" );
-_LIT8( KIdPath8, 					"ReturnValue:[$index]/id" );
-_LIT8( KTypePath8, 					"ReturnValue:[$index]/type" );
-_LIT8( KTitleNamePath8, 			"ReturnValue:[$index]/title_name" );
-_LIT8( KAppGroupNamePath8,          "ReturnValue:[$index]/applicationgroup_name" );
-_LIT8( KLongNamePath8, 		    	"ReturnValue:[$index]/long_name" );
-_LIT8( KShortNamePath8, 			"ReturnValue:[$index]/short_name" );
-_LIT8( KDeleteLockedPath8, 			"ReturnValue:[$index]/delete_locked" );
-_LIT8( KParentIdPath8,                  "ReturnValue:[$index]/parent_id" );
-_LIT8( KChildrenCountPath8, 			"ReturnValue/[$index]/children_count" );
-_LIT8( KMcsTemplateTypePath8, 			"ReturnValue/[$index]/template" );
-_LIT8( KMcsWidgetTypePath8, 			"ReturnValue/[$index]/widget_type" );
-
-_LIT8( KWidgetTypePath8,            "params:widget_type" );
-_LIT8( KTemplatePath8,              "params:template" );
-_LIT( KTemplatePath,                "params:template" );
-_LIT( KWidgetTypePath,              "params:widget_type" );
-_LIT8( KReturnValue8, 				"ReturnValue" );
-_LIT8( KErrorCode8, 				"ErrorCode" );
-_LIT8( KParentFolderId8,            "parent_folder_id" );
-_LIT8( KTmpParentFolderId8,         "tmp_parent_folder_id" );
-
-_LIT( KCommandDeleteDialog,         "MMDeleteDialogs" );
-
-_LIT8 ( KSourceAttrName8,           "source" );
-
-_LIT(	KColon,                     ":" );
-_LIT8(  KColon8,                    ":" );
-_LIT(   KBslash,                    "\\" );
-_LIT(   KSlash,                     "/" );
-_LIT8(  KSlash8,                    "/" );
-_LIT(   KOpenBracket,               "(" );
-_LIT(   KCloseBracket,              ")" );
-_LIT8(  KOpenSquareBracket,         "[" );
-_LIT8(  KCloseSquareBracket,        "]" );
-_LIT8(  KHexPrefix8,                "0x" );
-_LIT(   KHexPrefix16,               "0x" );
-_LIT(   KPipe,                      "|" );
-_LIT(	KBlank,						"");
-
-_LIT(	KResourceSeparator,         " = " );
-_LIT(	KComma,                     "," );
-_LIT8(	KComma8,                     "," );
-
-_LIT(	KRsg,                       ".rsg");
-_LIT(	KMbg,                       ".mbg");
-_LIT(	KRscPath,                   ":\\resource\\apps\\");
-
-_LIT(   KPrefMm,                    "mm://" );
-_LIT8(  KRootWithPref,              "mm://root" );
-_LIT8(  KSetFocusWithPref,              "mm://!setfocus" );
-_LIT8(   KCRepTimeFormat, "%S,%04d%02d%02d:%02d%02d%02d.%06d" );
-
-// images
-_LIT8(  KSkinIdMajor8,              "skinid_major" );
-_LIT8(  KSkinIdMinor8,              "skinid_minor" );
-_LIT8(  KBitmapId8,                 "bitmap_id" );
-_LIT8(  KMaskId8,                   "mask_id" );
-_LIT8(  KAppUid8,                   "application_uid" );
-_LIT8(  KBitmap8,                   "bitmap" );
-_LIT8(  KMask8,                     "mask" );
-_LIT8(  KMifFile8,                  "mif_file" );
-
-_LIT(  KSvgFileExtension,         ".svg" );
-
-// texts
-_LIT8( KResourceAttrName8,          "resource");
-_LIT8( KFile8,                      "file" );
-
-// services
-
-_LIT8( 	KServiceMultimediaMenu,     "MultimediaMenu");
-_LIT8( 	KServiceOpenSuite,          "OpenSuite");
-_LIT8( 	KServiceStartEditMode,      "StartEditMode");
-_LIT8(  KServiceStopEditMode,       "StopEditMode");
-_LIT8(  KServiceSwitchWidget,       "SwitchWidget");
-_LIT8( 	KServiceBack,               "Back");
-_LIT8( 	KSetFocus,                  "SetFocus");
-_LIT8(  KMoveFocusBeforeDelete,     "MoveFocusBeforeDelete");
-_LIT8( 	KRefreshIcons,              "RefreshIcons" );
-_LIT8(  KEvaluateMdModel,           "EvaluateMdModel" );
-_LIT8(  KDisableActionsForItem,     "DisableActionsForItem" );
-
-_LIT( 	KSuiteName,                 "suite_name" );
-_LIT8(  KSuiteName8, 				"suite_name" );
-
-//
-_LIT8 ( KHnRequest, "KHnRequest" );
-// widget types
-_LIT8 ( KSuite8,                    "suite" );
-_LIT  ( KFolderSuite,               "foldersuite" );
-_LIT8 ( KWidgetType8,               "type" );
-_LIT8 ( KAllowedTypes8,             "allowed_types" );
-_LIT8 ( KWidgetTypeList8,           "list" );
-_LIT8 ( KWidgetTypeCoverFlow8,      "coverflow" );
-_LIT8 ( KWidgetTypeGrid8,           "grid" );
-
-_LIT( KWidgetTypeList,              "list" );
-_LIT( KWidgetTypeCoverFlow,         "coverflow" );
-_LIT( KWidgetTypeGrid,              "grid" );
-
-_LIT(  KStringFalse,                "FALSE" );
-_LIT(  KStringTrue,                 "TRUE" );
-
-_LIT8(  KStringFalse8,              "FALSE" );
-_LIT8(  KStringTrue8,               "TRUE" );
-
-_LIT(	KSuitesDir,					"import\\suites\\" );
-_LIT(	KXmlExt, 					".xml" );
-_LIT(  	Kbackslash, 				"\\" );
-
-_LIT(	KSuiteDefFileName, 			"suite.xml" );
-_LIT( 	KTitle, 					"mul_title" );
-_LIT8( 	KTitle8, 					"mul_title" );
-_LIT8(  KTemplate8,                 "mul_template" );
-
-_LIT8(	KTitleName8, 				"suite" );
-_LIT8(	KItemName8, 				"item" );
-_LIT8(	KGenreName8, 				"genre" );
-_LIT8(	KLocalizationName8, 		"localization" );
-
-_LIT8(	KEventName8, 				"event" );
-_LIT8(	KMenuItemName8, 			"menuitem" );
-_LIT(	KMenuItemName,	 			"menuitem" );
-_LIT8(	KMenuItemSpecificName8, 			"menuitem_specific" );
-_LIT(	KMenuItemSpecificName,	 			"menuitem_specific" );
-
-_LIT( 	KRoot, 						"root" );
-_LIT8(   KRoot8,                    "root" );
-_LIT( 	KExtension, 				".r" ); // rsc, r01, r02, etc.
-_LIT( 	KExtensionRsc, 				".rsc" );
-
-
-_LIT8(	KHexStart8, 				"0x");
-_LIT( 	KDrive ,					"C:");
-_LIT( 	KEntriesSuffix, 			"suites\\");
-
-_LIT8(  KMoveLocked8,               "move_locked" );
-_LIT8(  KRemoveLocked8,             "remove_locked" );
-_LIT8(  KRunning8,                  "running" );
-_LIT8(  KDrmProtection8,            "drm_protection" );
-_LIT8(  KItemType8,                 "type" );
-_LIT8(  KCustomId8,                 "custom_id" );
-_LIT8(  KItemCustomId8,             "item_custom_id" );
-_LIT8(  KIndexShift8,               "index_shift" );
-_LIT8(  KSuiteCustomId8,            "suite_custom_id" );
-_LIT8(  KItemTypeUnknown8,          "unknown" );
-_LIT8(  KItemTypeFolder8,           "folder" );
-_LIT8(  KItemUid8,                  "uid" );
-
-_LIT8(  KMenuDrmUnknown8,           "unknown" );
-_LIT(   KMenuDrmRightsExpired,      "expired" );
-
-
-//From hnmodel.h
-// model events
-_LIT( 	KNewSuiteLoadedMdEvent, 	"new_suite_loaded");
-_LIT( 	KOpenSuiteMdEvent,      	"open_suite" );
-_LIT(   KReevaluateMdEvent,         "reevaluate_model" );
-_LIT(   KSwitchWidgetMdEvent,       "switch_widget" );
-_LIT(   KStartEditModeMdEvent,      "start_edit_mode" );
-_LIT(   KStopEditModeMdEvent,       "stop_edit_mode" );
-_LIT(   KAppGainForeground,         "gain_foreground" );
-_LIT(   KAppGainBackground,         "gain_background" );
-_LIT(   KSetFocusEvent,             "set_focus" );
-_LIT(   KRefreshUiMdEvent,          "refresh_ui" );
-_LIT(   KRefreshToolbarMdEvent,     "refresh_toolbar" );
-_LIT( 	KBackMdEvent,           	"back" );
-_LIT(   KResetToRoot,               "reset_to_root");
-
-// model event-related params
-
-_LIT8( KParentId8,                  "parent_id" );
-_LIT8( KDefaultParentId8,           "1" );
-_LIT( KDefaultParentId,             "1" );
-_LIT8( KDefaultCount8,              "1" );
-
-_LIT(  KMatrixPanic, "Matrix Error" );
-
-// debug strings
-#ifdef _DEBUG
-
-_LIT( 	KEventMapLogFile, 			"c:\\logs\\menu\\event_ids.txt" );
-_LIT( 	KSuiteLoadingLogFile, 		"c:\\logs\\menu" );
-
-#endif// _DEBUG
-
-// info notes for notifying lack of configuration files
-_LIT( KDebugNoteDirNotFound,
-	"Directory containing suite configuration not found!" );
-_LIT( KDebugNoteFileNotFound,
-	"File containing suite configuration not found!" );
-_LIT( KDebugNoteOtherError,
-	"Loading suite configuration returned error: %d" );
-
-_LIT8( KStar8, "*" );
-
-
-_LIT( 	KKeyEmpty,                  "key:empty" );
-_LIT( 	KKeySelect,                 "key:select" );
-_LIT( 	KKeySelect2,                "key:select2" );
-_LIT( 	KKeySelect3,                "key:select3" );
-_LIT( 	KKeyCall,                   "key:call" );
-_LIT( 	KKeyClear,                  "key:clear" );
-_LIT(   KKeyMove,                   "key:move" );
-_LIT(   KKeyMoveInto,               "key:move_into" );
-_LIT( 	KOnSuiteLoad,               "suite:load" );
-_LIT(   KOnSuiteUnLoad,             "suite:unload" );
-_LIT( 	KOnFocusGain,               "item:focus" );
-_LIT(   KOnFocusLost,               "item:unfocus" );
-
-_LIT8(  KIndexWithBrackets8,        "[$index]");
-_LIT8(  KIndex8,                    "$index" );
-_LIT(   KIndex,                     "$index" );
-_LIT8(  KCount,                     "/[$count]" );
-
-
-/** EActiveSpaceActionKeyEmpty */
-const TInt KKeyIdEmpty   		=    0;
-
-/** EActiveSpaceActionKeySelect */
-const TInt KKeyIdSelect  		=    1;
-
-/** EActiveSpaceActionKeySelect2 */
-const TInt KKeyIdSelect2 		=    2;
-
-/** EActiveSpaceActionKeySelect3 */
-const TInt KKeyIdSelect3 		=    3;
-
-/** EActiveSpaceActionKeyCall */
-const TInt KKeyIdCall    		=    4;
-
-const TInt KKeyIdClear          =    6;
-
-const TInt KIdSuiteLoad         =    7;
-
-const TInt KIdSuiteUnLoad       =    8;
-
-const TInt KIdFocusGain         =    9;
-
-const TInt KIdFocusLost         =   10;
-
-const TInt KKeyIdMove           =   11;
-
-const TInt KKeyIdMoveInto       =   12;
-
-const TInt KKeyIdMoveHighlight  =   13;
-
-
-const TInt KCustomKeyOffset     =   7000;
-
-// for XML model provider
-
-const TInt KHnDefaultGranularity = 5;
-
-/** Central Repository Uid for Matrix Menu */
-static const TUid KMatrixRepositoryUid = { 0x20012474 };
-
-/**
- * Following characters are not allowed in the names
- */
-const TUint KNotAllowedChars[] = {'<', '>', '\\', '/', '"', '|', ':', '*', '?'};
-
-/** Central Repository Uid for Appshell (needed to detect folder change) */
-static const TUid KCRUidMenu = {0x101f8847};
-
-const TInt KRootId = 1 ;
-
-const TUint32 KMenuShowFolder = 0x0000000c;
-
-const TInt KTimeStampBufferLength = 25;
-
-const TInt KUidStringLength = 10;
-
-const TInt KTimeStampCutOff = 5;
-
-/**
- * Order in which drives are searched for suites.
- */
-const TInt KDriveSearchOrder[] = { EDriveY, EDriveX, EDriveW, EDriveV, EDriveU,
-		EDriveT, EDriveS, EDriveR, EDriveQ, EDriveP, EDriveO, EDriveN, EDriveM,
-		EDriveL, EDriveK, EDriveJ, EDriveI, EDriveH, EDriveG, EDriveF, EDriveE,
-		EDriveD, EDriveC, EDriveB, EDriveA,	EDriveZ	};
-
-/**
- * Type of the widget which displays Suite data
- *
- * @since S60 v5.0
- */
-enum THnSuiteWidgetType
-    {
-    EUnspecified = 0x00,
-    EGridWidget = 0x01,
-    EListWidget = 0x02,
-    ECoverFlowWidget = 0x04,
-    EChangeWidget = 0x05
-    };
-
-/**
- * Service Mode
- */
-enum TServiceMode
-    {
-    EServiceModeUndefined = 0,
-    EServiceModeSynchronous,
-    EServiceModeAsynchronous
-    };
-
-/**
- * Image source
- */
-enum TImageSource
-    {
-    EImageSourceUndefined = 0,
-    EImageSourceFile,
-    EImageSourceResource,
-    EImageSourceApplicationUid,
-    EImageSourceLiw
-    };
-
-/**
- * Custom item ids.
- */
-enum TCustomId
-	{
-	ECustomIdFirstItem = -2,
-	ECustomIdLastItem = -3
-	};
-
-/**
- * Suite's exit mode
- */
-enum TExitMode
-    {
-    EExitModeNormal = 0,
-    EExitModeHide
-    };
-
-/**
- * Type of change in items number
- */
-enum TItemsChangeType {
-	EItemsAdded = 0,
-	EItemsRemoved
-};
-
-_LIT8( KExitModeParams,  "params:exit" );
-_LIT8( KActionParams,  "params:action" );
-_LIT(  KExitModeHide,    "hide" );
-_LIT(  KActionExit,    "exit" );
-
-/*
- * MCS
- */
-_LIT8(KMCSDataSourceInterface8,   "IDataSource");
-_LIT8(KMCSMenuContentInterface8,  "IMenuContent");
-_LIT8(KMCSService8,               "Service.MenuContent");
-// Search and Result Types
-_LIT8(KRecursiveSearch8,          "recursive_search");
-_LIT8(KFlatResult8,               "flat_result");
-_LIT8(KParentOnly8,               "parent_only");
-_LIT8(KIncludeParent8,            "include_parent");
-// GetList Parameters
-_LIT8(KInData8,                   "InData");
-_LIT8(KFilter8,                   "Filter");
-// Command Names
-_LIT8(KCmdAdd8,                   "Add");
-_LIT8(KCmdDelete8,                "Delete");
-_LIT8(KCmdExecuteAction8,         "ExecuteAction");
-_LIT8(KCmdGetList8,               "GetList");
-_LIT8(KCmdOrganize8,              "Organize");
-// Flags
-_LIT8(KDeleteLocked8,             "delete_locked");
-_LIT8(KHidden8,                   "hidden");
-_LIT8(KMissing8,                  "missing");
-// Organize Parameters
-_LIT8(KFolderId8,                 "folder_id");
-_LIT8(KBeforeItemId8,             "before_item_id");
-
-_LIT8( KUriHighlight,             "uri_highlight" );
-_LIT8( KParamsUriHighlight,       "params:uri_highlight" );
-
-_LIT8( KUriHighlightSuite,        "uri_highlight_suite" );
-_LIT8( KParamsUriHighlightSuite,  "params:uri_highlight_suite" );
-
-#endif // C_HNGLOBALS_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnhelper.inl	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNHELPER_H
-#define HNHELPER_H
-
-#include <e32hashtab.h>
-
-/**
- * Creates hash.
- * 
- * @param aBuf Descriptor.
- * @return Hash.
- */
-inline TUint32 HBuf16Hash( HBufC16* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-    
-/**
- * Creates hash.
- * 
- * @param aBuf Descriptor.
- * @return Hash.
- */
-inline TUint32 TDesC16Hash( const TDesC16* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-
-/**
- * Checks for indentity.
- * 
- * @param aL Descriptor.
- * @param aR Descriptor.
- * @return Bool.
- */
-inline TBool HBuf16Ident( HBufC16* const & aL, HBufC16* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-/**
- * Checks for indentity.
- * 
- * @param aL Descriptor.
- * @param aR Descriptor.
- * @return Bool.
- */
-inline TBool TDesC16Ident( const TDesC16* const & aL, const TDesC16* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-/**
- * Destroys both key and value object of a hashmap.
- */
-template <class TKey, class TValue>
-void DestroyMapKeyAndValue( RHashMap< TKey*, TValue* > & aHashMap )
-	{
-	THashMapIter< TKey*, TValue* > iter( aHashMap );
-	while ( iter.NextKey() )
-		{
-		delete *(iter.CurrentKey());
-		delete *(iter.CurrentValue());
-		}
-	}
-
-/**
- * Destroys just value object of a hashmap.
- */
-template <class TKey, class TValue>
-void DestroyMapValue( RHashMap< TKey*, TValue* > & aHashMap )
-	{
-	THashMapIter< TKey*, TValue* > iter( aHashMap );
-	while ( iter.NextKey() )
-		{
-		delete *(iter.CurrentValue());
-		}
-	}
-
-#endif /* HNHELPER_H */
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnitemid.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HN_ITEM_FILTER_H
-#define C_HN_ITEM_FILTER_H
-
-
-#include <e32base.h>
-#include <s32file.h>
-#include <s32mem.h>
-
-
-/**
- * Item Id.
- * 
- * This class represtnets the id of the item.
- * It comprises a file name in which the item was defined
- * and the numerical identifier. 
- *  
- * @lib hnmetadatamodel
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnItemId) :
-        public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aFile File name.
-     * @param aID Item's numerical identifier.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemId* NewL( const TDesC& aFile,
-        const TDesC& aID );
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aFile File name.
-     * @param aID Item's numerical identifier.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemId* NewLC(const TDesC& aFile,
-        const TDesC& aID );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aItemId Item id.
-     * @return Fully constructed object.
-     */
-    IMPORT_C void UpdateL(const CHnItemId & aItemId );
-    
-    /**
-     * Default destructor
-     */
-    ~CHnItemId();
-
-    /**
-     * Get suite name.
-     * 
-     * @return Suite's name.
-     */
-    IMPORT_C const TDesC& SuiteName() const;
-
-    /**
-     * Returns Id.
-     *
-     * @return Textual identifier.
-     */
-    IMPORT_C const TDesC& Id() const;
-
-    /**
-     * Compares fileName to filter.
-     *
-     * @param aItemId Item id.
-     * @return True if aItemId is equal to current item id (this).
-     */
-    IMPORT_C TBool Compare( const CHnItemId& aItemId ) const;
-
-private:
-
-    /**
-     * default constructor
-     */
-    CHnItemId();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     * 
-    * @param aFile File name.
-    * @param aID Textual identifier of an item.
-     */
-    void ConstructL( const TDesC& aFile, const TDesC& aID );
-
-private: // data
-
-    /**
-     * Own - Filename.
-     */
-    RBuf iSuiteName;
-
-    /**
-     * Own - Id.
-     */
-    RBuf iId;
-
-    };
-
-#endif //C_HN_ITEM_FILTER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdaction.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNMDACTION_H
-#define C_HNMDACTION_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-class CLiwGenericParamList;
-class CLiwDefaultMap;
-class TLiwVariant;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnActionModel;
-class CHnMdService;
-class CHnConditionInterface;
-
-/**
- * Action.
- * 
- * This is the class that represents the action. Actions are used
- * to invoke different functions or methods from services, plugins
- * or internally defined in the Matrix Menu.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdAction) : public CBase
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdAction* NewL( TXmlEngElement aElement );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdAction* NewLC( TXmlEngElement aElement );
-
-    /**
-     * standard destructor
-     */
-    virtual ~CHnMdAction();
-      
-    /**
-     * Evaluates action model based on the instance of meta data action.
-     *
-     * @since S60 5.0
-     * @param aActionModel Visual model af an action.
-     * @param aQueriesResultsList Query results.
-     * @param aPos Position in the query.
-     * @return Error code.
-     */    
-    TInt EvaluateL( CHnActionModel* aActionModel,
-            const CLiwGenericParamList& aQueriesResultsList, 
-            TInt aPos = 0);
-    /**
-     * Checks if the menu item is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of the CLiwGenericParamList object.
-     * @param aPos Position in the query.
-     * @return True if valid, otherwise false.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, 
-            TInt aPos = 0 );
-    
-private:
-
-    /**
-     * Default constructor.
-     */
-    CHnMdAction();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-  
-    /**
-     * Sets interface.
-     * @param aAttr Xml attribute.
-     */  
-    void SetConditionL( TXmlEngAttr aAttr );
-  
-    
-private: // data
-
-    /**
-     * Own - Condition.
-     */
-    CHnConditionInterface* iCondition;
-     
-    /**
-     * Own.
-     */
-    CHnMdService* iService;
-
-    };
-
-#endif // C_HNMMACTION_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdbutton.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef HNMDBUTTON_H_
-#define HNMDBUTTON_H_
-
-#include <e32base.h>
-
-struct THnMdCommonPointers;
-class CHnCondition;
-class CLiwGenericParamList;
-class CGulIcon;
-class CHnMdValueImage;
-class CHnMdValueText;
-class TXmlEngElement;
-class CHnConditionInterface;
-class CHnAttributeBase;
-
-/**
- * Toolbar button.
- * 
- * This class represents the toolbar button.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdButton ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-    static CHnMdButton* NewLC( TXmlEngElement aElement,
-           THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     */
-   ~CHnMdButton( );
-       
-    /**
-     * Checks if the button should be added.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of a CLiwGenericParamList.
-     * @param aPos Position of the record in the above results.
-     * @return True if valid.
-     */
-    TBool ValidateToAddL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos = 0 );
-    
-    /**
-     * Checks if the button should be added.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results in the form of a CLiwGenericParamList.
-     * @param aPos Position of the record in the above results.
-     * @return True if valid.
-     */
-    TBool ValidateToDimmL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos = 0 );
-       
-    /**
-     * Gets the id for event generated by this button.
-     *
-     * @return Event Id.
-     */
-    TInt GetEventId() const;
-       
-    /**
-     * Gets the index of button.
-     *
-     * @return Index.
-     */
-    TInt GetIndex() const;
-       
-    /**
-     * Evaluates button text.
-     *
-     * @param aQueryResults Results from service.
-     * @param aPos Position of item, needed for parsing the path to query.
-     * @return Button text
-     */
-    const TPtrC EvaluateButtonTextL( 
-           const CLiwGenericParamList& aQueryResults, TInt aPos = 0 );
-       
-    /**
-     * Evaluates and returns an icon for the button.
-     *
-     * @param aQueriesResultsList Results from service.
-     * @param aPos Position of item.
-     * @return bit map
-     */
-//    CGulIcon* EvaluateIconL( const CLiwGenericParamList& aQueriesResultsList, 
-//                                                           TInt aPos ) const;
-    CHnAttributeBase* EvaluateIconL( const CLiwGenericParamList& aQueriesResultsList, 
-            TInt aPos ) const;
-private:
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdButton();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Help text string handler.
-     */
-    CHnMdValueText* iButtonText;
-
-    /**
-     * Index.
-     */
-    TInt iIndex;
-
-    /**
-     * Event element.
-     */
-    TInt iEventId;
-  
-    /**
-     * Own - Condition - if passed, button is added to toolbar.
-     */
-    CHnConditionInterface* iConditionAdd;
-    
-    /**
-     * Own - Condition - if passed, button is dimmed.
-     */
-    CHnConditionInterface* iConditionDimm;
-    
-    /**
-     * Own - Keeps icon for button.
-     */
-    CHnMdValueImage* iIcon;
-    
-    };
-
-#endif // HNMDBUTTON_H_
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdevent.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef C_HNMDEVENT_H
-#define C_HNMDEVENT_H
-
-#include <e32base.h>
-
-/**
- * Event.
- *
- * An object of this class represents an event (identified
- * by id). 
- * 
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEvent) : public CBase
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aId Identifier.
-     * @return Fully constructed object.
-     */
-    static CHnMdEvent* NewL( const TInt aId );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aId Identifier.
-     * @return Fully constructed object.
-     */
-
-    static CHnMdEvent* NewLC( const TInt aId );
-
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdEvent();
-    
-    /**
-     * Returns Id.
-     *
-     * since S60 v5.0
-     * @return iId Identifier of the event.
-     */
-    IMPORT_C TInt Id() const;
-
-    /**
-     * Sets Id.
-     * 
-     * @param aId Identifier.
-     */
-    void SetId( TInt aId );
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdEvent();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aId Identifier.
-     */
-    void ConstructL( const TInt aId );
-    
-private: // data
-
-    /**
-     * Event's identifier.
-     */
-    TInt iId;
-
-    };
-
-#endif // C_HNMMEVENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmapping.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNMDEVENTMAPPING_H
-#define C_HNMDEVENTMAPPING_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-
-#include "hnmdmodel.h"
-
-class CHnMdEventMappingElement;
-class CHnMdItem;
-class CHnMdAction;
-struct THnMdCommonPointers;
-class CHnActionModel;
-class CHnItemModel;
-class CHnSuiteModel;
-
-/**
- * Event Mapping.
- * 
- * This class is to store event mapping elements defined
- * in one suite.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEventMapping) : public CBase
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMapping* NewL( TXmlEngElement aElement, 
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMapping* NewLC( TXmlEngElement aElement, 
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills actions models container with evaluated actions.
-     *
-     * since S60 v5.0
-     * @param aActions Actions container to be filled with actions models.
-     * @param aQueriesResultsList Query results.
-     * @param  aPos  Position in the query.
-     */
-    void FillActionsL( RHashMap< TInt, CArrayPtr<CHnActionModel>* >& aActions, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-    
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdEventMapping();
-    
-    /**
-     * Gets list of actions correspondig to given event id.
-     * 
-     * @param aEventId Event's identifier.
-     * @return Actions list corresponding to the event.
-     */
-    RPointerArray< CHnMdAction > GetActionsForEventId( TInt aEventId );
-    
-    /**
-     * Gets events ids.
-     * 
-     * @param aIds Array to be filled with events ids.
-     */
-    void GetEventIdsL( RArray< TInt >& aIds ) const;
-    
-private:
-
-    /**
-     * Gets action by event id.
-     * 
-     * @return A number of actions.
-     */
-    TInt Count() const;
-    
-    /**
-     * Gets action by event id.
-     * 
-     * @param aActions Actions container to which action model will be added.
-     * @param aActionModel An  evaluated action model.
-     * @param aEventId An event id.  
-     */
-    void AddActionL( 
-            RHashMap<TInt,CArrayPtr<CHnActionModel> *> & aActions, 
-            CHnActionModel *& aActionModel, TInt aEventId );
-    
-    /**
-     * default constructot
-     */
-    CHnMdEventMapping();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Mappings.
-     */
-    RPointerArray<CHnMdEventMappingElement> iMappings;
-    
-    /**
-     * Common pointers.
-     * Not own.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    };
-
-#endif // C_HNMMEVENTMAPPING_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdeventmappingelement.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDEVENTMAPPINGELEMENT_H
-#define C_HNMDEVENTMAPPINGELEMENT_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-#include "hnglobals.h"
-
-class CHnMdItem; 
-class CHnMdAction;
-class CHnMdEvent;
-struct THnMdCommonPointers;
-
-/**
- * Event Mapping Element.
- * 
- * This class is used to bind key events (or different events)
- * with specific actions.
- 
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdEventMappingElement) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMappingElement* NewL( TXmlEngElement aElement );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdEventMappingElement* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Default destructor.
-     */
-    virtual ~CHnMdEventMappingElement();
-    
-    /**
-     * Returns actions.
-     * 
-     * @return A list of actions stored in an object of this class.
-     */
-    RPointerArray<CHnMdAction>& Actions();
-    
-    /**
-     * Returns events.
-     * 
-     * @return A list of events stored in the object of this class.
-     */
-    const RPointerArray<CHnMdEvent>& Events() const;
-
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdEventMappingElement();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-    
-    /**
-     * Adds an event to the list of events.
-     * 
-     * @param aEvent A pointer to the event object.
-     */
-    void AddEventL( CHnMdEvent* aEvent );
-
-    /**
-     * Sets events on the base of the xml element.
-     * 
-     * @param aElement Xml element.
-     */
-    void SetEventsL( TXmlEngElement aElement );
-    
-    /**
-     * Sets actions on the base of the xml element.
-     * 
-     * @param aElement Xml element.
-     */
-    void SetActionsL( TXmlEngElement aElement );
-
-private: // data
-
-    /**
-     * Own - Events.
-     */
-    RPointerArray<CHnMdEvent> iEvents;
-    
-    /**
-     * Own - Actions.
-     */
-    RPointerArray<CHnMdAction> iActions;
-    
-    };
-
-#endif // C_HNMEVENTMAPPINGELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmditem.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,635 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-
-#ifndef C_HNMDITEM_H
-#define C_HNMDITEM_H
-
-#include <e32base.h>
-
-#include "hnmdmodel.h"
-#include "hnmdeventmapping.h"
-#include "hnqueryresultcollector.h"
-
-class CHnMdQuery;
-class CHnMdButton;
-class CHnMdQueries;
-class CHnMdNotifyRequests;
-class CHnSuiteModel;
-class CLiwGenericParamList;
-class CLiwDefaultMap;
-class THnIdGenerator;
-class CHnFilter;
-class CHnMdUiMapping;
-class CHnMdMenuItem;
-class CHnItemId;
-class CHnMdSuite;
-class CHnXmlModelProvider;
-class CHnItemModel;
-class CHnMenuItemModel;
-class CHnActionModel;
-class CHnMdToolbar;
-struct THnMdCommonPointers;
-class CHnConditionInterface;
-
-/**
- * Item.
- *
- * This is the item's class. Each item (or items' group -
- * the count attribute has a value greater then 1) is represented
- * by an object of the CHnMdItem class.
- *
- * This class comprises different classes which are responsible for
- * conditions, queries, notifications (refreshing), etc.
- *
- * @lib hnmetadatamodel
- * @since S60 v5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdItem) : public CBase,
-    public MHnQueryResultCollectorNotification
-    {
-public:
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdItem* NewL( TXmlEngElement aElement,
-                                      THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard factory method.
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers container.
-     * @return Fully constructed object.
-     */
-    static CHnMdItem* NewLC( TXmlEngElement aElement,
-                                       THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Default destructor.
-     */
-    virtual ~CHnMdItem();
-
-    /**
-     * Updates an item.
-     *
-     * @param aGraphicalList A graphical list.
-     * @param aId Item's identifier.
-     * @param aResultMap A results map.
-     * @return An error code.
-     */
-    void UpdateItemL( CHnSuiteModel* aGraphicalList, TInt aId,
-            RHashMap< HBufC*, CLiwGenericParamList*>& aResultMap );
-    /**
-     * Compares entries.
-     *
-     * @param aSearchCriteria Search critieria item id.
-     * @return True if this item matches aSearchCriteria.
-     */
-    TBool CompareItems( CHnItemId* aSearchCriteria );
-
-    /**
-     * Evaluates an item.
-     *
-     * @since S60 v3.2
-     * @param aSuiteModel A suite's model.
-     * @param aParamList Paramters of the evaluation.
-     * @param aItemPosition A position of an item in the aParamList.
-     */
-    void EvaluateItemL( CHnSuiteModel & aSuiteModel,
-                        CLiwGenericParamList& aParamList,
-                        TInt aItemPosition );
-
-    /**
-     * Marks according to filter which item should be evaluated.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     */
-    void MarkEvaluationL( CHnFilter& aFilter );
-
-    /**
-     * Sets template.
-     *
-     * @param aOption Option - an identifier of alternative template bo be set.
-     */
-    void SetAlternativeTemplateL( TInt aOption );
-
-    /**
-     * Sets edit mode version of the item.
-     *
-     * @param aEditModeItem Edit mode item.
-     * @return Meta data model of the edit mode version.
-     */
-    void SetAlternativeModeItem(CHnMdItem* aEditModeItem);
-
-    /**
-     * Sets edit mode version of the item.
-     * Transfers ownership.
-     *
-     * @return Meta data model of the edit mode version.
-     */
-    CHnMdItem* TakeAlternativeModeItem();
-
-     /**
-      * Checks if mode version of the item is present.
-      *
-      * @return True if an item has an alternative model to be set.
-      */
-     TBool HasAlternativeModeItem() const;
-
-     /**
-      * Template property getter.
-      *
-      * @return The name of the template.
-      */
-     IMPORT_C TDesC8& Template();
-
-     /**
-      * Type property getter.
-      *
-      * @return Type of an item.
-      */
-     IMPORT_C TDesC8& Type();
-     
-     /**
-      * Type property getter.
-      *
-      * @return Type of an item.
-      */
-     IMPORT_C TDesC8& Uid();
-
-     // from queries collector
-     /**
-      * Triggered when results have been collected.
-      *
-      * @param aResults Results.
-      */
-     virtual void ResultsCollectedL( CLiwGenericParamList* aResults );
-
-private:
-
-    /**
-     * Sets edit mode item.
-     *
-     * @param aElement Xml element.
-     */
-    void SetEditModeItemL( TXmlEngElement aElement );
-
-    /**
-     * Sets count.
-     *
-     * @param aElement Xml element.
-     */
-    void SetCountL( TXmlEngElement aElement );
-
-    /**
-     * Sets template.
-     *
-     * @param aAttr Xml attribute.
-     */
-    void SetTemplateL( TXmlEngAttr aAttr );
-
-    /**
-     * Sets queries.
-     *
-     * @param aElement Xml element.
-     */
-    void SetQueriesL( TXmlEngElement aElement );
-
-    /**
-     * Sets item id.
-     *
-     * @param aItemElement Xml element.
-     */
-    void SetItemIdL( TXmlEngElement aItemElement );
-
-    /**
-     * Sets item id.
-     *
-     * @param aAttrFileName Xml attribute - file name.
-     * @param aId Xml attribute - item's identifier.
-     */
-    void SetItemId2L( TXmlEngAttr aAttrFileName, TXmlEngAttr aId );
-
-    /**
-     * Evaluates item.
-     *
-     * @param aSuiteModel A model of the suite.
-     * @param aItemId Item's id.
-     * @param aParamList Parameters of the evaluation in the form of the CLiwGenericParamList.
-     * @param aItemPosition A position of the record of the parameters list.
-     * @return Error code.
-     */
-    TInt EvaluateItemL( CHnSuiteModel & aSuiteModel,
-            const CHnItemId* aItemId, CLiwGenericParamList& aParamList,
-            TInt aItemPosition );
-
-    /**
-     * Evaluates item.
-     *
-     * @param aSuiteModel A model of the suite.
-     * @param aParamList Parameters of the evaluation in the form of the CLiwGenericParamList.
-     * @param aItemPosition A position of the record of the parameters list.
-     */
-    void EvaluateItemItselfL( CHnSuiteModel & aSuiteModel,
-            CLiwGenericParamList& aParamList, TInt aItemPosition );
-
-    /**
-     * Sets template attribute on item model.
-     *
-     * @param aItemModel Item's model.
-     */
-    void SetTemplateL( CHnItemModel* aItemModel );
-
-    /**
-     * Mode.
-     *
-     * @returns Mode of an item, e.g. normal / edit mode.
-     */
-    TMdMode Mode();
-    
-    /**
-     * Retrieves values from outputs containing the [$index] string.
-     * 
-     * @param aValues Array containing found strings.
-     * @param aElement The xml element.
-     * @return Number of found strings.
-     */
-    TInt GetIndexValuesFromOutputsL( RPointerArray<HBufC8> &aValues, TXmlEngElement aElement );
-
-private:
-
-    /**
-     * Standard constructor.
-     */
-    CHnMdItem();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     *
-    * @param aElement Xml element.
-    * @param aCmnPtrs Common pointers containter.
-     */
-    void ConstructL( TXmlEngElement aElement,THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills item model with data.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPosition A position of the record in the parameters list.
-     * @return True if filling finihed with success.
-     */
-    TBool FillItemModelL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList,
-            TInt aPosition );
-
-    /**
-     * Fills item model with menu items created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithMenuItemsL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills item model with toolbar created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithToolbarL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills item model with MSK created from meta data model.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void FillItemModelWithMiddleSoftKeyL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos = 0 );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aItemId Item's identifier.
-     * @param aQueriesResultsList Queries results in form of the CLiwGenericParamList.
-     * @param aItemModelNumber Item's model number.
-     * @param aItemPos Position of an item in the queries results list.
-     * @return KErrNone if an item was successfully added.
-     */
-    TInt AddItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-            const CLiwGenericParamList& aQueriesResultsList,
-            TInt aItemModelNumber,
-            TInt aItemPos );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aItemId Item's identifier.
-     * @param aQueriesResultsList Queries results in form of the CLiwGenericParamList.
-     * @param aItemPos Position of an item in the queries results list.
-     * @return KErrNone if an item was successfully updated.
-     */
-    TInt UpdateItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aItemPos );
-
-    /**
-     * Fills menu model with data from mdmenuitem.
-     *
-     * @param aSuiteModel Suite's model.
-     * @param aId Items identifier.
-     */
-    void RemoveItemL( CHnSuiteModel & aSuiteModel, TInt aId );
-
-    /**
-     * Sets move/remove locked attribute.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetAttributesL( TXmlEngElement aElement );
-
-    /**
-     * Sets item type string.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetTypeL( TXmlEngElement aElement );
-    
-    /**
-     * Sets uid string.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetUidL( TXmlEngElement aElement );
-
-    /**
-     * Sets delete / move locked attributes.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aQueriesResultsList Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void SetDeleteMoveAttributesL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-
-
-    /**
-     * Sets custom id.
-     *
-     * @param aElement Xml item element.
-     */
-    void SetCustomIdL( TXmlEngElement aElement );
-
-    /**
-     * Sets middle soft key.
-     *
-     * @param aElement Xml item element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void SetMiddleSoftKeyL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Checks if an item is valid (the condition returns true).
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @return ETrue or EFalse dependeing on whether the item is valid.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-
-    /**
-     * Sets the evaluated remove lock to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetRemoveLockedL( const CLiwGenericParamList& aQueryResults,
-            TInt aPos, CHnItemModel* aItemModel );
-
-    /**
-     * Sets the evaluated move lock to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetMoveLockedL( const CLiwGenericParamList& aQueryResults,
-            TInt aPos, CHnItemModel* aItemModel );
-
-    /**
-     * Sets the evaluated type to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetTypeL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueryResults, TInt aPos );
-    
-    /**
-     * Sets the uid to the item model.
-     *
-     * @param aQueryResults Query results.
-     * @param aPos Position of the item in the results list.
-     * @param aItemModel Item model to set custom id on.
-     */
-    void SetUidL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueryResults, TInt aPos );
-
-    /**
-     * Sets custom id.
-     *
-     * @param aItemModel Model to be filled.
-     * @param aParams Parameters of in the form of the CLiwGenericParamList.
-     * @param aPos A position of the record in the parameters list.
-     */
-    void SetCustomIdL( CHnItemModel* aItemModel,
-          const CLiwGenericParamList& aParams, TInt aPos );
-
-    /**
-     * Returns the maximum possible number of items.
-     *
-     * @return Maximum number of items.
-     */
-    TInt GetItemsMaxCountL();
-
-private: // data
-
-    /**
-     * Own - edit mode version of the item.
-     * However TakeAlternativeModeItem transfers ownership.
-     */
-    CHnMdItem *iAlternativeModeItem;
-
-    /**
-     * Count.
-     */
-    RBuf8 iCount8;
-
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-
-    /**
-     * Own - List of allowable widget types.
-     */
-    CDesC8Array * iAllowableTemplate;
-
-    /**
-     * Item id.
-     */
-    CHnItemId* iItemId;
-
-    /**
-     * Queries.
-     */
-    CHnMdQueries* iQueries;
-
-    /**
-     * Notify Requests.
-     */
-    CHnMdNotifyRequests* iNotifyRequests;
-
-    /**
-     * Event mapping.
-     */
-    CHnMdEventMapping* iEventMapping;
-
-    /**
-     * UI mapping.
-     */
-    CHnMdUiMapping* iUiMapping;
-
-    /**
-     * Menu item.
-     */
-    CHnMdMenuItem* iMenu;
-
-    /**
-     * Toolbar.
-     */
-    CHnMdToolbar* iToolbar;
-
-    /**
-     * Middle soft key button.
-     */
-    CHnMdButton* iMsk;
-
-    /**
-     * Delete locked indicator
-     */
-    RBuf8 iRemoveLocked8;
-
-    /**
-     * MoveLocked indicator.
-     */
-    RBuf8 iMoveLocked8;
-
-    /**
-     * Type of an item.
-     */
-    RBuf8 iType8;
-    
-    /**
-     * Uid of the item.
-     */
-    RBuf8 iUid8;
-
-    /**
-     * Custom identifier.
-     */
-    RBuf8 iCustomId8;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    /**
-     * Mode.
-     */
-    TMdMode iMode;
-
-    /**
-     * Query results list.
-     *  Own - queries results.
-     */
-    CLiwGenericParamList* iQueriesResultsList;
-
-    /**
-     * Query collector.
-     * Own.
-     */
-    CHnQueryResultCollector* iQc;
-
-    /**
-     * Suite model.
-     * Not own - suite model.
-     */
-    CHnSuiteModel* iSuiteModel;
-
-    /**
-     * Position of item.
-     * Own - item's positions.
-     */
-    TInt iItemPosition;
-
-    /**
-     * Own - condition.
-     */
-    CHnConditionInterface* iCondition;
-
-    /**
-     * Running indicator.
-     */
-    RBuf8 iRunning8;
-    
-    /**
-     * DRM protection indicator.
-     */
-    RBuf8 iDrmProtection8;
-
-public:
-    /**
-     * Marks if evaulation should take place.
-     */
-    TBool iEvaluationNeeded;
-
-    };
-
-#endif // C_HNMMITEM_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalization.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDLOCALIZATION_H
-#define C_HNMDLOCALIZATION_H
-
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-class CHnMdLocalizationElement;
-class CCoeEnv;
-
-/**
- * Localization.
- * 
- * This class is designed to support localization.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdLocalization) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdLocalization* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdLocalization* NewLC();
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdLocalization();
-    
-    /**
-     * Appends localizations.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void AppendLocalizationsL( TXmlEngElement aElement );
-
-    /**
-     * Gets element by name.
-     *
-     * @since S60 5.0
-     * @param aNamespace Namespace.
-     * @return Localization element.
-     */
-    const CHnMdLocalizationElement* ElementByNamespace(
-            const TDesC& aNamespace ) const;
-            
-    /**
-     * Loads resource.
-     * Resources can be defined in formats 
-     * @code <namespace>:<id> @endcode
-     * Namespaces can be defined by localization elements,
-     * but can also point to rsg file.
-     * Id can be rsg constants, but it can be also numbers.
-     *
-     * @since S60 5.0
-     * @param aResourceName Resource name.
-     * @param aDesParams descriptor parameters to format %U, %0U.
-     * @param aIntParams integer parameters to format %N, %0N.* 
-     * @return Descriptor.
-     */
-     HBufC* LoadL( const TDesC& aResourceName, 
-                   const CDesC16Array* aDesParams, 
-                   const CArrayFix<TInt>* aIntParams );
-     
-     /**
-      * Realeses loaded resources.
-      *
-      * @since S60 5.0
-      */
-     void ReleaseResourceFiles();
-     /**
-      * Reloads realesed resources.
-      *
-      * @since S60 5.0
-      */
-     void ReloadResourceFilesL();
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdLocalization();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Appends element the list of localization elements, it also checks for duplicates
-     * if it is RSC file it load the file in CoeEnv
-     * 
-     * @param aElement element to add, ownership is taken
-     *      if element with the same namespace exists element is ignored
-     *
-     * @since S60 5.0
-     */
-    void AppendElementL( CHnMdLocalizationElement*  aElement );
-
-    /**
-     * Check extension of file and decide it is a resource file
-     * 
-     * @param aFilename file name to check 
-     * @return ETrue if it is rsc file, else EFalse
-     */
-    TBool IsResourceFile( const TDesC&  aFilename );
-        
-    /**
-     * Formats text.
-     * 
-     * @since S60 5.0
-     * @param aTextToFormat A text to format.
-     * @param aDesParams Parameters of the text to be formated.
-     * @param aIntParams Integer parameters of the text to be formated.
-     */
-    HBufC* FormatTextL( const TDesC& aTextToFormat,
-                        const CDesC16Array* aDesParams, 
-                        const CArrayFix<TInt>* aIntParams );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * duplicated.
-     *
-     * @param aNamespace Namespace.
-     */
-    TBool IsDuplicateL( TDesC8& aNamespace );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * duplicated.
-     *
-     * @param aNamespace Namespace.
-     */
-    TBool IsDuplicateL( TDesC& aNamespace );
-    
-    /**
-     * Checks whether the localization element identified by a namespace is
-     * internal.
-     *
-     * @param aName Name.
-     */
-    TBool IsInternalL( const TDesC& aName );
-    
-private: // data
-
-    /**
-     * CoeEnv.
-     * Not own.
-     */
-    CCoeEnv* iCoeEnv;
-    
-    /**
-     * Own - Dynamic offset.
-     */
-    RArray< TInt > iDynamicOffset;
-    
-    /**
-     * Own - Dynamic localization.
-     */
-    RPointerArray<CHnMdLocalizationElement> iDynamicLocalization;
-    
-    /**
-     * Own - Internal offset.
-     */
-    RArray< TInt > iInternalOffset;
-    
-    /**
-     * Own - Internal localization.
-     */
-    RPointerArray<CHnMdLocalizationElement> iInternalLocalization;
-
-    };
-
-#endif // C_HNMMLOCALIZATION_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdlocalizationelement.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDLOCALIZATIONELEMENT_H
-#define C_HNMDLOCALIZATIONELEMENT_H
-
-
-#include <e32base.h>
-#include <e32hashtab.h> //RHashMap
-#include <xmlengelement.h> 
-#include <xmlengnodelist.h>
-
-
-/**
- * Localization Element.
- * 
- * This is the localization element which is wrapped by the localization
- * class. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdLocalizationElement) : public CBase
-    {
-    /**
-     * State of element - used for caching purpose 
-     */
-    enum TLocalizationElementStates {
-        EInitialized = 1,
-        EWholeFileCached = 2,
-        EUsedItemsCached = 4
-    };
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed element.
-     */
-    static CHnMdLocalizationElement* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aNamespace namespace
-     * @param aSource source
-     * @return Fully constructed element.
-     */
-    static CHnMdLocalizationElement* NewL( const TDesC& aNamespace, 
-                                           const TDesC& aSource);
-
-    /**
-     * Standard C++ virtal destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdLocalizationElement();
-    
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Namespace.
-     */
-    const TDesC& Namespace() const;
-    
-    /**
-     * Gets source.
-     *
-     * @since S60 5.0
-     * @return Source.
-     */
-    const TDesC& Source() const;
-    
-    /**
-     * Gets source path.
-     *
-     * @since S60 5.0
-     * @return Source.
-     */
-    HBufC* SourcePath() const;
-    
-    /**
-     * Returns true if path to source exists.
-     *
-     * @since S60 5.0
-     * @return Does path to source exist.
-     */
-    TBool SourceExists() const;
-    
-    /**
-     * Reloads the resource file path.
-     *
-     * @since S60 5.0
-     */
-    void LocateLanguageFileL();
-
-    /**
-     * Gets resource id from corresponsing rsg if exist
-     * Inside it implemented caching mechanism
-     * If file is small (<KWholeFileReadLimit) cache all entries, 
-     * otherwise it caches only used resources.
-     * 
-     * @since S60 5.0
-     * @param aResourceName Resource name.
-     * @return Resource id if exist.
-     */
-    const TInt& FindResourceIdL( HBufC8* aResourceName );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdLocalizationElement();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aNamespace namespace
-     * @param aSource source
-     */
-    void ConstructL( const TDesC& aNamespace, const TDesC& aSource);
-    
-    /**
-     * Sets namespace
-     *
-     * @since S60 5.0
-     * @param aNamespace Namespace.
-     */
-    void SetNamespaceL( TXmlEngAttr aNamespace );
-    
-    /**
-     * Sets source.
-     *
-     * @since S60 5.0
-     * @param aSource Xml attribute.
-     */
-    void SetSourceL( TXmlEngAttr aSource );
-        
-    /**
-     * Read corresponding rsg file return content.
-     * 
-     * @since S60 5.0 
-     * @return Descriptor with file content.
-     */     
-    HBufC8* ReadRsgContentLC( );
-    
-    /**
-     * Parse content of corresponding rsg file and 
-     * fill in maping to internal map for all resource listed in content.
-     *  
-     * @since S60 5.0 
-     * @param aContent Descriptor with content.
-     */    
-    void ParseRsgContentL( const TDesC8& aContent );
-
-    /**
-     * Parse content of corresponding rsg file and 
-     * fill in maping to internal map only requested resource 
-     *
-     * @since S60 5.0  
-     * @param aContent Descriptor with content.
-     * @param aResourceName Requested resource name.
-     */        
-    void ParseRsgContentL( const TDesC8& aContent, const TDesC8& aResourceName );    
-    
-private: // data
-
-    /**
-     * Namespace.
-     */
-    RBuf iNamespace;
-    
-    /**
-     * Source.
-     */
-    RBuf iSource;
-    
-    /**
-     * Source path.
-     */
-    HBufC* iSourcePath;
-    
-    /**
-     * Mapping between resource name and resource id.
-     */
-    RHashMap< HBufC8*, TInt> iResourceIDs;
-    
-    /**
-     * State of element. 
-     */
-    TInt iState;
-    };
-
-#endif // C_HNMMLOCALIZATIONELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmenuitem.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDMENUITEM_H
-#define C_HNMDMENUITEM_H
-
-#include <e32hashtab.h>
-#include <e32base.h>
-#include <xmlengelement.h> 
-#include <hnmenuitemmodel.h>
-
-struct THnMdCommonPointers;
-class CHnCondition;
-class CLiwGenericParamList;
-class CHnConditionInterface;
-
-/**
- * Menu Item.
- * 
- * This class represents items in the Options menu.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdMenuItem) : public CBase
-    {
-public:
-    /**
-     * Checkes if argument descriptor is equal to one of 
-     * menu items elements names.
-     *
-     * @since S60 5.0
-     * @param aNameToCompare name to compare.
-     * @return ETrue if aNameToCompare is equal to one of 
-     *         menu items elements names.
-     */
-    static TBool IsMenuItemElementName(const TDesC8& aNameToCompare);
-    
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdMenuItem* NewL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdMenuItem* NewLC( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    ~CHnMdMenuItem( );
-    
-    /**
-     * Gets position.
-     *
-     * @since S60 5.0
-     * @param aMenuModel Menu model.
-     * @param aQueriesResultsList Queries results list.
-     * @param aPos Position of the record in the results list.
-     */
-    void EvaluateL( CHnMenuItemModel* aMenuModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-
-public:    
-    // from MHnMdMenuItemBase
-         
-    /**
-     * Gets the menu item's name
-     *
-     * @return Name of menu item.
-     */
-    const TDesC& NameL();
-        
-    /**
-     * Checks if the menu item is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Query results.
-     * @param aPos Position.
-     * @return True if a condition is satisfied.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, 
-                    TInt aPos = 0 );
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdMenuItem();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Creates children.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateChildrenL( TXmlEngElement aElement, 
-                             THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Appends child item.
-     *
-     * @since S60 5.0
-     * @param aMenuItem Menu item.
-     */
-    void AppendChildItemL( CHnMdMenuItem* aMenuItem );
-    
-    /**
-     * Creates properties.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreatePropertiesL( TXmlEngElement aElement, 
-                            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Name.
-     */
-    RBuf iName;
-
-    /**
-     * Position.
-     */
-    TInt iPosition;
-
-    /**
-     * Event element.
-     */
-    TInt iEvent;    
-    
-    /**
-     * Own - Children pointer array.
-     */
-    RPointerArray<CHnMdMenuItem> iChildren;
-
-    /**
-     * Own - Name value cache. 
-     */
-    RBuf iNameValueCache;
-    
-    /**
-     * Own - Condition.
-     */
-    CHnConditionInterface* iCondition;
-    
-    /**
-     * Is menu item "type".
-     */
-    CHnMenuItemModel::THnMenuItemType iType;
-    
-    };
-
-#endif // C_HNMULMENUITEM_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,574 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-
-
-#ifndef C_HNMDMODEL_H
-#define C_HNMDMODEL_H
-
-#include <e32base.h>
-#include <xmlengelement.h>
-#include <liwgenericparam.h>
-#include <eikenv.h>
-#include "hnglobals.h"
-
-class CHnMdLocalization;
-class CHnSuiteModelContainer;
-class CHnFilter;
-class THnIdGenerator;
-class CHnMdSuite;
-class CHnMdModel;
-class CHnItemId;
-class MHnSuiteObserver;
-class CHnXmlModelProvider;
-class CHnMdModel;
-class MHnMdModelEventObserver;
-class CHnSuiteModel;
-class CHnRepositoryObserver;
-class MHnEditModeInterface;
-class CHnBitmapIdCache;
-
-/**
- * Type of the property.
- *
- * @ingroup group_hnmetadatamodel
- */
-enum TPropertyType
-    {
-    EUndefined = 0,
-    EGenre,
-    EVisualItemCount
-    };
-
-/**
- * Mode type.
- *
- * @ingroup group_hnmetadatamodel
- */
-enum TMdMode
-    {
-    EMdModeNormal = 0,
-    EMdModeEdit
-    };
-
-/**
- * Common pointers.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-struct THnMdCommonPointers
-    {
-    /**
-     * Not own - Localization.
-     */
-    CHnMdLocalization* iLocalization;
-
-    /**
-     * Not own - Query generator.
-     */
-    THnIdGenerator* iIdGenerator;
-
-    /**
-     * Not own - Suite model container.
-     */
-    CHnSuiteModelContainer* iContainer;
-
-    /**
-     * Not own - Meta data model.
-     */
-    CHnMdModel* iModel;
-
-    /**
-     * Not own - Xml model provider.
-     */
-    CHnXmlModelProvider* iXmlModelProvider;
-
-    /**
-     * Not own - Cache for bitmap and mask ids.
-     */
-    CHnBitmapIdCache* iBitmapIdCache;
-
-    /**
-     * Not own - Model event observer.
-     */
-    MHnMdModelEventObserver* iModelEventObserver;
-
-    /**
-     * Not own - Edit mode interface.
-     */
-    MHnEditModeInterface* iEditModeInterface;
-
-    /**
-     * Not own - Handler to file server session;
-     */
-    RFs& iFs;
-
-    /**
-     * Gets static pointer from TLS.
-     */
-    static THnMdCommonPointers* Static() {return (THnMdCommonPointers*)Dll::Tls(); }
-
-    /**
-     * Sets pointer to TLS.
-     *
-     * @param aCmnPtrs Pointer to set
-     */
-    static void SetStatic( THnMdCommonPointers* aCmnPtrs ) {  Dll::SetTls(aCmnPtrs); }
-
-  private:
-
-    // only model can create it
-    friend class CHnMdModel;
-
-    /**
-     * Standard C++ consturctor.
-     */
-    THnMdCommonPointers() : iFs( CEikonEnv::Static()->FsSession() )
-        {
-        iLocalization = NULL;
-        iIdGenerator = NULL;
-        iContainer = NULL;
-        iModel = NULL;
-        iXmlModelProvider = NULL;
-        iModelEventObserver = NULL;
-        iEditModeInterface = NULL;
-        }
-
-    /**
-     * Copy constructor declared as private to disallow copying.
-     *
-     * @param aCmnPtrs Pointer to set.
-     */
-    THnMdCommonPointers( const THnMdCommonPointers& aCmnPtrs ):iFs( aCmnPtrs.iFs ) { }
-
-    /**
-     * Assignment operator
-     */
-    THnMdCommonPointers& operator=( const THnMdCommonPointers& ){return *this;}
-    };
-
-/**
- *  Id generator.
- *
- *  @lib ?library
- *  @since S60 5.0
- *  @ingroup group_hnmetadatamodel
- */
-struct THnIdGenerator
-    {
-    /**
-     * Standatrd C++ constructor.
-     */
-    THnIdGenerator()
-        {
-        iId = 0;
-        }
-
-    /**
-     * Gets next id.
-     * @return Next id.
-     */
-    TInt GetNextId()
-        {
-        return iId++;
-        }
-    private:
-
-    /**
-     * Copy constructor declared as private to disallow copying.
-     * @param aGenerator Id generator;
-     */
-    THnIdGenerator(const THnIdGenerator& aGenerator);
-
-    /**
-     * Assignment operator.
-     */
-    THnIdGenerator& operator=(const THnIdGenerator&);
-
-    /**
-     * Id
-     */
-    TInt iId;
-    };
-
-/**
- * Model event observer.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-class MHnMdModelEventObserver
-    {
-    public:
-
-     /**
-     * Handles modlde event.
-     *
-     * @since S60 5.0
-     * @param aEventName Event name.
-     * @param aParams Parameters.
-     */
-     virtual TInt HandleModelEventL( const TDesC& aEventName,
-             CLiwGenericParamList& aParams ) = 0;
-    };
-
-/**
- * Meta data model
- *
- * This is the main class of the Meta Data Model component.
- *
- * This class is the entry point for building the meta data model
- * and for evaluation.
- *
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdModel ) : public CBase
-    {
-public:
-    enum TForegroundGainTriggeringEvent
-        {
-        EWhenAnySuiteIsEvaluated,
-        EWhenCurrentTopSuiteIsEvaluated,
-        ENever
-        };
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Suite model container.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnMdModel* NewL( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Suite model container.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnMdModel* NewLC( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdModel();
-
-    /**
-     * Evaluates the model. Takes filter as a parameter.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     */
-    IMPORT_C void EvaluateL( CHnFilter& aFilter );
-
-    /**
-     * Manages evaluation lock.
-     *
-     * @param aLock Locks evaluation if set to ETrue.
-     * @param aEvaluate Runs evaluation if aEvaluate == ETrue.
-     */
-    IMPORT_C void SetEvaluationLockL( TBool aLock, TBool aEvaluate = ETrue );
-
-    /**
-     * Evaluates the model.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void EvaluateL();
-
-    /**
-     * Switches between edit mode and normal mode
-     *
-     * @since S60 5.0
-     * @param aMode Suite model container.
-     */
-    IMPORT_C void SetModeL( TMdMode aMode );
-
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @return Suite meta data model.
-     */
-    IMPORT_C CHnMdSuite* GetLastSuite();
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of the suite in the stack.
-     * @return Suite meta data model.
-     */
-    CHnMdSuite* GetSuite( TInt aPosition );
-
-    /**
-     * Gets suite's parameters..
-     *
-     * @since S60 5.0
-     * @param aPosition Position of the suite in the stack,
-     *        from which gets parameters.
-     * @return Suite meta data model.
-     */
-    IMPORT_C CLiwGenericParamList& GetSuiteParameters( TInt aPosition );
-
-
-    /**
-     * Handles back event.
-     *
-     * @since S60 v3.2
-     * @param aMulContainer Suite model container.
-     * @param aGenre Name of the suite.
-     * @param aIterations Number of iterations.
-     * @return Error code.
-     */
-    IMPORT_C TInt HandleBackEventL( CHnSuiteModelContainer* aMulContainer,
-            const TDesC& aGenre, TInt aIterations = KModelCountForRoot );
-
-    /**
-     * Handles sis installation event.
-     *
-     * @since S60 v3.2
-     * @param aMulContainer Suite model container.
-     */
-    IMPORT_C void HandleSisInstallationEventL(
-            CHnSuiteModelContainer* aMulContainer );
-
-    /**
-     * Loads a suite from xml data.
-     *
-     * @since S60 v5.0
-     * @param aGenre Name of the suite.
-     * @param aSuiteParams Suite parameters.
-     * @return Error code.
-     */
-    IMPORT_C TInt LoadSuiteL( const TDesC& aGenre, CLiwGenericParamList* aSuiteParams = NULL );
-
-    /**
-     * Check if suite model exists.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model name.
-     * @return ETrue if suite model exists, otherwise EFalse.
-     */
-    IMPORT_C TBool SuiteModelExistsL( const TDesC8& aSuiteModel );
-
-    /**
-     * Gets suite's meta data model.
-     *
-     * @since S60 5.0
-     * @param aUri Current ui.
-     * @return Suite meta data model.
-     */
-    IMPORT_C void GetCurrentUriL( TDes& aUri );
-
-    /**
-     * Deletes last loaded suite model from data model.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void DeleteLastSuite();
-
-
-    /**
-     * Realeses localization files.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void ReleaseLocalization();
-
-    /**
-     * Reloads localization.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C void ReloadLocalizationL();
-
-    /**
-     * Informs metadatamodel to ignore evaluations or
-     * to performing evaluations, according to the
-     * given parameter.
-     *
-     * @since S60 5.0
-     * @param aIgnore Metadatamodel ignores evaluations when set to ETrue.
-     */
-    IMPORT_C void IgnoreEvaluations( TBool aIgnore );
-
-    /**
-     * Request that menu goes to foreground when evaluation completes.
-     *
-     * Default behavior is not to go to foreground when evaluation
-     * completes. A change of this behavior requested with this method is
-     * only effective until the menu is sent to foreground (once). Then the
-     * default behavior is assumed again.
-     * Subsequent calls override previous changes.
-     *
-     * @since S60 5.0
-     * @param aWhen Determines when the foreground should be gained.
-     *              Possible values are defined in the
-     *              TForegroundGainTriggeringEvent enum. The value ENever
-     *              simply means not to bring menu to foreground.
-     */
-    IMPORT_C void QueueForeground( TForegroundGainTriggeringEvent aWhen );
-
-    /**
-     * Is there a queue for foreground gain.
-     *
-     * @since S60 5.0
-     * @return should foreground be gained after evaluation.
-     */
-    IMPORT_C TBool IsForegroundQueued() const;
-
-    /**
-     * Notifies this metadata model that suite evaluation has completed.
-     *
-     * @param aJustEvaluatedSuite pointer to the suite whose evaluation
-     *                            has completed
-     */
-    void SuiteModelReadyToShowL( CHnSuiteModel* aJustEvaluatedSuite );
-
-    /**
-     * Causes all of the loades suites except for the suite at the bottom
-     * of the stack to be reloaded from their corresponding xml file
-     * definitions.
-     *
-     * @since S60 5.0
-     * @param aIgnore aModelContainer Model container object.
-     */
-    void ReloadStackSuitesL( CHnSuiteModelContainer* aModelContainer );
-
-    /**
-     * Counts number of loaded suites.
-     *
-     * @since S60 5.0
-     * @return Number of loaded suites
-     */
-    TInt LoadedSuitesCount();
-
-    /**
-     * Evaluates the suite model on top of the stack.
-     *
-     * @since S60 5.0
-     */
-    void EvaluateTopSuiteL();
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdModel( );
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aModelObserver Model observer.
-     * @param aSuiteModelContainer Model container.
-     */
-    void ConstructL( MHnMdModelEventObserver* aModelObserver,
-            CHnSuiteModelContainer * aSuiteModelContainer );
-
-private: // data
-
-    /**
-     * Id generator.
-     */
-    THnIdGenerator iIdGenerator;
-
-    /**
-     * Own - Localization.
-     */
-    CHnMdLocalization* iLocalization;
-
-    /**
-     * Own - Xml model provider.
-     */
-    CHnXmlModelProvider* iXmlModelProvider;
-
-    /**
-     * Own - bitmap and mask ids cache.
-     */
-    CHnBitmapIdCache* iBitmapIdCache;
-
-    /**
-     * Not Own - Event observer.
-     */
-    MHnMdModelEventObserver* iModelEventObserver;
-
-    /**
-     * Stores pointers to common objects in the system
-     * This object is shared throut the whole system.
-     */
-    THnMdCommonPointers iCmnPtrs;
-
-    /**
-     * Stores information about mode.
-     */
-    TMdMode iMode;
-
-    /**
-     * Loaded Suites stack.
-     * Object and content owned.
-     */
-    RPointerArray<CHnMdSuite> iLoadedSuites;
-
-    /**
-     * Repository widget type observer.
-     */
-    CHnRepositoryObserver* iRepositoryWidgetTypeObserver;
-
-    /**
-     * Repository folder change observer.
-     */
-    CHnRepositoryObserver* iRepositoryShowFolderObserver;
-
-    /**
-     * When set, forces metadatamodel to skip evaluations.
-     */
-    TBool iIgnoreEvaluations;
-
-    /**
-     * Queues foreground gain action.
-     */
-    TBool iForegroundQueued;
-
-    /**
-     * Not own - pointer to the suite model that must be evaluated
-     * before matrix menu can be brought to foreground.
-     *
-     * When NULL, then any suite evaluation brings menu to foreground.
-     * It is only meaningful when iForegroundQueued is ETrue.
-     */
-    CHnSuiteModel* iForegroundTriggeringSuite;
-
-    };
-
-#endif // C_HNMDMODEL_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequest.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNMDREQUESTNOTIFY_
-#define HNMDREQUESTNOTIFY_
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-#include <liwcommon.h>
-
-#include "hnmdbasekey.h"
-#include "hnmdservice.h"
-#include "hnitemid.h"
-
-
-class CHnServiceHandler;
-class CHnMdServiceCommand;
-struct THnMdCommonPointers;
-
-/**
- * Notify Request.
- * 
- * This class is responsible for managing notifications coming from
- * services and refreshing content of the view.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnMdNotifyRequest ):
-    public CBase,
-    public MLiwNotifyCallback
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * Constructs an object from xml element.
-     * 
-     * @since S60 5.0
-     * @param aElement A XML element holding information.
-     * @param aItemId Item id.
-     * @param aCmnPtrs Common pointers structure.
-     * @return Fully constructed notify request.
-     */
-     static CHnMdNotifyRequest* NewL( TXmlEngElement aElement, 
-             const CHnItemId & aItemId,
-             THnMdCommonPointers* aCmnPtrs );
-
-     /**
-      * Two-phased constructor.
-      * Constructs an object from xml element.
-      * 
-      * @since S60 5.0
-      * @param aElement A XML element holding information.
-      * @param aItemId Item id.
-      * @param aCmnPtrs Common pointers structure.
-      * @return Fully constructed notify request.
-      */
-     static CHnMdNotifyRequest* NewLC( TXmlEngElement aElement,
-             const CHnItemId & aItemId,
-             THnMdCommonPointers* aCmnPtrs );
-     
-     /**
-      * Virtual C++ destructor.
-      */
-     virtual ~CHnMdNotifyRequest();
-     
-     /**
-      * Requests notification from the service, which was set up
-      * in the configuration.
-      * 
-      * @param aParams Parameters list.
-      * @param aCmdOptions Command options.
-      */
-     void RequestNotifyL( CLiwGenericParamList& aParams,
-             TInt aCmdOptions = 0 );
-     
-     /**
-      * Method is invoked when the notifucation occurs.
-      * It is called as a callback by the service which want to
-      * notify change.
-      * 
-      * @see MLiwNotifyCallback::HandleNotifyL
-      * @param aCmdId Command id.
-      * @param aEventId Event id.
-      * @param aEventParamList Event parameters list.
-      * @param aInParamList Input parameters list.
-      *
-      * @return error code
-      */
-     TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-
-  
-private:
-
-    /**
-     * Gets command object.
-     *
-     * @since S60 5.0
-     * @return Service command.
-     */
-    const CHnMdServiceCommand& GetService() const;
-    
-    /**
-     * Second phase constructor.
-     * @param aElement A XML element holding information. 
-     * @param aItemId Item's id.
-     */
-    void ConstructL( TXmlEngElement aElement, 
-            const CHnItemId & aItemId );
-    
-    /**
-     * Standard C++ constructor.
-     * @param aCmnPtrs Common pointers structure.
-     */
-    CHnMdNotifyRequest(THnMdCommonPointers* aCmnPtrs);
-           
-private:
-    
-    /**
-     * Own - Associated item id.
-     */
-    CHnItemId* iItemId;
-    
-    /**
-     * Not own - Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-   
-    /**
-     * Own - Service Handler
-     */
-    CHnMdService* iService; 
-    
-    /**
-     * Own - Service Handler
-     */
-    CHnServiceHandler* iSh; 
-    
-    };
-
-#endif // HNMDREQUESTNOTIFY_
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdnotifyrequests.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2007-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:  represents the notification requests
-*
-*/
-
-
-
-#ifndef C_HNMDREQUESTS_H
-#define C_HNMDREQUESTS_H
-
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-class CHnItemId;
-class CHnMdNotifyRequest;
-struct THnMdCommonPointers;
-
-/**
- * Notify Requests.
- * 
- * This class stores CHnMdNotifyRequest objects.
- * 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdNotifyRequests) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aItemId Item's identifier.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdNotifyRequests* NewL( TXmlEngElement aElement, 
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aItemId Item's identifier.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdNotifyRequests* NewLC( TXmlEngElement aElement,
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdNotifyRequests();
-
-    /**
-     * Adds request.
-     *
-     * @since S60 5.0
-     * @param aRequests Request parameters.
-     * @return Status code.
-     */
-    TInt AddNotifyRequest( CHnMdNotifyRequest* aRequests );
-    
-    /**
-     * Gets request.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of a query.
-     * @return Query.
-     */
-    CHnMdNotifyRequest& NotifyRequest( TInt aPosition ) const;
-    
-    /**
-     * Gets number of requests.
-     *
-     * @since S60 5.0
-     * @return Number of queries.
-     */
-    TInt Count() const;
-    
-    /**
-     * Requests notifucation from all services.
-     *
-     * @since S60 5.0
-     * @param aParams Parameters in a form of a CLiwGenericParamList object.
-     * @param aCmdOptions Command options.
-     */
-    void SendAllRequestsL( CLiwGenericParamList& aParams,
-            TInt aCmdOptions = 0);
-    
-    /**
-     * Check if requests were sent.
-     * 
-     * @return Returns true if requests were sent.
-     */
-    TBool Sent();
-
-
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdNotifyRequests();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aItemId Item's id.
-     * @param aCmnPtrs Common pointers container.
-     */
-    void ConstructL(  TXmlEngElement aElement, 
-            const CHnItemId & aItemId,
-            THnMdCommonPointers* aCmnPtrs );
-
-private: // data
-
-    /**
-     * Own - Requests.
-     */
-    RPointerArray<CHnMdNotifyRequest> iNotifyRequests;
-    
-    
-    /**
-     * Indicates if requests were sent.
-     */
-    TBool iSent;
-
-    };
-
-#endif // C_HNMDREQUESTS_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdqueries.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDQUERIES_H
-#define C_HNMDQUERIES_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-
-class CHnMdQuery;
-class CLiwGenericParamList;
-
-/**
- * Queries.
- *
- * This class stores CHnMdQuery objects.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdQueries) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdQueries* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdQueries* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdQueries();
-
-    /**
-     * Adds query.
-     *
-     * @since S60 5.0
-     * @param aQuery Query.
-     * @return Status code.
-     */
-    TInt AddQuery( CHnMdQuery* aQuery );
-        
-    /**
-     * Gets query.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of a query.
-     * @return Query.
-     */
-    CHnMdQuery& Query( TInt aPosition ) const;
-    
-    /**
-     * Gets number of queries.
-     *
-     * @since S60 5.0
-     * @return Number of queries.
-     */
-    TInt Count() const;
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdQueries();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-
-private: // data
-
-    /**
-     * Own - Queries.
-     */
-    RPointerArray<CHnMdQuery> iQueries;
-
-    };
-
-#endif // C_HNMMQUERIES_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdquery.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNMDQUERY_H
-#define C_HNMDQUERY_H
-
-#include <e32base.h>
-#include <xmlengelement.h>
-
-#include "hnglobals.h"
-
-class CHnMdServiceCommand;
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class CHnMdService;
-
-/**
- * Query.
- * 
- * This class represents the query.
- * 
- * This class allows sending queries to different services.
- * 
- * Queries are mostly used during evaluation.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdQuery) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdQuery* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdQuery* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdQuery();
-
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Namespace.
-     */
-    const TDesC& NameSpace() const;
-    
-    /**
-     * Gets namespace.
-     *
-     * @since S60 5.0
-     * @return Service object.
-     */
-    CHnMdService& GetService() const;
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdQuery();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL(TXmlEngElement aElement);
-    
-     /**
-     * Sets namespace.
-     *
-     * @since S60 5.0
-     * @param aNameSpace Namespace descriptor.
-     */
-    void SetNameSpaceL( const TDesC& aNameSpace );
-
-    /**
-     * Sets namespace.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetNameSpaceL( TXmlEngAttr aAttr );
-    
-private: // data
-
-    /**
-     * Own - Namespace.
-     */
-    RBuf iNameSpace;
-
-    /**
-     * Own - service object.
-     */
-    CHnMdService* iService;
-       
-    };
-
-#endif // C_HNMMQUERY_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservice.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#ifndef C_HNMDSERVICE_H
-#define C_HNMDSERVICE_H
-
-//#include <mnaiwservices.h>
-#include <liwcommon.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-
-class CLiwServiceHandler;
-class CHnMdQuery;
-class CLiwGenericParamList;
-class MLiwInterface;
-class CLiwDefaultMap;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnServiceHandler;
-
-/**
- * Service.
- * 
- * This class is desinged to facilitate dealing with services. 	
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdService) : public CBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdService* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully cosntructed object.
-     */
-    static CHnMdService* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnMdService();
-    
-    /**
-     * Gets service.
-     *
-     * @since S60 5.0
-     * @return Service name.
-     */
-    const TDesC8& GetServiceName() const;
-    
-    /**
-     * Gets interface.
-     *
-     * @since S60 5.0
-     * @return Interface name.
-     */
-    const TDesC8& GetInterfaceName() const;
-    
-    /**
-     * Gets command.
-     *
-     * @since S60 5.0
-     * @return Service command.
-     */
-    const CHnMdServiceCommand& GetCommand() const;   
-    
-    /**
-     * returns query results
-     *
-     * since S60 v5.0
-     * @return Result of the query to the service.
-     */
-    const CLiwGenericParamList& Output() const;
-
-    /**
-     * Returns service query constructor.
-     *
-     * since S60 v5.0
-     * @return A structure of the key objects.
-     */
-    CHnMdBaseKey* GetConstructor() const;
-   
-    /**
-     * Reads the consturctor into the model
-     *
-     * since S60 v5.0
-     * @param aElement Xml element.
-     * @return A structure of the key objects.
-     */
-    void CHnMdService::SetConstructorL( TXmlEngElement aElement );
-    
-    /**
-     * Evaluates constructor.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated generic parameters list.
-     */
-    CLiwGenericParamList* EvaluateConstructorL( const CLiwGenericParamList& aList,
-            TInt aPos = 0);
-    
-    /**
-     * Evaluates constructor as key.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated key.
-     */
-    CHnMdBaseKey* EvaluateConstructorAsKeyL( const CLiwGenericParamList& aList,
-            TInt aPos = 0);
-    /**
-     * Evaluates command.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated generic parameters list.
-     */
-    CLiwGenericParamList* EvaluateCommandL( const CLiwGenericParamList& aList, 
-            TInt aPos = 0);
-    
-    /**
-     * Evaluates command as key.
-     * 
-     * @param aList Evaluation parameter.
-     * @param aPos Position of the record in the parameter's list.
-     * @return Evaluated key.
-     */
-    CHnMdBaseKey* EvaluateCommandAsKeyL( const CLiwGenericParamList& aList, 
-            TInt aPos = 0);
-
-
-private:
-
-    /**
-     * Sets interface.
-     * 
-     * @param aAttr Xml attribute.
-     */
-    void SetInterfaceL( TXmlEngAttr aAttr );
-    
-    /**
-     * Sets service.
-     * 
-     * @param aAttr Xml attribute.
-     */
-    void SetServiceL( TXmlEngAttr aAttr );
-    
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdService(); 
-
-
-    /**
-     * Standard symbian 2nd phase contructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-  
-private: // data
-
-    /**
-     * Own - Service.
-     */
-    RBuf8 iServiceName;
-
-    /**
-     * Own - Interface.
-     */
-    RBuf8 iInterfaceName;
-    
-    /**
-     * Own - Service command.
-     */
-    CHnMdServiceCommand* iServiceCommand;
-    
-    /**
-     * Stores input parameters (not data) of the service search method
-     * (ExecuteServiceCmdL).
-     * Own.
-     */
-    CHnMdBaseKey* iConstructor;
-     
-    };
-
-#endif // C_HNMDSERVICEHANDLER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdservicecommand.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef C_HNMDSERVICECOMMAND_H
-#define C_HNMDSERVICECOMMAND_H
-
-#include <e32base.h>
-
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class TXmlEngAttr;
-class CHnMdBaseKey;
-
-/**
- * Service Command.
- * 
- * This class represents the service command. In general, the service command
- * are parameters of the service queries.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0 *** for example, S60 v3.0
- * @ingroup group_hnmetadatamodel
- */   
-NONSHARABLE_CLASS( CHnMdServiceCommand ) : public CBase
-{
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdServiceCommand* NewL( TXmlEngElement aElement );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnMdServiceCommand* NewLC( TXmlEngElement aElement );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdServiceCommand();
-    
-    /**
-     * Returns command.
-     *
-     * @since S60 5.0
-     * @return Command name.
-     */
-    const TDesC8& GetCommandName() const;
-    
-    /**
-     * Returns data.
-     *
-     * @since S60 5.0
-     * @return A list of keys.
-     */
-    CHnMdBaseKey* GetCommandData() const;
-
-    /**
-     * Returns service mode.
-     *
-     * @since S60 5.0
-     * @return Command mode.
-     */
-    TServiceMode GetCommandMode() const;
-       
-private:
-    
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdServiceCommand();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     */
-    void ConstructL( TXmlEngElement aElement );
-        
-    /**
-     * Sets command parameters.
-     * 
-     * @param aElement Xml element.
-     */  
-    void SetCommandDataL( TXmlEngElement aElement );
-    
-    /**
-     * Sets service name.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetCommandNameL( TXmlEngAttr aAttr );
-       
-    /**
-     * Sets service mode.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetCommandModeL( TXmlEngAttr aAttr );
-    
-    /**
-     * Removes redundant key.
-     * TO BE REMOVED.
-     * 
-     * @param aElement Xml element.
-     * @return Xml element with removed redundant key. 
-     */
-    TXmlEngElement RemoveRedundantKeyL( TXmlEngElement aElement );
-    
-private:
-    
-    /**
-     * Service mode: synchronous / asynchronous
-     */
-    TServiceMode iMode;
-    
-    /**
-     * Command name, own
-     */ 
-    RBuf8 iName;
-
-    /**
-     * Data - service parameters, own
-     */
-    CHnMdBaseKey* iData;
-};
-
-#endif /*HNMDSERVICECOMMAND_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdsuite.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef C_HNMDSUITE_H
-#define C_HNMDSUITE_H
-
-#include <e32base.h>
-#include <badesca.h>
-
-#include "hnmdmodel.h"
-#include "hnsuitemodel.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnqueryresultcollector.h"
-
-class CHnSuiteModelContainer;
-class CHnFilter;
-class CHnMdItem;
-class CHnMdLocalization;
-class CHnItemId;
-class CHnMdQueries;
-class CHnMdEventMapping;
-
-/**
- * Suite.
- * 
- * This is the representation of the suite. The crucial member variable
- * of this suite is the list of the items.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdSuite) : public CBase,
-    public MHnQueryResultCollectorNotification
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdSuite* NewL( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdSuite* NewLC( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdSuite();
-
-    /**
-     * Evaluates suite.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model.
-     * @return Status code. 
-     */
-    TInt EvaluateL( CHnSuiteModel & aSuiteModel );
-
-    /**
-     * Marks according to filter which item should be evaluated.
-     *
-     * @since S60 5.0
-     * @param aFilter Filter.
-     * @param aSuiteModel Suite Model to get Custom Id
-     */
-    void MarkEvaluationL( CHnFilter& aFilter, CHnSuiteModel& aSuiteModel );
-    
-    /**
-     * Handles back event.
-     *
-     * @since S60 ?S60_version
-     * @param aMulContainer Suite model container.
-     * @param aGenre Suite's name.
-     * @return Error code.
-     */
-    TInt HandleBackEventL( CHnSuiteModelContainer* aMulContainer, TDesC* aGenre );
-    
-    /**
-     * Switches between edit mode and normal mode
-     *
-     * @since S60 5.0
-     * @param aMode Mode, e.g. normal / edit.
-     */
-    void SetModeL( TMdMode aMode );
-    
-    /**
-     * Returns mode type.
-     * 
-     * @return Mode type, e.g. normal / edit. 
-     */
-    TMdMode Mode();
-    
-    /**
-     * Returns name of the suite.
-     * 
-     * @since S60 v3.2
-     * @return Name of the suite.
-     */          
-    IMPORT_C const TDesC& SuiteName();
-    
-    /**
-     * Return suite parameters.
-     * 
-     * @return Suite parameters.
-     */
-    IMPORT_C CLiwGenericParamList& GetSuiteParameters();
-    
-    /**
-     * Sets suite parameters.
-     * 
-     * @param aParams Suite parameters.
-     */
-    IMPORT_C void SetSuiteParametersL(CLiwGenericParamList& aParams);
-    
-    
-    /**
-     * Returns alternative widget number.
-     * 
-     * @since S60 v5.0
-     * @return Alternative widget number.
-     */ 
-    IMPORT_C TInt GetAlternativeWidgetNumber();
-
-private:
-
-    /**
-     * Set genre.
-     *
-     * @since S60 5.0
-     * @param aGenre Genre descriptor.
-     */
-    void SetGenreL(const TDesC& aGenre);
-
-    /**
-     * Set genre.
-     *
-     * @since S60 5.0
-     * @param aAttr Xml attribute.
-     */
-    void SetGenreL(TXmlEngAttr aAttr);
-    
-    /**
-     * Set template.
-     *
-     * @since S60 5.0
-     * @param aTemplate Template descriptor.
-     */
-    void SetTemplateL( const TDesC8& aTemplate );
-    
-    /**
-     * Set template.
-     *
-     * @since S60 5.0
-     * @param aTemplate Xml attribute.
-     */
-    void SetTemplateL( TXmlEngAttr aTemplate );
-    
-    /**
-     * Sets widget type.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Xml attribute.
-     */
-    void SetWidgetTypeL( TXmlEngAttr aWidgetType );
-    
-    /**
-     * Sets allowable widget types.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Contains widget types.
-     */
-    void SetWidgetTypeL( TDesC8& aWidgetType );
-
-    /**
-     * Sets allowable widget types and store it in CR.
-     *
-     * @since S60 5.0
-     * @param aWidgetType Widget type.
-     */
-    void SaveWidgetTypeL( TDesC8& aWidgetType );
-    
-    /**
-     * Sets title.
-     *
-     * @since S60 5.0
-     * @param aTitle Xml attribute.
-     */
-    void SetTitleL( TXmlEngAttr aTitle );
-    
-    /**
-     * Sets empty text.
-     *
-     * @since S60 5.0
-     * @param aEmptyText The text displayed for empty suite.
-     */
-    void SetEmptyTextL( TXmlEngAttr aEmptyText );
-
-    /**
-     * Evaluate suite itself.
-     *
-     * @since S60 5.0
-     * @param aSuiteModel Suite model.
-     */
-    void EvaluateSuiteItselfL( CHnSuiteModel & aSuiteModel );
-
-    /**
-     * Creates items.
-     *
-     * @since S60 5.0
-     * @param aEntries Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateItemsL(TXmlEngElement aEntries,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Gets direct child property.
-     *
-     * @since S60 5.0
-     * @param iIndex Index.
-     * @param aPropertyType Property type.
-     * @param aResult Result variant.
-     * @return Status.
-     */
-    TBool GetDirectChildProperty( TInt iIndex,
-            TPropertyType aPropertyType,
-            TLiwVariant& aResult );
-    
-    /**
-     * Called when results have finished being collected.
-     * 
-     * @param aResults The results.
-     */
-    void ResultsCollectedL( CLiwGenericParamList* aResults );
-    
-    /**
-     * Sets custom id using parameters.
-     * 
-     * @param aSuiteModel Suite model.
-     * @param aParams Parameters used to set custom id.
-     * @param aPos Positions of the custom id in aParams.
-     */
-    void SetCustomIdL( CHnSuiteModel* aSuiteModel, 
-    		const CLiwGenericParamList& aParams, TInt aPos );
-    
-    /**
-     * Sets exit mode for a suite.
-     */
-    void SetExitModeL();
-
-
-private:
-
-    /**
-     * Standar C++ constructor.
-     * 
-     * @since S60 5.0
-     * @param aCmnPtrs Common pointers.
-     */
-    CHnMdSuite( THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Restores widget type for this suite from central repository.
-     *
-     * @return Error code.
-     */
-    TInt ReadWidgetTypeL();
-    
-    /**
-     * Saves widget type for this suite in central repository.
-     *
-     * @return Error code.
-     */
-    TInt SaveWidgetTypeL() const;
-        
-    /**
-     * Checks if the widget type is stored in service 
-     * and saves it in given descriptor.
-     *
-     * @param aParams Contains data from service.
-     * @param aWidgetType Widget type to be set.
-     * @return True if widget was set, False 
-     *      when no widget stored in service.
-     */
-    TBool ReadWidgetTypeFromServiceL( CLiwGenericParamList& aParams, 
-            RBuf8& aWidgetType );
-    
-    /**
-     * Sets the appropriate widget flag for allowable widgets.
-     * 
-     * @param aConfDes Configuration string.
-     */ 
-    void DoSetWidgetTypeL( TDesC8 & aConfDes );
-    
-    /**
-     * Sets the alternative template for widget switch.
-     * 
-     * @param aOption Position of widget in xml configuration.
-     */ 
-    void SetAlternativeTemplateL( TInt aOption );
-    
-    /**
-     * Sets the alternative widget.
-     * 
-     * @param aParams List of data from service.
-     */ 
-    void SetAlternativeWidgetL( CLiwGenericParamList& aParams );
-    
-    /**
-     * Sets the alternative template.
-     * 
-     * @param aParams List of data from service.
-     */ 
-    void SetAlternativeTemplateL( CLiwGenericParamList& aParams );
-        
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param element Xml element.
-     */
-    void ConstructL( TXmlEngElement element );
-    
-    /**
-     * Adds widget type to generic param list passed to
-     * items when evaluating the suite.
-     * 
-     * The information about widget type can be retrieved
-     * using the following path:
-     *      mm:/suite:type
-     * 
-     * @param aParamList a param list into which the wigdet
-     *                   type is added.
-     * 
-     */
-    void AddInternalStateL( CLiwGenericParamList& aParamList );
-    
-
-    /**
-     * Sets custom identifier.
-     * 
-     * @since S60 5.50
-     * @param aElement Xml element.
-     */
-    void SetCustomIdL( TXmlEngElement aElement );
-    
-    /**
-     * Sets highlight according to parameters passed in uri.
-     */
-    void SetUriBasedHighlightL();
-    
-
-
-private: // data
-
-    /**
-     * Own - Suite name.
-     */
-    RBuf iSuiteName;
-
-    /**
-     * Own - Title
-     */
-    RBuf8 iTitle;
-
-    /**
-     * Own - Empty text
-     */
-    RBuf8 iEmptyText;
-
-    /**
-     * Own - Items.
-     */
-    RPointerArray< CHnMdItem > iItems;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-    
-    /**
-     * Allowable templates.
-     */
-    CDesC8Array * iAllowableTemplate;
-    
-    /**
-     * Widget type.
-     */
-    THnSuiteWidgetType iWidgetType;
-     
-    /**
-     * Widget type.
-     */
-    RArray< THnSuiteWidgetType > iAllowableWidgetType;
-    
-    /**
-     * Allowed types - as string.
-     */
-    RBuf8 iAllowedTypes;
-    
-    /**
-     * Event mapping
-     */
-    CHnMdEventMapping* iEventMapping;
-    
-    /**
-     * Queries
-     */
-    CHnMdQueries* iQueries;
-    
-    /**
-     * Cached evaluation parameters, i.e. params:folder_id, etc.
-     */
-    CLiwGenericParamList* iSuiteParams;
-    
-    /**
-     * Stores information about mode.
-     */
-    TMdMode iMode;
-    
-    /**
-     * Own.
-     */
-    CHnQueryResultCollector* iQc;
-    
-    /**
-     * Suite model.
-     * Not Own
-     */
-    CHnSuiteModel* iSuiteModel;
-    
-    /**
-     * Custom identifier. 
-     */
-    RBuf8 iCustomId8;
-
-public:
-    /**
-     * Marks if evaulation should take place. 
-     */    
-    TBool iEvaluationNeeded;
-    
-    };
-
-#endif // C_HNMMSUITE_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdtoolbar.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef HNMDTOOLBAR_H_
-#define HNMDTOOLBAR_H_
-
-#include <e32base.h>
-#include <xmlengelement.h>
-
-class CLiwGenericParamList;
-class CHnMdButton;
-struct THnMdCommonPointers;
-class TXmlEngElement;
-class CHnToolbarModel;
-
-/**
- * Toolbar item.
- * 
- * This is the class which represents the toolbar item.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-
-NONSHARABLE_CLASS( CHnMdToolbar ) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-    static CHnMdToolbar* NewLC( TXmlEngElement aElement,
-       THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Constructed object.
-     */
-     static CHnMdToolbar* NewL( TXmlEngElement aElement,
-           THnMdCommonPointers* aCmnPtrs );
-
-
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     */
-    ~CHnMdToolbar( );
-    
-    /**
-     * Standard C++ virtual destructor.
-     *    
-     * @since S60 5.0
-     * @param aToolbar Fills toolbar model with buttons.
-     * @param aQueryResults CLiwGenericParamList object.
-     * @param aPos Position of the record in the params list.
-     */
-    void EvaluateL( CHnToolbarModel* aToolbar, 
-                    const CLiwGenericParamList& aQueryResults, 
-                    TInt aPos = 0 );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     */
-    CHnMdToolbar();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Creates buttons for toolbar.
-     *
-     * @since S60 5.0
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void CreateButtonsL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs );
-        
-private: // data
-
-    /**
-     * Buttons for toolbar created from xml configuration.
-     * Own.
-     */
-    RPointerArray< CHnMdButton > iButtons;
-    };
-
-#endif /*HNMDTOOLBAR_H_*/
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimapping.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDUIMAPPING_H
-#define C_HNMDUIMAPPING_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-#include <e32hashtab.h>
-
-#include "hnglobals.h"
-
-class CLiwDefaultMap;
-struct THnMdCommonPointers;
-class CHnMdUiMappingElement;
-class CLiwGenericParamList;
-class CHnItemModel;
-
-/**
- * UI mapping.
- * 
- * This class contains the list of CHnMdUiMappingElement objects.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdUiMapping) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMapping* NewL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMapping* NewLC( TXmlEngElement aElement,
-                                  THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standarc C++ virtual constructor.
-     */
-    virtual ~CHnMdUiMapping();
-    
-    /**
-     * Fills graphical item.
-     *
-     * @param aItemModel Item model.
-     * @param aQueriesResultsList Hash map with query results
-     * @param aPos Current item number
-     * @return True if an item was correctly filled. 
-     */     
-    TBool FillGraphicalItemL( CHnItemModel* aItemModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-    
-    /**
-     * Adds UI mapping element.
-     *
-     * @param aUiMappingElement UI mapping element.
-     */
-    void AddUiMappingElementL(
-        CHnMdUiMappingElement *aUiMappingElement );
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdUiMapping();
-
-    /**
-     * Standard symbian 2nd pahse constructor.
-     *
-     * @param aElement Xml element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( TXmlEngElement aElement,
-                     THnMdCommonPointers* aCmnPtrs );
-    
-private: // data
-
-    /**
-     * Mappings.
-     */
-    RPointerArray<CHnMdUiMappingElement> iMappings;
-
-    };
-
-#endif // C_HNMMUIMAPPING_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmduimappingelement.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNMDUIAPPINGELEMENT_H
-#define C_HNMDUIAPPINGELEMENT_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-#include <e32hashtab.h>
-
-class CHnMdValueBase;
-class CHnItemModel;
-class CLiwGenericParamList;
-class CHnConditionInterface;
-struct THnMdCommonPointers;
-
-/**
- * UI Mapping Element.
- * 
- * This class is designed to support output attributes defined in the
- * xml configuration. Most common case is when these attributes
- * define the content of the items, e.g.: text, icons.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdUiMappingElement) : public CBase
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMappingElement* NewL( TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     * @return Fully constructed object.
-     */
-    static CHnMdUiMappingElement* NewLC( TXmlEngElement aElement,
-                                         THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnMdUiMappingElement();
-    
-    /**
-     * Gets alias.
-     *
-     * @return Alias.
-     */
-    const TDesC8& Alias() const;
-    
-    /**
-     * Fills graphical item.
-     * 
-     * @param aItemModel Item's model.
-     * @param aQueriesResultsList Parameters used when filling.
-     * @param aPos Position of a record in a parameters list.
-     * @return True if filling was correctly finished.
-     */
-    TBool FillGraphicalItemL( CHnItemModel* aItemModel ,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos );
-    
-    /**
-     * Checks if the uimappingelement is valid.
-     *
-     * @since S60 5.0
-     * @param aQueryResults Parameters used when validating.
-     * @param aPos Position of a record in a parameters list.
-     * @return True if condition was satisfied.
-     */
-    TBool IsValidL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-           
-private:
-
-    /**
-     * Standard C++ constructor.
-     */
-    CHnMdUiMappingElement();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement , 
-                     THnMdCommonPointers* aCmnPtrs);
-    
-    /**
-     * Sets string handler.
-     *
-     * @param aName Name.
-     */
-    void SetValueL( const TXmlEngAttr& aName);
-    
-    /**
-     * Sets type.
-     *
-     * @param aType Type.
-     */
-    void SetTypeL( const TXmlEngAttr& aType );
-    
-    /**
-     * Set alias.
-     *
-     * @param aName Name.
-     */
-    void SetAliasL( const TXmlEngAttr& aName );
-    
-    /**
-     * Set value.
-     *
-     * @param aElement Element.
-     * @param aCmnPtrs Common parameters.
-     */    
-    void SetValueL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-
-private: // data
-
-    /**
-     *
-     * Alias.
-     */
-    RBuf8 iAlias;
-    
-    /**
-     * ValueL.
-     */
-    CHnMdValueBase* iValue;
-    
-    /**
-     * Not own - common pointers structure.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Own - condition.
-     */
-    CHnConditionInterface* iCondition;
-    };
-
-#endif // C_HNMUIAPPINGELEMENT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluebase.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef C_HNMDVALUEBASE_H
-#define C_HNMDVALUEBASE_H
- 
-#include <e32base.h>
-
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class TXmlEngElement;
-class CHnAttributeBase;
-
-enum THnMdValueType
-    {
-    EHnTextType, 
-    EHnImageType
-    };
-
-/**
- * Value Base
- * 
- * Based class used for output transformation.
- * Specific classes based on information from XML make correct transformation
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueBase) : public CBase
-    {
-public:
-    /**
-     * Create specific class based on parameter
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Pointer to common pointer structure.
-     */
-    static CHnMdValueBase* CreateL( const TXmlEngElement& aElement, 
-                                THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Get value from spefic class
-     * 
-     * @param aQueriesResultsList query results use for dynnamic data
-     * @param aPos position if data are in list format.
-     * @return A pointer to the CHnAttributeBase object.
-     */
-    
-    virtual CHnAttributeBase* CreateAttributeL( 
-            const CLiwGenericParamList* aQueriesResultsList, TInt aPos ) = 0;
-            
-    };
-
-#endif /*C_HNMDVALUEBASE_H*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvalueimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef CHNMDIMAGE_H
-#define CHNMDIMAGE_H
-
-#include <e32base.h>
-#include <AknsItemID.h> 
-#include "hnmdvaluebase.h"
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class CGulIcon;
-class CFbsBitmap;
-class CHnAttributeBase;
-class CHnAttributeImage;
-
-// CLASS DECLARATION
-
-/**
- * Value Image.
- * 
- * Specific class inherigint from CHnMdValue Base. This
- * class is responsible for images.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueImage) : public CHnMdValueBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CHnMdValueImage();
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs pointer to common pointer structure.
-     * @return Object instance of meta data value image.
-     */
-    static CHnMdValueImage* NewL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs pointer to common pointer structure.
-     * @return Object instance of meta data value image.
-     */
-    static CHnMdValueImage* NewLC( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Evaluates image object changing references into values
-     * if possible.
-     * 
-     * @param aList Parameters list used in evaluation.
-     * @param aPos Position of the corresponding record in a paramters list.
-     */
-    void EvaluateL( CLiwGenericParamList* aList, TInt aPos );
-    
-// From CHnMdValueBase.
-    
-    /**
-     * Retruns path to the file or the id of the file.
-     * 
-     * @param aQueriesResultsList Parameters list used when creating an attribute.
-     * @param aPos Position of the corresponding record in a paramters list.
-     * @return Attribute.
-     */
-    CHnAttributeBase* CreateAttributeL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos );
-                
-    /**
-     * Returns CGulIcon object.
-     * 
-     * @param aQueriesResultsList Parameters list used when creating an attribute.
-     * @param aPos Position of the corresponding record in a paramters list.
-     * @return CGulIcon object.
-     */
-//    CGulIcon* GetIconL( const CLiwGenericParamList* aQueriesResultsList = NULL,
-//            TInt aPos = 0 );
-    
-    /**
-     * Returns variant containing bitmap.
-     * 
-     * @param aPath Path to the bitmap file.
-     * @return Variant object. Ownership is transferred.
-     */
-    TLiwVariant* BitmapFromLiwL( const TDesC8& aPath );
-
-    /**
-     * Returns bitmap.
-     * 
-     * @return Variant containing bitmap object.
-     */
-    TLiwVariant* BitmapL();
-    
-    /**
-     * Returns mask.
-     * 
-     * @return Variant containing bitmap object.
-     */
-    TLiwVariant* MaskL();
-    
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CHnMdValueImage();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     * @param aElement Xml element.
-     * @param aCmnPtrs Meta data common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-   
-    /**
-     * Sets image source.
-     */
-    void SetImageSourceL();
-    
-    /**
-     * Searches for resource id in the given file using
-     * resource name.
-     * 
-     * If not found return KErrNotFound
-     * 
-     * @param aResourceFileContents contents of the file to search
-     * @param aResourceName name of the resource (string)
-     * @return KErrNotFound in case of error, otherwise id if the resource
-     */
-    TInt GetResourceIdL( const TDesC8& aResourceFileContents,
-            const TDesC8& aResourceName );
-    
-    /**
-     * File name getter.
-     * 
-     * @return file name
-     */
-    const TDesC8& FileName8();
-    
-    /**
-     * Skin id getter.
-     * 
-     * @return skin id.
-     */
-    TAknsItemID SkinIdL();
-    
-    /**
-     * Determines bitmap id and mask id in the MIF file.
-     * If bitmap id or/and mask id cannot be determined, KErrNotFound
-     * will be returned in aBitmapId or/and aMaskId. 
-     * 
-     * @param aBitmapId on successful execution will be set to bitmap id
-     * @param aMaskId on successful execution will be set to mask id
-     */
-    void GetBitmapAndMaskIdL( TInt& aBitmapId, TInt& aMaskId );
-    
-    /**
-     * Replaces file extension in a path to a file.
-     * Please note that the new extension must not be longer than the old one,
-     * or the method will leave. This means that this method cannot be applied
-     * to files without extension.
-     * 
-     * @param aPath path to a file with extension
-     * @param aNewExt a new extension
-     * @return path to the same file as aPath but with extension replaced
-     */
-    static HBufC* ReplaceFileExtensionLC(
-            const TDesC& aPath, const TDesC& aNewExt );
-    
-    /**
-     * Application UID getter.
-     * 
-     * @return application uid
-     */
-    TUid ApplicationUidL();
-    
-    /**
-     * Sets attribute data.
-     * 
-     * @param aAttr Attribute data to be set.
-     */
-    void SetAttributeDataL( CHnAttributeImage* aAttr );
-    
-    /**
-     * Return Mif file name.
-     * 
-     * @return Mif file name.
-     */
-    HBufC* GetMifFileNameL();
-
-    /**
-     * Returns file name.
-     * 
-     * @return File name.
-     */
-    HBufC* GetFileNameSrcL();
-    
-    /**
-     * Returns a path to the best matching mif file corresponding
-     * to the given file name.
-     * 
-     * @param aFs a reference to the file server
-     * @param aFileName a name of the file to be localized
-     * @return a valid path to the mif file
-     * 
-     */
-    HBufC* FindMatchigMifFileL( const RFs& aFs, TDesC& aFileName );
-    
-    /**
-     * Creates keys for caching bitmap and mask ids.
-     * 
-     * @param aKeyBitmap A bitmap key name to be created. 
-     * @param aBitmapIdBuf A bitmap id.
-     * @param aKeyMask A mask key to be created.
-     * @param aMaskIdBuf A mask id.
-     */
-    void CHnMdValueImage::CreateKeysLC( RBuf8& aKeyBitmap, RBuf8& aBitmapIdBuf, 
-    		RBuf8& aKeyMask, RBuf8& aMaskIdBuf );
-    
-
-private: // data
-    
-    /**
-     * Own - Skin id minor.
-     */
-    RBuf8 iSkinIdMinor8;
-    
-    /**
-     * Own - Skin id major.
-     */
-    RBuf8 iSkinIdMajor8;
-
-    /**
-     * Own - File name.
-     */
-    RBuf8 iFileNameSrc8;
-    
-    /**
-     * Own - Mif file name.
-     */
-    RBuf8 iMifFile8;
-    
-    /**
-     * Own - File name.
-     */
-    RBuf iFileName;
-    
-    /**
-     * Own - Bitmap id.
-     */
-    RBuf8 iBitmapId8;
-    
-    /**
-     * Own - Mask id.
-     */
-    RBuf8 iMaskId8;
-    
-    /**
-     * Own - Application uid.
-     */
-    RBuf8 iApplicationUid8;
-    
-    /**
-     * Own - Bitmap.
-     */
-    RBuf8 iBitmap8;
-    
-    /**
-     * Own - Mask;
-     */
-    RBuf8 iMask8;
-    
-    /**
-     * Own - Image source.
-     */
-    TImageSource iImageSource;
-    
-    /**
-     * A value contining path to the physical image
-     * or its id.
-     */
-    RBuf iReturnValue;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Parameters list.
-     */
-    const CLiwGenericParamList* iParamList;
-    
-    /**
-     * Position of the corresponding record in parameters list.
-     */
-    TInt iPos;
-    
-    /**
-     * Full path to the MIF file or NULL if there is no MIF file.
-     * Own.
-     */
-    HBufC* iMifFileName;
-
-    };
-
-#endif // CHNMDIMAGE_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnmdvaluetext.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef CHNMDTEXT_H
-#define CHNMDTEXT_H
-
-#include <e32base.h>
-
-#include "hnmdvaluebase.h"
-#include "hnglobals.h"
-
-class TXmlEngElement;
-class CLiwGenericParamList;
-struct THnMdCommonPointers;
-class CDesC16Array;
-class CDesC8Array;
-class CArrayFix<TInt>;
-
-// CLASS DECLARATION
-
-/**
- * Value Text
- * 
- * Specific class inherigint from CHnMdValue Base. This
- * class is responsible for texts: implements text handling in UI mapping phase
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnMdValueText) : public CHnMdValueBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Common pointers.
-     */
-    static CHnMdValueText* NewL( const TXmlEngElement& aElement,
-            THnMdCommonPointers* aCmnPtrs );
-        
-    /**
-     * Destructor.
-     */
-    ~CHnMdValueText();
-
-    /**
-     * From CHnMdValueBase.
-     * 
-     * Retruns localized formatted text.
-     * 
-     * @param aQueriesResultsList Parameters used when getting localized formatted text. 
-     * @param aPos Position of the correspoing record in the parameters list. 
-     * @param aValue Localized formatted text.
-     * @return Error code.
-     */
-    TInt GetL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, TPtrC& aValue );
-    
-    /**
-     * Creates attribute.
-     * 
-     * @param aQueriesResultsList Parameters used when creating an attribute. 
-     * @param aPos Position of the correspoing record in the parameters list. 
-     * @return Attribute object.
-     */
-    CHnAttributeBase* CreateAttributeL( const CLiwGenericParamList* aQueriesResultsList,
-                TInt aPos );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CHnMdValueText();
-    
-    /**
-     * EPOC default constructor for performing 2nd stage construction.
-     * 
-     * @param aElement XML element.
-     * @param aCmnPtrs Common pointers.
-     */
-    void ConstructL( const TXmlEngElement& aElement,
-                     THnMdCommonPointers* aCmnPtrs );
-
-    /**
-     * Fills list of parameters for text formating.
-     * 
-     * @param aQueryList query results use for dynamic data.
-     * @param aPos position if data are in list format.
-     * @param aDesParams array of descriptor parameters to be filled .
-     * @param aNumericParams array of numeric parameters to be filled  .
-     */
-    void FillParamsL( const CLiwGenericParamList* aQueryList, TInt aPos,
-                      CDesC16Array& aDesParams, CArrayFix<TInt>& aNumericParams);
-    
-    
-    /**
-     * Gets value from resource file
-     *
-     * @param aQueriesResultsList Query results use for dynamic data
-     * @param aPos Position if data are in list format
-     * @param aValue Return value
-     * @return Error code      
-     */
-    TInt GetFromResourceFileL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, RBuf& aValue );
-    
-    
-    /**
-     * Gets simple value.
-     *
-     * @param aQueriesResultsList Query results use for dynamic data.
-     * @param aPos Position if data are in list format.
-     * @param aValue Return value.
-     * @return Error code.
-     */
-    TInt GetSimpleValueL( const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos, RBuf& aValue );
-    
-private: // data
-    /**
-     * Container of common pointers used in Hierarchy navigator
-     * Not own.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-    
-    /**
-     * Simple value, it can be unlocalized text,
-     * or text with localization namespace
-     * or path to query.
-     */
-    RBuf8 iSimpleValue;
-    
-    /**
-     * Resource file name or path for query.
-     * Own.
-     */
-    RBuf8 iResourceFile;
-    
-    /**
-     * Resource id value or path for query.
-     * Own.
-     */
-    RBuf8 iResourceId;
-    
-    /**
-     * It is cached value that is returned to client of this class.
-     * Own.
-     */
-    RBuf iCachedValue;
-    
-    /**
-     * Parameters list defined in XML, it should be path to query.
-     * Own.
-     */
-    CDesC8Array* iParameters;
-    
-    /**
-     * Cached list of descriptor parameters used for formating.
-     * Own.
-     */
-    CDesC16Array* iCachedDesParameters;
-    
-    /**
-     * Cached list of numeric parameters used for formating.
-     * Own.
-     */
-    CArrayFix<TInt>* iCachedIntParameters;
-    
-    };
-
-#endif // CHNMDTEXT_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnqueryresultcollector.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNQUERYCOLLECTOR_H
-#define C_HNQUERYCOLLECTOR_H
-
-#include <e32base.h>
-
-class CLiwGenericParamList;
-class CHnMdQueries;
-class CHnServiceHandler;
-class CHnMdQuery;
-
-// CLASS DECLARATION
-/**
- * Query Results Collector - Callback Interface 
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-class MHnQueryResultCollectorNotification
-	{
-public:
-	
-	/**
-	 * Callback function called after results are collected
-	 * 
-	 * 	 
-	 * @since S60 5.0
-     * @param aResults Results collected for the query.
-	 */
-	virtual void ResultsCollectedL( CLiwGenericParamList* aResults ) = 0; 
-	};
-
-
-// CLASS DECLARATION
-/**
- * Query Results Collector.
- * 
- * This class is responsible for collecting queries results.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnQueryResultCollector ): public CActive
-	{
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aQueries Queries to operate on.
-     * @param aParams Parameters.
-     * @return Fully constructed object.
-     */
-	static CHnQueryResultCollector* NewL( const CHnMdQueries& aQueries ,
-	                               const CLiwGenericParamList& aParams);
-	
-	/**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aQueries Queries to operate on.
-     * @param aParams Parameters.
-     * @return Fully constructed object.
-     */
-	static CHnQueryResultCollector* NewLC( const CHnMdQueries& aQueries,
-                                  const CLiwGenericParamList& aParams );
-	        
-    /**
-     * Destructor.
-     */
-	~CHnQueryResultCollector();
-
-    /**
-     * Starts performing queries asynchronously.
-     *
-     * @since S60 5.0
-     * @param aNotification callback interface - ResultCollectedL method calles
-     *                      when queries results collected.
-     */
-	void StartAsynchL( MHnQueryResultCollectorNotification* aNotification );
-    
-protected:
-    // from CActive
-    /**
-     * Resets the current query results.
-     */
-    void DoCancel();
-    
-    /**
-     * Handles query result collection.
-     */
-    void RunL();    
-
-private:
-    /**
-     * Standard C++ constructor.
-     * 
-     * @param aQueries Queries for which results are to be executed.
-     * @param aParams Parameters for the queries.
-     */
-	CHnQueryResultCollector( const CHnMdQueries& aQueries,
-	                         const CLiwGenericParamList& aParams );
-	
-    /**
-     * Standard symbian 2nd phase constructor.
-     *
-     */
-	void ConstructL();
-	
-    /**
-     * Starts performing next query from a raw.
-     * 
-     */	
-	void ExecQueryAsynchL();
-	
-	/**
-     * Resets iterator and current results.
-     */
-	void ResetL();
-	
-	/**
-     * Check if there is another query waiting.
-     * 
-     * @return ETrue if there is another query waiting.
-     */
-	TBool NextQuery();
-		
-    /**
-     * Removes items.
-     * 
-     */
-	void HandleQueryResultsL();
-    
-    /**
-     * Executes query on Service Handler.
-     * 
-     * @param aQuery Query to be executed.
-     */
-    void ExecQueryL( CHnMdQuery& aQuery );
-    
-private:
-	
-	/**
-     * Queries.
-     * Not Own.
-     */
-	const CHnMdQueries& iQueries;
-	
-	/**
-     * Own.
-     */
-	CLiwGenericParamList* iResults;
-	
-	/**
-     * Not Own.
-     */
-	const CLiwGenericParamList& iParams;
-	
-	/**
-     * Own.
-     */
-	TInt iQueryIterator;
-	
-	/**
-     * Own.
-     */
-	CLiwGenericParamList* iCurrentQueryResults;
-	
-	/**
-     * Not Own.
-     */
-	MHnQueryResultCollectorNotification* iNotification;
-	
-	/**
-     * Service handler.
-     * Own.
-     */
-    CHnServiceHandler* iSh;
-	
-	};
-
-#endif // C_HNQUERYCOLLECTOR_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnrepositoryobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  factory settings for active space
-*
-*/
-
-
-#ifndef HNREPOSITORYOBSERVER_H_
-#define HNREPOSITORYOBSERVER_H_
-
-#include <liwcommon.h>
-#include <e32base.h>
-#include <centralrepository.h>
-#include <cenrepnotifyhandler.h>
-#include "hnmdmodel.h"
-#include "hnservicehandler.h"
-#include "hnsuiteobserver.h"
-
-/**
- * Repository Observer base class.
- *
- * It is used to be derived by repository observers.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnRepositoryObserver ):
-    public CBase,
-    public MCenRepNotifyHandlerCallback
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryObserver();
-
-
-protected:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-    CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs );
-
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-    CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs, TUint32 iId );
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-    void ConstructL( const TUid aRepositoryUid );
-
-protected:
-
-    /**
-     * Own - Central Repository access class.
-     */
-    CRepository *iRepository;
-
-    /**
-     * Id of the CR entry to be watched.
-     */
-    TUint32 iId;
-
-    /**
-     * Common pointers.
-     */
-    THnMdCommonPointers* iCmnPtrs;
-
-    /**
-     * Own - Central repository notification handler.
-     */
-    CCenRepNotifyHandler* iNotifyHandler;
-
-	};
-
-/**
- * Widget Type Repository Observer.
- *
- * It is used to inform hierarchy navigator of changes in the suites repository.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnRepositoryWidgetTypeObserver ): public CHnRepositoryObserver
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryWidgetTypeObserver();
-
-    /**
-     * Factory function.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @return Repository Observer.
-     * @since S60 v5.0
-     */
-    static CHnRepositoryWidgetTypeObserver* NewL( THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid  );
-
-    /**
-     * Factory function.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @return Repository Observer.
-     * @since S60 v5.0
-     */
-    static CHnRepositoryWidgetTypeObserver* NewLC( THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid  );
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyGeneric(TUint32 aId);
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyGenericL(TUint32 aId);
-
-private:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-	CHnRepositoryWidgetTypeObserver( THnMdCommonPointers* aCmnPtrs );
-
-private:
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-	void ConstructL( const TUid aRepositoryUid );
-
-private:
-
-	/**
-	 * Array holding ids of widgets being switched.
-	 * It is used to eliminate double refresh for such suites.
-	 */
-	RArray<TUint32> iWidgetSwitches;
-
-	};
-
-
-
-NONSHARABLE_CLASS( CHnRepositoryShowFolderObserver ): 	public CHnRepositoryObserver,
-														public MLiwNotifyCallback,
-														public MHnSuiteObserver
-	{
-public:
-
-    /**
-     * Default C++ Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CHnRepositoryShowFolderObserver();
-
-    /**
-	 * Factory function.
-	 *
-	 * @param aCmnPtrs Common pointers.
-	 * @return Repository Observer.
-	 * @since S60 v5.0
-	 */
-	static CHnRepositoryShowFolderObserver* NewL(
-			THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid,
-			const TUint32 aId);
-
-	/**
-	 * Factory function.
-	 *
-	 * @param aCmnPtrs Common pointers.
-	 * @return Repository Observer.
-	 * @since S60 v5.0
-	 */
-	static CHnRepositoryShowFolderObserver* NewLC(
-			THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid,
-			const TUint32 aId);
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyString(TUint32 aId, const TDesC16& aNewValue );
-
-    /**
-     * Change handler method.
-     * It is invoked whenever notifier detects a change in the CR.
-     *
-     * @param aId Id of the entry in CR.
-     * @since S60 v5.0
-     */
-    void HandleNotifyStringL(TUint32 aId, const TDesC16& aNewValue );
-
-
-    /**
-     * From MLiwNotifyCallback
-     */
-    TInt HandleNotifyL(
-        TInt aCmdId,
-        TInt aEventId,
-        CLiwGenericParamList& aEventParamList,
-        const CLiwGenericParamList& aInParamList);
-
-    /**
-     * From MHnSuiteObserver
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-            CHnSuiteModel *aModel );
-
-
-
-private:
-
-    /**
-     * Defautlt C++ Constructor.
-     *
-     * @param aCmnPtrs Common pointers.
-     * @since S60 v5.0
-     */
-	CHnRepositoryShowFolderObserver( THnMdCommonPointers* aCmnPtrs, TUint32 iId  );
-
-    /**
-     * Extracts the folder name from the CR key.
-     *
-     * @param aNewValue The CR key.
-     * @since S60 v5.0
-     */
-	void ExtractCRKeyShowFolderName( const TDesC& aNewValue );
-
-	/**
-	 * Request get list for parent folder of an application.
-	 *
-	 * @param aFolderId A parent folder id
-	 * @since S60 v5.0
-	 */
-    void GetShowFolderL( TUint32 aFolderId );
-
-    /**
-     * Request get list for a folder with given application group name
-     * contained in iCRKeyFolderName.
-     *
-     * @since S60 v5.0
-     */
-    void GetShowFolderGroupNameL();
-
-private:
-    /**
-     * Type of a flag describing the type of notification.
-     * APP_ID - MCS id is given
-     * APP_UID - Application UID is given
-     * SECOND_NOTIFY - handled notify caused by the second get list
-     */
-    enum TNotifyType { EAPP_ID=1, EAPP_UID=2, ESECOND_NOTIFY=4 };
-
-private:
-
-    /**
-     * Second stage constructor.
-     *
-     * @since S60 v5.0
-     */
-	void ConstructL( const TUid aRepositoryUid );
-
-private:
-
-	/**
-     * Folder application group name.
-     */
-	TBuf8<KApaMaxAppGroupName> iCRKeyFolderName;
-
-    /**
-     * Mcs id for an application item in a folder with a given app group name.
-     */
-	TBuf8<KUidStringLength> iCRKeyFolderItemUid;
-
-	/**
-     * Own.
-     * Intance of the service handler.
-     */
-    CHnServiceHandler* iServiceHandler;
-
-    /**
-       * Flag describing the type of notification.
-     */
-    TInt iNotifyType;
-	};
-
-#endif /*HNREPOSITORYOBSERVER_H_*/
-
-//End of file
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimplecondition.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITION_H
-#define C_HNSIMPLECONDITION_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengelement.h> 
-#include <liwgenericparam.h>
-#include "hnglobals.h"
-#include "hnconditioninterface.h"
-
-class CLiwGenericParamList;
-class TLiwVariant;
-
-/**
- * Simple Condition.
- * 
- * The simple condition class. This is the base class for different
- * condition classes, e.g. Greater, Has, HasNot conditions.
- *  
- * @lib hierarchynavigatorengine
- * @since S60 v3.2
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnSimpleCondition) : public CHnConditionInterface
-    {
-public:
-   
-    /**
-     * Standard factory function.
-     * 
-     * @param aElement Xml element.
-     * @return Fully constructed object.
-     */
-    static CHnSimpleCondition* NewL( TDesC8 & aElement );
-
-    /**
-     * Standard C++ Destructor
-     */
-    ~CHnSimpleCondition();
-    
-    /**
-     * Removes quotes.
-     *
-     * @since S60 v3.2
-     * @param aValue String to remove quotes from.
-     */
-    static void RemoveQuotes( RBuf8 & aValue );
-    
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aQueryResults Results of query.
-     * @param aPos Position.
-     * @return True if condition is satisfied.
-     */    
-    TBool ResultL( const CLiwGenericParamList& aQueryResults, TInt aPos );
-        
-    /**
-     * Returns result.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     * @return True if condition is satisfied.
-     */    
-    virtual TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight ) = 0;
-
-protected:
-    
-    /**
-     *  Standard C++ Constructor
-     */
-    CHnSimpleCondition();
-
-    /**
-     * Standard symbian second phase constructor.
-     * 
-     * @param aElement Xml element.
-     */
-    void ConstructL( TDesC8 & aElement );
-    
-    /**
-     * Gets positions.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    virtual TInt GetPositionL( const TDesC8& aBuffer ) = 0;
-    
-    /**
-     * Gets length.
-     * 
-     * @return Length of an operator.
-     */
-    virtual TInt SignLength() = 0;
-
-private:
-    
-    
-    /**
-     * Checks if both combinations, if either of the pairs, has this 
-     * sort of type configuration.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     * @param aType1 Variant type 1.
-     * @param aType2 Variant type 2.
-     */
-    static TLiwVariant* CheckTypes( TLiwVariant* aVarLeft, TLiwVariant* aVarRight, 
-            LIW::TVariantTypeId aType1, LIW::TVariantTypeId aType2 );
-    
-    /**
-     * Normalizes to one sort of descriptor type.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */
-    static void NormalizeVariantTypeDesL( TLiwVariant* aVar );
-    
-    /**
-     * Tries to match types of content.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left variant.
-     * @param aVarRight Right variant.
-     */    
-    static void NegotiateTypesL( TLiwVariant* aVarLeft, TLiwVariant* aVarRight );
-    
-    /**
-     * If list is compared to a string, a decision is made, to substitute list a
-     * its Count() scalar.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateListL( TLiwVariant & aVar );
-    
-    /**
-     * If map is compared to a string, a decision is made, to substitute list a
-     * its Count() scalar.
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateMapL( TLiwVariant & aVar );
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tuint
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */    
-    static void NegotiateTUintL( TLiwVariant & aVar );
-    
-
-    /**
-     * 
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */
-    static void NegotiateTBoolL( TLiwVariant & aVar );
-
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tin32
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */  
-    static void NegotiateTInt32L( TLiwVariant & aVar );
-    
-    /**
-     * If tuint is compared to a string, a decision is made, to substitute 
-     * it as tin32
-     *
-     * @since S60 v3.2
-     * @param aVar Variant.
-     */  
-    static void NegotiateTInt64L( TLiwVariant & aVar );
-    
-    /**
-     * Creates implementation of CHnMenuCondition.
-     * 
-     * @param aElement Xml element.
-     * @return Instance of CHnMenuCondition.
-     */
-    static CHnSimpleCondition* CreateImplementationL( TDesC8 & aElement );
-
-protected: // data
-        
-    /**
-     * Own - Key.
-     */
-    RBuf8 iReferenceRight;
-    
-    /**
-     * Own - Key.
-     */
-    RBuf8 iReferenceLeft;
-    
-    };
-
-#endif // C_HNSIMPLECONDITION_H
-
-//End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiondifferent.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONDIFFERENT_H
-#define C_HNSIMPLECONDITIONDIFFERENT_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Different.
- * 
- * Class compares condition with criterium 'different'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
- NONSHARABLE_CLASS( CHnSimpleConditionDifferent ) : public CHnSimpleCondition
-     {
-     /**
-      * Gets positions. From CHnMenuCondition
-      * 
-      * @param aBuffer Buffer.
-      * @return Position.
-      */
-     TInt GetPositionL( const TDesC8& aBuffer );
-     
-     /**
-      * Returns result. From CHnMenuCondition
-      *
-      * @since S60 v3.2
-      * @param aVarLeft Left Liv variant condition to compare.
-      * @param aVarRight Right Liv variant condition to compare.
-      * @return True if condition is satisfied.
-      */    
-     TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-    
-     /**
-      * Gets length. From CHnMenuCondition
-      * 
-      * @return Length of an operator.
-      */
-     TInt SignLength();
-     };
-
-#endif // C_HNSIMPLECONDITIONDIFFERENT_H
-
-//End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionequal.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONEQUAL_H
-#define C_HNSIMPLECONDITIONEQUAL_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Equal.
- * 
- * Class compares condition with criterium 'equal'.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionEqual ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-   
-#endif // C_HNSIMPLECONDITIONEQUAL_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditiongreater.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONGREATER_H
-#define C_HNSIMPLECONDITIONGREATER_H
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Greater.
- * 
- * Class compares condition with criterium 'greater'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionGreater ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif // C_HNSIMPLECONDITIONGREATER_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhas.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNSIMPLECONDITIONHAS_H_
-#define HNSIMPLECONDITIONHAS_H_
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Has.
- * 
- * Class compares condition with criterium 'has'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionHas ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif /*HNSIMPLECONDITIONHAS_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionhasnot.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNSIMPLECONDITIONHASNOT_H_
-#define HNSIMPLECONDITIONHASNOT_H_
-
-#include "hnsimplecondition.h"
-
-/**
- * Simple Condition Has Not.
- * 
- * Class compares condition with criterium 'hasnot'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionHasNot ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif /*HNSIMPLECONDITIONHASNOT_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnsimpleconditionsmaller.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNSIMPLECONDITIONSMALLER_H
-#define C_HNSIMPLECONDITIONSMALLER_H
-
-#include "hnsimplecondition.h"
-   
-/**
- * Simple Condition Smaller.
- * 
- * Class compares with criterium 'smaller'.
- * 
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnSimpleConditionSmaller ) : public CHnSimpleCondition
-    {
-    /**
-     * Gets positions. From CHnMenuCondition.
-     * 
-     * @param aBuffer Buffer.
-     * @return Position.
-     */
-    TInt GetPositionL( const TDesC8& aBuffer );
-    
-    /**
-     * Returns result. From CHnMenuCondition.
-     *
-     * @since S60 v3.2
-     * @param aVarLeft Left Liv variant condition to compare.
-     * @param aVarRight Right Liv variant condition to compare.
-     * @return True if condition is satisfied.
-     */    
-    TBool CheckCondition( TLiwVariant& aVarLeft, TLiwVariant& aVarRight );
-   
-    /**
-     * Gets length. From CHnMenuCondition.
-     * 
-     * @return Length of an operator.
-     */
-    TInt SignLength();
-    };
-
-#endif // C_HNSIMPLECONDITIONSMALLER_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnstringhandler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#ifndef HNSTRINGHANDLER_H
-#define HNSTRINGHANDLER_H
-
-#include <e32base.h>
-
-class CDesC16Array;
-struct THnMdCommonPointers;
-
-/**
- * String Handler.
- * 
- * Contains static methods for strings manipulation.
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(HnStringHandler)
-    {
-public:
-    /**
-     * Localize given string
-     * it is given in format 
-     * @verbatim <namespace>:<id> @endverbatim 
-     * namespace can be declared in XML
-     * it also accepts format myapp.rsc:MY_RESOURCE
-     * 
-     * @param aDestination destiation where localized text is returned
-     * @param aSource string to localize
-     * @param aCmnPtrs common pointers, if not given, 
-     *  taken from THnMdCommonPointers::Static()
-     */
-    static void LocaliseL(  RBuf& aDestination, RBuf& aSource,
-                           THnMdCommonPointers* aCmnPtrs );
-    /**
-     * Localize given string
-     * it is given in format 
-     * @verbatim <namespace>:<id> @endverbatim
-     * namespace can be declared in XML
-     * it also accepts format myapp.rsc:MY_RESOURCE
-     * It formats string based on parameters provided.
-     * 
-     * @param aDestination destiation where localized text is returned
-     * @param aSource string to localize
-     * @param aDesParams list descriptor parameters to format %U, %0U
-     * @param aIntParams list integer parameters to format %N, %0N
-     * @param aCmnPtrs common pointers, if not given, 
-     *  taken from THnMdCommonPointers::Static()
-     */
-    static void LocaliseL( RBuf& aDestination, RBuf& aSource, 
-                            CDesC16Array* aDesParams,
-                            CArrayFix<TInt>* aIntParams,
-                            THnMdCommonPointers* aCmnPtrs );
-    
-    /**
-     * Compares strings ignoring character case.
-     * 
-     * @param aLeft Base descriptor.
-     * @param aRight Descriptor to be compared with the base descriptor.
-     */
-    static TInt CompareIgnoreCaseL( const TDesC& aLeft, const TDesC& aRight );
-    
-    /**
-     * Compares strings ignoring character case.
-     * 
-     * @param aLeft Base descriptor.
-     * @param aRight Descriptor to be compared with the base descriptor.
-     */
-    static TInt CompareIgnoreCaseL( const TDesC8& aLeft, const TDesC8& aRight );
-    };
-
-#endif // HNSTRINGHANDLER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef C_HNUTILS_H
-#define C_HNUTILS_H
-
-#include <e32base.h>
-
-class CHnMdLocalization;
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class TLiwVariant;
-class CHnSuiteModel;
-class TXmlEngElement;
-
-
-/**
- * Utils
- * 
- * Utility class.
- *
- * @lib hnmetadatamodel
- * @since S60 3.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( HnUtils )
-    {   
-public:
-    
-   /**
-    * Read file.
-    *
-    * @since S60 v3.0
-    * @param aPath Path to a file.
-    * @return Buffer.
-    */    
-    IMPORT_C static HBufC8* ReadFileLC(const TDesC& aPath);
-   
-   /**
-    * Read file.
-    *
-    * @since S60 v3.0
-    * @param aPath Path to a file.
-    * @return Buffer.
-    */    
-    IMPORT_C static HBufC8* ReadFileL(const TDesC& aPath);
-    
-   /**
-    * Locates file.
-    *
-    * @since S60 v3.0
-    * @param aFile File name.
-    * @return File path.
-    */
-    IMPORT_C static HBufC* LocateFileLC( const TDesC& aFile );
-    
-    /**
-     * Locates nearest Language file.
-     *
-     * @since S60 v3.0
-     * @param aFile File name.
-     * @return File path.
-     */
-    IMPORT_C static HBufC* LocateNearestLanguageFileLC( const TDesC& aFile );
-
-   
-
-    /**
-     * Sets given descriptor using xml element textual value.
-     * 
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     * @param aAttribute Descriptor to be set using aElement.
-     */
-    IMPORT_C static void SetAttributeL( const TXmlEngElement& aElement, 
-            RBuf8& aAttribute );
-    
-    /**
-     * Sets given descriptor using xml attribute. 
-     * 
-     * @since S60 v5.0
-     * @param aElement Xml element from which the attribute will be retrieved
-     *                 by aAttributeName.
-     * @param aAttributeName The name of the attribute to be read from
-     *                 aElement.
-     * @param aAttribute A descriptor to be set using a value of the attribute
-     *                 from aElement.
-     */
-    IMPORT_C static void SetAttributeL( const TXmlEngElement& aElement, 
-            const TDesC8& aAttributeName, RBuf8& aAttribute );
-    
-    /**
-     * Fetches given columns string.
-     * 
-     * @since S60 v5.0
-     * @param aColumn Which column to fetch.
-     * @param aSourceText Source texts.
-     * @param aColumnSeparator Character that separates columns.
-     */
-    IMPORT_C static HBufC8 * GetColumnTextLC(TInt aColumn, const TDesC8 & aSourceText, 
-            TChar aColumnSeparator = TChar('|'));
-    
-    /**
-     * Fetches number of columns.
-     * 
-     * @since S60 v5.0
-     * @param aSourceText Source texts.
-     * @param aColumnSeparator Character that separates columns.
-     */
-    IMPORT_C static TInt GetColumnTextColumnCount(const TDesC8 & aSourceText, 
-                TChar aColumnSeparator = TChar('|'));
-    
-private:
-    };
-
-#endif // C_HNUTILS_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelcache.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#ifndef HNXMLMODELCACHE_H_
-#define HNXMLMODELCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-#include <bautils.h>
-
-
-/**
- * Suites cache.
- * 
- * This class is designed to support caching xml documents which contain
- * suites definitions.
- * 
- * The cache is directlty used by the xml model provider (CHnXmlModelProvider)
- * and is transparent for other data model's classes.
- * 
- * The cache has a maksimum capacity which is equal to KXmlModelCacheMaxLength.
- * The cache works similarily to a shift register. When the maksimum size of
- * the cache is exceeded then the last element in the cache is removed.
- * On contrary, most often used xml documents are moved to the beggining
- * of the cache.
- * 
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS( CHnXmlModelCache ) : public CBase
-    {
-
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnXmlModelCache();
-    
-    /**
-     * Standard second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Removes a xml document from the cache if the size of the cache
-     * is exceeded.
-     * 
-     * @since S60 5.0
-     */
-    void RemoveUnused();
-    
-    /**
-     * Moves the xml document (identified by a given name) to the top of the
-     * cache.
-     * 
-     * @param aSuiteName A name of the xml document to be moved to the top
-     *                   of the cache.
-     * @since S60 5.0
-     */
-    void MoveToTopL( const TDesC & aSuiteName );
-
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    static CHnXmlModelCache* NewLC();
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * 
-     */
-    static CHnXmlModelCache* NewL();
-    
-    /**
-     * Adds a new xml document into the cache.
-     * @param aSuiteName A name of the suite.
-     * @param aDocument A xml document to be added to the cache.
-     * 
-     * @since S60 5.0
-     */
-    TInt AddL( const TDesC& aSuiteName, RXmlEngDocument& aDocument );
-    
-    /**
-     * Checks if the xml document is stored in the cache.
-     * 
-     * @param aSuiteName The name of the suite to be checked.
-     * @return ETrue if a suite of a given name is stored in the cache,
-     *         otherwise - EFalse.
-     *         
-     * @since S60 5.0
-     */
-    TBool IsCachedL( const TDesC& aSuiteName );
-    
-    /**
-     * Gets a xml document by a given name.
-     * 
-     * @param aSuiteName The name corresponding to the xml document to be
-     *                   retrieved from the cache.
-     * @param aDocument The reference to the xml document.
-     * 
-     * @since S60 5.0
-     */
-    void GetL( const TDesC& aSuiteName, RXmlEngDocument& aDocument );
-    
-    /**
-     * Resets the cache - removes all stored xml documents.
-     * 
-     * @since S60 5.0
-     */
-    void Reset();
-    
-    /**
-     * Standard C++ virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnXmlModelCache();
-
-private:
-    
-    /**
-     * The hash map storing pairs: name of the suite, corresponding xml
-     * document.
-     * 
-     * @since S60 5.0
-     */
-    RHashMap< HBufC*, RXmlEngDocument > iDocuments;
-    
-    /**
-     * An auxilliary array storing the order of the xml document
-     * in the cache.
-     * 
-     * @since S60 5.0
-     */
-    RPointerArray< HBufC > iOrder;
-    
-    };
-
-#endif /*HNXMLMODELCACHE_H_*/
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlmodelprovider.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,313 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNMULMODELPROVIDER_H
-#define C_HNMULMODELPROVIDER_H
-
-
-#include <xmlengdom.h>
-#include <bautils.h>
-#include <e32hashtab.h>
-
-class CHnXmlModelCache;
-
-/**
- * Xml Model Provider
- * 
- * Parses suites definitions in xml and makes changes in model. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnXmlModelProvider) : public CActive
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnXmlModelProvider* NewL();
-
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnXmlModelProvider* NewLC();
-
-    /**
-     * Standard virtual destructor.
-     */
-    IMPORT_C virtual ~CHnXmlModelProvider();
-    
-    /**
-     * @see CAsctive::DoCancel
-     */
-    void DoCancel();
-
-    /**
-     * Services the suite synchronization steps according to class iterator.
-     *
-     * @see CAsctive::RunL
-     */
-    void RunL();
-
-private:
-    
-    /**
-     * ReadFileLC reads file.
-     *
-     * @since S60 v5.0
-     * @param aPath Path to a file.
-     * @return Content of the file.
-     */
-     HBufC8* ReadFileLC(const TDesC& aPath);
-
-    /**
-     * Parses a document.
-     *
-     * @since S60 v5.0
-     * @param aDoc A document to be parsed.
-     * @return Xml document.
-     */
-     RXmlEngDocument ParseDocL( const TDesC8& aDoc );
-
-     
-     /**
-     * Builds root of xml model from suite definition.
-     *
-     * @since S60 v5.0
-     * @param aSuiteName Suite name.
-     * @param aXmlDoc XLM model of the suite.
-     * @return Error code.
-     */
-     TInt CollectSuiteL( const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc );
-     
-     /**
-     * appends items to suite in model,
-     *
-     * @since S60 v5.0
-     * @param aSuiteName Name of suite to append items to.
-     * @param aXmlDoc XLM model of the suite.
-     */
-     void CollectItemsL(const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc );
-     
-     /**
-     * Copies suites and items definitions to working dir.
-     *
-     * @since S60 v5.0
-     * @return Error code.
-     */
-     TBool SynchronizeSuitesL();
-     
-    /**
-     * Creates model from suite definition.
-     *
-     * @since S60 v5.0
-     * @param aStr Name of suite.
-     * @param aXmlDoc XML model of the suite.
-     */
-    void CreateModelL( const TDesC& aStr, RXmlEngDocument& aXmlDoc  );   
-    
-    /**
-     * Changes event names to ids.
-     *
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     */
-    void ChangeEventNamesToIdsL( TXmlEngElement& aElement );
-
-    /**
-     * Changes event names to items in all the children.
-     *
-     * @see ChangeEventNamesToIdsL
-     * @since S60 v5.0
-     * @param aElement Xml element.
-     */
-    void ChangeEventsToIdsInChildrenL(
-            TXmlEngElement & aElement );
-    
-#ifdef _DEBUG
-    /**
-     * Logs event mapping.
-     *
-     * @since S60 v5.0
-     * @param aEventMap Event map.
-     */
-    void LogEventMapping( const RHashMap<HBufC*, TInt>& aEventMap );
-#endif
-
-public:     
-          
-    /**
-     * Parses a document.
-     *
-     * @param aPath Path to a file.
-     * @return RXmlEngDocument.
-     */
-     RXmlEngDocument ParseFileL( const TDesC& aPath );
-     
-     /**
-      * Resets cached models.
-      */
-     void ResetCache();
-     
-    /**
-     * Reparses a document.
-     */
-     IMPORT_C void ReloadModelL();
-   
-    /**
-     * Parses a document - searching proper suite.
-     *
-     * @param aStr Name of the model.
-     * @param aXmlDoc A reference to document of RXmlEngDocument class;
-     * @return Error code. KErrNone if model found.
-     */
-    IMPORT_C TInt GetModelL( const TDesC& aStr, RXmlEngDocument& aXmlDoc );
-    
-     /**
-      * Parses a document.
-      *
-      * @param aEventName Event name.
-      * @return Event id.
-      */     
-     TInt GetNewEventId( HBufC* aEventName );
-     
-     /**
-      * Check if suite exists.
-      *
-      * @since S60 5.0
-      * @param aSuite Suite name.
-      * @return ETrue if suite exists, otherwise EFalse.
-      */
-     TBool SuiteExistsL( const TDesC& aSuite );
-    
-private:
-     
-    /**
-     * Invoked after asynchronous synchronization is finished.
-     */
-     void SynchronizationFinishedL();
-
-    /**
-     * Sets up normal path to suites.
-     *
-     * @param aPath Path to be searched for suites.
-     */	
-     void SearchPathForSuitesL( const TDesC& aPath );
-	
-    /**
-     * Sets up normal path to suites.
-     */   
-     void SetupSuitePathL();
-	
-    /**
-     * Sets up fail sage path to suites.
-     */   
-    void SetupFailSafeSuitePathL();
-	
-    /**
-     * Standard C++ constructor.
-     */     
-    CHnXmlModelProvider();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     */     
-    void ConstructL();
-
-    /**
-    * Finds drive letter where suite definition is.
-    *
-    * @since S60 v5.0
-    * @return Error code
-    */
-    void CheckDrivesL(); 
-               
-    
-#ifdef _DEBUG
-private:
-    void LogSuiteModel( const TDesC& aName, 
-                                         RXmlEngDocument& aDoc );
-#endif // _DEBUG
-
-private: // data
-
-    /**
-     * Xml DOM implementation.
-     */
-    RXmlEngDOMImplementation iDomImpl;
-
-    /**
-     * Xml DOM parser.
-     */
-    RXmlEngDOMParser iDomParser;
-                
-    /**
-     * File server session
-     */
-    RFs iFs;
-        
-    /**
-     * File manager
-     */
-    CFileMan* iFileMan;                
-    
-    /**
-     * List containing names of suites (suite name is same as dir name)
-     * that should be installed from all drives
-     */    
-    RHashSet< HBufC* > iInstSuites;
-    
-    /**
-     * Event map.
-     */
-    RHashMap< HBufC*, TInt > iEventMap;
-    
-    /**
-     * Main path.
-     */
-    RBuf iPath;
-    
-    /**
-     * Cached suites.
-     */
-    CHnXmlModelCache* iCache;
-    
-    /**
-     * Own. Iterator used in synchronisation. 
-     * Indicates next suite name to be synchronised.
-     */
-    THashSetIter<HBufC*>* iSuiteSetIterator;
-
-    /**
-     * ETrue if suite files on the c: drive were updated during the
-     * last synchronization. New suite files also count as updated.
-     * EFalse if the last synchronization did not alter any files
-     * on the c: drive.
-     */
-    TBool iSuiteFilesUpdated;
-
-    };
-#endif // C_HNMULMODELPROVIDER_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/hnxmlsuitefilesreg.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*  Version     : %version:  2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-
-#ifndef C_HNXMLSUITEFILESREG_H
-#define C_HNXMLSUITEFILESREG_H
-
-#include <bautils.h>
-#include <e32hashtab.h>
-
-/**
- * Structure binding file information together.
- * All of this information is essential when synchronising suite files.
- */
-NONSHARABLE_STRUCT(THnFileInfo)
-	{
-	TBuf< KMaxFileName > iFileName;
-	TBuf< KMaxPath > iFilePath;
-	TTime iLastModified;
-	TInt iSize;
-	};
-
-/**
- * Registry of suite definition files.
- * 
- * Keeps track of the suite files' sync. 
- *
- * @lib hnmetadatamodel
- * @since S60 5.0
- * @ingroup group_hnmetadatamodel
- */
-NONSHARABLE_CLASS(CHnXmlSuiteFilesReg) : public CBase
-    {
-public:
-    /**
-     * Standard factory method.
-     *
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static TBool SynchronizeL( RFs & aFs, const TDesC &aSuiteName );
- 
-    /**
-     * Standard virtual destructor.
-     */
-    virtual ~CHnXmlSuiteFilesReg();
-   
-private:
-	
-    /**
-     * Standard C++ constructor.
-     */     
-	CHnXmlSuiteFilesReg( RFs & aFs );
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     */     
-    void ConstructL( const TDesC &aSuiteName );
-    
-    /**
-     * Destroys suite file maps.
-     */
-    void DestroySuiteFilesMaps();
-
-    /**
-     * Returns the valid suite import dir.
-     *
-     * @param aDriveNumber Number of the drive for which to create path.
-     * @return Path.
-     */	
-    HBufC* GetSuiteImportDirL( TInt aDriveNumber ) const;
-
-    /**
-     * Searches all the drives for import files for this particular suite.
-     */	
-    void SearchDrivesForSuiteFilesL();
-
-    /**
-     * Processes suite import dir.
-     *
-     * @param aSuitePath Path of the suite import.
-     */	
-    void SearchDirForSuiteFilesL( const TDesC& aSuitePath );
-
-    /**
-     * Adds a file to the suite map. The logics in the methods always prefers
-     * the newer files over the older. If a file by the same name already exists 
-     * with a newer date file will not be added.
-     *
-     * @param aDir Directory of the new file.
-     * @param aFile New file entry.
-     */	
-    void AddSuiteFileToMapL( const TDesC& aDir, const TEntry& aFile );
-
-    /**
-     * Calculates the current size of the dir in the installation.\
-     *
-     * @return Size in bytes.
-     */
-    TInt CalculateCurrentSuiteSizeL();
-
-    /**
-     * Calculates the size of the data to be synchronised.
-     *
-     * @return Size in bytes.
-     */
-    TInt CalculateSynchronizationSuiteSize();
-	
-    /**
-     * Synchronizes the suite files.
-     */
-    TBool SynchronizeSuiteFilesL();
-
-    /**
-     * Constructs the valid installation path.
-     *
-     * @return The installation path.
-     */
-    HBufC* GetSuiteInstallPathL();
-	
-private:
-	
-   /**
-    * Name of the suite (suite folder).
-    */
-    RBuf iSuiteName;
-	
-    /**
-     * File server session reference
-     */
-    RFs &iFs;
-    
-    /**
-     * File manager
-     */
-    CFileMan* iFileMan;  
-        
-    /**
-     * Hashmap containing paths to the suite files.
-     */
-    RHashMap< const TDesC*, THnFileInfo* > iSuiteFiles;
-
-    };
-#endif // C_HNXMLSUITEFILESREG_H
--- a/menufw/hierarchynavigator/hnmetadatamodel/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnmetadatamodel.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnbitmapidcache.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*  Version     : %version:  3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "hnbitmapidcache.h"
-#include "hnglobals.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufC8HashCache( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufC8IdentCache( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache::CHnBitmapIdCache() : iEntries( &HBufC8HashCache, 
-        &HBufC8IdentCache )
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::ConstructL()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnBitmapIdCache::AddL( const TDesC8& aKey, TInt aValue ) 
-    {
-    HBufC8* key = aKey.AllocL();
-    iEntries.InsertL( key, aValue );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnBitmapIdCache::ExistsL( const TDesC8& aKey )
-    {
-    HBufC8* buf = aKey.AllocLC();
-    TInt* value = iEntries.Find( buf );
-    CleanupStack::PopAndDestroy( buf );
-
-    if ( value )
-        return ETrue;
-    else
-        return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::GetL( const TDesC8& aKey, TInt& value )
-    {
-    HBufC8* buf = aKey.AllocLC();
-    const TInt* res = iEntries.Find( buf );
-    
-    if ( res )
-        {
-        value = *res;
-        }
-
-    CleanupStack::PopAndDestroy( buf );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache* CHnBitmapIdCache::NewLC()
-    {
-    CHnBitmapIdCache* self = new (ELeave) CHnBitmapIdCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache* CHnBitmapIdCache::NewL()
-    {
-    CHnBitmapIdCache* self = CHnBitmapIdCache::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnBitmapIdCache::Reset()
-    {
-    THashMapIter<HBufC8*, TInt> iter( iEntries );
-    while ( HBufC8* const * ptr = iter.NextKey() )
-        {
-        TInt* value = iter.CurrentValue();
-        delete *ptr;
-        }
-    iEntries.Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnBitmapIdCache::~CHnBitmapIdCache()
-    {
-    Reset();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hncomplexcondition.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hncomplexcondition.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition* CHnComplexCondition::NewL( TDesC8 & aElement )
-    {
-    CHnComplexCondition* self = new (ELeave) CHnComplexCondition();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition::CHnComplexCondition()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnComplexCondition::~CHnComplexCondition()
-    {
-    delete iRightCondition;
-    delete iLeftCondition;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnComplexCondition::CheckForOrOnTheSameLevelL( TDesC8 & aConditionString )
-    {
-    TBool ret = EFalse;
-    TLex8 lexer( aConditionString );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {     
-        switch ( TUint( lexer.Get() ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                ret = EFalse;
-                lexer.Inc( lexer.Remainder().Length() );
-                break;             
-            case ELogicalOr:
-                if (lookForClosingBrace == 0)
-                    {
-                    ret = ETrue;
-                    }
-                break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnComplexCondition::ConstructL( TDesC8 & aElement )
-    {
-    TLex8 lexer( aElement );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {     
-        TChar character = lexer.Get();
-        switch ( TUint( character ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                User::LeaveIfError( lookForClosingBrace );
-                break;
-            case ELogicalAnd:
-                {
-                TPtrC8 remainder = lexer.Remainder();
-                if ( CheckForOrOnTheSameLevelL( remainder ) )
-                    {
-                    break;
-                    }
-                }
-            case ELogicalOr:
-                if (lookForClosingBrace == 0)
-                    {
-                    iOperation = (TOperator) TUint(character);
-                    TPtrC8 rightSide = lexer.Remainder();
-                    iRightCondition = HnConditionFactory::NewL( rightSide );
-                    lexer.UnGet();
-                    TPtrC8 leftSide = lexer.MarkedToken();
-                    iLeftCondition = HnConditionFactory::NewL( leftSide );
-                    lexer.Inc( lexer.Remainder().Length() );
-                    }
-                break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnComplexCondition::ResultL( const CLiwGenericParamList& aQueryResults, 
-                                                                TInt aPos )
-    {
-    TBool ret = false;
-    
-    if ( iOperation == ELogicalAnd )
-        {
-        ret = iLeftCondition->ResultL(aQueryResults, aPos) && 
-            iRightCondition->ResultL(aQueryResults, aPos);
-        }
-    else if ( iOperation == ELogicalOr )
-        {
-        ret = iLeftCondition->ResultL(aQueryResults, aPos) || 
-            iRightCondition->ResultL(aQueryResults, aPos);
-        }
-    else
-        {
-        User::Leave(KErrNotFound);
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnconditionfactory.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnconditionfactory.h"
-#include "hnsimplecondition.h"
-#include "hncomplexcondition.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewL( TXmlEngAttr aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewLC( TXmlEngAttr aElement )
-    {
-    TPtrC8 condition = aElement.Value();
-    CHnConditionInterface* self = ConstructConditionL( condition );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewL( TDesC8 & aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::NewLC( TDesC8 & aElement )
-    {
-    CHnConditionInterface* self = HnConditionFactory::ConstructConditionL( aElement );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void HnConditionFactory::TrimConditionL( RBuf8 & aConditionString )
-    {
-    TBool ret;
-    do
-        {
-        ret = EFalse;
-        aConditionString.TrimAll();
-        TInt conditionLastIndex = aConditionString.Length()-1;
-        if (aConditionString[0] == EOpeningBrace 
-                && aConditionString[conditionLastIndex] == EClosingBrace )
-            {
-            aConditionString[0] = ESpace;
-            aConditionString[conditionLastIndex] = ESpace;
-            
-            ret = ETrue;
-            
-            if ( CheckBraceIntegrityL( aConditionString ) )
-                {
-                aConditionString[0] = EOpeningBrace;
-                aConditionString[conditionLastIndex] = EClosingBrace;
-                ret = EFalse;
-                }
-            }
-        }
-    while (ret);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HnConditionFactory::CheckBraceIntegrityL( TDesC8 & aConditionString )
-    {
-    TInt ret(KErrNone);
-    TLex8 lexer( aConditionString );
-    TInt lookForClosingBrace( 0 );
-    while  ( !lexer.Eos() )
-        {
-        switch ( TUint( lexer.Get() ) )
-            {
-            case EOpeningBrace :
-                lookForClosingBrace++;
-                break;
-            case EClosingBrace :
-                lookForClosingBrace--;
-                if (lookForClosingBrace < 0)
-                    {
-                    ret = KErrGeneral;
-                    lexer.Inc( lexer.Remainder().Length() );
-                    }
-                break;             
-            }
-        }
-    
-    if (lookForClosingBrace > 0)
-        {
-        ret = KErrGeneral;
-        }
-    
-    return ret;  
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnConditionInterface* HnConditionFactory::ConstructConditionL(
-        TDesC8 & aConditionString )
-    {
-    RBuf8 condition;
-    CleanupClosePushL( condition );
-    condition.CreateL( aConditionString );
-    HnConditionFactory::TrimConditionL( condition );
-    User::LeaveIfError( HnConditionFactory::CheckBraceIntegrityL(condition) );
-    
-    CHnConditionInterface* ret = NULL;
-    
-    if ( aConditionString.Find( HnLogicalRelations::KLogicalAnd8 ) == KErrNotFound
-         && aConditionString.Find( HnLogicalRelations::KLogicalOr8 ) == KErrNotFound )
-        {
-        ret =  CHnSimpleCondition::NewL( condition );
-        }
-    else
-        {
-        ret = CHnComplexCondition::NewL( condition );
-        }
-    
-    CleanupStack::PopAndDestroy( &condition );
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnfilter.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnfilter.h"
-#include "hnitemid.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ConstructL( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnFilter* CHnFilter::NewL( )
-    {
-    CHnFilter* self = CHnFilter::NewLC( );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnFilter* CHnFilter::NewLC( )
-    {
-    CHnFilter* self = new( ELeave ) CHnFilter();
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnFilter::CHnFilter()
-    {
-    iEvaluateSuite = ETrue;
-    iSuiteId = KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnFilter::~CHnFilter()
-    {
-    ResetSuiteName();
-    ResetItemIds();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CHnFilter::SetEvaluateSuiteL( TBool aEvaluate )
-    {
-    iEvaluateSuite = aEvaluate;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CHnFilter::IsEvaluateSuite()
-    {
-    return iEvaluateSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
- const TDesC& CHnFilter::SuiteName() const
-    {
-    return iGenre;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasItemIds() const
-    {
-    return iItemIds.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetIterator()
-    {
-    iIter = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnItemId* CHnFilter::GetNextItemId() const
-    {
-    ASSERT( iIter < iItemIds.Count() );
-    return iItemIds[ iIter++ ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasNextItemId()
-    {
-    return ( iIter < iItemIds.Count() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetSuiteName()
-    {
-    iGenre.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnFilter::ResetItemIds()
-    {
-    iItemIds.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::SetSuiteNameL( const TDesC& aGenre )
-    {
-    ResetSuiteName();
-    iGenre.CreateL( aGenre );
-    iGenre.LowerCase();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::AppendItemIdL( CHnItemId* iItemId )
-    {
-    iItemIds.AppendL( iItemId ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasSuiteName() const
-    {
-    return iGenre.Length();
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnFilter::SetSuiteId( const TInt aSuiteId )
-    {
-    iSuiteId = aSuiteId;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnFilter::SuiteId() const
-    {
-    return iSuiteId;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnFilter::HasSuiteId() const
-    {
-    return (iSuiteId == KErrNotFound) ? EFalse : ETrue;
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnitemid.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnitemid.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnItemId::ConstructL( const TDesC& aFile,
-    const TDesC& aID )
-    {
-    iSuiteName.CreateL( aFile );
-    iSuiteName.LowerCase();
-    iId.CreateL( aID );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemId::UpdateL(const CHnItemId & aItemId )
-    {
-    iSuiteName.Close();
-    iId.Close();
-    
-    iSuiteName.CreateL( aItemId.SuiteName() );
-    iSuiteName.LowerCase();
-    iId.CreateL( aItemId.Id() );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemId* CHnItemId::NewL( const TDesC& aFile,
-    const TDesC& aID )
-    {
-    CHnItemId* self = CHnItemId::NewLC( aFile, aID );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemId* CHnItemId::NewLC(const TDesC& aFile,
-    const TDesC& aID )
-    {
-    CHnItemId* self = new( ELeave ) CHnItemId();
-    CleanupStack::PushL( self );
-    self->ConstructL( aFile, aID );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnItemId::CHnItemId()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnItemId::~CHnItemId()
-    {
-    iSuiteName.Close();
-    iId.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnItemId::SuiteName() const
-    {
-    return iSuiteName;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnItemId::Id() const
-    {
-    return iId;
-    }
-
- // ---------------------------------------------------------------------------
- //
- // ---------------------------------------------------------------------------
- //
-EXPORT_C TBool CHnItemId::Compare( const CHnItemId& aFilter ) const
-     {
-     TBool result( EFalse );
-     if( !iSuiteName.Compare( aFilter.SuiteName() ) &&
-         !iId.Compare( aFilter.Id() ) )
-         {
-         result = ETrue;
-         }
-     return result;
-     }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdaction.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2007-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:  action model
-*
-*/
-
-
-#include <liwcommon.h>
-
-#include "hnmdaction.h"
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnconditionfactory.h"
-#include "hnmdservicecommand.h"
-#include "hnactionmodel.h"
-#include "hnmdservice.h"
-#include "hnconditioninterface.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdAction::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.Name() == KActionElementName8 );
-
-    iService = CHnMdService::NewL( aElement );
-    
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        SetConditionL( aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction* CHnMdAction::NewL( TXmlEngElement aElement )
-    {
-    CHnMdAction* self = CHnMdAction::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction* CHnMdAction::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdAction* self = new( ELeave ) CHnMdAction;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction::CHnMdAction()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdAction::~CHnMdAction()
-    {
-    delete iService;
-    delete iCondition; 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdAction::SetConditionL( TXmlEngAttr aAttr )
-    {
-    iCondition = HnConditionFactory::NewL( aAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdAction::EvaluateL( CHnActionModel* aActionModel,
-            const CLiwGenericParamList& aQueriesResultsList, TInt aPos)
-    {
-    TInt ret( KErrNone );
-    
-    aActionModel->SetServiceL( iService->GetServiceName() );
-    aActionModel->SetInterfaceL( iService->GetInterfaceName() );
-    aActionModel->SetCommandNameL( iService->GetCommand().GetCommandName() );
-    aActionModel->SetServiceModeL( iService->GetCommand().GetCommandMode() );
-    aActionModel->SetConstructorL( 
-            iService->EvaluateConstructorAsKeyL( aQueriesResultsList, aPos ) );
-    aActionModel->SetCommand( 
-            iService->EvaluateCommandAsKeyL( aQueriesResultsList, aPos ) );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdAction::IsValidL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdbutton.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <xmlengelement.h> 
-#include <gulicon.h>
-#include <xmlengnodelist.h>
-#include <liwcommon.h>
-
-#include "hnmdbutton.h"
-#include "hnmdkeyfactory.h"
-#include "hnconditioninterface.h"
-#include "hnconditionfactory.h"
-#include "hnmdvalueimage.h"
-#include "hnmdvaluetext.h"
-#include "hnglobals.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnattributebase.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton* CHnMdButton::NewLC( TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdButton* self = new( ELeave ) CHnMdButton;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton::~CHnMdButton( )
-    {
-    delete iButtonText;
-    delete iConditionDimm;
-    delete iConditionAdd;
-    delete iIcon;
-    }
-       
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdButton::ValidateToAddL( const CLiwGenericParamList& aQueryResults, 
-                                            TInt aPos )
-    {
-    TBool ret( EFalse );
-    if( !iConditionAdd || iConditionAdd->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdButton::ValidateToDimmL( 
-        const CLiwGenericParamList& aQueryResults, TInt aPos )
-    {
-    TBool ret( EFalse );
-    if( iConditionDimm )
-        {
-        ret = iConditionDimm->ResultL( aQueryResults, aPos );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-TInt CHnMdButton::GetEventId() const
-    {
-    return iEventId;
-    }    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-TInt CHnMdButton::GetIndex() const
-    {
-    return iIndex;
-    }    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//       
-const TPtrC CHnMdButton::EvaluateButtonTextL(
-        const CLiwGenericParamList& aQueryResults, TInt aPos )
-    {
-    if( !iButtonText )
-        {
-        return KNullDesC();
-        }
-    
-    TPtrC value;
-    iButtonText->GetL( &aQueryResults, aPos, value );
-    return value;
-    }
-       
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttributeBase* CHnMdButton::EvaluateIconL( 
-        const CLiwGenericParamList& aQueriesResultsList , TInt aPos ) const
-    {
-    //CGulIcon* icon = NULL;
-    CHnAttributeBase* iconAttribute = NULL;
-    if( iIcon )
-        {
-        iconAttribute =
-            iIcon->CreateAttributeL( &aQueriesResultsList, aPos );
-        }
-    return iconAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdButton::CHnMdButton() : iIndex( KErrNone )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdButton::ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    // index
-    if( aElement.HasAttributeL( KIndexAttrName8 ) )
-        {
-        TPtrC8 index = aElement.AttributeValueL( KIndexAttrName8 );
-        TLex8 lexIndex( index );
-        User::LeaveIfError( lexIndex.Val( iIndex ) );
-        }
-
-    // event
-    if( aElement.HasAttributeL( KEventAttrName8 ) )
-        { 
-        TPtrC8 event = aElement.AttributeValueL( KEventAttrName8 );
-        TLex8 lex( event );
-        User::LeaveIfError( lex.Val( iEventId ) );
-        }
-        
-    // condition
-    if( aElement.HasAttributeL( KMenuConditionAttrName8 ) )
-        {
-        iConditionAdd = HnConditionFactory::NewL(  
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    
-    // dimmed
-    if( aElement.HasAttributeL( KMenuDimmAttrName8 ) )
-        {
-        iConditionDimm = HnConditionFactory::NewL(  
-                aElement.AttributeNodeL( KMenuDimmAttrName8 ) );
-        }
-    
-    // help text
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KTextElementItem8 ) )
-            {
-            iButtonText = CHnMdValueText::NewL( child, aCmnPtrs );
-            }
-        else if( !child.Name().Compare( KImageElementItem8 ) )
-            {
-            iIcon = CHnMdValueImage::NewL( child, aCmnPtrs );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &children );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdevent.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmdevent.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdEvent::Id() const
-    {
-    return iId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEvent::SetId( TInt aId )
-    {
-    iId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent* CHnMdEvent::NewL( const TInt aId )
-    {
-    CHnMdEvent* self = CHnMdEvent::NewLC( aId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent* CHnMdEvent::NewLC( const TInt aId )
-    {
-    CHnMdEvent* self = new( ELeave ) CHnMdEvent;
-    CleanupStack::PushL( self );
-    self->ConstructL( aId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEvent::ConstructL( const TInt aId )
-    {
-    SetId( aId );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent::CHnMdEvent()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEvent::~CHnMdEvent()
-    {
-
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmapping.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmdeventmapping.h"
-#include "hnmdeventmappingelement.h"
-#include "hnmdevent.h"
-#include "hneventhandler.h"
-#include "hnsuitemodel.h"
-#include "hnitemmodel.h"
-#include "hnmdaction.h"
-#include "hnactionmodel.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CHnMdAction> CHnMdEventMapping::GetActionsForEventId(
-    TInt aEventId )
-    {
-    RPointerArray<CHnMdAction> emptyActions;
-    CHnMdEventMappingElement* eventMappingElement = NULL;
-    TBool eventIdFound( EFalse );
-
-    TInt mappingCount( Count() );
-
-    for ( TInt i = 0; i < mappingCount; i++ )
-        {
-        CHnMdEventMappingElement* eme = iMappings[i];
-
-        RPointerArray<CHnMdEvent> events = eme->Events();
-
-        TInt actionsCount = events.Count();
-
-        for ( TInt j = 0; j < actionsCount; j++ )
-            {
-            CHnMdEvent* event = events[ j ];
-
-            if (event->Id() == aEventId )
-                {
-                eventIdFound = ETrue;
-                break;
-                }
-            }
-        if ( eventIdFound )
-            {
-            eventMappingElement = eme;
-            break;
-            }
-        }
-
-    if ( eventIdFound )
-        return eventMappingElement->Actions();
-    else
-        return emptyActions;  
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::ConstructL( TXmlEngElement aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    // construction...
-    iCmnPtrs = aCmnPtrs;
-    
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL(children);
-
-    aElement.GetChildElements(children);
-    TInt amount = children.Count();
-
-    for (TInt i(0);i<amount;i++)
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KEventElementName8 ) )
-            {
-            CHnMdEventMappingElement* eme =
-                CHnMdEventMappingElement::NewL( child );
-            CleanupStack::PushL( eme );
-            iMappings.AppendL( eme );
-            CleanupStack::Pop( eme );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping* CHnMdEventMapping::NewL( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdEventMapping* self = CHnMdEventMapping::NewLC( aElement,
-        aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdEventMapping::Count() const
-    {
-    return iMappings.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping* CHnMdEventMapping::NewLC( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdEventMapping* self = new( ELeave ) CHnMdEventMapping;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping::CHnMdEventMapping()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMapping::~CHnMdEventMapping()
-    {
-    iMappings.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::AddActionL( 
-        RHashMap<TInt,CArrayPtr<CHnActionModel> *> & aActions, 
-        CHnActionModel *& aActionModel, TInt aEventId )
-    {
-    CArrayPtr<CHnActionModel>** actionsContainer = aActions.Find( aEventId );
-    if ( !actionsContainer )
-        {
-        CArrayPtr<CHnActionModel>* newActionsContainer = new( 
-            ELeave ) CArrayPtrFlat<CHnActionModel>( KDefaultGranularity );
-        CleanupStack::PushL( newActionsContainer );
-        aActions.InsertL( aEventId, newActionsContainer );
-        actionsContainer = &newActionsContainer;
-        CleanupStack::Pop( newActionsContainer );
-        }
-    ( *actionsContainer )->AppendL( aActionModel );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::FillActionsL( 
-        RHashMap< TInt, CArrayPtr<CHnActionModel>* >& aActions,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RArray< TInt > eventIds;
-    CleanupClosePushL( eventIds );
-    GetEventIdsL( eventIds );
-    
-    for ( TInt i( 0 ); i < eventIds.Count(); i++ )
-        {
-        RPointerArray< CHnMdAction > actions = GetActionsForEventId( 
-                eventIds[ i ] );
-        for ( TInt j( 0 ); j < actions.Count(); j++ )
-            {
-            if ( !actions[ j ] || !actions[ j ]->IsValidL( 
-                    aQueriesResultsList, aPos ) )
-                {
-                continue;
-                }
-            CHnActionModel* actionModel = CHnActionModel::NewL();
-            CleanupStack::PushL( actionModel );
-            actions[ j ]->EvaluateL( actionModel, aQueriesResultsList, aPos );
-            AddActionL( aActions, actionModel, eventIds[ i ] );
-            CleanupStack::Pop( actionModel );
-            }
-        }
-    CleanupStack::PopAndDestroy( &eventIds );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMapping::GetEventIdsL( RArray< TInt >& aIds ) const
-    {
-    TInt mappingCount = Count();
-        
-    for( TInt i = 0; i < mappingCount; i++ )
-        {
-        CHnMdEventMappingElement* eme = iMappings[ i ];
-        const RPointerArray< CHnMdEvent >& events = eme->Events();
-        TInt eventsCount = events.Count();
-        for ( TInt j = 0; j < eventsCount; j++ )
-            {
-            CHnMdEvent* event = events[ j ];
-            aIds.AppendL( event->Id() );
-            }
-        }
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdeventmappingelement.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmdeventmappingelement.h"
-#include "hnmdaction.h"
-#include "hnmdevent.h"
-#include "hnconvutils.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::ConstructL( TXmlEngElement aElement )
-    {
-    TPtrC8 n = aElement.Name();
-    
-    //ASSERT( aElement.Name() == KEventElementName8 );
-    //ASSERT( aElement.Prefix() == KNameSpacePrefix8 );
-    ASSERT( aElement.HasAttributeL( KEventAttrName8 ) );
-    ASSERT( aElement.HasChildNodes() );
-
-    SetEventsL( aElement );
-    SetActionsL( aElement );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-RPointerArray<CHnMdAction>& CHnMdEventMappingElement::Actions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const RPointerArray<CHnMdEvent>& CHnMdEventMappingElement::Events() const
-    {
-    return iEvents;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::SetActionsL( TXmlEngElement aElement )
-    {
-    // retrieve action
-    RXmlEngNodeList< TXmlEngElement > actions;
-    CleanupClosePushL( actions );
-    aElement.GetChildElements( actions );
-    TInt count = actions.Count();
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        TXmlEngElement element = actions.Next();
-        if(!element.Name().Compare( KActionElementName8 ) )
-            {
-            CHnMdAction* action = CHnMdAction::NewL( element );
-            CleanupStack::PushL( action );
-            iActions.AppendL( action );
-            CleanupStack::Pop( action );
-            }
-        }
-    CleanupStack::PopAndDestroy( &actions );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::SetEventsL( TXmlEngElement aElement )
-    {
-    // parsing events
-    TPtrC8 events(aElement.AttributeValueL( KEventAttrName8 ));
-    
-    TLex8 lex( events );
-    TChar ch;
-    
-    TInt length( events.Length() );
-    TInt cnt = 0;
-    while( ch = lex.Get() != 0 )
-        {
-        cnt++;
-        while ( ( ch = lex.Peek() ) != '|' && cnt < length)
-            {
-            lex.Inc();
-            cnt++;
-            }
-
-        // retrieve event id
-        RBuf8 eventId;
-        eventId.CreateL( lex.MarkedToken() );
-        
-        TLex8 lexEventId( eventId );
-        TInt id = -1;
-        lexEventId.Val( id );
-
-        CHnMdEvent *event = CHnMdEvent::NewL( 
-                id );
-
-        AddEventL( event );
-        eventId.Close();
-
-        lex.Inc();
-        cnt++;
-        lex.Mark();
-        if (cnt >= length)
-            break;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Takes ownership of an event!
-// ---------------------------------------------------------------------------
-//
-void CHnMdEventMappingElement::AddEventL( CHnMdEvent* aEvent )
-{
-    iEvents.AppendL( aEvent );
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement* CHnMdEventMappingElement::NewL( 
-                                    TXmlEngElement aElement )
-    {
-    CHnMdEventMappingElement* self = 
-            CHnMdEventMappingElement::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement* CHnMdEventMappingElement::NewLC( 
-                                    TXmlEngElement aElement )
-    {
-    CHnMdEventMappingElement* self = new( ELeave ) CHnMdEventMappingElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement::CHnMdEventMappingElement()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdEventMappingElement::~CHnMdEventMappingElement()
-    {
-    iEvents.ResetAndDestroy();
-    iActions.ResetAndDestroy();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmditem.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1078 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hnmdquery.h"
-#include "hnmdqueries.h"
-#include "hnconditioninterface.h"
-#include "hnmdmenuitem.h"
-#include "hnbuttonmodel.h"
-#include "hnmdbutton.h"
-#include "hnmdeventmapping.h"
-#include "hnmduimapping.h"
-#include "hnitemid.h"
-#include "hnmdlocalization.h"
-#include "hnmdsuite.h"
-#include "hnxmlmodelprovider.h"
-#include "hnmdaction.h"
-#include "hnfilter.h"
-#include "hnmdtoolbar.h"
-#include "hnmdnotifyrequests.h"
-#include "hnmditem.h"
-#include "hninterface.h"
-#include "hnconditionfactory.h"
-#include "hnattributetext.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnmenuitemmodel.h"
-#include "hnitemsorder.h"
-#include "hnactionmodel.h"
-#include "hnitemmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdservicecommand.h"
-#include "hnliwutils.h"
-#include "hnstringhandler.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-
-using namespace LIW;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::ConstructL(TXmlEngElement aElement,
-                                THnMdCommonPointers* aCmnPtrs)
-    {
-    ASSERT( !aElement.Name().Compare( KItemElementName8 ) 
-            || !aElement.Name().Compare( KEditModeItem8 ) );
-
-    iCmnPtrs = aCmnPtrs;
-    
-    // set count
-    SetCountL( aElement );
-
-    // set template
-    SetTemplateL( aElement.AttributeNodeL( KTemplateAttrName8 ) );
-
-    // set condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL( 
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-
-    //set item id
-    SetItemIdL( aElement );
-
-    // sets the alternative layout for edit mode
-    SetEditModeItemL( aElement );
-    
-    // sets move_locked and delete_locked attributes
-    SetAttributesL( aElement );
-    
-    // sets type of the item
-    SetTypeL( aElement );
-    
-    // sets uid of the item
-    SetUidL( aElement );
-    
-    // sets custom id
-    SetCustomIdL( aElement );
-    
-    // sets msk
-    SetMiddleSoftKeyL( aElement, aCmnPtrs );
-    
-    //set queries
-    iQueries = CHnMdQueries::NewL( aElement );
-
-    //set notify requests
-    iNotifyRequests = CHnMdNotifyRequests::NewL( aElement, *iItemId, 
-            iCmnPtrs );
-    
-    //set event mapping
-    iEventMapping = CHnMdEventMapping::NewL( aElement, iCmnPtrs );
-
-    //set ui mapping
-    iUiMapping = CHnMdUiMapping::NewL( aElement, iCmnPtrs );
-
-    //set menu items
-    iMenu = CHnMdMenuItem::NewL( aElement, iCmnPtrs );
-
-    //set toolabr element
-    iToolbar = CHnMdToolbar::NewL( aElement, iCmnPtrs );
-         
-    iQueriesResultsList = CLiwGenericParamList::NewL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAlternativeModeItem(CHnMdItem* aAlternativeModeItem)
-    {
-    iAlternativeModeItem = aAlternativeModeItem;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::TakeAlternativeModeItem()
-    {
-    CHnMdItem * ret = iAlternativeModeItem;
-    iAlternativeModeItem = NULL;
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::HasAlternativeModeItem() const
-    {
-    return (iAlternativeModeItem != NULL) ? ETrue : EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetEditModeItemL( TXmlEngElement aElement )
-    {
-    RXmlEngNodeList< TXmlEngElement> children;
-    CleanupClosePushL ( children );
-    aElement.GetChildElements ( children );
-
-    TInt count = children.Count();
-    for (TInt j = 0; j < count ; j++ )
-        {
-        TXmlEngElement item = children.Next();
-             
-        if ( !item.Name().Compare( KEditModeItem8 ) )
-            {
-            iAlternativeModeItem = CHnMdItem::NewL( item, iCmnPtrs );
-            iAlternativeModeItem->iItemId->UpdateL( *iItemId );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy ( &children );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::NewL(TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdItem* self = CHnMdItem::NewLC(aElement, aCmnPtrs);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem* CHnMdItem::NewLC(TXmlEngElement aElement,
-                                         THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdItem* self = new( ELeave ) CHnMdItem;
-    CleanupStack::PushL( self );
-    self->ConstructL(aElement, aCmnPtrs);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem::CHnMdItem() : iAlternativeModeItem(NULL), iAllowableTemplate(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdItem::~CHnMdItem()
-    {
-    if ( iNotifyRequests )
-        {
-        CLiwGenericParamList* empty = NULL;
-        TRAP_IGNORE( iNotifyRequests->SendAllRequestsL( *empty, KLiwOptCancel ) );
-        }
-
-    delete iNotifyRequests;
-    delete iAlternativeModeItem;
-    delete iAllowableTemplate;
-    iTemplate.Close();
-    delete iMenu;
-    delete iQueries;
-    delete iEventMapping;
-    delete iUiMapping;
-    delete iItemId;
-    delete iToolbar;
-    iRemoveLocked8.Close();
-    iRunning8.Close();
-    iDrmProtection8.Close();
-    iMoveLocked8.Close();
-    iType8.Close();
-    iUid8.Close();
-    iCustomId8.Close();
-    iCount8.Close();
-    delete iQueriesResultsList;
-    delete iQc;
-    delete iCondition;
-    delete iMsk;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::EvaluateItemItselfL(CHnSuiteModel & aSuiteModel,
-        CLiwGenericParamList& aParams, TInt aItemPosition )
-    {
-    
-    DEBUG16(("_MM_: CHnMdItem::EvaluateItemL IN"));
-    iSuiteModel = &aSuiteModel;
-   
-    if ( !iNotifyRequests->Sent() )
-    	{
-    	iNotifyRequests->SendAllRequestsL( aParams );
-    	}
-    
-    iItemPosition = aItemPosition;
-    
-    //allocate memory for new results
-    iQueriesResultsList->Reset();
-    iQueriesResultsList->AppendL( aParams );
-
-    //delete old query collector and create new one
-    //currently running evaluations will be cancelled
-    delete iQc;
-    iQc = NULL;
-    iQc = CHnQueryResultCollector::NewL( *iQueries , aParams );
-    iQc->StartAsynchL( this );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::AddItemL( CHnSuiteModel& aSuiteModel, TInt aItemId, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aItemModelNumber, 
-        TInt aItemPos )
-	{
-	TInt err( KErrNone );
-	CHnItemModel* itemModel = CHnItemModel::NewL();
-	CleanupStack::PushL( itemModel );
-	
-	TBool result = FillItemModelL( itemModel, aQueriesResultsList, aItemPos );
-	
-	if ( result )
-		{
-		if ( !itemModel->GetTemplate().Compare( KTemplateEmpty8 ) )
-			{
-			CHnItemModel* empty = aSuiteModel.GetItemModel( aSuiteModel.IdByIndex( -1 ) );
-			// empty has been already added
-			if ( empty )
-				{
-				err = KErrAlreadyExists;
-				}
-			}
-		}
-	else
-		{
-		err = KErrGeneral;
-		}
-	
-	if( KErrNone == err )
-		{
-		aSuiteModel.AddItemL( aItemId, itemModel, aItemModelNumber, aItemPos );
-		CleanupStack::Pop( itemModel );
-	    }
-	else
-		{
-		CleanupStack::PopAndDestroy( itemModel );
-		itemModel = NULL;
-		}
-	return err;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::UpdateItemL( CHnSuiteModel & aSuiteModel, TInt aItemId,
-		const CLiwGenericParamList& aQueriesResultsList, TInt aItemPos )
-	{
-	TBool result = ETrue;
-	CHnItemModel* itemModel = aSuiteModel.GetItemModel( aItemId );
-	itemModel->ClearAttributesL();
-	result = FillItemModelL( itemModel, aQueriesResultsList, aItemPos );
-	if( result )
-		{
-		aSuiteModel.UpdateItemTemplateL( aItemId );
-		}  
-	return result ? KErrNone : KErrGeneral;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::RemoveItemL( CHnSuiteModel & aSuiteModel, TInt aId )
-	{
-	//TInt id = iIds[ aPosition ];
-	//iIds.Remove( aPosition );
-	aSuiteModel.RemoveItemL( aId );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::EvaluateItemL( CHnSuiteModel & aSuiteModel,
-                               CLiwGenericParamList& aParamList, 
-                               TInt aItemPosition )
-    {
-    if( iEvaluationNeeded  )
-        {
-        EvaluateItemItselfL( aSuiteModel, aParamList, aItemPosition );
-        iEvaluationNeeded = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::MarkEvaluationL( CHnFilter& aFilter )
-    {
-    if( aFilter.HasItemIds() )
-        {
-        aFilter.ResetIterator();
-        while( aFilter.HasNextItemId() && !iEvaluationNeeded )
-            {
-            const CHnItemId* item = aFilter.GetNextItemId();
-            if( iItemId->Compare( *item ) )
-                {
-                iEvaluationNeeded = ETrue;
-                }
-            }
-        }
-     else
-        {
-        iEvaluationNeeded = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::EvaluateItemL( CHnSuiteModel & aSuiteModel,
-        const CHnItemId* aItemId, CLiwGenericParamList& aParamList, 
-        TInt aItemPosition )
-    {
-    DEBUG(("_MM_: CHnMdItem::EvaluateItemL IN")); //TO CHANGE LATER (id : %S)", iItemId->Id()));
-    TInt result( KErrNotFound ); 
-    if( iItemId->Compare( *aItemId ) )
-        {
-        EvaluateItemItselfL( aSuiteModel, aParamList, aItemPosition );
-        result = KErrNone;
-        }
-    DEBUG(("_MM_: CHnMdItem::EvaluateItemL OUT"));
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::GetIndexValuesFromOutputsL( RPointerArray < HBufC8 > &aValues,
-        TXmlEngElement aElement )
-	{
-	RXmlEngNodeList < TXmlEngElement > children;
-	CleanupClosePushL( children );
-	aElement.GetChildElements( children );
-	TInt amount = children.Count();
-	
-	TPtrC8 n = aElement.Name();
-
-	for( TInt j( 0 ); j < amount; j++ )
-		{
-		TXmlEngElement item = children.Next();
-		
-		if ( !item.Name().Compare( KOutputElementItem8 ) )
-			{
-			if ( item.HasAttributeL( KValueAttrName8 ) &&
-				 item.AttributeValueL( KValueAttrName8 ).Find( KIndex8 ) >= 0 &&
-				 item.HasAttributeL( KAliasAttrName8 ) &&
-				!item.AttributeValueL( KAliasAttrName8 ).Compare( KTitle8 ) )
-				{
-				TInt pos = item.AttributeValueL( KValueAttrName8 ).Find( KIndexWithBrackets8 ) - 1;
-				TInt siz = KCount().Length();
-				TInt len = pos + siz;
-				TInt len0 = item.AttributeValueL( KValueAttrName8 ).Length() + KCount().Length();
-				
-				HBufC8* buf = HBufC8::NewL( len0 );
-				buf->Des().Copy( item.AttributeValueL( KValueAttrName8 ) );
-				buf->Des().Replace( pos, siz, KCount() );
-				buf->Des().SetLength( len );
-				aValues.Append( buf );
-				}
-			}
-		}
-	
-	CleanupStack::PopAndDestroy( &children );
-	return aValues.Count();
-	}
-        
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCountL( TXmlEngElement aElement )
-    {
-    TXmlEngAttr aAttr = aElement.AttributeNodeL( KCountAttrName8 );
-    iCount8.Close();
-    iCount8.CreateL( aAttr.Value() );
-    
-    // replace "*"
-    if ( !iCount8.Compare( KStar8 ) )
-    	{
-    	RPointerArray<HBufC8> values;
-    	CleanupClosePushL( values );
-    	if( GetIndexValuesFromOutputsL( values, aElement ) > 0 )
-    	    {
-            for( TInt i = 0; i < values.Count(); i++ )
-                {
-                HBufC8* buf = values[i];
-                iCount8.Close();
-                iCount8.CreateL( buf->Length() );
-                iCount8.Copy( *buf );
-                }
-    	    }
-    	else
-    	    {
-            iCount8.Close();
-            iCount8.CreateL( KDefaultCount8().Length() );
-            iCount8.Copy( KDefaultCount8 );
-    	    }
-    	values.ResetAndDestroy();
-    	CleanupStack::PopAndDestroy( &values );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTemplateL( TXmlEngAttr aAttr )
-    {
-    iAllowableTemplate = new ( ELeave ) CDesC8ArrayFlat( 3 );
-       
-    for (int i = 0; i < HnUtils::GetColumnTextColumnCount(aAttr.Value()); i++)
-        {
-        HBufC8* templateBuf = HnUtils::GetColumnTextLC( i, aAttr.Value() );
-        templateBuf->Des().Trim();
-        iAllowableTemplate->AppendL( *templateBuf );
-        CleanupStack::PopAndDestroy(templateBuf);
-        }
-      
-    if (iAllowableTemplate->Count() > 0 )
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[0];
-        iTemplate.Close();
-        iTemplate.CreateL( val.Length() + 1 );
-        iTemplate.Copy( val );
-        }
-    else
-        iTemplate.CreateL( KNullDesC8() );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTemplateL( CHnItemModel* aItemModel )
-    {
-    ASSERT( aItemModel );
-    CHnAttributeText* templateAttr = CHnAttributeText::NewL();
-    templateAttr->SetNameL( KTemplate8 );
-    templateAttr->SetValueL( iTemplate );
-    aItemModel->SetAttributeL( templateAttr );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAlternativeTemplateL( TInt aOption )
-    {
-    if ( !iTemplate.Compare( KTemplateEmpty8 ) )
-        {
-        return;
-        }
-    iTemplate.Close();
-    if (aOption >=0 && aOption < iAllowableTemplate->Count())
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[aOption];
-        iTemplate.CreateL( val.Length() + 1 );
-        iTemplate.Copy( val );
-        }
-    else
-        {
-        iTemplate.CreateL( KNullDesC8() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetItemIdL( TXmlEngElement aItemElement )
-    {
-    HBufC* suiteName = HnConvUtils::Str8ToStrLC(
-        aItemElement.AttributeNodeL( KSuiteElementName8 ).Value() );
-    HBufC* itemId = HnConvUtils::Str8ToStrLC(
-        aItemElement.AttributeNodeL( KItemIdAttrName8 ).Value() );
-
-    iItemId = CHnItemId::NewL( *suiteName, *itemId );
-
-    CleanupStack::PopAndDestroy( itemId );
-    CleanupStack::PopAndDestroy( suiteName );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetDeleteMoveAttributesL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	aItemModel->ClearFlags();
-	TLiwVariant moveLocked;
-	moveLocked.PushL();
-	HnLiwUtils::GetVariantL( aQueriesResultsList, iMoveLocked8, aPos, moveLocked );
-    if ( moveLocked == TLiwVariant( (TBool) ETrue ) ) 
-    	{
-    	aItemModel->SetFlag( EItemFlagMoveLocked );
-    	}
-    CleanupStack::PopAndDestroy( &moveLocked );
-    
-    TLiwVariant deleteLocked;
-    deleteLocked.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iRemoveLocked8, aPos, deleteLocked );
-    if ( deleteLocked == TLiwVariant( (TBool) ETrue ) )
-    	{
-    	aItemModel->SetFlag( EItemFlagRemoveLocked );
-    	}
-    CleanupStack::PopAndDestroy( &deleteLocked );
-    
-    TLiwVariant running;
-    running.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iRunning8, aPos, running );
-    if ( running == TLiwVariant( (TBool) ETrue ) )
-    	{
-    	aItemModel->SetFlag( EItemFlagRunning );
-    	}
-    CleanupStack::PopAndDestroy( &running );
-    
-    TLiwVariant drm;
-    drm.PushL();
-    HnLiwUtils::GetVariantL( aQueriesResultsList, iDrmProtection8, aPos, drm );
-    TPtrC drmRights;
-    drm.Get( drmRights );
-    if ( !drmRights.Compare( KMenuDrmRightsExpired ) )
-        {
-        aItemModel->SetFlag( EItemFlagDrmExpired );
-        }
-    CleanupStack::PopAndDestroy( &drm );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTypeL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	RBuf8 type;
-    CleanupClosePushL( type );
-    HnLiwUtils::GetStringL( aQueriesResultsList, iType8, aPos, type );
-    aItemModel->SetType( type );
-    CleanupStack::PopAndDestroy( &type );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetUidL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RBuf8 uid;
-    CleanupClosePushL( uid );
-    HnLiwUtils::GetStringL( aQueriesResultsList, iUid8, aPos, uid );
-    aItemModel->SetItemUidL( uid );
-    CleanupStack::PopAndDestroy( &uid );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCustomIdL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aParams, TInt aPos )
-	{
-	TInt64 customId( KErrNotFound );
-	if ( KErrNone == HnLiwUtils::GetInt64L(
-			aParams, iCustomId8, aPos, customId ) )
-		{
-		aItemModel->SetCustomId( customId );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::FillItemModelL( CHnItemModel* aItemModel, 
-		const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-	{
-	TBool result( EFalse );
-	
-	// set template for item
-	SetTemplateL( aItemModel );
-    
-    // set delete/move locked attributes
-	SetDeleteMoveAttributesL( aItemModel, aQueriesResultsList, aPos );
-
-    // set type of an item    
-	SetTypeL( aItemModel, aQueriesResultsList, aPos );
-	
-    // set uid of an item    
-    SetUidL( aItemModel, aQueriesResultsList, aPos );
-	
-	// set custom id
-    SetCustomIdL( aItemModel, aQueriesResultsList, aPos );
-    
-    // fills mul item	
-	TRAP_IGNORE( result = iUiMapping->FillGraphicalItemL( 
-	        aItemModel, aQueriesResultsList, aPos ) );
-	
-	if ( result )
-		{
-		// fills item model
-		FillItemModelWithMenuItemsL( aItemModel, aQueriesResultsList, aPos );
-		FillItemModelWithToolbarL( aItemModel, aQueriesResultsList, aPos );
-		FillItemModelWithMiddleSoftKeyL( aItemModel, aQueriesResultsList, 
-		        aPos );
-					
-		aItemModel->DeleteAllActionModels();
-		iEventMapping->FillActionsL( aItemModel->GetActions(), 
-		        aQueriesResultsList, aPos );
-		}
-	return result;
-    } 
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithMenuItemsL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    CHnMenuItemModel* menu = CHnMenuItemModel::NewL( KMenuItemName() );
-    CleanupStack::PushL( menu );
-    iMenu->EvaluateL( menu, aQueriesResultsList, aPos );
-    aItemModel->SetMenuItemModel( menu );
-    CleanupStack::Pop( menu );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithToolbarL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    CHnToolbarModel* toolbar = CHnToolbarModel::NewLC();
-    iToolbar->EvaluateL( toolbar, aQueriesResultsList, aPos );
-    aItemModel->SetToolbarModel( toolbar );
-    CleanupStack::Pop( toolbar );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::FillItemModelWithMiddleSoftKeyL( CHnItemModel* aItemModel, 
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    if ( iMsk )
-        {
-        CHnButtonModel* msk = CHnButtonModel::NewLC( iMsk->GetIndex() );
-    	const TDesC& helpText = iMsk->EvaluateButtonTextL( 
-                aQueriesResultsList, aPos );
-        msk->SetHelpTextL( helpText );
-        aItemModel->SetMiddleSoftKey( msk );
-        CleanupStack::Pop( msk );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdItem::IsValidL( const CLiwGenericParamList& aQueryResults, 
-                  TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-
-TBool CHnMdItem::CompareItems( CHnItemId* aSearchCriteria )
-    {
-    return iItemId->Compare( *aSearchCriteria );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetAttributesL( TXmlEngElement aElement )
-    {
-    iMoveLocked8.Close();
-    iRemoveLocked8.Close();
-    iRunning8.Close();
-    iDrmProtection8.Close();
-    
-    if ( aElement.HasAttributeL( KMoveLocked8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KMoveLocked8 );
-    	iMoveLocked8.CreateL( av );
-    	}
-    else
-    	{
-    	iMoveLocked8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KRemoveLocked8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KRemoveLocked8 );
-    	iRemoveLocked8.CreateL( av );
-    	}
-    else
-    	{
-    	iRemoveLocked8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KRunning8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KRunning8 );
-    	iRunning8.CreateL( av );
-    	}
-    else
-    	{
-    	iRunning8.CreateL( KStringFalse8 );
-    	}
-    
-    if ( aElement.HasAttributeL( KDrmProtection8 ) )
-        {
-        TPtrC8 av = aElement.AttributeValueL( KDrmProtection8 );
-        iDrmProtection8.CreateL( av );
-        }
-    else
-        {
-        iDrmProtection8.CreateL( KMenuDrmUnknown8 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetTypeL( TXmlEngElement aElement )
-    {
-    iType8.Close();
-    
-    if ( aElement.HasAttributeL( KItemType8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KItemType8 );
-    	iType8.CreateL( av );
-    	}
-    else
-    	{
-    	iType8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetUidL( TXmlEngElement aElement )
-    {
-    iUid8.Close();
-    
-    if ( aElement.HasAttributeL( KItemUid8 ) )
-        {
-        TPtrC8 av = aElement.AttributeValueL( KItemUid8 );
-        iUid8.CreateL( av );
-        }
-    else
-        {
-        iUid8.CreateL( TUid::Null().Name().Length() );
-        iUid8.Append( TUid::Null().Name() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetCustomIdL( TXmlEngElement aElement )
-    {
-    iCustomId8.Close();
-    
-    if ( aElement.HasAttributeL( KCustomId8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KCustomId8 );
-    	iCustomId8.CreateL( av );
-    	}
-    else
-    	{
-    	iCustomId8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::SetMiddleSoftKeyL( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement> children;
-    CleanupClosePushL ( children );
-    aElement.GetChildElements ( children );
-    TInt count = children.Count();
-    for (TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement item = children.Next();
-             
-        if ( !item.Name().Compare( KMiddleSoftKey8 ) )
-            {
-            iMsk = CHnMdButton::NewLC( item, aCmnPtrs );
-            CleanupStack::Pop( iMsk );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Template()
-	{
-	return iTemplate;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Type()
-	{
-	return iType8;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CHnMdItem::Uid()
-    {
-    return iUid8;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdItem::GetItemsMaxCountL()
-    {
-    TInt ret( KErrNotFound );
-    
-    // check if iCount8 equals "*"
-    if ( !iCount8.Compare( KStar8() ) )
-    	{
-    	ret = KErrUnknown;
-    	}
-    // check if iCount8 is a number
-    else if ( HnConvUtils::Str8ToInt( iCount8, ret ) >= 0 ) 
-    	{
-    	; // ret contains a number
-    	}
-    // try to retrieve number of items from given paths
-    else
-		{
-		TInt columnsCount( HnUtils::GetColumnTextColumnCount( iCount8 ) );
-		for (int i = 0; i < columnsCount; i++)
-			{
-			HBufC8* tmpCountBuf = HnUtils::GetColumnTextLC( i, iCount8 );
-			TInt pos = tmpCountBuf->Des().Find( KCount() );
-			
-			if ( pos >= 0 )
-				{
-				tmpCountBuf->Des().Replace( pos, KCount().Length(), KNullDesC8 );
-				TLiwVariant variant;
-				variant.PushL();
-				HnLiwUtils::GetVariantL( *iQueriesResultsList, *tmpCountBuf, variant );
-
-				const CLiwList* list = variant.AsList();
-				CLiwIterable* iterable = variant.AsIterable();
-				TInt count = KErrNotFound;
-				if ( list )
-				    {
-				    count = list->Count();
-				    }
-				else if ( iterable )
-				    {
-				    count = HnLiwUtils::GetIterableItemCountL( *iterable );
-				    }
-
-				if ( count != KErrNotFound )
-					{
-					if ( ( i == 0 ) || ( ( i > 0 ) && ( count < ret )  ) )
-						{
-						ret = count;
-						}
-					}
-				CleanupStack::PopAndDestroy( &variant );
-				}
-	
-			CleanupStack::PopAndDestroy( tmpCountBuf );
-			}
-		}
-   
-    return ret; 
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdItem::ResultsCollectedL( CLiwGenericParamList* aResults )
-    {
-    iQueriesResultsList->AppendL( *aResults );
-
-    RArray< TInt > ids;
-    CleanupClosePushL( ids );
-    iSuiteModel->GetItemsOrder()->GetIdsForL( iItemPosition, ids );
-    TInt startCount = ids.Count();
-    TInt visibleItemsBeforeEvaluation = iSuiteModel->GetItemsOrder()->Count();
-    TInt id( 0 );
-
-    TBool result = ETrue;
-    TInt itemCounter = 0;
-    
-    TInt maxCount( GetItemsMaxCountL() );
-    
-    for ( TInt i(0); result; i++, itemCounter++)
-        {
-        result = ( maxCount != KErrUnknown ) ? i < maxCount && result : result;
-        
-        if ( !result )
-            {
-            continue;
-            }
-       
-        id = (ids.Count() > 0 && i < ids.Count()) ? ids[itemCounter]
-				: KErrNotFound;
-        
-        if( id == KErrNotFound )
-        	{
-        	id = iCmnPtrs->iIdGenerator->GetNextId();
-        	TInt err = AddItemL( *iSuiteModel, id, *iQueriesResultsList,
-        	        iItemPosition, itemCounter );
-        	if ( KErrAlreadyExists == err )
-        		{
-        		// update empty item which is identified by "-1"
-        		TInt err = UpdateItemL( *iSuiteModel, iSuiteModel->IdByIndex(-1), *iQueriesResultsList, i );
-        		result = ( KErrNone == err ) ? ETrue : EFalse;
-        		}
-        	else if ( KErrNone != err )
-        		{
-        		result = EFalse;
-        		}
-        	}
-        else
-        	{
-           	TInt err = UpdateItemL( *iSuiteModel, id, *iQueriesResultsList, i );
-           	result = ( KErrNone == err ) ? ETrue : EFalse;
-        	}
-        
-        if ( !IsValidL( *iQueriesResultsList, i ) )
-            {
-            RemoveItemL( *iSuiteModel, id );
-            itemCounter--;
-            continue;
-            }
-        }
-    
-    for( TInt it(startCount - 1); it >= itemCounter -1 && it >= 0; it-- )
-    	{
-    	RemoveItemL( *iSuiteModel, ids[it] );
-    	}
-    
-    CleanupStack::PopAndDestroy( &ids );    
-    iSuiteModel->RefreshMulModelL( visibleItemsBeforeEvaluation );
-    TBool observersNotified = 
-		iSuiteModel->ItemEvaluationFinishedL( iItemPosition );
-    if ( observersNotified )
-    	{
-    	iCmnPtrs->iModel->SuiteModelReadyToShowL( iSuiteModel );
-    	}
-    
-    DEBUG(("_MM_: CHnMdItem::ResultsCollectedL OUT"));
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalization.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,476 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#include <coemain.h>
-#include <bautils.h>
-#include <StringLoader.h>
-
-#include "hnmdlocalization.h"
-#include "hnmdlocalizationelement.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-/** Max param count */
-static const TInt KMaxParamsCount( 10 );
-const TInt KFileExtensionLength( 4 );
-
-_LIT(KLocalizationOneDes, "%U");
-_LIT(KLocalizationMoreDes, "%?U");
-_LIT(KLocalizationOneInt, "%N");
-_LIT(KLocalizationMoreInt, "%?N");
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ConstructL()
-    {
-    iCoeEnv = CCoeEnv::Static();
-    ASSERT( iCoeEnv );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization* CHnMdLocalization::NewL()
-    {
-    CHnMdLocalization* self = CHnMdLocalization::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization* CHnMdLocalization::NewLC()
-    {
-    CHnMdLocalization* self = new( ELeave ) CHnMdLocalization;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::AppendLocalizationsL( TXmlEngElement aElement )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-
-    RPointerArray<CHnMdLocalizationElement> tempArray;
-    CleanupClosePushL( tempArray );
-    TInt count = children.Count();
-    for ( TInt i( 0 ); i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        
-        if ( !child.Name().Compare( KLocalizationElementName8 ) )
-            {
-            RBuf8 namespac;
-            CleanupClosePushL( namespac );
-            if ( child.HasAttributeL( KNameSpaceAttrName8 ) )
-                {
-                HnUtils::SetAttributeL( child, KNameSpaceAttrName8, namespac );
-                if ( !IsDuplicateL( namespac ) )
-                    {
-                    CHnMdLocalizationElement* element =
-                        CHnMdLocalizationElement::NewL( child );
-            
-                    AppendElementL( element ); // ownership transfered
-                    }
-                }
-            CleanupStack::PopAndDestroy( &namespac );
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &tempArray );
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnMdLocalizationElement* CHnMdLocalization::ElementByNamespace(
-        const TDesC& aNamespace ) const
-    {
-    TInt count = iInternalLocalization.Count();
-    const CHnMdLocalizationElement* element = NULL;
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        const CHnMdLocalizationElement* tmp = iInternalLocalization[i];
-        if ( !tmp->Namespace().Compare( aNamespace) )
-            {
-            element = tmp;
-            break;
-            }
-        }
-    if( !element )
-        {
-        count = iDynamicLocalization.Count();
-            
-        for ( TInt i = 0; i < count; i++ )
-            {
-            const CHnMdLocalizationElement* tmp = iDynamicLocalization[i];
-            if ( !tmp->Namespace().Compare( aNamespace) )
-                {
-                element = tmp;
-                break;
-                }
-            }
-        }
-
-    return element;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization::CHnMdLocalization()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalization::~CHnMdLocalization()
-    {
-    iDynamicLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iDynamicOffset[i] );
-        }
-    iDynamicOffset.Close();
-    
-    iInternalLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iInternalOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iInternalOffset[i] );
-        }
-    iInternalOffset.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ReloadResourceFilesL()
-    {
-    for( TInt i( 0 ); i < iDynamicLocalization.Count(); i++ )
-        {
-        iDynamicLocalization[i]->LocateLanguageFileL();
-        if( iDynamicLocalization[i]->SourcePath()  )
-            {        
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL(
-                    *(iDynamicLocalization[i]->SourcePath()) ) );
-            if ( !err )
-                {
-                iDynamicOffset.AppendL( offset );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalization::ReleaseResourceFiles()
-    {
-    iDynamicLocalization.ResetAndDestroy();
-    for( TInt i( 0 ); i < iDynamicOffset.Count(); i++ )
-        {
-        iCoeEnv->DeleteResourceFile( iDynamicOffset[i] );
-        }
-    iDynamicOffset.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnMdLocalization::AppendElementL( CHnMdLocalizationElement* aElement )
-    {
-    if( IsInternalL( aElement->Source() ) )
-        {
-        iInternalLocalization.AppendL( aElement );
-        if( IsResourceFile (aElement->Source()) )
-            {
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); 
-            if ( !err )
-                {
-                iInternalOffset.AppendL( offset );
-                }
-            }
-        }
-    else
-        {
-        iDynamicLocalization.AppendL( aElement );
-        if( IsResourceFile (aElement->Source()) )
-            {
-            TInt offset( 0 );
-            TRAPD( err, offset = iCoeEnv->AddResourceFileL( *(aElement->SourcePath()) ) ); 
-            if ( !err )
-                {
-                iDynamicOffset.AppendL( offset );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsDuplicateL( TDesC8& aNamespace )
-	{
-	HBufC* namespac = HnConvUtils::Str8ToStrLC( aNamespace );
-	TBool isDuplicate( IsDuplicateL( *namespac ) );
-    CleanupStack::PopAndDestroy( namespac );
-    return isDuplicate;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsDuplicateL( TDesC& aNamespace )
-    {
-    TBool isDuplicate( EFalse );
-    
-    if ( ElementByNamespace( aNamespace ) != NULL )
-        {
-        isDuplicate = ETrue;
-        }
-    
-    return isDuplicate;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TBool CHnMdLocalization::IsInternalL( const TDesC& aName )
-    {
-    TBool isInternal( EFalse );
-    _LIT( KDot, "." );
-    
-    TInt offset( aName.Find( KDot ) );
-    if( offset != KErrNotFound )
-        {
-        if( aName.Left( offset ).Compare( KFolderSuite ) == KErrNone )
-            {
-            isInternal = ETrue;
-            }
-        }
-    
-    return isInternal;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TBool CHnMdLocalization::IsResourceFile( const TDesC& aFileName )
-    {
-    TInt pos = aFileName.Find( KExtension );
-    if( aFileName.Right( KFileExtensionLength ).Compare( KExtensionRsc ) )
-    	{
-        TBuf<2> tail;
-        tail.Copy(aFileName.Right(2));
-        for (TInt i = 0; i < tail.Length(); i++ )
-        	{
-            TChar c = tail[i];
-            if ( !c.IsDigit() )
-            	{
-                pos = KErrNotFound;
-                break;
-            	}
-        	}
-    	}
-    return pos == ( aFileName.Length() - KFileExtensionLength );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-HBufC* CHnMdLocalization::LoadL( const TDesC& aResourceName,
-    const CDesC16Array* aDesParams, const CArrayFix<TInt>* aIntParams )
-    {
-    TInt position = aResourceName.Locate(':');
-    HBufC* res = NULL;
-    if( position!= KErrNotFound )
-        {
-        TPtrC resourceName = aResourceName.Mid(position + 1);
-        TPtrC locName = aResourceName.Left(position);
-        
-        const CHnMdLocalizationElement* localization = 
-            ElementByNamespace( locName );
-        // if there is not namaspace defined, check may it is file in format
-        // myapp.rsc:id
-        if (!localization && !IsDuplicateL( locName ) && IsResourceFile( locName ))
-            {
-            // let's try to add namespace
-            CHnMdLocalizationElement* element = 
-                CHnMdLocalizationElement::NewL( locName, locName);
-            AppendElementL(element); // ownership transfered
-            localization =  ElementByNamespace( locName );
-            }
-        
-        if( localization && IsResourceFile( localization->Source() ) && localization->SourceExists() )
-            {
-			HBufC8* resourceName8 = HBufC8::NewLC(resourceName.Length());
-			resourceName8->Des().Copy(resourceName);
-			TInt resourceId (KErrNotFound);
-			TRAPD(err,  resourceId = 
-				const_cast<CHnMdLocalizationElement*>(localization)->FindResourceIdL(resourceName8) );
-			if ( err != KErrNone ) // maybe it was only number
-				{
-				err = HnConvUtils::Str8ToInt(*resourceName8, resourceId);
-				}
-			User::LeaveIfError(err); 
-			if ( iCoeEnv->IsResourceAvailableL( resourceId ) )
-				{
-				res = iCoeEnv->AllocReadResourceL( resourceId );
-				}
-
-			CleanupStack::PopAndDestroy( resourceName8 );
-            }
-        }
-    
-    if (!res) // it mean that we dont have localization item for it
-        {
-        res = aResourceName.AllocL();
-        }
-    if ((aDesParams && aDesParams->Count()) ||
-        (aIntParams && aIntParams->Count()))
-        {
-        CleanupStack::PushL(res);
-        HBufC* formatted = FormatTextL(*res, aDesParams, aIntParams);
-        CleanupStack::PopAndDestroy(res);
-        res = formatted;
-        }
-     
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdLocalization::FormatTextL( const TDesC& aTextToFormat,
-    const CDesC16Array* aDesParams, const CArrayFix<TInt>* aIntParams )
-    {
-    HBufC* res = aTextToFormat.AllocL();
-    TInt noParams(0);
-    
-    if (aDesParams)
-        noParams += aDesParams->Count();
-    if (aIntParams)
-        noParams += aIntParams->Count();   
-    
-    if (noParams > KMaxParamsCount)
-        User::Leave( KErrNotSupported );
-    
-    // let's check if we have descriptors to format
-    if( aDesParams && aDesParams->Count() )
-         {
-         // if we have only one we match to %U
-         if (aDesParams->Count() == 1)
-             {
-             if ( res->FindC(KLocalizationOneDes) != KErrNotFound )
-                 {
-                 TPtrC16 param = aDesParams->MdcaPoint(0);
-                 HBufC* dest = HBufC::NewL( res->Length() +
-                                            param.Length() * KMaxParamsCount );
-                 TPtr destDes(dest->Des());
-                 StringLoader::Format( destDes, *res, -1, param );
-                 delete res;
-                 res = dest;
-                 }
-             }
-         // and we match for format %(index)U
-         TBufC<3> descformat(KLocalizationMoreDes);
-         TInt desIndexUsed(0);
-         for (TInt i = 0; i < noParams && desIndexUsed < aDesParams->Count(); i++)
-             {
-             descformat.Des()[1] = '0'+ i; // replace index infromation
-             if ( res->FindC( descformat ) != KErrNotFound )
-                 {
-                 
-                 TPtrC16 param = aDesParams->MdcaPoint(desIndexUsed++);
-                 HBufC* dest = HBufC::NewL( res->Length() + 
-                                            param.Length() * KMaxParamsCount );
-                 TPtr destDes(dest->Des());
-                 StringLoader::Format( destDes, *res, i, param );
-                 delete res;
-                 res = dest;
-                 }
-             }
-         }
-    // let's check if we have numbers to format
-    if( aIntParams && aIntParams->Count() )
-          {
-          // if we have only one we match to %N
-          if (aIntParams->Count() == 1)
-              {
-              if ( res->FindC(KLocalizationOneInt) != KErrNotFound )
-                  {
-                  HBufC* dest = HBufC::NewL( res->Length() +
-                                             sizeof(TInt) * KMaxParamsCount );
-                  TPtr destDes(dest->Des());
-                  StringLoader::Format( destDes, *res, -1, aIntParams->At(0) );
-                  delete res;
-                  res = dest;
-                  }
-              }
-          // and we match for format %(index)N
-          TBufC<3> format(KLocalizationMoreInt);
-          TInt numberUsed(0);
-          for (TInt i = 0; i < noParams && numberUsed < aIntParams->Count(); i++)
-              {
-              format.Des()[1] = '0'+ i;
-              if ( res->FindC(format) != KErrNotFound )
-                  {
-                  HBufC* dest = HBufC::NewL( res->Length() +
-                                             sizeof(TInt)* KMaxParamsCount );
-                  TPtr destDes(dest->Des());
-                  StringLoader::Format( destDes, *res, i, aIntParams->At(numberUsed++) );
-                  delete res;
-                  res = dest;
-                  }
-              }
-          }
-    return res;
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdlocalizationelement.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#include <f32file.h>
-#include "hnmdlocalizationelement.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnutils.h"
-
-const TText8 KSPChar = ' ';
-const TText8 KNLChar = '\n';
-const TInt KWholeFileReadLimit = 1024;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufC8Hash( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufC8Ident( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ConstructL( const TDesC& aNamespace, 
-                                           const TDesC& aSource )
-    {
-    iNamespace.CreateL( aNamespace );
-    iSource.CreateL( aSource );
-    iSource.LowerCase();
-    LocateLanguageFileL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.HasAttributeL( KNameSpaceAttrName8 ) );
-
-    SetNamespaceL( aElement.AttributeNodeL( KNameSpaceAttrName8 ) );
-    SetSourceL( aElement.AttributeNodeL( KSourceAttrName8 ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::SetNamespaceL( TXmlEngAttr aNamespace )
-    {
-    HBufC* namespac = HnConvUtils::Str8ToStrLC( aNamespace.Value() );
-    
-    iNamespace.Close();
-    iNamespace.CreateL( *namespac );
-
-    CleanupStack::PopAndDestroy( namespac );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::SetSourceL( TXmlEngAttr aSource )
-    {
-    HBufC* source = HnConvUtils::Str8ToStrLC( aSource.Value() );
-    iSource.Close();
-    iSource.CreateL( *source );
-    iSource.LowerCase();
-    LocateLanguageFileL();
-    CleanupStack::PopAndDestroy( source );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement* CHnMdLocalizationElement::NewL(
-        TXmlEngElement aElement )
-    {
-    CHnMdLocalizationElement* self = new( ELeave ) CHnMdLocalizationElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement* CHnMdLocalizationElement::NewL(const TDesC& aNamespace, 
-                                                         const TDesC& aSource)
-    {
-    CHnMdLocalizationElement* self = new( ELeave ) CHnMdLocalizationElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aNamespace, aSource );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement::CHnMdLocalizationElement():
-    iResourceIDs( &HBufC8Hash, &HBufC8Ident )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdLocalizationElement::~CHnMdLocalizationElement()
-    {
-    iNamespace.Close();
-    iSource.Close();
-    delete iSourcePath;
-    THashMapIter<HBufC8*, TInt> iter( iResourceIDs );
-    while ( HBufC8* const * ptr = iter.NextKey() )
-        {       
-        delete *ptr;
-        }    
-    iResourceIDs.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdLocalizationElement::Namespace() const
-    {
-    return iNamespace;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdLocalizationElement::Source() const
-    {
-    return iSource;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdLocalizationElement::SourcePath() const
-    {
-    return iSourcePath;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdLocalizationElement::SourceExists() const
-    {
-    if ( iSourcePath )
-    	{
-        return iSourcePath->Compare(KNullDesC) != 0;
-    	}
-    else
-    	{
-    	return EFalse;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::LocateLanguageFileL()
-	{
-	delete iSourcePath;
-    iSourcePath = NULL;
-    iSourcePath = HnUtils::LocateNearestLanguageFileLC( iSource );
-    CleanupStack::Pop( iSourcePath );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TInt& CHnMdLocalizationElement::FindResourceIdL( HBufC8* aResourceName )
-    {
-    if ( iState&EInitialized )
-        {
-        // check if we have it in cache
-        TInt* result = iResourceIDs.Find(aResourceName);
-        if (result)
-            {
-            return *result;
-            }
-        else if (iState&EWholeFileCached) // all should be in cache
-            {
-            User::Leave(KErrNotFound);
-            }
-        }
-    
-    if (!(iState&EInitialized) || iState&EUsedItemsCached )
-        {
-        // set initialized here, as we could have problem with file read
-        // i.e. file is missing, but we dont want to go here next time
-        iState |= EInitialized;
-        HBufC8* rsgContent = ReadRsgContentLC( );
-		if (rsgContent->Length() < KWholeFileReadLimit)
-			{
-			iState |= EWholeFileCached;
-			ParseRsgContentL(*rsgContent);
-			}
-		else
-			{
-			iState |= EUsedItemsCached;
-			ParseRsgContentL(*rsgContent, *aResourceName);
-			}          
-        //cleanup
-        CleanupStack::PopAndDestroy(rsgContent);   
-        }
-    
-    return iResourceIDs.FindL(aResourceName);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC8* CHnMdLocalizationElement::ReadRsgContentLC( )
-    {
-    HBufC8* result(NULL);
-    if ( iSourcePath->Compare( KNullDesC ) )
-    	{
-    	HBufC* fPath = iSourcePath->AllocLC();
-		// change extension to rsg        
-		TInt extPos = fPath->LocateReverse(KExtDelimiter);
-		fPath->Des().Replace(extPos, fPath->Length() - extPos, KRsg);
-		result = HnUtils::ReadFileLC(*fPath);
-		CleanupStack::Pop(result);
-		CleanupStack::PopAndDestroy(fPath);
-		CleanupStack::PushL(result);
-    	}
-    else
-    	{
-        result = KNullDesC8().AllocLC();   
-    	}
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ParseRsgContentL( const TDesC8& aContent )
-    {
-    TPtrC8 content(aContent);
-    TInt posEoL(-1);
-    // iterate over each line
-    while ((posEoL = content.Locate(KNLChar)) > 0)
-        {
-        TPtrC8 line = content.Left( posEoL - 1 );        
-        TInt firstSpace  = line.Locate(KSPChar);
-        TInt lastSpace  = line.LocateReverse(KSPChar);
-        // resource name
-        TPtrC8 rname =  line.Mid(firstSpace, lastSpace - firstSpace);
-        // resource id
-        TPtrC8 rid =  line.Right( line.Length() - lastSpace - 1 );
-        // trim resource name
-        HBufC8* rnameTrimmed = rname.AllocLC();
-        rnameTrimmed->Des().Trim();                
-        // parse numer and insert to map
-        TInt id(0);
-        User::LeaveIfError( HnConvUtils::Str8ToInt(rid, id) );        
-        User::LeaveIfError( iResourceIDs.Insert(rnameTrimmed->AllocL(), id) );        
-        CleanupStack::PopAndDestroy(rnameTrimmed);
-        // start search from next line
-        content.Set(content.Mid( posEoL + 1 ));
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdLocalizationElement::ParseRsgContentL( const TDesC8& aContent, 
-                                                 const TDesC8& aResourceName )
-    {
-    TPtrC8 content(aContent);
-    
-    HBufC8* resourceName = HBufC8::NewLC( aResourceName.Length() 
-                                          + 2 /* extra spaces */  );
-    // add extra space to make sure that we find the right one    
-    resourceName->Des().Append(KSPChar);
-    resourceName->Des().Append(aResourceName);
-    resourceName->Des().Append(KSPChar);    
-    
-    TInt position = content.Find(*resourceName);
-    User::LeaveIfError(position); // we can not find resource
-    TPtrC8 contentAfterMid = content.Mid( position + 
-                                          resourceName->Length());
-
-    TInt posResId = contentAfterMid.Locate(KNLChar);
-    User::LeaveIfError(posResId); // we can not find resource
-    TPtrC8 rid = contentAfterMid.Left(posResId - 1);    
-    
-    HBufC8* ridTrimmed = rid.AllocLC();
-    ridTrimmed->Des().Trim();
-    // trim also resource name
-    resourceName->Des().Trim();
-
-    TInt id(0);
-    User::LeaveIfError( HnConvUtils::Str8ToInt( *ridTrimmed, id) );      
-    User::LeaveIfError( iResourceIDs.Insert( resourceName->AllocL(), id) );
-    // clean up
-    CleanupStack::PopAndDestroy(ridTrimmed);
-    CleanupStack::PopAndDestroy(resourceName);        
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmenuitem.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmdmenuitem.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnstringhandler.h"
-#include "hnconditioninterface.h"
-#include "hnmdeventmappingelement.h"
-#include "hnmdevent.h"
-#include "hnmenuitemmodel.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdMenuItem::IsMenuItemElementName( const TDesC8& aNameToCompare )    
-    {
-    return !aNameToCompare.Compare( KMenuItemElementName8 )
-        || !aNameToCompare.Compare( KMenuItemSpecificElementName8 )
-        || !aNameToCompare.Compare( KMenuItemActionElementName8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::AppendChildItemL( CHnMdMenuItem* aMenuItem )
-    {
-    iChildren.AppendL( aMenuItem );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::EvaluateL( CHnMenuItemModel* aMenuModel,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    for ( TInt i( 0 ); i < iChildren.Count(); i++ )
-      {
-      CHnMdMenuItem* mdMenu = iChildren[ i ];
-      if ( mdMenu->IsValidL( aQueriesResultsList, aPos ) )
-          {
-          CHnMenuItemModel* menu = CHnMenuItemModel::NewL( mdMenu->NameL() );
-          mdMenu->EvaluateL( menu, aQueriesResultsList, aPos );
-          aMenuModel->AppendChildMenuL( menu );
-          }
-      }
-    aMenuModel->SetCommand( iEvent );
-    aMenuModel->SetPosition( iPosition );
-    aMenuModel->SetMenuItemType( iType );
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL takes as an argument an item xml element. It iterates through 
-// item elements in order to find menuitems.
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::CreatePropertiesL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* /* aCmnPtrs */ )
-    {
-    iType = CHnMenuItemModel::EItemApplication;
-    if ( !aElement.Name().Compare( KMenuItemSpecificElementName8 ) )
-    	{
-    	iType = CHnMenuItemModel::EItemSpecific;
-    	}
-    else if ( !aElement.Name().Compare( KMenuItemActionElementName8 ) )
-    	{
-    	iType = CHnMenuItemModel::EItemAction;
-    	}
-    
-    // name
-    HBufC* name = HnConvUtils::Str8ToStrLC(
-            aElement.AttributeValueL( KName8 ) );
-    iName.Assign(name);
-    CleanupStack::Pop( name );
-
-    // position
-    TPtrC8 pos = aElement.AttributeValueL( KPositionAttrName8 );
-    TLex8 lexPosition ( pos );
-    User::LeaveIfError( lexPosition.Val( iPosition ) );
-
-    // event
-    if( aElement.AttributeValueL( KEventAttrName8 ).Length() && 
-                                            !aElement.HasChildNodes() )
-        { // there might not be the event attribute - submenues
-        TPtrC8 event = aElement.AttributeValueL( KEventAttrName8 );
-        TLex8 lex( event );
-        User::LeaveIfError( lex.Val( iEvent ) );
-        }
-    
-    // condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL(  
-          aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::CreateChildrenL( TXmlEngElement aElement,
-                                        THnMdCommonPointers* aCmnPtrs )
-    { 
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( IsMenuItemElementName( child.Name() ) )
-            {
-            AppendChildItemL( CHnMdMenuItem::NewL( child, aCmnPtrs ) );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL takes as an argument an item xml element. It iterates through 
-// item elements in order to find menuitems.
-// ---------------------------------------------------------------------------
-//
-void CHnMdMenuItem::ConstructL( TXmlEngElement aElement,
-                                THnMdCommonPointers* aCmnPtrs )
-    {
-    if ( IsMenuItemElementName( aElement.Name() ) )
-        { // this is an ordinary menu item
-        CreatePropertiesL( aElement, aCmnPtrs );
-        CreateChildrenL( aElement, aCmnPtrs ); // in case there are subitems
-        }
-    else
-        { // this is the root level
-        CreateChildrenL( aElement, aCmnPtrs );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem* CHnMdMenuItem::NewL( TXmlEngElement aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdMenuItem* self = CHnMdMenuItem::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem* CHnMdMenuItem::NewLC( TXmlEngElement aElement, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdMenuItem* self = new( ELeave ) CHnMdMenuItem;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem::CHnMdMenuItem()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMenuItem::~CHnMdMenuItem()
-    {
-    iName.Close();
-    iChildren.ResetAndDestroy();
-    iNameValueCache.Close();
-    delete iCondition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdMenuItem::NameL() 
-    {
-    iNameValueCache.Close();
-    HnStringHandler::LocaliseL( iNameValueCache, iName, NULL /*common params*/);
-    return iNameValueCache;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdMenuItem::IsValidL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )    
-    {
-    TBool ret( EFalse );
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,509 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <AvkonInternalCRKeys.h>
-
-#include "hnmdmodel.h"
-#include "hnmdsuite.h"
-#include "hnrepositoryobserver.h"
-#include "hnfilter.h"
-#include "hnglobals.h"
-#include "hneventhandler.h"
-#include "hnmdlocalization.h"
-#include "hnxmlmodelprovider.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemsorder.h"
-#include "hninterface.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnbitmapidcache.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::ConstructL( MHnMdModelEventObserver *aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer )
-    {
-    MMPERF(("CHnMetaDataModel::ConstructL - START"));
-    MMPERF(("CHnMetaDataModel::ConstructL - query handler ready"));
-    iLocalization = CHnMdLocalization::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - localization ready"));
-    iXmlModelProvider = CHnXmlModelProvider::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - bitmap and mask ids cache ready"));
-    iBitmapIdCache = CHnBitmapIdCache::NewL();
-    MMPERF(("CHnMetaDataModel::ConstructL - model privider ready"));
-    iXmlModelProvider->ReloadModelL();
-    MMPERF(("CHnMetaDataModel::ConstructL - model reloaded"));
-
-    iCmnPtrs.iLocalization = iLocalization;
-    iCmnPtrs.iIdGenerator = &iIdGenerator;
-    iCmnPtrs.iModel = this;
-    iCmnPtrs.iXmlModelProvider = iXmlModelProvider;
-    iCmnPtrs.iContainer = aSuiteModelContainer;
-    iCmnPtrs.iModelEventObserver = aModelObserver;
-    iCmnPtrs.iBitmapIdCache = iBitmapIdCache;
-
-    THnMdCommonPointers::SetStatic(&iCmnPtrs);
-
-    iMode = EMdModeNormal;
-    iRepositoryWidgetTypeObserver = CHnRepositoryWidgetTypeObserver::NewL( &iCmnPtrs, KMatrixRepositoryUid );
-    iRepositoryShowFolderObserver = CHnRepositoryShowFolderObserver::NewL( &iCmnPtrs, KCRUidMenu, KMenuShowFolder );
-    MMPERF(("CHnMetaDataModel::ConstructL - rep. observer ready"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdModel* CHnMdModel::NewL(
-        MHnMdModelEventObserver* aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer  )
-    {
-    CHnMdModel* self = CHnMdModel::NewLC( aModelObserver,
-            aSuiteModelContainer );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdModel* CHnMdModel::NewLC(
-        MHnMdModelEventObserver* aModelObserver,
-        CHnSuiteModelContainer * aSuiteModelContainer )
-    {
-    CHnMdModel* self = new( ELeave ) CHnMdModel();
-    CleanupStack::PushL( self );
-    self->ConstructL( aModelObserver, aSuiteModelContainer );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdModel::CHnMdModel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdModel::~CHnMdModel()
-    {
-    delete iRepositoryWidgetTypeObserver;
-    delete iRepositoryShowFolderObserver;
-    iLoadedSuites.ResetAndDestroy();
-    delete iXmlModelProvider;
-    delete iLocalization;
-    delete iBitmapIdCache;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdModel::HandleBackEventL(
-        CHnSuiteModelContainer* aMulContainer,
-        const TDesC& aSuiteName,
-        TInt aIterations )
-    {
-    TInt ret( KErrNotFound );
-#ifdef _DEBUG
-    // check if genres match
-    CHnMdSuite* lastMdModel = GetLastSuite();
-    ASSERT( !lastMdModel->SuiteName().Compare( aSuiteName ) );
-#endif
-
-    TInt countDown( aIterations );
-    CHnSuiteModel* current = NULL;
-    while( ( current = aMulContainer->GetParentSuiteModel() ) != NULL &&
-            countDown > 0 )
-        {
-        current = aMulContainer->GetLastSuiteModel();
-        // pop the suite model
-        aMulContainer->PopSuiteModelL( current->SuiteName() );
-
-        // remove the suite that we are leaving
-        DeleteLastSuite();
-        countDown--;
-        }
-
-    current = aMulContainer->GetLastSuiteModel();
-    current->GetItemsOrder()->MarkSuiteUninitialized();
-    CHnFilter* filter = CHnFilter::NewLC();
-    filter->SetSuiteNameL( current->SuiteName() );
-    filter->SetSuiteId( current->CustomId() );
-    GetLastSuite()->MarkEvaluationL( *filter, *current);
-    CleanupStack::PopAndDestroy( filter );
-    //Evaluate suite at the top (if needed)
-    EvaluateTopSuiteL();
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::HandleSisInstallationEventL(
-        CHnSuiteModelContainer* /*aModelContainer*/ )
-    {
-    iXmlModelProvider->ReloadModelL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::ReloadStackSuitesL( CHnSuiteModelContainer* aModelContainer )
-	{
-    RPointerArray< CLiwGenericParamList > paramsArray;
-    CleanupResetAndDestroyPushL( paramsArray );
-
-    TBool rootDisplayed( iLoadedSuites.Count() == 1 );
-    while( iLoadedSuites.Count() > 0 )
-        {
-        // break loop to leave root suite on the stack
-        if( ( iLoadedSuites.Count() == 1 && paramsArray.Count() > 0 )
-                || rootDisplayed )
-            {
-            break;
-            }
-
-        CHnMdSuite* suite = GetLastSuite();
-        if( iXmlModelProvider->SuiteExistsL( suite->SuiteName() ) )
-            {
-            CLiwGenericParamList* suiteParams = CLiwGenericParamList::NewL();
-            CleanupStack::PushL( suiteParams );
-            suiteParams->AppendL( suite->GetSuiteParameters() );
-            paramsArray.Append( suiteParams );
-            CleanupStack::Pop( suiteParams );
-            }
-        aModelContainer->PopSuiteModelL( suite->SuiteName() );
-        DeleteLastSuite();
-        }
-
-    TInt err( KErrNone );
-    CHnFilter* filter = CHnFilter::NewLC();
-    filter->SetEvaluateSuiteL( ETrue );
-
-    SetModeL( iMode );
-
-    for( TInt i( paramsArray.Count() - 1 ); i >= 0 && !err; i-- )
-        {
-        CLiwGenericParamList* suiteParams = CLiwGenericParamList::NewL();
-        CleanupStack::PushL(suiteParams);
-        suiteParams->AppendL( *(paramsArray[ i ]));
-        TInt pos( 0 );
-        const TLiwGenericParam* param = suiteParams->FindFirst( pos, KSuiteName8 );
-        if ( param && pos >= 0)
-            {
-            TPtrC suiteName;
-            param->Value().Get( suiteName );
-            err = LoadSuiteL( suiteName, suiteParams );
-            }
-        CleanupStack::PopAndDestroy( suiteParams );
-
-        GetLastSuite()->SetModeL( iMode );
-        GetLastSuite()->MarkEvaluationL(
-                *filter, *iCmnPtrs.iContainer->GetLastSuiteModel() );
-        GetLastSuite()->EvaluateL( *iCmnPtrs.iContainer->GetLastSuiteModel() );
-        }
-
-    CleanupStack::PopAndDestroy( filter );
-    CleanupStack::PopAndDestroy( &paramsArray );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::DeleteLastSuite()
-    {
-    CHnMdSuite* tmpPtr = GetLastSuite();
-    iLoadedSuites.Remove( iLoadedSuites.Count() - 1 );
-    delete tmpPtr;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::ReleaseLocalization()
-    {
-    iLocalization->ReleaseResourceFiles();
-    iXmlModelProvider->ResetCache();
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::ReloadLocalizationL()
-    {
-    iLocalization->ReloadResourceFilesL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::EvaluateL()
-    {
-    CHnFilter* empty = CHnFilter::NewLC();
-    EvaluateL( *empty );
-    CleanupStack::PopAndDestroy( empty );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::SetModeL( TMdMode aMode )
-    {
-    iMode = aMode;
-    for ( TInt i( 0 ); i < iLoadedSuites.Count(); i++ )
-        {
-        CHnMdSuite* suite = iLoadedSuites[i];
-        ASSERT( suite != NULL );
-        suite->SetModeL( aMode );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdSuite* CHnMdModel::GetLastSuite()
-    {
-    return (iLoadedSuites.Count()>0)
-            ? iLoadedSuites[ iLoadedSuites.Count()-1 ]
-            : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::IgnoreEvaluations( TBool aIgnore )
-    {
-    iIgnoreEvaluations = aIgnore;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::QueueForeground(
-        TForegroundGainTriggeringEvent aWhen )
-    {
-    switch ( aWhen )
-        {
-        case EWhenAnySuiteIsEvaluated:
-            iForegroundQueued = ETrue;
-            iForegroundTriggeringSuite = NULL;
-            break;
-        case EWhenCurrentTopSuiteIsEvaluated:
-            iForegroundQueued = ETrue;
-            iForegroundTriggeringSuite = iCmnPtrs.iContainer->GetLastSuiteModel();
-            break;
-        case ENever:
-            iForegroundQueued = EFalse;
-            iForegroundTriggeringSuite = NULL;
-            break;
-        default:
-            ASSERT( 0 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMdModel::IsForegroundQueued() const
-	{
-	return iForegroundQueued;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::SuiteModelReadyToShowL( CHnSuiteModel* aJustEvaluatedSuite )
-    {
-    if ( !aJustEvaluatedSuite )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    if ( IsForegroundQueued() && ( !iForegroundTriggeringSuite ||
-            iForegroundTriggeringSuite == aJustEvaluatedSuite ) )
-    	{
-    	CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-    	CleanupStack::PushL( pl );
-    	iCmnPtrs.iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-    	CleanupStack::PopAndDestroy( pl );
-    	QueueForeground( ENever );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdModel::GetSuite( TInt aPosition )
-    {
-    return ( (aPosition >= 0) && (aPosition < iLoadedSuites.Count()) )
-            ? iLoadedSuites[ aPosition ]
-            : NULL;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLiwGenericParamList& CHnMdModel::GetSuiteParameters( TInt aPosition )
-    {
-    return GetSuite( aPosition )->GetSuiteParameters();
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::EvaluateL( CHnFilter& aFilter )
-    {
-    for ( TInt i = iLoadedSuites.Count() - 1; i >= 0; i-- )
-        {
-        iLoadedSuites[i]->MarkEvaluationL( aFilter, *iCmnPtrs.iContainer->GetSuiteModel(i) );
-        if( i == iLoadedSuites.Count() - 1 && !iIgnoreEvaluations )
-            {
-            iLoadedSuites[i]->EvaluateL( *iCmnPtrs.iContainer->GetSuiteModel(i) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdModel::LoadSuiteL( const TDesC& aGenre,
-        CLiwGenericParamList* aSuiteParams )
-    {
-    TInt err( KErrNone );
-
-	RXmlEngDocument xmlDoc;
-	// Xml model provider takes ownership of xmlDoc.
-	TRAP( err, iXmlModelProvider->GetModelL( aGenre, xmlDoc ) );
-
-	TXmlEngElement element;
-    if ( !err )
-        {
-        element = xmlDoc.DocumentElement().AsElement();
-        if ( element.Name() != KContentElementName8 )
-            {
-            err = KErrCorrupt;
-            }
-        }
-
-    if ( !err )
-        {
-        CHnMdSuite* newSuite = CHnMdSuite::NewLC( element, &iCmnPtrs );
-
-        if (aSuiteParams)
-            {
-            newSuite->SetSuiteParametersL( *aSuiteParams );
-            }
-
-        TInt pos( 0 );
-        newSuite->GetSuiteParameters().FindFirst( pos, KSuiteName8);
-        if ( pos == KErrNotFound )
-        	{
-        	newSuite->GetSuiteParameters().AppendL(
-        			TLiwGenericParam(KSuiteName8, TLiwVariant( aGenre ) ) );
-        	}
-
-        iCmnPtrs.iContainer->PushNewSuiteModelL( newSuite->SuiteName() );
-        iCmnPtrs.iContainer->GetLastSuiteModel()->GetItemsOrder()->
-            SetSuiteId( iCmnPtrs.iIdGenerator->GetNextId() );
-
-        CleanupStack::Pop( newSuite );
-        iLoadedSuites.AppendL( newSuite );
-        }
-    else
-    	{
-    	MMPERF(("CHnMdModel::LoadSuiteL - Error TRAPPED!"));
-    	}
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMdModel::SuiteModelExistsL( const TDesC8& aSuiteModel )
-    {
-    TBool res( EFalse );
-    HBufC* suiteName = HnConvUtils::Str8ToStrLC( aSuiteModel );
-    res = iXmlModelProvider->SuiteExistsL( *suiteName ) ||
-            aSuiteModel.Compare( KRoot8 ) == KErrNone ;
-    CleanupStack::PopAndDestroy( suiteName );
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdModel::GetCurrentUriL( TDes& aUri )
-    {
-    iXmlModelProvider->ReloadModelL();
-
-    aUri.Append( KPrefMm );
-    for( TInt i(0); i < iLoadedSuites.Count(); i++ )
-        {
-        aUri.Append( iLoadedSuites[ i ]->SuiteName() );
-        aUri.Append( KSlash );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdModel::EvaluateTopSuiteL()
-    {
-    if ( !iIgnoreEvaluations )
-        {
-        TInt topItem = iLoadedSuites.Count() - 1;
-        iLoadedSuites[topItem]->EvaluateL( *iCmnPtrs.iContainer->GetSuiteModel(topItem) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdModel::LoadedSuitesCount()
-	{
-	return iLoadedSuites.Count();
-	}
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequest.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <xmlengelement.h> 
-#include <xmlengdom.h>
-
-#include "hnmdbasekey.h"
-#include "hnmdmodel.h"
-#include "hnservicehandler.h"
-#include "hnmdservicecommand.h"
-#include "hnitemid.h"
-#include "hnmdnotifyrequest.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-CHnMdNotifyRequest* CHnMdNotifyRequest::NewL( TXmlEngElement aElement, 
-        const CHnItemId & aItemId, THnMdCommonPointers* aCmnPtrs )
-        
-    {
-    CHnMdNotifyRequest* self = CHnMdNotifyRequest::NewLC(aElement,
-            aItemId, aCmnPtrs );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest* CHnMdNotifyRequest::NewLC( TXmlEngElement aElement,
-        const CHnItemId & aItemId, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequest* self = new (ELeave) CHnMdNotifyRequest( aCmnPtrs );
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aItemId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest::~CHnMdNotifyRequest()
-    {
-    delete iItemId;
-    delete iService;
-    delete iSh;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequest::ConstructL( TXmlEngElement aElement, 
-        const CHnItemId & aItemId )
-    {
-    ASSERT(aElement.Name() == KNotifyRequestElementName8 );
-
-    iItemId = CHnItemId::NewL( aItemId.SuiteName(), aItemId.Id() );
-    iService = CHnMdService::NewL( aElement );
-    iSh = NULL;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequest::CHnMdNotifyRequest(THnMdCommonPointers* aCmnPtrs) 
-    : iCmnPtrs(aCmnPtrs)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequest::RequestNotifyL( CLiwGenericParamList& aParams, 
-        TInt aCmdOptions )
-    {
-    if ( iSh == NULL )
-        {
-        CLiwGenericParamList* constructor =
-            iService->EvaluateConstructorL( aParams );
-        CleanupStack::PushL(constructor);
-        CLiwGenericParamList* command = iService->EvaluateCommandL( aParams );
-        CleanupStack::PushL( command );
-    
-        // Create service
-        iSh = CHnServiceHandler::NewL( 
-                iService->GetServiceName(), 
-                iService->GetInterfaceName(), 
-                iService->GetCommand().GetCommandName(),
-                EServiceModeAsynchronous,
-                constructor, 
-                command );
-    
-        CleanupStack::Pop( command );
-        CleanupStack::Pop( constructor );
-        }
-    iSh->ExecuteL( this, aCmdOptions ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//     
-TInt CHnMdNotifyRequest::HandleNotifyL( TInt /* aCmdId */, TInt aEventId ,
-        CLiwGenericParamList& /* aEventParamList */,
-        const CLiwGenericParamList& /* aInParamList */)
-    {
-    TInt err( KErrNone );
-    
-    if ( aEventId == KLiwEventInProgress )
-        {
-        //Filling in variant structure.
-        CLiwGenericParamList* inParam = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( inParam );
-           
-        CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-            
-        map->InsertL( KGenreName8, TLiwVariant(iItemId->SuiteName()) );
-        map->InsertL( KItemName8, TLiwVariant(iItemId->Id()) );
-        
-        CLiwDefaultList* list = CLiwDefaultList::NewLC();   
-        
-        list->AppendL( TLiwVariant( map ) );
-        inParam->AppendL(TLiwGenericParam( KFilterElementItem8, TLiwVariant(list)));
-        CleanupStack::PopAndDestroy( list );
-        CleanupStack::PopAndDestroy( map );
-        
-        iCmnPtrs->iModelEventObserver->HandleModelEventL( KReevaluateMdEvent, *inParam );
-    
-        CleanupStack::PopAndDestroy( inParam );
-        }
-    
-    return err;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdnotifyrequests.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2007-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:  represents the notification request
-*
-*/
-
-
-#include <e32base.h>
-#include <xmlengdom.h> 
-#include <hnglobals.h>
-
-#include "hnmdnotifyrequest.h"
-#include "hnmdnotifyrequests.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdNotifyRequests::ConstructL( TXmlEngElement aElement,
-        const CHnItemId & aItemId,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iSent = EFalse;
-    RXmlEngNodeList< TXmlEngElement > entries;
-    CleanupClosePushL( entries );
-    aElement.GetChildElements( entries );
-    
-    TInt entriesAmount = entries.Count();
-    
-    for (TInt j = 0; j < entriesAmount; j++ )
-        {
-        TXmlEngElement item = entries.Next();
-        
-        if ( !item.Name().Compare( KNotifyRequestElementName8 ) )
-            {
-            CHnMdNotifyRequest *request = CHnMdNotifyRequest::NewL( 
-                    item, aItemId, aCmnPtrs );
-            AddNotifyRequest( request );
-            }
-        }
-        
-    CleanupStack::PopAndDestroy( &entries );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdNotifyRequests::SendAllRequestsL( CLiwGenericParamList& aParams,
-        TInt aCmdOptions )
-    {
-    for (int i=0; i<Count(); i++)
-        {
-        NotifyRequest(i).RequestNotifyL( aParams, aCmdOptions );
-        }
-    iSent = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdNotifyRequests::AddNotifyRequest( CHnMdNotifyRequest* aNotifyRequest )
-    {
-    return iNotifyRequests.Append( aNotifyRequest );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMdNotifyRequest& CHnMdNotifyRequests::NotifyRequest( 
-           TInt aPosition ) const
-    {
-    ASSERT( aPosition >=0 && aPosition < iNotifyRequests.Count() );
-    return *iNotifyRequests[aPosition];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CHnMdNotifyRequests::Count() const
-    {
-    return iNotifyRequests.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests* CHnMdNotifyRequests::NewL( 
-         TXmlEngElement aElement, const CHnItemId & aItemId, 
-         THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequests* self = CHnMdNotifyRequests::NewLC(
-             aElement, aItemId, aCmnPtrs);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests* CHnMdNotifyRequests::NewLC(
-        TXmlEngElement aElement, const CHnItemId & aItemId, 
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdNotifyRequests* self = new( ELeave ) CHnMdNotifyRequests();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aItemId, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests::CHnMdNotifyRequests()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdNotifyRequests::~CHnMdNotifyRequests()
-    {
-    iNotifyRequests.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdNotifyRequests::Sent()
-    {
-    return iSent;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdqueries.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#include <xmlengdom.h>
-#include "hnmdqueries.h"
-#include "hnmdquery.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnconvutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQueries::ConstructL( TXmlEngElement aElement )
-    {
-    // construction...
-    RXmlEngNodeList< TXmlEngElement > entries;
-    CleanupClosePushL( entries );
-    aElement.GetChildElements( entries );
-    
-    TInt entriesAmount = entries.Count();
-    
-    for (TInt j = 0; j < entriesAmount; j++ )
-        {
-        TXmlEngElement item = entries.Next();
-        
-        if ( !item.Name().Compare( KQueryElementItem8 ) )
-            {
-            CHnMdQuery *query = CHnMdQuery::NewL( item );
-            AddQuery( query );
-            }
-        }
-    CleanupStack::PopAndDestroy( &entries );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdQueries::AddQuery( CHnMdQuery* aQuery )
-    {
-    return iQueries.Append( aQuery );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMdQuery& CHnMdQueries::Query( TInt aPosition ) const
-    {
-    ASSERT( aPosition >=0 && aPosition < iQueries.Count() );
-    return *iQueries[aPosition];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TInt CHnMdQueries::Count() const
-    {
-    return iQueries.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries* CHnMdQueries::NewL( TXmlEngElement aElement )
-    {
-    CHnMdQueries* self = CHnMdQueries::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries* CHnMdQueries::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdQueries* self = new( ELeave ) CHnMdQueries();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries::CHnMdQueries()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQueries::~CHnMdQueries()
-    {
-    iQueries.ResetAndDestroy();
-    }
-
-
-    
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdquery.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-// for CleanupResetAndDestroyPushL
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnmdquery.h"
-#include "hnconvutils.h"
-#include "hnmdservicecommand.h"
-#include "hnmdservice.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::ConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( aElement.Name() == KQueryElementItem8 );
-
-    SetNameSpaceL( aElement.AttributeNodeL( KNameSpaceAttrName8 ) );
-    iService = CHnMdService::NewL( aElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery* CHnMdQuery::NewL( TXmlEngElement aElement )
-    {
-    CHnMdQuery* self = CHnMdQuery::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery* CHnMdQuery::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdQuery* self = new( ELeave ) CHnMdQuery();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery::CHnMdQuery()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdQuery::~CHnMdQuery()
-    {
-    iNameSpace.Close();
-    delete iService;
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdQuery::NameSpace() const
-    {
-    return iNameSpace;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::SetNameSpaceL( const TDesC& aNameSpace )
-    {
-    iNameSpace.Close();
-    iNameSpace.CreateL(aNameSpace);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdQuery::SetNameSpaceL( TXmlEngAttr aAttr )
-    {
-    HBufC* nspace = HnConvUtils::Str8ToStrLC( aAttr.Value() );
-    SetNameSpaceL( *nspace );
-    
-    // clean up
-    CleanupStack::PopAndDestroy( nspace );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService& CHnMdQuery::GetService() const
-    {
-    return *iService;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservice.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdservice.h"
-#include "hnmdservicecommand.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "hnservicehandler.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::ConstructL( TXmlEngElement aElement )
-    {
-    SetInterfaceL( aElement.AttributeNodeL( KInterfaceAttrName8 ) );
-    SetServiceL( aElement.AttributeNodeL( KServiceAttrName8 ) );
-    SetConstructorL( aElement );
-    iServiceCommand = CHnMdServiceCommand::NewL( aElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService* CHnMdService::NewL( TXmlEngElement aElement )
-    {
-    CHnMdService* self = CHnMdService::NewLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService* CHnMdService::NewLC( TXmlEngElement aElement )
-    {
-    CHnMdService* self = new( ELeave ) CHnMdService();
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService::CHnMdService()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdService::~CHnMdService()
-    {
-    iServiceName.Close();
-    iInterfaceName.Close();
-    delete iConstructor;
-    delete iServiceCommand;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdService::GetServiceName() const
-    {
-    return iServiceName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdService::GetInterfaceName() const
-    {
-    return iInterfaceName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const CHnMdServiceCommand& CHnMdService::GetCommand() const
-    {
-    return *iServiceCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::GetConstructor() const
-    {
-    return iConstructor;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetConstructorL( TXmlEngElement aElement )
-    {
-    iConstructor = HnMdKeyFactory::CreateL( KConstructorElementItem8(), KKeyTypeList(), 
-            KNullDesC8() );
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt i =0; i < elementsCount; i++ )
-        {
-        TXmlEngElement dataElement = elements.Next();
-
-        if ( !dataElement.Name().Compare( KConstructorElementItem8 ) )
-            {
-            RXmlEngNodeList< TXmlEngElement > keys;
-            CleanupClosePushL( keys );
-            dataElement.GetChildElements( keys );
-
-            for (TInt j = 0; j < keys.Count(); j++ )
-                {
-                TXmlEngElement keyElement = keys.Next();
-                if ( !keyElement.Name().Compare( KKeyElementItem8 ) )
-                    {
-                    CHnMdBaseKey *key = HnMdKeyFactory::CreateL( keyElement );
-                    CleanupStack::PushL( key );
-                    iConstructor->AddSubKeyL( key );
-                    CleanupStack::Pop( key );
-                    }
-                }
-            CleanupStack::PopAndDestroy( &keys );
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetInterfaceL( TXmlEngAttr aAttr )
-    {
-    iInterfaceName.Close();
-    iInterfaceName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdService::SetServiceL( TXmlEngAttr aAttr )
-    {
-    iServiceName.Close();
-    iServiceName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnMdService::EvaluateConstructorL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos)
-    {
-    CHnMdBaseKey* evalKeys = EvaluateConstructorAsKeyL( aList, aPos ); 
-    CleanupStack::PushL( evalKeys );
-    CLiwGenericParamList* ret = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( ret ); 
-    if ( evalKeys )
-        {
-        evalKeys->ToGenericParamListL( *ret );
-        }
-    CleanupStack::Pop( ret );
-    CleanupStack::PopAndDestroy( evalKeys );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::EvaluateConstructorAsKeyL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos)
-    {
-    CHnMdBaseKey* consKeys = GetConstructor();
-    CHnMdBaseKey* evalKeys = NULL;
-    if (consKeys)
-        {
-        evalKeys =  consKeys->EvaluateLC( aList, aPos );
-        CleanupStack::Pop( evalKeys );
-        }
-    return evalKeys;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CLiwGenericParamList* CHnMdService::EvaluateCommandL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos
-        )
-    {
-    CHnMdBaseKey* evalKeys = EvaluateCommandAsKeyL( aList, aPos );
-    CleanupStack::PushL( evalKeys );
-    CLiwGenericParamList* ret = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( ret );
-    if ( evalKeys )
-            {
-            evalKeys->ToGenericParamListL( *ret );
-            }
-    CleanupStack::Pop( ret );
-    CleanupStack::PopAndDestroy( evalKeys );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdService::EvaluateCommandAsKeyL( 
-        const CLiwGenericParamList& aList,
-        TInt aPos
-        )
-    {
-    CHnMdBaseKey* keys = iServiceCommand->GetCommandData();
-    CHnMdBaseKey* evalKeys = NULL;
-    if (keys)
-        {
-        evalKeys = keys->EvaluateLC( aList, aPos );
-        CleanupStack::Pop( evalKeys );
-        
-        }
-    return evalKeys;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdservicecommand.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <xmlengdom.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnmdservicecommand.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand* CHnMdServiceCommand::NewL( 
-        TXmlEngElement aElement )
-    {
-    CHnMdServiceCommand* self = CHnMdServiceCommand::NewLC(aElement);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand* CHnMdServiceCommand::NewLC( 
-        TXmlEngElement aElement )
-    {
-    CHnMdServiceCommand* self = new( ELeave ) CHnMdServiceCommand;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TXmlEngElement CHnMdServiceCommand::RemoveRedundantKeyL( TXmlEngElement aElement )
-    {
-    TXmlEngElement ret = aElement;
-    
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-    if (elementsCount == 1)
-        {
-        TXmlEngElement dataElement = elements.Next();
-        RXmlEngNodeList< TXmlEngAttr > nodeList;
-        CleanupClosePushL( nodeList );
-        dataElement.GetAttributes(nodeList);
-        if (! dataElement.Name().Compare( KKeyElementItem8 ) && nodeList.Count() == 0)
-            {
-            ret = dataElement;
-            }
-        CleanupStack::PopAndDestroy( &nodeList );
-        }
-    
-    CleanupStack::PopAndDestroy( &elements );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::ConstructL( TXmlEngElement aElement )
-    {
-    iData = HnMdKeyFactory::CreateL( KCommandElementItem8(), KKeyTypeList(), 
-            KNullDesC8() );
-    
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt i =0; i < elementsCount; i++ )
-        { 
-        TXmlEngElement dataElement = elements.Next();
-
-        if ( !dataElement.Name().Compare( KCommandElementItem8 ) )
-            {
-            SetCommandNameL( dataElement.AttributeNodeL( KCommandNameAttr8 ) );
-            SetCommandModeL( dataElement.AttributeNodeL( KCommandModeAttr8 ) );
-            
-            SetCommandDataL( RemoveRedundantKeyL( dataElement ) );
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand::CHnMdServiceCommand()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdServiceCommand::~CHnMdServiceCommand()
-    {
-    delete iData;
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdServiceCommand::GetCommandName() const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandNameL( TXmlEngAttr aAttr )
-    {
-    iName.Close();
-    iName.CreateL( aAttr.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdServiceCommand::GetCommandData() const
-    {
-    return iData;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandDataL( TXmlEngElement aElement )
-    {
-    
-    RXmlEngNodeList< TXmlEngElement > keys;
-    CleanupClosePushL( keys );
-    aElement.GetChildElements( keys );
-
-    TInt count = keys.Count();
-    for (TInt j = 0; j < count; j++ )
-        {
-        TXmlEngElement keyElement = keys.Next();
-        if ( !keyElement.Name().Compare( KKeyElementItem8 ) )
-            {
-            CHnMdBaseKey *key = HnMdKeyFactory::CreateL( keyElement );
-            CleanupStack::PushL( key );
-            iData->AddSubKeyL(key);
-            CleanupStack::Pop( key );
-            }
-        }
-    CleanupStack::PopAndDestroy( &keys );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TServiceMode CHnMdServiceCommand::GetCommandMode() const
-    {
-    return iMode;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdServiceCommand::SetCommandModeL( TXmlEngAttr aAttr )
-    {
-    iMode = EServiceModeSynchronous;
-    
-    if ( !aAttr.Value().Compare( KCommandModeAsync8 ) )
-        {
-            iMode = EServiceModeAsynchronous;
-        }
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdsuite.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,881 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-#include "hnmdsuite.h"
-#include "hnmditem.h"
-#include "hnmdmodel.h"
-#include "hnstringhandler.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemsorder.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "hnfilter.h"
-#include "menudebug.h"
-#include "hnactionmodel.h"
-#include "hnmdaction.h"
-#include "hnmdservicecommand.h"
-#include "hnmdlocalization.h"
-#include "hnmdqueries.h"
-#include "hnmdquery.h"
-#include "hnrepositorymanager.h"
-#include "hnmdbasekey.h"
-#include "hninterface.h"
-#include "hnservicehandler.h"
-#include "hnmdeventmapping.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CLiwGenericParamList& CHnMdSuite::GetSuiteParameters()
-    {
-    return *iSuiteParams;
-    }
- 
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdSuite::SetSuiteParametersL(CLiwGenericParamList& aParams)
-    {
-    iSuiteParams->Reset();
-    iSuiteParams->AppendL( aParams );               
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::ConstructL( TXmlEngElement aElement )
-    {
-    DEBUG(("_MM_: CHnMdSuite::ConstructL IN"));
-
-    // append localization elements
-    iCmnPtrs->iLocalization->AppendLocalizationsL( aElement );
-    
-    RXmlEngNodeList<TXmlEngElement> elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-    
-    // suite element was found
-    TBool suiteFound( EFalse );
-    
-    // one suite per file
-    TXmlEngElement suiteElement;
-    while ( elements.HasNext() )
-        {
-        suiteElement = elements.Next();
-        if ( !suiteElement.Name().Compare( KSuiteElementName8 ) )
-            {
-            suiteFound = ETrue;
-            break;
-            }
-        }
-    
-    if ( suiteFound )
-        {
-        // set event mapping
-        iEventMapping = CHnMdEventMapping::NewL( suiteElement, iCmnPtrs );
-   
-        // set genre
-        SetGenreL( suiteElement.AttributeNodeL( KGenreAttrName8 ) );
-        
-        // set widget type
-        // widget needs to be set before template will be set
-        SetWidgetTypeL( suiteElement.AttributeNodeL( KWidgetTypeAttrName8 ) );
-        
-        // set template
-        SetTemplateL( suiteElement.AttributeNodeL( KTemplateAttrName8 ) );
-        
-        // set name
-        SetTitleL( suiteElement.AttributeNodeL( KTitleAttrName8 ) );
-        
-        // set empty text
-        SetEmptyTextL( suiteElement.AttributeNodeL( KEmptyTextAttrName8 ) );
-        
-        // set custom identifier
-        SetCustomIdL( suiteElement );
-            
-        // set entries
-        CreateItemsL( suiteElement, iCmnPtrs );
-        
-        // set queries
-        iQueries = CHnMdQueries::NewL( suiteElement );
-        
-        // set cached parameters
-        iSuiteParams = CLiwGenericParamList::NewL();
-        }
-    else
-        {
-        // definiotion of the suite was not found!
-        DEBUG(("_MM_: CHnMdSuite::ConstructL Suite definition not found!"));
-        User::Leave( KErrNotFound );
-        }
-    
-    CleanupStack::PopAndDestroy( &elements );
-    DEBUG(("_MM_: CHnMdSuite::ConstructL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdSuite::NewL(TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdSuite* self = CHnMdSuite::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite* CHnMdSuite::NewLC(TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs)
-    {
-    CHnMdSuite* self = new( ELeave ) CHnMdSuite( aCmnPtrs );
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite::CHnMdSuite( THnMdCommonPointers* aCmnPtrs )
-    : iCmnPtrs( aCmnPtrs ), iAllowableTemplate(NULL)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnMdSuite::~CHnMdSuite()
-    {
-    iAllowableWidgetType.Close();
-    delete iAllowableTemplate;
-    delete iEventMapping;
-    iSuiteName.Close();
-    iItems.ResetAndDestroy();
-    iTemplate.Close();
-    iTitle.Close();
-    iEmptyText.Close();
-    iCustomId8.Close();
-    delete iQueries;
-    delete iSuiteParams;
-    iAllowedTypes.Close();
-    delete iQc;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::EvaluateL( CHnSuiteModel & aSuiteModel )
-    {
-    MMPERF(("CHnMdSuite::EvaluateL - START"));
-    aSuiteModel.GetItemsOrder()->DefineModelItemCountL( iItems.Count() );
-    if( iEvaluationNeeded )
-        {
-        EvaluateSuiteItselfL( aSuiteModel );
-        MMPERF(("CHnMdSuite::EvaluateL - suite evaluated"));
-        iEvaluationNeeded = EFalse;
-        }
-    for( TInt i( 0 ); i < iItems.Count(); i++ )
-    	{
-    	CHnMdItem * item = iItems[i];
-    	item->SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    	item->EvaluateItemL( aSuiteModel, GetSuiteParameters(), i );
-    	}
-    
-    MMPERF(("CHnMdSuite::EvaluateL - items evaluated - DONE"));
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::MarkEvaluationL( CHnFilter& aFilter, CHnSuiteModel& aSuiteModel )
-    {  
-    if (aFilter.HasSuiteId())
-        {
-        if (aSuiteModel.CustomId() == aFilter.SuiteId() )
-            {
-            if ( aFilter.IsEvaluateSuite() )
-                {
-                iEvaluationNeeded = ETrue;
-                }
-            for (TInt item(0); item < iItems.Count(); item++)
-               {
-               iItems[item]->MarkEvaluationL( aFilter );
-               }
-            }
-        else
-            {
-            for (TInt itemIter(0); itemIter < iItems.Count(); itemIter++)
-                {
-                RArray< TInt > ids;
-                CleanupClosePushL( ids );
-                aSuiteModel.GetItemsOrder()->GetIdsForL( itemIter, ids);
-                for (TInt idsIter(0); idsIter < ids.Count(); idsIter++)
-                    {
-                    if (aFilter.SuiteId() == ids[idsIter])
-                        {
-                        iItems[itemIter]->MarkEvaluationL( aFilter );
-                        if (aFilter.IsEvaluateSuite())
-                            {
-                            iEvaluationNeeded = ETrue;
-                            }
-                        }
-                    }                        
-                CleanupStack::PopAndDestroy( &ids );
-                }
-            }
-        }
-    else if( aFilter.HasSuiteName() )
-        {
-        if( !SuiteName().Compare( aFilter.SuiteName()) )
-            {
-            if ( aFilter.IsEvaluateSuite() )
-                {
-                iEvaluationNeeded = ETrue;
-                }    
-            for( TInt i( 0 ); i < iItems.Count(); i++ )
-                {
-                iItems[i]->MarkEvaluationL( aFilter );
-                } 
-            } 
-        }
-    else
-        {
-        if( aFilter.IsEvaluateSuite() )
-            {
-            iEvaluationNeeded = ETrue;
-            }
-        for( TInt i( 0 ); i < iItems.Count(); i++ )
-           {
-           iItems[i]->MarkEvaluationL( aFilter );
-           } 
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::CreateItemsL( TXmlEngElement aElement,
-                        THnMdCommonPointers* aCmnPtrs )
-    {
-    ASSERT( aElement.Name() == KSuiteElementName8 );
-
-    // construction...
-    RXmlEngNodeList< TXmlEngElement > elements;
-    CleanupClosePushL( elements );
-    aElement.GetChildElements( elements );
-
-    TInt elementsCount = elements.Count();
-
-    for (TInt j = 0; j < elementsCount; j++ )
-        {
-        TXmlEngElement element = elements.Next();
-        if ( !element.Name().Compare( KItemElementName8 ) )
-            {
-            CHnMdItem *item = CHnMdItem::NewL( element, aCmnPtrs );
-            CleanupStack::PushL( item );
-            iItems.AppendL( item );
-            CleanupStack::Pop( item );
-            }
-        }
-    CleanupStack::PopAndDestroy( &elements );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetGenreL(const TDesC& aGenre)
-    {
-    iSuiteName.Close();
-    iSuiteName.CreateL( aGenre );
-    iSuiteName.LowerCase();
-    DEBUG16(("\t_MM_: suite attribute (genre): %S", &aGenre ));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetGenreL(TXmlEngAttr aGenre)
-    {
-    HBufC* genre = HnConvUtils::Str8ToStrLC( aGenre.Value() );
-    SetGenreL(*genre);
-    // clean up
-    CleanupStack::PopAndDestroy(genre);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTemplateL( TXmlEngAttr aTemplate )
-    {
-    SetTemplateL( aTemplate.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTemplateL( const TDesC8& aTemplate )
-    {
-    delete iAllowableTemplate;
-    iAllowableTemplate = NULL;
-    iAllowableTemplate = new ( ELeave ) CDesC8ArrayFlat( 3 );
-    
-    for (int i = 0; i < HnUtils::GetColumnTextColumnCount( aTemplate ); i++)
-        {
-        HBufC8* templateBuf = HnUtils::GetColumnTextLC( i, aTemplate );
-        templateBuf->Des().Trim();
-        iAllowableTemplate->AppendL( *templateBuf );
-        CleanupStack::PopAndDestroy(templateBuf);
-        }
-    SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::AddInternalStateL( CLiwGenericParamList& aParamList )
-    {
-    TLiwGenericParam param;
-    param.PushL();
-    
-    CLiwDefaultMap* suiteMap = CLiwDefaultMap::NewL();
-    suiteMap->PushL();
-
-    TLiwVariant suiteWidgetTypeVariant;
-    suiteWidgetTypeVariant.PushL();
-    
-    CLiwDefaultMap* widgetTypeMap = CLiwDefaultMap::NewL();
-    widgetTypeMap->PushL();
-
-    if ( iWidgetType == EGridWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeGrid8() );
-        }
-    else if ( iWidgetType == EListWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeList8() );
-        }
-    else if ( iWidgetType == ECoverFlowWidget )
-        {
-        widgetTypeMap->InsertL( KWidgetType8(), KWidgetTypeCoverFlow8() );
-        }
-    
-    widgetTypeMap->InsertL( KAllowedTypes8(), iAllowedTypes );
-    
-    suiteWidgetTypeVariant.Set( widgetTypeMap );
-    
-    // add suite widget type
-    suiteMap->InsertL( KSuite8(), suiteWidgetTypeVariant );
-    aParamList.Remove( KMm8 );
-    
-    // set internal state
-    param.SetNameAndValueL( KMm8, TLiwVariant( suiteMap ) );
-    aParamList.AppendL( param );
-
-    CleanupStack::PopAndDestroy( widgetTypeMap );
-    CleanupStack::PopAndDestroy( &suiteWidgetTypeVariant );
-    CleanupStack::PopAndDestroy( suiteMap );
-    CleanupStack::PopAndDestroy( &param );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::DoSetWidgetTypeL( TDesC8 & aConfDes )
-    {
-    if ( !aConfDes.Compare( KWidgetTypeGrid8 ))
-        {
-        iAllowableWidgetType.AppendL( EGridWidget );
-        }
-    else if ( !aConfDes.Compare( KWidgetTypeList8 ) )
-        {
-        iAllowableWidgetType.AppendL( EListWidget );        
-        }
-    else if ( !aConfDes.Compare( KWidgetTypeCoverFlow8 ) )
-        {
-        iAllowableWidgetType.AppendL( ECoverFlowWidget );                
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMdSuite::GetAlternativeWidgetNumber()
-    {
-    return iAllowableWidgetType.Find( iWidgetType );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeTemplateL( TInt aOption )
-    {
-    iTemplate.Close();
-    if (aOption >= 0 && aOption < iAllowableTemplate->Count())
-        {
-        const TDesC8 & val = (*iAllowableTemplate)[aOption];
-        iTemplate.CreateL(val.Length());
-        iTemplate.Copy(val);
-        iTemplate.Trim();
-        }
-    else
-        {
-        iTemplate.CreateL( KNullDesC8() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeTemplateL( CLiwGenericParamList& aParams )
-    {
-    RBuf8 logicalTemplate;
-    logicalTemplate.CleanupClosePushL();
-    if ( KErrNone == HnLiwUtils::GetStringL( 
-            aParams, KTemplatePath8, logicalTemplate ) &&
-            KErrNone != logicalTemplate.Compare( KTemplatePath8 ) &&
-            logicalTemplate.Length() )
-        {
-        SetTemplateL( logicalTemplate );
-        }
-    else
-    	{
-    	SetAlternativeTemplateL( GetAlternativeWidgetNumber() );
-    	}
-    CleanupStack::PopAndDestroy( &logicalTemplate );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdSuite::ReadWidgetTypeFromServiceL( CLiwGenericParamList& aParams, 
-        RBuf8& aWidgetType )
-    {
-    return 
-        HnLiwUtils::GetStringL( aParams, KWidgetTypePath8, aWidgetType ) == KErrNone 
-        && aWidgetType.Compare( KWidgetTypePath8 ) !=  KErrNone 
-        && aWidgetType.Length();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetAlternativeWidgetL( CLiwGenericParamList& aParams )
-    {
-    RBuf8 widget;
-    widget.CleanupClosePushL();
-    if ( ReadWidgetTypeFromServiceL( aParams, widget )  )
-        {
-        iAllowableWidgetType.Reset();
-        SetWidgetTypeL( widget );
-        }
-    else
-        {
-        ReadWidgetTypeL();
-        }
-    CleanupStack::PopAndDestroy( &widget );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetWidgetTypeL( TXmlEngAttr aWidgetType )
-    {
-    TPtrC8 widgetType = aWidgetType.Value();
-    DEBUG8(("\t_MM_: suite attribute (widget type): %S", &widgetType));
-
-    SaveWidgetTypeL( widgetType );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetWidgetTypeL(TDesC8& aWidgetType)
-    {
-    iAllowedTypes.Close();
-    iAllowedTypes.CreateL(aWidgetType);
-    const TInt columnCount(HnUtils::GetColumnTextColumnCount(aWidgetType));
-    for (TInt i = 0; i < columnCount; i++)
-        {
-        HBufC8* type = HnUtils::GetColumnTextLC(i, aWidgetType);
-        type->Des().Trim();
-        DoSetWidgetTypeL(*type);
-        CleanupStack::PopAndDestroy(type);
-        }
-    if (iAllowableWidgetType.Count() <= 0)
-        {
-        User::Leave(KErrCorrupt);
-        }
-    iWidgetType = iAllowableWidgetType[0];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SaveWidgetTypeL( TDesC8& aWidgetType )
-    {
-    SetWidgetTypeL( aWidgetType );
-    CHnRepositoryManager* repMan = CHnRepositoryManager::NewLC();
-        
-    if ( iAllowableWidgetType.Count() > 0 )
-        {
-        THnSuiteWidgetType crWidgetType( EUnspecified );
-        TInt err( repMan->ReadSuiteWidgetTypeL( iSuiteName, crWidgetType ) );
-        if( !err || err == KErrNotFound )
-            {
-            TInt found = iAllowableWidgetType.Find( crWidgetType );
-            if ( crWidgetType != EUnspecified && found != KErrNotFound )
-                {
-                iWidgetType = crWidgetType;
-                }
-            else
-                {
-                err = repMan->StoreSuiteWidgetTypeL( iSuiteName, iWidgetType );
-                }
-            }
-        }
-            
-    CleanupStack::PopAndDestroy( repMan );
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetModeL( TMdMode aMode )
-    {
-    if ( iMode != aMode )
-    	{
-	    for( TInt i( 0 ); i < iItems.Count() ; i++ )
-	        {
-	        if( iItems[i]->HasAlternativeModeItem() )
-	            {
-	            CHnMdItem * currentItem = iItems[i];
-	            CHnMdItem * newItem = currentItem->TakeAlternativeModeItem();
-	            newItem->SetAlternativeModeItem( currentItem );
-	            iItems.InsertL( newItem, i );
-	            iItems.Remove( i+1 );
-	            }
-	        }
-	    iMode = aMode;
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TMdMode CHnMdSuite::Mode()
-	{
-	return iMode;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetTitleL( TXmlEngAttr aTitle )
-    {
-    iTitle.Close();
-    iTitle.CreateL( aTitle.Value().Length() );
-    iTitle.Copy( aTitle.Value() );
-    DEBUG8(("\t_MM_: suite attribute (name): %S", &iTitle));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetEmptyTextL( TXmlEngAttr aEmptyText )
-    {
-    iEmptyText.Close();
-    iEmptyText.CreateL( aEmptyText.Value().Length() );
-    iEmptyText.Copy( aEmptyText.Value() );
-    DEBUG8(("\t_MM_: suite attribute (name): %S", &iEmptyText));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-//
-void CHnMdSuite::EvaluateSuiteItselfL( CHnSuiteModel & aSuiteModel )
-    {
-    
-    DEBUG(("_MM_: CHnMdSuite::EvaluateSuiteItselfL IN"));
-    iSuiteModel = &aSuiteModel;
-    //delete old query collector and create new one
-    //currently running evaluations will be cancelled
-    delete iQc;
-    iQc = NULL;
-    iQc = CHnQueryResultCollector::NewL( *iQueries, GetSuiteParameters() );
-    iQc->StartAsynchL( this );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnMdSuite::SuiteName()
-    {
-    return iSuiteName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::SaveWidgetTypeL() const
-	{
-	CHnRepositoryManager *repManager = CHnRepositoryManager::NewLC();
-	DEBUG8(("\t_MM_: Saving '%S' widget type to CR: %d", &iSuiteName, iWidgetType));
-	TInt ret( repManager->StoreSuiteWidgetTypeL( iSuiteName, iWidgetType ) );
-	CleanupStack::PopAndDestroy(repManager);
-	return ret;
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdSuite::ReadWidgetTypeL()
-	{
-	TInt ret = KErrNone;
-	
-	if (iAllowableWidgetType.Count() <= 1)
-	    {
-	    DEBUG8(("\t_MM_: Suite '%S' is allowed to have just one widget: %d ", &iSuiteName, iWidgetType));
-	    return ret;
-	    }
-	    
-	CHnRepositoryManager* repManager = CHnRepositoryManager::NewLC();
-	THnSuiteWidgetType widgetType( EUnspecified );
-	TInt err( repManager->ReadSuiteWidgetTypeL( iSuiteName, widgetType ) );
-	if( ( !err || err == KErrNotFound ) && widgetType != EUnspecified )
-		{
-		if ( widgetType == EChangeWidget )
-		    {
-		    ASSERT( iAllowableWidgetType.Find( iWidgetType ) >= 0 );
-		    TInt index = (iAllowableWidgetType.Find( iWidgetType ) + 1) 
-		        % iAllowableWidgetType.Count();
-		    iWidgetType = iAllowableWidgetType[index];
-		    DEBUG8(("\t_MM_: Suite '%S' widget change invoked: %d", &iSuiteName, widgetType));
-		    SaveWidgetTypeL();
-		    }
-		else if ( iAllowableWidgetType.Find( widgetType ) != KErrNotFound )
-		    {
-		    DEBUG8(("\t_MM_: Suite '%S' sets widget: %d from CR", &iSuiteName, widgetType));
-	        iWidgetType = widgetType;
-		    }
-		}
-	CleanupStack::PopAndDestroy( repManager );
-	return ret;
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::ResultsCollectedL( CLiwGenericParamList* aResults )
-    {
-    CLiwGenericParamList* queriesResultsList = CLiwGenericParamList::NewLC();
-    queriesResultsList->AppendL( *aResults );
-    queriesResultsList->AppendL( GetSuiteParameters() );
-
-    RBuf title;
-    CleanupClosePushL( title );
-    HnLiwUtils::GetStringL( *queriesResultsList, iTitle, title );
-    
-    RBuf suiteTitle;
-    CleanupClosePushL( suiteTitle );
-    HnStringHandler::LocaliseL( suiteTitle, title, iCmnPtrs );
-    
-    DEBUG16( ( "\t_MM_: SetTitleL: %S", &suiteTitle ) ); 
-    iSuiteModel->SetTitleL( suiteTitle );
-    
-    CleanupStack::PopAndDestroy( &suiteTitle );
-    CleanupStack::PopAndDestroy( &title );
-    
-    RBuf emptyText;
-    CleanupClosePushL( emptyText );
-    HnLiwUtils::GetStringL( *queriesResultsList, iEmptyText, emptyText );
-    
-    RBuf emptyTextLoc;
-    CleanupClosePushL( emptyTextLoc );
-    HnStringHandler::LocaliseL( emptyTextLoc, emptyText, iCmnPtrs );
-    
-    DEBUG16(("\t_MM_: SetEmptyTestL: %S", &emptyTextLoc));
-    iSuiteModel->SetEmptyTextL( emptyTextLoc );
-    
-    CleanupStack::PopAndDestroy( &emptyTextLoc );
-    CleanupStack::PopAndDestroy( &emptyText );
-    
-    // set widget type
-    SetAlternativeWidgetL( *queriesResultsList );
-    iSuiteModel->SetWidgetType( iWidgetType );
-    
-    // set custom id
-    SetCustomIdL( iSuiteModel, *queriesResultsList, 0 );
-    
-    // set exit mode
-    SetExitModeL();
-        
-    // set template 
-    SetAlternativeTemplateL( *queriesResultsList );
-    iSuiteModel->SetTemplateL( iTemplate );
-    
-    // add widget type to aParams
-    AddInternalStateL( GetSuiteParameters() );
-    DEBUG(("\t_MM_: WidgetType: %d", iSuiteModel->WidgetType()));
-            
-    // evaluate actions
-    iEventMapping->FillActionsL( iSuiteModel->GetActions(), 
-            *queriesResultsList );
-    
-    CleanupStack::PopAndDestroy( queriesResultsList );
-
-    iSuiteModel->RefreshMulModelL( iSuiteModel->GetItemsOrder()->Count() );
-    TBool observersNotified = iSuiteModel->SuiteEvaluationFinishedL();
-    if ( observersNotified )
-        {
-        iCmnPtrs->iModel->SuiteModelReadyToShowL( iSuiteModel );
-        }
-    
-    // set uri based highlight
-    SetUriBasedHighlightL();
-
-    //DEBUG16(("\t\t_MM_: SetTemplate: "));
-    DEBUG(("_MM_: CHnMdSuite::ResultsCollectedL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetUriBasedHighlightL()
-    {
-    RBuf tmp;
-    CleanupClosePushL( tmp );
-    HnLiwUtils::GetStringL( *iSuiteParams, KParamsUriHighlightSuite, tmp );
-    
-    if ( !tmp.Compare( this->iSuiteName ) )
-        {
-        tmp.Close();
-        HnLiwUtils::GetStringL( *iSuiteParams, KParamsUriHighlight, tmp );
-        
-        TLex lexFrag( tmp );
-        TInt highLight( 0 );
-        if( !( lexFrag.Val( highLight ) ) )
-            {
-            iSuiteModel->SetSuiteHighlightL( highLight ); 
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &tmp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetCustomIdL( TXmlEngElement aElement )
-    {
-    iCustomId8.Close();
-    
-    if ( aElement.HasAttributeL( KCustomId8 ) )
-    	{
-    	TPtrC8 av = aElement.AttributeValueL( KCustomId8 );
-    	iCustomId8.CreateL( av );
-    	}
-    else
-    	{
-    	iCustomId8.CreateL( KItemTypeUnknown8 );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetCustomIdL( CHnSuiteModel* aSuiteModel, 
-		const CLiwGenericParamList& aParams, TInt aPos )
-	{
-	TInt64 customId( KErrNotFound );
-	if ( KErrNone == HnLiwUtils::GetInt64L(
-			aParams, iCustomId8, aPos, customId ) )
-		{
-		aSuiteModel->SetCustomId( customId );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdSuite::SetExitModeL()
-    {
-    RBuf exitMode;
-    CleanupClosePushL( exitMode );
-    HnLiwUtils::GetStringL( *iSuiteParams, KExitModeParams, exitMode );
-    
-    if ( !exitMode.Compare( KExitModeHide ) )
-        {
-        iSuiteModel->SetExitMode( EExitModeHide );
-        }
-    else
-        {
-        iSuiteModel->SetExitMode( EExitModeNormal );
-        }
-    
-    CleanupStack::PopAndDestroy( &exitMode );
-    }
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdtoolbar.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#include <xmlengelement.h>
-#include <xmlengnodelist.h>
-
-#include "hnmdtoolbar.h"
-#include "hnmdbutton.h"
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-#include "hnattributebase.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar* CHnMdToolbar::NewLC( TXmlEngElement aElement,
-                                            THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdToolbar* self = new( ELeave ) CHnMdToolbar;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar* CHnMdToolbar::NewL( TXmlEngElement aElement,
-      THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdToolbar* self = CHnMdToolbar::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::EvaluateL( CHnToolbarModel* aToolbar, 
-                              const CLiwGenericParamList& aQueryResults, 
-                              TInt aPos )
-    {
-    TInt buttonCount = iButtons.Count();
-    for( TInt i( 0 ); i < buttonCount; i++ )
-        {
-        if( iButtons[ i ]->ValidateToAddL( aQueryResults, aPos ) && 
-                aToolbar->GetButton( iButtons[ i ]->GetIndex() ) == NULL )
-            {
-            CHnButtonModel* button = CHnButtonModel::NewLC( 
-                    iButtons[ i ]->GetIndex() );
-
-        	const TDesC& helpText = iButtons[ i ]->EvaluateButtonTextL( aQueryResults, aPos );
-        	button->SetHelpTextL( helpText );
-            
-            button->SetEventId( iButtons[ i ]->GetEventId() );
-            button->SetDimmed( 
-                    iButtons[ i ]->ValidateToDimmL( aQueryResults, aPos ) );
-            
-            CHnAttributeBase* attributeImage = iButtons[ i ]->EvaluateIconL( aQueryResults, aPos );
-            button->SetIcon( attributeImage );
-            
-            aToolbar->AddButtonL( button );
-            CleanupStack::Pop( button );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar::~CHnMdToolbar( )
-    {
-    iButtons.ResetAndDestroy();    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdToolbar::CHnMdToolbar()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::ConstructL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    TXmlEngElement toolbarElement;
-    if ( aElement.Name().Compare( KMenuToolbar8 ) != 0 )
-        {
-        RXmlEngNodeList< TXmlEngElement > children;
-        CleanupClosePushL( children );
-        aElement.GetChildElements( children );
-        TInt count = children.Count();
-        
-        for ( TInt i = 0; i < count; i++ )
-            {
-            TXmlEngElement child = children.Next();
-            if ( !child.Name().Compare( KMenuToolbar8 ) )
-                {
-                CreateButtonsL( child, aCmnPtrs );
-                }
-            }
-        CleanupStack::PopAndDestroy( &children );
-        }
-     
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdToolbar::CreateButtonsL( TXmlEngElement aElement,
-            THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL( children );
-    aElement.GetChildElements( children );
-    TInt count = children.Count();
-        
-    for ( TInt i = 0; i < count; i++ )
-        {
-        TXmlEngElement child = children.Next();
-        if ( !child.Name().Compare( KMenuButton8 ) )
-            {
-            CHnMdButton* button = CHnMdButton::NewLC( child, aCmnPtrs );
-            iButtons.AppendL( button );
-            CleanupStack::Pop( button );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimapping.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <e32hashtab.h>
-
-#include "menudebug.h"
-#include "hnmduimapping.h"
-#include "hnmduimappingelement.h"
-#include "hnutils.h"
-#include "hnglobals.h"
-#include "hnitemmodel.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMapping::ConstructL( TXmlEngElement aElement,
-                                 THnMdCommonPointers* aCmnPtrs )
-    {
-    RXmlEngNodeList< TXmlEngElement > children;
-    CleanupClosePushL(children);
-    aElement.GetChildElements(children);
-    TInt amount = children.Count();
-    
-    TPtrC8 n = aElement.Name();
-
-    for (TInt j = 0; j < amount; j++ )
-        {
-        TXmlEngElement item = children.Next();
-        
-        if ( !item.Name().Compare( KOutputElementItem8 ) )
-            {
-            CHnMdUiMappingElement *element =
-                CHnMdUiMappingElement::NewL( item , aCmnPtrs );
-            this->AddUiMappingElementL( element );
-            }
-        }
-    CleanupStack::PopAndDestroy( &children );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMapping::AddUiMappingElementL( 
-    CHnMdUiMappingElement *aUiMappingElement )
-    {
-    iMappings.AppendL( aUiMappingElement );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping* CHnMdUiMapping::NewL( TXmlEngElement aElement,
-                                      THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMapping* self = CHnMdUiMapping::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping* CHnMdUiMapping::NewLC( TXmlEngElement aElement,
-                                       THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMapping* self = new( ELeave ) CHnMdUiMapping;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping::CHnMdUiMapping()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMapping::~CHnMdUiMapping()
-    {
-    iMappings.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMapping::FillGraphicalItemL( CHnItemModel* aItemModel ,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    RPointerArray< TDesC8 > aliases;
-    CleanupClosePushL( aliases );
-    
-    TBool ret( ETrue );
-    for ( TInt i(0); i < iMappings.Count(); i++ )
-        {     
-        CHnMdUiMappingElement* uiElem = iMappings[ i ];
-        ASSERT( uiElem );
-        TBool alreadyFilled( EFalse );
-        const TDesC8* alias = &uiElem->Alias();
-        for( TInt index( 0 ); index < aliases.Count(); index++ )
-            {
-            if ( !aliases[ index ]->Compare( *alias ) )
-                {
-                alreadyFilled = ETrue;
-                }
-            }
-        if (  !alreadyFilled && uiElem->IsValidL( aQueriesResultsList, aPos ) )
-            {
-            aliases.AppendL( alias );
-            ret = uiElem->FillGraphicalItemL( aItemModel, aQueriesResultsList, aPos );
-            if ( !ret )
-                {
-                break;
-                }
-            }
-        }
-    CleanupStack::PopAndDestroy( &aliases );
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmduimappingelement.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmduimappingelement.h"
-#include "hnmdkeyfactory.h"
-#include "hnmdbasekey.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnitemmodel.h"
-#include "bautils.h"
-#include "hnglobals.h"
-#include "hnmdvaluebase.h"
-#include "hnmdmodel.h"
-#include "hninterface.h"
-#include "hnconditioninterface.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnconditionfactory.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::ConstructL( const TXmlEngElement& aElement,
-                                        THnMdCommonPointers* aCmnPtrs )
-    {
-    ASSERT( !aElement.Name().Compare( KOutputElementItem8 ) );
- 
-    // set alias
-    SetAliasL( aElement.AttributeNodeL( KAliasAttrName8 ) );
-    
-    // set condition
-    if( aElement.AttributeValueL( KMenuConditionAttrName8 ).Length() )
-        {
-        iCondition = HnConditionFactory::NewL( 
-                aElement.AttributeNodeL( KMenuConditionAttrName8 ) );
-        }
-    
-    // common pointers
-    iCmnPtrs = aCmnPtrs;
-    
-    if ( aElement.IsSimpleTextContents() == EFalse &&
-            aElement.HasChildNodes() )
-        {
-        // get child element from output and pass to set value
-        RXmlEngNodeList< TXmlEngElement > childElements;
-        CleanupClosePushL( childElements );
-        aElement.GetChildElements( childElements );
-        TXmlEngElement childElement = childElements.Next();
-        // it could be text/image node
-        SetValueL( childElement, aCmnPtrs );
-        CleanupStack::PopAndDestroy( &childElements );
-        }
-    else
-        {
-        // handle output node
-        SetValueL( aElement, aCmnPtrs );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnMdUiMappingElement::Alias() const
-    {
-    return iAlias;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::SetAliasL( const TXmlEngAttr& aName )
-    {
-    iAlias.Close();
-    iAlias.CreateL( aName.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUiMappingElement::SetValueL( const TXmlEngElement& aValue,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    delete iValue;
-    iValue = NULL;
-    iValue = CHnMdValueBase::CreateL( aValue, aCmnPtrs );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement* CHnMdUiMappingElement::NewL( TXmlEngElement aElement,
-                                              THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMappingElement* self = CHnMdUiMappingElement::NewLC( aElement,
-                                                                aCmnPtrs );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement* CHnMdUiMappingElement::NewLC( TXmlEngElement aElement,
-                                              THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdUiMappingElement* self = new( ELeave ) CHnMdUiMappingElement;
-    CleanupStack::PushL( self );
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement::CHnMdUiMappingElement()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUiMappingElement::~CHnMdUiMappingElement()
-    {
-    iAlias.Close();
-    delete iValue;
-    delete iCondition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMappingElement::FillGraphicalItemL( CHnItemModel* aItemModel ,
-        const CLiwGenericParamList& aQueriesResultsList, TInt aPos )
-    {
-    TBool ret = EFalse;
-    CHnAttributeBase* attr = iValue->CreateAttributeL( 
-            &aQueriesResultsList, aPos );
-    
-    if( attr )
-        {
-        CleanupStack::PushL( attr );
-        attr->SetNameL( iAlias );
-        aItemModel->SetAttributeL( attr ); 
-        CleanupStack::Pop( attr );
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdUiMappingElement::IsValidL( 
-                    const CLiwGenericParamList& aQueryResults, TInt aPos )    
-    {
-    TBool ret( EFalse );
-    
-    if( !iCondition || iCondition->ResultL( aQueryResults, aPos ) )
-        {
-        ret = ETrue;
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluebase.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-
-#include "hnmdvaluebase.h"
-#include "hnmdvalueimage.h"
-#include "hnmdvaluetext.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueBase* CHnMdValueBase::CreateL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueBase* ret( NULL );
-            
-    // check the child element name
-    if ( !aElement.Name().Compare( KImageElementItem8 ) )
-        {
-        ret = CHnMdValueImage::NewL( aElement, aCmnPtrs);
-        }
-    else if ( !aElement.Name().Compare( KTextElementItem8 ) )
-        {
-        ret = CHnMdValueText::NewL(aElement, aCmnPtrs);
-        }
-    else if ( !aElement.Name().Compare( KOutputElementItem8 ) )
-        {
-        // now we have two options, element value, or attribute
-        // text will hande it
-        ret = CHnMdValueText::NewL(aElement, aCmnPtrs);
-        }
-    else
-        {
-        User::Leave( KErrNotSupported );
-        }    
-    return ret;
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvalueimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,618 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <bautils.h>
-#include <liwcommon.h>
-#include <AknsSkinInstance.h> 
-#include <AknsDrawUtils.h> 
-#include <gulicon.h> 
-
-#include "hnmdvalueimage.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "AknsUtils.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "bitdev.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "menudebug.h"
-#include "hnbitmapidcache.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage* CHnMdValueImage::NewLC(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueImage* self = 
-        new (ELeave)CHnMdValueImage();
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aCmnPtrs );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage* CHnMdValueImage::NewL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueImage* self =
-        CHnMdValueImage::NewLC( aElement, aCmnPtrs );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdValueImage::ConstructL( const TXmlEngElement& aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iCmnPtrs = aCmnPtrs;
-    iPos = 0;
-    
-    HnUtils::SetAttributeL( aElement, KFile8, iFileNameSrc8 );
-    if ( iFileNameSrc8.Length( ) == 0 )
-        {
-        HnUtils::SetAttributeL( aElement, iFileNameSrc8 );
-        }
-    HnUtils::SetAttributeL( aElement, KSkinIdMinor8, iSkinIdMinor8 );
-    HnUtils::SetAttributeL( aElement, KSkinIdMajor8, iSkinIdMajor8 );
-    HnUtils::SetAttributeL( aElement, KBitmapId8, iBitmapId8 );
-    HnUtils::SetAttributeL( aElement, KMaskId8, iMaskId8 );
-    HnUtils::SetAttributeL( aElement, KMifFile8, iMifFile8 );
-    HnUtils::SetAttributeL( aElement, KAppUid8, iApplicationUid8 );
-    HnUtils::SetAttributeL( aElement, KBitmap8, iBitmap8 );
-    HnUtils::SetAttributeL( aElement, KMask8, iMask8 );
-    
-    iMifFileName = GetMifFileNameL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ----------------------------------------------------------------------------
-//
-TInt CHnMdValueImage::GetResourceIdL( const TDesC8& aResourceFileContents,
-        const TDesC8& aResourceName )
-    {
-    HBufC8* resourceWithSeparator = 
-        HBufC8::NewLC( aResourceName.Length() + KResourceSeparator().Length() );   
-    resourceWithSeparator->Des().Append( aResourceName ); 
-    resourceWithSeparator->Des().Append( KResourceSeparator() );
-    
-    TInt position = aResourceFileContents.Find( *resourceWithSeparator );
-
-    TInt id( KErrNotFound );
-    
-    if ( position >= 0 )
-        {
-        TPtrC8 contentAfterMid = aResourceFileContents.Mid(
-                    position + resourceWithSeparator->Length() );    
-    
-        TChar comma( KComma()[0] );
-        TInt posEnd = contentAfterMid.Locate( comma );
-        
-        if ( posEnd >= 0 )
-            {
-    
-            TPtrC8 resourceId = contentAfterMid.Left( posEnd );
-        
-            HBufC8* resourceTrimmed = resourceId.AllocL();
-            resourceTrimmed->Des().Trim();
-        
-            // GET ICON ID
-            HnConvUtils::Str8ToInt( *resourceTrimmed, id );
-            
-            delete resourceTrimmed; 
-            }
-        }
-    
-    //cleanup    
-    CleanupStack::PopAndDestroy( resourceWithSeparator );
-    
-    return id;        
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnMdValueImage::SetImageSourceL()
-    {
-    if ( iBitmapId8.Length() > 0 && iMaskId8.Length() > 0 &&
-            iMifFile8.Length() > 0 )
-        {
-        iImageSource = EImageSourceResource;
-        // check if file exists
-        if ( !iMifFileName ||
-                !BaflUtils::FileExists( iCmnPtrs->iFs, *iMifFileName ) )
-            {
-            iImageSource = EImageSourceUndefined;
-            }
-        }
-    else if ( iFileNameSrc8.Length() > 0  )
-        {
-        iImageSource = EImageSourceFile;
-        // check if file exists
-        HBufC* fn = GetFileNameSrcL();
-        CleanupStack::PushL( fn );
-        if ( EFalse == BaflUtils::FileExists( iCmnPtrs->iFs, *fn ) )
-            {
-            iImageSource = EImageSourceUndefined;
-            }
-        CleanupStack::PopAndDestroy( fn );
-        }
-    else if ( iBitmap8.Length() > 0 && iMask8.Length() > 0 ) 
-        {
-        iImageSource = EImageSourceLiw;
-        }
-    else if ( iApplicationUid8.Length() > 0 )
-        {
-        iImageSource = EImageSourceApplicationUid;
-        }
-    else
-        {
-        iImageSource = EImageSourceUndefined;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage::CHnMdValueImage()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueImage::~CHnMdValueImage()
-    {
-    iFileNameSrc8.Close();
-    //iFileName.Close();
-    iBitmap8.Close();
-    iMask8.Close();
-    iSkinIdMinor8.Close();
-    iSkinIdMajor8.Close();
-    iBitmapId8.Close();
-    iMaskId8.Close();
-    iApplicationUid8.Close();
-    iMifFile8.Close();
-    iReturnValue.Close();
-    delete iMifFileName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnAttributeBase* CHnMdValueImage::CreateAttributeL( 
-        const CLiwGenericParamList* aParamList,
-        TInt aPos )
-    {
-    iParamList = aParamList;
-    iPos = aPos;
-    CHnAttributeImage* attr = CHnAttributeImage::NewLC();
-    SetAttributeDataL( attr );
-    CleanupStack::Pop( attr );
-    return attr;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-void CHnMdValueImage::SetAttributeDataL( CHnAttributeImage* aAttr )
-    {
-    TInt bitmapId = 0;
-    TInt maskId = 0;
-    delete iMifFileName;
-    iMifFileName = NULL;
-    iMifFileName = GetMifFileNameL(); 
-    GetBitmapAndMaskIdL( bitmapId, maskId );
-    
-    if ( iMifFileName )
-        {
-        aAttr->SetMifFile( iMifFileName->AllocL() );
-        }
-    else
-        {
-        aAttr->SetMifFile( NULL );
-        }
-    aAttr->SetSkinId( SkinIdL() );
-    aAttr->SetBitmapId( bitmapId );
-    aAttr->SetMaskId( maskId );
-    aAttr->SetApplicationUid( ApplicationUidL() );
-    aAttr->SetBitmap( BitmapL() );
-    aAttr->SetMask( MaskL() );
-    aAttr->SetFileNameSrc( GetFileNameSrcL() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::GetFileNameSrcL()
-    {
-    RBuf tmpBuf;
-    CleanupClosePushL( tmpBuf );
-    
-    HnLiwUtils::GetStringL( *iParamList, iFileNameSrc8, iPos, tmpBuf );
-    HBufC* ret = tmpBuf.AllocL();
-    CleanupStack::PopAndDestroy( &tmpBuf );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::FindMatchigMifFileL( const RFs& aFs, TDesC& aFileName )
-    {
-    DEBUG16(("_MM_: CHnMdValueImage::FindMatchigMifFileL IN"));
-
-    // whole path to the mif file was not specified
-    TDriveList driveList;
-    HBufC* ret = NULL;
-
-    if ( KErrNone == aFs.DriveList( driveList ) )
-        {
-        TInt driveNumber( EDriveY ); // start with drive Y
-        do // iterates through drives: Y, X, W, ..., C, B, A, Z
-            {
-            if ( driveList[ driveNumber ] )
-                {
-                ret = HBufC::NewLC(
-                        1 + KRscPath().Length() + // 1 - drive letter len. 
-                        aFileName.Length() );
-                TPtr ptr( ret->Des() );
-                TChar driveLetter;
-                aFs.DriveToChar( driveNumber, driveLetter );
-                ptr.Append( driveLetter );
-                ptr.Append( KRscPath );
-                ptr.Append( aFileName );
-                
-                if ( BaflUtils::FileExists( aFs, *ret ) )
-                    {
-                    // break if file was found
-                    CleanupStack::Pop( ret );
-                    break;
-                    }
-                else
-                    {
-                    CleanupStack::PopAndDestroy( ret );
-                    ret = NULL;
-                    }
-                }
-            /* The below formula is created so that the loop itarates
-               through drives in the following order:
-               Y, X, W, ..., D, C, B, A, Z.
-               Drive Y is most important. */
-            ( --driveNumber >= 0 ) ? driveNumber %= KMaxDrives :
-                driveNumber = EDriveZ;
-            }
-        while( EDriveY != driveNumber );
-        }
-    DEBUG16(("_MM_: CHnMdValueImage::FindMatchigMifFileL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::GetMifFileNameL()
-    {
-    DEBUG16(("_MM_: CHnMdValueImage::GetMifFileNameL IN"));
-    HBufC* ret = NULL;
-    RBuf tmpBuf;
-    CleanupClosePushL( tmpBuf );
-
-    TInt errCode = HnLiwUtils::GetStringL( *iParamList, iMifFile8, iPos, tmpBuf );
-    if ( !BaflUtils::FileExists( iCmnPtrs->iFs, tmpBuf ) && tmpBuf.Length() )
-        {
-        // fileName was retrieved but corresponding file was not found
-        ret = FindMatchigMifFileL( iCmnPtrs->iFs, tmpBuf );
-        }
-    else if ( tmpBuf.Length() )
-        {
-        // return fileName as it is
-        ret = tmpBuf.AllocL();
-        }
-    
-    // clean up
-    CleanupStack::PopAndDestroy( &tmpBuf );
-   
-    DEBUG16(("_MM_: CHnMdValueImage::GetMifFileNameL OUT"));
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TAknsItemID CHnMdValueImage::SkinIdL()
-    {
-    TAknsItemID retItemId( KAknsIIDNone );
-    
-    TInt skinIdMinor( KErrNotFound );
-    TInt skinIdMajor( KErrNotFound );
-    
-    RBuf8 bufMajor;
-    RBuf8 bufMinor;
-    CleanupClosePushL(bufMinor);
-    CleanupClosePushL(bufMajor);
-    
-    HnLiwUtils::GetStringL( *iParamList, iSkinIdMajor8, iPos, bufMajor );
-    HnLiwUtils::GetStringL( *iParamList, iSkinIdMinor8, iPos, bufMinor );
-
-    if ( KErrNone == HnConvUtils::Str8ToInt( bufMinor, skinIdMinor) &&
-            KErrNone == HnConvUtils::Str8ToInt( bufMajor, skinIdMajor) )
-        {
-        retItemId.Set( skinIdMajor, skinIdMinor );
-        }
-     
-    CleanupStack::PopAndDestroy(&bufMajor);
-    CleanupStack::PopAndDestroy(&bufMinor);
-    return retItemId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnMdValueImage::GetBitmapAndMaskIdL( TInt& aBitmapId, TInt& aMaskId )
-    {
-    aBitmapId = KErrNotFound;
-    aMaskId = KErrNotFound;
-        
-    RBuf8 bitmapIdBuf;
-    CleanupClosePushL( bitmapIdBuf );
-    RBuf8 maskIdBuf;
-    CleanupClosePushL( maskIdBuf );
-    
-    HnLiwUtils::GetStringL( *iParamList, iBitmapId8, iPos, bitmapIdBuf );
-    HnLiwUtils::GetStringL( *iParamList, iMaskId8, iPos, maskIdBuf );
-    TBool bitmapIdLookupNeeded =
-            HnConvUtils::Str8ToInt( bitmapIdBuf, aBitmapId ) != KErrNone;
-    TBool maskIdLookupNeeded =
-            HnConvUtils::Str8ToInt( maskIdBuf, aMaskId ) != KErrNone;
-    
-    // if bitmap and mas ids are stored in mbg file
-    if ( ( bitmapIdLookupNeeded || maskIdLookupNeeded ) && iMifFileName )
-        {
-        // look up in cache
-        RBuf8 keyBitmap;
-        RBuf8 keyMask;
-        CreateKeysLC( keyBitmap, bitmapIdBuf, keyMask, maskIdBuf );
-        
-        iCmnPtrs->iBitmapIdCache->GetL( keyBitmap, aBitmapId );
-        iCmnPtrs->iBitmapIdCache->GetL( keyMask, aMaskId );
-        
-        // if not found in cache read ids from mbg file
-        if ( aBitmapId == KErrNotFound || aMaskId == KErrNotFound )
-            {
-            HBufC* path = ReplaceFileExtensionLC( *iMifFileName, KMbg() );
-            HBufC8* fileContents = NULL;
-            TRAPD( readFileErr, fileContents = HnUtils::ReadFileL( *path ) );
-            if ( !readFileErr && fileContents )
-                {
-                CleanupStack::PushL( fileContents );
-                if ( bitmapIdLookupNeeded )
-                    {
-                    aBitmapId = GetResourceIdL( *fileContents,  bitmapIdBuf );
-                    iCmnPtrs->iBitmapIdCache->AddL( keyBitmap, aBitmapId );
-                    }
-                if ( maskIdLookupNeeded )
-                    {
-                    aMaskId = GetResourceIdL( *fileContents,  maskIdBuf );
-                    iCmnPtrs->iBitmapIdCache->AddL( keyMask, aMaskId );
-                    }
-                CleanupStack::PopAndDestroy( fileContents );
-                }
-            CleanupStack::PopAndDestroy( path );
-            }
-        CleanupStack::PopAndDestroy( &keyMask );
-        CleanupStack::PopAndDestroy( &keyBitmap );
-        }
-    
-    CleanupStack::PopAndDestroy( &maskIdBuf );
-    CleanupStack::PopAndDestroy( &bitmapIdBuf );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnMdValueImage::ReplaceFileExtensionLC(
-        const TDesC& aPath, const TDesC& aNewExt )
-    {
-    HBufC* newPath = HBufC::NewLC( aPath.Length() );
-    newPath->Des().Copy( aPath );
-    TInt extPos = newPath->LocateReverse( '.' );
-    User::LeaveIfError( extPos );
-    newPath->Des().Replace( extPos, newPath->Length() - extPos, aNewExt );
-    return newPath;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-TUid CHnMdValueImage::ApplicationUidL()
-    {
-    TUid uid;
-    TUint result( 0 );
-    
-    RBuf8 buf;
-    CleanupClosePushL(buf);
-    HnLiwUtils::GetStringL( *iParamList, iApplicationUid8, iPos, buf );
-    
-    if( buf.Length() )
-        {
-        TLex8 lex( buf );
-        if( !buf.Find( KHexPrefix8 ) )
-            {
-            lex.Inc( KHexPrefix8().Length() );
-            lex.Mark();
-            }
-        lex.Val( result, EHex );
-        }
-    uid.iUid = result;
-    
-    CleanupStack::PopAndDestroy(&buf);
-    return uid;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TLiwVariant* CHnMdValueImage::BitmapFromLiwL( const TDesC8& aPath )
-    {
-    TLiwVariant* ret = new( ELeave ) TLiwVariant;
-    TInt err( KErrNone ); 
-    TInt check( KErrNone );
-    TRAP( err, check = HnLiwUtils::GetVariantL( *iParamList, aPath, iPos, *ret ) );
-    if( err != KErrNone || check != KErrNone )
-        {
-        ret->Reset();
-        delete ret;
-        ret = NULL;
-        }
-    return ret;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TLiwVariant* CHnMdValueImage::BitmapL()
-    {
-    TLiwVariant* ret = NULL;
-    if( iBitmap8.Length() )
-        {
-        ret = BitmapFromLiwL( iBitmap8 );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TLiwVariant* CHnMdValueImage::MaskL()
-    {
-    TLiwVariant* ret = NULL;
-    if( iMask8.Length() )
-        {
-        ret = BitmapFromLiwL( iMask8 );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueImage::CreateKeysLC( RBuf8& aKeyBitmap, RBuf8& aBitmapIdBuf, 
-		RBuf8& aKeyMask, RBuf8& aMaskIdBuf )	
-	{
-	CleanupClosePushL( aKeyBitmap );
-	CleanupClosePushL( aKeyMask );
-	aKeyBitmap.CreateL( iMifFile8.Length() + aBitmapIdBuf.Length() );
-	aKeyBitmap.Copy( iMifFile8 );
-	aKeyBitmap.Append( aBitmapIdBuf );
-	aKeyMask.CreateL( iMifFile8.Length() + aMaskIdBuf.Length() );
-	aKeyMask.Copy( iMifFile8 );
-	aKeyMask.Append( aMaskIdBuf );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-//CGulIcon* CHnMdValueImage::GetIconL(
-//        const CLiwGenericParamList* aQueriesResultsList, TInt aPos )
-//    {
-//    CGulIcon* gulIcon = NULL;
-//
-//    iParamList = aQueriesResultsList;
-//    iPos = aPos;
-//    
-//    // only to set iImageSource, to be optimized    
-//    SetImageSourceL();
-//    
-//    TSize defaultSize( KDefaultIconSize, KDefaultIconSize );
-//    
-//    CFbsBitmap* bitmap = NULL; 
-//    CFbsBitmap* mask = NULL;
-//        
-//    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-//    
-//    switch( iImageSource )
-//        {
-//        case EImageSourceResource:
-//            {
-//            TInt bitmapId = 0;
-//            TInt maskId = 0;
-//            GetBitmapAndMaskIdL(bitmapId, maskId);
-//            if ( iMifFileName && bitmapId != KErrNotFound )
-//                {
-//                AknsUtils::CreateIconL(
-//                        skin, SkinIdL(), bitmap, mask,
-//                        *iMifFileName, bitmapId, maskId );
-//                }
-//            }
-//            break;
-//        default:
-//            {
-//            User::Panic( KMatrixPanic , 1 );
-//            }    
-//        }
-//       
-//    if ( EImageSourceUndefined != iImageSource )
-//        {        
-//        if ( EImageSourceFile != iImageSource )
-//            {
-//            gulIcon = CGulIcon::NewL( bitmap, mask );
-//            AknIconUtils::SetSize( mask, defaultSize );
-//            AknIconUtils::SetSize( bitmap, defaultSize );
-//            }
-//        else
-//            {
-//            gulIcon = CGulIcon::NewL( bitmap );
-//            AknIconUtils::SetSize( bitmap, defaultSize );
-//            }
-//        }
-//    
-//    return gulIcon;
-//    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnmdvaluetext.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-#include <hnmdbasekey.h>
-#include <hnconvutils.h>
-
-#include "hnmdvaluetext.h"
-#include "hnglobals.h"
-#include "hnmdmodel.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-#include "hnstringhandler.h"
-#include "hnattributetext.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText* CHnMdValueText::NewL(
-        const TXmlEngElement& aElement, THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdValueText* self = 
-        new (ELeave)CHnMdValueText();
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement, aCmnPtrs );
-    CleanupStack::Pop(self); 
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueText::ConstructL( const TXmlEngElement& aElement,
-        THnMdCommonPointers* aCmnPtrs )
-    {
-    iCmnPtrs = aCmnPtrs;
-
-    if ( !aElement.Name().Compare( KTextElementItem8 ) )
-        {
-        // handle text node
-        HnUtils::SetAttributeL( aElement, KResourceAttrName8 , iResourceFile );
-        HnUtils::SetAttributeL( aElement, KIdAttrName8 , iResourceId );
-        HnUtils::SetAttributeL( aElement, KValueAttrName8 , iSimpleValue);
-        
-        if (  aElement.HasChildNodes() )
-            {
-            iParameters = new(ELeave)CDesC8ArraySeg(1);
-            iCachedDesParameters = new(ELeave)CDesC16ArraySeg(1);
-            iCachedIntParameters = new(ELeave)CArrayFixSeg<TInt>(1);
-            // get child element from output and pass to set value
-            RXmlEngNodeList< TXmlEngElement > childElements;
-            CleanupClosePushL( childElements );
-            aElement.GetChildElements( childElements );
-            TInt amount = childElements.Count();
-
-            for (TInt i(0); i<amount; i++)
-                {
-                TXmlEngElement child = childElements.Next();
-                RBuf8 tmp;
-                CleanupClosePushL(tmp);
-                HnUtils::SetAttributeL( child, KValueAttrName8 , tmp);
-                if (tmp.Length() > 0)
-                    {
-                    iParameters->AppendL( tmp );
-                    }
-                CleanupStack::PopAndDestroy( &tmp );
-                }
-            CleanupStack::PopAndDestroy( &childElements );
-            }
-        }
-    else 
-        {
-        // it can accept element that have text define in element node
-        // or value attribute
-        if ( iSimpleValue.Length() == 0 )
-            {
-            HnUtils::SetAttributeL( aElement, KValueAttrName8 , iSimpleValue );
-            }
-        HnUtils::SetAttributeL(aElement, iSimpleValue);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText::CHnMdValueText()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnMdValueText::~CHnMdValueText()
-    {
-    iSimpleValue.Close();
-    iResourceFile.Close();
-    iResourceId.Close();
-    iCachedValue.Close();
-    delete iParameters;
-    delete iCachedDesParameters;
-    delete iCachedIntParameters;
-    }
-
-// ---------------------------------------------------------------------------
-//  
-// ---------------------------------------------------------------------------
-//  
-void CHnMdValueText::FillParamsL( const CLiwGenericParamList* aQueryList, 
-                                   TInt aPos, 
-                                   CDesC16Array& aDesParams,
-                                   CArrayFix<TInt>& aNumericParams)
-    {
-    if (iParameters)
-        {
-        // remove old values
-        aDesParams.Reset();
-        aNumericParams.Reset();
-        
-        for (TInt i(0); i < iParameters->Count(); i++)
-            {
-            TLiwVariant value;
-            CleanupStack::PushL( 
-                    TCleanupItem( TLiwVariant::VariantCleanup , &value) );
-
-            HnLiwUtils::GetVariantL( *aQueryList, 
-                                  iParameters->MdcaPoint(i), 
-                                  aPos, 
-                                  value );
-            
-            if ( value.TypeId() == LIW::EVariantTypeTInt32 )
-                {
-                aNumericParams.AppendL( value.AsTInt32() );
-                } 
-            else if ( value.TypeId() == LIW::EVariantTypeTUint )
-                {
-                aNumericParams.AppendL( value.AsTUint() );
-                }
-            else if ( value.TypeId() == LIW::EVariantTypeTBool )
-                {
-                aNumericParams.AppendL( value.AsTBool() );
-                }
-            else if ( value.TypeId() == LIW::EVariantTypeTTime )
-                {
-                // PW add time formating
-                }
-            else if ( value.TypeId() != LIW::EVariantTypeNull )
-                {
-                RBuf vbuf;
-                CleanupClosePushL(vbuf);
-                HnLiwUtils::VariantToStringL( value, vbuf );
-                aDesParams.AppendL(vbuf);
-                CleanupStack::PopAndDestroy(&vbuf);
-                }
-            CleanupStack::PopAndDestroy(&value); 
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdValueText::GetFromResourceFileL( 
-        const CLiwGenericParamList* aParamList, TInt aPos, RBuf& aValue )
-    {
-    TInt retFile(KErrNotFound);
-    TInt retId(KErrNotFound);
-    RBuf resourceFile;
-    RBuf resourceId;
-
-    CleanupClosePushL(resourceFile);
-    CleanupClosePushL(resourceId);
-     
-    retFile = HnLiwUtils::GetStringL( *aParamList, iResourceFile, aPos, resourceFile );
-    retId = HnLiwUtils::GetStringL( *aParamList, iResourceId, aPos, resourceId );
-    if ( retFile != KErrBadDescriptor && retId != KErrBadDescriptor )
-         {
-         RBuf resourceName;
-         CleanupClosePushL(resourceName);
-         resourceName.CreateL( resourceFile.Length()+ 1 + resourceId.Length() );
-         // concatenate resource file with id, localization understands it
-         resourceName.Append(resourceFile);
-         resourceName.Append(KColon);
-         resourceName.Append(resourceId);
-
-         FillParamsL( aParamList, aPos, *iCachedDesParameters,
-                 *iCachedIntParameters);
-         
-         HnStringHandler::LocaliseL( aValue, resourceName, 
-                 iCachedDesParameters, iCachedIntParameters, iCmnPtrs );
-         
-         CleanupStack::PopAndDestroy(&resourceName);
-         }
-        
-    CleanupStack::PopAndDestroy(&resourceId);
-    CleanupStack::PopAndDestroy(&resourceFile);
-    
-    return (retFile != KErrNone) ? retFile : retId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnMdValueText::GetSimpleValueL( 
-        const CLiwGenericParamList* aParamList, TInt aPos, RBuf& /*aValue*/ )
-    {
-    TInt ret(KErrNotFound);
-    RBuf vbuf;
-    CleanupClosePushL(vbuf);
-    
-    ret = HnLiwUtils::GetStringL( *aParamList, iSimpleValue, aPos, vbuf );
-    if ( ret != KErrNotFound )
-        {            
-        FillParamsL( aParamList, aPos, *iCachedDesParameters,
-                *iCachedIntParameters);
-        
-        HnStringHandler::LocaliseL( iCachedValue, vbuf,  iCachedDesParameters,                
-                iCachedIntParameters, iCmnPtrs );
-        }
-    CleanupStack::PopAndDestroy(&vbuf); 
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnMdValueText::GetL( 
-        const CLiwGenericParamList* aParamList, TInt aPos,
-        TPtrC& aValue )
-    {
-    TInt ret(KErrNone);
-    iCachedValue.Close();
-    // first let's check resource file and id
-    if (iResourceFile.Length() > 0 && iResourceId.Length() > 0)
-        {
-        ret = GetFromResourceFileL(aParamList, aPos, iCachedValue);
-        }
-    // if still cached value is empty, let's try with simple value
-    if (iSimpleValue.Length() > 0 && iCachedValue.Length() == 0 )
-        {
-        ret = GetSimpleValueL(aParamList, aPos, iCachedValue);
-        }
-    
-    aValue.Set(iCachedValue);
-    return ret;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-CHnAttributeBase* CHnMdValueText::CreateAttributeL( 
-            const CLiwGenericParamList* aQueriesResultsList,
-            TInt aPos )
-    {
-    CHnAttributeText* attr = 0;
-    TPtrC val;
-    if( GetL(aQueriesResultsList, aPos, val) != KErrNotFound )
-        {
-        attr = CHnAttributeText::NewLC();
-        HBufC8* bufVal( HnConvUtils::StrToStr8LC( val ) );
-        attr->SetValueL( *bufVal );
-        
-        // clean up
-        CleanupStack::PopAndDestroy( bufVal );
-        CleanupStack::Pop( attr );
-        }
-    return attr;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnqueryresultcollector.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,234 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnqueryresultcollector.h"
-#include "hnmdquery.h"
-#include "hnmdqueries.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "hnmdservice.h"
-#include "hnmdservicecommand.h"
-
-using namespace LIW;
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector* CHnQueryResultCollector::NewL(
-		const CHnMdQueries& aQueries , const CLiwGenericParamList& aParams )
-	{
-	CHnQueryResultCollector* self = NewLC( aQueries , aParams );
-	CleanupStack::Pop( self );
-	return self;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector* CHnQueryResultCollector::NewLC(
-		const CHnMdQueries& aQueries , const CLiwGenericParamList& aParams )
-	{
-	CHnQueryResultCollector* self =
-	new ( ELeave ) CHnQueryResultCollector( aQueries , aParams );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector::CHnQueryResultCollector(
-		const CHnMdQueries& aQueries ,
-		const CLiwGenericParamList& aParams) : CActive ( EPriorityStandard ),
-                                        	   iQueries( aQueries ),
-                                        	   iParams( aParams )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnQueryResultCollector::~CHnQueryResultCollector()
-	{
-	Cancel();
-	delete iResults;
-	delete iCurrentQueryResults;
-	delete iSh;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ConstructL()
-	{
-	iResults = CLiwGenericParamList::NewL();
-	iCurrentQueryResults = CLiwGenericParamList::NewL();
-	CActiveScheduler::Add( this );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::StartAsynchL(
-        MHnQueryResultCollectorNotification* aNotification )
-    {
-    __ASSERT_DEBUG( aNotification , User::Panic( KMatrixPanic , 0) );
-    iNotification = aNotification;
-    ResetL();
-    if( iQueryIterator < iQueries.Count())
-        {
-        ExecQueryAsynchL();
-        }
-    else
-        {
-        iNotification->ResultsCollectedL( iResults );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ResetL()
-    {
-    iQueryIterator = 0;
-    iCurrentQueryResults->Reset();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::DoCancel()
-    {
-    iCurrentQueryResults->Reset();
-    delete iSh;
-    iSh = NULL;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnQueryResultCollector::NextQuery()
-    {
-    iQueryIterator++;
-    return iQueryIterator < iQueries.Count();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::HandleQueryResultsL()
-    {
-    HBufC8* name8 = HnConvUtils::StrToStr8FastLC(
-            iQueries.Query( iQueryIterator ).NameSpace() );
-    CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-    map->PushL();
-
-    TLiwGenericParam param;
-    param.PushL();
-    for (TInt i = 0; i < iCurrentQueryResults->Count(); i++)
-        {
-        iCurrentQueryResults->AtL(i, param);
-        map->InsertL( param.Name(), param.Value() );
-        param.Reset();
-        }
-
-    param.SetNameAndValueL( *name8, TLiwVariant( map) );
-    iResults->AppendL(param);
-
-    CleanupStack::PopAndDestroy( &param);
-    CleanupStack::PopAndDestroy( map);
-    CleanupStack::PopAndDestroy(name8);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::RunL()
-    {
-    if ( !iStatus.Int() )
-        {
-        HandleQueryResultsL();
-        }
-
-    if( NextQuery() )
-        {
-        ExecQueryAsynchL();
-        }
-    else
-        {
-        iNotification->ResultsCollectedL( iResults );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ExecQueryAsynchL()
-    {
-    __ASSERT_DEBUG( iQueryIterator < iQueries.Count() ,
-                    User::Panic( KMatrixPanic , 0) );
-    //cancel any running evaulations
-    Cancel();
-    ExecQueryL( iQueries.Query( iQueryIterator ) );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnQueryResultCollector::ExecQueryL( CHnMdQuery& aQuery )
-    {
-    CLiwGenericParamList* constructor
-        = aQuery.GetService().EvaluateConstructorL( iParams );
-    CleanupStack::PushL( constructor );
-    CLiwGenericParamList* command
-        = aQuery.GetService().EvaluateCommandL( iParams );
-    CleanupStack::PushL( command );
-
-    delete iSh;
-    iSh = NULL;
-    iSh = CHnServiceHandler::NewL(
-            aQuery.GetService().GetServiceName(),
-            aQuery.GetService().GetInterfaceName(),
-            aQuery.GetService().GetCommand().GetCommandName(),
-            aQuery.GetService().GetCommand().GetCommandMode(),
-            constructor,
-            command );
-
-    CleanupStack::Pop( command );
-    CleanupStack::Pop( constructor );
-
-    iSh->ExecuteL( *iCurrentQueryResults, iStatus );
-    }
-
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnrepositoryobserver.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,805 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  factory settings for active space
-*
-*/
-
-
-#include <centralrepository.h>
-#include <menudebug.h>
-#include <apadef.h>
-#include <AknDef.hrh>
-#include "hnrepositoryobserver.h"
-#include "hnglobals.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnsuitemodel.h"
-#include "hnmdsuite.h"
-#include "hnitemsorder.h"
-#include "hnliwutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "hnconvutils.h"
-#include "hnsuiteobserver.h"
-#include "hnmdmodel.h"
-
-class CHnServiceHandler;
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    iRepository = CRepository::NewL( aRepositoryUid );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs )
-    : iCmnPtrs(aCmnPtrs)
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::CHnRepositoryObserver( THnMdCommonPointers* aCmnPtrs, TUint32 aId  )
-: iId( aId ), iCmnPtrs(aCmnPtrs)
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryObserver::~CHnRepositoryObserver()
-    {
-    if (iNotifyHandler)
-        iNotifyHandler->StopListening();
-    delete iNotifyHandler;
-    delete iRepository;
-    }
-
-
-// class CHnRepositoryWidgetTypeObserver
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver * CHnRepositoryWidgetTypeObserver::NewL(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid )
-    {
-    CHnRepositoryWidgetTypeObserver * self = CHnRepositoryWidgetTypeObserver::NewLC( aCmnPtrs, aRepositoryUid );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver * CHnRepositoryWidgetTypeObserver::NewLC(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid )
-    {
-    CHnRepositoryWidgetTypeObserver * self = new (ELeave) CHnRepositoryWidgetTypeObserver( aCmnPtrs );
-    CleanupStack::PushL(self);
-    self->ConstructL( aRepositoryUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    CHnRepositoryObserver::ConstructL( aRepositoryUid );
-    iNotifyHandler = CCenRepNotifyHandler::NewL(*this, *iRepository );
-    iNotifyHandler->StartListeningL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver::CHnRepositoryWidgetTypeObserver( THnMdCommonPointers* aCmnPtrs )
-    : CHnRepositoryObserver( aCmnPtrs )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryWidgetTypeObserver::~CHnRepositoryWidgetTypeObserver()
-    {
-    iWidgetSwitches.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::HandleNotifyGeneric(TUint32 aId)
-    {
-    TRAP_IGNORE( HandleNotifyGenericL(aId) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryWidgetTypeObserver::HandleNotifyGenericL(TUint32 aId)
-    {
-    DEBUG(("_MM_:CHnRepositoryObserver::HandleNotifyGeneric IN"));
-    DEBUG(("\tID: %d",aId));
-    THnSuiteWidgetType suiteState( EUnspecified );
-
-    iRepository->Get( aId, (int &) suiteState);
-    TInt id = iWidgetSwitches.Find(aId);
-
-    if ( suiteState == EChangeWidget )
-        {
-        iWidgetSwitches.AppendL(aId);
-        }
-    else if ( id != KErrNotFound )
-        {
-        iWidgetSwitches.Remove(id);
-        return;
-        }
-
-    CHnSuiteModel* lastSuiteModel = iCmnPtrs->iContainer->GetLastSuiteModel();
-    TBuf <NCentralRepositoryConstants::KMaxUnicodeStringLength> suiteName;
-    if ( iRepository->Get( aId - 1, suiteName ) == KErrNone && lastSuiteModel
-            && lastSuiteModel->WidgetType() != suiteState )
-        {
-        DEBUG16(("\t\tSuite Name: %S",&suiteName));
-        lastSuiteModel->GetItemsOrder()->MarkSuiteUninitialized();
-
-        TInt32 suiteId = lastSuiteModel->CustomId();
-
-        CLiwGenericParamList* inParam = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( inParam );
-
-        CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-        map->InsertL( KGenreName8, TLiwVariant(suiteName) );
-        map->InsertL( KId8, TLiwVariant(suiteId) );
-        inParam->AppendL(TLiwGenericParam( KFilterElementItem8, TLiwVariant(map) ));
-        CleanupStack::PopAndDestroy( map );
-
-        iCmnPtrs->iModelEventObserver->HandleModelEventL( KReevaluateMdEvent, *inParam );
-
-        CleanupStack::PopAndDestroy( inParam );
-        }
-    DEBUG(("_MM_:CHnRepositoryObserver::HandleNotifyGeneric OUT"));
-    }
-
-
-// class CHnRepositoryShowFolderObserver
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver * CHnRepositoryShowFolderObserver::NewL(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid, const TUint32 aId )
-    {
-    CHnRepositoryShowFolderObserver * self = CHnRepositoryShowFolderObserver::NewLC( aCmnPtrs, aRepositoryUid, aId );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver * CHnRepositoryShowFolderObserver::NewLC(
-        THnMdCommonPointers* aCmnPtrs, const TUid aRepositoryUid, const TUint32 aId )
-    {
-    CHnRepositoryShowFolderObserver * self = new (ELeave) CHnRepositoryShowFolderObserver( aCmnPtrs, aId );
-    CleanupStack::PushL(self);
-    self->ConstructL( aRepositoryUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::ConstructL( const TUid aRepositoryUid )
-    {
-    CHnRepositoryObserver::ConstructL( aRepositoryUid );
-    TInt ret = iRepository->Create( iId, KBlank );
-    iNotifyHandler = CCenRepNotifyHandler::NewL(
-        *this, *iRepository,
-    	CCenRepNotifyHandler::EStringKey, iId );
-    iNotifyHandler->StartListeningL();
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver::CHnRepositoryShowFolderObserver( THnMdCommonPointers* aCmnPtrs, TUint32 aId  )
-    : CHnRepositoryObserver( aCmnPtrs, aId )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryShowFolderObserver::~CHnRepositoryShowFolderObserver()
-    {
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleNotifyString(TUint32 aId, const TDesC16& aNewValue )
-    {
-    TRAP_IGNORE( HandleNotifyStringL(aId, aNewValue) );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleNotifyStringL(TUint32 aId, const TDesC16& aNewValue)
-    {
-    DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyStringL IN"));
-    DEBUG(("\tID: %d : %S", aId, &aNewValue));
-
-    //++Show Folder
-    if( aId == iId && aNewValue.Length())
-		{
-        iNotifyType = 0;
-		ExtractCRKeyShowFolderName( aNewValue );
-
-		// iCRKeyFolderItemUid can contain mcs id or uid
-		// in case of uid it will be replaced whith id in HandleNotifyL callback
-		if( iCRKeyFolderItemUid.Length()>0 )
-		    {
-		    if( iCRKeyFolderItemUid.FindF( KHexPrefix8 )==0 )
-		        {
-		        iNotifyType |= EAPP_UID;
-		        }
-		    else
-		        {
-		        iNotifyType |= EAPP_ID;
-		        }
-		    }
-
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-
-        CHnMdBaseKey* filter( NULL );
-        HBufC8* id( NULL );
-        if ( iCRKeyFolderName.Length()>0 && !( iNotifyType & EAPP_UID ) )
-            {
-            // app group name is known
-            // id is optional
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-            filter = HnMdKeyFactory::CreateL(
-                    KFilter8, KKeyTypeMap, KStringTrue8 );
-            CleanupStack::PushL( filter );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KMcsAppGroupName8, KKeyTypeString, iCRKeyFolderName ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-            }
-        else if( iNotifyType & EAPP_ID )
-            {
-            // no app group name, id is known
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuApplication8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, iCRKeyFolderItemUid ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-            }
-        else if( iNotifyType & EAPP_UID )
-            {
-            // uid is known
-            // app group name is optional
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-            filter = HnMdKeyFactory::CreateL(
-                KFilter8, KKeyTypeMap, KStringTrue8 );
-            CleanupStack::PushL( filter );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KUid8, KKeyTypeInteger, iCRKeyFolderItemUid ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuApplication8 ) );
-            filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-            }
-        else
-            {
-            // No app group name, no uid. Search for root.
-            id = HnConvUtils::NumToStr8LC( KRootId );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-            inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-            }
-
-        RPointerArray< CHnMdBaseKey > data;
-        CleanupClosePushL( data );
-        data.AppendL( inDataKey );
-        if ( filter )
-            {
-            data.AppendL( filter );
-            }
-
-        CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-            KServiceContentName, KKeyTypeString, KMatrixMenuData );
-        CleanupStack::PushL( serviceData );
-
-        RPointerArray< CHnMdBaseKey> constructor;
-        CleanupClosePushL( constructor );
-        constructor.AppendL( serviceData );
-        CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-        CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-        HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-        HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-        TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-        delete iServiceHandler;
-        iServiceHandler = NULL;
-        iServiceHandler = CHnServiceHandler::NewL(
-                KMCSService8, interface, KCmdGetList8,
-                EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-        CleanupStack::Pop( commandLiw );
-        CleanupStack::Pop( constructorLiw );
-
-        iServiceHandler->ExecuteL( this );
-
-        CleanupStack::PopAndDestroy( &constructor );
-        CleanupStack::PopAndDestroy( serviceData );
-        CleanupStack::PopAndDestroy( &data );
-        if( filter )
-            {
-            CleanupStack::PopAndDestroy( filter );
-            }
-        if( id )
-            {
-            CleanupStack::PopAndDestroy( id );
-            }
-        CleanupStack::PopAndDestroy( inDataKey );
-		}
-
-    DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyStringL OUT"));
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName( const TDesC& aNewValue )
-	{
-	DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName IN" ));
-	iCRKeyFolderName.Copy( KBlank );
-	iCRKeyFolderItemUid.Copy( KBlank );
-
-	int keyValueLength = aNewValue.Length();
-	if( keyValueLength )
-		{
-			TApaAppGroupName folder;
-	        TBuf<KTimeStampBufferLength + KUidStringLength + 1> tempBuf;
-	        TBuf<KTimeStampBufferLength> timeStamp;
-
-	        TInt ret = aNewValue.Find( KComma );
-	        if( (ret == KErrNotFound )|| ( ret == ( keyValueLength-1 ) ) )
-	            {
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (bad CR key value input) OUT" ));
-	        	return;	//bad CR key value input
-	            }
-	        if( ret>KApaMaxAppGroupName )
-	            {
-	            return;
-	            }
-	        folder.Copy(aNewValue.Left(ret));
-	        if( aNewValue.Length()-ret > tempBuf.MaxLength() )
-	            {
-	            return;
-	            }
-	        tempBuf.Copy(aNewValue.Mid( ret + 1 ) );
-
-	        TInt posUid = tempBuf.Find( KComma );
-	        if ( KErrNotFound != posUid )
-	        	{
-	        	if( posUid>KTimeStampBufferLength )
-	        	    {
-	        	    return;
-	        	    }
-	        	timeStamp.Copy( tempBuf.Left(posUid) );
-	        	if( tempBuf.Length()-(posUid+1) > KUidStringLength )
-	        	    {
-	        	    return;
-	        	    }
-	        	iCRKeyFolderItemUid.Copy( tempBuf.Mid( posUid + 1 ) );
-	        	}
-	        else
-	        	{
-                if( tempBuf.Length()>KTimeStampBufferLength )
-                    {
-                    return;
-                    }
-	        	timeStamp.Copy( tempBuf );
-	        	}
-
-	        TTime currentTime;
-	        currentTime.HomeTime();
-	        TTimeIntervalSeconds interval;
-
-	        TTime timeStampTime;
-	        ret = timeStampTime.Set(timeStamp);
-
-	        if(ret == KErrGeneral )
-	            {
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (bad timestamp) OUT" ));
-	        	return; // bad time stamp value
-	            }
-
-	        ret = currentTime.SecondsFrom( timeStampTime, interval );
-
-	        if( interval.Int() < 0 )
-	            {//negative timestamp is set ahead of current time...!
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (negative interval) OUT" ));
-	        	return;
-	            }
-
-	        if(( interval.Int()) > KTimeStampCutOff )
-	            {//positive timestamp but more than 5 seconds
-	            DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName (more than 5 seconds) OUT" ));
-	        	return;
-	            }
-	        else
-        	    {
-	        	iCRKeyFolderName.Copy(folder);
-        	    }
-		}
-	DEBUG(( "_MM_:CHnRepositoryShowFolderObserver::ExtractCRKeyShowFolderName OUT" ));
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::GetShowFolderL( TUint32 aFolderId )
-    {
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-    HBufC8* id = HnConvUtils::NumToStr8LC( aFolderId );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KParentOnly8, KKeyTypeBoolean, KStringTrue8 ) );
-
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.Append( inDataKey );
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.Append( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, KCmdGetList8,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( this );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::GetShowFolderGroupNameL()
-    {
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-    HBufC8* id = HnConvUtils::NumToStr8LC( KRootId );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KIdParam, KKeyTypeInteger, *id ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KRecursiveSearch8, KKeyTypeBoolean, KStringTrue8 ) );
-    inDataKey->AddSubKeyL( HnMdKeyFactory::CreateL( KFlatResult8, KKeyTypeBoolean, KStringTrue8 ) );
-
-    CHnMdBaseKey* filter = HnMdKeyFactory::CreateL(
-            KFilter8, KKeyTypeMap, KStringTrue8 );
-    CleanupStack::PushL( filter );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KMcsAppGroupName8, KKeyTypeString, iCRKeyFolderName ) );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KType8, KKeyTypeString, KMenuFolder8 ) );
-    filter->AddSubKeyL( HnMdKeyFactory::CreateL( KHidden8, KKeyTypeBoolean, KStringFalse8 ) );
-
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.AppendL( inDataKey );
-    if ( filter )
-        {
-        data.AppendL( filter );
-        }
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.Append( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, KCmdGetList8,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( this );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    CleanupStack::PopAndDestroy( filter );
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnRepositoryShowFolderObserver::HandleNotifyL(
-    TInt /*aCmdId*/,
-    TInt aEventId,
-    CLiwGenericParamList& aEventParamList,
-    const CLiwGenericParamList& /*aInParamList*/)
-	{
-	DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyL IN"));
-	if( aEventId == KLiwEventCanceled )
-        {
-        return KErrNotFound;
-        }
-    else
-        {
-        TInt pos( 0 );
-        const TLiwGenericParam* first = aEventParamList.FindFirst( pos, KReturnValue8() );
-        if( pos==KErrNotFound )
-            {
-            return KErrNotFound;
-            }
-
-        TInt count = first->Value().AsList()->Count();
-        if( !( iNotifyType & ESECOND_NOTIFY ) ) //first notify
-            {
-            if( iCRKeyFolderName.Length()==0 )
-                {
-                // no app group name
-                // it must be found using parent id
-                if ( count == 0 )
-                    {
-                    return KErrNotFound;
-                    }
-                iNotifyType |= ESECOND_NOTIFY;
-                TLiwVariant varId; varId.PushL();
-                TLiwVariant varParentId; varParentId.PushL();
-
-                HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-                HnLiwUtils::GetVariantL( aEventParamList, KParentIdPath8, 0, varParentId );
-
-                TInt32 id( 0 );
-                TInt32 parentId( 0 );
-                varId.Get( id );
-                iCRKeyFolderItemUid.Num( id );
-                varParentId.Get( parentId );
-
-                CleanupStack::PopAndDestroy( &varParentId );
-                CleanupStack::PopAndDestroy( &varId );
-
-                GetShowFolderL( parentId );
-                return KErrNone;
-                }
-            else
-                {
-                // app group name is known
-                if( iNotifyType & EAPP_UID )
-                    {
-                    // first get list was used to found id for app item
-                    iNotifyType |= ESECOND_NOTIFY;
-                    if ( count )
-                        {
-                        // uid was given, id is found
-                        // and replaces uid
-                        TLiwVariant varId; varId.PushL();
-                        HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-                        TInt32 id( 0 );
-                        varId.Get( id );
-                        iCRKeyFolderItemUid.Num( id );
-                        CleanupStack::PopAndDestroy( &varId );
-                        }
-                    GetShowFolderGroupNameL();
-                    return KErrNone;
-                    }
-                else
-                    {
-                    // intentionally empty
-                    // no uid was given so only one get list is needed
-                    }
-                }
-            }
-            if ( count == 0 )
-                {
-                return KErrNotFound;
-                }
-
-            TLiwVariant varId; varId.PushL();
-            TLiwVariant varAppGroupName; varAppGroupName.PushL();
-            TLiwVariant varSuiteName; varSuiteName.PushL();
-            TLiwVariant varChildrenCount; varChildrenCount.PushL();
-
-            HnLiwUtils::GetVariantL( aEventParamList, KIdPath8, 0, varId );
-            HnLiwUtils::GetVariantL( aEventParamList, KAppGroupNamePath8, 0, varAppGroupName );
-            HnLiwUtils::GetVariantL( aEventParamList, KTitleNamePath8, 0, varSuiteName );
-            HnLiwUtils::GetVariantL( aEventParamList, KChildrenCountPath8, 0, varChildrenCount );
-
-            CLiwGenericParamList* paramList = CLiwGenericParamList::NewL();
-            CleanupStack::PushL( paramList );
-
-            CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-            paramList->AppendL( TLiwGenericParam( KSuiteName8,
-                    TLiwVariant( KFolderSuite ) ) );
-
-            map->InsertL( KSuiteName8, varSuiteName );
-            map->InsertL( KFolderId8, varId );
-            map->InsertL( KRemoveLocked8, TLiwVariant( KStringFalse8 ) );
-            map->InsertL( KParentFolderId8, varId );
-            map->InsertL( KTmpParentFolderId8, varId );
-            map->InsertL( KMcsAppGroupName8, varAppGroupName );
-
-            paramList->AppendL( TLiwGenericParam( KParams8, TLiwVariant( map ) ) );
-
-            CleanupStack::PopAndDestroy( map );
-
-            while ( iCmnPtrs->iModel->LoadedSuitesCount() > 1 )
-                {
-                CHnMdSuite* suite = iCmnPtrs->iModel->GetLastSuite();
-                iCmnPtrs->iContainer->PopSuiteModelL( suite->SuiteName() );
-                iCmnPtrs->iModel->DeleteLastSuite();
-                }
-
-            if ( iCmnPtrs->iContainer->GetLastSuiteModel()->CustomId() != varId.AsTInt64() )
-                {
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KNewSuiteLoadedMdEvent, *paramList );
-                iCmnPtrs->iContainer->GetLastSuiteModel()->RegisterSuiteObserverL( this );
-                iCmnPtrs->iModel->QueueForeground( CHnMdModel::EWhenCurrentTopSuiteIsEvaluated );
-                }
-            else
-                {
-                iCmnPtrs->iContainer->GetLastSuiteModel()->NotifyObserversL( ESuiteModelInitialized );
-                TLex8 lex( iCRKeyFolderItemUid );
-                TInt64 id (0);
-                TInt err = lex.Val( id );
-                TLiwVariant varItemCustomId; varItemCustomId.PushL();
-                varItemCustomId.Set( id );
-                TLiwVariant varId; varId.PushL();
-                varId.Set( iCmnPtrs->iContainer->GetLastSuiteModel()->CustomId() );
-                CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-                CleanupStack::PushL( pl );
-                pl->AppendL( TLiwGenericParam( KSuiteCustomId8, varId ) );
-                pl->AppendL( TLiwGenericParam( KItemCustomId8, varItemCustomId ) );
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KSetFocusEvent, *pl );
-                iCmnPtrs->iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-                CleanupStack::PopAndDestroy( pl );
-                CleanupStack::PopAndDestroy( &varId );
-                CleanupStack::PopAndDestroy( &varItemCustomId );
-
-                iCRKeyFolderItemUid.Copy( KBlank );
-                }
-
-            iNotifyType = 0;
-            iCRKeyFolderName.Copy( KBlank );
-            iRepository->Set( iId, KBlank );
-
-            CleanupStack::PopAndDestroy( paramList );
-            CleanupStack::PopAndDestroy( &varChildrenCount );
-            CleanupStack::PopAndDestroy( &varSuiteName );
-            CleanupStack::PopAndDestroy( &varAppGroupName );
-            CleanupStack::PopAndDestroy( &varId );
-        }
-
-	DEBUG(("_MM_:CHnRepositoryShowFolderObserver::HandleNotifyL OUT"));
-	return KErrNone;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryShowFolderObserver::HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent,
-        CHnSuiteModel *aModel )
-	{
-
-	if ( aCustomSuiteEvent == ESuiteModelInitialized && iCRKeyFolderItemUid.Length() > 0 )
-		{
-	      if (iCRKeyFolderItemUid.Length() > 0 )
-            {
-            TLex8 lex( iCRKeyFolderItemUid );
-            TInt64 id (0);
-            TInt err = lex.Val( id );
-            TInt focus( KErrNotFound );
-            // If suite is not null, then find matching item model.
-            CHnItemModel* itemModel = aModel->GetMatchingItemModelL( id, focus );
-            aModel->SetSuiteHighlightL( focus );
-            }
-		iCRKeyFolderItemUid.Copy( KBlank );
-		aModel->UnregisterSuiteObserver( this );
-		CLiwGenericParamList* pl = CLiwGenericParamList::NewL();
-		CleanupStack::PushL( pl );
-		iCmnPtrs->iModelEventObserver->HandleModelEventL( KAppGainForeground, *pl );
-		CleanupStack::PopAndDestroy( pl );
-		}
-	}
-
-// End of File
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimplecondition.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,397 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <liwvariant.h>
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionequal.h"
-#include "hnsimpleconditiondifferent.h"
-#include "hnsimpleconditiongreater.h"
-#include "hnsimpleconditionhas.h"
-#include "hnsimpleconditionhasnot.h"
-#include "hnsimpleconditionsmaller.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnstringhandler.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition* CHnSimpleCondition::NewL( TDesC8 & aElement )
-    {
-    CHnSimpleCondition* self = CHnSimpleCondition::CreateImplementationL( aElement );
-    CleanupStack::PushL(self);
-    self->ConstructL( aElement );
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition* CHnSimpleCondition::CreateImplementationL(
-        TDesC8 & aElement )
-    {
-    TPtrC8 buffer = aElement;
-    CHnSimpleCondition* ret = NULL;
-    if ( buffer.Find( HnLogicalRelations::KLogicalGreater8 )!= KErrNotFound )
-        {
-        ret =  new( ELeave ) CHnSimpleConditionGreater();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalDifferent8 ) != 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionDifferent();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalEqual8 ) != 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionEqual();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalLess8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionSmaller();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalHas8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionHas();
-        }
-    else if ( buffer.Find( HnLogicalRelations::KLogicalHasNot8 )!= 
-        KErrNotFound )
-        {
-        ret = new( ELeave ) CHnSimpleConditionHasNot();
-        }
-    else
-        {
-        User::Leave( KErrGeneral );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition::CHnSimpleCondition()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSimpleCondition::~CHnSimpleCondition()
-    {
-    iReferenceRight.Close();
-    iReferenceLeft.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::RemoveQuotes( RBuf8 & aValue )
-    {
-    TInt quoPos = aValue.Locate('\'');
-    if( quoPos == 0 )
-        {
-        aValue.Delete( 0 , 1 );
-        aValue.Delete( aValue.Length() - 1, 1 );
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::ConstructL( TDesC8 & aElement )
-    {
-    TPtrC8 buffer = aElement;
-    TInt pos = GetPositionL( buffer );
-    ASSERT( pos );
-    
-    RBuf8 tempbuf;
-    CleanupClosePushL( tempbuf );
-    tempbuf.CreateL( buffer.Right( buffer.Length() - pos - SignLength() ) );
-    iReferenceRight.Close();
-    iReferenceRight.CreateL( tempbuf );
-    iReferenceRight.Trim();
-    CHnSimpleCondition::RemoveQuotes( iReferenceRight );
-    
-    tempbuf.Close();
-    tempbuf.CreateL( buffer.Left( pos ) );
-    
-    iReferenceLeft.Close();
-    iReferenceLeft.CreateL( tempbuf );
-    iReferenceLeft.Trim();
-    CHnSimpleCondition::RemoveQuotes( iReferenceLeft );
-    
-    CleanupStack::PopAndDestroy( &tempbuf );
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NormalizeVariantTypeDesL( TLiwVariant* aVar )
-    {
-    if( aVar->TypeId() == LIW::EVariantTypeDesC8 )
-        {
-        TPtrC8 left;
-        aVar->Get( left );
-        HBufC * data = HnConvUtils::Str8ToStrFastLC( left );
-        aVar->SetL( TLiwVariant( data ) );
-        CleanupStack::PopAndDestroy( data );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TLiwVariant* CHnSimpleCondition::CheckTypes( TLiwVariant* aVarLeft,
-        TLiwVariant* aVarRight, LIW::TVariantTypeId aType1, 
-        LIW::TVariantTypeId aType2 )
-    {
-    LIW::TVariantTypeId varLeftId = aVarLeft->TypeId();
-    LIW::TVariantTypeId varRightId = aVarRight->TypeId();
-     
-    if (varLeftId == aType1 && varRightId == aType2)
-        {
-        return aVarLeft;
-        }
-    else if (varLeftId == aType2 && varRightId == aType1)
-        {
-        return aVarRight;
-        }
-    
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateListL( TLiwVariant & aVar )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeList );
-    
-    CLiwList* temp = CLiwDefaultList::NewL();
-    temp->PushL();
-    aVar.Get( *temp );
-    aVar.SetL( TLiwVariant( TInt32(temp->Count()) ) );
-    CleanupStack::PopAndDestroy( temp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateMapL( TLiwVariant & aVar  )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeMap );
-        
-    CLiwDefaultMap* temp = CLiwDefaultMap::NewL();
-    temp->PushL();
-    aVar.Get( *temp ); 
-    aVar.SetL( TLiwVariant( TInt32(temp->Count()) ) );
-    CleanupStack::PopAndDestroy( temp );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTUintL( TLiwVariant & aVar )
-    {
-    ASSERT ( aVar.TypeId() == LIW::EVariantTypeDesC );
-    
-    TPtrC temp;
-    TUint integer;
-    
-    aVar.Get(temp);
-    TLex val( temp );
-    val.Val(integer);
-    aVar.Set( integer );
-        
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTBoolL( TLiwVariant & aVar )
-    {    
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeDesC );
-        
-    TPtrC ptr;
-    aVar.Get( ptr );
-     
-    if ( !HnStringHandler::CompareIgnoreCaseL( ptr, KStringTrue ) )
-        {
-        aVar.Set( ETrue );
-        }
-    else
-          {
-          aVar.Set( EFalse );
-           }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTInt32L( TLiwVariant & aVar )
-    {
-    ASSERT( aVar.TypeId() == LIW::EVariantTypeDesC
-            || aVar.TypeId() == LIW::EVariantTypeTUint );
-   
-    if ( aVar.TypeId() == LIW::EVariantTypeDesC )
-        {
-        TPtrC temp;
-        TInt32 integer;
-        
-        aVar.Get(temp);
-        TLex val( temp );
-        val.Val(integer);
-        aVar.Set( integer );
-        }
-    else if ( aVar.TypeId() == LIW::EVariantTypeTUint )
-        {
-        TUint unsignedValue( 0U );
-        aVar.Get( unsignedValue );
-        if( unsignedValue <= static_cast<TUint>( KMaxTInt32 ) )
-            {
-            aVar.Set( static_cast<TInt32>( unsignedValue ) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTInt64L( TLiwVariant & aVar )
-    {
-    ASSERT(aVar.TypeId() == LIW::EVariantTypeDesC );
-    
-    TPtrC temp;
-    TInt64 integer;
-    
-    aVar.Get(temp);
-    TLex val( temp );
-    val.Val(integer);
-    aVar.Set( integer );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnSimpleCondition::NegotiateTypesL( TLiwVariant* aVarLeft, 
-        TLiwVariant* aVarRight )
-    {
-    NormalizeVariantTypeDesL( aVarLeft );
-    NormalizeVariantTypeDesL( aVarRight );
-    
-    if (aVarLeft->TypeId() != aVarRight->TypeId())
-        {
-        TLiwVariant* chosen( NULL );
-        
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeList, LIW::EVariantTypeDesC );
-        if ( chosen )
-            {
-            NegotiateListL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeMap, LIW::EVariantTypeDesC );
-        if ( chosen )
-            {
-            NegotiateMapL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTInt32 );
-        if ( chosen )
-            {
-            NegotiateTInt32L( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTUint );
-        if ( chosen )
-            {
-            NegotiateTUintL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTInt64 );
-        if ( chosen )
-            {
-            NegotiateTInt64L( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeDesC, LIW::EVariantTypeTBool );
-        if ( chosen )
-            {
-            NegotiateTBoolL( *chosen );
-            return;
-            }
-        chosen = CheckTypes( aVarLeft, aVarRight, LIW::EVariantTypeTUint, LIW::EVariantTypeTInt32 );
-        if ( chosen )
-            {
-            NegotiateTInt32L( *chosen );
-            return;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleCondition::ResultL( const CLiwGenericParamList& aQueryResults, 
-        TInt aPos )
-    {
-    TBool ret( EFalse );
-    
-    TLiwVariant varLeft;
-    varLeft.PushL();
-    TInt err1 = HnLiwUtils::GetVariantL( aQueryResults, iReferenceLeft, aPos, varLeft );
-    
-    TLiwVariant varRight;
-    varRight.PushL();
-    TInt err2 = HnLiwUtils::GetVariantL( aQueryResults, iReferenceRight, aPos , varRight );
-    
-    if ( err1 == KErrNone && err2 == KErrNone )
-    	{
-    	NegotiateTypesL( &varLeft, &varRight);
-    	ret = CheckCondition( varLeft, varRight );
-    	}
-    
-    CleanupStack::PopAndDestroy( &varRight );
-    CleanupStack::PopAndDestroy( &varLeft );
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiondifferent.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditiondifferent.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionDifferent::CheckCondition(TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    return (aVarLeft != aVarRight);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionDifferent::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalDifferent8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionDifferent::SignLength()
-    {
-     return HnLogicalRelations::KLogicalDifferent8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionequal.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionequal.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionEqual::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    return (aVarLeft == aVarRight);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionEqual::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalEqual8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionEqual::SignLength()
-    {
-     return HnLogicalRelations::KLogicalEqual8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditiongreater.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditiongreater.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionGreater::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeTInt32 )
-            {
-            ret = (aVarLeft.AsTInt32() > aVarRight.AsTInt32());
-            }
-        else if( varLId == LIW::EVariantTypeTInt64 )
-            {
-            ret = (aVarLeft.AsTInt64() > aVarRight.AsTInt64());
-            }
-        else if( varLId == LIW::EVariantTypeTUint )
-            {
-            ret = (aVarLeft.AsTUint() > aVarRight.AsTUint() );
-            }
-        else if( varLId == LIW::EVariantTypeDesC )
-            {
-            ret = ( aVarLeft.AsDes().Compare( aVarRight.AsDes()) > 0 );
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionGreater::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalGreater8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionGreater::SignLength()
-    {
-     return HnLogicalRelations::KLogicalGreater8().Length();
-    }
-
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhas.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionhas.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionHas::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeDesC )
-            {
-            TPtrC left  = aVarLeft.AsDes();
-            TPtrC right = aVarRight.AsDes();
-            
-            if ( KErrNotFound != left.Find( right ) )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionHas::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalHas8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionHas::SignLength()
-    {
-     return HnLogicalRelations::KLogicalHas8().Length();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionhasnot.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionhasnot.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionHasNot::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeDesC )
-            {
-            TPtrC left  = aVarLeft.AsDes();
-            TPtrC right = aVarRight.AsDes();
-            
-            if ( KErrNotFound != left.Find( right ) )
-                {
-                ret = ETrue;
-                }
-            }
-        }
-    return !ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionHasNot::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalHasNot8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionHasNot::SignLength()
-    {
-     return HnLogicalRelations::KLogicalHasNot8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnsimpleconditionsmaller.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include "hnsimplecondition.h"
-#include "hnsimpleconditionsmaller.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnSimpleConditionSmaller::CheckCondition( TLiwVariant& aVarLeft, 
-        TLiwVariant& aVarRight )
-    {
-    TBool ret = EFalse;
-    
-    LIW::TVariantTypeId varLId = aVarLeft.TypeId();
-    LIW::TVariantTypeId varRId = aVarRight.TypeId();
-    
-    if (varLId == varRId)
-        {
-        if( varLId == LIW::EVariantTypeTInt32 )
-            {
-            ret = (aVarLeft.AsTInt32() < aVarRight.AsTInt32());
-            }
-        else if( varLId == LIW::EVariantTypeTInt64 )
-            {
-            ret = (aVarLeft.AsTInt64() < aVarRight.AsTInt64());
-            }
-        else if( varLId == LIW::EVariantTypeTUint )
-            {
-            ret = (aVarLeft.AsTUint() < aVarRight.AsTUint() );
-            }
-        else if( varLId == LIW::EVariantTypeDesC )
-            {
-            ret = ( aVarLeft.AsDes().Compare( aVarRight.AsDes()) < 0 );
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSimpleConditionSmaller::GetPositionL( const TDesC8& aBuffer )
-    {
-    return aBuffer.Find( HnLogicalRelations::KLogicalLess8 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//   
-TInt CHnSimpleConditionSmaller::SignLength()
-    {
-     return HnLogicalRelations::KLogicalLess8().Length();
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnstringhandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnstringhandler.h"
-#include "hnmdmodel.h"
-#include "hnutils.h"
-#include "hnmdlocalization.h"
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnStringHandler::LocaliseL( RBuf& aDestination, RBuf& aSource,
-                                        THnMdCommonPointers* aCmnPtrs )
-    {
-    HnStringHandler::LocaliseL( aDestination, aSource, NULL, NULL, aCmnPtrs);
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnStringHandler::LocaliseL( RBuf& aDestination,
-                                 RBuf& aSource,
-                                 CDesC16Array* aDesParams,
-                                 CArrayFix<TInt>* aIntParams,
-                                 THnMdCommonPointers* aCmnPtrs )
-    {
-    CHnMdLocalization* localization(NULL);
-    if (aCmnPtrs)
-        {
-        localization = aCmnPtrs->iLocalization;
-        }
-    else
-        {
-        localization =  THnMdCommonPointers::Static()->iLocalization;
-        }
-
-    HBufC* buf = localization->LoadL( aSource, aDesParams, aIntParams );
-    aDestination.Assign( buf);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnStringHandler::CompareIgnoreCaseL( const TDesC8& aLeft,
-        const TDesC8& aRight )
-    {
-    TInt res( KErrGeneral );
-    
-    RBuf8 left;
-    CleanupClosePushL( left );
-    left.CreateL( aLeft.Length() );
-    left.CopyUC( aLeft );
-
-    RBuf8 right;
-    CleanupClosePushL( right );
-    right.CreateL( aRight.Length() );
-    right.CopyUC( aRight );
-
-    res = left.Compare( right );
-    
-    CleanupStack::PopAndDestroy( &left );
-    CleanupStack::PopAndDestroy( &right );
-    return res;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnStringHandler::CompareIgnoreCaseL( const TDesC& aLeft,
-        const TDesC& aRight )
-    {
-    TInt res( KErrGeneral );
-    
-    RBuf left;
-    CleanupClosePushL( left );
-    left.CreateL( aLeft.Length() );
-    left.CopyUC( aLeft );
-    
-    RBuf right;
-    CleanupClosePushL( right );
-    right.CreateL( aRight.Length() );
-    right.CopyUC( aRight );
-
-    res = left.Compare( right );
-    
-    CleanupStack::PopAndDestroy( &right );
-    CleanupStack::PopAndDestroy( &left );
-    
-    return res;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnutils.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,247 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
- *
-*/
-
-
-#include <bautils.h>
-//#include <mnaiwservices.h>
-#include <liwservicehandler.h>
-#include <e32hashtab.h>
-#include <eikenv.h> 
-
-
-#include "hnutils.h"
-#include "hnliwutils.h"
-#include "hnmdservicecommand.h"
-#include "hnservicehandler.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnUtils::ReadFileLC(const TDesC& aPath)
-    {
-    RFs& fs = CEikonEnv::Static()->FsSession();
-    
-    RFile file;
-    User::LeaveIfError( file.Open(fs, aPath, EFileRead) );
-    CleanupClosePushL( file );
-
-    TInt fileSize(0);
-    User::LeaveIfError( file.Size( fileSize ) );
-    HBufC8* buf = HBufC8::NewLC( fileSize );
-    TPtr8 bufPtr( buf->Des() );
-    User::LeaveIfError( file.Read( bufPtr ) );
-
-    // clean up
-    CleanupStack::Pop(buf);
-    CleanupStack::PopAndDestroy(&file);
-    CleanupStack::PushL(buf);
-
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnUtils::ReadFileL( const TDesC& aPath )
-    {
-    HBufC8* buf = ReadFileLC( aPath );
-    CleanupStack::Pop( buf );
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C HBufC* HnUtils::LocateFileLC( const TDesC& aFile )
-    {
-    HBufC* filePath = HBufC::NewLC(KMaxName);
-    RFs& fs = CEikonEnv::Static()->FsSession();
-
-    TDriveList driveList;
-    TChar driveLetter;
-    TInt driveNumber=EDriveY;
-    User::LeaveIfError(fs.DriveList(driveList));
-    for(; driveNumber>=EDriveA-1; driveNumber-- )
-        {
-        if (driveNumber==EDriveA-1)
-        driveNumber = EDriveZ;
-        if (driveList[driveNumber])
-            {
-            User::LeaveIfError(fs.DriveToChar(driveNumber, driveLetter));
-            filePath->Des().Zero();
-            filePath->Des().Append(driveLetter);
-            filePath->Des().Append(KRscPath);
-            filePath->Des().Append(aFile);
-
-            if (BaflUtils::FileExists(fs,*filePath))
-                {
-                return filePath;
-                }
-            }
-        if (driveNumber == EDriveZ)
-        break;
-        }
-
-    User::Leave(KErrNotFound);
-    return filePath;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C HBufC* HnUtils::LocateNearestLanguageFileLC( const TDesC& aFile )
-    {
-    _LIT( KExtRSC, ".r");
-    if (aFile.Find( KExtRSC ) == (aFile.Length() - 4) )
-        {
-        HBufC* filePath = HBufC::NewLC(KMaxName);
-        RFs& fs = CEikonEnv::Static()->FsSession();
-        TDriveList driveList;
-        TChar driveLetter;
-        TInt driveNumber=EDriveY;
-        User::LeaveIfError(fs.DriveList(driveList));
-        TFileName file;
-        for(; driveNumber>=EDriveA-1; driveNumber-- )
-            {
-            if (driveNumber==EDriveA-1)
-            driveNumber = EDriveZ;
-            if (driveList[driveNumber])
-                {
-                User::LeaveIfError(fs.DriveToChar(driveNumber, driveLetter));
-                filePath->Des().Zero();
-                filePath->Des().Append(driveLetter);
-                filePath->Des().Append(KRscPath);
-                filePath->Des().Append(aFile);
-    
-                file = *filePath;
-                BaflUtils::NearestLanguageFile( fs, file);
-                if( BaflUtils::FileExists( fs, file))
-                    {
-                    CleanupStack::PopAndDestroy(filePath);    
-                    return file.AllocLC();
-                    }
-                }
-            if (driveNumber == EDriveZ)
-            break;
-            }
-        CleanupStack::PopAndDestroy(filePath);
-        }
-    return KNullDesC().AllocLC();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void HnUtils::SetAttributeL( const TXmlEngElement& aElement,
-        RBuf8& aAttribute )
-    {
-    TPtrC8 v = aElement.Value();
-
-    if ( v.Length()> 0 )
-        {
-        HBufC8* trimmed = v.AllocLC();
-        trimmed->Des().Trim();
-        aAttribute.Close();
-        aAttribute.CreateL( trimmed->Length() );
-        aAttribute.Copy( *trimmed );
-        CleanupStack::PopAndDestroy( trimmed );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void HnUtils::SetAttributeL( const TXmlEngElement& aElement,
-        const TDesC8& aAttributeName, RBuf8& aValue8 )
-    {
-    if ( aElement.HasAttributeL( aAttributeName ) )
-        {
-        TPtrC8 value8 =
-        aElement.AttributeNodeL( aAttributeName ).Value();
-
-        aValue8.Close();
-        aValue8.CreateL( value8.Length() );
-        aValue8.Copy( value8 );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C HBufC8 * HnUtils::GetColumnTextLC( TInt aColumn,
-        const TDesC8 & aSourceText, TChar aColumnSeparator )
-    {
-    HBufC8 * ret = NULL;
-    TLex8 processedText ( aSourceText );
-
-    TInt column( 0 );
-    processedText.Mark();
-    
-    while ( !processedText.Eos() )
-        {
-        if ( processedText.Get() == aColumnSeparator )
-            {
-            if ( column == aColumn )
-                {
-                processedText.UnGet();
-                break;
-                }
-            processedText.Mark();
-            column++;
-            }
-        }
-
-    if ( aColumn <= column )
-        {
-        ret = processedText.MarkedToken().AllocLC();
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt HnUtils::GetColumnTextColumnCount(
-        const TDesC8 & aSourceText, TChar aColumnSeparator )
-    {
-    TInt ret(1);
-    TLex8 processedText(aSourceText);
-    while ( !processedText.Eos() )
-        {
-        if (processedText.Get() == aColumnSeparator)
-            {
-            ret++;
-            }
-        }
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelcache.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnxmlmodelcache.h"
-#include "hnglobals.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBufCHashCache( HBufC* const &  aBuf )
-    {
-    return DefaultHash::Des16(*aBuf);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBufCIdentCache( HBufC* const & aL, HBufC* const & aR )
-    {
-    return DefaultIdentity::Des16(*aL, *aR);
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache::CHnXmlModelCache() : iDocuments( &HBufCHashCache, 
-        &HBufCIdentCache )
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::ConstructL()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::RemoveUnused()
-    {
-    // remove unnecessary (oldest and unused) xml cached documents
-    if(iDocuments.Count() > KXmlModelCacheMaxLength)
-        {
-        HBufC *suiteToRemove = iOrder[0];
-        RXmlEngDocument* document = iDocuments.Find( suiteToRemove );
-        document->Close();
-        iDocuments.Remove(suiteToRemove);
-        iOrder.Remove(0);
-        delete suiteToRemove;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelCache::AddL( const TDesC& aSuiteName, RXmlEngDocument& aDocument ) 
-    {
-    HBufC* key = aSuiteName.AllocLC();
-    iDocuments.InsertL( key, aDocument );
-    CleanupStack::Pop( key );
-    iOrder.AppendL( key );
-    RemoveUnused();
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelCache::IsCachedL( const TDesC& aSuiteName )
-    {
-    HBufC* buf = aSuiteName.AllocLC();
-    const RXmlEngDocument* res = iDocuments.Find( buf );
-    CleanupStack::PopAndDestroy( buf );
-
-    if ( res )
-        return ETrue;
-    else
-        return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::MoveToTopL( const TDesC & aSuiteName )
-    {
-    TInt pos( KErrNotFound );
-    
-    for ( TInt i(0); i < iOrder.Count(); i++ )
-        {
-        if ( !iOrder[i]->Compare( aSuiteName ) )
-            {
-            pos = i;
-            break;
-            }
-        }
-
-    // if document was found and is not the latest in the array 
-    if ( pos != KErrNotFound && ( pos != iOrder.Count() - 1 ) )
-        {
-        HBufC *tmp = iOrder[ pos ];
-        iOrder.Remove( pos );
-        iOrder.AppendL( tmp );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::GetL( const TDesC& aSuiteName,
-        RXmlEngDocument& aDocument )
-    {
-    HBufC* buf = aSuiteName.AllocLC();
-    const RXmlEngDocument* res = iDocuments.Find( buf );
-    
-    MoveToTopL( aSuiteName );
-
-    if ( res )
-        {
-        aDocument = *res;
-        }
-
-    CleanupStack::PopAndDestroy( buf );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache* CHnXmlModelCache::NewLC()
-    {
-    CHnXmlModelCache* self = new (ELeave) CHnXmlModelCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache* CHnXmlModelCache::NewL()
-    {
-    CHnXmlModelCache* self = CHnXmlModelCache::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelCache::Reset()
-    {
-    THashMapIter<HBufC*, RXmlEngDocument> iter( iDocuments );
-    while ( HBufC* const * ptr = iter.NextKey() )
-        {
-        RXmlEngDocument* currentDocument = iter.CurrentValue();
-        currentDocument->Close();
-        delete *ptr;
-        }
-    iDocuments.Close();
-    // Names have already been destroyed when destroying iDocuments so
-    // it is not necessay to destroy elements of the iOrder array. 
-    iOrder.Close(); 
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelCache::~CHnXmlModelCache()
-    {
-    Reset();
-    }
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlmodelprovider.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,881 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-#include <sysutil.h> 
-#include "hnxmlmodelprovider.h"
-#include "hnxmlmodelcache.h"	
-#include "hnxmlsuitefilesreg.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnhelper.inl"
-#include "hnmdmodel.h"
-#include "hnmdmenuitem.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ConstructL()
-	{
-	iDomImpl.OpenL();
-	User::LeaveIfError(iDomParser.Open(iDomImpl));
-	User::LeaveIfError(iFs.Connect());
-	iFileMan = CFileMan::NewL(iFs);
-
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	iPath.Insert(0, KDrive);
-	iPath.Append(KEntriesSuffix);
-	iCache = CHnXmlModelCache::NewL();
-	
-	CActiveScheduler::Add( this);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::DoCancel()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::SynchronizationFinishedL()
-	{
-	ResetCache();
-	THnMdCommonPointers &cmnPtr = *THnMdCommonPointers::Static();
-	CHnMdModel* model = cmnPtr.iModel;
-	if ( iSuiteFilesUpdated )
-	    {
-	    model->ReloadStackSuitesL( cmnPtr.iContainer );
-	    }
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::RunL()
-	{
-	if ( !iSuiteSetIterator )
-		{
-		CheckDrivesL();
-	    iSuiteSetIterator = new ( ELeave ) THashSetIter<HBufC*>( iInstSuites );
-	    iSuiteSetIterator->Reset();
-	    iStatus = KRequestPending;
-	    SetActive();
-	    TRequestStatus* status = &iStatus;
-	    User::RequestComplete( status, KErrNone );
-		}
-	else if ( iSuiteSetIterator->Next() )
-		{
-		TBool filesUpdated = CHnXmlSuiteFilesReg::SynchronizeL(
-                iFs, **(iSuiteSetIterator->Current()) );
-        iSuiteFilesUpdated = ( iSuiteFilesUpdated || filesUpdated ); 
-	    iStatus = KRequestPending;
-	    SetActive();
-	    TRequestStatus* status = &iStatus;
-	    User::RequestComplete( status, KErrNone );
-		}
-	else
-		{
-		delete iSuiteSetIterator;
-		iSuiteSetIterator = NULL;
-		SynchronizationFinishedL();
-		}
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider* CHnXmlModelProvider::NewL()
-	{
-	CHnXmlModelProvider* self = CHnXmlModelProvider::NewLC();
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider* CHnXmlModelProvider::NewLC()
-	{
-	CHnXmlModelProvider* self = new (ELeave) CHnXmlModelProvider;
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlModelProvider::CHnXmlModelProvider() :
-	CActive( EPriorityLow ),	
-	iInstSuites(&HBuf16Hash, &HBuf16Ident),
-	iEventMap(&HBuf16Hash, &HBuf16Ident), 
-	iSuiteSetIterator( NULL )
-	{
-	 
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnXmlModelProvider::~CHnXmlModelProvider()
-	{
-	Cancel(); 
-	
-	delete iSuiteSetIterator;
-	delete iCache;
-	iDomParser.Close();
-	iDomImpl.Close();
-	delete iFileMan;
-	iFs.Close();
-	iPath.Close();
-
-	// clean up eventmap
-	THashMapIter<HBufC*, TInt> iter(iEventMap);
-	while (HBufC* const * ptr = iter.NextKey())
-		{
-		delete *ptr;
-		}
-	iEventMap.Close();
-
-	THashSetIter<HBufC*> iterSuites(iInstSuites);
-	while ( iterSuites.Next())
-		{
-		delete *iterSuites.Current();
-		}
-	iInstSuites.Close();
-
-	}
-
-#ifdef _DEBUG
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::LogEventMapping(
-		const RHashMap<HBufC*, TInt>& aEventMap)
-	{
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogEventMapping IN"));
-    RFs fs;
-    if ( !fs.Connect() )
-        {
-        RFile logFile;
-        if ( !logFile.Replace( fs, KEventMapLogFile, EFileWrite ) )
-            {
-            // first line
-            TBuf8<256> buf1;
-            buf1.Append( _L8("EventName") );
-            buf1.Append( _L8("\t") );
-            buf1.Append( _L8("EventId") );
-            buf1.Append( _L8("\n") );
-            logFile.Write( 0, buf1 );                    
-            THashMapIter<HBufC*, TInt> iter( aEventMap );
-            while ( HBufC* const * ptr = iter.NextKey() )
-                {
-                TInt *v = iter.CurrentValue();
-                TBuf8<256> buf2;
-                buf2.Append( (*ptr)->Des() );
-                buf2.Append( _L8("\t") );
-                buf2.AppendNum( *v );
-                buf2.Append( _L8("\n") );
-                TInt size ( 0 );
-                logFile.Size( size );
-                logFile.Write( size, buf2 );
-                }
-            logFile.Close();
-            }
-        fs.Close();
-        }
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogEventMapping OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::LogSuiteModel( const TDesC& aName, 
-                                                    RXmlEngDocument& aDoc )
-    {
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogSuiteModel IN"));
-    TBuf8<256> buf1;
-    TFileName logFileName;
-    logFileName.Copy( KSuiteLoadingLogFile );
-    logFileName.Append( Kbackslash );
-    logFileName.Append( aName );
-    logFileName.Append( KXmlExt );
-    TRAP_IGNORE( aDoc.SaveL( logFileName, aDoc.DocumentElement() ) );
-    DEBUG(("\t_MM_: CHnXmlModelProvider::LogSuiteModel OUT"));
-    }
-#endif
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-RXmlEngDocument CHnXmlModelProvider::ParseFileL( const TDesC& aPath )
-    {
-    RBuf8 doc( ReadFileLC( aPath ) );
-    CleanupClosePushL(doc);
-    
-    RXmlEngDocument xmlDoc;
-    CleanupClosePushL( xmlDoc );
-    xmlDoc = ParseDocL(doc);
-    CleanupStack::Pop( &xmlDoc );
-    
-    // clean up
-    CleanupStack::PopAndDestroy( &doc );
-    
-    return xmlDoc;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-RXmlEngDocument CHnXmlModelProvider::ParseDocL( const TDesC8& aDoc )
-    {
-    RXmlEngDocument doc;
-    CleanupClosePushL( doc );
-    doc = iDomParser.ParseL( aDoc );
-    CleanupStack::Pop( &doc );
-    return doc;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC8* CHnXmlModelProvider::ReadFileLC(const TDesC& aPath)
-    {
-    RFile file;
-    User::LeaveIfError( file.Open(iFs, aPath, EFileRead) );
-    CleanupClosePushL( file );
-    
-    TInt fileSize(0);
-    User::LeaveIfError( file.Size( fileSize ) );
-    HBufC8* buf = HBufC8::NewLC( fileSize );
-    TPtr8 bufPtr( buf->Des() );
-    User::LeaveIfError( file.Read( bufPtr ) );
-
-    // clean up
-    CleanupStack::Pop(buf);
-    CleanupStack::PopAndDestroy(&file);    
-
-    return buf;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ChangeEventsToIdsInChildrenL(
-		TXmlEngElement & aElement)
-	{
-	RXmlEngNodeList<TXmlEngElement> children;
-	CleanupClosePushL(children);
-	aElement.GetChildElements(children);
-	TInt amount = children.Count();
-	for (TInt i(0); i < amount; i++)
-		{
-		TXmlEngElement child = children.Next();
-		TPtrC8 childName = child.Name();
-
-		if (!childName.Compare(KEventName8) 
-				|| CHnMdMenuItem::IsMenuItemElementName( childName )
-				|| !child.Name().Compare(KMenuToolbar8))
-			{
-			ChangeEventNamesToIdsL(child);
-			}
-		else if (!childName.Compare(KEditModeItem8))
-			{
-			ChangeEventsToIdsInChildrenL(child);
-			}
-		}
-
-	CleanupStack::PopAndDestroy(&children);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelProvider::CollectSuiteL(const TDesC& aSuiteName,
-		RXmlEngDocument& aXmlDoc)
-	{
-	TInt err(KErrNotFound);
-	TBuf<KMaxPath> filePath;
-	TBuf<KMaxPath> KsuitePath;
-	KsuitePath.Zero();
-	KsuitePath.Copy(iPath);
-	KsuitePath.Append(aSuiteName);
-	KsuitePath.Append(Kbackslash);
-
-	filePath.Zero();
-	filePath.Copy(KsuitePath);
-	filePath.Append(KSuiteDefFileName);
-
-	RXmlEngDocument suiteDoc;
-	CleanupClosePushL(suiteDoc);
-	
-	suiteDoc = ParseFileL(filePath);
-    
-    // one suite per file
-    RXmlEngNodeList<TXmlEngElement> elements;
-    suiteDoc.DocumentElement().GetChildElements( elements );
-    TXmlEngElement suiteElement;
-    while ( elements.HasNext() )
-        {
-        suiteElement = elements.Next();
-        TPtrC8 t = suiteElement.Name();
-        if ( !suiteElement.Name().Compare( KSuiteElementName8 ) )
-            {
-            ChangeEventsToIdsInChildrenL( suiteElement.AsElement() );    
-            break;
-            }
-        }
-    
-    aXmlDoc.OpenL( iDomImpl, suiteDoc.DocumentElement() );            
-    err = KErrNone;
-    
-    CleanupStack::PopAndDestroy( &suiteDoc );
-    return err;             
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelProvider::SuiteExistsL( const TDesC& aSuite )
-    {
-    TBuf<KMaxPath> filePath;
-    TBuf<KMaxPath> KsuitePath;
-    KsuitePath.Zero();
-    KsuitePath.Copy( iPath );
-    KsuitePath.Append( aSuite );
-    KsuitePath.Append( Kbackslash );
-
-    filePath.Zero();
-    filePath.Copy( KsuitePath );
-    filePath.Append( KSuiteDefFileName );
-    
-    return BaflUtils::FileExists( iFs, filePath );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::CollectItemsL( const TDesC& aSuiteName,
-        RXmlEngDocument& aXmlDoc )
-    {
-    TBuf<KMaxPath> filePath;
-    TBuf<KMaxPath> KsuitePath;
-    KsuitePath.Zero();
-    KsuitePath.Copy( iPath );
-    KsuitePath.Append( aSuiteName ); 
-    KsuitePath.Append( Kbackslash ); 
-    CDir* fileList;                  
-    iFs.GetDir( KsuitePath, KEntryAttMaskSupported, ESortByName, fileList);
-    CleanupStack::PushL(fileList);
-
-    //for each file with entries definitions         
-    for( TInt i(0); i<fileList->Count(); i++ )  
-        {            
-        TPtrC fileName = (*fileList)[i].iName;   
-        
-        if(!fileName.Compare(KSuiteDefFileName))
-            continue;
-        
-        filePath.Zero();
-        filePath.Copy(KsuitePath);
-        filePath.Append(fileName);  
-            
-        RXmlEngDocument itemDoc;
-        CleanupClosePushL( itemDoc );
-        
-        TInt err( KErrNone );
-        TRAP( err , itemDoc = ParseFileL(filePath) );
-        if( !err )
-            {
-            RXmlEngNodeList< TXmlEngElement > children;
-            CleanupClosePushL(children);
-            itemDoc.DocumentElement().GetChildElements(children);
-            
-            TPtrC8 itemGenre =
-                itemDoc.DocumentElement().AttributeNodeL(KGenreName8).Value();
-                
-            TInt amount = children.Count();
-            for( TInt i(0); i<amount; i++ )
-                {
-                TXmlEngElement child = children.Next();
-                TPtrC8 tempChildName = child.Name();
-                // append localizations to root
-                if (!child.Name().Compare(KLocalizationName8)) 
-                    {                
-                    aXmlDoc.DocumentElement().AsElement().AppendChildL(child);
-                    child.ReconcileNamespacesL();
-                    } 
-                // append itmes to proper suite 
-                else if (!child.Name().Compare(KItemName8) )
-                    {                                    
-                    // go througs item's children to change event names to ids
-                    ChangeEventsToIdsInChildrenL(child);
-                    
-                    // edit_mode item
-                    RXmlEngNodeList< TXmlEngElement > editModeItems;
-                    CleanupClosePushL( editModeItems );
-                    child.GetChildElements( editModeItems );
-                    TInt count = editModeItems.Count();
-                    for ( TInt ic( 0 ); ic < count; ic++ )
-                        {
-                        TXmlEngElement editModeItem = editModeItems.Next();
-                        if ( !editModeItem.Name().Compare( KEditModeItem8 ))
-                            {
-							editModeItem.AddNewAttributeL(KSuiteElementName8,
-									itemGenre);
-							}
-						}
-					CleanupStack::PopAndDestroy(&editModeItems);
-					// edit_mode items - end
-
-					RXmlEngNodeList<TXmlEngElement> suites;
-					CleanupClosePushL(suites);
-					aXmlDoc.DocumentElement().GetChildElements(suites);
-					TInt amountSuites = suites.Count();
-					for (TInt i(0); i < amountSuites; i++)
-						{
-						TXmlEngElement childSuite = suites.Next();
-						TPtrC8 tempName = child.Name();
-						//find suite
-						if (!childSuite.Name().Compare(KTitleName8))
-							{
-							TPtrC8 suiteGenre = childSuite.AttributeNodeL(
-									KGenreName8).Value();
-
-							//find proper suite to append item
-							if (!suiteGenre.Compare(itemGenre))
-								{
-								child.AddNewAttributeL(KSuiteElementName8,
-										itemGenre);
-								childSuite.AppendChildL(child);
-                                }                        
-                            }
-                        }
-					aXmlDoc.DocumentElement().ReconcileNamespacesL();
-                    CleanupStack::PopAndDestroy( &suites );                    
-                    }                                
-                }                   
-            CleanupStack::PopAndDestroy( &children );
-            }
-        CleanupStack::PopAndDestroy( &itemDoc );
-        } 
-    
-    CleanupStack::PopAndDestroy(fileList);
-    }        
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlModelProvider::GetNewEventId( HBufC* aEventName )
-    {
-    TInt res( KErrGeneral );
-
-    if ( !aEventName->Compare( KKeyEmpty ) )
-        {
-        res = KKeyIdEmpty;
-        }
-    else if ( !aEventName->Compare( KKeySelect ) )
-        {
-        res = KKeyIdSelect;
-        }
-    else if ( !aEventName->Compare( KKeySelect2 ) )
-        {
-        res = KKeyIdSelect2;
-        }
-    else if ( !aEventName->Compare( KKeySelect3 ) )
-        {
-        res = KKeyIdSelect3;
-        }
-    else if ( !aEventName->Compare( KKeyCall ) )
-        {
-        res = KKeyIdCall;
-        }
-    else if ( !aEventName->Compare( KKeyClear ) )
-        {
-        res = KKeyIdClear;
-        }
-    else if ( !aEventName->Compare( KKeyMove ) )
-        {
-        res = KKeyIdMove;
-        }
-    else if ( !aEventName->Compare( KKeyMoveInto ) )
-        {
-        res = KKeyIdMoveInto;
-        }
-    else if ( !aEventName->Compare( KOnSuiteLoad ) )
-        {
-        res = KIdSuiteLoad;
-        }
-    else if ( !aEventName->Compare( KOnSuiteUnLoad ) )
-        {
-        res = KIdSuiteUnLoad;
-        }
-    else if ( !aEventName->Compare( KOnFocusGain ) )
-        {
-        res = KIdFocusGain;
-        }
-    else if ( !aEventName->Compare( KOnFocusLost ) )
-        {
-        res = KIdFocusLost;
-        }
-    else
-        {
-        THashMapIter<HBufC*, TInt> iter( iEventMap );
-        res = KCustomKeyOffset;
-        
-        while ( TInt const * v = iter.NextValue() )
-            {
-            if ( v != NULL && *v >= KCustomKeyOffset )
-                {
-                res++;
-                }
-            }
-        }
-    
-    return res;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::ChangeEventNamesToIdsL( TXmlEngElement& aElement )
-    {
-    if ( aElement.HasChildNodes() && ( !aElement.Name().Compare( KMenuItemName8 )  
-            || !aElement.Name().Compare( KMenuToolbar8 ) ) )
-        {
-        
-        RXmlEngNodeList< TXmlEngElement > children;
-        CleanupClosePushL(children);
-        aElement.GetChildElements(children);
-        TInt count( children.Count() );
-        for( TInt i( 0 ); i < count; i++ )
-            {
-            TXmlEngElement element = children.Next();
-            if ( CHnMdMenuItem::IsMenuItemElementName( element.Name() ) ||
-                    !element.Name().Compare( KMenuButton8 ) )
-                {
-                ChangeEventNamesToIdsL( element );
-                }
-            }
-        CleanupStack::PopAndDestroy( &children );
-        }
-    else if( aElement.AttributeValueL( KEventAttrName8 ).Length() )
-        {
-        TBool bufferEmpty ( ETrue );
-        TBuf8<KMaxPath> newEventIds;
-             
-        // loop through all event names
-
-        // parsing events        
-        HBufC* events = HnConvUtils::Str8ToStrLC(
-            aElement.AttributeValueL( KEventName8 ) );
-        
-        TLex lex( events->Ptr() );
-        TChar ch;
-        
-        TInt length( events->Length() );
-        TInt cnt = 0;
-        while( ch = lex.Get() != 0 )
-            {
-            cnt++;
-            while ( ( ch = lex.Peek() ) != '|' && cnt < length)
-                {
-                lex.Inc();
-                cnt++;
-                }
-
-            // iEventMap takes ownership of "en"
-            HBufC* en = HBufC::NewL( lex.MarkedToken().Length() );
-            en->Des().Copy( lex.MarkedToken() );
-
-            TInt* resFind = iEventMap.Find( en );
-            TInt res = -1;
-            if ( resFind == NULL )
-                {
-                TInt newId( GetNewEventId( en ) );
-                iEventMap.Insert( en, newId );                
-                res = newId;
-                }
-            else
-                {
-                res = *resFind;
-                delete en;
-                }
-            
-            if ( bufferEmpty ) 
-                {
-                newEventIds.AppendNum( res );
-                bufferEmpty = EFalse;
-                }
-			else
-				{
-				newEventIds.Append(KPipe);
-				newEventIds.AppendNum(res);
-				}
-
-            lex.Inc();
-            cnt++;
-            lex.Mark();
-            if (cnt >= length)
-                break;
-            }
-
-        TXmlEngAttr att = aElement.AttributeNodeL( KEventName8 );
-        att.SetValueL( newEventIds );
-        aElement.SetAttributeNodeL( att );
-
-        CleanupStack::PopAndDestroy( events );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlModelProvider::SynchronizeSuitesL()
-    {
-    MMPERF(("CHnXmlModelProvider::SynchronizeSuitesL - START"));
-    iSuiteFilesUpdated = EFalse;
-    TBool refresh( EFalse );   
-
-    if (IsActive())
-    	{
-    	Cancel();
-    	}
-    
-    delete iSuiteSetIterator;
-    iSuiteSetIterator = NULL;
-    
-    iStatus = KRequestPending;
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-   
-    MMPERF(("CHnXmlModelProvider::SynchronizeSuitesL - DONE"));
-    return refresh;
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::ResetCache()
-    {
-    iCache->Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnXmlModelProvider::SetupSuitePathL()
-	{
-	iPath.Close();
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	TChar drive;
-	TBuf<1> driveLetter;
-	
-	iFs.DriveToChar( EDriveC, drive );
-	iPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	iPath.Insert(0, driveLetter );
-	iPath.Append(KEntriesSuffix);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-void CHnXmlModelProvider::SetupFailSafeSuitePathL()
-	{
-	iPath.Close();
-	iPath.CreateL(KMaxPath);
-	User::LeaveIfError(iFs.PrivatePath(iPath));
-	TChar drive;
-	TBuf<1> driveLetter;
-	
-	iFs.DriveToChar( EDriveZ, drive );
-	iPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	iPath.Insert(0, driveLetter );
-	iPath.Append(KSuitesDir);
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnXmlModelProvider::ReloadModelL()
-	{
-	SynchronizeSuitesL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnXmlModelProvider::CreateModelL(const TDesC& aSuiteName,
-        RXmlEngDocument& aXmlDoc )
-    {
-    MMPERF( ( "CHnXmlModelProvider::CreateModelL IN") );
-    MMPERF( ( "    Suite name: %S", &aSuiteName ) );
-    
-    TBool suiteCollected = EFalse;
-	
-    SetupSuitePathL();	
-    TRAPD( failSafeErr, suiteCollected = CollectSuiteL( aSuiteName, aXmlDoc ));
-    if (failSafeErr)
-    	{
-    	SetupFailSafeSuitePathL();
-    	suiteCollected = CollectSuiteL( aSuiteName, aXmlDoc );
-    	}
-    
-    if ( !suiteCollected )
-        {
-        MMPERF(("CHnXmlModelProvider::CreateModelL - suite collected"));
-        CollectItemsL( aSuiteName, aXmlDoc );
-        MMPERF(("CHnXmlModelProvider::CreateModelL - items collected"));
-        }
-    MMPERF( ( "CHnXmlModelProvider::CreateModelL OUT") );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnXmlModelProvider::GetModelL(
-    const TDesC& aSuiteName, RXmlEngDocument& aXmlDoc )
-    {
-    if ( !iCache->IsCachedL( aSuiteName ) )
-        {
-        RXmlEngDocument newXmlDoc;
-        CleanupClosePushL( newXmlDoc );
-        
-        CreateModelL( aSuiteName, newXmlDoc );
-        
-        #ifdef _DEBUG
-            DEBUG(("_MM_:CHnXmlModelProvider::GetModelL _DEBUG IN"));
-            LogEventMapping( iEventMap );
-            LogSuiteModel( aSuiteName, newXmlDoc );
-            DEBUG(("_MM_:CHnXmlModelProvider::GetModelL _DEBUG OUT"));
-        #endif
-
-        // cache takes ownership of the suite name and the document  
-        iCache->AddL( aSuiteName, newXmlDoc );
-        
-        CleanupStack::Pop( &newXmlDoc );
-        }
-    
-    iCache->GetL( aSuiteName, aXmlDoc );
-    
-    return KErrNone;
-    }   
-   
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::SearchPathForSuitesL( const TDesC& aPath )
-	{
-	CDir* fileList = NULL;            
-	iFs.GetDir( aPath, KEntryAttMaskSupported, ESortByName, fileList );  
-	if ( fileList )                        
-		{                
-		CleanupStack::PushL( fileList );      
-		for( TInt i( 0 ); i < fileList->Count(); i++ ) 
-			{  
-			if ( (*fileList)[ i ].IsDir() )
-				{
-				HBufC* suiteName = (*fileList)[i].iName.AllocLC();
-				if ( !iInstSuites.Find(suiteName) )
-					{
-					iInstSuites.InsertL( suiteName );
-					CleanupStack::Pop(suiteName);
-					}
-				else
-					{
-					CleanupStack::PopAndDestroy(suiteName);
-					}
-				}
-			}
-			CleanupStack::PopAndDestroy( fileList );
-		}
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlModelProvider::CheckDrivesL()
-    { 
-    TDriveList driveList;
-    User::LeaveIfError( iFs.DriveList( driveList ) );
-    
-    TFixedArray< TInt, KMaxDrives > driveSearchOrder( KDriveSearchOrder, KMaxDrives );
-    for(TInt iterator(0); iterator < driveSearchOrder.Count(); iterator++ )
-     	{        
-        if ( driveList[ driveSearchOrder[ iterator ] ] )
-            {
-            TBuf<KMaxPath> filePath;
-
-            TChar driveLetter;
-            User::LeaveIfError( iFs.DriveToChar( driveSearchOrder[ iterator ], driveLetter ) );  
-            
-            TBuf< KSingleChar > driveLetterConst;
-            driveLetterConst.Append( driveLetter );
-            User::LeaveIfError( iFs.PrivatePath( filePath ) );
-            filePath.Insert( 0, driveLetterConst );
-            filePath.Insert( 1, KColon );
-            filePath.Append( KSuitesDir );
-                         
-            SearchPathForSuitesL( filePath );           
-            }
-    	}
-    
-    SearchPathForSuitesL( iPath );
-    }
-
--- a/menufw/hierarchynavigator/hnmetadatamodel/src/hnxmlsuitefilesreg.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*  Version     : %version:  9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <sysutil.h> 
-#include "hnxmlsuitefilesreg.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "menudebug.h"
-#include "hnhelper.inl"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlSuiteFilesReg::SynchronizeL( RFs & aFs, const TDesC &aSuiteName )
-	{
-	CHnXmlSuiteFilesReg* self = new (ELeave) CHnXmlSuiteFilesReg( aFs );
-	CleanupStack::PushL(self);
-	self->ConstructL( aSuiteName );
-	TBool ret = self->SynchronizeSuiteFilesL();
-	CleanupStack::PopAndDestroy( self );
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlSuiteFilesReg::~CHnXmlSuiteFilesReg()
-	{
-	iSuiteName.Close();
-	DestroySuiteFilesMaps();
-	delete iFileMan;
-	}
-   
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnXmlSuiteFilesReg::CHnXmlSuiteFilesReg( RFs & aFs ) : iFs(aFs),
-	iSuiteFiles(&TDesC16Hash, &TDesC16Ident)
-	{
-
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//   
-HBufC* CHnXmlSuiteFilesReg::GetSuiteInstallPathL()
-	{
-	TBuf<KMaxPath> installPath;	
-	User::LeaveIfError( iFs.PrivatePath(installPath) );
-	TChar drive;
-	TBuf<1> driveLetter;
-	iFs.DriveToChar( EDriveC, drive );
-	installPath.Insert(0, KColon );
-	driveLetter.Append( drive );
-	installPath.Insert(0, driveLetter );
-	installPath.Append(KEntriesSuffix);
-	installPath.Append( iSuiteName );
-	installPath.Append( Kbackslash );
-	return installPath.AllocL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::ConstructL( const TDesC &aSuiteName )
-	{
-	iSuiteName.CreateL( aSuiteName );
-	iFileMan = CFileMan::NewL(iFs);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::DestroySuiteFilesMaps()
-	{
-	DestroyMapValue( iSuiteFiles );
-	iSuiteFiles.Close();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-HBufC* CHnXmlSuiteFilesReg::GetSuiteImportDirL( TInt aDriveNumber ) const
-	{
-	TBuf<KMaxPath> outputDir; 
-			
-	TChar driveLetter;
-    User::LeaveIfError( iFs.DriveToChar( aDriveNumber, driveLetter ) );  
-    
-    TBuf< KSingleChar > driveLetterConst;
-    driveLetterConst.Append( driveLetter );
-      
-    User::LeaveIfError( iFs.PrivatePath( outputDir ) );
-
-    outputDir.Insert( 0, driveLetterConst );
-    outputDir.Insert( 1, KColon );
-    outputDir.Append( KSuitesDir );
-    outputDir.Append( iSuiteName );
-    outputDir.Append( Kbackslash );
-    
-    return outputDir.AllocL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::SearchDrivesForSuiteFilesL()
-    {
-    DestroySuiteFilesMaps();
-    
-    TDriveList driveList;
-    User::LeaveIfError( iFs.DriveList( driveList ) );
-    TFixedArray< TInt, KMaxDrives > driveSearchOrder( KDriveSearchOrder, KMaxDrives );
-    
-    for(TInt iterator(0); iterator < driveSearchOrder.Count(); iterator++ )
-    	{ 
-        if ( driveList[ driveSearchOrder[ iterator ] ] )
-            {
-            RBuf filePath( GetSuiteImportDirL( driveSearchOrder[ iterator ] ) );
-            CleanupClosePushL( filePath );
-            SearchDirForSuiteFilesL(filePath);
-            CleanupStack::PopAndDestroy( &filePath );
-            }
-    	} 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::SearchDirForSuiteFilesL( const TDesC& aSuitePath )
-    {
-    CDir* fileList = NULL;
-    if (!iFs.GetDir( aSuitePath, KEntryAttMaskSupported, ESortByName, fileList ))
-	    {
-	    CleanupStack::PushL( fileList );
-        for( TInt i( 0 ); i < fileList->Count(); i++ ) 
-            {  
-            if (! (*fileList)[i].IsDir() )
-        	    {
-        	    AddSuiteFileToMapL( aSuitePath, (*fileList)[i] );
-        	    }
-            }
-        CleanupStack::PopAndDestroy( fileList );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnXmlSuiteFilesReg::AddSuiteFileToMapL( const TDesC& aDir, const TEntry& aFile )
-	{
-    THnFileInfo fileInfo = { aFile.iName, aDir, aFile.iModified, aFile.iSize };
-	fileInfo.iFilePath.Append( aFile.iName );
-		
-	THnFileInfo** existingFileInfo = iSuiteFiles.Find( &aFile.iName );
-	
-    TInt newFileDrive( KErrNotFound );
-    iFs.CharToDrive( fileInfo.iFilePath[0], newFileDrive );
-    
-    TBool newerThanExisting( EFalse );
-	TInt existingFileDrive( KErrNotFound );
-	if ( existingFileInfo )
-		{
-		iFs.CharToDrive( (*existingFileInfo)->iFilePath[0], existingFileDrive);
-        newerThanExisting =
-                (*existingFileInfo)->iLastModified < fileInfo.iLastModified &&
-                newFileDrive != EDriveZ;
-		}
-	
-    if ( !existingFileInfo || newerThanExisting || existingFileDrive == EDriveZ )
-        {
-        if( existingFileInfo )
-            {
-            iSuiteFiles.Remove( &aFile.iName );
-            }
-        THnFileInfo* fileInfoPointer = new (ELeave) THnFileInfo( fileInfo );
-        iSuiteFiles.InsertL( &fileInfo.iFileName, fileInfoPointer );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlSuiteFilesReg::CalculateCurrentSuiteSizeL()
-	{
-	RBuf suiteInstallDir( GetSuiteInstallPathL() );
-	CleanupClosePushL( suiteInstallDir );
-	CDir* suiteFileList;                  
-	iFs.GetDir( suiteInstallDir, KEntryAttMaskSupported, ESortByName, suiteFileList);
-	CleanupStack::PushL(suiteFileList);
-
-	TInt suiteSize(0); 
-	for( TInt i(0); suiteFileList && i< suiteFileList->Count(); i++ )  
-		{
-		suiteSize+= (*suiteFileList)[i].iSize;
-		}
-	CleanupStack::PopAndDestroy( suiteFileList );
-	CleanupStack::PopAndDestroy( &suiteInstallDir );
-	return suiteSize;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnXmlSuiteFilesReg::CalculateSynchronizationSuiteSize()
-	{
-	TInt retSize( 0 );
-	
-	THashMapIter< const TDesC*, THnFileInfo* > iter( iSuiteFiles );
-	
-	while ( iter.NextKey() )
-		{
-		const THnFileInfo& fileInfo =  **(iter.CurrentValue());
-		retSize += fileInfo.iSize;
-		}
-	
-	return retSize;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnXmlSuiteFilesReg::SynchronizeSuiteFilesL()
-	{
-	TBool ret( EFalse );
-	SearchDrivesForSuiteFilesL();
-
-	TInt spaceNeeded = CalculateSynchronizationSuiteSize() -
-		CalculateCurrentSuiteSizeL();
-	
-	RBuf suiteInstallationDir( GetSuiteInstallPathL() );
-	CleanupClosePushL( suiteInstallationDir );
-	iFileMan->RmDir( suiteInstallationDir );
-	if( iSuiteFiles.Count() && ( spaceNeeded < 0 || !SysUtil::DiskSpaceBelowCriticalLevelL(
-	        &iFs, spaceNeeded , EDriveC ) ) )
-        {
-        THashMapIter< const TDesC*, THnFileInfo* > iter( iSuiteFiles );
-        iFs.MkDirAll( suiteInstallationDir );
-        while( iter.NextKey() )
-            {
-            const THnFileInfo& fileInfo =  **(iter.CurrentValue());
-            TBuf<KMaxPath> filePath( suiteInstallationDir );
-            filePath.Append( fileInfo.iFileName );
-            if( filePath.Compare( fileInfo.iFilePath ) )
-                {
-                if( BaflUtils::FileExists( iFs, filePath ) )
-                    {
-                    iFs.SetAtt( filePath, NULL, KEntryAttReadOnly );
-                    iFs.Delete( filePath );
-                    }
-                iFileMan->Copy(
-                        fileInfo.iFilePath,
-                        filePath, CFileMan::EOverWrite );
-                ret = ETrue;
-                }
-            }
-        }
-	CleanupStack::PopAndDestroy( &suiteInstallationDir );
-	return ret;
-	}
--- a/menufw/hierarchynavigator/hnpresentationmodel/bwins/hnpresentationmodelu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-EXPORTS
-	?GetMiddleSoftKey@CHnItemModel@@QAEPAVCHnButtonModel@@XZ @ 1 NONAME ; class CHnButtonModel * CHnItemModel::GetMiddleSoftKey(void)
-	?GetMatchingItemModelL@CHnSuiteModel@@QAEPAVCHnItemModel@@_JAAH@Z @ 2 NONAME ; class CHnItemModel * CHnSuiteModel::GetMatchingItemModelL(long long, int &)
-	?NewLC@CHnAttrImgProvSvgImage@@SAPAV1@ABVTDesC16@@@Z @ 3 NONAME ; class CHnAttrImgProvSvgImage * CHnAttrImgProvSvgImage::NewLC(class TDesC16 const &)
-	?GetRootSuite@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 4 NONAME ; class CHnSuiteModel * CHnSuitesStack::GetRootSuite(void)
-	??1CHnButtonModel@@UAE@XZ @ 5 NONAME ; CHnButtonModel::~CHnButtonModel(void)
-	?Value@CHnAttributeBase@@UAEABVTDesC8@@XZ @ 6 NONAME ; class TDesC8 const & CHnAttributeBase::Value(void)
-	?SetDimmed@CHnButtonModel@@QAEXH@Z @ 7 NONAME ; void CHnButtonModel::SetDimmed(int)
-	?GetModelItemCount@CHnItemsOrder@@QAEHXZ @ 8 NONAME ; int CHnItemsOrder::GetModelItemCount(void)
-	?SetEmptyTextL@CHnSuiteModel@@QAEXABVTDesC16@@@Z @ 9 NONAME ; void CHnSuiteModel::SetEmptyTextL(class TDesC16 const &)
-	?IsActive@CHnSuiteModel@@QAEHXZ @ 10 NONAME ; int CHnSuiteModel::IsActive(void)
-	?Get@CHnSuitesStack@@QAEPAVCHnSuiteModel@@H@Z @ 11 NONAME ; class CHnSuiteModel * CHnSuitesStack::Get(int)
-	?SetActiveL@CHnSuiteModel@@QAEXH@Z @ 12 NONAME ; void CHnSuiteModel::SetActiveL(int)
-	?IsItemMoveLocked@CHnSuiteModel@@QAEHH@Z @ 13 NONAME ; int CHnSuiteModel::IsItemMoveLocked(int)
-	?NewL@CHnAttributeImage@@SAPAV1@XZ @ 14 NONAME ; class CHnAttributeImage * CHnAttributeImage::NewL(void)
-	?CommandName@CHnActionModel@@QBEABVTDesC8@@XZ @ 15 NONAME ; class TDesC8 const & CHnActionModel::CommandName(void) const
-	?SetServiceL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 16 NONAME ; void CHnActionModel::SetServiceL(class TDesC8 const &)
-	?SetBitmap@CHnAttributeImage@@QAEXPAVTLiwVariant@@@Z @ 17 NONAME ; void CHnAttributeImage::SetBitmap(class TLiwVariant *)
-	?SetTemplateL@CHnSuiteModel@@QAEXABVTDesC8@@@Z @ 18 NONAME ; void CHnSuiteModel::SetTemplateL(class TDesC8 const &)
-	?UpdateItemTemplateL@CHnSuiteModel@@QAEXH@Z @ 19 NONAME ; void CHnSuiteModel::UpdateItemTemplateL(int)
-	?SuiteEvaluated@CHnItemsOrder@@QAEXXZ @ 20 NONAME ; void CHnItemsOrder::SuiteEvaluated(void)
-	?Name@CHnAttributeBase@@QBEABVTDesC8@@XZ @ 21 NONAME ; class TDesC8 const & CHnAttributeBase::Name(void) const
-	?SetCustomId@CHnItemModel@@QAEX_J@Z @ 22 NONAME ; void CHnItemModel::SetCustomId(long long)
-	?CustomId@CHnItemModel@@QAE_JXZ @ 23 NONAME ; long long CHnItemModel::CustomId(void)
-	??1CHnSuiteModel@@UAE@XZ @ 24 NONAME ; CHnSuiteModel::~CHnSuiteModel(void)
-	?GetActions@CHnItemModel@@QAEPAV?$CArrayPtr@VCHnActionModel@@@@H@Z @ 25 NONAME ; class CArrayPtr<class CHnActionModel> * CHnItemModel::GetActions(int)
-	?SetGulIcon@CHnIconHolder@@QAEXPAVCGulIcon@@@Z @ 26 NONAME ; void CHnIconHolder::SetGulIcon(class CGulIcon *)
-	?SetValueL@CHnAttributeText@@QAEXABVTDesC8@@@Z @ 27 NONAME ; void CHnAttributeText::SetValueL(class TDesC8 const &)
-	?GetItemIdAt@CHnItemsOrder@@QAEHHH@Z @ 28 NONAME ; int CHnItemsOrder::GetItemIdAt(int, int)
-	?ClearAttributesL@CHnItemModel@@QAEXXZ @ 29 NONAME ; void CHnItemModel::ClearAttributesL(void)
-	?NewLC@CHnAttrImgProvFileImage@@SAPAV1@ABVTDesC16@@@Z @ 30 NONAME ; class CHnAttrImgProvFileImage * CHnAttrImgProvFileImage::NewLC(class TDesC16 const &)
-	?ExitMode@CHnSuiteModel@@QAE?AW4TExitMode@@XZ @ 31 NONAME ; enum TExitMode CHnSuiteModel::ExitMode(void)
-	?ServiceMode@CHnActionModel@@QBE?AW4TServiceMode@@XZ @ 32 NONAME ; enum TServiceMode CHnActionModel::ServiceMode(void) const
-	?GetIcon@CHnButtonModel@@QBEPAVCGulIcon@@XZ @ 33 NONAME ; class CGulIcon * CHnButtonModel::GetIcon(void) const
-	?GetSuiteHighlight@CHnSuiteModel@@QAEHXZ @ 34 NONAME ; int CHnSuiteModel::GetSuiteHighlight(void)
-	?PopSuiteModelL@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@ABVTDesC16@@@Z @ 35 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::PopSuiteModelL(class TDesC16 const &)
-	?NewL@CHnSuiteModelContainer@@SAPAV1@AAVMHnMdModelEventObserver@@AAVMHnControllerInterface@@@Z @ 36 NONAME ; class CHnSuiteModelContainer * CHnSuiteModelContainer::NewL(class MHnMdModelEventObserver &, class MHnControllerInterface &)
-	?CommandLC@CHnActionModel@@QBEPAVCLiwGenericParamList@@XZ @ 37 NONAME ; class CLiwGenericParamList * CHnActionModel::CommandLC(void) const
-	?InsertItemIdToL@CHnItemsOrder@@QAEXHHH@Z @ 38 NONAME ; void CHnItemsOrder::InsertItemIdToL(int, int, int)
-	?SetBitmapId@CHnAttributeImage@@QAEXH@Z @ 39 NONAME ; void CHnAttributeImage::SetBitmapId(int)
-	?RefreshMulModelL@CHnSuiteModel@@QAEXH@Z @ 40 NONAME ; void CHnSuiteModel::RefreshMulModelL(int)
-	?UnregisterSuiteObserver@CHnSuiteModel@@QAEXPAVMHnSuiteObserver@@@Z @ 41 NONAME ; void CHnSuiteModel::UnregisterSuiteObserver(class MHnSuiteObserver *)
-	?SetApplicationUid@CHnAttributeImage@@QAEXVTUid@@@Z @ 42 NONAME ; void CHnAttributeImage::SetApplicationUid(class TUid)
-	?GetGulIcon@CHnIconHolder@@QBEPAVCGulIcon@@XZ @ 43 NONAME ; class CGulIcon * CHnIconHolder::GetGulIcon(void) const
-	?Command@CHnMenuItemModel@@QAEHXZ @ 44 NONAME ; int CHnMenuItemModel::Command(void)
-	?GetButton@CHnToolbarModel@@QBEPBVCHnButtonModel@@H@Z @ 45 NONAME ; class CHnButtonModel const * CHnToolbarModel::GetButton(int) const
-	?SetNameL@CHnAttributeBase@@QAEXABVTDesC8@@@Z @ 46 NONAME ; void CHnAttributeBase::SetNameL(class TDesC8 const &)
-	?GetSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@ABVTDesC16@@@Z @ 47 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetSuiteModel(class TDesC16 const &)
-	?SetFileNameSrc@CHnAttributeImage@@QAEXPAVHBufC16@@@Z @ 48 NONAME ; void CHnAttributeImage::SetFileNameSrc(class HBufC16 *)
-	?PushL@CHnSuitesStack@@QAEHPAVCHnSuiteModel@@@Z @ 49 NONAME ; int CHnSuitesStack::PushL(class CHnSuiteModel *)
-	?OfferHnEventL@CHnSuiteModelContainer@@QAEHHHPAVCLiwGenericParamList@@@Z @ 50 NONAME ; int CHnSuiteModelContainer::OfferHnEventL(int, int, class CLiwGenericParamList *)
-	?RemoveLiwObjects@CHnSuiteModelContainer@@QAEXXZ @ 51 NONAME ; void CHnSuiteModelContainer::RemoveLiwObjects(void)
-	?HasButtons@CHnToolbarModel@@QBEHXZ @ 52 NONAME ; int CHnToolbarModel::HasButtons(void) const
-	?GetItemUid@CHnItemModel@@QAE?AVTUid@@XZ @ 53 NONAME ; class TUid CHnItemModel::GetItemUid(void)
-	?AddItemL@CHnSuiteModel@@QAEXHPAVCHnItemModel@@HH@Z @ 54 NONAME ; void CHnSuiteModel::AddItemL(int, class CHnItemModel *, int, int)
-	?GetDimmed@CHnButtonModel@@QBEHXZ @ 55 NONAME ; int CHnButtonModel::GetDimmed(void) const
-	?GetItemsOrder@CHnSuiteModel@@QAEPAVCHnItemsOrder@@XZ @ 56 NONAME ; class CHnItemsOrder * CHnSuiteModel::GetItemsOrder(void)
-	?PushNewSuiteModelL@CHnSuiteModelContainer@@QAEXABVTDesC16@@@Z @ 57 NONAME ; void CHnSuiteModelContainer::PushNewSuiteModelL(class TDesC16 const &)
-	?Interface@CHnActionModel@@QBEABVTDesC8@@XZ @ 58 NONAME ; class TDesC8 const & CHnActionModel::Interface(void) const
-	?GetAttribute@CHnItemModel@@QAEPAVCHnAttributeBase@@ABVTDesC8@@@Z @ 59 NONAME ; class CHnAttributeBase * CHnItemModel::GetAttribute(class TDesC8 const &)
-	?SetInterfaceL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 60 NONAME ; void CHnActionModel::SetInterfaceL(class TDesC8 const &)
-	?HasNext@CHnMenuItemModel@@UAEHXZ @ 61 NONAME ; int CHnMenuItemModel::HasNext(void)
-	?Type@CHnAttributeBase@@QAE?AW4TAttributeType@@XZ @ 62 NONAME ; enum TAttributeType CHnAttributeBase::Type(void)
-	?RegisterSuiteObserverL@CHnSuiteModel@@QAEXPAVMHnSuiteObserver@@W4TThreadPriority@@@Z @ 63 NONAME ; void CHnSuiteModel::RegisterSuiteObserverL(class MHnSuiteObserver *, enum TThreadPriority)
-	?GetItemModelsCount@CHnSuiteModel@@QAEHXZ @ 64 NONAME ; int CHnSuiteModel::GetItemModelsCount(void)
-	?SetToolbarModel@CHnItemModel@@QAEXPAVCHnToolbarModel@@@Z @ 65 NONAME ; void CHnItemModel::SetToolbarModel(class CHnToolbarModel *)
-	?SetServiceModeL@CHnActionModel@@QAEXW4TServiceMode@@@Z @ 66 NONAME ; void CHnActionModel::SetServiceModeL(enum TServiceMode)
-	?SetMenuItemModel@CHnItemModel@@QAEXPAVCHnMenuItemModel@@@Z @ 67 NONAME ; void CHnItemModel::SetMenuItemModel(class CHnMenuItemModel *)
-	?SetHelpTextL@CHnButtonModel@@QAEXABVTDesC16@@@Z @ 68 NONAME ; void CHnButtonModel::SetHelpTextL(class TDesC16 const &)
-	?NewLC@CHnButtonModel@@SAPAV1@H@Z @ 69 NONAME ; class CHnButtonModel * CHnButtonModel::NewLC(int)
-	??ACHnItemsOrder@@QAEHH@Z @ 70 NONAME ; int CHnItemsOrder::operator[](int)
-	?ClearFlags@CHnItemModel@@QAEXXZ @ 71 NONAME ; void CHnItemModel::ClearFlags(void)
-	?GetToolbarModel@CHnItemModel@@QBEPBVCHnToolbarModel@@XZ @ 72 NONAME ; class CHnToolbarModel const * CHnItemModel::GetToolbarModel(void) const
-	?GetActions@CHnSuiteModel@@QAEPAV?$CArrayPtr@VCHnActionModel@@@@H@Z @ 73 NONAME ; class CArrayPtr<class CHnActionModel> * CHnSuiteModel::GetActions(int)
-	?WidgetType@CHnSuiteModel@@QBEHXZ @ 74 NONAME ; int CHnSuiteModel::WidgetType(void) const
-	?Reset@CHnMenuItemModel@@UAEXXZ @ 75 NONAME ; void CHnMenuItemModel::Reset(void)
-	?SetItemIdAtL@CHnItemsOrder@@QAEXHH@Z @ 76 NONAME ; void CHnItemsOrder::SetItemIdAtL(int, int)
-	?GetIcon@CHnAttributeBase@@UAEPAVCGulIcon@@PAVTSize@@@Z @ 77 NONAME ; class CGulIcon * CHnAttributeBase::GetIcon(class TSize *)
-	?GetMatchingSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@_J@Z @ 78 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetMatchingSuiteModel(long long)
-	?NewL@CHnSuiteModel@@SAPAV1@AAVCHnEventHandler@@ABVTDesC16@@@Z @ 79 NONAME ; class CHnSuiteModel * CHnSuiteModel::NewL(class CHnEventHandler &, class TDesC16 const &)
-	?NewL@CHnAttrImgProvLiwImage@@SAPAV1@AAPAVTLiwVariant@@0@Z @ 80 NONAME ; class CHnAttrImgProvLiwImage * CHnAttrImgProvLiwImage::NewL(class TLiwVariant * &, class TLiwVariant * &)
-	?CustomId@CHnSuiteModel@@QAE_JXZ @ 81 NONAME ; long long CHnSuiteModel::CustomId(void)
-	?Count@CHnItemsOrder@@QAEHXZ @ 82 NONAME ; int CHnItemsOrder::Count(void)
-	?Position@CHnMenuItemModel@@QAEHXZ @ 83 NONAME ; int CHnMenuItemModel::Position(void)
-	?IsEmpty@CHnSuitesStack@@QAEHXZ @ 84 NONAME ; int CHnSuitesStack::IsEmpty(void)
-	?GetItemPosition@CHnItemsOrder@@QAEHH@Z @ 85 NONAME ; int CHnItemsOrder::GetItemPosition(int)
-	?GetSuiteId@CHnItemsOrder@@QBEHXZ @ 86 NONAME ; int CHnItemsOrder::GetSuiteId(void) const
-	?AppendChildMenuL@CHnMenuItemModel@@QAEXPAV1@@Z @ 87 NONAME ; void CHnMenuItemModel::AppendChildMenuL(class CHnMenuItemModel *)
-	?NewLC@CHnToolbarModel@@SAPAV1@XZ @ 88 NONAME ; class CHnToolbarModel * CHnToolbarModel::NewLC(void)
-	?GetSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@H@Z @ 89 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetSuiteModel(int)
-	?SetTitleL@CHnSuiteModel@@QAEXABVTDesC16@@@Z @ 90 NONAME ; void CHnSuiteModel::SetTitleL(class TDesC16 const &)
-	?GetItemModel@CHnSuiteModel@@QAEPAVCHnItemModel@@H@Z @ 91 NONAME ; class CHnItemModel * CHnSuiteModel::GetItemModel(int)
-	?GetMenuStructureL@CHnSuiteModel@@QAEPAVMHnMenuItemModelIterator@@H@Z @ 92 NONAME ; class MHnMenuItemModelIterator * CHnSuiteModel::GetMenuStructureL(int)
-	?RemoveAllItems@CHnSuiteModel@@QAEXXZ @ 93 NONAME ; void CHnSuiteModel::RemoveAllItems(void)
-	?SetPosition@CHnMenuItemModel@@QAEXH@Z @ 94 NONAME ; void CHnMenuItemModel::SetPosition(int)
-	?Service@CHnActionModel@@QBEABVTDesC8@@XZ @ 95 NONAME ; class TDesC8 const & CHnActionModel::Service(void) const
-	?SetFlag@CHnItemModel@@QAEXH@Z @ 96 NONAME ; void CHnItemModel::SetFlag(int)
-	?ConstructorLC@CHnActionModel@@QAEPAVCLiwGenericParamList@@XZ @ 97 NONAME ; class CLiwGenericParamList * CHnActionModel::ConstructorLC(void)
-	?SetExitMode@CHnSuiteModel@@QAEXW4TExitMode@@@Z @ 98 NONAME ; void CHnSuiteModel::SetExitMode(enum TExitMode)
-	?SetSuiteId@CHnItemsOrder@@QAEXH@Z @ 99 NONAME ; void CHnItemsOrder::SetSuiteId(int)
-	?NewL@CHnItemsOrder@@SAPAV1@XZ @ 100 NONAME ; class CHnItemsOrder * CHnItemsOrder::NewL(void)
-	?NewL@CHnItemModel@@SAPAV1@XZ @ 101 NONAME ; class CHnItemModel * CHnItemModel::NewL(void)
-	?SetCommand@CHnMenuItemModel@@QAEXH@Z @ 102 NONAME ; void CHnMenuItemModel::SetCommand(int)
-	?Title@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 103 NONAME ; class TDesC16 const & CHnSuiteModel::Title(void) const
-	?GetParentSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@XZ @ 104 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetParentSuiteModel(void)
-	?GetIcon@CHnAttributeImage@@UAEPAVCGulIcon@@PAVTSize@@@Z @ 105 NONAME ; class CGulIcon * CHnAttributeImage::GetIcon(class TSize *)
-	?RemoveItemId@CHnItemsOrder@@QAEXH@Z @ 106 NONAME ; void CHnItemsOrder::RemoveItemId(int)
-	?ExecuteActionL@CHnEventHandler@@QAEHPAVCHnActionModel@@@Z @ 107 NONAME ; int CHnEventHandler::ExecuteActionL(class CHnActionModel *)
-	?IsDrmExpired@CHnItemModel@@QAEHXZ @ 108 NONAME ; int CHnItemModel::IsDrmExpired(void)
-	?Count@CHnSuitesStack@@QAEHXZ @ 109 NONAME ; int CHnSuitesStack::Count(void)
-	?SetGulIcon@CHnExtBmpIconHolder@@QAEXPAVCGulIcon@@PAVCLiwBitmapBuffer@@1@Z @ 110 NONAME ; void CHnExtBmpIconHolder::SetGulIcon(class CGulIcon *, class CLiwBitmapBuffer *, class CLiwBitmapBuffer *)
-	?GetLast@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 111 NONAME ; class CHnSuiteModel * CHnSuitesStack::GetLast(void)
-	?NewLC@CHnAttrImgProvAppImage@@SAPAV1@VTUid@@@Z @ 112 NONAME ; class CHnAttrImgProvAppImage * CHnAttrImgProvAppImage::NewLC(class TUid)
-	?SetMiddleSoftKey@CHnItemModel@@QAEXPAVCHnButtonModel@@@Z @ 113 NONAME ; void CHnItemModel::SetMiddleSoftKey(class CHnButtonModel *)
-	?NewL@CHnSuitesStack@@SAPAV1@AAVMHnControllerInterface@@@Z @ 114 NONAME ; class CHnSuitesStack * CHnSuitesStack::NewL(class MHnControllerInterface &)
-	?GetEventId@CHnButtonModel@@QBEHXZ @ 115 NONAME ; int CHnButtonModel::GetEventId(void) const
-	?GetItemType@CHnSuiteModel@@QAE?AW4TMcsItemType@@H@Z @ 116 NONAME ; enum TMcsItemType CHnSuiteModel::GetItemType(int)
-	?IsSuiteReadyToShow@CHnItemsOrder@@QAEHXZ @ 117 NONAME ; int CHnItemsOrder::IsSuiteReadyToShow(void)
-	?EmptyText@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 118 NONAME ; class TDesC16 const & CHnSuiteModel::EmptyText(void) const
-	?GetItemIdAt@CHnItemsOrder@@QAEHH@Z @ 119 NONAME ; int CHnItemsOrder::GetItemIdAt(int)
-	?GetMenuStructure@CHnMenuItemModel@@QAEPAVMHnMenuItemModelIterator@@XZ @ 120 NONAME ; class MHnMenuItemModelIterator * CHnMenuItemModel::GetMenuStructure(void)
-	?NewL@CHnAttrImgProvFileImage@@SAPAV1@ABVTDesC16@@@Z @ 121 NONAME ; class CHnAttrImgProvFileImage * CHnAttrImgProvFileImage::NewL(class TDesC16 const &)
-	?MarkSuiteUninitialized@CHnItemsOrder@@QAEXXZ @ 122 NONAME ; void CHnItemsOrder::MarkSuiteUninitialized(void)
-	?IsMoveLocked@CHnItemModel@@QAEHXZ @ 123 NONAME ; int CHnItemModel::IsMoveLocked(void)
-	?SetMask@CHnAttributeImage@@QAEXPAVTLiwVariant@@@Z @ 124 NONAME ; void CHnAttributeImage::SetMask(class TLiwVariant *)
-	?ItemEvaluated@CHnItemsOrder@@QAEXH@Z @ 125 NONAME ; void CHnItemsOrder::ItemEvaluated(int)
-	??1CHnToolbarModel@@UAE@XZ @ 126 NONAME ; CHnToolbarModel::~CHnToolbarModel(void)
-	?SuiteName@CHnSuiteModel@@QBEABVTDesC16@@XZ @ 127 NONAME ; class TDesC16 const & CHnSuiteModel::SuiteName(void) const
-	?SetTemplateL@CHnItemModel@@QAEXABVTDesC8@@@Z @ 128 NONAME ; void CHnItemModel::SetTemplateL(class TDesC8 const &)
-	?GetIndex@CHnButtonModel@@QBEHXZ @ 129 NONAME ; int CHnButtonModel::GetIndex(void) const
-	?QueueFocus@CHnSuiteModel@@QAEXH@Z @ 130 NONAME ; void CHnSuiteModel::QueueFocus(int)
-	?IsDeleteLocked@CHnItemModel@@QAEHXZ @ 131 NONAME ; int CHnItemModel::IsDeleteLocked(void)
-	?SetConstructorL@CHnActionModel@@QAEXPAVCHnMdBaseKey@@@Z @ 132 NONAME ; void CHnActionModel::SetConstructorL(class CHnMdBaseKey *)
-	?IdByIndex@CHnSuiteModel@@QAEHH@Z @ 133 NONAME ; int CHnSuiteModel::IdByIndex(int)
-	?NewLC@CHnAttributeImage@@SAPAV1@XZ @ 134 NONAME ; class CHnAttributeImage * CHnAttributeImage::NewLC(void)
-	?IsItemBetweenMoveLocked@CHnSuiteModel@@QAEHHH@Z @ 135 NONAME ; int CHnSuiteModel::IsItemBetweenMoveLocked(int, int)
-	?SetMifFile@CHnAttributeImage@@QAEXPAVHBufC16@@@Z @ 136 NONAME ; void CHnAttributeImage::SetMifFile(class HBufC16 *)
-	?GetSuiteModelCount@CHnSuiteModelContainer@@QBEHXZ @ 137 NONAME ; int CHnSuiteModelContainer::GetSuiteModelCount(void) const
-	?HasToolbar@CHnSuiteModel@@QBEHXZ @ 138 NONAME ; int CHnSuiteModel::HasToolbar(void) const
-	?SetAttributeL@CHnItemModel@@QAEXPAVCHnAttributeBase@@@Z @ 139 NONAME ; void CHnItemModel::SetAttributeL(class CHnAttributeBase *)
-	?SetEventId@CHnButtonModel@@QAEXH@Z @ 140 NONAME ; void CHnButtonModel::SetEventId(int)
-	?GetLastSuiteModel@CHnSuiteModelContainer@@QAEPAVCHnSuiteModel@@XZ @ 141 NONAME ; class CHnSuiteModel * CHnSuiteModelContainer::GetLastSuiteModel(void)
-	?NewL@CHnAttrImgProvSvgImage@@SAPAV1@ABVTDesC16@@@Z @ 142 NONAME ; class CHnAttrImgProvSvgImage * CHnAttrImgProvSvgImage::NewL(class TDesC16 const &)
-	?RemoveItemL@CHnSuiteModel@@QAEXH@Z @ 143 NONAME ; void CHnSuiteModel::RemoveItemL(int)
-	?GetTemplate@CHnItemModel@@QAEABVTDesC8@@XZ @ 144 NONAME ; class TDesC8 const & CHnItemModel::GetTemplate(void)
-	?SetMaskId@CHnAttributeImage@@QAEXH@Z @ 145 NONAME ; void CHnAttributeImage::SetMaskId(int)
-	?GetActions@CHnSuiteModel@@QAEAAV?$RHashMap@HPAV?$CArrayPtr@VCHnActionModel@@@@@@XZ @ 146 NONAME ; class RHashMap<int, class CArrayPtr<class CHnActionModel> *> & CHnSuiteModel::GetActions(void)
-	?GetItemType@CHnItemModel@@QAE?AW4TMcsItemType@@XZ @ 147 NONAME ; enum TMcsItemType CHnItemModel::GetItemType(void)
-	?GetButtonText@CHnButtonModel@@QBEABVTDesC16@@XZ @ 148 NONAME ; class TDesC16 const & CHnButtonModel::GetButtonText(void) const
-	?NewL@CHnAttributeText@@SAPAV1@XZ @ 149 NONAME ; class CHnAttributeText * CHnAttributeText::NewL(void)
-	?GetNext@CHnMenuItemModel@@UAEPAV1@XZ @ 150 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::GetNext(void)
-	?DefineModelItemCountL@CHnItemsOrder@@QAEXH@Z @ 151 NONAME ; void CHnItemsOrder::DefineModelItemCountL(int)
-	?SuiteEvaluationFinishedL@CHnSuiteModel@@QAEHXZ @ 152 NONAME ; int CHnSuiteModel::SuiteEvaluationFinishedL(void)
-	?ItemEvaluationFinishedL@CHnSuiteModel@@QAEHH@Z @ 153 NONAME ; int CHnSuiteModel::ItemEvaluationFinishedL(int)
-	?NewL@CHnMenuItemModel@@SAPAV1@ABVTDesC16@@@Z @ 154 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::NewL(class TDesC16 const &)
-	?ReorderItemsL@CHnSuiteModel@@QAEHHH@Z @ 155 NONAME ; int CHnSuiteModel::ReorderItemsL(int, int)
-	?GetIdsForL@CHnItemsOrder@@QAEXHAAV?$RArray@H@@@Z @ 156 NONAME ; void CHnItemsOrder::GetIdsForL(int, class RArray<int> &)
-	?NewLC@CHnAttrImgProvThemeMif@@SAPAV1@VTAknsItemID@@ABVTDesC16@@HH@Z @ 157 NONAME ; class CHnAttrImgProvThemeMif * CHnAttrImgProvThemeMif::NewLC(class TAknsItemID, class TDesC16 const &, int, int)
-	?SetWidgetType@CHnSuiteModel@@QAEXW4THnSuiteWidgetType@@@Z @ 158 NONAME ; void CHnSuiteModel::SetWidgetType(enum THnSuiteWidgetType)
-	?NotifyObserversL@CHnSuiteModel@@QAEXW4THnCustomSuiteEvent@@@Z @ 159 NONAME ; void CHnSuiteModel::NotifyObserversL(enum THnCustomSuiteEvent)
-	?DeleteAllActionModels@CHnItemModel@@QAEXXZ @ 160 NONAME ; void CHnItemModel::DeleteAllActionModels(void)
-	?SetSuiteHighlightL@CHnSuiteModel@@QAEXH@Z @ 161 NONAME ; void CHnSuiteModel::SetSuiteHighlightL(int)
-	?SetCustomId@CHnSuiteModel@@QAEX_J@Z @ 162 NONAME ; void CHnSuiteModel::SetCustomId(long long)
-	?SetCommandNameL@CHnActionModel@@QAEXABVTDesC8@@@Z @ 163 NONAME ; void CHnActionModel::SetCommandNameL(class TDesC8 const &)
-	?NewLC@CHnItemsOrder@@SAPAV1@XZ @ 164 NONAME ; class CHnItemsOrder * CHnItemsOrder::NewLC(void)
-	?SetCommand@CHnActionModel@@QAEXPAVCHnMdBaseKey@@@Z @ 165 NONAME ; void CHnActionModel::SetCommand(class CHnMdBaseKey *)
-	?NewL@CHnAttrImgProvAppImage@@SAPAV1@VTUid@@@Z @ 166 NONAME ; class CHnAttrImgProvAppImage * CHnAttrImgProvAppImage::NewL(class TUid)
-	?NewLC@CHnAttributeText@@SAPAV1@XZ @ 167 NONAME ; class CHnAttributeText * CHnAttributeText::NewLC(void)
-	?NewLC@CHnSuiteModelContainer@@SAPAV1@AAVMHnMdModelEventObserver@@AAVMHnControllerInterface@@@Z @ 168 NONAME ; class CHnSuiteModelContainer * CHnSuiteModelContainer::NewLC(class MHnMdModelEventObserver &, class MHnControllerInterface &)
-	?IsRunning@CHnItemModel@@QAEHXZ @ 169 NONAME ; int CHnItemModel::IsRunning(void)
-	?NewL@CHnActionModel@@SAPAV1@XZ @ 170 NONAME ; class CHnActionModel * CHnActionModel::NewL(void)
-	?AddButtonL@CHnToolbarModel@@QAEXPAVCHnButtonModel@@@Z @ 171 NONAME ; void CHnToolbarModel::AddButtonL(class CHnButtonModel *)
-	?SetItemUidL@CHnItemModel@@QAEXABVTDesC8@@@Z @ 172 NONAME ; void CHnItemModel::SetItemUidL(class TDesC8 const &)
-	?SetType@CHnItemModel@@QAEXABVTDesC8@@@Z @ 173 NONAME ; void CHnItemModel::SetType(class TDesC8 const &)
-	?SetSkinId@CHnAttributeImage@@QAEXVTAknsItemID@@@Z @ 174 NONAME ; void CHnAttributeImage::SetSkinId(class TAknsItemID)
-	?NameL@CHnMenuItemModel@@QAEABVTDesC16@@XZ @ 175 NONAME ; class TDesC16 const & CHnMenuItemModel::NameL(void)
-	?PopL@CHnSuitesStack@@QAEPAVCHnSuiteModel@@XZ @ 176 NONAME ; class CHnSuiteModel * CHnSuitesStack::PopL(void)
-	?SetVisibleL@CHnSuiteModel@@QAEXH@Z @ 177 NONAME ; void CHnSuiteModel::SetVisibleL(int)
-	?SetIcon@CHnButtonModel@@QAEXPAVCHnAttributeBase@@@Z @ 178 NONAME ; void CHnButtonModel::SetIcon(class CHnAttributeBase *)
-	?NewL@CHnAttrImgProvThemeMif@@SAPAV1@VTAknsItemID@@ABVTDesC16@@HH@Z @ 179 NONAME ; class CHnAttrImgProvThemeMif * CHnAttrImgProvThemeMif::NewL(class TAknsItemID, class TDesC16 const &, int, int)
-	?NewLC@CHnAttrImgProvLiwImage@@SAPAV1@AAPAVTLiwVariant@@0@Z @ 180 NONAME ; class CHnAttrImgProvLiwImage * CHnAttrImgProvLiwImage::NewLC(class TLiwVariant * &, class TLiwVariant * &)
-	?GetTemplate@CHnSuiteModel@@QBEABVTDesC8@@XZ @ 181 NONAME ; class TDesC8 const & CHnSuiteModel::GetTemplate(void) const
-	?GetActions@CHnItemModel@@QAEAAV?$RHashMap@HPAV?$CArrayPtr@VCHnActionModel@@@@@@XZ @ 182 NONAME ; class RHashMap<int, class CArrayPtr<class CHnActionModel> *> & CHnItemModel::GetActions(void)
-	?SetMenuItemType@CHnMenuItemModel@@QAEXW4THnMenuItemType@1@@Z @ 183 NONAME ; void CHnMenuItemModel::SetMenuItemType(enum CHnMenuItemModel::THnMenuItemType)
-	?HasNextSpecific@CHnMenuItemModel@@UAEHXZ @ 184 NONAME ; int CHnMenuItemModel::HasNextSpecific(void)
-	?GetNextSpecific@CHnMenuItemModel@@UAEPAV1@XZ @ 185 NONAME ; class CHnMenuItemModel * CHnMenuItemModel::GetNextSpecific(void)
-	?MenuItemType@CHnMenuItemModel@@QAE?AW4THnMenuItemType@1@XZ @ 186 NONAME ; enum CHnMenuItemModel::THnMenuItemType CHnMenuItemModel::MenuItemType(void)
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/eabi/hnpresentationmodelu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-EXPORTS
-	_ZN12CHnItemModel10ClearFlagsEv @ 1 NONAME
-	_ZN12CHnItemModel10GetActionsEi @ 2 NONAME
-	_ZN12CHnItemModel10GetActionsEv @ 3 NONAME
-	_ZN12CHnItemModel10GetItemUidEv @ 4 NONAME
-	_ZN12CHnItemModel11GetItemTypeEv @ 5 NONAME
-	_ZN12CHnItemModel11GetTemplateEv @ 6 NONAME
-	_ZN12CHnItemModel11SetCustomIdEx @ 7 NONAME
-	_ZN12CHnItemModel11SetItemUidLERK6TDesC8 @ 8 NONAME
-	_ZN12CHnItemModel12GetAttributeERK6TDesC8 @ 9 NONAME
-	_ZN12CHnItemModel12IsDrmExpiredEv @ 10 NONAME
-	_ZN12CHnItemModel12IsMoveLockedEv @ 11 NONAME
-	_ZN12CHnItemModel12SetTemplateLERK6TDesC8 @ 12 NONAME
-	_ZN12CHnItemModel13SetAttributeLEP16CHnAttributeBase @ 13 NONAME
-	_ZN12CHnItemModel14IsDeleteLockedEv @ 14 NONAME
-	_ZN12CHnItemModel15SetToolbarModelEP15CHnToolbarModel @ 15 NONAME
-	_ZN12CHnItemModel16ClearAttributesLEv @ 16 NONAME
-	_ZN12CHnItemModel16GetMiddleSoftKeyEv @ 17 NONAME
-	_ZN12CHnItemModel16SetMenuItemModelEP16CHnMenuItemModel @ 18 NONAME
-	_ZN12CHnItemModel16SetMiddleSoftKeyEP14CHnButtonModel @ 19 NONAME
-	_ZN12CHnItemModel21DeleteAllActionModelsEv @ 20 NONAME
-	_ZN12CHnItemModel4NewLEv @ 21 NONAME
-	_ZN12CHnItemModel7SetFlagEi @ 22 NONAME
-	_ZN12CHnItemModel7SetTypeERK6TDesC8 @ 23 NONAME
-	_ZN12CHnItemModel8CustomIdEv @ 24 NONAME
-	_ZN12CHnItemModel9IsRunningEv @ 25 NONAME
-	_ZN13CHnIconHolder10SetGulIconEP8CGulIcon @ 26 NONAME
-	_ZN13CHnItemsOrder10GetIdsForLEiR6RArrayIiE @ 27 NONAME
-	_ZN13CHnItemsOrder10SetSuiteIdEi @ 28 NONAME
-	_ZN13CHnItemsOrder11GetItemIdAtEi @ 29 NONAME
-	_ZN13CHnItemsOrder11GetItemIdAtEii @ 30 NONAME
-	_ZN13CHnItemsOrder12RemoveItemIdEi @ 31 NONAME
-	_ZN13CHnItemsOrder12SetItemIdAtLEii @ 32 NONAME
-	_ZN13CHnItemsOrder13ItemEvaluatedEi @ 33 NONAME
-	_ZN13CHnItemsOrder14SuiteEvaluatedEv @ 34 NONAME
-	_ZN13CHnItemsOrder15GetItemPositionEi @ 35 NONAME
-	_ZN13CHnItemsOrder15InsertItemIdToLEiii @ 36 NONAME
-	_ZN13CHnItemsOrder17GetModelItemCountEv @ 37 NONAME
-	_ZN13CHnItemsOrder18IsSuiteReadyToShowEv @ 38 NONAME
-	_ZN13CHnItemsOrder21DefineModelItemCountLEi @ 39 NONAME
-	_ZN13CHnItemsOrder22MarkSuiteUninitializedEv @ 40 NONAME
-	_ZN13CHnItemsOrder4NewLEv @ 41 NONAME
-	_ZN13CHnItemsOrder5CountEv @ 42 NONAME
-	_ZN13CHnItemsOrder5NewLCEv @ 43 NONAME
-	_ZN13CHnItemsOrderixEi @ 44 NONAME
-	_ZN13CHnSuiteModel10GetActionsEi @ 45 NONAME
-	_ZN13CHnSuiteModel10GetActionsEv @ 46 NONAME
-	_ZN13CHnSuiteModel10QueueFocusEi @ 47 NONAME
-	_ZN13CHnSuiteModel10SetActiveLEi @ 48 NONAME
-	_ZN13CHnSuiteModel11GetItemTypeEi @ 49 NONAME
-	_ZN13CHnSuiteModel11RemoveItemLEi @ 50 NONAME
-	_ZN13CHnSuiteModel11SetCustomIdEx @ 51 NONAME
-	_ZN13CHnSuiteModel11SetExitModeE9TExitMode @ 52 NONAME
-	_ZN13CHnSuiteModel11SetVisibleLEi @ 53 NONAME
-	_ZN13CHnSuiteModel12GetItemModelEi @ 54 NONAME
-	_ZN13CHnSuiteModel12SetTemplateLERK6TDesC8 @ 55 NONAME
-	_ZN13CHnSuiteModel13GetItemsOrderEv @ 56 NONAME
-	_ZN13CHnSuiteModel13ReorderItemsLEii @ 57 NONAME
-	_ZN13CHnSuiteModel13SetEmptyTextLERK7TDesC16 @ 58 NONAME
-	_ZN13CHnSuiteModel13SetWidgetTypeE18THnSuiteWidgetType @ 59 NONAME
-	_ZN13CHnSuiteModel14RemoveAllItemsEv @ 60 NONAME
-	_ZN13CHnSuiteModel16IsItemMoveLockedEi @ 61 NONAME
-	_ZN13CHnSuiteModel16NotifyObserversLE19THnCustomSuiteEvent @ 62 NONAME
-	_ZN13CHnSuiteModel16RefreshMulModelLEi @ 63 NONAME
-	_ZN13CHnSuiteModel17GetMenuStructureLEi @ 64 NONAME
-	_ZN13CHnSuiteModel17GetSuiteHighlightEv @ 65 NONAME
-	_ZN13CHnSuiteModel18GetItemModelsCountEv @ 66 NONAME
-	_ZN13CHnSuiteModel18SetSuiteHighlightLEi @ 67 NONAME
-	_ZN13CHnSuiteModel19UpdateItemTemplateLEi @ 68 NONAME
-	_ZN13CHnSuiteModel21GetMatchingItemModelLExRi @ 69 NONAME
-	_ZN13CHnSuiteModel22RegisterSuiteObserverLEP16MHnSuiteObserver15TThreadPriority @ 70 NONAME
-	_ZN13CHnSuiteModel23IsItemBetweenMoveLockedEii @ 71 NONAME
-	_ZN13CHnSuiteModel23ItemEvaluationFinishedLEi @ 72 NONAME
-	_ZN13CHnSuiteModel23UnregisterSuiteObserverEP16MHnSuiteObserver @ 73 NONAME
-	_ZN13CHnSuiteModel24SuiteEvaluationFinishedLEv @ 74 NONAME
-	_ZN13CHnSuiteModel4NewLER15CHnEventHandlerRK7TDesC16 @ 75 NONAME
-	_ZN13CHnSuiteModel8AddItemLEiP12CHnItemModelii @ 76 NONAME
-	_ZN13CHnSuiteModel8CustomIdEv @ 77 NONAME
-	_ZN13CHnSuiteModel8ExitModeEv @ 78 NONAME
-	_ZN13CHnSuiteModel8IsActiveEv @ 79 NONAME
-	_ZN13CHnSuiteModel9IdByIndexEi @ 80 NONAME
-	_ZN13CHnSuiteModel9SetTitleLERK7TDesC16 @ 81 NONAME
-	_ZN13CHnSuiteModelD0Ev @ 82 NONAME
-	_ZN13CHnSuiteModelD1Ev @ 83 NONAME
-	_ZN13CHnSuiteModelD2Ev @ 84 NONAME
-	_ZN14CHnActionModel10SetCommandEP12CHnMdBaseKey @ 85 NONAME
-	_ZN14CHnActionModel11SetServiceLERK6TDesC8 @ 86 NONAME
-	_ZN14CHnActionModel13ConstructorLCEv @ 87 NONAME
-	_ZN14CHnActionModel13SetInterfaceLERK6TDesC8 @ 88 NONAME
-	_ZN14CHnActionModel15SetCommandNameLERK6TDesC8 @ 89 NONAME
-	_ZN14CHnActionModel15SetConstructorLEP12CHnMdBaseKey @ 90 NONAME
-	_ZN14CHnActionModel15SetServiceModeLE12TServiceMode @ 91 NONAME
-	_ZN14CHnActionModel4NewLEv @ 92 NONAME
-	_ZN14CHnButtonModel10SetEventIdEi @ 93 NONAME
-	_ZN14CHnButtonModel12SetHelpTextLERK7TDesC16 @ 94 NONAME
-	_ZN14CHnButtonModel5NewLCEi @ 95 NONAME
-	_ZN14CHnButtonModel7SetIconEP16CHnAttributeBase @ 96 NONAME
-	_ZN14CHnButtonModel9SetDimmedEi @ 97 NONAME
-	_ZN14CHnButtonModelD0Ev @ 98 NONAME
-	_ZN14CHnButtonModelD1Ev @ 99 NONAME
-	_ZN14CHnButtonModelD2Ev @ 100 NONAME
-	_ZN14CHnSuitesStack12GetRootSuiteEv @ 101 NONAME
-	_ZN14CHnSuitesStack3GetEi @ 102 NONAME
-	_ZN14CHnSuitesStack4NewLER22MHnControllerInterface @ 103 NONAME
-	_ZN14CHnSuitesStack4PopLEv @ 104 NONAME
-	_ZN14CHnSuitesStack5CountEv @ 105 NONAME
-	_ZN14CHnSuitesStack5PushLEP13CHnSuiteModel @ 106 NONAME
-	_ZN14CHnSuitesStack7GetLastEv @ 107 NONAME
-	_ZN14CHnSuitesStack7IsEmptyEv @ 108 NONAME
-	_ZN15CHnEventHandler14ExecuteActionLEP14CHnActionModel @ 109 NONAME
-	_ZN15CHnToolbarModel10AddButtonLEP14CHnButtonModel @ 110 NONAME
-	_ZN15CHnToolbarModel5NewLCEv @ 111 NONAME
-	_ZN15CHnToolbarModelD0Ev @ 112 NONAME
-	_ZN15CHnToolbarModelD1Ev @ 113 NONAME
-	_ZN15CHnToolbarModelD2Ev @ 114 NONAME
-	_ZN16CHnAttributeBase4TypeEv @ 115 NONAME
-	_ZN16CHnAttributeBase5ValueEv @ 116 NONAME
-	_ZN16CHnAttributeBase7GetIconEP5TSize @ 117 NONAME
-	_ZN16CHnAttributeBase8SetNameLERK6TDesC8 @ 118 NONAME
-	_ZN16CHnAttributeText4NewLEv @ 119 NONAME
-	_ZN16CHnAttributeText5NewLCEv @ 120 NONAME
-	_ZN16CHnAttributeText9SetValueLERK6TDesC8 @ 121 NONAME
-	_ZN16CHnMenuItemModel10SetCommandEi @ 122 NONAME
-	_ZN16CHnMenuItemModel11SetPositionEi @ 123 NONAME
-	_ZN16CHnMenuItemModel16AppendChildMenuLEPS_ @ 124 NONAME
-	_ZN16CHnMenuItemModel16GetMenuStructureEv @ 125 NONAME
-	_ZN16CHnMenuItemModel4NewLERK7TDesC16 @ 126 NONAME
-	_ZN16CHnMenuItemModel5NameLEv @ 127 NONAME
-	_ZN16CHnMenuItemModel5ResetEv @ 128 NONAME
-	_ZN16CHnMenuItemModel7CommandEv @ 129 NONAME
-	_ZN16CHnMenuItemModel7GetNextEv @ 130 NONAME
-	_ZN16CHnMenuItemModel7HasNextEv @ 131 NONAME
-	_ZN16CHnMenuItemModel8PositionEv @ 132 NONAME
-	_ZN17CHnAttributeImage10SetMifFileEP7HBufC16 @ 133 NONAME
-	_ZN17CHnAttributeImage11SetBitmapIdEi @ 134 NONAME
-	_ZN17CHnAttributeImage14SetFileNameSrcEP7HBufC16 @ 135 NONAME
-	_ZN17CHnAttributeImage17SetApplicationUidE4TUid @ 136 NONAME
-	_ZN17CHnAttributeImage4NewLEv @ 137 NONAME
-	_ZN17CHnAttributeImage5NewLCEv @ 138 NONAME
-	_ZN17CHnAttributeImage7GetIconEP5TSize @ 139 NONAME
-	_ZN17CHnAttributeImage7SetMaskEP11TLiwVariant @ 140 NONAME
-	_ZN17CHnAttributeImage9SetBitmapEP11TLiwVariant @ 141 NONAME
-	_ZN17CHnAttributeImage9SetMaskIdEi @ 142 NONAME
-	_ZN17CHnAttributeImage9SetSkinIdE11TAknsItemID @ 143 NONAME
-	_ZN19CHnExtBmpIconHolder10SetGulIconEP8CGulIconP16CLiwBitmapBufferS3_ @ 144 NONAME
-	_ZN22CHnAttrImgProvAppImage4NewLE4TUid @ 145 NONAME
-	_ZN22CHnAttrImgProvAppImage5NewLCE4TUid @ 146 NONAME
-	_ZN22CHnAttrImgProvLiwImage4NewLERP11TLiwVariantS2_ @ 147 NONAME
-	_ZN22CHnAttrImgProvLiwImage5NewLCERP11TLiwVariantS2_ @ 148 NONAME
-	_ZN22CHnAttrImgProvSvgImage4NewLERK7TDesC16 @ 149 NONAME
-	_ZN22CHnAttrImgProvSvgImage5NewLCERK7TDesC16 @ 150 NONAME
-	_ZN22CHnAttrImgProvThemeMif4NewLE11TAknsItemIDRK7TDesC16ii @ 151 NONAME
-	_ZN22CHnAttrImgProvThemeMif5NewLCE11TAknsItemIDRK7TDesC16ii @ 152 NONAME
-	_ZN22CHnSuiteModelContainer13GetSuiteModelERK7TDesC16 @ 153 NONAME
-	_ZN22CHnSuiteModelContainer13GetSuiteModelEi @ 154 NONAME
-	_ZN22CHnSuiteModelContainer13OfferHnEventLEiiP20CLiwGenericParamList @ 155 NONAME
-	_ZN22CHnSuiteModelContainer14PopSuiteModelLERK7TDesC16 @ 156 NONAME
-	_ZN22CHnSuiteModelContainer16RemoveLiwObjectsEv @ 157 NONAME
-	_ZN22CHnSuiteModelContainer17GetLastSuiteModelEv @ 158 NONAME
-	_ZN22CHnSuiteModelContainer18PushNewSuiteModelLERK7TDesC16 @ 159 NONAME
-	_ZN22CHnSuiteModelContainer19GetParentSuiteModelEv @ 160 NONAME
-	_ZN22CHnSuiteModelContainer21GetMatchingSuiteModelEx @ 161 NONAME
-	_ZN22CHnSuiteModelContainer4NewLER23MHnMdModelEventObserverR22MHnControllerInterface @ 162 NONAME
-	_ZN22CHnSuiteModelContainer5NewLCER23MHnMdModelEventObserverR22MHnControllerInterface @ 163 NONAME
-	_ZN23CHnAttrImgProvFileImage4NewLERK7TDesC16 @ 164 NONAME
-	_ZN23CHnAttrImgProvFileImage5NewLCERK7TDesC16 @ 165 NONAME
-	_ZNK12CHnItemModel15GetToolbarModelEv @ 166 NONAME
-	_ZNK13CHnIconHolder10GetGulIconEv @ 167 NONAME
-	_ZNK13CHnItemsOrder10GetSuiteIdEv @ 168 NONAME
-	_ZNK13CHnSuiteModel10HasToolbarEv @ 169 NONAME
-	_ZNK13CHnSuiteModel10WidgetTypeEv @ 170 NONAME
-	_ZNK13CHnSuiteModel11GetTemplateEv @ 171 NONAME
-	_ZNK13CHnSuiteModel5TitleEv @ 172 NONAME
-	_ZNK13CHnSuiteModel9EmptyTextEv @ 173 NONAME
-	_ZNK13CHnSuiteModel9SuiteNameEv @ 174 NONAME
-	_ZNK14CHnActionModel11CommandNameEv @ 175 NONAME
-	_ZNK14CHnActionModel11ServiceModeEv @ 176 NONAME
-	_ZNK14CHnActionModel7ServiceEv @ 177 NONAME
-	_ZNK14CHnActionModel9CommandLCEv @ 178 NONAME
-	_ZNK14CHnActionModel9InterfaceEv @ 179 NONAME
-	_ZNK14CHnButtonModel10GetEventIdEv @ 180 NONAME
-	_ZNK14CHnButtonModel13GetButtonTextEv @ 181 NONAME
-	_ZNK14CHnButtonModel7GetIconEv @ 182 NONAME
-	_ZNK14CHnButtonModel8GetIndexEv @ 183 NONAME
-	_ZNK14CHnButtonModel9GetDimmedEv @ 184 NONAME
-	_ZNK15CHnToolbarModel10HasButtonsEv @ 185 NONAME
-	_ZNK15CHnToolbarModel9GetButtonEi @ 186 NONAME
-	_ZNK16CHnAttributeBase4NameEv @ 187 NONAME
-	_ZNK22CHnSuiteModelContainer18GetSuiteModelCountEv @ 188 NONAME
-	_ZTI19CHnExtBmpIconHolder @ 189 NONAME
-	_ZTV19CHnExtBmpIconHolder @ 190 NONAME
-	_ZThn4_N16CHnMenuItemModel5ResetEv @ 191 NONAME
-	_ZThn4_N16CHnMenuItemModel7GetNextEv @ 192 NONAME
-	_ZThn4_N16CHnMenuItemModel7HasNextEv @ 193 NONAME
-	_ZN16CHnMenuItemModel15GetNextSpecificEv @ 194 NONAME
-	_ZN16CHnMenuItemModel15HasNextSpecificEv @ 195 NONAME
-	_ZN16CHnMenuItemModel15SetMenuItemTypeENS_15THnMenuItemTypeE @ 196 NONAME
-	_ZThn4_N16CHnMenuItemModel15GetNextSpecificEv @ 197 NONAME
-	_ZThn4_N16CHnMenuItemModel15HasNextSpecificEv @ 198 NONAME
-	_ZN16CHnMenuItemModel12MenuItemTypeEv @ 199 NONAME
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project hnpresentationmodel
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/hnsuitemodelcontainer.h      |../../../inc/hnsuitemodelcontainer.h
-../inc/hnsuitemodel.h               |../../../inc/hnsuitemodel.h
-../inc/hnitemmodel.h                |../../../inc/hnitemmodel.h
-../inc/hnmenuitemmodel.h            |../../../inc/hnmenuitemmodel.h
-../inc/hnactionmodel.h              |../../../inc/hnactionmodel.h
-../inc/hntoolbarmodel.h             |../../../inc/hntoolbarmodel.h
-../inc/hnbuttonmodel.h              |../../../inc/hnbuttonmodel.h
-../inc/hnattributetext.h            |../../../inc/hnattributetext.h
-../inc/hnattributeimage.h           |../../../inc/hnattributeimage.h
-../inc/hneventhandler.h             |../../../inc/hneventhandler.h 
-../inc/hnattributebase.h            |../../../inc/hnattributebase.h 
-../inc/hnsuiteobserver.h            |../../../inc/hnsuiteobserver.h 
-../inc/hnitemsorder.h               |../../../inc/hnitemsorder.h
-../inc/hniconholder.h               |../../../inc/hniconholder.h
-../inc/hnextbmpiconholder.h         |../../../inc/hnextbmpiconholder.h
-
-PRJ_MMPFILES
-hnpresentationmodel.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnpresentationmodel/group/hnpresentationmodel.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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:  Project definition file for project hierarchy navigator presentation model
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          hnpresentationmodel.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2000F8C6
-
-CAPABILITY      CAP_GENERAL_DLL
-
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          hnsuitemodelcontainer.cpp
-SOURCE          hnsuitemodel.cpp
-SOURCE          hnsuitesstack.cpp
-SOURCE          hnitemmodel.cpp
-SOURCE          hnmenuitemmodel.cpp
-SOURCE          hnactionmodel.cpp 
-SOURCE          hntoolbarmodel.cpp 
-SOURCE          hnbuttonmodel.cpp 
-SOURCE          hnattributebase.cpp 
-SOURCE          hnattributeimage.cpp 
-SOURCE          hnattrimgprovider.cpp 
-SOURCE          hnattrimgprovthememif.cpp 
-SOURCE          hnattrimgprovemptyimage.cpp
-SOURCE          hnattrimgprovappimage.cpp
-SOURCE          hnattrimgprovfileimage.cpp
-SOURCE          hnattrimgprovliwimage.cpp 
-SOURCE          hnattributetext.cpp
-SOURCE          hneventhandler.cpp
-SOURCE          hnitemsorder.cpp 
-SOURCE          hnattrimgprovsvgimage.cpp
-SOURCE          hnitemfocushandler.cpp
-SOURCE          hniconholder.cpp
-SOURCE          hnextbmpiconholder.cpp
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         hnutilities.lib
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         libpthread.lib
-LIBRARY         egul.lib
-LIBRARY         liwservicehandler.lib //LIW Framework
-LIBRARY         mmextensionmanager.lib
-LIBRARY         aknskins.lib
-LIBRARY         aknskinsrv.lib
-LIBRARY         aknicon.lib
-LIBRARY         efsrv.lib
-LIBRARY         fbscli.lib
-LIBRARY         mediaclientimage.lib
-LIBRARY         imageconversion.lib 
-LIBRARY         cone.lib 
-LIBRARY         estor.lib
-LIBRARY         svgengine.lib
-LIBRARY         gdi.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnactionmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* Copyright (c) 2007-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:   action presentation model
-*
-*/
-
-
-#ifndef HNACTIONMODEL_H_
-#define HNACTIONMODEL_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <liwservicehandler.h>
-#include "hnglobals.h"
-
-
-class MLiwNotifyCallback;
-class CLiwGenericParamList;
-class CHnMdServiceCommand;
-class CHnEventHandler;
-class CHnMdBaseKey;
-struct THnMdCommonPointers;
-
-/**
- *  Action model class.
- * 
- *  The class represents an evaluated action, with concrete values.
- *  It is constructed from the data contained in the CHnMdAction, 
- *  during evaluation. The afore mentioned process, replaces any 
- *  configurable data with specific information fetched form services
- *  or other sources. Such setup action, may be executed by means
- *  of its methods. However, a reference to an instance of CHnEventHandler
- *  has to be provided. 
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @see CHnMdAction
- *  @see CHnEventHandler
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnActionModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C static CHnActionModel* NewL();
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnActionModel();
-    
-    /**
-     * Concretizes the key values.
-     *
-     * @since S60 5.0
-     * @param aActionModel The action model to be concretized.
-     * @param aGenericParamList The list of parameters.
-     * @return Concretized instance of action model.
-     * 
-     */
-    CHnActionModel* ConcretizeL( const CHnActionModel & aActionModel,
-            CLiwGenericParamList* aGenericParamList );
-    
-    /**
-     * Returns service constructor parameters
-     * as a CLiwGenericParamList. The list contains 
-     * keys evaluated from the XML configuration.
-     *
-     * @since S60 5.0
-     * @return Constructor parameters.
-     * 
-     */
-    IMPORT_C CLiwGenericParamList*  ConstructorLC();
-    
-    /**
-     * Returns the service name.
-     *
-     * @since S60 5.0
-     * @return Service name.
-     */
-    IMPORT_C const TDesC8& Service() const;
-        
-    /**
-     * Returns service command content as
-     * a CLiwGenericParamList. The list contains
-     * keys evaluated from the XML configuration.
-     *
-     * @since S60 5.0
-     * @return Command element.
-     */
-    IMPORT_C CLiwGenericParamList* CommandLC() const;
-        
-    /**
-     * Returns interface name.
-     *
-     * @since S60 5.0
-     * @return Interface name.
-     */
-    IMPORT_C const TDesC8& Interface() const;
-    
-    /**
-     * Sets constructor parameters.
-     * Method takes copy of items from the array.
-     *
-     * @since S60 5.0
-     * @param aData Constructor parameters.
-     */
-    IMPORT_C void SetConstructorL( CHnMdBaseKey* aData );
-    
-    /**
-     * Sets the service name.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     */
-    IMPORT_C void SetServiceL( const TDesC8& aService );
-        
-    /**
-     * Sets the service command parameters.
-     *
-     * @since S60 5.0
-     * @param aCommand Command parameters.
-     */
-    IMPORT_C void SetCommand( CHnMdBaseKey* aCommand );
-    
-    /**
-     * Sets interface name.
-     *
-     * @since S60 5.0
-     * @param aInterface Interface name.
-     */
-    IMPORT_C void SetInterfaceL( const TDesC8& aInterface );
-    
-    /**
-     * Sets service command name.
-     *
-     * @since S60 5.0
-     * @param aCommandName Name of the service command.
-     */
-    IMPORT_C void SetCommandNameL( const TDesC8& aCommandName );
-    
-    
-    /**
-     * Sets the mode in which the service command
-     * should operate.
-     *
-     * @since S60 5.0
-     * @param aMode Mode in which command operates.
-     */
-    IMPORT_C void SetServiceModeL( TServiceMode aMode );
-    
-    /**
-     * Returns command name.
-     *
-     * @since S60 5.0
-     * @return Command name.
-     */
-    IMPORT_C const TDesC8& CommandName() const;
-    
-    
-    /**
-     * Returns service mode in which the action operates.
-     *
-     * @since S60 5.0
-     * @return Service mode.
-     */
-    IMPORT_C TServiceMode ServiceMode() const;
-    
-    /**
-     * Executes the action.
-     *
-     * @since S60 5.0
-     * @param aEventHandler A reference to an instance of event handler
-     * @param aExecutionParams A pointer to the parameters to the event.
-     * @return Error code of the event execution.
-     */
-    TInt ExecuteL( CHnEventHandler & aEventHandler,
-            CLiwGenericParamList *aExecutionParams );
-    
-private:
-
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnActionModel();
-    
-private: // data
-
-    /**
-     * Service name.
-     */
-    RBuf8 iService;
-
-    /**
-     * Interface name.
-     */
-    RBuf8 iInterface;
-    
-    /**
-     * Command name.
-     */
-    RBuf8 iCommandName;
-    
-    /**
-     * Service mode.
-     */
-    TServiceMode iMode;
-
-    /**
-     * Command parameters.
-     * Own.
-     */
-    CHnMdBaseKey* iCommand;
-    
-    /**
-     * Constructor parameters.
-     * Own.
-     */
-    CHnMdBaseKey* iConstructor;
-    
-    };
-
-#endif /*HNACTIONMODEL_H_*/
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributebase.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2007-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:   abstract base class for attribute models
-*
-*/
-
-
-#ifndef C_HNATTRIBUTEBASE_H
-#define C_HNATTRIBUTEBASE_H
-
-#include <e32base.h>
-#include "hniconholder.h"
-
-class CGulIcon;
-
-/** 
- * Attribute type. Indicates the text or image attribute. 
- */
-enum TAttributeType 
-    {
-    ETextAttribute,
-    EImageAttribute
-    };
-
-/**
- * Attribute base (abstract) class.
- * 
- * Base class for attributes providing common functionality 
- * and defining required abstract methods for the interface.
- * Attributes are used to logically mediate visual properties, 
- * such as icons, texts, templates, etc., from the xml to the 
- * presentation layer. Atributes are used eg., to retrieve content 
- * of such visual items in the widget library (mmwidgets), 
- * for display purposes. 
- *
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeBase ) : public CBase
-     {
-public:
-    
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnAttributeBase();
-    
-    /**
-     * Sets the attribute name.
-     *
-     * @since S60 5.0
-     * @param aName Name of the attribute
-     */
-    IMPORT_C void SetNameL( const TDesC8& aName );
-
-    /**
-     * Gets the name of the attribute.
-     *
-     * @since S60 5.0
-     * @return Attribute name.
-     */
-    IMPORT_C const TDesC8& Name() const;
-
-    /**
-     * Gets the value of the attribute.
-     *
-     * @since S60 5.0
-     * @return Attribute's value.
-     */
-    IMPORT_C virtual const TDesC8& Value();
-    
-    /**
-     * Gets icon, packed in CGulIcon.
-     * 
-     * @see CGulIcon
-     * @since S60 5.0
-     * @return Icon as a poitner to CGulIcon.
-     */
-    IMPORT_C virtual CGulIcon* GetIcon( TSize* aDesiredIconSize 
-            = NULL );
-    
-    /**
-     * Gets icon holder, which owns the same icon that GetIcon returns.
-     * 
-     * Icon holder should be used when the icon from model needs to
-     * be stored. Please see @c CHnIconHolder description for more
-     * details on how to store icons.
-     * 
-     * @param aDesiredIconSize Desired size of the icon contained in
-     *                         the returned icon holder.
-     * @return An icon holder. You can call GetGulIcon on it to get the
-     *         actual icon (may return NULL).
-     */
-    virtual CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Gets attributes's type.
-     * 
-     * @since S60 5.0
-     * @return Attribute's type.
-     */    
-    IMPORT_C TAttributeType Type();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-
-protected: // data
-    
-    /**
-     * Attribute type.
-     */
-    TAttributeType iAttributeType;
-    
-private: // data
-
-    /**
-     * Attribute name. 
-     */
-    RBuf8 iName;
-    
-    };
-
-#endif // C_HNATTRIBUTEBASE_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributeimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image attribute model
-*
-*/
-
-
-#ifndef C_HNATTRIBUTEIMAGE_H
-#define C_HNATTRIBUTEIMAGE_H
-
-#include <AknsSkinInstance.h> 
-#include "hnattributebase.h"
-
-class CFbsBitmap;
-class CHnAttrImgProvider;
-class CGulIcon;
-class TLiwVariant;
-
-/**
- *  Image attribute.
- * 
- *  Class defining behaviour of the CHnAttributeBase interface
- *  to support images. The model is responsible for creation 
- *  of the image, appropriately, depending on the source 
- *  of the image.
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeImage ) : public CHnAttributeBase
-{
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeImage* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeImage* NewLC();
-
-    
-    /**
-     * Standard C++ virtual destructor.
-     * @since S60 5.0
-     */
-    ~CHnAttributeImage();
-    
-    /**
-     * Sets skin id.
-     * 
-     * @since S60 5.0
-     * @param aSkinId Skind id.
-     */
-    IMPORT_C void SetSkinId ( TAknsItemID aSkinId );
-
-    /**
-     * Sets file name source.
-     * Takes ownership of the buffer. Therefore the buffer must not be NULL.
-     * 
-     * @since S60 5.0
-     * @param aFileNameSrc A source filename, as a heap buffer pointer.
-     */
-    IMPORT_C void SetFileNameSrc ( HBufC* aFileNameSrc );
-
-    /**
-     * Sets mif file.
-     * Takes ownership of the buffer. Therefore the buffer must not be NULL.
-     * 
-     * @since S60 5.0
-     * @param aMifFile Mif filename as a heap buffer pointer.
-     */
-    IMPORT_C void SetMifFile ( HBufC* aMifFile );
-
-    /**
-     * Sets bitmap id.
-     * 
-     * @since S60 5.0
-     * @param aBitmapId Bitmap id.
-     */
-    IMPORT_C void SetBitmapId ( TInt aBitmapId );
-
-    /**
-     * Sets mask id.
-     * 
-     * @since S60 5.0
-     * @param aMaskId Mask id.
-     */
-    IMPORT_C void SetMaskId ( TInt aMaskId );
-
-    /**
-     * Sets application uid.
-     * 
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     */
-    IMPORT_C void SetApplicationUid( TUid aApplicationUid);
-
-    /**
-     * Sets bitmap.
-     * Takes ownership.
-     * 
-     * @since S60 5.0
-     * @param aBitmap Pointer to a bitmap.
-     */
-    IMPORT_C void SetBitmap ( TLiwVariant* aBitmap );
-
-    /**
-     * Sets mask.
-     * Takes ownership.
-     * 
-     * @since S60 5.0
-     * @param aMask Pointer to a mask.
-     */
-    IMPORT_C void SetMask ( TLiwVariant* aMask );
-    
-    /**
-     * Gets icon, packed in CGulIcon.
-     * 
-     * @see CGulIcon
-     * @since S60 5.0
-     * @return Icon as a poitner to CGulIcon.
-     */
-    IMPORT_C CGulIcon* GetIcon( TSize* aDesiredIconSize );
-    
-    /**
-     * Please see the description in the base class @c CHnAttributeBase.
-     */
-    CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Standard C++ constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttributeImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-
-    /**
-     * Method is used to prepare the image provider,
-     * if the icon is being fetched for the first time.
-     * Image providers are created appropriately depending on 
-     * the image source, and they are responsible for providing
-     * bitmaps.
-     *
-     * @since S60 5.0
-     * @return Error code when provider cannot be created.
-     */
-    TInt Prepare();
-
-    /**
-     * Method is used to prepare the image provider.
-     * Image providers are created appropriately depending on 
-     * the image source, and they are responsible for providing
-     * bitmaps.
-     * 
-     * @since S60 5.0
-     */
-    void PrepareProviderL();
-
-    /**
-     * Returns true if the attribute loaded a mif icon.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from mif.
-     */
-    TBool IsThemeMif();
-    
-    /**
-     * Returns true if the attribute is loaded from application uid.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from application uid.
-     */
-    TBool IsApplicationImage();
-    
-    /**
-     * Returns true if the attribute is loaded from image file.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from image file.
-     */
-    TBool IsFileImageL();
-
-    /**
-     * Returns true if the attribute is loaded from liw buffer.
-     * 
-     * @since S60 5.0
-     * @return True if image was loaded from liw buffer.
-     */
-    TBool IsLiwImage();
-
-private:
-
-    /**
-     * Skin id.
-     */
-    TAknsItemID iSkinId;
-    
-    /**
-     * Mif file name.
-     */
-    RBuf iMifFile;
-
-    /**
-    * Bitmap id.
-    */
-   TInt iBitmapId;
-
-   /**
-    * Mask id.
-    */
-   TInt iMaskId;
-   
-   /**
-    * Image source file name.
-    */
-    RBuf iFileNameSrc;
-    
-    /**
-     * Application uid to fetch the image from.
-     */
-    TUid iApplicationUid;
-    
-    /**
-     * Bitmap from Liw Buffer.
-     * Own.
-     */
-    TLiwVariant* iBitmap;
-    
-    /**
-     * Mask from Liw Buffer.
-     * Own.
-     */
-    TLiwVariant* iMask;
-    
-    /**
-     * Hn image provider
-     * Own.
-     */
-    CHnAttrImgProvider* iAttrImgProvider;
-
-    };
-
-#endif // C_HNATTRIBUTEIMAGE_H
-
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattributetext.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2007-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:   text attribute model
-*
-*/
-
-
-#ifndef C_HNATTRIBUTETEXT_H
-#define C_HNATTRIBUTETEXT_H
-
-#include "hnattributebase.h"
-
-/**
- *  Image attribute.
- * 
- *  Class defining behaviour of the CHnAttributeBase interface
- *  to support text. The model is responsible for creation 
- *  of the text, appropriately, depending on the definition in the
- *  xml.
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttributeText ) : public CHnAttributeBase
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeText* NewL();
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttributeText* NewLC();
-
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    ~CHnAttributeText();
-    
-    /**
-     * Sets the attribute value.
-     * 
-     * @since S60 5.0
-     * @param aValue A reference to a descriptor.
-     */
-    IMPORT_C void SetValueL ( const TDesC8& aValue );
-
-// From base class CHnAttributeBase
-public:
-    
-    /**
-     * Returns the value of the attribute.
-     *
-     * @since S60 5.0
-     * @return Value of the attribute.
-     */
-    const TDesC8& Value( );
-
-private:
-
-    /**
-      * Standard C++ constructor.
-      * 
-      * @since S60 5.0
-      */
-     CHnAttributeText();
-
-     /**
-      * Standard symbian 2nd phase constructor.
-      * 
-      * @since S60 5.0
-      */
-     void ConstructL();
-    
-private:
-
-    /**
-     * Attribute value.
-     */
-    RBuf8 iValue;
-    
-    };
-
-#endif // C_HNATTRIBUTETEXT_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovappimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for application uid
-*
-*/
-
-
-#ifndef HNATTRIMGPROVAPPIMAGE_H_
-#define HNATTRIMGPROVAPPIMAGE_H_
-
-#include <AknUtils.h>
-#include "hnattrimgprovider.h"
-#include "hnglobals.h" 
-
-/**
- *  Image provider class for application uid.
- *
- *  Image provider specialization that loads the image 
- *  based on the application uid.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvAppImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvAppImage* NewL( TUid aApplicationUid );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvAppImage* NewLC( TUid aApplicationUid );
-
-    /**
-     * Virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvAppImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns value.
-     *
-     * @since S60 5.0
-     * @return Value.
-     */
-    const TDesC8& Value( );
-
-    /**
-     * This method should create a bitmap and its mask, 
-     * by retrieving it form the application by a given uid (passed
-     * in the constructor)
-     *
-     * @param aId          Parameter not used.
-     * @param aBitmap      Output pointer to a bitmap.     
-     * @param aMaskBitmap  Output pointer to a mask.
-     * @since S60 5.0
-     */
-     void ProvideBitmapL(TInt aId, CFbsBitmap*& aBitmap, 
-             CFbsBitmap*& aMaskBitmap);
-
-private:
-
-    /**
-     * Default constructor.
-     */
-    CHnAttrImgProvAppImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aApplicationUid Application uid.
-     */
-    void ConstructL( TUid aApplicationUid );
-
-private: // data
-    
-    /**
-     * Value
-     */
-    TBuf8<KMaxLength> iValue;
-
-    /**
-     * Application UID
-     */
-    TUid iApplicationUid;
-    };
-    
-#endif // HNATTRIMGPROVAPPIMAGE_H_
-    
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovemptyimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for empty image
-*
-*/
-
-
-
-#ifndef C_HNATTRIMAGEPROVEMPTY_H
-#define C_HNATTRIMAGEPROVEMPTY_H
-
-#include "hnattrimgprovider.h"
-
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads empty icon.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvEmptyImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object
-     */
-    static CHnAttrImgProvEmptyImage* NewL();
-
-    /**
-     * Two-phase constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object
-     */
-    static CHnAttrImgProvEmptyImage* NewLC();
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvEmptyImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Value property getter.
-     *
-     * @since S60 5.0
-     * @return value
-     */
-    const TDesC8& Value( );
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvEmptyImage();
-
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL( );
-
-private: // data
-
-    /**
-     * Empty value.
-     */
-    TBuf8<1> iEmptyVal;
-    };
-
-
-#endif // C_HNATTRIMGPROVEMPTY_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovfileimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for image file
-*
-*/
-
-
-#ifndef HNATTRIMGPROVFILEIMAGE_H_
-#define HNATTRIMGPROVFILEIMAGE_H_
-
-#include "hnattrimgprovider.h"
-
-class CImageDecoder;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  from an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvFileImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvFileImage* NewL( const TDesC& aFileName );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvFileImage* NewLC( const TDesC& aFileName );
-
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvFileImage();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns value.
-     *
-     * @return Value.
-     * @since S60 5.0
-     */
-    const TDesC8& Value();
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvFileImage();
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     */
-    void ConstructL( const TDesC& aFileName );
-    
-    /**
-     * Determines optimal size for a bitmap to store an image from file.
-     * 
-     * The bitmap whose size is determindd by this method is supposed to
-     * be passed to CImageDecoder::Convert method.
-     * The size will be chosen so that the following two requirements are
-     * satisfied:
-     * 1. Bitmap size does not exceed the initial bitmap size passed in
-     *    aBitmapSize.
-     * 2. CImageDecoder::Convert fills the whole bitmap with image data
-     *    (there will be no empty space in the bitmap).
-     * Please note that the information about the size of the image in the
-     * file is accessible through the aImageDec object.
-     * @param aImageDec reference to a CImageDecoder object
-     * @param aBitmapSize maximal bitmap size, optimal bitmap size after
-     *        execution
-     */
-    void CorrectBitmapSize( CImageDecoder& aImageDec, TSize& aBitmapSize );
-
-private: // data
-
-    /**
-     * Value
-     */
-    RBuf8 iValue;
-
-    };
-
-#endif // HNATTRIMGPROVFILEIMAGE_H_
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovider.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007-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:   base class for all image providers
-*
-*/
-
-
-
-#ifndef C_HNATTRIMGPROVIDER_H
-#define C_HNATTRIMGPROVIDER_H
-
-#include <e32base.h>
-#include <gulicon.h>
-#include <AknUtils.h>
-#include "SVGRequestObserver.h"
-#include "hniconholder.h"
-
-
-/**
- * Allows for removing an item from a cleanup stack without using
- * CleanupStack::Pop().
- * This is useful when an item must be removed from the cleanup stack
- * but it is not possible to use Pop() because some other items have
- * been pushed onto cleanup stack after that item. 
- */
-NONSHARABLE_CLASS( TDismissableCleaner )
-    {
-public:
-    /**
-     * Constructor.
-     * 
-     * @param aToBeDeletedOnLeave pointer to a memory to be freed on leave.
-     */
-    TDismissableCleaner( TAny* aToBeDeletedOnLeave );
-    
-    /**
-     * The Close method - to be called during the cleanup process.
-     * It simply deletes the object passed as parameter to constructor
-     * unless Dismiss() has been called.
-     */
-    void Close();
-    
-    /**
-     * Dismiss the deletion.
-     * Call this method to prevent the memory freeing on leave.
-     * This is an equivalent of removing item from cleanup stack with Pop().
-     */
-    void Dismiss();
-private:
-    /**
-     * Pointer to memory to be deleted on leave.
-     * Not own.
-     */
-    TAny* mToBeDeletedOnLeave;
-    };
-
-/**
- * Image provider class interface.
- * Interface for attribute image classes. Provides methods
- * for obtainnig values and icons. 
- *  
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvider ) : public CBase
-    {
-    
-public:
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnAttrImgProvider();
-
-    /**
-     * Gets icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Icon as a CGulIcon pointer.
-     */
-    virtual CGulIcon* GetIcon( TSize* aDesiredIconSize );
-    
-    /**
-     * Gets icon holder which contains the icon that GetIcon returns.
-     * 
-     * @param aDesiredSize Desired size of the icon.
-     * @return icon hoder that contains the icon (may return NULL).
-     */
-    virtual CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-        
-protected:
-    
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvider();
-    
-    /**
-     * Creates icon.
-     * 
-     * @since S60 5.0
-     * @param aBitmap bitmap
-     * @param aMask mask
-     */
-    void CreateIconL( CFbsBitmap* aBitmap, CFbsBitmap* aMask );
-
-       
-protected:
-    
-    /**
-     * Icon holder - the object that owns the CGulIcon that this
-     * provider creates. 
-     * Co-own(CHnIconHolder is ref-counted).
-     */
-    CHnIconHolder* iIconHolder;
-    
-    };
-
-
-#endif // C_HNATTRIMGPROVIDER_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovliwimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for liw buffer
-*
-*/
-
-
-#ifndef HNATTRIMGPROVLIWIMAGE_H_
-#define HNATTRIMGPROVLIWIMAGE_H_
-
-#include <AknUtils.h>
-#include "hnattrimgprovider.h"
-#include "hnglobals.h"
-
-class TLiwVariant;
-class CLiwBitmapBuffer;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  froma an liw buffer.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvLiwImage ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvLiwImage* NewL( TLiwVariant*& aBitmap, 
-            TLiwVariant*& aMaskBitmap );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvLiwImage* NewLC( TLiwVariant*& aBitmap, 
-            TLiwVariant*& aMaskBitmap );
-
-    /**
-     * Virtual destructor.
-     * 
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvLiwImage();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    virtual void RemoveLiwObjects();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns the value.
-     *
-     * @since S60 5.0
-     * @return Value
-     */
-    const TDesC8& Value();
-
-private:
-
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvLiwImage();
-
-    /**
-     * Standard 2nd pahse symbian constructor.
-     * 
-     * @since S60 5.0
-     * @param aBitmap Pointer to bitmap.
-     * @param aMaskBitmap Poitner to mask.
-     */
-    void ConstructL( TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap );
-    
-    /**
-     * Creates icon whose bitmaps are owned externally by CLiwBitmapBuffer objects.
-     * 
-     * @param aBitmap Primary icon bitmap.
-     * @param aMask Icon mask.
-     * @param aExtBmp Buffer that owns the primary bitmap of the icon.
-     * @param aExtMask Buffer that owns the mask.
-     */
-    void CreateExtIconL( CFbsBitmap* aBitmap, CFbsBitmap* aMask,
-            CLiwBitmapBuffer* aExtBmp, CLiwBitmapBuffer* aExtMask );
-    
-    /**
-     * Creates Bitmap from variant which can be a handle or a descriptor.  
-     * 
-     * @since S60 5.0
-     * @param aVariant Contains bitmap.
-     * @return Bitmap.
-     */
-    CFbsBitmap* CreateBitmapFromVariantL( const TLiwVariant& aVariant );
-    
-    /**
-     * Retrieves bitmap handle from a TLiwVariant object.
-     * The reason why such function is needed is that bitmap handle can be
-     * stored in many integer types.
-     * 
-     * @param aVariant a variant from which to extract the handle
-     * @param aHandle will contain the handle on successful execution
-     * @return KErrNone if handle extracted successfully, KErrNotFound if
-     *         the variant did not contain anything that can be cast to
-     *         integer. 
-     */
-    TInt ExtractBitmapHandleFromVariant( const TLiwVariant& aVariant,
-            TInt& aHandle );
-    
-private: // data
-   
-    /**
-     * Value.
-     */
-    TBuf8<KMaxLength> iValue;
-    
-    };
-    
-#endif // HNATTRIMGPROVLIWIMAGE_H_
-    
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovsvgimage.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for image file
-*
-*/
-
-
-#ifndef HNATTRIMGPROVSVGIMAGE_H_
-#define HNATTRIMGPROVSVGIMAGE_H_
-
-#include "hnattrimgprovider.h"
-
-class CSvgEngineInterfaceImpl;
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  from an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvSvgImage ):
-    public CHnAttrImgProvider,
-    public MSvgRequestObserver
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvSvgImage* NewL( const TDesC& aFileName );
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvSvgImage* NewLC( const TDesC& aFileName );
-
-    /**
-     * Virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvSvgImage();
-
-    /**
-     * Gets icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Icon as a CGulIcon pointer.
-     */
-    CGulIcon* GetIcon( TSize *aDesiredIconSize );
-    
-    /**
-     * Gets icon holder which contains the icon that GetIcon returns.
-     * 
-     * @param aDesiredSize Desired size of the icon.
-     * @return icon hoder that contains the icon (may return NULL).
-     */
-    CHnIconHolder* GetIconHolder( TSize* aDesiredIconSize );
-    
-
-private:
-
-    /**
-     * Renders the icon.
-     * 
-     * @since S60 5.0
-     * @param aDesiredSize Desired size of the icon.
-     * @return Error code.
-     */
-    TInt RenderIcon( TSize aDesiredIconSize );
-    
-    /**
-     * Defualt constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvSvgImage();
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aFileName Image file name.
-     */
-    void ConstructL( const TDesC& aFileName );
-    
-public : //from MSvgRequestObserver
-	
-	/**
-	 * @see MSvgRequestObserver:UpdateScreen
-	 */
-    void UpdateScreen();
-
-    /**
-	 * @see MSvgRequestObserver:MSvgRequestObserver
-     */
-    TBool ScriptCall( const TDesC& aScript,	CSvgElementImpl* aCallerElement );
-
-    /**
-	 * @see MSvgRequestObserver:FetchImage
-     */
-    TInt FetchImage( const TDesC& aUri, RFs& aSession, RFile& aFileHandle );
-
-	/**
-	 * @see MSvgRequestObserver:FetchFont    
-	 */
-	TInt FetchFont( const TDesC& aUri, RFs& aSession, RFile& aFileHandle );
-
-    /**
-	 * @see MSvgRequestObserver:UpdatePresentation
-     */
-    void UpdatePresentation(const TInt32&  aNoOfAnimation);    
-
-private: // data
-
-    /**
-     * Bitmap. Not Own. GulIcon takes ownership.
-     */
-    CFbsBitmap* iBitmap;
-
-    /**
-     * Mask. Not Own. GulIcon takes ownership.
-     */
-    CFbsBitmap* iMask;
-
-    /**
-     * Mask. Own. Dummy for the engine.
-     */
-    CFbsBitmap* iDummyBitmap;
-    
-	/**
-	* SVG Engine instance
-	*/    
-    CSvgEngineInterfaceImpl* iSvgEngine;
-    
-	/**
-	* Handle to the svg dom tree.
-	*/    
-    TInt iHandle;
-    
-    };
-
-#endif // HNATTRIMGPROVSVGIMAGE_H_
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnattrimgprovthememif.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2007-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:   image provider for mif file
-*
-*/
-
-
-
-#ifndef C_HNATTRIMGPROVTHEMEMIF_H
-#define C_HNATTRIMGPROVTHEMEMIF_H
-
-#include "hnattrimgprovider.h"
-#include "hnglobals.h"
-
-/**
- *  Image provider class for empty image.
- *  Image provider specialization that loads image
- *  froma an image file path.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnAttrImgProvThemeMif ) : public CHnAttrImgProvider
-    {
-public:
-    
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvThemeMif* NewL( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnAttrImgProvThemeMif* NewLC( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-
-    /**
-     * Virtual destructor.
-     *      
-     * @since S60 5.0
-     */
-    virtual ~CHnAttrImgProvThemeMif();
-
-// from base class CHnAttrImgProvider
-public:
-    
-    /**
-     * Returns the value.
-     *
-     * @since S60 5.0
-     * @return Value
-     */
-    const TDesC8& Value( );
-
-    /**
-     * This method should create a bitmap and its mask, 
-     * by retrieving it form the application by a given uid (passed
-     * in the constructor)
-     *
-     * @param aId          Parameter not used.
-     * @param aBitmap      Output pointer to a bitmap.     
-     * @param aMaskBitmap  Output pointer to a mask.
-     */
-     void ProvideBitmapL(TInt aId, CFbsBitmap*& aBitmap, 
-             CFbsBitmap*& aMaskBitmap);
-
-
-private:
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnAttrImgProvThemeMif();
-
-    /**
-     * Standard 2nd pahse symbian constructor.
-     * 
-     * @since S60 5.0
-     * @param aSkinId Skin id
-     * @param aFile File name
-     * @param aBitmapId Bitmap id
-     * @param aMaskId Mask id
-     */
-    void ConstructL( TAknsItemID aSkinId,
-            const TDesC& aFile, TInt aBitmapId, TInt aMaskId );
-    
-    /**
-     * Checks if mask id and bitmap id are in the range of mif file ids.
-     * 
-     * @since S60 5.0
-     * @return ETrue if ids are in the range of mif file ids. Else return EFalse.
-     */
-    TBool ValidateIconIds();
-
-private: // data
-    
-    /**
-     * Value.
-     */
-    TBuf8<KMaxLength> iValue;
-
-    /**
-     * Skin id.
-     */
-    TAknsItemID iSkinId;
-    
-    /**
-     * File name.
-     */
-    TPtrC iFile;
-
-    /**
-     * Bitmap id.
-     */
-    TInt iBitmapId;
-    
-    /**
-     * Mask id.
-     */
-    TInt iMaskId;
-    
-    };
-
-
-#endif // C_HNATTRIMGPROVTHEMEMIF_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnbuttonmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
-* Copyright (c) 2007-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:   toolbar button model
-*
-*/
-
-
-#ifndef C_HNBUTTONMODEL_H
-#define C_HNBUTTONMODEL_H
-
-#include <e32base.h>
-
-class CGulIcon;
-class CHnAttributeBase;
-
-/**
- *  Button model class.
- * 
- *  Class represent a toolbar button. It contains all of the
- *  information essential to displaying a button in the 
- *  presentationlayer.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnButtonModel ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aIndex Button index in the toolbar.
-     */
-    IMPORT_C static CHnButtonModel* NewLC( TInt aIndex );
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C ~CHnButtonModel();
-    
-    /**
-     * Gets icon model.
-     * 
-     * @since S60 5.0
-     * @return Icon for button, NULL if not exist
-     */
-    IMPORT_C CGulIcon* GetIcon() const;
-    
-    /**
-     * Sets icon for button model.
-     * 
-     * @since S60 5.0
-     * @param aIcon Icon for button, transfers ownership
-     */
-    IMPORT_C void SetIcon( CHnAttributeBase* aAttribute );
-    
-    /**
-     * Gets tooltip for button model.
-     * 
-     * @since S60 5.0
-     * @return Help text corresponding to button mdoel
-     */
-    IMPORT_C const TDesC& GetButtonText() const;
-    
-    /**
-     * Sets help text for button model.
-     * 
-     * @since S60 5.0
-     * @param aToolTip Text to display
-     */
-    IMPORT_C void SetHelpTextL( const TDesC& aToolTip );
-    
-    /**
-     * Gets dimmed.
-     * 
-     * @since S60 5.0
-     * @return iDimmed
-     */
-    IMPORT_C TBool GetDimmed() const;
-    
-    /**
-     * Sets dimmed
-     * 
-     * @since S60 5.0
-     * @param aDimmed Sets button state to dimmed
-     */
-    IMPORT_C void SetDimmed( TBool aDimmed );
-    
-    /**
-     * Gets index of button model.
-     * 
-     * @since S60 5.0
-     * @return Index
-     */
-    IMPORT_C TInt GetIndex() const;
-    
-    /**
-     * Gets command for button model.
-     * 
-     * @since S60 5.0
-     * @return Event id
-     */
-    IMPORT_C TInt GetEventId() const;
-    
-    /**
-     * Sets command for button model.
-     * 
-     * @since S60 5.0
-     * @param aEventId Id of event to invoke when button pressed
-     */
-    IMPORT_C void SetEventId( TInt aEventId );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     * @param aIndex Index of the button, being created.
-     */
-    CHnButtonModel( TInt aIndex );
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-private: // data
-    
-    /**
-     * Index of button, indicates the position on the toolbar.
-     * Values: 0, 1, 2 applicable. 
-     */
-    TInt iIndex;
-        
-    /**
-     * Event Id. 
-     */
-    TInt iEventId;
-    
-    /**
-     * Text to be displayed as help for button.
-     * Own
-     */
-    RBuf iToolTip;
-    
-    /**
-     * Indicates if button should be dimmed.
-     */
-    TBool iDimmed;
-    
-    /**
-     * Icon displayed on the button.
-     * Own
-     */    
-    //CGulIcon* iIcon;
-    
-    /**
-     * Own - icon attribute;
-     */
-    CHnAttributeBase* iIconAttribute;
-    
-    };
-    
-#endif // C_HNBUTTONMODEL_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hneventhandler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2007-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:  event handler class
-*
-*/
-
-
-#ifndef C_HNEVENTHANDLER_H
-#define C_HNEVENTHANDLER_H
-
-#include <liwcommon.h>
-
-class CHnMetaDataModel;
-class CHnMdAction;
-class MLiwInterface;
-class CLiwServiceHandler;
-class CLiwGenericParamList;
-class CHnMdBaseKey;
-class TLiwVariant;
-class CHnMdItem;
-class CHnActionModel;
-class MHnMdModelEventObserver;
-class CHnServiceHandler;
-class MHnControllerInterface;
-
-/**
- *  Event handler class.
- * 
- *  Event Handler is designed to handle events. 
- *  It reveives an event id from the UI, 
- *  mapps this event into an appropriate action, 
- *  and runs this action.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS(CHnEventHandler) : public CBase, public MLiwNotifyCallback
-{
-public: // Constructors and destructor
-
-   /**
-    * Two-phased constructor.
-    * 
-    * @since S60 5.0
-    * @param aModelObserver Model event observer.
-    * @param aController Interface enabling to issues request to Hn engine.    
-    * @return Fully constructed object.
-    */
-    static CHnEventHandler* NewL( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController );
-
-   /**
-    * Two-phased constructor.
-    * 
-    * @since S60 5.0
-    * @param aModelObserver Model event observer.
-    * @param aController Interface enabling to issues request to Hn engine.
-    * @return Fully constructed object.
-    */
-    static CHnEventHandler* NewLC( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController);
-    
-   /**
-    * Destructor.
-    * 
-    * @since S60 5.0
-    */
-    ~CHnEventHandler();    
-    
-    /**
-     * Executes the action that was found in the Model.
-     * 
-     * @since S60 v3.2
-     * @see CHnActionModel
-     * @param aActionModel A pointer to the object of the CHnActionModel class.
-     * @return Error code. KErrNone in case of a correct execution (even if
-               given action was not found). KErrNotFound in case of incorrect
-               action parameters.
-     */
-    IMPORT_C TInt ExecuteActionL( CHnActionModel* aActionModel );
-       
-private:
-
-   /**
-    * Constructor for performing 1st stage construction
-    * 
-    * @since S60 5.0
-    * @param aModelObserver A model event observer reference.
-    * @param aController A HH controller reference.
-    */
-    CHnEventHandler( MHnMdModelEventObserver& aModelObserver,
-                     MHnControllerInterface& aController );
-
-   /**
-    * EPOC default constructor for performing 2nd stage construction
-    * 
-    * @since S60 5.0
-    */
-    void ConstructL();
-
-    /**
-     * Notifies UI about actions that can be passed back to the UI,
-     * i.e. openning nested suites, widget change.
-     * 
-     * @since S60 5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteInternalActionL( CHnActionModel* aActionModel );
-
-    /**
-     * Executes action from Extension Manager.
-     * 
-     * @since S60 v5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteExtensionManagerActionL( CHnActionModel* aActionModel );
-
-    /**
-     * Uses default mechanism to execute an action.
-     * 
-     * @since S60 v5.0
-     * @param aActionModel Model of the action.
-     * @return Error code
-     */
-    TInt ExecuteStandardActionL( CHnActionModel* aActionModel );
-        
-    /**
-     * Extracts extension uid from the action.
-     * 
-     * @since S60 v5.0
-     * @param aInterface Interface to invoke action on.
-     * @param aUid The resulting UID.
-     * @return Error code
-     */
-    TInt ExtractUidFromActionL( const TDesC8& aInterface, TUid& aUid );
-
-    
-// from MLiwNotifyCallback
-public :    
-	
-    /**
-     * Handles notification.
-     * 
-     * @param aCmdId The Id of the command triggered.
-     * @param aEventId The Id of the event.
-     * @param aEventParamList Parameters to event.
-     * @param aInParamList Input parameter list.
-     * 
-     * @return Error code.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-            CLiwGenericParamList& aEventParamList,
-            const CLiwGenericParamList& aInParamList );
-        
-private: // data
-    
-    /**
-     * Not own.
-     * Reference to HnEngine - Event observer.
-     */
-    MHnMdModelEventObserver& iEventObserver;
-    
-    /**
-     * Own.
-     */
-    CHnServiceHandler* iServiceHandler;
-    
-    /**
-     * Not own.
-     * Reference to App UI - Event observer.
-     */
-    MHnControllerInterface& iControllerInterface;
-
-};
-
-#endif // C_HNEVENTHANDLER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnextbmpiconholder.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*
-*/
-
-
-#ifndef MMEXTBMPICONHOLDER_H
-#define MMEXTBMPICONHOLDER_H
-
-#include "hniconholder.h"
-
-class CLiwBitmapBuffer;
-
-/**
- * This is an extended version of @c CHnIconHolder which holds a CGulIcon that does
- * not own the bitmaps and CLiwBitmapBuffer objects that do.
- * 
- * Such class was needed because some of the bitmaps for icons are obtained from
- * CLiwBitmapBuffer objects and there is no way to transfer ownership of that
- * bitmaps from them. It is not possible to make copies of that bitmaps either,
- * because some of them are not CFbsBitmaps but CAknBitmaps.
- */
-class CHnExtBmpIconHolder: public CHnIconHolder
-    {
-public:
-    /**
-     * Sets the icon to be stored in this icon holder along with the bitmap buffers.
-     * This method should be called only once. If you want to store another icon
-     * simply call Close() on this icon holder and then create a new icon holder
-     * to store the new icon.
-     * 
-     * @param aGulIcon Icon to store in this icon holder.
-     * @param aBmpBuffer The buffer that owns the primary bitmap.
-     * @param aMaskBuffer The buffer that owns the mask bitmap. 
-     */
-    IMPORT_C void SetGulIcon( CGulIcon* aGulIcon, CLiwBitmapBuffer* aBmpBuffer, CLiwBitmapBuffer* aMaskBuffer );
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    virtual ~CHnExtBmpIconHolder();
-
-private: // data
-    
-    /**
-     * Liw bitmap buffer that owns the primary bitmap for the icon.
-     * Co-owns (CLiwBitmapBuffer are ref-counted).
-     */
-    CLiwBitmapBuffer* iBmpBuffer;
-    
-    /**
-     * Liw bitmap buffer that owns the mask bitmap for the icon.
-     * Co-owns (CLiwBitmapBuffer are ref-counted).
-     */
-    CLiwBitmapBuffer* iMaskBuffer;
-    };
-
-#endif // MMEXTBMPICONHOLDER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hniconholder.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +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:  
-*
-*/
-
-
-#ifndef MMICONHOLDER_H
-#define MMICONHOLDER_H
-
-#include <e32base.h>
-
-class CGulIcon;
-
-/**
- * A ref-counted icon holder that can be useful if you want to store
- * an icon from the model for an unspecified period of time.
- * By getting the icon holder instead of the icon you can share ownership
- * over the icon by calling Open() on the icon holder. Then Close() must
- * be called when the icon is no longer needed, otherwise a memory leak
- * will occur.
- */
-NONSHARABLE_CLASS( CHnIconHolder ): public CObject
-    {
-public:
-    /**
-     * Sets the icon to be stored in this icon holder.
-     * This method should be called only once. If you want to store another icon
-     * simply call Close() on this icon holder and then create a new icon holder
-     * to store the new icon.
-     * 
-     * @param aGulIcon Icon to store in this icon holder.
-     */
-    IMPORT_C void SetGulIcon( CGulIcon* aGulIcon );
-    
-    /**
-     * Returns the icon held by this icon holder.
-     * 
-     * @return Icon held by this object (NULL value possible).
-     */
-    IMPORT_C CGulIcon* GetGulIcon() const;
-    
-    /**
-     * Standard C++ destructor.
-     */
-    ~CHnIconHolder();
-    
-private: // data
-    
-    /**
-     * A CGulIcon object owned by this icon holder.
-     * Can possibly be NULL.
-     * Own.
-     */
-    CGulIcon* iGulIcon;
-    };
-
-#endif // MMICONHOLDER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemfocushandler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* 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:  Application UI class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*/
-#ifndef HNITEMFOCUSHANDLER_H
-#define HNITEMFOCUSHANDLER_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class CHnSuiteModel;
-
-/**
- *  Class representing the focus item to be queued.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class TFocusQueueItem
-	{
-public:
-	
-    /**
-     * Constructor. Sets the trigger time on construction.
-     * 
-     * @since S60 v5.0
-     * @param aItemId Index of the item in the suite model.
-     */
-	TFocusQueueItem( TInt aItemId, TInt aEventId );
-	
-    /**
-     * Fetches the focus item trigger time.
-     * 
-     * @since S60 v5.0
-     * @return Time when the event was triggered.
-     */
-	TTime TriggerTime();
-	
-    /**
-     * Fetches the focus/unfocus item id.
-     * 
-     * @since S60 v5.0
-     * @return Suite model item id of the focused/unfocused item.
-     */
-	TInt ItemId();
-	
-    /**
-     * Fetches the focus/unfocus item id.
-     * 
-     * @since S60 v5.0
-     * @return Suite model item id of the focused/unfocused item.
-     */
-	TInt EventId();
-	
-    /**
-     * Compares queued items by triggered time.
-     * 
-     * @since S60 v5.0
-     * @param aItem1 First item to compare.
-     * @param aItem2 Second item to compare.
-     * @return 1 if aItem1 was triggered earlier than aItem2.
-     * -1 if aItem1 was triggered later than aItem2.
-     * 0 if aItem1 was triggered at the same time as aItem2.
-     */
-	static TInt CompareByTriggerTime( const TFocusQueueItem& aItem1,
-			const TFocusQueueItem& aItem2 );
-    /**
-     * Compares queued items by triggered time.
-     * 
-     * @since S60 v5.0
-     * @param aItem1 First item to compare.
-     * @param aItem2 Second item to compare.
-     * @return ETrue if aItem1 is equal to aItem2 regarding the item id.
-     * EFalse if aItem1 is not equal to aItem2 regarding the item id.
-     */
-	static TBool CompareByItemId( const TFocusQueueItem& aItem1,
-			const TFocusQueueItem& aItem2 );
-
-private:
-	
-    /**
-     * Item id.
-     * Own.
-     */
-	TInt iItemId;
-    
-	/**
-     * Trigger time.
-     * Own.
-     */
-	TTime iTriggerTime;
-    
-	/**
-     * Event type.
-     */
-	TInt iEventId;
-	
-	};
-
-/**
- *  Item focus handler class.
- *
- *  This is an active object which handles focus/unfocus event triggering.
- *  This class causes focus/unfocus events to be run without performance impact
- *  on the UI. The focus/unfocus events are queued. If incoming events logically 
- *  cancel the queued events, the appropriate events are removed from the queue.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemFocusHandler ) : public CActive
-	{
-public:
-	
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-	~CHnItemFocusHandler();
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	static CHnItemFocusHandler* NewL( CHnSuiteModel* aSuiteModel );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	static CHnItemFocusHandler* NewLC( CHnSuiteModel* aSuiteModel );
-
-public:
-	
-    /**
-     * Called to initiate item focus action handling.
-     * 
-     * @since S60 v5.0
-     * @param aEventId The type of event. Can be KIdFocusGain or KIdFocusLost. Otherwise focus actions are not triggered.
-     * @param aItemId Index of the item in the suite model.
-     */
-	void SetFocusL( TInt aEventId, TBool aItemId );
-
-private:
-	
-    /**
-     * C++ default constructor.
-     * 
-     * @since S60 v5.0
-     */
-	CHnItemFocusHandler();
-
-    /**
-     * Second-phase constructor.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteModel The suite model for which focus events are handled.
-     */
-	void ConstructL( CHnSuiteModel* aSuiteModel );
-
-private:
-	
-    /**
-     * Handles completion. In fact the request is completed immediately after activating the object.
-     * This method calls focus/unfocus action events.
-     * 
-     * @since S60 v5.0
-     */
-	void RunL();
-
-    /**
-     * Run when request is cancelled.
-     */
-	void DoCancel();
-
-    /**
-     * Overriden to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * 
-     * @since S60 v5.0
-     * @param aError The Error code.
-     * @return Id The eroor code.
-     */
-	TInt RunError(TInt aError);
-	
-    /**
-     * Removes duplicated items. E.g. if a request to focus an item has been triggered
-     * when there is still a request to unfocus that item pending in the queue. Then the unfocus 
-     * event will be removed from the queue and the event and only the focus event is triggered.
-     * 
-     * @since S60 v5.0
-     * @param aFocusItem The item to be compared.
-     * @param aEventId focus or unfocus event.
-     */
-	void RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem );
-
-private:
-	
-    /**
-     * The suite model for which focus events are handled.
-     * Not own.
-     */
-	CHnSuiteModel* iSuiteModel;
-	
-    /**
-     * Focus Queue.
-     * Own.
-     */
-	RArray<TFocusQueueItem> iFocusQueue;
-	
-	};
-
-#endif // HNITEMFOCUSHANDLER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/*
-* Copyright (c) 2007-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:   item presentation model
-*
-*/
-
-
-#ifndef HNITEMMODEL_H_
-#define HNITEMMODEL_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CHnMenuItemModel;
-class MHnMenuItemModelIterator;
-class CHnActionModel;
-class CHnToolbarModel;
-class CHnEventHandler;
-class CHnAttributeBase;
-class CLiwGenericParamList;
-class CHnButtonModel;
-
-/** 
- * Item flag. Used to indicate if item is move locked,
- * remove locked or runs.
- */
-enum TItemFlag
-    {
-    EItemFlagDefault = 0,
-    EItemFlagRemoveLocked = 1,
-    EItemFlagMoveLocked = 2,
-    EItemFlagRunning = 4,
-    EItemFlagDrmExpired = 8
-    };
-
-/** 
- * Service item type. Type of the item in service. 
- */
-enum TMcsItemType
-    {
-    EItemTypeUnknown = 0,
-    EItemTypeFolder,
-    EItemTypeSuite,
-    EItemTypeApplication,
-    EItemTypeParentFolder,
-    };
-
-/**
- *  Item presentation model class.
- * 
- *  Instance of this class represents item visible 
- *  on the screen. A single CHnMdItem may lead to 
- *  creation of multiple CHnItemModel instances.
- *
- *  @see CHnMdItem
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemModel* NewL();
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnItemModel();
-    
-    /**
-     * Sets menu item model.
-     * 
-     * @since S60 5.0
-     * @param aMenu visual model for menu item, transfers ownership.
-     */
-    IMPORT_C  void SetMenuItemModel(  CHnMenuItemModel* aMenu );
-    
-    /**
-     * Gets menu item model.
-     * 
-     * @since S60 5.0
-     * @return menu item structure
-     */
-    MHnMenuItemModelIterator* GetMenuStructure();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @param aId Event id
-     * @return Array of actions models corresponding to event id
-     */
-    IMPORT_C CArrayPtr<CHnActionModel>* GetActions( TInt aId );
-    
-    /**
-     * Gets actions models.
-     * 
-     * @return List of all actions for every event.
-     */
-    IMPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& GetActions();
-    
-    /**
-     * Gets toolbar model.
-     * 
-     * @since S60 5.0
-     * @return Toolbar model for item, NULL if not exist
-     */
-    IMPORT_C const CHnToolbarModel* GetToolbarModel() const;
-    
-    /**
-     * Sets toolbar model.
-     * 
-     * @since S60 5.0
-     * @param aToolbar Toolbar model for item, transfers ownership
-     */
-    IMPORT_C void SetToolbarModel( CHnToolbarModel* aToolbar );
-    
-    /**
-     * event handling
-     * 
-     * @since S60 5.0
-     * @param aEventHandler An instance of event handler.
-     * @param aEventId Event id.
-     * @param aEventParameters Parameters of that event
-     * @return Error code
-     */
-    TInt OfferHnEventL( CHnEventHandler & aEventHandler, 
-            const TInt aEventId, CLiwGenericParamList* aEventParameters );
-
-    /**
-     * Sets attribute.
-     * 
-     * @since S60 5.0
-     * @param aAttr Attribute name
-     */
-    IMPORT_C void SetAttributeL( CHnAttributeBase* aAttr );
- 
-    /**
-     * Gets attribute.
-     * 
-     * @since S60 5.0
-     * @param aAttribute Attribute name.
-     * @return Attribute instance. 
-     */
-    IMPORT_C CHnAttributeBase* GetAttribute( const TDesC8 & aAttribute );
-    
-    /**
-     * Clears attributes.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void ClearAttributesL();
-
-    /**
-     * Gets template name.
-     * 
-     * @since S60 5.0
-     * @return Template name
-     */
-    IMPORT_C const TDesC8& GetTemplate();
-    
-    /**
-     * Sets middle soft key.
-     * 
-     * @since S60 5.0
-     * @param aMsk Msk model for item.
-     */
-    IMPORT_C void SetMiddleSoftKey( CHnButtonModel* aMsk );
-    
-    /**
-     * Gets middle soft key.
-     * 
-     * @since S60 5.0
-     * @return Msk model for item.
-     */
-    IMPORT_C CHnButtonModel* GetMiddleSoftKey();
-    
-    /**
-     * Sets template.
-     * 
-     * @since S60 5.0
-     * @param aTemplate Template name.
-     */
-    IMPORT_C void SetTemplateL( const TDesC8& aTemplate );
-    
-    /**
-     * Sets item's flag.
-     * 
-     * @since S60 5.0
-     * @param aFlag A flag to be set.
-     */
-    IMPORT_C void SetFlag( TInt aFlag );
-    
-    /**
-     * Removes all flags of the item.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void ClearFlags();
-    
-    /**
-     * Returns true if deleting the item is locked.
-     * 
-     * @since S60 5.0
-     * @return True if deleting the item is forbidden, otherwise - false
-     */
-    IMPORT_C TBool IsDeleteLocked();
-    
-    /**
-     * Returns true if moving the item is locked.
-     * 
-     * @since S60 5.0
-     * @return True if moving the item is forbidden, otherwise - false
-     */
-    IMPORT_C TBool IsMoveLocked();
-    
-    /**
-     * Returns true if the item is running.
-     * 
-     * @since S60 5.0
-     * @return True if the item is running, otherwise - false.
-     */
-    IMPORT_C TBool IsRunning();
-    
-    /**
-     * Returns true if the item drm rights are expired.
-     * 
-     * @since S60 5.0
-     * @return True if the item drm rights are expired, otherwise - false.
-     */
-    IMPORT_C TBool IsDrmExpired();
-    
-    /**
-     * Sets type of the item.
-     * 
-     * @since S60 5.0
-     * @param aType type
-     */
-    IMPORT_C void SetType( const TDesC8& aType );
-    
-    /**
-     * Sets custom id.
-     * 
-     * @since S60 5.0
-     * @param aCustomId Custom id.
-     */
-    IMPORT_C void SetCustomId( TInt64 aCustomId );
-    
-    /**
-     * Returns custom id.
-     * 
-     * @since S60 5.0
-     * @return Custom id.
-     */
-    IMPORT_C TInt64 CustomId();
-    
-    /**
-     * Returns the type of the item.
-     * 
-     * @since S60 5.0
-     * @return Item type.
-     */
-    IMPORT_C TMcsItemType GetItemType();
-    
-    /**
-     * Returns the uid of the item.
-     * 
-     * @since S60 5.0
-     * @return Item uid.
-     */
-    IMPORT_C TUid GetItemUid();
-    
-    /**
-     * Sets uid of the item.
-     * 
-     * @since S60 5.0
-     * @param Item uid.
-     */
-    IMPORT_C void SetItemUidL( const TDesC8& aUid );
-    
-    /**
-     * Deletes all action models.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void DeleteAllActionModels();
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Default constructor.
-     */
-    CHnItemModel();
-            
-    /**
-     * Second phase constructor.
-     */
-    void ConstructL();
-    
-private: // data
-
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-    
-    /**
-     * Menu item structure
-     * Own
-     */
-    CHnMenuItemModel* iMenuModel;
-    
-    /**
-     * Model for toolbar
-     * Own
-     */
-    CHnToolbarModel* iToolbarModel;
-    
-    /**
-     * Actions corresponding to events
-     * event id <=> array of actions models
-     */
-    RHashMap< TInt, CArrayPtr<CHnActionModel>* > iActions; 
-    
-    /**
-     * Visual item model (Aakash)
-     */
-    TBool iEditable;
-
-    /**
-     * Attributes.
-     */
-    RPointerArray<CHnAttributeBase> iAttrs;
-    
-    /**
-     * Flags.
-     */
-    TInt iFlags;
-    
-    /**
-     * Type of an item.
-     */
-    TMcsItemType iType;
-    
-    /**
-     * Uid of the item.
-     */
-    TUid iUid;
-    
-    /**
-     * Custom Id.
-     */
-    TInt64 iCustomId;
-    
-    /**
-     * Middel soft key model
-     * Own
-     */
-    CHnButtonModel* iMskModel;
-    
-    };
-
-#endif // HNITEMMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnitemsorder.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-/*
-* Copyright (c) 2007-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:   items order manager class
-*
-*/
-
-
-#ifndef HNITEMSORDER_H_
-#define HNITEMSORDER_H_
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-/**
- * Items order manager.
- * 
- * Instances of this class control order of the items 
- * displayed within a suite. The keep and manage the
- * complex relation between CHnMdItem, and consequenltly 
- * created CHnItemModels.
- * 
- * @lib hnpresentationmodel
- * @since S60 5.0
- * @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnItemsOrder ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemsOrder* NewL();
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnItemsOrder* NewLC();
-
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnItemsOrder();
-        
-    /**
-     * @since S60 5.0
-     * @param aId Suite id, should be generated by IdGenrator
-     */
-    IMPORT_C void SetSuiteId( TInt aId );
-    
-    /**
-     * @since S60 5.0
-     * @return id of the associated suite 
-     */
-    IMPORT_C TInt GetSuiteId() const;
-    
-    /**
-     * Removes item with given id.
-     * 
-     * @since S60 5.0
-     * @param aId id of the item to be removed
-     */
-    IMPORT_C void RemoveItemId( TInt aId );
-    
-    /**
-     * Insert an item referred to by an aId, to a suite.
-     * It is indicated that this item has been produced from
-     * CHnMdItem at index aDataModelItem. Evaluation indicates also
-     * that this item is produced on the index aIndex in that particular
-     * CHnMdItem.
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of CHnMdItem instance in the CHnMdSuite.
-     * @param aIndex Position in that CHnMdItem instance
-     * @param aId Id of the item model.
-     */
-    IMPORT_C void InsertItemIdToL( TInt aDataModelItem, TInt aIndex, TInt aId );
-    
-    /**
-     * Gets the item id at position aIndex, relative to the beginning
-     * of the items generated from CHnMdItem at index aDataModelItem
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of CHnMdItem instance in the CHnMdSuite.
-     * @param aIndex Position in that CHnMdItem instance.
-     */
-    IMPORT_C TInt GetItemIdAt( TInt aDataModelItem, TInt aIndex );
-    
-    /**
-     * Gets item id at specified position.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite model. 
-     * @return Item id
-     */
-    IMPORT_C TInt GetItemIdAt( TInt aPosition );
-    
-    /**
-     * Sets item id at given position.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite model
-     * @param aId Item id
-     */
-    IMPORT_C void SetItemIdAtL( TInt aPosition, TInt aId );
-    
-    /**
-     * Gets item position.
-     * 
-     * @since S60 5.0
-     * @param aId Item id
-     * @return Item position.
-     */
-    IMPORT_C TInt GetItemPosition( TInt aId );
-    
-    /**
-     * Count property getter.
-     * 
-     * @since S60 5.0
-     * @return Count
-     */
-    IMPORT_C TInt Count();
-    
-    /**
-     * Informs the class of the count of CHnMdItem instances
-     * in the suite.
-     * 
-     * @since S60 5.0
-     * @param aItemCounts Number of CHnMdItems in the suite.
-     */
-    IMPORT_C void DefineModelItemCountL( TInt aItemCounts );
-    
-    /**
-     * Gets the count of CHnMdItem instances
-     * in the suite.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C TInt GetModelItemCount();
-    
-    /**
-     * Gets the ids for a particular CHnMdItem instance.
-     * 
-     * @since S60 5.0
-     * @param aDataModelItem Index of the CHnMdItem instance
-     * @param aIds Array of ids.
-     */
-    IMPORT_C void GetIdsForL( TInt aDataModelItem, 
-            RArray< TInt >& aIds );
-    
-    /**
-     * Operator to access id at a particular position in the suite.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position in the suite.
-     */
-    IMPORT_C TInt operator[]( TInt aPosition );
-    
-    /**
-     * Informs the instance of the class that the associated suite
-     * has been evaluated.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C void SuiteEvaluated();
-    
-    /**
-     * Informs the instance of the class that the associated item
-     * has been evaluated.
-     * 
-     * @since S60 5.0
-     * @param aIndex Item of the model that has been evaluated.
-     */
-    IMPORT_C void ItemEvaluated( TInt aIndex );
-    
-    /**
-     * Determined if the suite is ready to be shown.
-     * 
-     * @since S60 5.0
-     * @return Value determinig if associated suite is ready to show.
-     */
-    IMPORT_C TBool IsSuiteReadyToShow();
-    
-    /**
-     * Marks suite as uninitialized.
-     * 
-     */
-    IMPORT_C void MarkSuiteUninitialized();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnItemsOrder();
-    
-    /**
-     * Stnadard 2nd stage symbian constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-    /**
-     * @since S60 5.0
-     * @param aDataModelItem data model item
-     * @return start index
-     */
-    TInt CountStartIndexFor( TInt aDataModelItem );
-    
-    /**
-     * @since S60 5.0
-     * @param aIndex index
-     * @return model number
-     */
-    TInt CountModelNumberFor( TInt aIndex );
-    
-private: // data
-    
-    /**
-     * Unique id for the associated suite. 
-     * Should be generated via IdGenerator mechanism.
-     */ 
-    TInt iSuiteId;
-
-    /**
-     * Indicates if the associated suite has been initialized
-     * with the first evaluation.
-     */
-    TBool iSuiteEvaluated;
-
-    /**
-     * Array of values indication if each of associated CHnMdItems
-     * has been initialized with first evaluation.
-     */
-    RArray<TBool> iItemsEvaluated;
-    
-    /**
-     * Items order counts
-     * Holds the counts of CHnItemModels, for each of CHnMdItems
-     */
-    RArray<TInt> iItemsOrderCounts;
-
-    /**
-     * Complex items order.
-     * Hold the order of CHnItemModels in a suite associated with the
-     * instance of this class.
-     */
-    RArray<TInt> iComplexItemsOrder;
-    
-    };
-
-#endif // HNITEMSORDER_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnmenuitemmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* 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:   menu item presentation model
-*
-*/
-
-
-#ifndef HNMENUITEMMODEL_H_
-#define HNMENUITEMMODEL_H_
-
-#include <e32base.h>
-
-class CHnMenuItemModel;
-
-/**
- *  Menu item model iterator.
- *
- *  Used to iterate on menu items structure. Provides basic
- *  iterator interface.
- *  
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class MHnMenuItemModelIterator
-    {
-public:
-
-    /**
-     * Checks whether there is at least one more element.
-     *
-     * @since S60 5.0
-     * @return ETrue if there is a next item, otherwise EFalse.
-     */
-    virtual TBool HasNext() = 0;
-
-    /**
-     * Gets the next item and move the cursor to the next item.
-     *
-     * @since S60 5.0
-     * @return A pointer to the element or NULL if there are no more elements.
-     */
-    virtual CHnMenuItemModel* GetNext() = 0;
-
-    /**
-     * Checks whether there is at least one more element (item specific).
-     *
-     * @since S60 5.0
-     * @return ETrue if there is a next item, otherwise EFalse.
-     */
-    virtual TBool HasNextSpecific() = 0;
-    
-    /**
-     * Gets the next menu item ( specific for the item 
-     * - e.g. Applications folder item )
-     * and move the cursor to the next menu item.
-     *
-     * @since S60 5.0
-     * @return A pointer to the element or NULL if there are no more elements.
-     */
-    virtual CHnMenuItemModel* GetNextSpecific() = 0;
-    
-    /**
-     * Resets the iterator.
-     *
-     * @since S60 5.0
-     */
-    virtual void Reset() = 0;
-    
-    };
-
-/**
- *  Menu item model class.
- *
- *  Represents menu item. Contains all data needed to display and 
- *  use menu item properly. Implemented as tree structure.
- *  
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnMenuItemModel ):
-    public CBase,
-    public MHnMenuItemModelIterator
-    {
-public:
-	enum THnMenuItemType {
-		EItemApplication,	//in options with & without focus
-		EItemAction,		//in options with focus
-		EItemSpecific		//in options with focus & in stylus popup
-	};
-    
-public:
-        
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aName Name for menu item
-     */
-    IMPORT_C static CHnMenuItemModel* NewL( const TDesC& aName );
-        
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnMenuItemModel();
-    
-    /**
-     * Gets menu item model.
-     * 
-     * @since S60 5.0
-     * @return Menu item structure
-     */
-    IMPORT_C MHnMenuItemModelIterator* GetMenuStructure();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual TBool HasNext();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual CHnMenuItemModel* GetNext();
-
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual TBool HasNextSpecific();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual CHnMenuItemModel* GetNextSpecific();
-    
-    /**
-     * @see MHnMenuItemModelIterator.
-     */
-    IMPORT_C virtual void Reset();
-    
-    /**
-     * Gets name.
-     *
-     * @since S60 5.0
-     * @return Name of the menu.
-     */
-    IMPORT_C const TDesC& NameL();
-    
-    /**
-     * Gets command id.
-     *
-     * @since S60 5.0
-     * @return Command id.
-     */
-    IMPORT_C TInt Command();
-        
-    /**
-     * Sets command id.
-     *
-     * @since S60 5.0
-     * @param aCommandId Command id from data model.
-     */
-    IMPORT_C void SetCommand( TInt aCommandId );
-    
-    /**
-     * Gets menu item position.
-     *
-     * @since S60 5.0
-     * @return Position of item in menu.
-     */
-    IMPORT_C TInt Position();
-    
-    /**
-     * Sets menu item position.
-     *
-     * @since S60 5.0
-     * @param aPosition Position of item in menu.
-     */
-    IMPORT_C void SetPosition( TInt aPosition );
-    
-    /**
-     * Sets menu item type.
-     *
-     * @since S60 5.0
-     * @param aMenuItemType type of menu element.
-     */
-    IMPORT_C void SetMenuItemType( THnMenuItemType aMenuItemType );
-
-    /**
-     * Appends child item.
-     *
-     * @since S60 5.0
-     * @param aMenuModel Menu item model.
-     */
-    IMPORT_C void AppendChildMenuL( CHnMenuItemModel* aMenuModel );
-    
-    /**
-     * Returns menu item type.
-     * 
-     * @since S60 5.0
-     * @return menu item type.
-     */
-    IMPORT_C THnMenuItemType MenuItemType();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnMenuItemModel();
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aName Name for menu item 
-     */
-    void ConstructL( const TDesC& aName );
-    
-private: // data
-        
-    /**
-     * Name value cache.
-     */
-    RBuf iName;
-        
-    /**
-     * Command Id. 
-     */
-    TInt iCommand;
-        
-    /**
-     * Position.
-     */
-    TInt iPosition;
-    
-    /**
-     * Next child.
-     */
-    TInt iNextMenu;
-        
-    /**
-     * Children pointer array.
-     */
-    RPointerArray< CHnMenuItemModel > iChildren;
-    
-    /**
-     * Type of menu item.
-     */
-    THnMenuItemType iMenuItemType;
-    };
-
-#endif // HNMENUITEMMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,598 +0,0 @@
-/*
-* Copyright (c) 2007-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:   suite presentation model
-*
-*/
-
-
-#ifndef C_HNSUITEMODEL_H
-#define C_HNSUITEMODEL_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include "hnsuiteobserver.h"
-#include "hnglobals.h"
-#include "hnitemmodel.h"
-
-class CHnSuiteModelContainer;
-class CHnItemModel;
-class MHnMenuItemModelIterator;
-class CHnActionModel;
-class CHnEventHandler;
-class MHnSuiteObserver;
-class CHnItemsOrder;
-class CHnItemFocusHandler;
-
-/**
- *  Suite model class.
- *
- *  Represents suite. Evaluated from CHnMdSuite class, contains
- *  all data from services and xml configuration. It is used to fill data
- *  displayed on the screen.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuiteModel ) : public CBase
-    {
-    
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aEventHandler Event handler.
-     * @param aGenreName Suite genre identifier.
-     */
-    IMPORT_C static CHnSuiteModel* NewL( CHnEventHandler& aEventHandler,
-            const TDesC& aGenreName );
-    
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-    IMPORT_C ~CHnSuiteModel();
- 
-    /**
-     * Return Suite's genre name.
-     * Used for identifying the Suite.
-     * 
-     * @since S60 v5.0
-     * @return The genre name.
-     */
-    IMPORT_C const TDesC& SuiteName() const;
-
-    /**
-     * Return Suite's name
-     * This should be displayed in Status Pane
-     * 
-     * @since S60 v5.0
-     * @return the name
-     */
-    IMPORT_C const TDesC& Title() const;
-    
-    /**
-     * Sets the Suite's name
-     * 
-     * @since S60 v5.0
-     * @param aName the name
-     */
-    IMPORT_C void SetTitleL( const TDesC& aName );
-    
-    /**
-     * Return Suite's empty text
-     * 
-     * @since S60 v5.0
-     * @return empty text if defined o
-     */
-    IMPORT_C const TDesC& EmptyText() const;
-    
-    /**
-     * Sets the Suite's empty text
-     * 
-     * @since S60 v5.0
-     * @param aName the name
-     */
-    IMPORT_C void SetEmptyTextL( const TDesC& aName );
-
-    /**
-     * Notifies all of the observers.
-     * 
-     * @since S60 v5.0
-     * @param aEventType Event to be pushed to all observers.
-     */    
-    IMPORT_C void NotifyObserversL( THnCustomSuiteEvent aEventType );
-
-    /**
-     * Method used to indicate that item evaluation has finished.
-     * 
-     * @since S60 v5.0
-     * @param aModelItemNumber Index of the item model.
-     * @return True if observers were notified.
-     */    
-    IMPORT_C TBool ItemEvaluationFinishedL( TInt aModelItemNumber );
-    
-    /**
-     * Method used to indicate that item evaluation has finished.
-     * 
-     * @since S60 v5.0
-     */    
-    IMPORT_C TBool SuiteEvaluationFinishedL();
-    
-    /**
-     * Return Suite's Widget type
-     * 
-     * @since S60 v5.0
-     * @return the Widget type or EUnspecified if not set
-     */
-    IMPORT_C TInt WidgetType() const;
-    
-    /**
-     * Sets the Suite's Widget type
-     * Also sets the correct template to the Widget Model
-     * 
-     * @since S60 v5.0
-     * @param aWidgetType Suite's Widget type
-     */
-    IMPORT_C void SetWidgetType( THnSuiteWidgetType aWidgetType );
-    
-    /**
-     * Gets menu structure for certain model
-     *  
-     * @since S60 v5.0
-     * @param aItemId Id of the item model
-     * @return Pointer to menu model
-     */
-    IMPORT_C MHnMenuItemModelIterator* GetMenuStructureL( TInt aItemId );
-    
-    /**
-     * Adds item both to Aakash model and Matrix model.
-     * 
-     * @since S60 v5.0
-     * @param aItemModel Item model.
-     * @param aId Item id
-     * @param aItemModelNumber Index of data model that creates the item.
-     * @param aItemModelPosition Position in the particular data model
-     */
-    IMPORT_C void AddItemL( TInt aId, CHnItemModel* aItemModel,
-            TInt aItemModelNumber, TInt aItemModelPosition );
-    
-    /**
-     * Updates item template with template from suite model.
-     * 
-     * @since S60 v5.0
-     * @param aId Id of the item to update template
-     */
-    IMPORT_C void UpdateItemTemplateL( TInt aId );
-    
-    /**
-     * Updates item in Aakash model.
-     * 
-     * @since S60 v5.0
-     * @param aPreviousItemCount Previous number of items in the suite.
-     */
-    IMPORT_C void RefreshMulModelL( TInt aPreviousItemCount = 0 );
-    
-    /**
-     * Sets template for suite.
-     * 
-     * @since S60 v5.0
-     * @param aValue template of the suite
-     */
-    IMPORT_C void SetTemplateL( const TDesC8& aValue );
-    
-    /**
-     * Gets template.
-     * 
-     * @since S60 v5.0
-     * @return template of the suite
-     */
-    IMPORT_C const TDesC8& GetTemplate() const;
-    
-    /**
-     * Remove model by id both from Aakash model and Matrix model.
-     * 
-     * @since S60 v5.0
-     * @param aId Id of the item to remove
-     */
-    IMPORT_C void RemoveItemL( TInt aId );
-    
-    /**
-     * Removes all items from the suite model.
-     * 
-     * @since S60 v5.0
-     */
-    IMPORT_C void RemoveAllItems();
-    
-    /**
-     * Gets item model id by its position in Aakash model.
-     * 
-     * @since S60 v5.0
-     * @param aIndex Index of visual item in Aakash model
-     * @return Id of the item model for input parameter
-     */
-    IMPORT_C TInt IdByIndex( TInt aIndex );
-    
-    /**
-     * Gets item model count.
-     * 
-     * @since S60 v5.0
-     * @return Count of item models.
-     */
-    IMPORT_C TInt GetItemModelsCount();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @return List of all actions for every event.
-     */
-    IMPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& GetActions();
-    
-    /**
-     * Gets actions models.
-     * 
-     * @param aId Event id
-     * @return Array of actions models corresponding to event id
-     */
-    IMPORT_C CArrayPtr<CHnActionModel>* GetActions( TInt aId );
-    
-    /**
-     * Gets item model.
-     * 
-     * @param aId Item model id
-     * @return Item model corresponding to id, if not found returns NULL
-     */
-    IMPORT_C CHnItemModel* GetItemModel( TInt aId );
-    
-    /**
-     * Returns visibility of toolbar for suite
-     * 
-     * @return TRUE if visible, otherwise FALSE
-     */
-    IMPORT_C TBool HasToolbar() const;
-    
-    /**
-     * Registers suite observer.
-     * 
-     * @param aObserver observer
-     * @param aPriority priority
-     */
-    IMPORT_C void RegisterSuiteObserverL( MHnSuiteObserver* aObserver, 
-            TThreadPriority aPriority = EPriorityNormal);
-    
-    /**
-     * Unregisters suite observer
-     *
-     * @param aObserver observer 
-     */
-    IMPORT_C void UnregisterSuiteObserver( MHnSuiteObserver* aObserver);
-    
-    /**
-     * Checks if one of items between aIndexStart and
-     * aIndexEnd is move-locked
-     * 
-     * @param aIndexStart starting item
-     * @param aIndexEnd ending item
-     * @return true if one of the preceeding items is locked 
-     */
-    IMPORT_C TBool IsItemBetweenMoveLocked( TInt aIndexStart, 
-            TInt aIndexEnd );
-    
-    /**
-     * Handles event.
-     *
-     * @since S60 5.0
-     * @param aEventId Event id.
-     * @param aRecipientId Recipient Id.
-     * @param aEventParameters Parameters to event.
-     * @return Status code.
-     */
-    TInt OfferHnEventL( 
-            const TInt aEventId, const TInt aRecipientId, 
-             CLiwGenericParamList* aEventParameters  );
-    
-    /**
-     * Reorders item.
-     * 
-     * @param aFromIndex Index of the item to move.
-     * @param aToIndex Index of the item to shift to.
-     */
-    IMPORT_C TInt ReorderItemsL( TInt aFromIndex, TInt aToIndex );
-    
-    /**
-     * Returns items order object.
-     * 
-     * @return items order object from suite model
-     */
-    IMPORT_C CHnItemsOrder* GetItemsOrder();
-    
-public:
-    
-    /**
-     * Returns true if an item is move locked.
-     * 
-     * @param aIndex item's index
-     * @return true if an item is move-locked otherwise false
-     */
-    IMPORT_C TBool IsItemMoveLocked( TInt aIndex );
-    
-    /**
-     * Returns type of an item.
-     * 
-     * @param aIndex an item's index
-     * @return item's type
-     */
-    IMPORT_C TMcsItemType GetItemType( TInt aIndex );
-    
-    /**
-     * Returns highlighted item's id.
-     * 
-     * @since S60 v5.0
-     * @return highlighted item's id
-     */
-    IMPORT_C TInt GetSuiteHighlight();
-    
-    /**
-     * Set highlighted item's id.
-     * 
-     * @since S60 v5.0
-     * @param aHighLight sets highlighted item's id
-     */
-    IMPORT_C void SetSuiteHighlightL( TInt aHighLight );
-	
-    /**
-     * Add items index to focus queue. Item will be highlighted/focused
-     * during evaluation.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom Id of an item which will be highlighted
-     */
-    IMPORT_C void QueueFocus( TInt aCustomId );
-    
-    /**
-     * Sets suite's custom id.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom identifier to be set.
-     */
-    IMPORT_C void SetCustomId( TInt64 aCustomId );
-    
-    /**
-     * Returns custom identifier of the suite.
-     * 
-     * @since S60 v5.0
-     * @return Custom identifier of the suite.
-     */
-    IMPORT_C TInt64 CustomId();
-    
-    /**
-     * Activates highlight handling.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aActive ETrue if active.
-     */
-    IMPORT_C void SetActiveL( TBool aActive );
-    
-    /**
-     * Returns the state of the suite.
-     * 
-     * @since S60 v5.0
-     * @return ETrue if active.
-     */
-    IMPORT_C TBool IsActive();
-    
-    /**
-     * Notifies the model that the suite is visible.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aVisible ETrue if visible.
-     */
-    IMPORT_C void SetVisibleL( TBool aVisible );
-
-    /**
-     * Returns item model matching given criteria.
-     * 
-     * @param aCustomId Item's custom id.
-     * @param aIndex
-     * @return Item model matching given custom_id, otherwise null.
-     */
-    IMPORT_C CHnItemModel* GetMatchingItemModelL( TInt64 aCustomId, TInt& aIndex );
-    
-    /**
-     * Returns the suite's exit mode flag.
-     */
-    IMPORT_C TExitMode ExitMode();
-    
-    /**
-     * Sets the exid mode.
-     */
-    IMPORT_C void SetExitMode( TExitMode aExitMode );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Struct holding highlight information.
-     * iWidgetIndex - index of the visible item in the UI widget.
-     * iItemId - presentation model ID of the item.
-     * iCustomId - custom ID from data provider.
-     * 
-     * @since S60 v5.0
-     */
-    struct TSuiteHighlight
-        {
-        /** Widget index. */
-        TInt iWidgetIndex;
-        /** Item Id. */
-        TInt iItemId;
-        /** Custom Id. */
-        TInt64 iCustomId;
-        };
-
-    /**
-     * C++ default constructor.
-     * 
-     * @since S60 v5.0
-     * @param aEventHandler Event handler.
-     */
-    CHnSuiteModel( CHnEventHandler& aEventHandler );
-    
-    /**
-     * Standard symbian 2nd phase constructor.
-     * 
-     * @since S60 v5.0
-     * @param aGenreName Genre name for model
-     */
-    void ConstructL( const TDesC& aGenreName );
-    
-    /**
-     * Launches the appropriate action if allowed.
-     * Used for highlight events for items.
-     * 
-     * @since S60 v5.0
-     * @param aItemId ID of the item.
-     * @param aFocused ETrue if focused.
-     */
-    void HandleItemFocusL( TInt aItemId, TBool aFocused );
-    
-    /**
-     * Set highlight on item.
-     * 
-     * @since S60 v5.0
-     * @param aCustomId Custom id of the item.
-     */
-    void SetSuiteHighlightByCustomIdL( TInt64 aCustomId );
-    
-private:
-
-    /**
-     * Genre name.
-     * Own.
-     */
-    HBufC* iSuiteName;
-    
-    /**
-     * Suite name.
-     * Own.
-     */
-    HBufC* iTitle;
-
-    /**
-     * Suite empty text
-     * Own.
-     */
-    HBufC* iEmptyText;
-    
-    /**
-     * Suite Widget type
-     */
-    THnSuiteWidgetType iWidgetType;
-    
-    /**
-     * Template.
-     */
-    RBuf8 iTemplate;
-
-    /**
-     * Holds models evaluated from CHnMdItem objects
-     */
-    RHashMap< TInt, CHnItemModel* > iItemsModels;
-
-    /**
-     * Holds positions of item ids and suite id.
-     * Own.
-     */
-    CHnItemsOrder* iItemsOrder;
-
-    /**
-     * Actions corresponding to events
-     * event id <=> array of actions models
-     */
-    RHashMap< TInt, CArrayPtr<CHnActionModel>* > iActions;
-    
-    /**
-     * Id of "empty" item
-     */
-    TInt iEmptyItemId;
-    
-    /**
-     * Suite observers.
-     * Not own.
-     */
-    RPointerArray<MHnSuiteObserver> iSuiteObservers;
-    
-    /**
-     * Observer priorities array.
-     */
-    RArray<TThreadPriority> iObserverPriorities;
-    
-    /**
-     * Stores IDs of currently higlighted item.
-     */ 
-    TSuiteHighlight iSuiteHighlight;
-    
-    /**
-     * Focus queue.
-     */
-    TInt iFocusQueue;
-    
-    /**
-     * Custom id.
-     */
-    TInt64 iCustomId;
-    
-    /**
-     * Event Handler from Suite Container.
-     * Used for executing item focused/unfocused events.
-     * 
-     * Not Own.
-     */ 
-    CHnEventHandler& iEventHandler;
-		
-    /**
-     * Indicates if the suite is active.
-     * Used for handling highlight events for items.
-     */ 
-    TBool iIsActive;
-    
-    /**
-     * Indicates if the suite is visible.
-     * Used for handling highlight events for items.
-     */ 
-    TBool iIsVisible;
-    
-    /**
-     * Exit mode.
-     */
-    TExitMode iExitMode;
-    /**
-     * Active Focus Handler.
-     */
-    CHnItemFocusHandler* iItemFocusHandler;
-    };
-
-#endif // C_HNSUITEMODEL_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitemodelcontainer.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* Copyright (c) 2007-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:   suite presentation models container
-*
-*/
-
-
-#ifndef C_HNSUITEMODELCONTAINER_H
-#define C_HNSUITEMODELCONTAINER_H
-
-#include <e32base.h>
-
-class MHnMdModelEventObserver;
-class CHnSuitesStack;
-class CHnEventHandler;
-class CHnSuiteModel;
-class CLiwGenericParamList;
-class MHnControllerInterface;
-class CLiwGenericParamList;
-
-/**
- * Predefined offsets.
- */
-enum THighlightOffset
-    {
-    EOffsetPrevious = -1,
-    EOffsetNone = 0,
-    EOffsetNext = 1
-    };
-
-/**
- *  Suite Model Container class.
- *  It manages the presentation models, and manages their position on the
- *  presentation stack.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuiteModelContainer ) : public CBase
-    {
-public:
-
-    /**
-     * Two-phased constructors.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    IMPORT_C static CHnSuiteModelContainer* NewL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController );
-    
-    /**
-     * Two-phased constructors.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    IMPORT_C static CHnSuiteModelContainer* NewLC( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController );
-
-    /**
-    * Virtual Destructor.
-    * 
-    * @since S60 5.0
-    */
-    ~CHnSuiteModelContainer();
-    
-    /**
-     * Pushes a new swuite model to the stack,
-     * by the name of aGenre
-     * 
-     * @since S60 v5.0
-     * @param aGenre Name of the suite.
-     * @return the Suite Model
-     */
-    IMPORT_C void PushNewSuiteModelL( const TDesC& aGenre  );
-
-    /**
-     * Fetches a Suite Model for the supplied genre name
-     * "root" name reserved for root grid
-     * 
-     * @since S60 v5.0
-     * @param aGenre genre name
-     * @return the Suite Model
-     */
-    IMPORT_C CHnSuiteModel* GetSuiteModel( const TDesC& aGenre );
-    
-    /**
-     * Pops the last Suite Model from the internal Suites Stack
-     * and retruns in turn the element which remains as the last
-     * after the change.
-     * 
-     * @since S60 v5.0
-     * @param aGenre Name of the suite which is expected to be at the top
-     * @return Suite Model which remains as the last.
-     */
-    IMPORT_C CHnSuiteModel* PopSuiteModelL( const TDesC& aGenre );
-   
-    /**
-     * Fetches the count of suites stored in the container.
-     * 
-     * @since S60 v5.0
-     * @return Suite count
-     */
-    IMPORT_C TInt GetSuiteModelCount() const;
-    
-    /**
-     * Fetches the last suite model from the container.
-     * 
-     * @since S60 5.0
-     * @return Requested, last suite model.
-     */
-    CHnSuiteModel* GetLastSuiteModel();
-    
-    /**
-     * Fetches parent suite model from the container.
-     * 
-     * @since S60 5.0
-     * @return Requested, last suite model.
-     */
-    CHnSuiteModel* GetParentSuiteModel();
-    
-    /**
-     * Fetches the last suite model from the container.
-     * 
-     * @since S60 5.0
-     * @param aPosition Position of the model in the stack.
-     * @return Requested suite model.
-     */
-    CHnSuiteModel* GetSuiteModel( TInt aPosition );
-    
-    /**
-     * Handles event.
-     *
-     * @since S60 5.0
-     * @param aEventId Event id.
-     * @param aRecipientId Recipient id.
-     * @param aEventParameters Parameters to an event.
-     * @return Status code.
-     */
-    IMPORT_C TInt OfferHnEventL( const TInt aEventId,
-            const TInt aRecipientId, CLiwGenericParamList* aEventParameters = NULL );
-    
-    /**
-     * Returns CHnSuiteModel matching given criteria (custom_id).
-     * 
-     * @param aCustomId Suite's custom identifier. 
-     * @return Pointer to the suite model or null if model not found.
-     */
-    IMPORT_C CHnSuiteModel* GetMatchingSuiteModel( TInt64 aCustomId );
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    IMPORT_C void RemoveLiwObjects();
-    
-private:
-
-    /**
-     * Standard C++ Constructor.
-     * 
-     * @since S60 5.0
-     */
-    CHnSuiteModelContainer( );
-      
-    /**
-     * Symbian 2nd phase constructor.
-     * 
-     * @since S60 5.0
-     * @param aModelObserver Interface of the model event observer.
-     * @param aController Interface enabling to issues request to Hn engine.
-     */
-    void ConstructL( MHnMdModelEventObserver& aModelObserver,
-            MHnControllerInterface& aController );
-    
-private: // data
-        
-    /**
-     * Event handler.
-     * Not own.
-     */
-    CHnEventHandler* iEventHandler;
-    
-    /**
-     * Suites stack
-     * Own
-     */
-    CHnSuitesStack* iSuitesStack;
-   
-    };
-
-#endif //C_HNSUITEMODELCONTAINER_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuiteobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2007-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:   suite observer interface
-*
-*/
-
-
-
-#ifndef HNSUITEOBSERVER_H
-#define HNSUITEOBSERVER_H
-
-#include <e32def.h>
-
-/**
- * Definition of events that are associated
- * with the lifecycle of a suite
- */
-enum THnCustomSuiteEvent
-    {
-        ESuitePushedToStack,
-        ESuitePoppedFromStack,
-        ESuiteModelInitialized,
-        ESuiteModelDestroyed,
-        ESuiteItemsAdded,
-        ESuiteItemsRemoved,
-        ESuiteItemsUpdated,
-        ESuiteHighlightChanged
-    };
-
-class CHnSuiteModel;
-
-/**
- *  Suite observer interface class.
- * 
- *  Interface, for observers of suite events. Suite 
- *  May inform its observers about different situation it encoutners.
- *  e.g. suite informs all about its initialization, its deletion, 
- *  about updates of items. 
- *  This interface is also used by the suite container stack to inform
- *  all interested classes of new suite being pushed or popped from the stack. 
- * 
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-class MHnSuiteObserver
-    {
-    
-public:
-
-    /**
-     * Whenever an event occurs, and suite wants to notify observers,
-     * it invokes this method on all of its own observers, passing the information
-     * about the particular event as a parameter.
-     * 
-     * @param aCustomSuiteEvent Type of evetn
-     * @param aModel Suite presentation model that is notifying.
-     */
-    virtual void HandleSuiteEventL ( THnCustomSuiteEvent aCustomSuiteEvent, 
-            CHnSuiteModel *aModel ) = 0;
-    
-    };
-
-
-#endif // HNSUITEOBSERVER_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hnsuitesstack.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2007-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:   suite stack
-*
-*/
-
-
-#ifndef C_HNSUITESSTACK_H
-#define C_HNSUITESSTACK_H
-
-#include <e32base.h>
-
-class CHnSuiteModel;
-class MHnControllerInterface;
-
-/**
- *  Class implements Suites stack.
- *  Suite stack is used to keep visual models of suites
- *  in the order they have been opened.
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnSuitesStack ): public CBase
-    {
-
-public:
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     * @param aControllerInterface A HN controller inteface.
-     * @return Fully constructed object.
-     */
-    IMPORT_C static CHnSuitesStack* NewL( MHnControllerInterface& aControllerInterface );
-    
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    ~CHnSuitesStack();
-    
-    /**
-     * Pushes a Suite Model onto the stack.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteModel Model to be pushed to stack.
-     * @return Quantity of models in the stack after insert.
-     */
-    IMPORT_C TInt PushL( CHnSuiteModel* aSuiteModel );
-
-    /**
-     * Pops the last Suite Model from the top of the stack.
-     * Ownership is transfered to the code that invokes it.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model object, ownership is transfered to 
-     *         invoking code.
-     */
-    IMPORT_C CHnSuiteModel* PopL();
-    
-    /**
-     * Gets the last Suite Model, from the top of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model at the top of the stack.
-     */
-    IMPORT_C CHnSuiteModel* GetLast();
-    
-    /**
-    * Gets the stack, from a certain position in the stack.
-    * Index 0, refers to the lowest Suite Model.
-    * 
-    * @since S60 v5.0
-    * @param aPositon Position to fetch model from.
-    * @return Suite Model form a certain posiotion.
-    */
-    IMPORT_C CHnSuiteModel* Get( TInt aPositon );
-    
-    /**
-     * Gets the Suite Model from the bottom of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Suite Model from the bottom of the stack.
-     */
-    IMPORT_C CHnSuiteModel* GetRootSuite();
-     
-    /**
-     * Checks if the stack is empty.
-     * 
-     * @since S60 v5.0
-     * @return Bollean value.
-     */
-    IMPORT_C TBool IsEmpty();
-    
-    /**
-     * Gets the size of the stack.
-     * 
-     * @since S60 v5.0
-     * @return Number of Suite Models in the stack.
-     */
-    IMPORT_C TInt Count();
-
-private:
-    
-    /**
-     * Constructor.
-     * 
-     * @since S60 v5.0
-     * @param aControllerInterface Reference to App Ui - event observer
-     */
-    CHnSuitesStack( MHnControllerInterface& aControllerInterface );
-
-    /**
-     * Second pahse constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL( );
-
-private:
-
-    /**
-     * Suites stack
-     */
-    RPointerArray< CHnSuiteModel > iStack;
-    
-    /**
-     * Reference to App Ui - event observer
-     */
-    MHnControllerInterface& iControllerInterface; 
-
-    };
-
-#endif // C_HNSUITESSSTACK_H
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/hntoolbarmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2007-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:   toolbar presentation model
-*
-*/
-
-
-#ifndef HNTOOLBARMODEL_H_
-#define HNTOOLBARMODEL_H_
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CHnButtonModel;
-
-/**
- *  Toolbar model class.
- *  
- *  Toolbar represents toolbar class from meta data model. Contains buttons.
- *  UI layer can fetch the data from toolbar model to display it on screen. 
- *
- *  @lib hnpresentationmodel
- *  @since S60 5.0
- *  @ingroup group_hnpresentationmodel
- */
-NONSHARABLE_CLASS( CHnToolbarModel ) : public CBase
-    {
-public:
-        
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C static CHnToolbarModel* NewLC();
-        
-    /**
-     * Virtual Destructor.
-     * 
-     * @since S60 5.0
-     */
-    IMPORT_C ~CHnToolbarModel();
-    
-    /**
-     * Adds toolbar button.
-     *
-     * @since S60 5.0 
-     * @param aButton Toolbar button to add
-     */
-    IMPORT_C void AddButtonL( CHnButtonModel* aButton );
-    
-    /**
-     * Gets toolbar button model.
-     * 
-     * @since S60 5.0
-     * @param aIndex Index of toolbar button
-     * @return Toolbar button model for item, NULL if not exist
-     */
-    IMPORT_C const CHnButtonModel* GetButton( TInt aIndex ) const;
-    
-    /**
-     * Informs if toolbar has any buttons.
-     * 
-     * @since S60 5.0
-     * @return true if has, false if doesn't
-     */    
-    IMPORT_C TBool HasButtons() const;
-    
-    /**
-     * Removes all  LIW objects owned by this object.
-     * 
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-     * @since S60 5.0
-     */
-    void RemoveLiwObjects();
-    
-private:
-    
-    /**
-     * Default constructor.
-     * 
-     * @param aMaxCount Maximal number of buttons in the toolbar.
-     * @since S60 5.0
-     */
-    CHnToolbarModel( TInt aMaxCount = 3);
-    
-    /**
-     * Second phase constructor.
-     * 
-     * @since S60 5.0
-     */
-    void ConstructL();
-    
-private: // data
-
-    /**
-     * Buttons for toolbar. Max 3 buttons.
-     */
-    RPointerArray< CHnButtonModel > iButtons;
-    
-private: // constants
-    
-    /**
-     * Max button count.
-     */
-    const TInt KMaxButtonCount;
-    };
-
-
-#endif // HNTOOLBARMODEL_H_
--- a/menufw/hierarchynavigator/hnpresentationmodel/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-#define APPEND_TO_DEBUG_FILE
-
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnpresentationmodel.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnactionmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-/*
-* Copyright (c) 2007-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:  action presentation model
-*
-*/
-
-
-#include <liwcommon.h>
-#include "hnsuitemodelcontainer.h"
-#include "hnactionmodel.h"
-#include "hnmdbasekey.h"
-#include "hnmdmodel.h"
-#include "hneventhandler.h"
-#include "hnhelper.inl"
-
-using namespace LIW;
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnActionModel* CHnActionModel::NewL()
-    {
-    CHnActionModel* self = new( ELeave ) CHnActionModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel::~CHnActionModel()
-    {
-    delete iConstructor;
-    delete iCommand;
-    
-    iService.Close();
-    iInterface.Close();
-    iCommandName.Close();
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnActionModel::ConstructL()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-EXPORT_C CLiwGenericParamList*  CHnActionModel::ConstructorLC()
-    {
-    CLiwGenericParamList* constructor = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( constructor );
-    if ( iConstructor )
-        {
-        iConstructor->ToGenericParamListL( *constructor );
-        }
-    return constructor;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::Service() const
-    {
-    return iService;
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLiwGenericParamList* CHnActionModel::CommandLC() const
-    {
-    CLiwGenericParamList* command = CLiwGenericParamList::NewL();
-    CleanupStack::PushL( command );
-    if ( iCommand )
-        {
-        iCommand->ToGenericParamListL( *command );        
-        }
-    return command;
-    }
-
-
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::Interface() const
-    {
-    return iInterface;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetConstructorL( CHnMdBaseKey* aData )
-    {
-    delete iConstructor;
-    iConstructor = aData;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetServiceL( const TDesC8& aSrevice )
-    {
-    iService.Close();
-    iService.CreateL( aSrevice );
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetCommand( CHnMdBaseKey* aCommand )
-    {
-    delete iCommand;
-    iCommand = aCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetInterfaceL( const TDesC8& aInterface )
-    {
-    iInterface.Close();
-    iInterface.CreateL( aInterface );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetCommandNameL( const TDesC8& aCommandName )
-    {
-    iCommandName.Close();
-    iCommandName.CreateL( aCommandName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnActionModel::SetServiceModeL( const TServiceMode aMode )
-    {
-    iMode = aMode;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnActionModel::CommandName() const
-{
-    return iCommandName;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TServiceMode CHnActionModel::ServiceMode() const
-{
-    return iMode;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel::CHnActionModel()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnActionModel* CHnActionModel::ConcretizeL( const CHnActionModel & aActionModel,
-        CLiwGenericParamList* aGenericParamList )
-    {
-    CHnActionModel* newInstance = CHnActionModel::NewL();
-    CleanupStack::PushL( newInstance );
-    
-    newInstance->iService.CreateL( aActionModel.Service() );
-    newInstance->iInterface.CreateL( aActionModel.Interface() );
-    newInstance->iCommandName.CreateL( aActionModel.CommandName() );
-    newInstance->iMode = aActionModel.iMode;
-    
-    if ( aActionModel.iCommand )
-        {
-        if ( aGenericParamList )
-            {
-            newInstance->iCommand = aActionModel.iCommand->EvaluateLC( *aGenericParamList );
-            }
-        else
-            {
-            newInstance->iCommand = aActionModel.iCommand->CopyLC();
-            }
-        CleanupStack::Pop( newInstance->iCommand );
-        }
-    
-    if (  aActionModel.iConstructor )
-        {
-        if ( aGenericParamList )
-            {
-            newInstance->iConstructor = aActionModel.iConstructor->EvaluateLC( *aGenericParamList );
-            }
-        else
-            {
-            newInstance->iConstructor = aActionModel.iConstructor->CopyLC();
-            }
-        CleanupStack::Pop( newInstance->iConstructor );
-        }
-
-    CleanupStack::Pop( newInstance );
-    return newInstance;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ------------------ ---------------------------------------------------------
-//
-TInt CHnActionModel::ExecuteL( CHnEventHandler & aEventHandler, 
-        CLiwGenericParamList *aExecutionParams )
-{
-    CHnActionModel* actionModel = ConcretizeL( *this, aExecutionParams );
-    CleanupStack::PushL( actionModel );
-    TRAPD( err, aEventHandler.ExecuteActionL( actionModel ) );
-    // forward KErrNoMemory error to most outer TRAP.
-    if ( KErrNoMemory == err || KErrDiskFull == err )
-        {
-        User::Leave( err );
-        }
-    CleanupStack::PopAndDestroy( actionModel );
-    return err;
-}
-
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributebase.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2007-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:  abstract base class for attribute models.
-*
-*/
-
-
-#include "hnattributebase.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeBase::SetNameL( const TDesC8& aName )
-    {
-    iName.Close();
-    iName.CreateL( aName.Length() + 1 );
-    iName.Copy( aName );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnAttributeBase::Name( ) const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeBase::~CHnAttributeBase( )
-    {
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TAttributeType CHnAttributeBase::Type()
-    {
-    return iAttributeType;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeBase::RemoveLiwObjects()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnAttributeBase::Value()
-    {
-    // The descendant should override this if such functionality is provided.
-    // if that functionality is not provided, generally it means that this
-    // should not be invoked this assert in debug.
-    ASSERT(EFalse);
-    return KNullDesC8;
-    }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnAttributeBase::GetIcon( TSize* /*aDesiredIconSize*/ )
-    {
-    // The descendant should override this if such functionality is provided.
-    // if that functionality is not provided, generally it means that this
-    // should not be invoked this assert in debug.    
-    ASSERT(EFalse);
-    return NULL;
-    }
-
-CHnIconHolder* CHnAttributeBase::GetIconHolder( TSize* /*aDesiredIconSize*/ )
-    {
-    // The descendant should override this just like the other methods.
-    ASSERT( EFalse );
-    return NULL;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributeimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image attribute model
- *
-*/
-
-
-#include <bautils.h>
-#include <f32file.h>
-#include <liwcommon.h>
-
-#include "hnglobals.h"
-#include "hnattributeimage.h"
-#include "hnattrimgprovider.h"
-#include "hnattrimgprovthememif.h"
-#include "hnattrimgprovappimage.h"
-#include "hnattrimgprovfileimage.h"
-#include "hnattrimgprovliwimage.h"
-#include "hnattrimgprovemptyimage.h"
-#include "hnattrimgprovsvgimage.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeImage::CHnAttributeImage()
-    {
-    iSkinId = KAknsIIDNone;
-    iAttributeType = EImageAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeImage::~CHnAttributeImage()
-    {
-    iFileNameSrc.Close();
-    iMifFile.Close();
-    RemoveLiwObjects();
-    delete iAttrImgProvider;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeImage* CHnAttributeImage::NewL()
-    {
-    CHnAttributeImage* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeImage* CHnAttributeImage::NewLC()
-    {
-    CHnAttributeImage* self = new ( ELeave ) CHnAttributeImage;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeImage::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetSkinId(TAknsItemID aSkinId)
-    {
-    iSkinId = aSkinId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetFileNameSrc(HBufC* aFileNameSrc)
-    {
-    iFileNameSrc.Assign( aFileNameSrc );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMifFile(HBufC* aMifFile)
-    {
-    iMifFile.Assign( aMifFile );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetBitmapId(TInt aBitmapId)
-    {
-    iBitmapId = aBitmapId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMaskId(TInt aMaskId)
-    {
-    iMaskId = aMaskId ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetApplicationUid(TUid aApplicationUid)
-    {
-    iApplicationUid = aApplicationUid ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetBitmap( TLiwVariant* aBitmap )
-    {
-    iBitmap = aBitmap ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeImage::SetMask( TLiwVariant* aMask )
-    {
-    iMask = aMask ;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttributeImage::Prepare()
-    {
-    TInt error = KErrNone;
-    if( !iAttrImgProvider )
-        {
-        TRAP( error, PrepareProviderL() );
-        }
-    return error;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeImage::PrepareProviderL()
-    {
-    ASSERT( !iAttrImgProvider );
-    if ( IsThemeMif() )
-        {
-        iAttrImgProvider = CHnAttrImgProvThemeMif::NewL( iSkinId, iMifFile, 
-                iBitmapId, iMaskId );
-        }
-    else if ( IsApplicationImage() )
-        {
-        iAttrImgProvider = CHnAttrImgProvAppImage::NewL( iApplicationUid );
-        }
-    else if ( IsFileImageL() )
-        {
-        if ( iFileNameSrc.Find( KSvgFileExtension() ) != KErrNotFound )
-        	{
-        	iAttrImgProvider = CHnAttrImgProvSvgImage::NewL( iFileNameSrc );
-        	}
-        else
-        	{
-        	iAttrImgProvider = CHnAttrImgProvFileImage::NewL( iFileNameSrc );
-        	}
-        }
-    else if ( IsLiwImage() )
-        {
-        iAttrImgProvider = CHnAttrImgProvLiwImage::NewL( iBitmap, iMask );
-        }
-    // if strin couldn't be resolved then provide empty one
-    else
-        {
-        iAttrImgProvider = CHnAttrImgProvEmptyImage::NewL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttributeImage::IsThemeMif()
-    {
-    if( iSkinId != KAknsIIDNone )
-        {
-        return ETrue;
-        }
-    if( iMifFile.Length() && iBitmapId && iMaskId )
-        {
-        return ETrue;
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttributeImage::IsApplicationImage()
-    {
-    TBool ret( EFalse );
-    if ( iApplicationUid.iUid != 0 )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TBool CHnAttributeImage::IsFileImageL()
-    {
-    TBool ret( EFalse );
-    if ( iFileNameSrc.Length() > 0  )
-        {
-        RFs& fs = CEikonEnv::Static()->FsSession();
-        
-        if ( BaflUtils::FileExists( fs, iFileNameSrc ) )
-            {
-            ret = ETrue;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TBool CHnAttributeImage::IsLiwImage()
-    {
-    TBool ret( EFalse );
-    if ( iBitmap )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CGulIcon* CHnAttributeImage::GetIcon( TSize* aDesiredIconSize )
-    { 
-    if ( Prepare() == KErrNone )
-        {
-        return iAttrImgProvider->GetIcon( aDesiredIconSize );
-        }
-    else 
-        {
-        return NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttributeImage::GetIconHolder( TSize* aDesiredIconSize )
-{
-    CHnIconHolder* iconHolder = NULL;
-    if ( Prepare() == KErrNone )
-        {
-        iconHolder = iAttrImgProvider->GetIconHolder( aDesiredIconSize );
-        }
-    return iconHolder;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnAttributeImage::RemoveLiwObjects()
-    {
-    if ( iAttrImgProvider )
-        {
-        iAttrImgProvider->RemoveLiwObjects();
-        }
-
-    if( iBitmap )
-        {
-        iBitmap->Reset();
-        delete iBitmap;
-        iBitmap = NULL;
-        }
-
-    if( iMask )
-        {
-        iMask->Reset();
-        delete iMask;
-        iMask = NULL;
-        }
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattributetext.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2007-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:  text attribute model 
-*
-*/
-
-
-#include "hnattributetext.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeText::CHnAttributeText()
-    {
-    iAttributeType = ETextAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnAttributeText::~CHnAttributeText()
-    {
-    iValue.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeText* CHnAttributeText::NewL()
-    {
-    CHnAttributeText* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttributeText* CHnAttributeText::NewLC()
-    {
-    CHnAttributeText* self = new ( ELeave ) CHnAttributeText;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttributeText::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnAttributeText::SetValueL ( const TDesC8& aValue )
-    {
-    iValue.Close();
-    iValue.CreateL( aValue.Length() + 1 );
-    iValue.Copy( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttributeText::Value( )
-    {
-    return iValue;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovappimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for application uid
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <avkon.mbg>
-#include "hnglobals.h"
-#include "hnattrimgprovappimage.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvAppImage::CHnAttrImgProvAppImage( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvAppImage::ConstructL( TUid aApplicationUid )
-    {
-    iApplicationUid = aApplicationUid;
-    
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-    ProvideBitmapL( NULL, bitmap, mask );
-    CreateIconL( bitmap, mask );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewL( 
-        TUid aApplicationUid )
-    {
-    CHnAttrImgProvAppImage* self = NewLC( aApplicationUid );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewLC( 
-        TUid aApplicationUid )
-    {
-    CHnAttrImgProvAppImage* self = new( ELeave ) CHnAttrImgProvAppImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aApplicationUid );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvAppImage::~CHnAttrImgProvAppImage()
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvAppImage::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvAppImage::ProvideBitmapL( TInt /*aId*/, CFbsBitmap*& aBitmap, 
-        CFbsBitmap*& aMaskBitmap )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    TInt err( KErrNone );
-    TRAP( err,
-        {
-        AknsUtils::CreateAppIconLC( skin, iApplicationUid,
-            EAknsAppIconTypeContext, aBitmap, aMaskBitmap );
-        CleanupStack::Pop( 2 ); // for trap
-        }
-        );
-    
-    if( err != KErrNone )
-        {
-        // If icon is not created, try to create default application icon
-        TRAP( err,
-            {
-            AknsUtils::CreateIconLC( skin,
-                KAknsIIDQgnMenuUnknownLst, aBitmap, aMaskBitmap,
-                AknIconUtils::AvkonIconFileName(),
-                EMbmAvkonQgn_menu_unknown_lst,
-                EMbmAvkonQgn_menu_unknown_lst_mask );
-            CleanupStack::Pop( 2 ); // for trap
-            }
-            );
-        }
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovemptyimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for empty image
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnattrimgprovemptyimage.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvEmptyImage::ConstructL( )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage* CHnAttrImgProvEmptyImage::NewL( )
-    {
-    CHnAttrImgProvEmptyImage* self = NewLC( );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage* CHnAttrImgProvEmptyImage::NewLC( )
-    {
-    CHnAttrImgProvEmptyImage* self = new( ELeave ) CHnAttrImgProvEmptyImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage::CHnAttrImgProvEmptyImage()
-{
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvEmptyImage::~CHnAttrImgProvEmptyImage()
-{
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvEmptyImage::Value( )
-    {
-    return iEmptyVal;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovfileimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for image file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hnattrimgprovfileimage.h"
-#include "imageconversion.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvFileImage::CHnAttrImgProvFileImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvFileImage::CorrectBitmapSize(
-        CImageDecoder& aImageDec, TSize& aBitmapSize )
-    {
-    const TFrameInfo& frameInfo = aImageDec.FrameInfo();
-    TSize imageSize = frameInfo.iOverallSizeInPixels;
-    if ( imageSize.iWidth && imageSize.iHeight )
-        {
-        if ( imageSize.iWidth <= aBitmapSize.iWidth
-                && imageSize.iHeight <= aBitmapSize.iHeight)
-            {
-            aBitmapSize = imageSize;
-            }
-        else
-            {
-            TInt reductionFactor = aImageDec.ReductionFactor(
-                    imageSize, aBitmapSize );
-            TInt err = aImageDec.ReducedSize(
-                    imageSize, reductionFactor, aBitmapSize );
-            ASSERT( KErrNone == err );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvFileImage::ConstructL( const TDesC& aFileName )
-    {
-    TSize bitmapSize( KMaxIconBitmapSize, KMaxIconBitmapSize );
-    
-    HBufC8* buf = HnConvUtils::StrToStr8LC( aFileName );
-    iValue.CreateL( aFileName.Length() + 1  );
-    iValue.Copy( *buf );
-    CleanupStack::PopAndDestroy( buf );
-    
-    CImageDecoder* imageDec = CImageDecoder::FileNewL(CEikonEnv::Static()->FsSession(), 
-            aFileName, CImageDecoder::EOptionAlwaysThread);
-    CleanupStack::PushL( imageDec );            
-    
-    CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
-    TDismissableCleaner bitmapCleaner( bitmap );
-    CleanupClosePushL( bitmapCleaner );
-    CFbsBitmap* mask = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( mask );
-
-    CorrectBitmapSize( *imageDec, bitmapSize );
-    User::LeaveIfError( bitmap->Create( bitmapSize, EColor64K ) );
-    User::LeaveIfError( mask->Create( bitmapSize, EGray256  ) );
-    TRequestStatus status = KRequestPending;
-    imageDec->Convert( &status, *bitmap, *mask );
-    User::WaitForRequest( status );  
-
-    CleanupStack::Pop( mask );
-    CFbsBitmap* avkonishMask = AknIconUtils::CreateIconL( mask );
-    mask = NULL;
-    CleanupStack::PushL( avkonishMask );
-
-    bitmapCleaner.Dismiss();
-    CFbsBitmap* avkonishBitmap = AknIconUtils::CreateIconL( bitmap );
-    bitmap = NULL;
-    CleanupStack::PushL( avkonishBitmap );
-    
-    CreateIconL( avkonishBitmap, avkonishMask );
-    CleanupStack::Pop( avkonishBitmap );
-    CleanupStack::Pop( avkonishMask );
-    
-    CleanupStack::PopAndDestroy( &bitmapCleaner );
-    CleanupStack::PopAndDestroy( imageDec ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvFileImage* CHnAttrImgProvFileImage::NewL( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvFileImage* self = NewLC( aFileName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvFileImage* CHnAttrImgProvFileImage::NewLC( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvFileImage* self = new( ELeave ) CHnAttrImgProvFileImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvFileImage::~CHnAttrImgProvFileImage()
-    {
-    iValue.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvFileImage::Value()
-    {
-    return iValue;
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovider.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-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:  base class for all image providers
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include "hnattrimgprovider.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TDismissableCleaner::TDismissableCleaner( TAny* aToBeDeletedOnLeave )
-    : mToBeDeletedOnLeave( aToBeDeletedOnLeave )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void TDismissableCleaner::Close()
-    {
-    delete mToBeDeletedOnLeave;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void TDismissableCleaner::Dismiss()
-    {
-    mToBeDeletedOnLeave = NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvider::CHnAttrImgProvider()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvider::~CHnAttrImgProvider()
-    {
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvider::CreateIconL( CFbsBitmap* aBitmap, 
-                                      CFbsBitmap* aMaskBitmap )
-    {
-    CGulIcon* newIcon = CGulIcon::NewL( aBitmap, aMaskBitmap );
-    CleanupStack::PushL( newIcon );
-    CHnIconHolder *newIconHolder = new (ELeave) CHnIconHolder();
-    newIconHolder->SetGulIcon( newIcon );
-    CleanupStack::Pop( newIcon );
-    
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    iIconHolder = newIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CHnAttrImgProvider::GetIcon( TSize* /*aDesiredIconSize*/ )
-    {   
-    return iIconHolder ? iIconHolder->GetGulIcon() : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttrImgProvider::GetIconHolder( TSize* /*aDesiredIconSize*/ )
-    {
-    return iIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvider::RemoveLiwObjects()
-    {
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovliwimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for liw buffer
-*
-*/
-
-
-#include <fbs.h>
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <liwcommon.h>
-#include <liwbufferextension.h>
-#include <s32mem.h>
-#include "hnattrimgprovliwimage.h"
-#include "hnextbmpiconholder.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvLiwImage::CHnAttrImgProvLiwImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::ConstructL( TLiwVariant*& aBitmap, 
-                                         TLiwVariant*& aMaskBitmap )
-    {
-    ASSERT( aBitmap );
-    CFbsBitmap* mask = NULL;
-    CFbsBitmap* bitmap = CreateBitmapFromVariantL( *aBitmap );
-    if ( bitmap )
-        {
-        if( aMaskBitmap )
-            {
-            mask = CreateBitmapFromVariantL( *aMaskBitmap );
-            }
-        CreateIconL( bitmap, mask );
-        }
-    else if ( aBitmap->TypeId() == LIW::EVariantTypeBuffer )
-        {
-        CLiwBitmapBuffer* bmpBuff =
-            static_cast<CLiwBitmapBuffer*>( aBitmap->AsBuffer() ); 
-        CLiwBitmapBuffer* maskBuff =
-            static_cast<CLiwBitmapBuffer*>(
-                    aMaskBitmap ? aMaskBitmap->AsBuffer() : NULL );
-        if ( bmpBuff )
-            {
-            bitmap = bmpBuff->AsBitmap();
-            }
-        if ( maskBuff )
-            {
-            mask = maskBuff->AsBitmap();
-            }
-        if ( bitmap )
-            {
-            CreateExtIconL( bitmap, mask, bmpBuff, maskBuff );
-            }
-        }
-    if ( !bitmap )
-        {
-        //No point to keep variant as bitmap was not created
-        aBitmap->Reset();
-        delete aBitmap;
-        aBitmap = NULL;
-        }
-    if ( aMaskBitmap && !mask )
-        {
-        //No point to keep variant as bitmap was not created
-        aMaskBitmap->Reset();
-        delete aMaskBitmap;
-        aMaskBitmap = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::CreateExtIconL( CFbsBitmap* aBitmap,
-        CFbsBitmap* aMask, CLiwBitmapBuffer* aExtBmp,
-        CLiwBitmapBuffer* aExtMask )
-    {
-    // the condition in the assertion below means: if you provide aMask then
-    // you must also provide aExtMask
-    __ASSERT_DEBUG( aBitmap && aExtBmp && ( !aMask || aExtMask ),
-            User::Invariant() );
-    
-    CGulIcon* newIcon = CGulIcon::NewL( aBitmap, aMask );
-    CleanupStack::PushL( newIcon );
-    newIcon->SetBitmapsOwnedExternally( ETrue );
-    CHnExtBmpIconHolder *newIconHolder = new (ELeave) CHnExtBmpIconHolder();
-    newIconHolder->SetGulIcon( newIcon , aExtBmp, aExtMask );
-    CleanupStack::Pop( newIcon );
-    
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        }
-    iIconHolder = newIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvLiwImage* CHnAttrImgProvLiwImage::NewL( 
-        TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap )
-    {
-    CHnAttrImgProvLiwImage* self = NewLC( aBitmap, aMaskBitmap );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvLiwImage* CHnAttrImgProvLiwImage::NewLC( 
-        TLiwVariant*& aBitmap, TLiwVariant*& aMaskBitmap )
-    {
-    CHnAttrImgProvLiwImage* self = new( ELeave ) CHnAttrImgProvLiwImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aBitmap, aMaskBitmap );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvLiwImage::~CHnAttrImgProvLiwImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvLiwImage::RemoveLiwObjects()
-    {
-    if ( iIconHolder )
-        {
-        iIconHolder->Close();
-        iIconHolder = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvLiwImage::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CFbsBitmap* CHnAttrImgProvLiwImage::CreateBitmapFromVariantL( 
-                                                const TLiwVariant& aVariant )
-    {
-    CFbsBitmap* bitmap( NULL );
-    TInt handle = 0;
-
-    if ( ExtractBitmapHandleFromVariant( aVariant, handle ) == KErrNone )
-        {
-        CFbsBitmap* tempBitmap  = new( ELeave ) CFbsBitmap;
-        if ( tempBitmap->Duplicate( handle ) == KErrNone )
-            {
-            bitmap = tempBitmap;
-            }
-        else
-            {
-            delete tempBitmap;
-            }
-        }
-    else if ( aVariant.TypeId() == LIW::EVariantTypeDesC8 )
-        {
-        CFbsBitmap* tempBitmap = new ( ELeave ) CFbsBitmap;
-        CleanupStack::PushL( tempBitmap );
-        TPtrC8 buf = aVariant.AsData();
-        RDesReadStream stream( buf );
-        CleanupClosePushL( stream );
-        tempBitmap->InternalizeL( stream );
-        CleanupStack::PopAndDestroy( &stream );
-        CleanupStack::Pop( tempBitmap );
-        bitmap = tempBitmap;
-        }
-    return bitmap;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-TInt CHnAttrImgProvLiwImage::ExtractBitmapHandleFromVariant(
-        const TLiwVariant& aVariant, TInt& aHandle )
-    {
-    TInt err = KErrNone;
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeTInt32:
-            aHandle = static_cast<TInt>( aVariant.AsTInt32() );         
-            break;
-        case LIW::EVariantTypeTUint:
-            aHandle = static_cast<TInt>( aVariant.AsTUint() );         
-            break;
-        case LIW::EVariantTypeTInt64:
-            aHandle = static_cast<TInt>( aVariant.AsTInt64() );         
-            break;
-        case LIW::EVariantTypeTBool:
-            // Putting a TInt into a TLiwVariant will result in the variant
-            // storing a TBool variable. CFbsBitmap::Handle() returns TInt, so
-            // we can assume that the TBool stored in aVariant is in fact TInt.
-            aHandle = static_cast<TInt>( aVariant.AsTBool() );
-            break;
-        default:
-            err = KErrNotFound;
-        }
-    return err;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovsvgimage.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for image file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include "hnconvutils.h"
-#include "hnglobals.h"
-#include "hnattrimgprovsvgimage.h"
-#include "SVGEngineInterfaceImpl.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvSvgImage::CHnAttrImgProvSvgImage()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::ConstructL( const TDesC& aFileName )
-    {
-    iBitmap = new (ELeave) CFbsBitmap();
-    iMask = new (ELeave) CFbsBitmap();
-    TFontSpec fontSpec;
-       
-    iDummyBitmap = new( ELeave ) CFbsBitmap;
-    User::LeaveIfError( iDummyBitmap->Create( TSize( 0, 0 ), EGray2 ) );
-
-    
-    iSvgEngine = CSvgEngineInterfaceImpl::NewL( iDummyBitmap, this, fontSpec );
-    iSvgEngine->SetBackgroundColor( 0 );
-    iSvgEngine->SetDRMMode( EFalse );
-    
-    User::LeaveIfError( iSvgEngine->PrepareDom( aFileName, iHandle )->SystemErrorCode() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::RenderIcon( TSize aDesiredIconSize )
-    {   
-    TInt err = iBitmap->Create( aDesiredIconSize, EColor64K );
-    if ( err == KErrNone )
-        {
-        err = iMask->Create( aDesiredIconSize, EGray256 );
-        }
-    if ( err == KErrNone )
-        {
-        iSvgEngine->UseDom( iHandle, iBitmap, iMask );
-        iSvgEngine->SetPreserveAspectRatio( NULL, ESvgPreserveAspectRatio_XmidYmid, 
-                ESvgMeetOrSlice_Meet, ETrue);
-        iSvgEngine->Start();
-        }
-    return err; 
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvSvgImage::~CHnAttrImgProvSvgImage()
-    {
-    if ( iSvgEngine )
-    	{
-    	iSvgEngine->UseDom( iHandle, NULL, NULL );
-    	iSvgEngine->DeleteDom( iHandle );
-    	}
-    delete iDummyBitmap;
-    delete iSvgEngine;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvSvgImage* CHnAttrImgProvSvgImage::NewL( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvSvgImage* self = NewLC( aFileName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvSvgImage* CHnAttrImgProvSvgImage::NewLC( 
-        const TDesC& aFileName )
-    {
-    CHnAttrImgProvSvgImage* self = new( ELeave ) CHnAttrImgProvSvgImage;
-    CleanupStack::PushL( self );
-    self->ConstructL( aFileName );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CHnAttrImgProvSvgImage::GetIcon( TSize* aDesiredIconSize )
-    {
-    TInt err = KErrNone;
-    if ( !iIconHolder || !iIconHolder->GetGulIcon() )
-        {
-        TSize targetSize = aDesiredIconSize ?
-            *aDesiredIconSize : TSize( KDefaultSvgIconSize, KDefaultSvgIconSize );
-        err = RenderIcon( targetSize );
-        if ( err == KErrNone )
-            {
-            TRAP( err, CreateIconL( iBitmap, iMask ) );
-            }
-        }
-    else if ( aDesiredIconSize && iBitmap->SizeInPixels() != *aDesiredIconSize )
-        {
-        err = RenderIcon( *aDesiredIconSize );
-        }
-    
-    return ( !err && iIconHolder ? iIconHolder->GetGulIcon() : NULL );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder* CHnAttrImgProvSvgImage::GetIconHolder( TSize* aDesiredIconSize )
-    {
-    GetIcon( aDesiredIconSize );
-    return iIconHolder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::UpdateScreen()
-	{
-
-	}
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-TBool CHnAttrImgProvSvgImage::ScriptCall( const TDesC& /* aScript */,
-		CSvgElementImpl* /* aCallerElement */ )
-	{
-	return EFalse;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::FetchImage( const TDesC& /* aUri */, 
-		RFs& /* aSession */, RFile& /* aFileHandle */ )
-	{
-	return KErrNotSupported;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnAttrImgProvSvgImage::FetchFont( const TDesC& /* aUri */, 
-		RFs& /* aSession */, RFile& /* aFileHandle */ )
-	{
-	return KErrNotSupported;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvSvgImage::UpdatePresentation(
-		const TInt32&  /*aNoOfAnimation*/ )
-	{
-	
-	}
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnattrimgprovthememif.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2007-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:  image provider for mif file
-*
-*/
-
-
-#include <AknsSkinInstance.h>
-#include <AknsUtils.h>
-#include <mifconvdefs.h>
-#include "hnattrimgprovthememif.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvThemeMif::CHnAttrImgProvThemeMif( )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvThemeMif::ConstructL( TAknsItemID aSkinId,
-        const TDesC& aFile, TInt aBitmapId, TInt aMaskId )
-    {
-    iSkinId = aSkinId;
-    iFile.Set( aFile );
-    iBitmapId = aBitmapId;
-    iMaskId = aMaskId;
-
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-    if ( ValidateIconIds() )
-        {
-        ProvideBitmapL( NULL, bitmap, mask );
-        CreateIconL( bitmap, mask );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvThemeMif* CHnAttrImgProvThemeMif::NewL( 
-        TAknsItemID aSkinId, const TDesC& aFile, 
-        TInt aBitmapId, TInt aMaskId )
-    {
-    CHnAttrImgProvThemeMif* self = NewLC( aSkinId, aFile, 
-            aBitmapId, aMaskId );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CHnAttrImgProvThemeMif::ValidateIconIds()
-    {
-    return ((iSkinId.iMajor != KErrNotFound && iSkinId.iMinor != KErrNotFound)
-            || (iBitmapId >= KMifIdFirst && iMaskId >= KMifIdFirst));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnAttrImgProvThemeMif* CHnAttrImgProvThemeMif::NewLC( 
-        TAknsItemID aSkinId, const TDesC& aFile,
-        TInt aBitmapId, TInt aMaskId )
-    {
-    CHnAttrImgProvThemeMif* self = new( ELeave ) CHnAttrImgProvThemeMif;
-    CleanupStack::PushL( self );
-    self->ConstructL( aSkinId, aFile, aBitmapId, aMaskId );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnAttrImgProvThemeMif::~CHnAttrImgProvThemeMif()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CHnAttrImgProvThemeMif::Value( )
-    {
-    return iValue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnAttrImgProvThemeMif::ProvideBitmapL( TInt /*aId*/, CFbsBitmap*& aBitmap, 
-        CFbsBitmap*& aMaskBitmap )
-    {
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsUtils::CreateIconL( skin, iSkinId, aBitmap, aMaskBitmap,
-            iFile, iBitmapId, iMaskId );
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnbuttonmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,168 +0,0 @@
-/*
-* Copyright (c) 2007-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:  toolbar button model
-*
-*/
-
-
-#include "hnbuttonmodel.h"
-#include "gulicon.h"
-#include "hnattributeimage.h"
-#include "hnattributebase.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnButtonModel* CHnButtonModel::NewLC( TInt aIndex )
-    {
-    CHnButtonModel* self = new( ELeave ) CHnButtonModel( aIndex );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnButtonModel::~CHnButtonModel()
-    {
-    iToolTip.Close();
-    //delete iIcon;
-    delete iIconAttribute;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnButtonModel::GetIcon() const
-    {
-    CGulIcon* icon = NULL;
-    
-    if ( iIconAttribute )
-        {
-        icon = iIconAttribute->GetIcon();
-        }
-    
-    return icon;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetIcon( CHnAttributeBase* aAttribute )
-    {
-    delete iIconAttribute;
-    iIconAttribute = NULL;
-    iIconAttribute = aAttribute;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnButtonModel::GetButtonText() const
-    {
-    return iToolTip; 
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetHelpTextL( const TDesC& aToolTip )
-    {
-    iToolTip.Close();
-    iToolTip.CreateL( aToolTip );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnButtonModel::GetDimmed() const
-    {
-    return iDimmed;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetDimmed( TBool aDimmed )
-    {
-    iDimmed = aDimmed;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnButtonModel::GetIndex() const
-    {
-    return iIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnButtonModel::GetEventId() const
-    {
-    return iEventId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnButtonModel::SetEventId( TInt aEventId )
-    {
-    iEventId = aEventId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnButtonModel::RemoveLiwObjects()
-    {
-    iIconAttribute->RemoveLiwObjects();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnButtonModel::CHnButtonModel( TInt aIndex ) 
-    {
-    iIndex = aIndex;
-    iDimmed = EFalse;
-    iEventId = KErrNotFound;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnButtonModel::ConstructL()
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hneventhandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* Copyright (c) 2007-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:  event handler class
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hneventhandler.h"
-#include "hnmdmodel.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnmdbasekey.h"
-#include "hncontrollerinterface.h"
-#include "hnactionmodel.h"
-#include "hnservicehandler.h"
-#include "menudebug.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// Safe constructor. Initializes refrerece to the Meta Data Model in which 
-// the event-to-action mappings are stored.
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler::CHnEventHandler( MHnMdModelEventObserver& aModelObserver,
-        MHnControllerInterface& aController ):
-        iEventObserver( aModelObserver), iControllerInterface( aController )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler::~CHnEventHandler()
-    {
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler* CHnEventHandler::NewLC( 
-                                      MHnMdModelEventObserver& aModelObserver,
-                                      MHnControllerInterface& aController )
-    {
-    CHnEventHandler* self =
-        new (ELeave)CHnEventHandler( aModelObserver, aController );
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnEventHandler* CHnEventHandler::NewL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    CHnEventHandler* self=CHnEventHandler::NewLC( aModelObserver, 
-                                                  aController );
-    CleanupStack::Pop(self); 
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnEventHandler::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-
-TInt CHnEventHandler::ExecuteStandardActionL( CHnActionModel* aActionModel )
-    {
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            aActionModel->Service(),
-            aActionModel->Interface(),
-            aActionModel->CommandName(),
-            aActionModel->ServiceMode(),
-            aActionModel->ConstructorLC(), 
-            aActionModel->CommandLC() );
-
-    CleanupStack::Pop( 2 );
-    TInt res = iServiceHandler->ExecuteL( this, 0 ); 
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExtractUidFromActionL( const TDesC8& aInterface, 
-        TUid& aUid )
-    {
-    DEBUG16(("_MM_: CHnEventHandler::ExtractUidFromActionL UIext - uid %S",
-                &aInterface ));
-  
-    TLex8 lex( aInterface );
-    lex.Inc( 2 );
-    return lex.Val( (TUint32 &) aUid.iUid, EHex );
-    }
-    
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExecuteInternalActionL( CHnActionModel* aActionModel )
-    {
-    TInt ret(KErrNotFound);
-    CLiwGenericParamList* params = aActionModel->CommandLC();
-    if ( aActionModel->CommandName() == KServiceOpenSuite )
-        {
-        ret = iEventObserver.HandleModelEventL( KNewSuiteLoadedMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceSwitchWidget )
-        {
-        ret = iEventObserver.HandleModelEventL( KSwitchWidgetMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceStartEditMode )
-        {
-        ret = iEventObserver.HandleModelEventL( KStartEditModeMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceStopEditMode )
-        {
-        ret = iEventObserver.HandleModelEventL( KStopEditModeMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KServiceBack )
-        {
-        ret = iEventObserver.HandleModelEventL( KBackMdEvent(), 
-                *params );
-        }
-    else if ( aActionModel->CommandName() == KSetFocus )
-        {
-        ret = iEventObserver.HandleModelEventL( KSetFocusEvent(), 
-                *params );
-        }
-
-    CleanupStack::PopAndDestroy( params );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnEventHandler::ExecuteExtensionManagerActionL(
-        CHnActionModel* aActionModel )
-    {
-    TUid uid;
-    TInt err = ExtractUidFromActionL( aActionModel->Interface(), uid );
-    
-    if ( KErrNone == err )
-        {
-        HBufC* cmd = HnConvUtils::Str8ToStrFastLC( aActionModel->CommandName() );
-        CLiwGenericParamList* command = aActionModel->CommandLC();
-        err = iControllerInterface.ExecuteExtensionActionL( uid, *cmd, command );        
-        CleanupStack::PopAndDestroy( command );
-        CleanupStack::PopAndDestroy( cmd );
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnEventHandler::ExecuteActionL( CHnActionModel* aActionModel )
-    {
-    ASSERT( aActionModel );
-    TInt err( KErrNone );
-    
-    if( aActionModel->Service() == KServiceMultimediaMenu )
-        {
-        if ( aActionModel->Interface().Length() == 0 )
-            {
-            err = ExecuteInternalActionL( aActionModel );
-            }
-        else
-            {
-            err = ExecuteExtensionManagerActionL( aActionModel );
-            }
-        }
-    else
-        {
-        err = ExecuteStandardActionL( aActionModel );
-        }
-    
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-TInt CHnEventHandler::HandleNotifyL( TInt /*aCmdId*/, TInt /*aEventId*/,
-        CLiwGenericParamList& /*aEventParamList*/,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    return KErrNone;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnextbmpiconholder.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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:  
-*
-*/
-
-
-#include <gulicon.h>
-#include <liwbufferextension.h>
-#include "hnextbmpiconholder.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnExtBmpIconHolder::SetGulIcon( CGulIcon* aGulIcon,
-        CLiwBitmapBuffer* aBmpBuffer, CLiwBitmapBuffer* aMaskBuffer )
-    {
-    __ASSERT_DEBUG( aGulIcon && aBmpBuffer, User::Invariant() );
-    
-    if ( aGulIcon )
-        {
-        __ASSERT_DEBUG( aGulIcon->BitmapsOwnedExternally(), User::Invariant() ); 
-        CHnIconHolder::SetGulIcon( aGulIcon );
-        aGulIcon->SetBitmapsOwnedExternally( ETrue );
-        if ( aBmpBuffer )
-            {
-            iBmpBuffer = aBmpBuffer;
-            iBmpBuffer->IncRef();
-            }
-        if ( aMaskBuffer )
-            {
-            iMaskBuffer = aMaskBuffer;
-            iMaskBuffer->IncRef();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnExtBmpIconHolder::~CHnExtBmpIconHolder()
-    {
-    if ( iBmpBuffer )
-        {
-        iBmpBuffer->DecRef();
-        }
-    if ( iMaskBuffer )
-        {
-        iMaskBuffer->DecRef();
-        }
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hniconholder.cpp	Thu Mar 18 14:45:17 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:  
-*
-*/
-
-
-#include <gulicon.h>
-#include "hniconholder.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnIconHolder::SetGulIcon( CGulIcon* aGulIcon )
-    {
-    ASSERT( !iGulIcon ); // icon may be set only once
-    iGulIcon = aGulIcon;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGulIcon* CHnIconHolder::GetGulIcon() const
-    {
-    return iGulIcon;
-    }
-    
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnIconHolder::~CHnIconHolder()
-    {
-    delete iGulIcon;
-    }
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemfocushandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
-* 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:  Application UI class
-*  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*/
-
-
-#include "hnitemfocushandler.h"
-#include "hnglobals.h"
-#include "hnsuitemodel.h"
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId )
-// ---------------------------------------------------------------------------
-//
-TFocusQueueItem::TFocusQueueItem( TInt aItemId, TInt aEventId ): 
-	iItemId( aItemId ),  iEventId( aEventId )
-	{
-	iTriggerTime.HomeTime();
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::TriggerTime()
-// ---------------------------------------------------------------------------
-//
-TTime TFocusQueueItem::TriggerTime()
-	{
-	return iTriggerTime;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::ItemId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::ItemId()
-	{
-	return iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::EventId()
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::EventId()
-	{
-	return iEventId;
-	}
-
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TInt TFocusQueueItem::CompareByTriggerTime( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	if ( aItem1.iTriggerTime < aItem2.iTriggerTime )
-		{
-		return -1;
-		}
-	else
-		{
-		return 1;
-		}
-	}
-   
-// ---------------------------------------------------------------------------
-// TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-// const TFocusQueueItem& aItem2 )
-// ---------------------------------------------------------------------------
-//
-TBool TFocusQueueItem::CompareByItemId( const TFocusQueueItem& aItem1,
-		const TFocusQueueItem& aItem2 )
-	{
-	return aItem1.iItemId == aItem2.iItemId;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::CHnItemFocusHandler() 
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::CHnItemFocusHandler() :
-	CActive(EPriorityLow) // Standard priority
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewLC()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewLC( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = new (ELeave) CHnItemFocusHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL( aSuiteModel );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler* CHnItemFocusHandler::NewL()
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler* CHnItemFocusHandler::NewL( CHnSuiteModel* aSuiteModel )
-	{
-	CHnItemFocusHandler* self = CHnItemFocusHandler::NewLC( aSuiteModel );
-	CleanupStack::Pop(); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::ConstructL( CHnSuiteModel* aSuiteModel )
-	{
-	CActiveScheduler::Add( this); // Add to scheduler
-	iSuiteModel = aSuiteModel;
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::~CHnItemFocusHandler(
-// ---------------------------------------------------------------------------
-//
-CHnItemFocusHandler::~CHnItemFocusHandler()
-	{
-	Cancel(); // Cancel any request, if outstanding
-	
-//	handle all pending unfocus events synchronously.
-	for(TInt i = 0; i < iFocusQueue.Count(); i++ )
-		{
-		if ( KIdFocusLost == iFocusQueue[i].EventId() )
-			{
-			if( iSuiteModel )
-			    {
-	            TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-	                    KIdFocusLost, iFocusQueue[i].ItemId(), NULL ) );
-			    }
-			}
-		}
-	iFocusQueue.Reset();
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::DoCancel()
-	{
-//	TRequestStatus* status = &iStatus;
-//	User::RequestComplete( status, KErrCancel);
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::StartL(TTimeIntervalMicroSeconds32 aDelay)
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::SetFocusL( TInt aEventId, TBool aItemId )
-	{
-	TLinearOrder<TFocusQueueItem> byTriggerTime( 
-			TFocusQueueItem::CompareByTriggerTime );
-	TFocusQueueItem focusItem(aItemId, aEventId);
-	RemoveDuplicatedItem( focusItem );
-	iFocusQueue.InsertInOrderL( focusItem, byTriggerTime );
-	if ( !IsActive() )
-		{
-		SetActive();
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunL()
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RunL()
-	{
-	TRAP_IGNORE( iSuiteModel->OfferHnEventL( 
-			iFocusQueue[0].EventId(), iFocusQueue[0].ItemId() , NULL ) );
-	iFocusQueue.Remove(0);
-	
-	if ( iFocusQueue.Count() > 0)
-		{
-		SetActive(); // Tell scheduler a request is active		
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// CHnItemFocusHandler::RunError(TInt aError)
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemFocusHandler::RunError(TInt aError)
-	{
-	return aError;
-	}
-
-// ---------------------------------------------------------------------------
-// RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-// ---------------------------------------------------------------------------
-//
-void CHnItemFocusHandler::RemoveDuplicatedItem( const TFocusQueueItem& aFocusItem )
-	{
-	if ( iFocusQueue.Count() != 0 )
-		{
-		TIdentityRelation< TFocusQueueItem > byItemId( 
-				TFocusQueueItem::CompareByItemId );
-		TInt itemPosition;
-		itemPosition = iFocusQueue.Find( aFocusItem, byItemId );
-		if ( KErrNotFound != itemPosition )
-			{
-			iFocusQueue.Remove( itemPosition );
-			}
-		}
-	}
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,463 +0,0 @@
-/*
-* Copyright (c) 2007-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:   item presentation model
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include "hnitemmodel.h"
-#include "hnmenuitemmodel.h"
-#include "hnactionmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnattributebase.h"
-#include "hnattributetext.h"
-#include "hnbuttonmodel.h"
-#include "hnglobals.h"
-#include "hnconvutils.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemModel* CHnItemModel::NewL()
-    {
-    CHnItemModel* self = new( ELeave ) CHnItemModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnItemModel::~CHnItemModel()
-    {
-    iTemplate.Close();
-    delete iMenuModel;
-    delete iToolbarModel;
-    delete iMskModel;
-    DeleteAllActionModels();
-    iAttrs.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemModel::DeleteAllActionModels()
-    {
-    THashMapIter< TInt, CArrayPtr<CHnActionModel>* > iterator( iActions );
-    while( iterator.NextKey() )
-        {
-        CArrayPtr<CHnActionModel>** actions = iterator.CurrentValue();
-        (*actions)->ResetAndDestroy();
-        delete *actions;
-        iterator.RemoveCurrent();
-        }
-    iActions.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnItemModel::RemoveLiwObjects()
-    {
-    if ( iToolbarModel )
-        {
-        iToolbarModel->RemoveLiwObjects();
-        }
-
-    for( TInt i = 0; i < iAttrs.Count(); ++i )
-        {
-        iAttrs[i]->RemoveLiwObjects();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemModel::OfferHnEventL( CHnEventHandler & aEventHandler, 
-        const TInt aEventId, CLiwGenericParamList* aEventParameters  )
-    {
-    TInt err = KErrNotFound;
-    CArrayPtr<CHnActionModel>* actions = GetActions( aEventId );
-    if ( actions ) 
-        {
-        TInt actionsCount = actions->Count();
-        for( TInt i = 0; i < actionsCount; i++ )
-            {
-            ASSERT( actions->At( i ) );
-            err = actions->At( i )->ExecuteL( aEventHandler,  aEventParameters );
-            if ( err != KErrNone )
-                {
-                break;
-                }
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-CHnItemModel::CHnItemModel() :
-                iActions( &DefaultHash::Integer, &DefaultIdentity::Integer ),
-                iEditable( EFalse ),
-                iCustomId( KErrNotFound ),
-                iMskModel( NULL )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CHnItemModel::ConstructL()
-    {
-    iUid = TUid::Null();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetMenuItemModel(  CHnMenuItemModel* aMenu )
-    {
-    ASSERT( aMenu );
-    delete iMenuModel;
-    iMenuModel = aMenu;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-MHnMenuItemModelIterator* CHnItemModel::GetMenuStructure()
-    {
-    if( iMenuModel )
-        return iMenuModel->GetMenuStructure();
-    else 
-        return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetMiddleSoftKey( CHnButtonModel* aMsk )
-    {
-    delete iMskModel;
-    iMskModel = aMsk;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnButtonModel* CHnItemModel::GetMiddleSoftKey()
-    {
-    return iMskModel;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& 
-        CHnItemModel::GetActions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CArrayPtr<CHnActionModel>* CHnItemModel::GetActions( TInt aId )
-    {
-    CArrayPtr<CHnActionModel>** ret = iActions.Find( aId );
-    if( ret )
-        {
-        return *ret;
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C const CHnToolbarModel* CHnItemModel::GetToolbarModel() const
-    {
-    return iToolbarModel;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetToolbarModel( CHnToolbarModel* aToolbar )
-    {
-    delete iToolbarModel;
-    iToolbarModel = NULL;
-    iToolbarModel = aToolbar;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnItemModel::GetTemplate()
-    {
-    CHnAttributeBase* templateAttr = GetAttribute( KTemplate8() );
-    if ( templateAttr )
-        {
-        return templateAttr->Value();
-        }
-    return KNullDesC8();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemModel::SetTemplateL( const TDesC8& aTemplate )
-    {
-    CHnAttributeText* templateAttr = CHnAttributeText::NewL();
-    templateAttr->SetNameL( KTemplate8 );
-    templateAttr->SetValueL( aTemplate );
-    SetAttributeL( templateAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetAttributeL( CHnAttributeBase* aAttr )
-    {
-    for( TInt i( 0 ); i < iAttrs.Count(); i++ )
-        {
-        if( iAttrs[i]->Name() == aAttr->Name() )
-            {
-            delete iAttrs[i];
-            iAttrs.Remove(i);
-            break;
-            }
-        }
-    iAttrs.AppendL( aAttr );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::ClearAttributesL()
-    {
-    iAttrs.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnAttributeBase* CHnItemModel::GetAttribute( const TDesC8 & aMulAttribute )
-    {
-    CHnAttributeBase* attr = NULL;
-    for( TInt i( 0 ); i < iAttrs.Count(); i++ )
-        {
-        if( ! iAttrs[i]->Name().Compare( aMulAttribute ) )
-            {
-            attr = iAttrs[i];
-            break;
-            }
-        }
-    return attr;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsDeleteLocked()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagRemoveLocked )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsMoveLocked()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagMoveLocked )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsDrmExpired()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagDrmExpired )
-        {
-        res = ETrue;
-        }
-    return res;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnItemModel::IsRunning()
-    {
-    TBool res = EFalse;
-    if ( iFlags & EItemFlagRunning )
-        {
-        res = ETrue;
-        }
-    return res;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetFlag( TInt aFlag )
-    {
-    if ( ( iFlags & aFlag ) == 0 )
-        {
-        iFlags |= aFlag;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::ClearFlags()
-    {
-    iFlags = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetType( const TDesC8& aType )
-    {
-    if ( !aType.Compare( KMenuFolder8 ) )
-        {
-        iType = EItemTypeFolder;
-        }
-    else if ( !aType.Compare( KMenuSuite8 ) )
-        {
-        iType = EItemTypeSuite;
-        }
-    else if ( !aType.Compare( KMenuApplication8 ) )
-        {
-        iType = EItemTypeApplication;
-        }
-    else if ( !aType.Compare( KMenuParentFolder8 ) )
-        {
-        iType = EItemTypeParentFolder;
-        }
-    else
-        {
-        iType = EItemTypeUnknown;        
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnItemModel::SetCustomId( TInt64 aCustomId )
-    {
-    iCustomId = aCustomId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TInt64 CHnItemModel::CustomId()
-    {
-    return iCustomId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TMcsItemType CHnItemModel::GetItemType()
-    {
-    return iType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TUid CHnItemModel::GetItemUid()
-    {
-    return iUid;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnItemModel::SetItemUidL( const TDesC8& aUid )
-    {
-    TUint uint( KErrNone );
-    HBufC* str = HnConvUtils::Str8ToStr( aUid );
-    CleanupStack::PushL( str );
-    
-    TInt position( str->Find( KHexPrefix16 ) );
-    TPtrC string( *str );
-    TRadix radix( EDecimal );
-    if ( position == 0 )
-        {
-        radix = EHex;
-        string.Set( str->Mid( KHexPrefix16().Length() ) );
-        }
-    
-    TLex( string ).Val( uint, radix );
-    CleanupStack::PopAndDestroy( str );
-
-    iUid = TUid::Uid( uint );
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnitemsorder.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
-* Copyright (c) 2007-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:  items order manager class
-*
-*/
-
-
-#include "hnitemsorder.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemsOrder* CHnItemsOrder::NewL()
-    {
-    CHnItemsOrder* self = NewLC();
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::MarkSuiteUninitialized()
-	{
-    for (TInt i(0); i < iItemsEvaluated.Count(); i++)
-         {
-         iItemsEvaluated[i] = EFalse;
-         }
-    
-    iSuiteEvaluated = EFalse;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemsOrder* CHnItemsOrder::NewLC()
-    {
-    CHnItemsOrder* self = new( ELeave ) CHnItemsOrder();
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnItemsOrder::~CHnItemsOrder()
-    {
-    iItemsOrderCounts.Reset();
-    iComplexItemsOrder.Reset();
-    iItemsEvaluated.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SetSuiteId( TInt aId )
-    {
-    iSuiteId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetSuiteId() const
-    {
-    return iSuiteId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::RemoveItemId( TInt aId )
-    {
-    TInt position = iComplexItemsOrder.Find( aId );
-    if (position != KErrNotFound)
-        {
-        TInt modelNumber = CountModelNumberFor( position );
-        --iItemsOrderCounts[ modelNumber ] ;    
-        iComplexItemsOrder.Remove( position );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::InsertItemIdToL( TInt aDataModelItem, 
-        TInt aIndex, TInt aId )
-    {
-    TInt position = CountStartIndexFor( aDataModelItem ) + aIndex;
-    if (position < iComplexItemsOrder.Count() )
-        {
-        iComplexItemsOrder.InsertL( aId, position ); 
-        }
-    else
-        {
-        iComplexItemsOrder.AppendL( aId );
-        }
-    
-    TInt modelsCount = iItemsOrderCounts.Count();
-    if (modelsCount <= aDataModelItem)
-        {
-        for (TInt i(modelsCount);  i <= aDataModelItem; i++)
-            {
-            iItemsOrderCounts.AppendL( 0 );
-            }
-        }
-    ++iItemsOrderCounts[ aDataModelItem ] ;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemIdAt( TInt aDataModelItem, TInt aIndex )
-    {
-    TInt globalItemPosition = CountStartIndexFor( aDataModelItem ) + aIndex;
-    return (iComplexItemsOrder.Count() > globalItemPosition)
-        ? iComplexItemsOrder[globalItemPosition] : KErrNotFound;
-    }  
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemIdAt( TInt aPosition )
-    {
-    return (iComplexItemsOrder.Count() > aPosition) 
-        ? iComplexItemsOrder[aPosition] : KErrNotFound;
-    }  
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::GetIdsForL( TInt aDataModelItem,
-        RArray< TInt >& aIds )
-    {
-    if ( CountStartIndexFor( aDataModelItem ) == KErrNotFound 
-            || iItemsOrderCounts.Count() <= aDataModelItem )
-        {
-        return;
-        }
-    
-    TInt startIndex = CountStartIndexFor( aDataModelItem );
-    
-    for ( TInt i = 0; 
-            i < iItemsOrderCounts[ aDataModelItem ]; i++ )
-        {
-        aIds.AppendL( iComplexItemsOrder[ startIndex + i ] );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SetItemIdAtL( TInt aPosition, TInt aId )
-    {
-    if ( aPosition >= iComplexItemsOrder.Count() )
-        {
-        iComplexItemsOrder.AppendL( aId );
-        }
-    else
-        {
-        iComplexItemsOrder[ aPosition ] = aId;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::DefineModelItemCountL( TInt aItemCounts )
-    {
-    // Don't update this information on a initialized suitemodel.
-    if (iItemsEvaluated.Count() == 0 && !iSuiteEvaluated)
-        {
-        iSuiteEvaluated = EFalse;
-        for (TInt i(0); i < aItemCounts; i++)
-            {
-            iItemsOrderCounts.AppendL( 0 );
-            iItemsEvaluated.AppendL(EFalse);
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::SuiteEvaluated()
-    {
-    iSuiteEvaluated = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnItemsOrder::ItemEvaluated( TInt aIndex )
-    {
-    iItemsEvaluated[aIndex] = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnItemsOrder::IsSuiteReadyToShow()
-    {
-    TBool ready = ETrue;
-    for (TInt i(0); ready && i < iItemsEvaluated.Count(); i++)
-         {
-         ready = iItemsEvaluated[i];
-         }
-    
-    return ready && iSuiteEvaluated;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetModelItemCount( )
-    {
-    return iItemsOrderCounts.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::operator[]( TInt aPosition )
-    {
-    return GetItemIdAt( aPosition );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::GetItemPosition( TInt aId )
-    {
-    return iComplexItemsOrder.Find( aId );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemsOrder::CountStartIndexFor( TInt aDataModelItem )
-    {
-    TInt startIndex( 0 );
-    for( TInt i = 0; i < aDataModelItem && i < iItemsOrderCounts.Count(); i++ )
-        {
-        startIndex += iItemsOrderCounts[ i ];
-        }
-    return startIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CHnItemsOrder::CountModelNumberFor( TInt aIndex )
-    {
-    TInt modelNumber( 0 );
-    TInt countLow( 0 );
-    TInt countHigh( 0 );
-    for( ; modelNumber < iItemsOrderCounts.Count(); modelNumber++ )
-        {
-        countHigh += iItemsOrderCounts[ modelNumber ];
-        if ( aIndex >= countLow && aIndex < countHigh )
-            {
-            break;
-            }
-        countLow = countHigh;
-        }
-    return modelNumber;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnItemsOrder::Count()
-    {
-    return iComplexItemsOrder.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnItemsOrder::CHnItemsOrder() : iSuiteId( KErrNotFound )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnItemsOrder::ConstructL()
-    {
-    
-    }
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnmenuitemmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2007-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:  menu item presentation model
-*
-*/
-
-
-#include "hnmenuitemmodel.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel:: NewL( const TDesC& aName )
-    {
-    CHnMenuItemModel* self = new( ELeave ) CHnMenuItemModel();
-    CleanupStack::PushL( self );
-    self->ConstructL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//    
-CHnMenuItemModel::~CHnMenuItemModel()
-    {
-    iName.Close();
-    iChildren.ResetAndDestroy();
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMenuItemModel::HasNext()
-    {
-    TBool ret = ETrue;
-    if( iNextMenu >= iChildren.Count() )
-        {
-        ret = EFalse;
-        Reset();
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel::GetNext()
-    {
-    ASSERT( iNextMenu < iChildren.Count() );
-    CHnMenuItemModel* ret = iChildren[ iNextMenu ];
-    iNextMenu++;
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnMenuItemModel::HasNextSpecific()
-    {
-    TBool hasNext = EFalse;
-    if ( iNextMenu >= iChildren.Count() )
-    	{
-    	Reset();
-    	}
-    else if ( iChildren[iNextMenu]->MenuItemType() == EItemSpecific )
-    	{
-    	hasNext = ETrue;
-    	}
-    else
-    	{
-    	iNextMenu++;
-    	hasNext = HasNextSpecific();
-    	}
-    return hasNext;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel* CHnMenuItemModel::GetNextSpecific()
-    {
-    ASSERT( iNextMenu < iChildren.Count() );
-    ASSERT( iChildren[iNextMenu]->MenuItemType() == EItemSpecific );
-    CHnMenuItemModel* nextSpecific = iChildren[ iNextMenu ];
-    iNextMenu++;
-    return nextSpecific;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::Reset()
-    {
-    iNextMenu = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::AppendChildMenuL( CHnMenuItemModel* aMenuModel )
-    {
-    ASSERT( aMenuModel );
-    iChildren.AppendL( aMenuModel );
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMenuItemModel::CHnMenuItemModel()
-    {
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMenuItemModel::ConstructL( const TDesC& aName )
-    {
-    ASSERT( aName.Length() );
-    iMenuItemType = EItemApplication;
-    iName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnMenuItemModel::NameL()
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMenuItemModel::Command()
-    {
-    return iCommand;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetCommand( TInt aCommandId )
-    {
-    iCommand = aCommandId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnMenuItemModel::Position()
-    {
-    return iPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetPosition( TInt aPosition )
-    {
-    iPosition = aPosition;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMenuItemModel::SetMenuItemType( THnMenuItemType aMenuItemType )
-    {
-    iMenuItemType = aMenuItemType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMenuItemModel::THnMenuItemType CHnMenuItemModel::MenuItemType()
-    {
-    return iMenuItemType;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C MHnMenuItemModelIterator* CHnMenuItemModel::GetMenuStructure()
-    {
-    return this;
-    }
-
-
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,987 +0,0 @@
-/*
-* 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:   suite presentation model
-*
-*/
-
-
-#include <e32cmn.h>
-#include "hnsuitemodel.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnitemmodel.h"
-#include "hnmenuitemmodel.h"
-#include "hnactionmodel.h"
-#include "hntoolbarmodel.h"
-#include "menudebug.h"
-#include "hnglobals.h"
-#include "hnsuiteobserver.h"
-#include "hnattributebase.h"
-#include "hnattributetext.h"
-#include "hnitemsorder.h"
-#include "hneventhandler.h"
-#include "hnitemfocushandler.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModel::NewL( CHnEventHandler& aEventHandler,
-        const TDesC& aGenreName )
-	{
-	CHnSuiteModel* self = new (ELeave) CHnSuiteModel( aEventHandler );
-	CleanupStack::PushL( self );
-	self->ConstructL( aGenreName );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::ConstructL( const TDesC& aSuiteName )
-	{
-	ASSERT( aSuiteName.Length() );
-	iSuiteName = aSuiteName.AllocL();
-	iTemplate.CreateL( KNullDesC8() );
-	iItemsOrder = CHnItemsOrder::NewL();
-	iExitMode = EExitModeNormal;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel::~CHnSuiteModel()
-	{
-    for (TInt i(0) ; i < iSuiteObservers.Count(); i++)
-        {
-        TRAP_IGNORE( iSuiteObservers[i]->HandleSuiteEventL( ESuiteModelDestroyed, this ) );
-        }
-
-    if ( iIsVisible && iIsActive )
-    	{
-    	TRAP_IGNORE( HandleItemFocusL( iSuiteHighlight.iItemId, EFalse ) );
-    	}
-    delete iItemFocusHandler;
-    TRAP_IGNORE( OfferHnEventL( KIdSuiteUnLoad, 
-            GetItemsOrder()->GetSuiteId(), NULL ) );
-
-    DEBUG16(("\t_Mm_:KIdSuiteUnLoad - %S",iSuiteName));
-    
-	iSuiteObservers.Close();
-	iObserverPriorities.Close();
-	DEBUG16(("\t_MM_: CHnSuiteModel destructor: %S",iSuiteName));
-	iTemplate.Close();
-	delete iTitle;
-	delete iEmptyText;
-	delete iSuiteName;
-
-	THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-	while( modelIter.NextKey() )
-		{
-		const TInt* key = modelIter.CurrentKey();
-		iItemsOrder->RemoveItemId( *key );
-		CHnItemModel** model = modelIter.CurrentValue();
-		delete *model;
-		modelIter.RemoveCurrent();
-		}
-	iItemsModels.Close();
-		    
-    THashMapIter< TInt, CArrayPtr<CHnActionModel>* > actionIter( iActions );
-    while( actionIter.NextKey() )
-        {
-        CArrayPtr<CHnActionModel>** actions = actionIter.CurrentValue();
-        (*actions)->ResetAndDestroy();
-        delete *actions;
-        actionIter.RemoveCurrent();
-        }
-    iActions.Close();
-    delete iItemsOrder;
-    DEBUG16(("\t_MM_: CHnSuiteModel destructor OUT"));
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModel::CHnSuiteModel( CHnEventHandler& aEventHandler ) :
-        iItemsModels( &DefaultHash::Integer, &DefaultIdentity::Integer ),      
-        iActions( &DefaultHash::Integer, &DefaultIdentity::Integer ),
-        iEmptyItemId( KErrNotFound ),
-        iFocusQueue( KErrNotFound ),
-        iCustomId( KErrNotFound ),
-        iEventHandler( aEventHandler ) 
-	{
-	iSuiteHighlight.iWidgetIndex = KErrNotFound;
-	iSuiteHighlight.iItemId = KErrNotFound;
-	iSuiteHighlight.iCustomId = KErrNotFound;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CHnSuiteModel::OfferHnEventL( 
-       const TInt aEventId, const TInt aRecipientId, 
-        CLiwGenericParamList* aEventParameters  )
-    {
-    TInt err( KErrNotFound );
-        
-    CArrayPtr<CHnActionModel>* actions = GetActions( aEventId );
-    
-    if ( aRecipientId != KErrNotFound )
-        {       
-        CHnItemModel** itemModel = iItemsModels.Find( aRecipientId );
-        if ( itemModel && *itemModel )
-            {
-            err = (*itemModel)->OfferHnEventL( iEventHandler, aEventId,
-                    aEventParameters);
-            }
-        }
-    
-    if ( err != KErrNone && actions) 
-        {
-        for( TInt i = 0; i < actions->Count(); i++ )
-            {
-            ASSERT( actions->At( i ) );
-            err = actions->At( i )->ExecuteL( iEventHandler, aEventParameters );
-            if ( err != KErrNone )
-                {
-                break;
-                }
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::ItemEvaluationFinishedL( TInt aModelItemNumber )
-    {
-    TBool observersNotified( EFalse );
-    TBool alreadyNotified = iItemsOrder->IsSuiteReadyToShow();
-    iItemsOrder->ItemEvaluated( aModelItemNumber );
-    if ( iItemsOrder->IsSuiteReadyToShow() && !alreadyNotified )
-        {
-        TRAP_IGNORE( OfferHnEventL( KIdSuiteLoad, 
-                GetItemsOrder()->GetSuiteId(), NULL ) );
-        DEBUG16(("\t_Mm_:KIdSuiteLoad - %S",iSuiteName));
-        NotifyObserversL( ESuiteModelInitialized );
-        observersNotified = ETrue;
-        }
-    return observersNotified;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C TBool CHnSuiteModel::SuiteEvaluationFinishedL( )
-    {
-    TBool observersNotified( EFalse );
-    TBool alreadyNotified = iItemsOrder->IsSuiteReadyToShow();
-    iItemsOrder->SuiteEvaluated();
-    if ( iItemsOrder->IsSuiteReadyToShow() && !alreadyNotified )
-        {
-        TRAP_IGNORE( OfferHnEventL( KIdSuiteLoad, 
-                GetItemsOrder()->GetSuiteId(), NULL ) );
-        DEBUG16(("\t_Mm_:KIdSuiteLoad - %S",iSuiteName));
-        NotifyObserversL( ESuiteModelInitialized );
-        observersNotified = ETrue;
-        }
-    return observersNotified;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModel::GetItemModelsCount()
-    {
-    return iItemsModels.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::SuiteName() const
-	{
-	return *iSuiteName;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::Title() const
-	{
-	if ( iTitle )
-		{
-		return *iTitle;
-		}
-	else
-		{
-		return KNullDesC();
-		}
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetTitleL( const TDesC& aName )
-	{
-	delete iTitle;
-	iTitle = NULL;
-	iTitle = aName.AllocL();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CHnSuiteModel::EmptyText() const
-    {
-    if ( iEmptyText )
-        {
-        return *iEmptyText;
-        }
-    else
-        {
-        return KNullDesC();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetEmptyTextL( const TDesC& aName )
-    {
-    delete iEmptyText;
-    iEmptyText = NULL;
-    iEmptyText = aName.AllocL();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModel::WidgetType() const
-	{
-    //Following check is necessary because suite can be 
-    //during evalutation -> UI Widgets can try to get and process templates
-    //what causes problems. Only when suite is fully evaluated and 
-    //ready to be shown it returns widget type.
-	THnSuiteWidgetType ret( EUnspecified );
-    if ( iItemsOrder->IsSuiteReadyToShow()  )
-        {
-        ret =  iWidgetType;
-        }
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetWidgetType( THnSuiteWidgetType aWidgetType )
-	{
-	iWidgetType = aWidgetType;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C MHnMenuItemModelIterator* CHnSuiteModel::GetMenuStructureL( 
-		TInt aItemId )
-	{
-	if (aItemId == KErrNotFound) 
-	    {
-	    // this could be used in future for empty item
-	    return NULL;
-	    }
-	return iItemsModels.FindL( aItemId )->GetMenuStructure();
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::AddItemL( TInt aId, CHnItemModel* aItemModel,
-        TInt aItemModelNumber, TInt aItemModelPosition )
-	{
-	DEBUG16(("_MM_: CHnSuiteModel::AddItemL IN"));
-	ASSERT( aItemModel );
-
-	TInt highlightedItem( iSuiteHighlight.iCustomId );
-	iItemsModels.InsertL( aId, aItemModel );
-	
-	// "empty" item should not be added to ordering table
-	if ( !aItemModel->GetTemplate().Compare( KTemplateEmpty8 ) )
-	    {
-	    // store id of empty item
-	    iEmptyItemId = aId;	    
-	    }
-	else
-	    {
-	    iItemsOrder->InsertItemIdToL( aItemModelNumber, aItemModelPosition, aId );
-	    DEBUG16(("_MM_: Adding at index: model no. %D item no. %D, id: %D", aItemModelNumber, aItemModelPosition, aId));
-	    
-		// focus queue
-		if ( ( iFocusQueue >= 0 ) && ( iFocusQueue == aItemModel->CustomId() ) )
-			{
-			SetSuiteHighlightL(  iItemsOrder->Count() - 1  );
-			iFocusQueue = KErrGeneral ;
-			}
-		else if( aItemModel->CustomId() != KErrNotFound )
-		    {
-		    SetSuiteHighlightByCustomIdL( highlightedItem );
-		    }
-	    }
-		
-	DEBUG16(("_MM_: CHnSuiteModel::AddItemL OUT"));
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CHnSuiteModel::GetTemplate() const
-    {
-    //Following check is necessary because suite can be 
-    //during evalutation -> UI Widgets can try to get and process templates
-    //what causes problems. Only when suite is fully evaluated and 
-    //ready to be shown it returns templates.
-    if ( iItemsOrder->IsSuiteReadyToShow()  )
-        {
-        return iTemplate;
-        }
-    return KNullDesC8;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C void CHnSuiteModel::SetTemplateL( const TDesC8& aValue )
-    {
-    if( aValue.Compare( iTemplate ) )
-    	{
-    	iTemplate.Close();
-    	iTemplate.CreateL( aValue.Length() + 1);
-    	iTemplate.Copy( aValue );
-    	const char* templateChar = reinterpret_cast<const char* >( 
-                iTemplate.PtrZ() );
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::NotifyObserversL( THnCustomSuiteEvent aEventType )
-    {
-    RPointerArray<MHnSuiteObserver> observerFreezedArray;
-    CleanupClosePushL( observerFreezedArray );
-      
-    for (TInt i(0); i < iSuiteObservers.Count(); i++)
-        {
-        observerFreezedArray.AppendL( iSuiteObservers[i] );
-        }
-    
-    for (TInt i(0); i < observerFreezedArray.Count(); i++)
-        {
-        observerFreezedArray[i]->HandleSuiteEventL( aEventType, this );
-        }
-    
-    CleanupStack::PopAndDestroy( &observerFreezedArray );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RefreshMulModelL( TInt aPreviousItemCount )
-    {   
-    if (iItemsOrder->IsSuiteReadyToShow())
-    	{
-		TInt modelcount = iItemsOrder->Count();
-		if ( aPreviousItemCount < modelcount )
-			{
-			NotifyObserversL(ESuiteItemsAdded);
-			}
-		else if ( aPreviousItemCount > modelcount )
-			{
-			NotifyObserversL(ESuiteItemsRemoved);
-			}    
-		else
-			{
-			NotifyObserversL(ESuiteItemsUpdated);
-			}
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::UpdateItemTemplateL( TInt aId )
-	{
-	TInt position = iItemsOrder->GetItemPosition( aId );
-	if( position != KErrNotFound )
-		{
-		CHnItemModel** model = iItemsModels.Find( aId );
-		if (model && !(*model)->GetTemplate().Compare( KNullDesC8() ) )
-            {
-            (*model)->SetTemplateL( GetTemplate() );
-            }
-		}
-	}
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RegisterSuiteObserverL( MHnSuiteObserver* aObserver, 
-        TThreadPriority aPriority )
-    {
-    TInt i(0);
-    TInt posFound = iSuiteObservers.Find( aObserver );
-    if ( posFound != KErrNotFound )
-        {
-        iObserverPriorities.Remove( posFound );
-        iSuiteObservers.Remove( posFound ); 
-        }
-    
-    for (; i < iObserverPriorities.Count(); i++)
-        {
-        if (aPriority > iObserverPriorities[i])
-            {
-            break;
-            }
-        }
-    
-    iObserverPriorities.InsertL( aPriority , i );
-    iSuiteObservers.InsertL( aObserver, i );
-    
-    if ( iItemsOrder->IsSuiteReadyToShow() && posFound == KErrNotFound )
-        {
-        aObserver->HandleSuiteEventL( ESuiteModelInitialized, this );
-        }
-    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::UnregisterSuiteObserver( MHnSuiteObserver* aObserver)
-    {
-    TInt index = iSuiteObservers.Find( aObserver );
-    if (index != KErrNotFound)
-        {
-        iSuiteObservers.Remove( index );
-        iObserverPriorities.Remove( index );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RemoveItemL( TInt aId )
-	{
-    TInt highlightedItem( KErrNotFound );
-	CHnItemModel* modelToRemove = GetItemModel( aId );
-	if( modelToRemove )
-	    {
-	    if( modelToRemove->CustomId() != KErrNotFound )
-	        {
-	        if (modelToRemove->CustomId() != iSuiteHighlight.iCustomId )
-				{
-		        highlightedItem = iSuiteHighlight.iCustomId;
-				}
-	        else
-	        	{
-//	        	set the highlight to the item before the removed item.
-	        	TInt newWidgetIndex = iItemsOrder->Count() - 2;
-	        	if( newWidgetIndex < 0 )
-	        		{
-	        		newWidgetIndex = 0;
-	        		}
-	        	SetSuiteHighlightL( newWidgetIndex );
-	        	}
-	        }
-	    delete modelToRemove;
-	    iItemsModels.Remove( aId );
-	    }
-    iItemsOrder->RemoveItemId( aId );
-    SetSuiteHighlightByCustomIdL( highlightedItem );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::RemoveAllItems()
-	{
-	THashMapIter< TInt ,CHnItemModel* > iterator( iItemsModels );
-	while( iterator.NextKey() )
-		{
-		CHnItemModel** model = iterator.CurrentValue();
-		delete *model;
-		iterator.RemoveCurrent();
-		}
-	}
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C RHashMap< TInt, CArrayPtr<CHnActionModel>* >& 
-    CHnSuiteModel::GetActions()
-    {
-    return iActions;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-EXPORT_C CArrayPtr<CHnActionModel>* CHnSuiteModel::GetActions( TInt aId )
-	{
-	CArrayPtr<CHnActionModel>** ret = iActions.Find( aId );
-	if( ret )
-		{
-		return *ret;
-		}
-	return NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnItemModel* CHnSuiteModel::GetItemModel( TInt aId )
-	{
-    TRAP_IGNORE( UpdateItemTemplateL( aId ) );
-    
-	CHnItemModel** model = iItemsModels.Find( aId );
-	return ( model ) ? *model : NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::HasToolbar() const
-	{
-	TBool hasToolbar = EFalse;
-	THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-	while( modelIter.NextKey() )
-		{
-		CHnItemModel** model = modelIter.CurrentValue();
-		const CHnToolbarModel * toolbarModel = ( *model )->GetToolbarModel();
-		hasToolbar = (toolbarModel) ? toolbarModel->HasButtons() : EFalse;
-		if( hasToolbar )
-			{
-			break;
-			}
-		}
-	return hasToolbar;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::IdByIndex( TInt aIndex )
-	{
-	TInt result(KErrNotFound);
-	
-	if (aIndex < 0)
-	    {
-	    result = iEmptyItemId;
-	    }
-    else
-        {
-        result = iItemsOrder->GetItemIdAt( aIndex );
-	    }
-
-    return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsItemMoveLocked( TInt aIndex )
-	{
-	TInt ret( EFalse );
-
-	if (aIndex >= 0)
-	    {
-    	CHnItemModel** itemModel = iItemsModels.Find( 
-    	        iItemsOrder->GetItemIdAt( aIndex ) );
-    	
-    	if ( !itemModel || (*itemModel)->IsMoveLocked() )
-    		{
-    		ret = ETrue;
-    		}
-	    }
-	
-	return ret;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TMcsItemType CHnSuiteModel::GetItemType( TInt aIndex )
-	{
-	TMcsItemType type = EItemTypeUnknown;
-	
-	CHnItemModel** itemModel = iItemsModels.Find( 
-	        iItemsOrder->GetItemIdAt( aIndex ) );
-
-	if ( itemModel )
-		{
-		type = (*itemModel)->GetItemType();
-		}
-
-	return type;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::GetSuiteHighlight()
-    {
-    return iSuiteHighlight.iWidgetIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetSuiteHighlightL( TInt aHighLight )
-    {
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlight - IN"));
-    DEBUG(("\t_MM_:aHighLight: %d",aHighLight));
-    
-    TInt newItemId( IdByIndex( aHighLight ) );
-    CHnItemModel* itemModel( GetItemModel( newItemId ) );
-    TInt64 newCustomId( KErrNotFound );
-    if ( itemModel )
-    	{
-	    newCustomId = itemModel->CustomId();
-    	}
-    
-    if ( ( newCustomId != iSuiteHighlight.iCustomId ||
-            newItemId != iSuiteHighlight.iItemId ) && ( iIsActive && iIsVisible ) )
-        {
-        HandleItemFocusL( iSuiteHighlight.iItemId, EFalse );
-        HandleItemFocusL( newItemId, ETrue );
-        }
-    
-    iSuiteHighlight.iCustomId = newCustomId;
-    iSuiteHighlight.iItemId = newItemId;
-    iSuiteHighlight.iWidgetIndex = aHighLight;
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlight - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CHnSuiteModel::SetSuiteHighlightByCustomIdL( TInt64 aCustomId )
-    {
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlightByCustomIdL - IN"));
-    DEBUG(("\t_MM_:aHighLight: %d",aCustomId));
-    
-    if( aCustomId != KErrNotFound )
-        {
-        THashMapIter< TInt ,CHnItemModel* > modelIter( iItemsModels );
-        while( modelIter.NextKey() )
-            {
-            const TInt* id = modelIter.CurrentKey();
-            CHnItemModel** model = modelIter.CurrentValue();
-            if( (*model)->CustomId() == aCustomId )
-                {
-                if( *id != KErrNotFound )
-                    {
-                    TInt itemIndex( iItemsOrder->GetItemPosition( *id ) );
-                    if( itemIndex != KErrNotFound )
-                        {
-                        SetSuiteHighlightL( itemIndex );
-                        }
-                    }
-                break;
-                }
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetSuiteHighlightByCustomIdL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsItemBetweenMoveLocked( TInt aIndexStart, TInt aIndexEnd )
-	{
-	if ( aIndexEnd < KErrNone || aIndexStart < KErrNone )
-	    {
-	    return ETrue;
-	    }
-	if ( aIndexEnd >= iItemsOrder->Count() )
-		{
-		aIndexEnd = iItemsOrder->Count() - 1;
-		}
-	
-	TInt start( ( aIndexStart > aIndexEnd ) ? aIndexEnd : aIndexStart );
-	TInt end( ( aIndexStart > aIndexEnd ) ? aIndexStart : aIndexEnd );
-	
-	TInt ret( EFalse );
-	
-	for ( TInt index = start; index <= end; index++ )
-		{
-		CHnItemModel** itemModel = iItemsModels.Find( 
-		        iItemsOrder->GetItemIdAt( index ) );
-		if ( !itemModel || (*itemModel)->IsMoveLocked() )
-			{
-			ret = ETrue;
-			break;
-			}
-		}
-	return ret;
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt CHnSuiteModel::ReorderItemsL( TInt aFromIndex, TInt aToIndex )
-    {
-    DEBUG( ("_MM_: CHnSuiteModel::ReorderItems - IN" ) );
-
-    TInt operation ( (aFromIndex < aToIndex) ? 1 : -1 );
-    TInt realFromId = iItemsOrder->GetItemIdAt(aFromIndex);
-    for ( int i = aFromIndex ; (operation == 1 && i < aToIndex) 
-            || (operation == -1 && i > aToIndex) ; i = i + operation )
-        {
-        if ( (i+operation < 0) || (i+operation >= GetItemModelsCount()) )
-            break;
-        
-        iItemsOrder->SetItemIdAtL(i, iItemsOrder->GetItemIdAt(i+operation));
-        }
-    
-    iItemsOrder->SetItemIdAtL(aToIndex, realFromId);
-    
-    // recalculate current active item
-    SetSuiteHighlightL( GetSuiteHighlight() );
-        
-    DEBUG( ("_MM_: CHnSuiteModel::ReorderItems - OUT" ) );
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C CHnItemsOrder* CHnSuiteModel::GetItemsOrder()
-    {
-    return iItemsOrder;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::QueueFocus( TInt aCustomId )
-	{
-	iFocusQueue = aCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetCustomId( TInt64 aCustomId )
-	{
-	iCustomId = aCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TInt64 CHnSuiteModel::CustomId()
-	{
-	return iCustomId;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C void CHnSuiteModel::SetActiveL( TBool aActive )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::SetActiveL %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aActive: %d",aActive));
-    DEBUG(("\t_MM_:iIsActive: %d",iIsActive));
-    
-    if ( aActive != iIsActive )
-        {
-        iIsActive = aActive;
-        if ( iIsVisible )
-            {
-            HandleItemFocusL( iSuiteHighlight.iItemId, aActive );
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetActiveL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-EXPORT_C TBool CHnSuiteModel::IsActive()
-    {
-    return iIsActive;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetVisibleL( TBool aVisible )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::SetVisible %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aVisible: %d",aVisible));
-    DEBUG(("\t_MM_:iIsVisible: %d",iIsVisible));
-    
-    if ( aVisible != iIsVisible )
-        {
-        iIsVisible = aVisible;
-        if ( iIsActive )
-            {
-            HandleItemFocusL( iSuiteHighlight.iItemId, aVisible );
-            }
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::SetVisible - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::HandleItemFocusL( TInt aItemId, TBool aFocused )
-    {
-    DEBUG16(("_MM_:CHnSuiteModel::HandleItemFocusL %S - IN",iSuiteName));
-    DEBUG(("\t_MM_:aItemIndex: %d",aItemId));
-    DEBUG(("\t_MM_:aFocused: %d",aFocused));
-    
-    if ( aItemId >= 0 )
-        {
-        if ( !iItemFocusHandler )
-        	{
-        	iItemFocusHandler = CHnItemFocusHandler::NewL( this );
-        	}
-        TInt eventId = aFocused ? KIdFocusGain : KIdFocusLost;
-        iItemFocusHandler->SetFocusL( eventId, aItemId );
-//        TRAP_IGNORE( OfferHnEventL( eventId, aItemId, NULL ) );
-        }
-    
-    DEBUG(("_MM_:CHnSuiteModel::HandleItemFocusL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnItemModel* CHnSuiteModel::GetMatchingItemModelL( TInt64 aCustomId,
-		TInt& aIndex )
-	{
-	CHnItemModel* itemModel( NULL );
-	
-	// check suiteCustomId
-	if ( aCustomId >= 0 )
-		{
-	    for ( TInt i( 0 ); i < GetItemModelsCount(); i++ )
-	    	{
-	    	TInt itemModelId = IdByIndex( i );
-	    	CHnItemModel* tmpItemModel = GetItemModel( itemModelId );
-	
-	    	if ( tmpItemModel &&
-	    			tmpItemModel->CustomId() == aCustomId )
-	    		{
-	    		aIndex = i;
-	    		itemModel = tmpItemModel;
-	    		break;
-	    		}
-	    	}
-		}
-	
-	return itemModel;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModel::SetExitMode( TExitMode aExitMode )
-	{
-	iExitMode = aExitMode;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModel::RemoveLiwObjects()
-    {
-    for ( TInt i = 0; i < GetItemModelsCount(); ++i )
-        {
-        CHnItemModel* itemModel = GetItemModel( IdByIndex( i ) );
-        if ( itemModel )
-            {
-            itemModel->RemoveLiwObjects();
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TExitMode CHnSuiteModel::ExitMode()
-	{
-	return iExitMode;
-	}
-
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitemodelcontainer.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007-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:  suite presentation models container
-*
-*/
-
-
-#include "hnsuitesstack.h"
-#include "hneventhandler.h"
-#include "hnmdmodel.h"
-#include "hnsuitemodel.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnglobals.h"
-#include "hncontrollerinterface.h"
-
-const TInt KParentSuiteDistance( 2 );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuiteModelContainer::ConstructL( 
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    iSuitesStack = CHnSuitesStack::NewL( aController );
-    iEventHandler = CHnEventHandler::NewL( aModelObserver , aController );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModelContainer* CHnSuiteModelContainer::NewL(
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController  )
-    {
-    CHnSuiteModelContainer* self = CHnSuiteModelContainer::NewLC(
-            aModelObserver , aController );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModelContainer* CHnSuiteModelContainer::NewLC(
-                                    MHnMdModelEventObserver& aModelObserver,
-                                    MHnControllerInterface& aController )
-    {
-    CHnSuiteModelContainer* self = new( ELeave ) CHnSuiteModelContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aModelObserver, aController );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModelContainer::CHnSuiteModelContainer()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnSuiteModelContainer::~CHnSuiteModelContainer()
-    {
-    delete iSuitesStack;
-    delete iEventHandler;
-    }
- 
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::PopSuiteModelL(
-        const TDesC& aSuiteName )
-    {
-    CHnSuiteModel* suiteModel = iSuitesStack->PopL();
-    
-    if ( suiteModel &&
-            suiteModel->SuiteName().Compare( aSuiteName ) )
-        {
-        User::LeaveIfError( KErrNotFound );
-        }
-
-    delete suiteModel;
-    suiteModel = iSuitesStack->GetLast();
-    return suiteModel;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModelContainer::OfferHnEventL( const TInt aEventId,
-        const TInt aRecipientId, CLiwGenericParamList* aEventParameters )
-    {
-    CHnSuiteModel* lastSuiteModel = GetLastSuiteModel();
-    TInt err = KErrNotFound;
-    
-    if( aEventId == KKeyIdMoveHighlight )
-        {
-        for( int i( 0 ); i<GetSuiteModelCount(); i++ )
-            {
-            CHnSuiteModel* model = GetSuiteModel( i );
-            TBool isRoot( model->CustomId() == KRootId );
-            if( model && !isRoot )
-                {
-                model->SetSuiteHighlightL( model->GetSuiteHighlight() + aRecipientId );
-                }
-            } 
-        }
-    else
-        {
-        if ( lastSuiteModel ) 
-            {
-            err = lastSuiteModel->OfferHnEventL( aEventId, 
-                    aRecipientId, aEventParameters );
-            }
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModelContainer::PushNewSuiteModelL(
-        const TDesC& aGenre )
-    {
-    CHnSuiteModel* retModel = NULL;
-    retModel = CHnSuiteModel::NewL( *iEventHandler, aGenre );
-    iSuitesStack->PushL( retModel );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetSuiteModel(
-        const TDesC& aSuiteName )
-    {
-    ASSERT( aSuiteName.Length() );
-
-    TInt count( iSuitesStack->Count() );
-    CHnSuiteModel* retModel = NULL;
-
-    for (TInt i = iSuitesStack->Count() - 1; i >= 0; i-- )
-            {
-            retModel = iSuitesStack->Get( i );
-            if ( retModel && !retModel->SuiteName().Compare( aSuiteName ) )
-                {
-                break;
-                }
-            else
-                {
-                retModel = NULL;
-                }
-            }
-
-    return retModel;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuiteModelContainer::GetSuiteModelCount() const
-    {
-    return iSuitesStack->Count();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetLastSuiteModel()
-    {
-    return iSuitesStack->GetLast();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetParentSuiteModel()
-    {
-    CHnSuiteModel* model = NULL;
-    if( iSuitesStack->Count() > 1 )
-        {
-        model = iSuitesStack->Get(
-                iSuitesStack->Count() - KParentSuiteDistance );
-        }
-    return model;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetSuiteModel(TInt aPosition)
-    {
-    return iSuitesStack->Get( aPosition );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuiteModelContainer::GetMatchingSuiteModel(
-		TInt64 aCustomId )
-	{
-	CHnSuiteModel* suiteModel( NULL );
-
-	if ( aCustomId >= 0 )
-		{
-	    for( TInt i( 0 ); i < GetSuiteModelCount(); i++ )
-	    	{
-		    CHnSuiteModel* tmpSuiteModel( GetSuiteModel( i ) );
-		    
-		    // compare suiteCustomIds
-		    if ( tmpSuiteModel && ( tmpSuiteModel->CustomId() == aCustomId ) )
-		    	{
-		    	suiteModel = tmpSuiteModel;
-			    break;
-		    	}
-	    	}
-		}
-    
-    return suiteModel;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnSuiteModelContainer::RemoveLiwObjects()
-    {
-    for( TInt i = 0; i < GetSuiteModelCount(); ++i )
-        {
-        GetSuiteModel( i )->RemoveLiwObjects();
-        }
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hnsuitesstack.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2007-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:  suite stack
-*
-*/
-
-
-#include "hnsuitemodel.h"
-#include "hnsuitesstack.h"
-#include "hnsuitemodelcontainer.h"
-#include "hncontrollerinterface.h"
-
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuitesStack* CHnSuitesStack::NewL( MHnControllerInterface& aControllerInterface )
-    {
-    CHnSuitesStack* self = new (ELeave) CHnSuitesStack( aControllerInterface );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnSuitesStack::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuitesStack::~CHnSuitesStack()
-    {
-    iStack.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnSuitesStack::CHnSuitesStack( MHnControllerInterface& aControllerInterface ):
-    iControllerInterface( aControllerInterface )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuitesStack::PushL( CHnSuiteModel* aSuiteModel )
-    {
-    iStack.AppendL( aSuiteModel );
-    iControllerInterface.HandleSuiteEventL( ESuitePushedToStack, aSuiteModel );
-    return iStack.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::PopL()
-    {
-    CHnSuiteModel* retSuite = NULL;
-    TInt pos = iStack.Count() - 1;
-    if ( pos >= 0 )
-    { 
-        retSuite = iStack[ pos ];
-        iStack.Remove( pos );
-    }
-    iControllerInterface.HandleSuiteEventL( ESuitePoppedFromStack, retSuite );
-    
-    return retSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::GetLast()
-    {
-    return ( iStack.Count() > 0 ) ? iStack[ iStack.Count() - 1 ] : NULL;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::Get( TInt aPosition )
-    {
-    ASSERT( aPosition >= 0 );
-    ASSERT( aPosition < iStack.Count() );
-
-    return iStack[ aPosition ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnSuitesStack::IsEmpty()
-    {
-    return ( iStack.Count() > 0 ) ? EFalse : ETrue;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CHnSuitesStack::GetRootSuite()
-    {
-    CHnSuiteModel* retSuite = NULL;
-    
-    if ( iStack.Count() > 0 )
-        {
-        retSuite = iStack[ 0 ];
-        }
-        
-    return retSuite;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnSuitesStack::Count()
-    {
-    return iStack.Count();
-    }
-//End of file.
--- a/menufw/hierarchynavigator/hnpresentationmodel/src/hntoolbarmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-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:  toolbar presentation model
-*
-*/
-
-
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnToolbarModel* CHnToolbarModel::NewLC()
-    {
-    CHnToolbarModel* self = new( ELeave ) CHnToolbarModel();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-        
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnToolbarModel::~CHnToolbarModel()
-    {
-    iButtons.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnToolbarModel::AddButtonL( CHnButtonModel* aButton )
-    {
-    if( iButtons.Count() <= KMaxButtonCount )
-        {
-        iButtons.AppendL( aButton );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const CHnButtonModel* CHnToolbarModel::GetButton( TInt aIndex ) const
-    {
-    CHnButtonModel* button = NULL;
-    for( TInt i( 0 ); i < iButtons.Count(); i++ )
-        {
-        if( iButtons[ i ]->GetIndex() == aIndex )
-            {
-            button = iButtons[ i ];
-            }
-        }
-    return button;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CHnToolbarModel::HasButtons() const
-    {
-    TBool hasButtons = EFalse;
-    if( iButtons.Count() != 0 )
-        {
-        hasButtons = ETrue;
-        }
-    return hasButtons;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnToolbarModel::RemoveLiwObjects()
-    {
-    for( TInt i( 0 ); i < iButtons.Count(); i++ )
-        {
-        iButtons[i]->RemoveLiwObjects();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnToolbarModel::CHnToolbarModel( TInt aMaxCount ) : 
-                                        KMaxButtonCount( aMaxCount )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnToolbarModel::ConstructL()
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/bwins/hnutilitiesu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-EXPORTS
-	?ExecuteL@CHnServiceHandler@@QAEHPAVMLiwNotifyCallback@@H@Z @ 1 NONAME ; int CHnServiceHandler::ExecuteL(class MLiwNotifyCallback *, int)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVRBuf8@@@Z @ 2 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, class RBuf8 &)
-	?NewLC@CHnRepositoryManager@@SAPAV1@XZ @ 3 NONAME ; class CHnRepositoryManager * CHnRepositoryManager::NewLC(void)
-	?ToGenericParamListL@CHnMdBaseKey@@UBEXAAVCLiwGenericParamList@@@Z @ 4 NONAME ; void CHnMdBaseKey::ToGenericParamListL(class CLiwGenericParamList &) const
-	?NumToStr8LC@HnConvUtils@@SAPAVHBufC8@@ABH@Z @ 5 NONAME ; class HBufC8 * HnConvUtils::NumToStr8LC(int const &)
-	?StoreSuiteWidgetTypeL@CHnRepositoryManager@@QAEHABVTDesC16@@W4THnSuiteWidgetType@@@Z @ 6 NONAME ; int CHnRepositoryManager::StoreSuiteWidgetTypeL(class TDesC16 const &, enum THnSuiteWidgetType)
-	?StrToStr8L@HnConvUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 7 NONAME ; class HBufC8 * HnConvUtils::StrToStr8L(class TDesC16 const &)
-	?NewL@CHnRepositoryManager@@SAPAV1@XZ @ 8 NONAME ; class CHnRepositoryManager * CHnRepositoryManager::NewL(void)
-	?VariantToStringL@HnLiwUtils@@SAHAAVTLiwVariant@@AAVRBuf16@@@Z @ 9 NONAME ; int HnLiwUtils::VariantToStringL(class TLiwVariant &, class RBuf16 &)
-	?SetGenericParamListL@HnLiwUtils@@SAXABV?$RPointerArray@VCHnMdBaseKey@@@@AAVCLiwGenericParamList@@@Z @ 10 NONAME ; void HnLiwUtils::SetGenericParamListL(class RPointerArray<class CHnMdBaseKey> const &, class CLiwGenericParamList &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVRBuf8@@@Z @ 11 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, int, class RBuf8 &)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@ABVTDesC8@@00@Z @ 12 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@VTXmlEngElement@@@Z @ 13 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TXmlEngElement)
-	?Str8ToStrLC@HnConvUtils@@SAPAVHBufC16@@ABVTDesC8@@@Z @ 14 NONAME ; class HBufC16 * HnConvUtils::Str8ToStrLC(class TDesC8 const &)
-	?GetIterableItemCountL@HnLiwUtils@@SAHAAVCLiwIterable@@@Z @ 15 NONAME ; int HnLiwUtils::GetIterableItemCountL(class CLiwIterable &)
-	?ReadSuiteWidgetTypeL@CHnRepositoryManager@@QAEHABVTDesC16@@AAW4THnSuiteWidgetType@@@Z @ 16 NONAME ; int CHnRepositoryManager::ReadSuiteWidgetTypeL(class TDesC16 const &, enum THnSuiteWidgetType &)
-	?StrToInt@HnConvUtils@@SAHABVTDesC16@@AAJ@Z @ 17 NONAME ; int HnConvUtils::StrToInt(class TDesC16 const &, long &)
-	??1CHnServiceHandler@@UAE@XZ @ 18 NONAME ; CHnServiceHandler::~CHnServiceHandler(void)
-	?NewLC@CHnServiceHandler@@SAPAV1@ABVTDesC8@@00W4TServiceMode@@PAVCLiwGenericParamList@@2@Z @ 19 NONAME ; class CHnServiceHandler * CHnServiceHandler::NewLC(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, enum TServiceMode, class CLiwGenericParamList *, class CLiwGenericParamList *)
-	?Str8ToUint@HnConvUtils@@SAHABVTDesC8@@AAI@Z @ 20 NONAME ; int HnConvUtils::Str8ToUint(class TDesC8 const &, unsigned int &)
-	?Str8ToInt@HnConvUtils@@SAHABVTDesC8@@AAJ@Z @ 21 NONAME ; int HnConvUtils::Str8ToInt(class TDesC8 const &, long &)
-	?NewL@CHnServiceHandler@@SAPAV1@ABVTDesC8@@00W4TServiceMode@@PAVCLiwGenericParamList@@2@Z @ 22 NONAME ; class CHnServiceHandler * CHnServiceHandler::NewL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &, enum TServiceMode, class CLiwGenericParamList *, class CLiwGenericParamList *)
-	?AddSubKeyL@CHnMdBaseKey@@QAEXPAV1@@Z @ 23 NONAME ; void CHnMdBaseKey::AddSubKeyL(class CHnMdBaseKey *)
-	?Str8ToInt@HnConvUtils@@SAHABVTDesC8@@AAH@Z @ 24 NONAME ; int HnConvUtils::Str8ToInt(class TDesC8 const &, int &)
-	?ToVariantL@CHnMdBaseKey@@UBEXAAVTLiwVariant@@@Z @ 25 NONAME ; void CHnMdBaseKey::ToVariantL(class TLiwVariant &) const
-	?Str8ToStr@HnConvUtils@@SAPAVHBufC16@@ABVTDesC8@@@Z @ 26 NONAME ; class HBufC16 * HnConvUtils::Str8ToStr(class TDesC8 const &)
-	?HandleNotifyL@CHnServiceHandler@@EAEHHHAAVCLiwGenericParamList@@ABV2@@Z @ 27 NONAME ; int CHnServiceHandler::HandleNotifyL(int, int, class CLiwGenericParamList &, class CLiwGenericParamList const &)
-	?DeleteSuiteRelatedL@CHnRepositoryManager@@QAEHABVTDesC16@@@Z @ 28 NONAME ; int CHnRepositoryManager::DeleteSuiteRelatedL(class TDesC16 const &)
-	?GetInt64L@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAA_J@Z @ 29 NONAME ; int HnLiwUtils::GetInt64L(class CLiwGenericParamList const &, class TDesC8 const &, int, long long &)
-	??1CHnRepositoryManager@@UAE@XZ @ 30 NONAME ; CHnRepositoryManager::~CHnRepositoryManager(void)
-	?CreateL@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@ABVTDesC8@@0ABVTDesC16@@@Z @ 31 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateL(class TDesC8 const &, class TDesC8 const &, class TDesC16 const &)
-	?GetVariantL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVTLiwVariant@@@Z @ 32 NONAME ; int HnLiwUtils::GetVariantL(class CLiwGenericParamList const &, class TDesC8 const &, int, class TLiwVariant &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVRBuf16@@@Z @ 33 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, class RBuf16 &)
-	?GetStringL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@HAAVRBuf16@@@Z @ 34 NONAME ; int HnLiwUtils::GetStringL(class CLiwGenericParamList const &, class TDesC8 const &, int, class RBuf16 &)
-	?ExecuteL@CHnServiceHandler@@QAEHAAVCLiwGenericParamList@@AAVTRequestStatus@@@Z @ 35 NONAME ; int CHnServiceHandler::ExecuteL(class CLiwGenericParamList &, class TRequestStatus &)
-	?VariantToStringL@HnLiwUtils@@SAHAAVTLiwVariant@@AAVRBuf8@@@Z @ 36 NONAME ; int HnLiwUtils::VariantToStringL(class TLiwVariant &, class RBuf8 &)
-	?StrToInt@HnConvUtils@@SAHABVTDesC16@@AAH@Z @ 37 NONAME ; int HnConvUtils::StrToInt(class TDesC16 const &, int &)
-	?CreateLC@HnMdKeyFactory@@SAPAVCHnMdBaseKey@@VTXmlEngElement@@@Z @ 38 NONAME ; class CHnMdBaseKey * HnMdKeyFactory::CreateLC(class TXmlEngElement)
-	?StrToStr8LC@HnConvUtils@@SAPAVHBufC8@@ABVTDesC16@@@Z @ 39 NONAME ; class HBufC8 * HnConvUtils::StrToStr8LC(class TDesC16 const &)
-	?EvaluateLC@CHnMdBaseKey@@QAEPAV1@ABVCLiwGenericParamList@@H@Z @ 40 NONAME ; class CHnMdBaseKey * CHnMdBaseKey::EvaluateLC(class CLiwGenericParamList const &, int)
-	?GetVariantL@HnLiwUtils@@SAHABVCLiwGenericParamList@@ABVTDesC8@@AAVTLiwVariant@@@Z @ 41 NONAME ; int HnLiwUtils::GetVariantL(class CLiwGenericParamList const &, class TDesC8 const &, class TLiwVariant &)
-
Binary file menufw/hierarchynavigator/hnutilities/data/20012474.txt has changed
Binary file menufw/hierarchynavigator/hnutilities/data/20012474_newMenuFw.txt has changed
--- a/menufw/hierarchynavigator/hnutilities/eabi/hnutilitiesu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-EXPORTS
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8R5RBuf8 @ 1 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8R6RBuf16 @ 2 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8iR5RBuf8 @ 3 NONAME
-	_ZN10HnLiwUtils10GetStringLERK20CLiwGenericParamListRK6TDesC8iR6RBuf16 @ 4 NONAME
-	_ZN10HnLiwUtils11GetVariantLERK20CLiwGenericParamListRK6TDesC8R11TLiwVariant @ 5 NONAME
-	_ZN10HnLiwUtils11GetVariantLERK20CLiwGenericParamListRK6TDesC8iR11TLiwVariant @ 6 NONAME
-	_ZN10HnLiwUtils16VariantToStringLER11TLiwVariantR5RBuf8 @ 7 NONAME
-	_ZN10HnLiwUtils16VariantToStringLER11TLiwVariantR6RBuf16 @ 8 NONAME
-	_ZN10HnLiwUtils20SetGenericParamListLERK13RPointerArrayI12CHnMdBaseKeyER20CLiwGenericParamList @ 9 NONAME
-	_ZN10HnLiwUtils21GetIterableItemCountLER12CLiwIterable @ 10 NONAME
-	_ZN10HnLiwUtils9GetInt64LERK20CLiwGenericParamListRK6TDesC8iRx @ 11 NONAME
-	_ZN11HnConvUtils10Str8ToUintERK6TDesC8Rj @ 12 NONAME
-	_ZN11HnConvUtils10StrToStr8LERK7TDesC16 @ 13 NONAME
-	_ZN11HnConvUtils11NumToStr8LCERKi @ 14 NONAME
-	_ZN11HnConvUtils11Str8ToStrLCERK6TDesC8 @ 15 NONAME
-	_ZN11HnConvUtils11StrToStr8LCERK7TDesC16 @ 16 NONAME
-	_ZN11HnConvUtils8StrToIntERK7TDesC16Ri @ 17 NONAME
-	_ZN11HnConvUtils8StrToIntERK7TDesC16Rl @ 18 NONAME
-	_ZN11HnConvUtils9Str8ToIntERK6TDesC8Ri @ 19 NONAME
-	_ZN11HnConvUtils9Str8ToIntERK6TDesC8Rl @ 20 NONAME
-	_ZN11HnConvUtils9Str8ToStrERK6TDesC8 @ 21 NONAME
-	_ZN12CHnMdBaseKey10AddSubKeyLEPS_ @ 22 NONAME
-	_ZN12CHnMdBaseKey10EvaluateLCERK20CLiwGenericParamListi @ 23 NONAME
-	_ZN14HnMdKeyFactory7CreateLE14TXmlEngElement @ 24 NONAME
-	_ZN14HnMdKeyFactory7CreateLERK6TDesC8S2_RK7TDesC16 @ 25 NONAME
-	_ZN14HnMdKeyFactory7CreateLERK6TDesC8S2_S2_ @ 26 NONAME
-	_ZN14HnMdKeyFactory8CreateLCE14TXmlEngElement @ 27 NONAME
-	_ZN17CHnServiceHandler13HandleNotifyLEiiR20CLiwGenericParamListRKS0_ @ 28 NONAME
-	_ZN17CHnServiceHandler4NewLERK6TDesC8S2_S2_12TServiceModeP20CLiwGenericParamListS5_ @ 29 NONAME
-	_ZN17CHnServiceHandler5NewLCERK6TDesC8S2_S2_12TServiceModeP20CLiwGenericParamListS5_ @ 30 NONAME
-	_ZN17CHnServiceHandler8ExecuteLEP18MLiwNotifyCallbacki @ 31 NONAME
-	_ZN17CHnServiceHandler8ExecuteLER20CLiwGenericParamListR14TRequestStatus @ 32 NONAME
-	_ZN17CHnServiceHandlerD0Ev @ 33 NONAME
-	_ZN17CHnServiceHandlerD1Ev @ 34 NONAME
-	_ZN17CHnServiceHandlerD2Ev @ 35 NONAME
-	_ZN20CHnRepositoryManager19DeleteSuiteRelatedLERK7TDesC16 @ 36 NONAME
-	_ZN20CHnRepositoryManager20ReadSuiteWidgetTypeLERK7TDesC16R18THnSuiteWidgetType @ 37 NONAME
-	_ZN20CHnRepositoryManager21StoreSuiteWidgetTypeLERK7TDesC1618THnSuiteWidgetType @ 38 NONAME
-	_ZN20CHnRepositoryManager4NewLEv @ 39 NONAME
-	_ZN20CHnRepositoryManager5NewLCEv @ 40 NONAME
-	_ZN20CHnRepositoryManagerD0Ev @ 41 NONAME
-	_ZN20CHnRepositoryManagerD1Ev @ 42 NONAME
-	_ZN20CHnRepositoryManagerD2Ev @ 43 NONAME
-	_ZNK12CHnMdBaseKey10ToVariantLER11TLiwVariant @ 44 NONAME
-	_ZNK12CHnMdBaseKey19ToGenericParamListLER20CLiwGenericParamList @ 45 NONAME
-	_ZThn4_N17CHnServiceHandler13HandleNotifyLEiiR20CLiwGenericParamListRKS0_ @ 46 NONAME
-
--- a/menufw/hierarchynavigator/hnutilities/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project hnutilities
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS 
-../inc/hnrepositorymanager.h    |../../../inc/hnrepositorymanager.h
-../inc/hnconvutils.h            |../../../inc/hnconvutils.h
-../inc/hnconvutils.inl          |../../../inc/hnconvutils.inl
-../inc/hnliwutils.h             |../../../inc/hnliwutils.h
-../inc/hnmdbasekey.h            |../../../inc/hnmdbasekey.h
-../inc/hnmdkeyfactory.h         |../../../inc/hnmdkeyfactory.h
-../inc/hnservicehandler.h       |../../../inc/hnservicehandler.h
-
-../data/20012474_newMenuFw.txt z:/private/10202be9/20012474.txt
-
-PRJ_MMPFILES
-hnutilities.mmp
-
-PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/hierarchynavigator/hnutilities/group/hnutilities.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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:  Project definition file for project hierarchy navigator utilities
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          hnutilities.dll
-TARGETTYPE      dll
-
-UID             0x1000008d 0x2001843B
-
-CAPABILITY      CAP_GENERAL_DLL
-
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-
-SOURCE          hnrepositorymanager.cpp
-// static utils
-SOURCE          hnconvutils.cpp
-SOURCE          hnliwutils.cpp
-// keys
-SOURCE          hnmdbasekey.cpp
-SOURCE          hnmdbooleankey.cpp
-SOURCE          hnmdintegerkey.cpp
-SOURCE          hnmdlistkey.cpp
-SOURCE          hnmdmapkey.cpp
-SOURCE          hnmdstring16key.cpp
-SOURCE          hnmdstring8key.cpp
-SOURCE          hnmdundefkey.cpp
-SOURCE          hnmduidkey.cpp
-SOURCE          hnmdkeyfactory.cpp
-// service handling
-SOURCE          hnservicehandler.cpp 
-SOURCE          hnmduintegerkey.cpp hnmdinteger64key.cpp
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE   ../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         estor.lib 
-LIBRARY         euser.lib
-LIBRARY         bafl.lib
-LIBRARY         efsrv.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         charconv.lib              // for CnvUtfConverter
-LIBRARY         liwservicehandler.lib     // LIW Framework
-LIBRARY         XmlEngineDOM.lib          // XML parser
-LIBRARY         commonengine.lib          // StringLoader
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-// End of file
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnconvutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-
-#ifndef HNCONVUTILS_H
-#define HNCONVUTILS_H
-
-#include <e32base.h>
-
-/**
- * Provides static methods for converting numbers to
- * descriptors and vice versa.
- *  
- *  @lib hnutilities.lib
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnConvUtils )
-    {   
-public:
-
-	/**
-     * Converts narrow string descriptor to default width string descriptor.
-     *
-	 * @since S60 v5.0
-	 * @param aStr Narrow string descriptor.
-	 * @return Default wide string descriptor.
-	 */
-	IMPORT_C static HBufC* Str8ToStr( const TDesC8& aStr );
-	
-    /**
-     * Converts narrow string descriptor to default width string descriptor.
-     * Does not handle special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Narrow string descriptor.
-     * @return Default wide string descriptor.
-     */
-    static HBufC* Str8ToStrFastLC( const TDesC8& aStr );
-    
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     * Does not handle special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    static HBufC8* StrToStr8FastLC( const TDesC16& aStr );
-        
-    /**
-     * Converts narrow string descriptor to default width string descriptor.
-     * Handles special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Narrow string descriptor.
-     * @return Default wide string descriptor.
-     */
-    IMPORT_C static HBufC* Str8ToStrLC( const TDesC8& aStr );
-
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     * Handles special characters.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* StrToStr8LC( const TDesC16& aStr );
-
-    /**
-     * Converts wide string descriptor to narrow string descriptor.
-     *
-     * @since S60 v5.0
-     * @param aStr Wide string descriptor input.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* StrToStr8L( const TDesC16& aStr );
-    
-    /**
-     * Converts integer to narrow string descriptor.
-     *
-     * @since S60 v5.0
-     * @param aNum Number.
-     * @return Narrow string.
-     */    
-    IMPORT_C static HBufC8* NumToStr8LC( const TInt& aNum );
-    
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToInt( const TDesC8& aValue, TInt& aResult );
-
-    /**
-     * Converts string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt StrToInt( const TDesC& aValue, TInt& aResult );
-  
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToInt( const TDesC8& aValue, TInt32& aResult );
-     
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt StrToInt( const TDesC& aValue, TInt32& aResult );
-     
-    /**
-     * Converts narrow string descriptor to integer value.
-     *
-     * @since S60  v5.0
-     * @param aValue Input descriptor.
-     * @param aResult Result integer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt Str8ToUint( const TDesC8& aValue, TUint& aResult );
-    };
-
-#include "hnconvutils.inl"
-
-#endif // HNCONVUTILS_H
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnconvutils.inl	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline HBufC* HnConvUtils::Str8ToStrFastLC( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::NewLC( aStr.Length() );
-    ret->Des().Copy( aStr );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline HBufC8* HnConvUtils::StrToStr8FastLC( const TDesC16& aStr )
-    {
-    HBufC8* ret = HBufC8::NewLC( aStr.Length() );
-    ret->Des().Copy( aStr );
-    return ret;
-    }
--- a/menufw/hierarchynavigator/hnutilities/inc/hnliwutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNLIWUTILS_H
-#define HNLIWUTILS_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <liwcommon.h>
-
-
-class CHnMdBaseKey;
-class CLiwGenericParamList;
-class TLiwVariant;
-
-/**
- *  Provides static methods which handles operations
- *  like extracting data from and inserting data to 
- *  LIW composite classes ( CLiwGenericParamList, TLiwVariant ).   
- * 
- *  @lib hnutilities.lib
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnLiwUtils )
-    {   
-public:
-    /**
-     * Appends key-value pairs stored in aKeys to aInParam.
-     * Keys are appended in the same order as they occur in the aKeys array.
-     * Every key value is converted to a TLiwVariant before appending to the
-     * param list.
-     * 
-     * @since S60 v5.0
-     * @param aKeys Keys to append.
-     * @param aInParam Param list to be modified.
-     */    
-    IMPORT_C static void SetGenericParamListL(
-        const RPointerArray<CHnMdBaseKey> & aKeys,
-        CLiwGenericParamList& aInParam );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        RBuf& aBuf );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        RBuf8& aBuf );
-    
-    /**
-     * Returns TInt64 value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aRet Return TInt64 value.
-     * @return TInt64 value or KErrNotFound.
-     */
-    IMPORT_C static TInt GetInt64L( const CLiwGenericParamList& aParam,
-    	    const TDesC8& aPath, TInt aPos, TInt64& aRet );
-    
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        TInt aPos,
-        RBuf& aBuf );
-
-    /**
-     * Creates a string representing a selected value from the param list.
-     * The aPath paramter is the path to the selected param list element.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @param aPos Position.
-     * @param aBuf Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetStringL(
-        const CLiwGenericParamList& aParam, 
-        const TDesC8& aPath, 
-        TInt aPos,
-        RBuf8& aBuf );
-    
-    /**
-     *  Exctracts variant from param list.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI path.
-     * @param aPos Position.
-     * @param aRet Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetVariantL(
-        const CLiwGenericParamList& aParam,
-        const TDesC8& aPath,
-        TInt aPos,
-        TLiwVariant& aRet );
-
-    /**
-     *  Exctracts variant from param list.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI path.
-     * @param aRet Output buffer.
-     * @return Error code.
-     */
-    IMPORT_C static TInt GetVariantL(
-        const CLiwGenericParamList& aParam,
-        const TDesC8& aPath,
-        TLiwVariant& aRet );
-    
-    /**
-     * Creates a string representation of a variant value.
-     * Supported variant types are: EVariantTypeDesC, 
-     * EVariantTypeDesC8, EVariantTypeTUid, EVariantTypeTInt32,
-     * and EVariantTypeTUint.
-     * 
-     * @since S60 v5.0
-     * @param aVariant Source variant.
-     * @param aBuf Output buffer.
-     * @return EFalse if variant type is not supported.
-     */
-    IMPORT_C static TBool VariantToStringL( TLiwVariant& aVariant,
-                                           RBuf& aBuf );
-    
-    /**
-     * Creates a string representation of a variant value.
-     * Supported variant types are: EVariantTypeDesC, 
-     * EVariantTypeDesC8, EVariantTypeTUid, EVariantTypeTInt32,
-     * and EVariantTypeTUint.
-     * 
-     * @since S60 v5.0
-     * @param aVariant Source variant.
-     * @param aBuf Output buffer.
-     * @return EFalse if variant type is not supported.
-     */
-    IMPORT_C static TBool VariantToStringL( TLiwVariant& aVariant,
-                                           RBuf8& aBuf );
-
-    /**
-     * Gets total number of items held by an iterable.
-     * 
-     * @param aIterable the iterable
-     * @return total number of items stored in aIterable
-     */
-    IMPORT_C static TInt GetIterableItemCountL( CLiwIterable& aIterable );
-
-private:
-    
-    /**
-     * Exctracts namespace from param list.
-     *
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aNameSpace Namespace.
-     * @param aRet Output variant.
-     * @return Error code.
-     */
-    static TInt ExtractNameSpaceL( const CLiwGenericParamList& aParam,
-                                   const TDesC8& aNameSpace,
-                                   TLiwVariant& aRet );
-    
-    /**
-     * Process path for selecting elements separated by colon or slash.
-     *
-     * @since S60 v5.0
-     * @param aPath Path.
-     * @param aPathParts Elements of the path.
-     */
-    static void ParsePathL( const TDesC8& aPath, 
-                           RArray< TPtrC8 >& aPathParts );
-
-    /**
-     * Replaces the first occurence of the string "$index" with a number.
-     * On successful execution the string contained in aPath8 will have
-     * have the first occurence of the substring "$index" replaced by
-     * a string representation of the number given in aPos.
-     *  
-     * @since S60 v5.0
-     * @param aPath8 A path to the variant in the generic param list.
-     * @param aPos A position of the item in the group of items.
-     * @return Length of the new path, ending at the index object.
-     */
-    static TInt ReplaceIndexL( RBuf8& aPath8, TInt aPos );
-        
-    /**
-     * Extracts a number enclosed in square brackets from a string.
-     * The number is assumed to be non-negative (otherwise it would be
-     * impossible to determine if the function executed successfully).
-     * If the string contains more than one pair of square brackets, only
-     * the first pair is processed by this method.
-     * 
-     * @since S60 v5.0
-     * @param aPosition String containing the position number.
-     * @return Number extracted from string or error code on failure.
-     */
-    static TInt GetPosition( const TDesC8& aPosition );
-
-    /**
-     * Uses iterator object to extract variant pointed by position. 
-     *
-     * @since S60 v5.0
-     * @param aIterable Iterator to use.
-     * @param aPos Position of the variant.
-     * @param aVariant Output variant.
-     * @return ETrue if variant found.
-     */
-    static TBool GetIterableByPositionL(
-        CLiwIterable & aIterable,
-        TInt aPos,
-        TLiwVariant & aVariant );
-     
-     };
-
-#endif // HNLIWUTILS_H
-
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdbasekey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef C_HNMDBASEKEY_H
-#define C_HNMDBASEKEY_H
-
-#include <e32base.h>
-#include <e32hashtab.h>
-#include <xmlengdom.h>
-
-class CLiwDefaultMap;
-class CLiwGenericParamList;
-class TLiwVariant;
-class CHnMdBaseKey;
-
-/**
- *  Abstract Class representing keys used in XML configuration.
- *  These keys can become parameters for LIW requests for example.
- *  Deriving classes defines particular key types like integers or strings.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdBaseKey ) : public CBase
-    {
-    friend class HnMdKeyFactory; 
-    
-public:
-
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdBaseKey();
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC() = 0;
-    
-    /**
-     * Getter - key name.
-     * since S60 v5.0
-     * 
-     * @return Key name.
-     */     
-    const TDesC8& KeyName() const;
-    
-    /**
-     * Getter - key content.
-     * since S60 v5.0
-     * 
-     * @return Key content.
-     */ 
-    virtual const TDesC& KeyContent() const;
-    
-    /**
-     * Getter - sub keys.
-     * 
-     * @since S60 v5.0
-     * @return Sub keys array.
-     */
-    const RPointerArray<CHnMdBaseKey>& SubKeys() const;
-    
-    /**
-     * Getter - key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    virtual void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Getter - key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    virtual void GetKeyContent( TInt64& aContent ) const;
-     
-    /**
-     * Evaluates key - sets params.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position of the item in the items group.
-     * 
-     */
-    IMPORT_C CHnMdBaseKey* EvaluateLC(
-        const CLiwGenericParamList& aParamList,
-        TInt aPos = 0 );
-  
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    IMPORT_C virtual void ToVariantL( TLiwVariant& aRet ) const;
-     
-    /**
-     * Change to generic param list.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output generic param list.
-     * 
-     */
-    IMPORT_C virtual void ToGenericParamListL( CLiwGenericParamList & aRet ) const;
-        
-    /**
-     * Adds a sub key.
-     * 
-     * @since S60 v5.0
-     * @param aKey New key.
-     */
-    IMPORT_C void AddSubKeyL( CHnMdBaseKey* aKey );
-    
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdBaseKey();
-       
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void BaseConstructL( TXmlEngElement aElement );
-    
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Key.
-     */
-    void BaseConstructL( const CHnMdBaseKey* aKey );
-        
-    /**
-     * Sets key name.
-     * 
-     * @since S60 v5.0
-     * @param aName Name of new key.
-     */
-    void SetKeyNameL( const TXmlEngAttr& aName );
-    
-    /**
-     * Sets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent XML Attribute.
-     */
-    void SetKeyContentL( const TXmlEngAttr& aContent );
-
-    /**
-     * Sets sub keys.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetSubKeysL( const TXmlEngElement& aElement );
-    
-    /**
-      * Sets sub keys.
-      *
-      * @since S60 v5.0
-      * @param aKey New key.
-      */
-    void SetSubKeysL( const CHnMdBaseKey* aKey );
-    
-    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetValueL( const TXmlEngElement& aElement );
-    
-    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aValue New value.
-     */
-    void SetValueL( const TDesC8& aValue );
-
-	    /**
-     * Sets value.
-     *
-     * @since S60 v5.0
-     * @param aValue New value.
-     */
-    void SetValueL( const TDesC& aValue );
-	
-    /**
-     * Sets key or name.
-     *
-     * @since S60 v5.0
-     * @param aElement XML DOM Element.
-     */
-    void SetKeyOrNameL( const TXmlEngElement& aElement );
-    
-    /**
-     * Sets key name.
-     * 
-     * @since S60 v5.0
-     * @param aName New key name.
-     */
-    void SetKeyNameL( const TDesC8& aName );
-    
-    /**
-     * Evaluates key - sets params.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void DoEvaluateL( const CLiwGenericParamList& aParamList,
-                        TInt aPos = 0 );
-    
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    virtual void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-                        TInt aPos = 0 );
-    
-protected: // data
-    
-    /**
-     * Key name (8-bit descriptor).
-     * Own. 
-     */
-    RBuf8 iKeyName;
-
-    /**
-     * Key content.
-     * Own. 
-     */
-    RBuf iContent;
-       
-   /**
-    * Subkeys (i.e. to handle with actions).
-    * Own. 
-    */
-    RPointerArray<CHnMdBaseKey> iSubKeys;
-
-    };
-
-#endif // C_HNMDBASEKEY_H
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdbooleankey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDBOOLEANKEY_H
-#define C_HNMDBOOLEANKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is bool.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdBooleanKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewL( const CHnMdBooleanKey* aKey );
-    
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdBooleanKey* NewLC( const CHnMdBooleanKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdBooleanKey();
-    
-    /**
-     * Gets key boolean value.
-     *
-     * @since S60 v5.0
-     * @return Boolean value represented by the key.
-     */
-    TBool GetBooleanValueL() const;//Only in CHnMdBooleanKey
-
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-           
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdBooleanKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdBooleanKey* aKey );
-    
-    };
-
-#endif // C_HNMDBOOLEANKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdinteger64key.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDINTEGER64KEY_H
-#define C_HNMDINTEGER64KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is 64-bit integer.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdInteger64Key ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewL( const CHnMdInteger64Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdInteger64Key* NewLC( const CHnMdInteger64Key* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdInteger64Key();
-    
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt64& aContent ) const;
-
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:      
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdInteger64Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdInteger64Key* aKey );
-    };
-
-#endif // C_HNMDINTEGER64KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdintegerkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef C_HNMDINTEGERKEY_H
-#define C_HNMDINTEGERKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-
-/**
- * Defines particular key type which is integer.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdIntegerKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewL( const CHnMdIntegerKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdIntegerKey* NewLC( const CHnMdIntegerKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdIntegerKey();
- 
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdIntegerKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdIntegerKey* aKey );
-    };
-
-#endif // C_HNMDINTEGERKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdkeyfactory.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNMDKEYFACTORY_H
-#define HNMDKEYFACTORY_H
-
-#include <e32base.h>
-#include <xmlengdom.h>
-
-class CHnMdBaseKey;
-
-/**
- * Provides static methods for creating particular key classes.
- *
- * @lib hnutilities.lib
- * @since S60 v3.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( HnMdKeyFactory )
-    {  
-public:
-
-    /**
-     * Creates particular key type depending on XML element.
-     * Sets name and value of the key read also from XML. 
-     * 
-     * since S60 v5.0
-     * @param aElement XML DOM Element.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateLC( TXmlEngElement aElement );
-    
-    /**
-     * Creates particular key type depending on XML element.
-     * Sets name and value of the key read also from XML. 
-     *
-     * since S60 v5.0
-     * @param aElement XML DOM Element.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateL( TXmlEngElement aElement );
-    
-    /**
-     * Creates particular key type depending on passed argument.
-     * Sets name and value of the key. 
-     * 
-     * since S60 v5.0
-     * @param aName Key name.
-     * @param aType Key type.
-     * @param aValue Key value.
-     * @return Pointer to created key.
-     */
-    IMPORT_C static CHnMdBaseKey* CreateL(
-        const TDesC8& aName,
-        const TDesC8& aType,
-        const TDesC8& aValue );
-
-    /**
-    * Creates particular key type depending on passed argument.
-    * Sets name and value of the key. 
-    * 
-    * since S60 v5.0
-    * @param aName Key name.
-    * @param aType Key type.
-    * @param aValue Key value.
-    * @return Pointer to created key.
-    */
-   IMPORT_C static CHnMdBaseKey* CreateL(
-       const TDesC8& aName,
-       const TDesC8& aType,
-       const TDesC& aValue );    
-    
- private:
- 
-    /**
-     * Creates particular key type depending on passed argument.
-     *
-     * since S60 v5.0
-     * @param aKeyType Key type.
-     * @return Pointer to created key.
-     */
-    static CHnMdBaseKey* CreateL( const TDesC8& aKeyType );
-    };
-
-#endif // HNMDKEYFACTORY_H
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdlistkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef C_HNMDLISTKEY_H
-#define C_HNMDLISTKEY_H
-
-#include <liwcommon.h>
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-
-/**
- * Defines particular key type which is LIW list.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdListKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewL( const CHnMdListKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdListKey* NewLC( const CHnMdListKey* aKey );
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdListKey();
-    
-// from base class CHnMdBaseKey
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdListKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-  
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdListKey* aKey );
-
-// from base class CHnMdBaseKey
-
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-                            TInt aPos );
-
-private: // data
-    
-    /**
-     * Own. Variant.
-     */
-    TLiwVariant iVariantContent;
-    
-    };
-
-#endif // C_HNMDLISTKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdmapkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDMAPKEY_H
-#define C_HNMDMAPKEY_H
-
-#include <liwcommon.h>
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is LIW map.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdMapKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewL( const CHnMdMapKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdMapKey* NewLC( const CHnMdMapKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CHnMdMapKey();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-
-protected:      
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdMapKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdMapKey* aKey );
-    
-    /**
-     * Evaluates the key value.
-     * 
-     * @since S60 v5.0
-     * @param aParamList List of parameters.
-     * @param aPos Position in the param list. Default is 0.
-     */
-    void EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-            TInt aPos );
-       
-private:
-    
-    /**
-     * Variant.
-     */
-    TLiwVariant iVariantContent;
-    
-    };
-
-#endif // C_HNMDMAPKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdstring16key.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDSTRING16KEY_H
-#define C_HNMDSTRING16KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is unicode string.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdString16Key ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewL( const CHnMdString16Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString16Key* NewLC( const CHnMdString16Key* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdString16Key();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdString16Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdString16Key* aKey );
-    };
-
-#endif // C_HNMDSTRING16KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdstring8key.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDSTRING8KEY_H
-#define C_HNMDSTRING8KEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- *  Defines particular key type which is narrow string.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- *  @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdString8Key ) : public CHnMdBaseKey
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewL( const CHnMdString8Key* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdString8Key* NewLC( const CHnMdString8Key* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdString8Key();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-    friend class HnMdKeyFactory;  
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdString8Key();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdString8Key* aKey );
-    };
-
-#endif // C_HNMDSTRING8KEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmduidkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef C_HNMDUIDKEY_H
-#define C_HNMDUIDKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is UID.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CHnMdUidKey ) : public CHnMdBaseKey
-    {
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewL( const CHnMdUidKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUidKey* NewLC( const CHnMdUidKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUidKey();
-
-    /**
-     * Gets key content.
-     *
-     * @since S60 v5.0
-     * @param aContent Output content.
-     */
-    void GetKeyContent( TInt& aContent ) const;
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-    friend class HnMdKeyFactory;  
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUidKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUidKey* aKey );
-    };
-
-#endif // C_HNMDUIDKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmduintegerkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-#ifndef HNMDUINTEGERKEY_H_
-#define HNMDUINTEGERKEY_H_
-
-#include <e32base.h>
-#include "hnmdbasekey.h"
-
-/**
- * Defines particular key type which is unsigned integer.
- *
- *  @lib hierarchynavigatorengine
- *  @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdUIntegerKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewL();
-
-    /**
-     * Standard factory method.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewLC();
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewL( const CHnMdUIntegerKey* aKey );
-
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUIntegerKey* NewLC( const CHnMdUIntegerKey* aKey );
-    
-    /**
-     * Factory method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */
-    virtual CHnMdBaseKey* CopyLC();
-   
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUIntegerKey();
-    
-    /**
-     * Change to variant.
-     * 
-     * @since S60 v5.0
-     * @param aRet Output variant.
-     * 
-     */
-    virtual void ToVariantL( TLiwVariant& aRet ) const;
-    
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUIntegerKey();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUIntegerKey* aKey );
-    };
-
-#endif // HNMDUINTEGERKEY_H_
--- a/menufw/hierarchynavigator/hnutilities/inc/hnmdundefkey.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007-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:    
-*
-*/
-
-
-
-#ifndef C_HNMDUNDEFKEY_H
-#define C_HNMDUNDEFKEY_H
-
-#include <e32base.h>
-
-#include "hnmdbasekey.h"
-
-/**
- * Defines key which has undefined type.
- *
- * @lib hierarchynavigatorengine
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnMdUndefKey ) : public CHnMdBaseKey
-    {
-    friend class HnMdKeyFactory;
-
-public:
-    
-    /**
-     * Standard factory function.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewL();
-
-    /**
-     * Standard factory function.
-     * 
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewLC();
-    
-    /**
-     * Standard factory method.
-     * 
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewL( const CHnMdUndefKey* aKey );    
-
-    /**
-     * Instance copy method.
-     *
-     * since S60 v5.0
-     * @param aKey Reference key.
-     * @return Fully constructed object.
-     */
-    static CHnMdUndefKey* NewLC( const CHnMdUndefKey* aKey );    
-
-    /**
-     * Instance copy method.
-     *
-     * since S60 v5.0
-     * @return Fully constructed object.
-     */  
-    virtual CHnMdBaseKey* CopyLC();
-    
-    /**
-     * Standard destructor.
-     */
-    virtual ~CHnMdUndefKey();
-        
-protected:
-
-    /**
-     * Standard constructor.
-     * 
-     * @since S60 v5.0
-     */
-    CHnMdUndefKey();
-        
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();    
-    
-    /**
-     * Symbian constructor for performing 2nd stage construction.
-     * 
-     * @since S60 v5.0
-     * @param aKey Reference key.
-     */
-    void ConstructL( const CHnMdUndefKey* aKey );
-    };
-
-#endif // C_HNMDUNDEFKEY_H 
--- a/menufw/hierarchynavigator/hnutilities/inc/hnrepositorymanager.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007-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:   
-*
-*/
-
-
-#ifndef HNREPOSITORYMANAGER_H_
-#define HNREPOSITORYMANAGER_H_
-
-#include <e32base.h>
-#include <centralrepository.h>
-
-#include "hnglobals.h"
-
-/**
- * Class for managing operation on the central repository.
- * It is used to store widget types of suites in the central repository.
- * 
- * @since S60 v5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS( CHnRepositoryManager ) : public CBase
-    {
-
-public:
-    /**
-     * Factory method.
-     * 
-     * @since S60 v5.0
-     * @return Returns fully qualified object.
-     */
-    IMPORT_C static CHnRepositoryManager * NewL();
-    
-    /**
-     * Factory method.
-     * 
-     * @since S60 v5.0 
-     * @return Returns fully qualified object.
-     */    
-    IMPORT_C static CHnRepositoryManager * NewLC();
-    
-    /**
-     * Stores widget type in the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @param aWidgetType Widget type to be stored.
-     * @return Error code.
-     */    
-    IMPORT_C TInt StoreSuiteWidgetTypeL( const TDesC & aSuiteName, 
-                                         THnSuiteWidgetType aWidgetType );
-    
-    /**
-     * Deletes all suite related information from the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @return Error code.
-     */    
-    IMPORT_C TInt DeleteSuiteRelatedL( const TDesC & aSuiteName );
-    
-    /**
-     * Read suite widget type from the repository.
-     * 
-     * @since S60 v5.0
-     * @param aSuiteName Name of the suite.
-     * @param aSuiteWidget Widget type.
-     * @return Error code.
-     */    
-    IMPORT_C TInt ReadSuiteWidgetTypeL(
-            const TDesC & aSuiteName, THnSuiteWidgetType& aSuiteWidget );
-    
-    /**
-     * Standard C++ destructor.
-     * 
-     * @since S60 v5.0
-     */    
-    IMPORT_C ~CHnRepositoryManager();
-    
-private:
-
-    /**
-     * Second phase symbian constructor.
-     * 
-     * @since S60 v5.0
-     */
-    void ConstructL();
-    
-    /**
-     * Standard C++ constructor.
-     * 
-     * @since S60 v5.0
-     */    
-    CHnRepositoryManager();
-    
-private: // data
-
-    /**
-     * Widget type position.
-     */
-    const TInt KWidgetTypePosition;
-
-    /**
-     * Central Repository object.
-     * Own.
-     */
-    CRepository *iRepository;
-    
-    };
-
-#endif // HNREPOSITORYMANAGER_H_
--- a/menufw/hierarchynavigator/hnutilities/inc/hnservicehandler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#ifndef C_HNMDSERVICEHANDLER_H
-#define C_HNMDSERVICEHANDLER_H
-
-//#include <mnaiwservices.h>
-#include <liwcommon.h>
-#include <e32base.h>
-#include <xmlengelement.h> 
-
-#include "hnglobals.h"
-
-class CLiwServiceHandler;
-class CHnMdQuery;
-class CLiwGenericParamList;
-class MLiwInterface;
-class CLiwDefaultMap;
-class CHnMdBaseKey;
-class CHnMdServiceCommand;
-class CHnServiceHandler;
-
-/**
- * Class represeting request to LIW service. 
- * The request can be synchronous or asynchronous.
- *
- * @since S60 5.0
- * @ingroup group_hnutilities
- */
-NONSHARABLE_CLASS(CHnServiceHandler) : public CBase, public MLiwNotifyCallback
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommand Request to the Service.
-     * @param aMode Asynchronous or Synchronous Request.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.
-     * @return Fully cosntructed object.
-     */
-    IMPORT_C static CHnServiceHandler* NewL(
-            const TDesC8& aService, const TDesC8& aInterface, 
-            const TDesC8& aCommand, TServiceMode aMode,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    /**
-     * Two-phase constructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommand Request to the Service.
-     * @param aMode Asynchronous or Synchronous Request.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.
-     * @return Fully cosntructed object.
-     */
-    IMPORT_C static CHnServiceHandler* NewLC(
-            const TDesC8& aService, const TDesC8& aInterface,
-            const TDesC8& aCommand, TServiceMode aMode,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    /**
-     * Standard C++ virtual destructor.
-     *
-     * @since S60 5.0
-     */
-    IMPORT_C virtual ~CHnServiceHandler();
-
-    /**
-     * Executes the Request on the service.
-     *
-     * since S60 v5.0
-     * @param aOutParamList Request outcome.
-     * @param aStatus Status for signalling when request completes.
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL( CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus );
-    
-    /**
-     * Executes the query on the service, with external
-     * notification callback.
-     *
-     * since S60 v5.0
-     * @param aCallback Notification callback.
-     * @param aCmdOptions Additional options for the Request.
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL( MLiwNotifyCallback* aCallback,
-            TInt aCmdOptions = 0 );
-            
-            
-    /**
-     * Executes the query on the service.
-     * Deprecated - Do not Use this method!!!! Will be removed asap.
-     * 
-     * since S60 v5.0
-     * @return Error code.
-     */
-    IMPORT_C TInt ExecuteL();
-    
-private:
-
-    /**
-     * Standard C++ constructor.
-     *
-     * @since S60 5.0
-     * @param aMode Synchronous or asynchronous.
-     */
-    CHnServiceHandler( TServiceMode aMode ); 
-
-
-    /**
-     * Standard symbian 2nd phase contructor.
-     *
-     * @since S60 5.0
-     * @param aService Service name.
-     * @param aInterface Interface name.
-     * @param aCommandName Request to the Service.
-     * @param aConstructor Parameters used during Service construction.
-     * @param aServiceCommand Additional Parameters for the Request.  
-     */
-    void ConstructL(
-            const TDesC8& aService, const TDesC8& aInterface,
-            const TDesC8& aCommandName,
-            CLiwGenericParamList* aConstructor,
-            CLiwGenericParamList* aServiceCommand );
-
-    
-    /**
-     * Handles notifications caused by an asynchronous Request.
-     *
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL(
-            TInt aCmdId,
-            TInt aEventId,
-            CLiwGenericParamList& aEventParamList,
-            const CLiwGenericParamList& aInParamList);
-
-    /**
-     * Creates interface.
-     * 
-     * @param aConstructor constructor
-     * @return Error code.
-     */
-    TInt SetServiceInterfaceL( CLiwGenericParamList* aConstructor );
-     
-private: // data
-
-    /**
-     * Service name.
-     * Own.
-     */
-    RBuf8 iServiceName;
-
-    /**
-     * Interface name.
-     * Own.
-     */
-    RBuf8 iInterfaceName;
-    
-    /**
-     * Command (Request) name.
-     * Own.
-     */
-    RBuf8 iCommandName;
-
-    /**
-     * Service mode.
-     */
-    TServiceMode iMode;
-    
-    /**
-     * Stores input parameters (not data) of the service search method\
-     * (ExecuteServiceCmdL).
-     * Own. 
-     */
-    CLiwGenericParamList* iConstructor;
-
-    /**
-     * 
-     * Own.
-     */
-    CLiwGenericParamList* iCommand;
-    
-    /**
-     * Parameters for the Request.
-     * Own.
-     */
-    CLiwGenericParamList* iInput;
-    
-    /**
-     * Request results from ExecuteL();
-     * Own.
-     */
-    CLiwGenericParamList* iOutputForAS;
-    
-    /**
-     * Request results from 
-     * ExecuteL( CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus ).
-     * Own.
-     */
-    CLiwGenericParamList* iOutputForAO;
-    
-    /**
-     * Service interface. 
-     */
-    MLiwInterface* iServiceInterface;
-    
-    /**
-     * Service Handler.
-     * Own.
-     */
-    CLiwServiceHandler* iServiceHandler;
-    
-    /**
-     * Client status.
-     * Not Own.
-     */
-    TRequestStatus* iClientStatus;
-    
-    /**
-     * Waits for asynchronous queries.
-     * Own.
-     */
-    CActiveSchedulerWait* iWait;
-    
-    };
-
-#endif // C_HNMDSERVICEHANDLER_H
--- a/menufw/hierarchynavigator/hnutilities/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "hnutilities.txt");
-
-#endif // MYMENUDEBUG_H
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnconvutils.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <utf.h> 
-#include <e32std.h>
-
-#include "hnconvutils.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* HnConvUtils::Str8ToStr( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::New( aStr.Length() );
-    if (ret)
-    	{
-    	TPtr dest( ret->Des() );
-    	CnvUtfConverter::ConvertToUnicodeFromUtf8( dest, aStr );
-    	}
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* HnConvUtils::Str8ToStrLC( const TDesC8& aStr )
-    {
-    HBufC* ret = HBufC::NewLC( aStr.Length() );
-    TPtr dest( ret->Des() );
-    CnvUtfConverter::ConvertToUnicodeFromUtf8( dest, aStr );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::StrToStr8LC( const TDesC16& aStr )
-    {
-    TInt length = aStr.Length();
-    HBufC8* ret = HBufC8::NewL( length );
-    TPtr8 dest( ret->Des() );
-    TInt num = CnvUtfConverter::ConvertFromUnicodeToUtf8( dest, aStr );
-    while( num != 0 )
-    	{
-    	delete ret;
-    	length += num;
-    	ret = HBufC8::NewL( length );
-    	dest.Set( ret->Des() );
-    	num = CnvUtfConverter::ConvertFromUnicodeToUtf8( dest, aStr );
-    	}
-    CleanupStack::PushL(ret);
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::StrToStr8L( const TDesC16& aStr )
-    {
-    HBufC8* buf = HnConvUtils::StrToStr8LC( aStr );
-    CleanupStack::Pop( buf );
-    return buf;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* HnConvUtils::NumToStr8LC( const TInt& aNum )
-    {
-    HBufC8* ret = HBufC8::NewLC( KMaxLength );
-    ret->Des().AppendNum( aNum );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToInt( const TDesC8& aValue, TInt& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex, it it can only unsinged
-        lexer.SkipAndMark( KHexStart8().Length() );
-        TUint tmp;
-        err = lexer.Val( tmp, EHex );
-        aResult = tmp;
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::StrToInt( const TDesC& aValue, TInt& aResult )
-    {
-    TInt err( KErrNotFound );
-    RBuf8 buf;
-    err = buf.Create( aValue.Length() );
-    if ( KErrNone == err )
-        {
-        buf.Copy( aValue );
-        err = HnConvUtils::Str8ToInt( buf, aResult );
-        }
-    buf.Close();
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToInt( const TDesC8& aValue, TInt32& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex, it it can only unsinged
-        TUint32 tmp;
-        lexer.SkipAndMark( KHexStart8().Length() );
-        err = lexer.Val( tmp, EHex );
-        aResult = tmp;
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt  HnConvUtils::StrToInt( const TDesC& aValue, TInt32& aResult )
-    {
-    TInt err( KErrNotFound );
-    RBuf8 buf; 
-    err = buf.Create( aValue.Length() );
-    if ( KErrNone == err )
-        {
-        buf.Copy( aValue );
-        err = HnConvUtils::Str8ToInt( buf, aResult );
-        }
-    buf.Close();
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnConvUtils::Str8ToUint( const TDesC8& aValue, TUint& aResult )
-    {
-    // if a string starts from '0x' then convert aStr from hex to int.
-    // else send aStr to the StrDec2Uint    
-    TInt err( KErrNotFound );
-    TInt position( aValue.Find( KHexStart8 ) );
-    
-    TLex8 lexer( aValue );
-    if ( position == 0 )
-        {
-        // is hex
-        lexer.SkipAndMark( KHexStart8().Length() );
-        err = lexer.Val( aResult, EHex );
-        }
-    else
-        {
-        err = lexer.Val( aResult );
-        }
-    return err;
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnliwutils.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,579 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-#include <f32fsys.h>
-#include "hnmdbasekey.h"
-#include "hnglobals.h"
-#include "hnliwutils.h"
-#include "hnconvutils.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C void HnLiwUtils::SetGenericParamListL(
-    const RPointerArray<CHnMdBaseKey> & aKeys,
-    CLiwGenericParamList & aInParam )
-    {
-    // for each key
-    for ( TInt i( 0 ); i < aKeys.Count(); i++ )
-        {
-        CHnMdBaseKey* key = aKeys[i];
-        const TDesC8& keyName = key->KeyName();
-        TLiwVariant value;
-        value.PushL();
-        key->ToVariantL( value );
-        aInParam.AppendL( TLiwGenericParam( keyName, value ) );      
-        CleanupStack::PopAndDestroy( &value );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool HnLiwUtils::VariantToStringL(
-        TLiwVariant& aVariant,
-        RBuf& aBuf )
-    {
-    TBool accepted( ETrue );
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeDesC:
-            {
-            aBuf.CreateL( aVariant.AsDes() );
-            break;
-            }
-        case LIW::EVariantTypeDesC8:
-            {
-            HBufC* tmp = HnConvUtils::Str8ToStr( aVariant.AsData() );
-            if ( !tmp )
-                {
-                User::Leave( KErrNoMemory );
-                }
-                aBuf.Assign( tmp );
-            break;
-            }
-        case LIW::EVariantTypeTUid:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUid().iUid, EHex );
-            break;
-            }
-        case LIW::EVariantTypeTInt32:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt32() );
-            break;
-            }
-        case LIW::EVariantTypeTInt64:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt64() );
-            break;
-            }
-        case LIW::EVariantTypeTUint:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUint() );
-            break;
-            }
-        case LIW::EVariantTypeTBool:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTBool() );
-            break;
-            }
-        default:
-            {
-            accepted = EFalse;
-            }
-        }
-    return accepted;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool HnLiwUtils::VariantToStringL(
-        TLiwVariant& aVariant,
-        RBuf8& aBuf )
-    {
-    TBool accepted( ETrue );
-    switch ( aVariant.TypeId() )
-        {
-        case LIW::EVariantTypeDesC:
-            {
-            aBuf.Assign( HnConvUtils::StrToStr8L( aVariant.AsDes() ) );
-            break;
-            }
-        case LIW::EVariantTypeDesC8:
-            {
-            aBuf.CreateL( aVariant.AsData() );
-            break;
-            }
-        case LIW::EVariantTypeTUid:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUid().iUid, EHex );
-            break;
-            }
-        case LIW::EVariantTypeTInt32:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt32() );
-            break;
-            }
-        case LIW::EVariantTypeTInt64:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTInt64() );
-            break;
-            }
-        case LIW::EVariantTypeTUint:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTUint() );
-            break;
-            }
-        case LIW::EVariantTypeTBool:
-            {
-            aBuf.CreateL( KMaxLength );
-            aBuf.AppendNum( aVariant.AsTBool() );
-            break;
-            }
-        default:
-            {
-            accepted = EFalse;
-            }
-        }
-    return accepted;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetIterableItemCountL( CLiwIterable& aIterable )
-    {
-    TInt count = 0;
-    TLiwVariant variant;
-    variant.PushL();
-    aIterable.Reset();
-    while( aIterable.NextL(variant))
-        {
-        ++count;
-        }
-    CleanupStack::PopAndDestroy( &variant );
-    return count;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    RBuf& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    RBuf8& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, RBuf& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, aPos, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetStringL( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, RBuf8& aRet )
-    {
-    TInt ret( KErrNone );
-    TLiwVariant value;
-    value.PushL();
-    
-    ret = GetVariantL( aParam, aPath, aPos, value );
-    if ( ret == KErrNone && !VariantToStringL( value, aRet ) )
-        {
-        ret = KErrBadDescriptor;
-        }
-    
-    CleanupStack::PopAndDestroy( &value );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetInt64L( const CLiwGenericParamList& aParam,
-    const TDesC8& aPath, TInt aPos, TInt64& aRet )
-    { 
-    RBuf8 buf;
-    TInt err = HnLiwUtils::GetStringL( aParam, aPath, aPos, buf );
-    
-    if ( KErrNone == err )
-    	{
-        TInt64 value( KErrNotFound );
-        TLex8 lex( buf );
-
-    	if ( KErrNone == lex.Val( value ) )
-    		{
-    		aRet = value;
-    		err = KErrNone;
-    		}
-    	}
-    
-    buf.Close();
-    
-    return err;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetVariantL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    TInt aPos,
-    TLiwVariant& aRet )
-    {
-    TInt ret( KErrNone );
-    RBuf8 path;
-    CleanupClosePushL( path );
-    path.CreateL( aPath );
-    // replace index if exist in the path
-    HnLiwUtils::ReplaceIndexL( path, aPos );
-    // fetch variant
-    ret = HnLiwUtils::GetVariantL( aParam, path, aRet );
-    if ( ret == KErrNotFound )
-        {
-        TInt colonFound( aPath.Find( KColon8 ) );
-        if ( KErrNotFound != colonFound )
-            {
-            /*TInt pos( 0 );
-            TInt rest( aPos );
-            while ( ( rest = rest / 10 ) != 0 )
-                { 
-                pos++;
-                }*/
-            
-            path.SetLength( colonFound ); 
-            TLiwVariant tempVariant;
-            tempVariant.PushL();
-            if ( KErrNotFound != HnLiwUtils::GetVariantL( aParam, path, aRet ) )
-                {
-                ret = KErrHidden;
-                }
-            else
-                {
-                ret = KErrNotFound;
-                }
-            CleanupStack::PopAndDestroy( &tempVariant );
-            }
-        }
-    CleanupStack::PopAndDestroy( &path );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::ExtractNameSpaceL(
-    const CLiwGenericParamList& aParam, 
-    const TDesC8& aNameSpace,
-    TLiwVariant& aRet )
-    {
-        TInt pos( 0 );
-        const TLiwGenericParam* param;
-        
-        if ( &aParam != NULL )
-	    	{
-	    	param = aParam.FindFirst( pos, aNameSpace );
-	        if ( pos >= 0 )
-		        {
-		        aRet.SetL( param->Value() );
-		        }
-	    	}
-        else
-        	{
-        	pos = KErrNotFound;
-        	}
-        
-        return pos;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt HnLiwUtils::GetVariantL(
-    const CLiwGenericParamList& aParam,
-    const TDesC8& aPath,
-    TLiwVariant& aRet )
-    {
-    RArray< TPtrC8 > path;
-    CleanupClosePushL( path );
-    TInt ret( KErrNone );
-    TLiwVariant variant;
-    TLiwVariant lastVariant;
-    variant.PushL();
-    lastVariant.PushL();
-    
-    aRet.SetL( TLiwVariant( aPath ) );
-    
-    ParsePathL( aPath, path );
-
-    if ( path.Count() > 0
-        && ExtractNameSpaceL( aParam, path[0], lastVariant ) != KErrNotFound )
-        {
-        TBool found( ETrue );
-        for ( TInt i( 1 ); i < path.Count() && found; i++ )
-            {
-            TPtrC8 name = path[ i ];
-            LIW::TVariantTypeId typeId = lastVariant.TypeId();
-            // LIW::Type ID 7
-            if ( typeId == LIW::EVariantTypeList ) 
-                {
-                TInt pos( GetPosition( name ) );
-                found = (pos != KErrNotFound) ? lastVariant.AsList()->AtL( pos, variant ) : EFalse;
-                }
-            // LIW::Type ID 8
-            else if ( typeId == LIW::EVariantTypeMap ) 
-                {
-                found = lastVariant.AsMap()->FindL( name, variant );
-                }
-            // LIW::Type ID 9
-            else if ( typeId == LIW::EVariantTypeIterable ) 
-                {
-                TInt pos( GetPosition( name ) );
-                found = GetIterableByPositionL( *lastVariant.AsIterable(), pos, variant );
-                }
-            lastVariant.SetL( variant ); 
-            }
-        ret = found ? KErrNone : KErrNotFound;
-        //aRet.SetL( ( ret != KErrNotFound ) ? variant : TLiwVariant( aPath ) );
-        if ( found == 0 )
-        	{
-        	aRet.SetL( TLiwVariant( KNullDesC8 ) );
-        	}
-        else
-        	{
-        	aRet.SetL( variant );
-        	}
-        }
-
-    CleanupStack::PopAndDestroy( &lastVariant );
-    CleanupStack::PopAndDestroy( &variant );
-    CleanupStack::PopAndDestroy( &path );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void HnLiwUtils::ParsePathL(
-    const TDesC8& aPath, 
-    RArray< TPtrC8 >& aPathParts )
-    {
-    TChar ch; // token separator
-
-    TInt colonPos = aPath.Find( KColon8 );
-
-    if ( colonPos > 0 )
-        {
-        TLex8 lex( aPath );
-
-        while ( !lex.Eos() )
-            {
-            ch = lex.Get();
-
-            // namespace
-            if ( ch == KColon()[0] )
-                {
-                lex.UnGet();
-                TPtrC8 nextToken = lex.MarkedToken();
-                lex.SkipAndMark( 1 );
-                aPathParts.AppendL( nextToken );
-                }
-            // list or map
-            else if ( ch == KSlash()[0] )
-                {
-                lex.UnGet();
-                TPtrC8 nextToken = lex.MarkedToken();
-                lex.SkipAndMark( 1 );
-                aPathParts.AppendL( nextToken );
-                }
-            // last token
-            else if ( lex.Eos() )
-                {
-                TPtrC8 nextToken = lex.MarkedToken();
-                aPathParts.AppendL( nextToken );
-                break;
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool HnLiwUtils::GetIterableByPositionL( CLiwIterable & aIterable, TInt pos, 
-                                          TLiwVariant & aVariant )
-	{
-    TBool ret(EFalse);
-    if ( pos >= 0 )
-        {
-        TInt counter = 0;
-        aIterable.Reset();
-        ret = aIterable.NextL( aVariant );
-        while ( ret )
-        	{
-        	if (counter == pos)
-        		{
-        		break;
-        		}
-        	counter++;
-        	ret = aIterable.NextL( aVariant );
-        	}
-        }
-    return ret;   
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::GetPosition( const TDesC8& aPosition )
-    {
-    TInt ret( KErrNotFound );
-    TInt pos1 = aPosition.Find( KOpenSquareBracket );
-
-    if ( pos1 >= 0 )
-        {
-        TInt pos2 = aPosition.Find( KCloseSquareBracket );
-        // extract string number ( +1 a character after "[",
-        // -1 a character before "]"
-        TPtrC8 num = aPosition.Mid( pos1 + 1, pos2 - 1 );
-        // extract number value
-        TLex8 lex( num );
-        lex.Val( ret );
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt HnLiwUtils::ReplaceIndexL( RBuf8& aPath8, TInt aPos )
-    {
-    TInt ret(KErrNotFound);
-    TInt indexFound( aPath8.Find( KIndex8 ) );
-
-    if ( !aPath8.Compare( KIndexWithBrackets8 ) )
-        {
-        aPath8.Close();
-        aPath8.CreateL( KMaxLength );
-        aPath8.AppendNum( aPos );
-        ret = aPath8.Length();
-        }
-    else if ( KErrNotFound != indexFound )
-        {
-        RBuf8 indexNum;
-        CleanupClosePushL( indexNum );
-        indexNum.CreateL( KMaxLength );
-        indexNum.AppendNum( aPos );
-    
-        TInt indexPos = ret = aPath8.Find( KIndex8 );
-        TInt indexLength = KIndex().Length();
-    
-        aPath8.Replace( indexPos, indexLength, indexNum );
-        ret += indexNum.Length();
-        
-        CleanupStack::PopAndDestroy( &indexNum );
-        }
-    
-    return ret;
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdbasekey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdkeyfactory.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-
-// ======== MEMBER FUNCTIONS ========
-   
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyOrNameL( const TXmlEngElement& aElement )
-    {
-    // set key or name
-    if ( !aElement.Name().Compare( KKeyElementItem8 ) )
-        {
-        if ( aElement.HasAttributeL( KKeyAttrName8 ) )
-            {
-            // key
-            SetKeyNameL( aElement.AttributeNodeL( KKeyAttrName8 ) );
-            }
-        else if ( aElement.HasAttributeL( KNameAttrName8 ) )
-            {
-            // name
-            SetKeyNameL( aElement.AttributeNodeL( KNameAttrName8 ) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const RPointerArray<CHnMdBaseKey>& CHnMdBaseKey::SubKeys() const
-    {
-    return iSubKeys;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::BaseConstructL( const CHnMdBaseKey* aKey )
-    {
-    iKeyName.CreateL( aKey->KeyName() );
-    iContent.CreateL( aKey->KeyContent() );
-    SetSubKeysL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::BaseConstructL( TXmlEngElement aElement )
-    {
-    ASSERT( !aElement.Name().Compare( KKeyElementItem8 )
-        || !aElement.Name().Compare( KContentTypeElementItem8 ) );
-
-    SetKeyOrNameL( aElement );
-    SetValueL( aElement );
-
-    if ( aElement.HasChildNodes() )
-        {
-        SetSubKeysL( aElement  );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TXmlEngElement& aElement )
-    {
-    if ( aElement.HasAttributeL( KValueAttrName8 ) )
-        {
-        SetKeyContentL( aElement.AttributeNodeL( KValueAttrName8 ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TDesC8& aValue )
-    {
-    iContent.Close();
-    iContent.CreateL( aValue.Length() );
-    iContent.Copy( aValue );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetValueL( const TDesC& aValue )
-    {
-    iContent.Close();
-    iContent.CreateL( aValue );
-    }	
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey::CHnMdBaseKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey::~CHnMdBaseKey()
-    {
-    iKeyName.Close();
-    iContent.Close();
-    iSubKeys.ResetAndDestroy();
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-const TDesC8& CHnMdBaseKey::KeyName() const
-    {  
-    return iKeyName;
-    } 
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CHnMdBaseKey::KeyContent() const
-    {
-    return iContent;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::GetKeyContent( TInt& /* aKeyContent */ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::GetKeyContent( TInt64& /* aKeyContent */ ) const
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyNameL( const TXmlEngAttr& aName )
-    {
-    iKeyName.Close();
-    iKeyName.CreateL( aName.Value() );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyNameL( const TDesC8& aName )
-    {
-    iKeyName.Close();
-    iKeyName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetSubKeysL( const TXmlEngElement& aElement )
-    {    
-    RXmlEngNodeList< TXmlEngElement > subkeys;
-    CleanupClosePushL( subkeys );
-    aElement.GetChildElements( subkeys );
-    
-    TInt subkeysAmount( subkeys.Count() );
-    
-    for ( TInt j( 0 ); j < subkeysAmount; j++ )
-        {
-        TXmlEngElement subkeyElement( subkeys.Next() );
-        
-        if ( !subkeyElement.Name().Compare( KKeyElementItem8 ) )
-            {
-            CHnMdBaseKey *subkey = HnMdKeyFactory::CreateL( subkeyElement );
-            CleanupStack::PushL( subkey );
-            AddSubKeyL( subkey );
-            CleanupStack::Pop( subkey );
-            }
-        }
-    CleanupStack::PopAndDestroy( &subkeys );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetSubKeysL( const CHnMdBaseKey* aKey )
-    {
-    const RPointerArray<CHnMdBaseKey>& subKeys = aKey->SubKeys();
-    TInt count = subKeys.Count();
-    for( TInt i( 0 ); i < count ; i++ )
-        {
-        CHnMdBaseKey* subKey = subKeys[ i ]->CopyLC();
-        AddSubKeyL( subKey );
-        CleanupStack::Pop( subKey );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdBaseKey::AddSubKeyL( CHnMdBaseKey* aKey )
-    {
-    iSubKeys.AppendL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::SetKeyContentL( const TXmlEngAttr& aContent )
-    {
-    HBufC* value = HnConvUtils::Str8ToStrLC( aContent.Value() );
-    iContent.Close();
-    iContent.Assign( value );
-    // clean up
-    CleanupStack::Pop( value );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* CHnMdBaseKey::EvaluateLC(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    CHnMdBaseKey* copy = CopyLC();
-    copy->DoEvaluateL(  aParamList, aPos );
-    return copy;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::DoEvaluateL(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    EvaluateKeyValueL( aParamList, aPos );
-    // evaluate subkeys
-    TInt count( iSubKeys.Count() );
-    for( TInt i( 0 ); i < count; i++ )
-        {
-        CHnMdBaseKey* key = iSubKeys[ i ];
-        key->DoEvaluateL( aParamList, aPos );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBaseKey::EvaluateKeyValueL(
-    const CLiwGenericParamList& aParamList,
-    TInt aPos )
-    {
-    HBufC8* tempContent = HnConvUtils::StrToStr8LC( iContent );
-    RBuf tempResult;
-    CleanupClosePushL( tempResult );
-    if ( HnLiwUtils::GetStringL( aParamList, *tempContent, aPos, tempResult ) 
-        != KErrBadDescriptor )
-        {
-        iContent.Swap( tempResult );
-        }
-    CleanupStack::PopAndDestroy( &tempResult );
-    CleanupStack::PopAndDestroy( tempContent );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-
-EXPORT_C void CHnMdBaseKey::ToVariantL( TLiwVariant& /* aRet */ ) const
-    {
-    
-    }
- 
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CHnMdBaseKey::ToGenericParamListL( CLiwGenericParamList & aRet ) const
-    {
-
-    // for each key
-    for ( TInt i( 0 ); i < iSubKeys.Count(); i++ )
-        {
-        CHnMdBaseKey* key = iSubKeys[i];
-        const TDesC8& keyName = key->KeyName();
-        TLiwVariant value;
-        value.PushL();
-        key->ToVariantL( value );
-        aRet.AppendL( TLiwGenericParam( keyName, value ) );      
-        CleanupStack::PopAndDestroy( &value );
-        }
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdbooleankey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnglobals.h"
-#include "hnmdbooleankey.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewL()
-    {
-    CHnMdBooleanKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewLC()
-    {
-    CHnMdBooleanKey* self = new ( ELeave ) CHnMdBooleanKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewL( const CHnMdBooleanKey* aKey )
-    {
-    CHnMdBooleanKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey* CHnMdBooleanKey::NewLC( const CHnMdBooleanKey* aKey )
-    {
-    CHnMdBooleanKey* self = new ( ELeave ) CHnMdBooleanKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdBooleanKey::CopyLC()
-    {
-    CHnMdBooleanKey* self = CHnMdBooleanKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey::~CHnMdBooleanKey()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CHnMdBooleanKey::GetBooleanValueL() const
-    {
-    TBool ret( EFalse );
-    
-    if ( !iContent.Compare( KStringFalse ) )
-        {
-        ret = EFalse;
-        }
-    else if ( !iContent.Compare( KStringTrue ) )
-        {
-        ret = ETrue;
-        }
-    else
-        {
-        TLex lex( iContent );
-        User::LeaveIfError( lex.Val( ret ) );    
-        }
-        
-    return ret;
-}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBooleanKey::CHnMdBooleanKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ConstructL( const CHnMdBooleanKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdBooleanKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    aRet.SetL( TLiwVariant( ( TBool ) ( GetBooleanValueL() ) ) );   
-    }
-// End of file
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdinteger64key.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdinteger64key.h"
-#include "hnglobals.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewL()
-    {
-    CHnMdInteger64Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewLC()
-    {
-    CHnMdInteger64Key* self = new ( ELeave ) CHnMdInteger64Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewL( const CHnMdInteger64Key* aKey )
-    {
-    CHnMdInteger64Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key* CHnMdInteger64Key::NewLC( const CHnMdInteger64Key* aKey )
-    {
-    CHnMdInteger64Key* self = new ( ELeave ) CHnMdInteger64Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdInteger64Key::CopyLC()
-    {
-    CHnMdInteger64Key* self = CHnMdInteger64Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key::~CHnMdInteger64Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// converts decimal or hexadecimal string into integer 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::GetKeyContent( TInt64& aKeyContent ) const
-    {
-    TLex lex( iContent );
-    TInt err( KErrNone );
-    if ( !iContent.Find( KHexPrefix16 ) )
-        {
-        // hexadecimal
-        TUint hex;
-        lex.Inc( KHexPrefix16().Length() );
-        lex.Mark();
-        err = lex.Val( hex, EHex );
-        aKeyContent = hex;
-        }
-    else
-        {
-        // decimal
-        err = lex.Val( aKeyContent );
-        }
-
-    if ( err != KErrNone )
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdInteger64Key::CHnMdInteger64Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ConstructL( const CHnMdInteger64Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CHnMdBaseKey
-// ---------------------------------------------------------------------------
-//
-void CHnMdInteger64Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TInt64 decimalValue( KErrNotFound );
-    GetKeyContent( decimalValue );
-    aRet.SetL( TLiwVariant( ( TInt64 ) decimalValue ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdintegerkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdintegerkey.h"
-#include "hnglobals.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewL()
-    {
-    CHnMdIntegerKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewLC()
-    {
-    CHnMdIntegerKey* self = new ( ELeave ) CHnMdIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewL( const CHnMdIntegerKey* aKey )
-    {
-    CHnMdIntegerKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey* CHnMdIntegerKey::NewLC( const CHnMdIntegerKey* aKey )
-    {
-    CHnMdIntegerKey* self = new ( ELeave ) CHnMdIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdIntegerKey::CopyLC()
-    {
-    CHnMdIntegerKey* self = CHnMdIntegerKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey::~CHnMdIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// converts decimal or hexadecimal string into integer 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::GetKeyContent( TInt& aKeyContent ) const
-    {
-    TLex lex( iContent );
-    TInt err( KErrNone );
-    if ( !iContent.Find( KHexPrefix16 ) )
-        {
-        // hexadecimal
-        TUint hex;
-        lex.Inc( KHexPrefix16().Length() );
-        lex.Mark();
-        err = lex.Val( hex, EHex );
-        aKeyContent = hex;
-        }
-    else
-        {
-        // decimal
-        err = lex.Val( aKeyContent );
-        }
-
-    if ( err != KErrNone )
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdIntegerKey::CHnMdIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ConstructL( const CHnMdIntegerKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdIntegerKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TInt decimalValue( KErrNotFound );
-    GetKeyContent( decimalValue );
-    aRet.SetL( TLiwVariant( ( TInt32 ) decimalValue ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdkeyfactory.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include "hnmdbasekey.h"
-#include "hnmdstring8key.h"
-#include "hnmdintegerkey.h"
-#include "hnmdinteger64key.h"
-#include "hnmduintegerkey.h"
-#include "hnmduidkey.h"
-#include "hnmdbooleankey.h"
-#include "hnmdstring16key.h"
-#include "hnmdmapkey.h"
-#include "hnmdlistkey.h"
-#include "hnmdundefkey.h"
-#include "hnglobals.h"
-#include "hnmdkeyfactory.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateLC( TXmlEngElement aElement )
-    {
-    CHnMdBaseKey* self = NULL;
-    
-    // First we are testing if the key contains any
-    // runtime alterable parameters. If so, they have to be constructed 
-    // differently
-//    if ( aElement.HasAttributeL( KValueAttrName8) && 
-//            aElement.HasAttributeL( KTypeAttrName8 ) ) 
-//        {
-//        TXmlEngAttr keyValue = aElement.AttributeNodeL( KValueAttrName8 );
-//        TXmlEngAttr keyType = aElement.AttributeNodeL( KTypeAttrName8 );
-//        if ( keyValue.Value().Find( HnEvent::KEventArgNamespace) 
-//                != KErrNotFound)
-//            {
-//            self = CHnMdDynamicKey::NewL( keyType.Value() );
-//            }
-//        }
-    
-    if ( aElement.HasAttributeL( KTypeAttrName8 ) )
-        {
-        TXmlEngAttr type = aElement.AttributeNodeL( KTypeAttrName8 );
-        const TPtrC8 &name = type.Value();
-        self = HnMdKeyFactory::CreateL( name );
-        }
-    else
-        {
-        self = CHnMdMapKey::NewL();
-        }
-    
-    CleanupStack::PushL( self );
-    self->BaseConstructL( aElement );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL( TXmlEngElement aElement )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateLC( aElement );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL(
-    const TDesC8& aName,
-    const TDesC8& aType,
-    const TDesC8& aValue )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateL( aType );
-    CleanupStack::PushL( self );
-    self->SetValueL( aValue );
-    self->SetKeyNameL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnMdBaseKey* HnMdKeyFactory::CreateL(
-    const TDesC8& aName,
-    const TDesC8& aType,
-    const TDesC& aValue )
-    {
-    CHnMdBaseKey* self = HnMdKeyFactory::CreateL( aType );
-    CleanupStack::PushL( self );
-    self->SetValueL( aValue );
-    self->SetKeyNameL( aName );
-    CleanupStack::Pop( self );
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* HnMdKeyFactory::CreateL( const TDesC8& aType )
-    {
-    CHnMdBaseKey* key = NULL;
-    
-    if ( !aType.Compare( KKeyTypeString ) )
-        {
-        key = CHnMdString16Key::NewL(); //String
-        }
-    else if ( !aType.Compare( KKeyTypeString8 ) )
-        {
-        key = CHnMdString8Key::NewL(); //String8
-        }
-    else if ( !aType.Compare( KKeyTypeInteger ) )
-        {
-        key = CHnMdIntegerKey::NewL(); //Integer
-        }
-    else if ( !aType.Compare( KKeyTypeInteger64 ) )
-        {
-        key = CHnMdInteger64Key::NewL(); //Integer64
-        }
-    else if ( !aType.Compare( KKeyTypeUInteger ) )
-        {
-        key = CHnMdUIntegerKey::NewL(); //Unsigned Integer
-        }
-    else if ( !aType.Compare( KKeyTypeUid ) )
-        {
-        key = CHnMdUidKey::NewL(); //Uid
-        }
-    else if ( !aType.Compare( KKeyTypeBoolean ) )
-        {
-        key = CHnMdBooleanKey::NewL(); //Boolean
-        }
-    else if ( !aType.Compare( KKeyTypeString16 ) )
-        {
-        key = CHnMdString16Key::NewL(); //String16
-        }
-    else if ( !aType.Compare( KKeyTypeMap ) )
-        {
-        key = CHnMdMapKey::NewL(); //Map
-        }
-    else if ( !aType.Compare( KKeyTypeList ) )
-        {
-        key = CHnMdListKey::NewL(); //List
-        }
-    else
-        {
-        key = CHnMdUndefKey::NewL(); //Undefined
-        }
-
-    return key;
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdlistkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-#include <liwcommon.h>
-
-#include "hnmdlistkey.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewL()
-    {
-    CHnMdListKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewLC()
-    {
-    CHnMdListKey* self = new ( ELeave ) CHnMdListKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewL( const CHnMdListKey* aKey )
-    {
-    CHnMdListKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey* CHnMdListKey::NewLC( const CHnMdListKey* aKey )
-    {
-    CHnMdListKey* self = new ( ELeave ) CHnMdListKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdListKey::CopyLC()
-    {
-    CHnMdListKey* self = CHnMdListKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey::~CHnMdListKey()
-    {
-    iVariantContent.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdListKey::CHnMdListKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ConstructL( const CHnMdListKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    if ( iVariantContent.TypeId() == LIW::EVariantTypeNull )
-        {
-        CLiwDefaultList* list = CLiwDefaultList::NewL();
-        list->PushL();
-    
-        // handle children
-        for ( TInt i( 0 ); i < SubKeys().Count(); i++ )
-            {
-            TLiwVariant variant;
-            variant.PushL();
-            SubKeys()[ i ]->ToVariantL( variant );
-            list->AppendL( variant );
-            CleanupStack::Pop( &variant );
-            variant.Reset();
-            }
-        
-        aRet.SetL( TLiwVariant( list ) );
-        CleanupStack::PopAndDestroy( list );
-        }
-    else
-        {
-        aRet.SetL( iVariantContent );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdListKey::EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-        TInt aPos )
-    {
-    HBufC8 *path8 = HnConvUtils::StrToStr8LC(iContent);
-    iVariantContent.Reset();
-    
-    TLiwVariant variant;
-    if (HnLiwUtils::GetVariantL(aParamList, *path8, aPos, variant) == KErrNone
-            &&  variant.TypeId() == LIW::EVariantTypeList)
-        {
-        iVariantContent = variant;
-        }
-    else
-        {
-        variant.Reset();
-        }
-        
-    CleanupStack::PopAndDestroy(path8);
-    }
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdmapkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdmapkey.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewL()
-    {
-    CHnMdMapKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewLC()
-    {
-    CHnMdMapKey* self = new ( ELeave ) CHnMdMapKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewL( const CHnMdMapKey* aKey )
-    {
-    CHnMdMapKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey* CHnMdMapKey::NewLC( const CHnMdMapKey* aKey )
-    {
-    CHnMdMapKey* self = new ( ELeave ) CHnMdMapKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdMapKey::CopyLC()
-    {
-    CHnMdMapKey* self = CHnMdMapKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey::~CHnMdMapKey()
-    {
-    iVariantContent.Reset();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdMapKey::CHnMdMapKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ConstructL( const CHnMdMapKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    if ( iVariantContent.TypeId() == LIW::EVariantTypeNull )
-        {
-        CLiwDefaultMap* map = CLiwDefaultMap::NewL();
-        map->PushL();
-          
-        // handle children
-        for( TInt i( 0 ); i < SubKeys().Count(); i++ )
-            {
-            TLiwVariant variant;
-            SubKeys()[ i ]->ToVariantL( variant );
-            map->InsertL( SubKeys()[ i ]->KeyName(), variant );
-            variant.Reset();
-            }
-    
-        aRet.SetL( TLiwVariant( map ) );
-        CleanupStack::PopAndDestroy( map );
-        }
-    else
-        {
-        aRet.SetL(iVariantContent);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdMapKey::EvaluateKeyValueL( const CLiwGenericParamList& aParamList,
-        TInt aPos )
-    {
-    HBufC8 *path8 = HnConvUtils::StrToStr8LC(iContent);
-    iVariantContent.Reset();
-    
-    TLiwVariant variant;
-    if ( HnLiwUtils::GetVariantL(aParamList, *path8, aPos, variant) == KErrNone
-            &&  variant.TypeId() == LIW::EVariantTypeMap )
-        {
-        iVariantContent = variant;
-        }
-    else
-        {
-        variant.Reset();
-        }
-        
-    CleanupStack::PopAndDestroy(path8);
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdstring16key.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdstring16key.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewL()
-    {
-    CHnMdString16Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewLC()
-    {
-    CHnMdString16Key* self = new ( ELeave ) CHnMdString16Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewL( const CHnMdString16Key* aKey )
-    {
-    CHnMdString16Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key* CHnMdString16Key::NewLC( const CHnMdString16Key* aKey )
-    {
-    CHnMdString16Key* self = new ( ELeave ) CHnMdString16Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdString16Key::CopyLC()
-    {
-    CHnMdString16Key* self = CHnMdString16Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key::~CHnMdString16Key()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString16Key::CHnMdString16Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ConstructL( const CHnMdString16Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString16Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    aRet.SetL( TLiwVariant( KeyContent() ) );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdstring8key.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*
-*/
-
-
-
-#include <liwservicehandler.h>
-
-#include "hnconvutils.h"
-#include "hnmdstring8key.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewL()
-    {
-    CHnMdString8Key* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewLC()
-    {
-    CHnMdString8Key* self = new ( ELeave ) CHnMdString8Key();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewL( const CHnMdString8Key* aKey )
-    {
-    CHnMdString8Key* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key* CHnMdString8Key::NewLC( const CHnMdString8Key* aKey )
-    {
-    CHnMdString8Key* self = new ( ELeave ) CHnMdString8Key();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdString8Key::CopyLC()
-    {
-    CHnMdString8Key* self = CHnMdString8Key::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key::~CHnMdString8Key()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdString8Key::CHnMdString8Key()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ConstructL( const CHnMdString8Key* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdString8Key::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLiwVariant ret;
-    HBufC8* keyVal8 = HnConvUtils::StrToStr8LC( KeyContent() );
-
-    aRet.SetL(TLiwVariant( *keyVal8) ); // crates a copy of the data
-
-    // clean up
-    CleanupStack::PopAndDestroy(keyVal8);    
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmduidkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
- *
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmduidkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewL()
-    {
-    CHnMdUidKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewLC()
-    {
-    CHnMdUidKey* self = new ( ELeave ) CHnMdUidKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewL(const CHnMdUidKey* aKey)
-    {
-    CHnMdUidKey* self = NewLC(aKey);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey* CHnMdUidKey::NewLC( const CHnMdUidKey* aKey )
-    {
-    CHnMdUidKey* self = new ( ELeave ) CHnMdUidKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUidKey::CopyLC()
-    {
-    CHnMdUidKey* self = CHnMdUidKey::NewL( this);
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey::~CHnMdUidKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::GetKeyContent( TInt& aKeyContent ) const
-    {
-    // converts hexadecimal string into integer
-    TLex lex( iContent );
-    TUint a;
-    lex.Inc( 2 );
-    lex.Mark();
-
-    TInt err = lex.Val( a, EHex );
-
-    if ( err == KErrNone )
-        {
-        aKeyContent = a;
-        }
-    else
-        {
-        aKeyContent = err;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUidKey::CHnMdUidKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ConstructL( const CHnMdUidKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUidKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLiwVariant ret;
-    TInt intVal( KErrGeneral );
-    GetKeyContent( intVal );
-    aRet.SetL( TLiwVariant( TUid::Uid( intVal ) ) ); // creates a copy of the data
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmduintegerkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmduintegerkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewL()
-    {
-    CHnMdUIntegerKey* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewLC()
-    {
-    CHnMdUIntegerKey* self = new ( ELeave ) CHnMdUIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewL( const CHnMdUIntegerKey* aKey )
-    {
-    CHnMdUIntegerKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey* CHnMdUIntegerKey::NewLC( const CHnMdUIntegerKey* aKey )
-    {
-    CHnMdUIntegerKey* self = new ( ELeave ) CHnMdUIntegerKey();
-    CleanupStack::PushL( self );
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUIntegerKey::CopyLC()
-    {
-    CHnMdUIntegerKey* self = CHnMdUIntegerKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey::~CHnMdUIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUIntegerKey::CHnMdUIntegerKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ConstructL( const CHnMdUIntegerKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUIntegerKey::ToVariantL( TLiwVariant& aRet ) const
-    {
-    TLex lex( KeyContent() );
-    TUint uIntVal( KErrNone );
-    lex.Val( uIntVal );
-    aRet.SetL( TLiwVariant( uIntVal ) ); // crates a copy of the data
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnmdundefkey.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-#include <liwservicehandler.h>
-
-#include "hnmdundefkey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewL()
-    {
-    CHnMdUndefKey* self = NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewLC()
-    {
-    CHnMdUndefKey* self = new ( ELeave ) CHnMdUndefKey();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewL( const CHnMdUndefKey* aKey )
-    {
-    CHnMdUndefKey* self = NewLC( aKey );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey* CHnMdUndefKey::NewLC( const CHnMdUndefKey* aKey )
-    {
-    CHnMdUndefKey* self = new ( ELeave ) CHnMdUndefKey();
-    CleanupStack::PushL(self);
-    self->ConstructL( aKey );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdBaseKey* CHnMdUndefKey::CopyLC()
-    {
-    CHnMdUndefKey* self = CHnMdUndefKey::NewL( this );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey::~CHnMdUndefKey()
-    {
-    }
-  
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnMdUndefKey::CHnMdUndefKey()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUndefKey::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnMdUndefKey::ConstructL( const CHnMdUndefKey* aKey )
-    {
-    BaseConstructL( aKey );
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnrepositorymanager.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* Copyright (c) 2007-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: 
-*
-*/
-
-
-#include <menudebug.h>
-
-#include "hnrepositorymanager.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager * CHnRepositoryManager::NewL()
-    {
-    CHnRepositoryManager * self = CHnRepositoryManager::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager * CHnRepositoryManager::NewLC()
-    {
-    CHnRepositoryManager * self = new (ELeave) CHnRepositoryManager();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::StoreSuiteWidgetTypeL( 
-                    const TDesC& aSuiteName, THnSuiteWidgetType aWidgetType )
-    {
-    DEBUG(("_MM_:CHnRepositoryManager::StoreSuiteWidgetTypeL IN"));
-    DEBUG16(("_MM_:\taSuiteName: %S; aWidgetType: %d",&aSuiteName,aWidgetType));
-    
-    TInt ret( KErrGeneral );
-    
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-
-    // If there is more than one entry of suite genre in central repository
-    // it certainly means that it's a mistake.
-    ASSERT( foundIds.Count() <= 1 );
-
-    TInt keyId;
-    if ( foundIds.Count() == 1 )
-        {
-        keyId = foundIds[ foundIds.Count() - 1 ];
-        }
-    else
-        {
-        foundIds.Reset();
-        ret = iRepository->FindL(0, 0, foundIds);
-        //Finding a free position to write
-        keyId = ( foundIds.Count() > 0 ) ?
-        		foundIds[ foundIds.Count() - 1 ] + 1 : 0;
-        }
-        
-    DEBUG(("_MM_:\t\tkey ID: %d",keyId));
-                
-    TInt stateType(aWidgetType);
-    if ( ( ret = iRepository->Set( keyId, aSuiteName ) ) == KErrNone )
-    	{
-        ret = iRepository->Set(keyId + KWidgetTypePosition, stateType);
-    	}
-    
-    User::LeaveIfError( ret );
-
-    DEBUG(("_MM_:\treturn value: %d",ret));
-    DEBUG(("_MM_:CHnRepositoryManager::StoreSuiteWidgetTypeL OUT"));
-    
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::DeleteSuiteRelatedL( const TDesC & aSuiteName )
-    {
-    TInt ret( KErrNone );
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-    for (int i=0; i<foundIds.Count(); i++)
-        {
-        if( iRepository->Delete( foundIds[i] ) < 0 )
-        	{
-        	ret = KErrGeneral;
-        	}
-        if( iRepository->Delete( foundIds[i] + KWidgetTypePosition ) < 0 )
-        	{
-        	ret = KErrGeneral;
-        	}
-        }
-    
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnRepositoryManager::ReadSuiteWidgetTypeL(
-		const TDesC& aSuiteName, THnSuiteWidgetType& aSuiteWidget )
-    {
-    TInt ret( KErrNone );
-    RArray< TUint32 > foundIds;
-    CleanupClosePushL( foundIds );
-    ret = iRepository->FindEqL( 0, 0, aSuiteName, foundIds );
-    
-    // If there is more than one entry of suite genre in central repository
-    // it certainly means that it's a mistake.
-    ASSERT( foundIds.Count() <= 1 );
-    if ( foundIds.Count() == 1 )
-         {
-         THnSuiteWidgetType suiteState( EUnspecified );
-         ret = iRepository->Get( foundIds[0] + KWidgetTypePosition,
-        		 (int &) suiteState);
-         if( !ret )
-             {
-             switch( suiteState )
-                {
-                case EGridWidget:
-                case EListWidget:
-                case ECoverFlowWidget: 
-                case EChangeWidget:
-                case EUnspecified:
-                    aSuiteWidget = suiteState;
-                    break;
-                default: 
-                    ASSERT(false);                
-                }
-             }
-        }
-
-    CleanupStack::PopAndDestroy( &foundIds );
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnRepositoryManager::~CHnRepositoryManager()
-    {
-    delete iRepository;
-    }
-    
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CHnRepositoryManager::ConstructL()
-    {
-    iRepository = CRepository::NewL( KMatrixRepositoryUid );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CHnRepositoryManager::CHnRepositoryManager() 
-    : KWidgetTypePosition(1), iRepository(NULL)
-    {
-    }
-
--- a/menufw/hierarchynavigator/hnutilities/src/hnservicehandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2007-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:   ?Description
-*
-*/
-
-
-#include <xmlengdom.h>
-#include <liwservicehandler.h>
-
-#include "hnservicehandler.h"
-#include "hnliwutils.h"
-#include "hnglobals.h"
-#include "hnmdbasekey.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CHnServiceHandler::ConstructL(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommand,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    iServiceName.CreateL( aService );
-    iInterfaceName.CreateL( aInterface );
-    iCommandName.CreateL( aCommand );
-
-    iServiceHandler = CLiwServiceHandler::NewL();
-    iInput = CLiwGenericParamList::NewL();
-
-    iOutputForAS = CLiwGenericParamList::NewL();
-
-    iServiceInterface = NULL;
-    SetServiceInterfaceL( aConstructor );
-
-    // Please note that by setting these two member variables
-    // we take ownership of aConstructor and aServiceCommand.
-    // No leaving functions may be called in ConstructL from
-    // now on.
-    iConstructor = aConstructor;
-    iCommand = aServiceCommand;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler* CHnServiceHandler::NewL(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommand, TServiceMode aMode,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    CHnServiceHandler* self = CHnServiceHandler::NewLC( aService, aInterface,
-            aCommand, aMode,  aConstructor, aServiceCommand );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler* CHnServiceHandler::NewLC(
-        const TDesC8& aService, const TDesC8& aInterface,
-        const TDesC8& aCommandName, TServiceMode aMode,
-        CLiwGenericParamList* aConstructor,
-        CLiwGenericParamList* aServiceCommand )
-    {
-    CHnServiceHandler* self =  new( ELeave ) CHnServiceHandler( aMode );
-    CleanupStack::PushL( self );
-    self->ConstructL( aService, aInterface, aCommandName, aConstructor,
-            aServiceCommand );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CHnServiceHandler::CHnServiceHandler( TServiceMode aMode ) :
-        iMode( aMode )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CHnServiceHandler::~CHnServiceHandler()
-    {
-
-    iServiceName.Close();
-    iInterfaceName.Close();
-    iCommandName.Close();
-
-    if ( iServiceInterface )
-        {
-        iServiceInterface->Close();
-        }
-
-    delete iInput;
-    delete iConstructor;
-    delete iCommand;
-    delete iOutputForAS;
-    
-    if ( iServiceHandler )
-        {
-        iServiceHandler->Reset();
-        delete iServiceHandler;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnServiceHandler::ExecuteL( MLiwNotifyCallback* aCallback,
-        TInt aCmdOptions)
-    {
-    TInt err( KErrNotSupported );
-    if( iServiceInterface )
-        {
-        err = KErrNotSupported;
-        iOutputForAS->Reset();
-        iInput->Reset();
-        iInput->AppendL( *iCommand );
-        switch( iMode )
-            {
-            case EServiceModeAsynchronous:
-                {
-                __ASSERT_DEBUG( aCallback , User::Panic( KMatrixPanic , 0 ) );
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                 iCommandName, *iInput, *iOutputForAS, aCmdOptions, aCallback ) );
-                }
-                break;
-            case EServiceModeSynchronous:
-                {
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                 iCommandName, *iInput, *iOutputForAS, aCmdOptions, NULL ) );
-                }
-                break;
-            }
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CHnServiceHandler::ExecuteL(
-        CLiwGenericParamList& aOutParamList, TRequestStatus& aStatus )
-    {
-    iClientStatus = &aStatus;
-    (*iClientStatus) = KRequestPending;
-    iOutputForAO = &aOutParamList;
-
-    TInt err( KErrNotSupported );
-    if( iServiceInterface )
-        {
-        err = KErrNone;
-        iInput->Reset();
-        iInput->AppendL( *iCommand );
-
-        switch (iMode)
-            {
-            case EServiceModeAsynchronous:
-                {
-                TRAP(err, iServiceInterface->ExecuteCmdL(
-                     iCommandName, *iInput, *iOutputForAO, 0, this ) );
-                if ( err != KErrNone )
-                	{
-                	User::RequestComplete( iClientStatus, err );
-                	}
-                }
-                break;
-            case EServiceModeSynchronous:
-                 {
-                 TRAP(err, iServiceInterface->ExecuteCmdL(
-                     iCommandName, *iInput, *iOutputForAO ) );
-                 User::RequestComplete( iClientStatus, KErrNone );
-                 }
-                 break;
-            default:
-                break;
-            }
-        }
-    else
-    	{
-    	// KErrNone ensures that CHnQueryResultCollector::HandleQueryResultsL()
-    	// is called, empty results are added to list, and 
-    	// CHnMdItem::ResultsCollectedL doesn't get confused
-    	User::RequestComplete( iClientStatus, KErrNone );
-    	}
-
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CHnServiceHandler::HandleNotifyL(
-        TInt /*aCmdId*/,
-        TInt /*aEventId*/,
-        CLiwGenericParamList& aEventParamList,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    // reset
-    if( iOutputForAO )
-        {
-        iOutputForAO->Reset();
-        iOutputForAO->AppendL( aEventParamList );
-        
-        TLiwGenericParam param;
-        TInt error(KErrNone);
-        param.PushL();
-        for (TInt i = 0; i < aEventParamList.Count(); i++)
-            {
-            if ( param.Name().Compare( KErrorCode8 ) == 0
-            		&& param.Value().AsTInt32() == KSErrNoMemory )
-            	{
-            	error = KErrNoMemory;
-            	break;
-            	}
-            }
-        CleanupStack::PopAndDestroy(&param);
-        User::RequestComplete( iClientStatus, error);
-        }
-    return KErrNone;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-TInt CHnServiceHandler::SetServiceInterfaceL(
-        CLiwGenericParamList* aConstructor )
-    {
-    CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
-    CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
-
-    CLiwCriteriaItem* critItem = CLiwCriteriaItem::NewLC( KLiwCmdAsStr,
-        iInterfaceName, iServiceName );
-
-    critItem->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-    RCriteriaArray critArr;
-    CleanupClosePushL( critArr );
-    critArr.AppendL( critItem );
-    iServiceHandler->AttachL( critArr );
-    inParam.AppendL( *aConstructor );
-    iServiceHandler->ExecuteServiceCmdL( *critItem, inParam, outParam );
-    CleanupStack::PopAndDestroy( &critArr );
-    CleanupStack::PopAndDestroy( critItem );
-
-    TInt pos( KErrNone );
-    outParam.FindFirst( pos, iInterfaceName );
-    if ( pos != KErrNotFound )
-        {
-        iServiceInterface = outParam[pos].Value().AsInterface();
-        }
-
-    return pos;
-    }
-
-// End of file
--- a/menufw/hierarchynavigator/rom/hierarchynavigator.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  IBY file for the hierarchynavigator space subsystem
-*
-*/
-
-
-#ifndef HIERARCHYNAVIGATOR_IBY
-#define HIERARCHYNAVIGATOR_IBY
-
-file=ABI_DIR\BUILD_DIR\hnengine.dll	                SHARED_LIB_DIR\hnengine.dll
-file=ABI_DIR\BUILD_DIR\hnmetadatamodel.dll    	    SHARED_LIB_DIR\hnmetadatamodel.dll
-file=ABI_DIR\BUILD_DIR\hnpresentationmodel.dll		SHARED_LIB_DIR\hnpresentationmodel.dll
-file=ABI_DIR\BUILD_DIR\hnutilities.dll			    SHARED_LIB_DIR\hnutilities.dll
-
-data=DATAZ_\private\10202be9\20012474.txt		private\10202be9\20012474.txt
-
-#endif // HIERARCHYNAVIGATOR_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project menufwui
-*
-*/
-
-
-#include "../mmextensions/group/bld.inf"
-#include "../mmwidgets/group/bld.inf"
-#include "../matrixmenu/group/bld.inf"
--- a/menufw/menufwui/matrixmenu/data/matrixmenu.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* Copyright (c) 2007-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 definitions for project matrixmenu
-*
-*/
-
-
-
-NAME MMEN	// 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <appinfo.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-	#include <sc/matrix_menu.loc>
-#else
-	#include <avkon.loc>
-	#include <matrix_menu.loc>
-#endif
-
-#include "mmgui.hrh"
-
-
-// ---------------------------------------------------------------------------
-// RSS_SIGNATURE
-// ---------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// r_default_document_name
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
-	{
-	buf="";
-	}
-
-// ---------------------------------------------------------------------------
-// EIK_APP_INFO
-// ---------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-	{
-	menubar = r_main_menubar;
-	cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT;
-	}
-
-// ---------------------------------------------------------------------------
-// r_global_toolbar
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_TOOLBAR r_global_toolbar
-    {
-    flags = KAknToolbarFixed;
-    // define empty button set in order for the toolbar to be displayed properly,
-    // buttons will be updated at runtime
-    items =
-        {
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl1;
-            control = AVKON_BUTTON
-                {
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl2;
-            control = AVKON_BUTTON
-                {
-                };
-            },
-        TBAR_CTRL
-            {
-            type = EAknCtButton;
-            id = EMmToolbarControl3;
-            control = AVKON_BUTTON
-                {
-                };
-            }
-        };
-    }
-
-// ---------------------------------------------------------------------------
-// r_main_menubar
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_main_menubar
-	{
-	titles =
-		{
-		MENU_TITLE { menu_pane = r_main_menu_pane; }
-		};
-	}
-
-// ---------------------------------------------------------------------------
-// r_main_menu_pane
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_main_menu_pane
-	{
-	items =
-		{
-        MENU_ITEM
-            {
-            command = EMmOptionsExit;
-            txt = qtn_options_exit;
-            }
-        };
-	}
-
-//empty "placeholder" cascade menu panes
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_1
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_1
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_2
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_2
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_cascade_menu_pane_3
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_cascade_menu_pane_3
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// r_localisable_app_info
-// ---------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
-	{
-	short_caption = qtn_menu_title;
-	caption_and_icon = 
-	CAPTION_AND_ICON_INFO
-		{
-		caption = qtn_menu_title;
-		number_of_icons = 1;
-	   	icon_file = "\\resource\\apps\\matrixmenu.mif";
-		};
-	}
-
-//-----------------------------------------------------------------------------
-// LOGICAL NAME STRINGS
-//-----------------------------------------------------------------------------
-
-// from us spec
-
-RESOURCE TBUF r_menu_title { buf=qtn_menu_title; }
-RESOURCE TBUF r_org_root_editing_title { buf=qtn_org_root_editing_title; }
-RESOURCE TBUF r_org_folder_editing_title { buf=qtn_org_folder_editing_title; }
-RESOURCE TBUF r_menu_open { buf=qtn_menu_open; }
-RESOURCE TBUF r_menu_organize { buf=qtn_menu_organize; }
-RESOURCE TBUF r_sub_options_org_move_to_folder { buf=qtn_sub_options_org_move_to_folder; }
-RESOURCE TBUF r_menu_uninstall { buf=qtn_menu_uninstall; }
-RESOURCE TBUF r_apps_note_item_already_stored { buf=qtn_apps_note_item_already_stored; }
-RESOURCE TBUF r_apps_note_move_to_folder { buf=qtn_apps_note_move_to_folder; }
-RESOURCE TBUF r_fldr_cannot_move_folder { buf=qtn_fldr_cannot_move_folder; }
-RESOURCE TBUF r_fldr_cannot_delete_item { buf=qtn_fldr_cant_delete_folder; }
-RESOURCE TBUF r_fldr_item_cannot_be_moved { buf=qtn_fldr_item_cannot_be_moved; }
-                                
-//-----------------------------------------------------------------------------
-// Info dialog
-//-----------------------------------------------------------------------------
-RESOURCE DIALOG r_menu_info
-	{
-	flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtNote;
-			id = EGeneralNote;
-			control = AVKON_NOTE
-				{
-				layout = EGeneralLayout;
-				animation = R_QGN_NOTE_ERROR_ANIM;
-				};
-			}
-		};
-	}
-    
-RESOURCE CBA r_menu_softkeys_options_bexit
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_exit; }
-        };
-    }
-    
-RESOURCE CBA r_menu_softkeys_options_bexit__select
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = text_softkey_exit; },
-        AVKON_CBA_BUTTON{id=EAknSoftkeySelect; longpressid=0; txt= qtn_msk_select; }
-        };
-    }
-
-RESOURCE CBA r_menu_softkeys_empty__empty
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt = " ";},
-        CBA_BUTTON {id=EAknSoftkeyBack; txt = " "; }
-        };
-    }
-
-// End of File
--- a/menufw/menufwui/matrixmenu/data/matrixmenu_reg.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2007-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 definitions for project matrixmenu
-*
-*/
-
-
-#include "mmguiuid.hrh"
-#include <appinfo.rh>
-#include <matrixmenu.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 _MATRIX_UID3
-
-RESOURCE APP_REGISTRATION_INFO
-	{
-	app_file="matrixmenu";
-	localisable_resource_file = "\\resource\\apps\\matrixmenu";
-	localisable_resource_id = R_LOCALISABLE_APP_INFO;
-
-	embeddability=KAppNotEmbeddable;
-	newfile=KAppDoesNotSupportNewFile;
-	}
--- a/menufw/menufwui/matrixmenu/group/backup_registration.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?> 
-<backup_registration> 
-	<proxy_data_manager SID="0x10202BE9"/>
-</backup_registration>
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project matrixmenu
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-//  Help exports
-#include "../help/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../loc/matrix_menu.loc          APP_LAYER_LOC_EXPORT_PATH(matrix_menu.loc)
-../rom/matrixmenu.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(matrixmenu.iby)
-../rom/matrixmenu_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(matrixmenu_resources.iby)
-../inc/mmactionrequest.h        |../../../inc/mmactionrequest.h
-../inc/mmguiconstants.h         |../../../inc/mmguiconstants.h
-../inc/mmguiuid.hrh             |../../../inc/mmguiuid.hrh
-
-// backup registration
-backup_registration.xml Z:/private/101F4CD2/backup_registration.xml
-
-PRJ_MMPFILES
-matrixmenu.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE matrixmenu.mif
-OPTION SOURCES 	-c8,8 qgn_menu_appsgrid 
-END
-
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menufwui/matrixmenu/group/matrixmenu.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Project definition file for project matrixmenu
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/mmguiuid.hrh"
-
-epocheapsize  1800000 4500000
-
-TARGET          matrixmenu.exe
-TARGETTYPE      exe
-UID             0x100039CE _MATRIX_UID3  
-
-CAPABILITY      CAP_APPLICATION
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          mmgui.cpp
-SOURCE          mmapplication.cpp
-SOURCE          mmappui.cpp
-SOURCE          mmdocument.cpp
-SOURCE          mmnomemory.cpp
-SOURCE          mmappkeyhandler.cpp
-
-SOURCEPATH      ../data
-
-START RESOURCE  matrixmenu.rss
-HEADER
-TARGET matrixmenu.rsc
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END //RESOURCE
-
-START RESOURCE  matrixmenu_reg.rss
-DEPENDS matrixmenu.rsg
-TARGET matrixmenu_reg.rsc
-TARGETPATH /private/10003a3f/apps
-END //RESOURCE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../loc
-
-SYSTEMINCLUDE   ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY           euser.lib
-
-LIBRARY           apparc.lib
-LIBRARY           avkon.lib
-LIBRARY           apgrfx.lib            // for TApaTask
-LIBRARY           eikcore.lib
-LIBRARY           eikcoctl.lib
-LIBRARY           cone.lib
-LIBRARY           fbscli.lib
-LIBRARY           egul.lib
-LIBRARY           gdi.lib
-LIBRARY			  eikctl.lib
-LIBRARY           bafl.lib
-LIBRARY           ws32.lib 
-
-LIBRARY           commonengine.lib      // for  stringloader
-LIBRARY           cdlengine.lib         // for Layout_Meta_Data
-LIBRARY           featmgr.lib
-LIBRARY           gfxtrans.lib          // effects
-
-LIBRARY           hnengine.lib
-LIBRARY           hnpresentationmodel.lib
-LIBRARY           mmwidgets.lib
-LIBRARY           hnutilities.lib
-LIBRARY           liwservicehandler.lib 
-LIBRARY           mmextensionmanager.lib
-LIBRARY           aknskins.lib
-LIBRARY           aknskinsrv.lib
-LIBRARY           aknswallpaperutils.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-// End of File
Binary file menufw/menufwui/matrixmenu/help/data/xhtml.zip has changed
--- a/menufw/menufwui/matrixmenu/help/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/app.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/app.hlp.hrh)
-../rom/matrixmenuhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(matrixmenuhelps_variant.iby)
--- a/menufw/menufwui/matrixmenu/help/inc/app.hlp.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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:
-*
-*/
-	
-//
-// app.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __APP_HLP_HRH__
-#define __APP_HLP_HRH__
-
-_LIT(KAPP_HLP_APP_SHELL, "APP_HLP_APP_SHELL"); // 
-
-#endif 
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/help/rom/matrixmenuhelps_variant.iby	Thu Mar 18 14:45:17 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:  IBY file for the matrix menu helps
-*
-*/
-
-#ifndef __MATRIXMENUHELPS_VARIANT_IBY__
-#define __MATRIXMENUHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE) 
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F4CD2\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F4CD2\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/menufw/menufwui/matrixmenu/inc/mmactionrequest.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007-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:  
-*
-*/
-
-
-
-#ifndef C_HNENGINE_REQUEST_H
-#define C_HNENGINE_REQUEST_H
-
-class CLiwGenericParamList;
-/**
- * @ingroup group_hnengine
- *  Hierarchy Navigator engine request. Implemented by the hierarchy navigator engine to handle 
- *  incoming requests defined using the liw generic parameters list ( CLiwGenericParamList ).
- *
- * @lib hnengine
- * @since S60 v3.2
- */
-class MMmActionRequest
-    {
-public:
-    
-    /**
-     * Enables to issue a request to Hn engine.
-     * 
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.  
-     */
-    virtual void HandleRequestL( const CLiwGenericParamList& aParam, 
-                                CLiwGenericParamList* aOutput = NULL ) = 0;
-    
-    };
-
-#endif //C_HNENGINE_REQUEST_H
--- a/menufw/menufwui/matrixmenu/inc/mmappkeyhandler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application key detecting helper class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef CMMAPPKEYHANLDER_H
-#define CMMAPPKEYHANDLER_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <w32std.h>
-
-/**
- *  @ingroup group_matrixmenu
- *  
- *  CMmAppkeyHandler is a helper class. It is a low priority active object.
- *  It is used to detect quick and frequent usage of the application key.
- *  To detect this state the IsActive() method should be invoked. If IsActive() returns
- *  ETrue, this means there is heavy processing which blocks the active object completion,
- *  which may indicate that appkey is being frequently pressed.
- *  
- *  @since S60 v5.0
- */
-class CMmAppkeyHandler : public CActive
-	{
-public:
-    /**
-     * Cancel and destroy.
-     */
-	~CMmAppkeyHandler();
-
-    /**
-     * Two-phased constructor.
-     * @return instance of CMmAppkeyHandler.
-     */
-	static CMmAppkeyHandler* NewL();
-
-    /**
-     * Two-phased constructor.
-     * @return instance of CMmAppkeyHandler.
-     */
-	static CMmAppkeyHandler* NewLC();
-
-public:
-	// New functions
-	
-    /**
-     * Function for making the initial request.
-     */
-	void StartL();
-
-private:
-    /**
-     * C++ constructor.
-     */
-	CMmAppkeyHandler();
-
-    /**
-     * Second-phase constructor.
-     */
-	void ConstructL();
-	
-private:
-    /**
-     * From CActive.
-     * Handle completion.
-     */
-	void RunL();
-
-    /**
-     * How to cancel me.
-     * Left without implementation because the AO completes itself in StartL;
-     */
-	void DoCancel();
-    
-	/**
-     * Override to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * 
-     * @param aError Error occurred;
-     * @return Error code.
-     */
-	TInt RunError(TInt aError);
-
-	};
-
-#endif // CMMAPPKEYHANLDER_H
--- a/menufw/menufwui/matrixmenu/inc/mmapplication.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application class
-*
-*/
-
-
-#ifndef C_MMAPPLICATION_H
-#define C_MMAPPLICATION_H
-
-// INCLUDES
-#include <aknapp.h>
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application.
- *  AVKON Application class.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmApplication) : public CAknApplication
-	{
-	
-public:
-
-// from base class CApaApplication
-
-	/**
-     * From CApaApplication.
-     * Returns application's UID.
-     *
-     * @since S60 v5.0
-     * @return Application's UID (KUidMatrixMenuApp).
-     */
-	TUid AppDllUid() const;
-
-protected:
-
-// from base class CApaApplication
-
-	/**
-     * From CApaApplication.
-     * Creates the Document.
-     *
-     * @since S60 v5.0
-     * @return Instance of the Document.
-     */
-	CApaDocument* CreateDocumentL();
-	
-	};
-
-#endif // C_MMAPPLICATION_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/inc/mmappui.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1014 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application UI class
-*  Version     : %version: MM_83.1.2.1.23.1.20 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMAPPUI_H
-#define C_MMAPPUI_H
-
-// INCLUDES
-#include <gfxtranseffect/gfxtranseffect.h>     // for transition effects
-#include <akntranseffect.h>                    // for transition effects
-
-#include <e32hashtab.h>
-#include <aknappui.h>
-#include <akntoolbarobserver.h>
-#include <eiklbo.h>
-#include <AknsSrvClient.h>
-
-#include "hncontrollerinterface.h"
-#include "mmwidgetobserver.h"
-#include "hnsuiteobserver.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-
-
-// FORWARD DECLARATIONS
-
-class CHnInterface;
-class CHnSuiteModel;
-class MHnMenuItemModelIterator;
-class CAknToolbar;
-class CMmWidgetContainer;
-class CMmListBoxContainer;
-class CMmGridContainer;
-class CMmHighlightManager;
-class CLiwGenericParamList;
-class CHnItemModel;
-class CMMExtensionManager;
-class CMmTemplateLibrary;
-class CMmNoMemory;
-class CMmAppkeyHandler;
-class CAknStylusPopUpMenu;
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application UI.
- *  Regular AVKON Application UI class, acts as controller for the application.
- *  <br>Implements:
- *  <ul>
- *  <li>MHnControllerInterface - for notifications about model changes.</li>
- *  <li>MAknToolbarObserver - to get notifications about toolbar events.</li>
- *  <li>MMmWidgetObserver -
- *      to get notifications about widget highlight changes.</li>
- *  </ul>
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmAppUi) : public CAknAppUi,
-                            public MHnControllerInterface,
-							public MAknToolbarObserver,
-                            public MMmWidgetObserver,
-                            public MMmActionRequest,
-                            public MAknsSkinChangeObserver
-	{
-
-public:
-
-	/**
-	 * 2nd phase constructor.
-	 *
-	 * @since S60 v5.0
-	 */
-	void ConstructL();
-
-	/**
-	 * C++ default constructor. This needs to be public due to
-	 * the way the framework constructs the AppUi.
-	 *
-	 * @since S60 v5.0
-	 */
-	CMmAppUi();
-
-	/**
-	 * Virtual Destructor.
-	 *
-	 * @since S60 v5.0
-	 */
-	~CMmAppUi();
-
-// from base class CEikAppUi
-
-    /**
-     * From CEikAppUi.
-     * Handles a change to the application's resources which
-     * are shared across the environment. This function calls
-     * CEikAppUi::HandleResourceChangeL except when aType is
-     * KEikDynamicLayoutVariantSwitch.
-     *
-     * @since S60 v5.0
-     * @param aType The type of resources that have changed.
-     */
-    void HandleResourceChangeL( TInt aType );
-
-    /**
-     * From CEikAppUi.
-     * Takes care of Command Line tail handling.
-     *
-     * @since S60 v5.0
-     * @param aCommand Not used by this app.
-     * @param aDocumentName Not used by this app.
-     * @param aTail Command line tail.
-     */
-	TBool ProcessCommandParametersL( TApaCommand aCommand,
-									TFileName& aDocumentName,
-									const TDesC8& aTail );
-
-    /**
-     * From CAknAppUi.
-     * This method is overriden to ignore certain commands in
-     * certain situations. For not ignored commands it simply
-     * calls the base class implementation.
-     *
-     * @param aCommand A command ID.
-     */
-    void ProcessCommandL(TInt aCommand);
-
-	/**
-     * From CEikAppUi.
-     * Takes care of Command Line tail handling.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the message.
-     * @param aParams Message params.
-     */
-	void ProcessMessageL( TUid aUid, const TDesC8& aParams );
-
-	/**
-     * From MCoeMessageObserver.
-     * Handles window server messages.
-     *
-     * @since S60 v5.0
-     * @param aClientHandleOfTargetWindowGroup The window group that the message was sent to.
-     * @param aMessageUid The message UID.
-     * @param aMessageParameters The message parameters.
-     * @return Indicates whether the message was handled or not handled by the function.
-     */
-    MCoeMessageObserver::TMessageResponse HandleMessageL(
-         TUint32 aClientHandleOfTargetWindowGroup,
-         TUid aMessageUid,
-         const TDesC8& aMessageParameters );
-
-	/**
-     * From MEikMenuObserver (CEikAppUi).
-     * Handles dynamic menu pane initialization.
-     *
-     * @since S60 v5.0
-     * @param aResourceId Resource ID of the menu pane.
-     * @param aMenuPane The menu pane itself.
-     */
-    void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-// from base class MHnControllerInterface
-
-    /**
-     * From MHnControllerInterface.
-     * Notifies UI to start a refresh after content change.
-     *
-     * @since S60 v5.0
-     * @param aRefreshType Type of refresh.
-     */
-    void NotifyUiRefreshL( const THnUiRefreshType aRefreshType );
-
-// from base class MHnSuiteObserver
-
-    /**
-     * From MHnSuiteObserver.
-     * Trigger appropriate action on suite model.
-     *
-     * @since S60 v5.0
-     * @param aCustomSuiteEvent Event to perform.
-     * @param aModel Suite model where aCustomSuiteEvent should be envoked.
-     */
-    void HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent,
-                CHnSuiteModel* aModel );
-
-// from base class MEikListBoxObserver
-
-    /**
-     * From MEikListBoxObserver.
-     * Handles list box events.
-     *
-     * This pure virtual function is invoked by CEikListBox to
-     * notify the observer of list box events.
-     *
-     * @since S60 v5.0
-     * @param aListBox   The originating list box.
-     * @param aEventType A code for the event. Further information
-     *                   may be obtained by accessing the list box itself.
-     */
-    void HandleListBoxEventL( CEikListBox* aListBox,
-            MEikListBoxObserver::TListBoxEvent aEventType );
-
-// from base class MMmLongTapObserver
-
-    /**
-     * From MMmLongTapObserver.
-     * Handles long tap event reported by widget container.
-     *
-     * @since S60 v5.0
-     * @param aPenEventLocation The relative to screen pen event location.
-     */
-    void HandleLongTapEventL( const TPoint& aPenEventLocation );
-
-// from base class MMmKeyEventObserver
-
-    /**
-     * From MMmKeyEventObserver.
-     * Handles key press events.
-     *
-     * @since S60 v5.0
-     * @param aKeyEvent Key event.
-     * @param aType Event type.
-     */
-    TKeyResponse HandleKeyPressedL( const TKeyEvent &aKeyEvent,
-        TEventCode aType );
-
-// from base class MMmDragAndDropObserver
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the start of dragging of an item.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the dragged item.
-     */
-    void HandleDragStartL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the event of dragging an item over a different one.
-     * Used to change presentation of folder icons to indicate drop into action.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the item.
-     */
-    void HandleDragOverL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles the stop of dragging of an item.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of the dragged item.
-     */
-    void HandleDragStopL( TInt aModelItemIndex );
-
-    /**
-     * From MMmDragAndDropObserver.
-     * Handles update of dragged item index.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex New dragged item index.
-     */
-    void HandleDraggedIndexUpdatedL( TInt  aModelItemIndex  );
-
-// from base class MAknToolbarObserver
-
-    /**
-     * From MAknToolbarObserver.
-     * Handles toolbar events for a certain toolbar item.
-     *
-     * @since S60 v5.0
-     * @param aCommand The command ID of some toolbar item.
-     */
-    void OfferToolbarEventL( TInt aCommand );
-
-//    from base class MHnControllerInterface
-    /**
-     * From MHnControllerInterface.
-     * Execute extension manager action.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the ECom plugin's.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList List of the event parameters needed to
-     *                        execute action. Extention Manager is its owner.
-     * @return Number representing error code.
-     */
-    TInt ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-                CLiwGenericParamList* aEventParamList );
-
-    /**
-     * Reloads cascade menu map.
-     */
-    void ReloadCascadeMenuMapL();
-
-    /**
-     * Called by the skin server when skin content is changed and the
-     * connected client wants to be informed.
-     *
-     * @since 2.0
-     */
-    void SkinContentChanged();
-
-    /**
-    * Called by the skin server to indicate that the current skin
-    * configuration has changed.
-    *
-    * @param aReason Reason code.
-    *
-    * @since 2.5
-    */
-    void SkinConfigurationChanged(
-        const TAknsSkinStatusConfigurationChangeReason aReason );
-
-    /**
-    * Called by the skin server to indicate that the available
-    * skin packages have changed.
-    *
-    * @param aReason Reason code.
-    *
-    * @since 2.5
-    */
-    void SkinPackageChanged(
-        const TAknsSkinStatusPackageChangeReason aReason );
-
-private:
-
-    /**
-     * Enum defining possible exit types for ExitMenuL method.
-     *
-     * @since S60 v5.0
-     */
-    enum TExitType
-        {
-        EExitReally,
-        EExitToIdle,
-        EExitToPhone
-        };
-
-    /**
-     * Enum defining possible exit types for ExitMenuL method.
-     *
-     * @since S60 v5.0
-     */
-    enum TExitKeyType
-        {
-        EExitKeyApplication,
-        EExitKeyRed
-        };
-
-    /**
-     * Defiens edit mode state.
-     *
-     * @since S60 v5.0
-     */
-    enum TEditModeStatus
-        {
-        ENoEditMode,
-        ETransitionToEditMode,
-        EEditMode,
-        ETransitionFromEditMode,
-        EFastTransitionFromEditMode
-        };
-
-    /**
-	 * Indicates if edit mode is on.
-	 *
-	 * @since S60 v5.0
-	 * @return Returns edit mode status.
-	 */
-    TBool IsEditMode();
-
-    /**
-	 * Adjusts highlight when entering or leaving edit mode.
-	 *
-	 * @since S60 v5.0
-	 * @param aOriginalHighlight Highlight that would normally be set
-	 * @return A modified value of highlight
-	 */
-    TInt AdjustEditModeHighlightL( TInt aOriginalHighlight );
-
-    /**
-	 * Manages the container lookup.
-	 *
-	 * @since S60 v5.0
-	 * @return Pointer to the container to be loaded, of NULL
-	 * 		   if a new container should be created.
-	 */
-    CMmWidgetContainer* GetAppropriateContainerToLoadL();
-
-    /**
-     * Submits an asynchronous service request to show user a message
-     * when Matrix Menu is out of memory.
-     *
-     * @since S60 v5.0
-     */
-    void HandleOutOfMemoryL();
-
-    /**
-     * Resets MM App UI to the initial state (most of the fields).
-     *
-     * @since S60 v5.0
-     */
-    void ResetToInitialStateL();
-
-    /**
-     * Refreshes menu pane if needed
-     */
-    void HideMenuPaneIfVisibleL();
-
-// from base class CEikAppUi
-
-	/**
-	 * From CEikAppUi.
-	 * Takes care of command handling.
-	 *
-	 * @since S60 v5.0
-	 * @param aCommand Command to be handled.
-	 */
-	void HandleCommandL( TInt aCommand );
-
-	/**
-     * From CEikAppUi.
-     * Handles Window Server events.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event to be handled.
-     * @param aDestination Destination control.
-     */
-    void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
-
-	/**
-     * Indicates if root (main) view is displayed.
-     *
-     * @since S60 v5.0
-     * @return ETrue if root displayed, EFalse otherwise.
-     */
-	TBool IsRootdisplayedL();
-
-	/**
-	 * Handles pen down events for an item.
-	 *
-	 * @since S60 v5.0
-     * @param aIndex Item index.
-     */
-    void HandleHighlightItemPenDownL( TInt aIndex );
-
-    /**
-     * Handles single click event on widget item.
-     *
-     * @since S60 v5.0
-     * @param aIndex Clicked item index.
-     */
-    void HandleHighlightItemSingleClickedL( TInt aIndex );
-
-    /**
-     * Handles drag event.
-     *
-     * @since S60 v5.0
-     */
-    void HandleEventDraggingActionedL();
-
-    /**
-     * Handles click (select) events for an item.
-     *
-     * @since S60 v5.0
-     * @param aIndex Item index.
-     */
-    void HandleHighlightItemDoubleClickedL( TInt aIndex );
-
-    /**
-     * Handles suite model initialized event.
-     *
-     * @param aModel Suite model that has been initialized.
-     * @since S60 v5.0
-     */
-    void HandleSuiteModelInitializedL( CHnSuiteModel* aModel );
-
-    /**
-     * Handles suite update events.
-     *
-     * @since S60 v5.0
-     */
-    void UpdateL();
-
-    /**
-     * Handles suite remove events.
-     *
-     * @since S60 v5.0
-     */
-    void RemoveL();
-
-    /**
-     * Handles suite insert events.
-     *
-     * @since S60 v5.0
-     */
-    void InsertL();
-
-	/**
-     * Handles the "Back" softkey event.
-     *
-     * @since S60 v5.0
-     */
-	void HandleBackCommandL();
-
-    /**
-     * Refreshes toolbar.
-     *
-     * @since S60 v5.0
-     */
-    void RefreshToolbarL();
-
-    /**
-     * Updates app's presentation to show desired suite content.
-     *
-     * @since S60 v5.0
-     */
-    void ShowSuiteL();
-
-    /**
-     * Creates new container for suite model.
-     *
-     * @since S60 v5.0
-     * @param aSuiteModel Suite model to load.
-     * @param aContainerToLoad Target pointer for the new container.
-     * @return ETrue if operation is succesful, EFalse otherwise
-     */
-    TBool CreateNewContainerL( CHnSuiteModel* aSuiteModel,
-            CMmWidgetContainer*& aContainerToLoad );
-
-    /**
-     * Forwards the passed event code to Hierarchy Navigator for handling.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event code.
-     */
-    void ForwardEventToHNL( TInt aEvent );
-
-    /**
-     * Forwards the passed event code to Hierarchy Navigator for handling
-     * regarding the current suite's item referred to by itemid.
-     *
-     * @since S60 v5.0
-     * @param aEvent Event code.
-     * @param aItemId Item ID.
-     * @param aEventParams Additional parameters.
-     */
-    void ForwardEventToHNL( TInt aEvent, TInt aItemId,
-            CLiwGenericParamList* aEventParams = NULL );
-
-    /**
-     * Sets the Status Pane and CBA to indicate the current open suite.
-     *
-     * @param aReset Indicates if status pane should be reset.
-     * @since S60 v5.0
-     */
-    void RefreshUiPanesL( TBool aReset = EFalse );
-
-    /**
-     * Checks recieved messages and forwards to HN.
-     *
-     * @since S60 v5.0
-     * @param aMessage The message.
-     */
-    void HandleMessageL( const TDesC8& aMessage );
-
-    /**
-     * Gets the resource ID of the first free cascade menu pane container.
-     * Resource containers are defined in nsui.rss under
-     * r_main_menu_pane_cascade_* tags.
-     *
-     * @since @since S60 v5.0
-     * @return The ID of the first available cascade manu pane resource
-     *          container, or KErrNotFound if none available.
-     */
-    TInt GetNextCascadeMenuResourceId();
-
-    /**
-     * Handles the update of current shown container.
-     *
-     * @since S60 v5.0
-     * @param aWidgetContainer The widget container to be shown.
-     */
-    void HandlePresentationChangeL( CMmWidgetContainer* aWidgetContainer );
-
-    /**
-     * Handles the switching of visible containers.
-     *
-     * @since S60 v5.0
-     * @param aWidgetContainer The widget to switch to.
-     */
-    void HandleWidgetChangeRefreshL( CMmWidgetContainer* aWidgetContainer );
-
-    /**
-     * Handles the refresh if no widget change occured.
-     * Just model on the stack changed.
-     *
-     * @since S60 v5.0
-     */
-    void HandleNoWidgetChangeRefreshL();
-
-    /**
-     * Shows or hides toolbar depending on context.
-     *
-     * @since S60 v5.0
-     */
-    void HandleToolbarVisibilityL();
-
-    /**
-     * Updates the toolbar content.
-     *
-     * @since S60 v5.0
-     */
-    void UpdateToolbarL();
-
-    /**
-     * Sets the Edit Mode.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode ETrue if edit mode needs to be turned on.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Returns TAT/Kastor effect rectangle.
-     *
-     * @since S60 v5.0
-     * @param aItemModel Model of the selected item.
-     * @param aItemId Item ID.
-     * @return Screen rect of the selected item.
-     */
-    TRect GetKastorRectL( CHnItemModel* aItemModel, TInt aItemId );
-
-    /**
-     * Returns TAT/Kastor effect depends on selected item.
-     *
-     * @since S60 v5.0
-     * @param aItemModel Model of the selected item.
-     * @return Effect id depends on item type and status.
-     */
-    TInt GetKastorEffectL( CHnItemModel* aItemModel );
-
-    /**
-     * Handles exiting Matrix.
-     *
-     * @since S60 v5.0
-     * @param aExitType type of exit.
-     */
-    void ExitMatrix( TExitType aExitType );
-
-    /**
-     * Cleans up before exiting Matrix.
-     * Stops edit mode and resets to root.
-     *
-     * @param aExitKey Red key or application key.
-     * @since S60 v5.0
-     */
-    void CleanupForExitL( TExitKeyType aExitKey );
-
-    /**
-     * Manages bringing homescreen and relevant apps to foreground.
-     *
-     * @since S60 v5.0
-     * @param aExitType type of exit.
-     */
-    void ShowHomescreenL( TExitType aExitType );
-
-    /**
-     * Places the homescreen window underneath the menu window.
-     *
-     * This method puts the homescreen window just below the matrix menu
-     * window (assuming that matrix menu is running in the foreground) so
-     * that if matrix gets closed and disappears from the screen, then
-     * homescreen will be visible immediately. If it is impossible to do
-     * so (for any reason), this method will call ShowHomescreenL.
-     *
-     * @since S60 v5.0
-     */
-    void PrepareHomescreenForMatrixExitL();
-
-    /**
-     * Opens the desired application.
-     * Used in exiting Matrix.
-     *
-     * @since S60 v5.0
-     * @param aUid UID of the app to open.
-     */
-    void OpenAppL( const TUid aUid );
-
-    /**
-     * Loads default root suite
-     *
-     * @since S60 v5.0
-     */
-    void InitializeL();
-
-    /**
-     * Refreshes Cba according to current context.
-     *
-     * @since S60 v5.0
-     */
-    void RefreshCbaL();
-
-    /**
-     * MSK text.
-     *
-     * @since S60 v5.0
-     */
-    void SetMiddleSoftKeyL();
-
-    /**
-     * Starts fullscreen.
-     * @param aKastorEffect Id of the TAT/Kastor effect.
-     *
-     * @since S60 v5.0
-     */
-    void StartLayoutSwitchFullScreen( TInt aKastorEffect
-    		= AknTransEffect::ELayoutSwitchStart);
-
-    /**
-     * Ends fullscreen
-     *
-     * @since S60 v5.0
-     */
-    void EndFullScreen();
-
-    // From MMActionRequest
-
-    /**
-     * Enables to issue a request to Hn engine.
-     *
-     * @since S60 v5.0
-     * @param aParam Input Parameters.
-     * @param aOutput Target list for output.
-     */
-     void HandleRequestL( const CLiwGenericParamList& aParam,
-                         CLiwGenericParamList* aOutput = NULL );
-
-     /**
-      * Resets map of widget containers.
-      *
-      * @since S60 v5.0
-      */
-     void ResetContainerMap();
-
-     /**
-      * Resets map of widget container to root.
-      *
-      * @since S60 v5.0
-      */
-     void ResetContainerMapToRootL();
-
-     /**
-      * Resets view to root.
-      *
-      * @return ETrue if view was not displaying root suite already, EFalse otherwise
-      */
-     TBool ResetToRootL();
-
-     /**
-      * Refreshes icons after skin changing
-      */
-     void RefreshIconsL();
-
-     /**
-      * Forward event to hierarchy navigator.
-      *
-      * @param aOffset Highlight offset.
-      */
-     void HandleHighlightOffsetL( TInt aOffset );
-
-     /**
-      * Replaces ETransitionFromEditMode or EFastTransitionFromEditMode to ENoEditMode
-      */
-     void ClearTransitionFromEditModeFlag();
-     /**
-       * Method inherited from CEikAppUi to handle
-       * out of memory problem.
-       *
-       * @param aError KErrNoMemory is handled.
-       * @param aExtErr Not used.
-       * @param aErrorText Not used.
-       * @param aContextText Not used.
-       * @return EErrorNotHandled in order to display proper information.
-       */
-     TErrorHandlerResponse HandleError( TInt aError,
-                                        const SExtendedError &aExtErr,
-                                        TDes &aErrorText,
-                                        TDes &aContextText );
-
-     /**
-      * Update widget data for number of items changed.
-      *
-      * @param aChange type of change.
-      */
-     void HandleNumberOfItemsChangedL( TItemsChangeType aChange );
-
-     /**
-      * Sets the highlighted item in gui objects accordingly to what
-      * is stored in the model. The exact result of calling this
-      * method depends on @c iMakeHightlightedItemFullyVisible
-      * flag.
-      */
-     void ApplyHighlightFromModelL();
-
-     /**
-      * Called when EFocusGained message is received by menu.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFocusGainedL();
-
-     /**
-      * Called when application is sent to foreground.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFullOrPartialForegroundGainedL();
-
-     /**
-      * Called when application is sent to background.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFullOrPartialForegroundLostL();
-
-     /**
-      * Called when EFocusLost message is received by menu.
-      * Should be called only from HandleWsEvent.
-      */
-     void HandleFocusLostL();
-
-private: // Data
-
-    /**
-     * Grid's Container Widget.
-     * Own.
-     */
-    //CMmWidgetContainer* iGridContainer;
-
-    /**
-     * List's Container Widget.
-     * Own.
-     */
-    //CMmWidgetContainer* iListboxContainer;
-
-    /**
-     * Current visible Widget.
-     * Not own.
-     */
-    CMmWidgetContainer* iCurrentContainer;
-
-    /**
-     * Hash map containig widget containers, with corresponding
-     * suite id.
-     */
-    RHashMap< TInt, CMmWidgetContainer* > iContainerMap;
-
-    /**
-     * Array of container pointers, whose deletion should
-     * be delayed.
-     */
-    RPointerArray< CMmWidgetContainer > iGarbage;
-
-    /**
-     * Current suite model
-     * Not own.
-     */
-    CHnSuiteModel* iCurrentSuiteModel;
-
-    /**
-     * Hierarchy Navigator
-     * Own.
-     */
-    CHnInterface* iHNInterface;
-
-    /**
-     * Hash map for dynamic initialization of cascade menu panes.
-     * Contains item iterator pointers indexed with cascade pane resource IDs.
-     * MHnMdMenuItemIterator items not owned.
-     */
-    RHashMap<TInt, MHnMenuItemModelIterator*> iCascadeMenuMap;
-
-    /**
-     * Indicates the edit mode status.
-     */
-    TEditModeStatus iEditModeStatus;
-
-    /**
-     * Pointer to application's custom toolbar.
-     * Own.
-     */
-    CAknToolbar* iToolbar;
-
-    /**
-     * Index of dragged item.
-     */
-    TInt iItemDragged;
-
-    /**
-     * Model ID of the dragged item.
-     */
-    TInt iIdDragged;
-
-    /**
-     * Locks select events for highlight based scrolling.
-     */
-    TBool iKeyClickLocked;
-
-    /**
-     * Indicates if TAT/Kastor effect is started.
-     */
-    TBool iIsKastorEffectStarted;
-
-    /**
-     * Extension manager.
-     * Own.
-     */
-    CMMExtensionManager* iMmExtManager;
-
-	/**
-     * Screen state.
-     */
-    TBool iScreenOn;
-
-    /**
-     * Skin change needed
-     */
-    TBool iSkinChangeNeeded;
-
-    /**
-     * Template library.
-     */
-    CMmTemplateLibrary* iTemplateLibrary;
-
-    /**
-    * Skin server session.
-    */
-    RAknsSrvSession iSkinSrvSession;
-
-    /**
-     * Skin change in progress
-     */
-    TBool iSkinChangeInProgress;
-
-    /**
-     * Widget container that contains only an empty listbox.
-     * It is displayed only when there is no other container that
-     * could be displayed. It is needed to avoid ugly flicker
-     * effects where homescreen becomes visible for a fraction of
-     * second.
-     */
-    CMmWidgetContainer* iDummyContainer;
-
-    /**
-     * A template library for iDummyContainer;
-     */
-    CMmTemplateLibrary* iDummyTemplateLib;
-
-    /**
-     * Out-of-memory condition handler.
-     */
-    CMmNoMemory* iOutOfMemoryHandler;
-
-    /**
-     * This flag is intended for indicating that the highlithted item must
-     * be fully visible. It is only used in two cases:
-     * 1. When an item has been drag-and-dropped into a folder (the item
-     *    moved into the folder must be fully visible when the target suite
-     *    is displayed).
-     * 2. When turning on edit mode (the item highlighted must be fully
-     *    visible once edit mode is turned on).
-     */
-    TBool iMakeHightlightedItemFullyVisible;
-
-    /**
-     * An low priority active object used as a helper to detect frequent and
-     * quick appkey pressing.
-     * Owns.
-     */
-    CMmAppkeyHandler* iAppkeyHandler;
-
-    /**
-     * ETrue if Matrix menu has focus i.e. it is in foreground and is not eclipsed
-     * by any popup note that is not originating from Matrix menu.
-     */
-    TBool iHasFocus;
-
-    /**
-     * Own.
-     * Popup menu displayed after long tap.
-     */
-    CAknStylusPopUpMenu* iPopupMenu;
-
-    };
-
-#endif // C_MMAPPUI_H
-
-// End of File
-
--- a/menufw/menufwui/matrixmenu/inc/mmdocument.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application Document class
-*
-*/
-
-
-#ifndef C_MMDOCUMENT_H
-#define C_MMDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// FORWARD DECLARATIONS
-class CMmAppUi;
-class CEikApplication;
-
-/**
- *  @ingroup group_matrixmenu
- *  Matrix Menu Application Document.
- *  AVKON Application Document class.
- *
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS(CMmDocument) : public CAknDocument
-	{
-	
-public: // Constructors and destructor
-
-	/**
-	 * Two-phased constructor.
-	 * Construct a CMatrixMenuDocument for the AVKON application aApp
-	 * using two phase construction, and return a pointer
-	 * to the created object.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 * @return A pointer to the created instance of CMmDocument.
-	 */
-	static CMmDocument* NewL( CEikApplication& aApp );
-
-	/**
-	 * Two-phased constructor.
-	 * Construct a CMatrixMenuDocument for the AVKON application aApp
-	 * using two phase construction, and return a pointer
-	 * to the created object.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 * @return A pointer to the created instance of CMmDocument.
-	 */
-	static CMmDocument* NewLC( CEikApplication& aApp );
-
-	/**
-	 * Virtual Destructor.
-	 * 
-	 * @since S60 v5.0
-	 */
-	virtual ~CMmDocument();
-
-public: // Functions from base classes
-
-	/**
-	 * From CEikDocument, CreateAppUiL.
-	 * Create a CMmAppUi object and return a pointer to it.
-	 * The object returned is owned by the Uikon framework.
-	 * 
-     * @since S60 v5.0
-	 * @return Pointer to created instance of AppUi.
-	 */
-	CEikAppUi* CreateAppUiL();
-	
-private: // Constructors
-
-	/**
-	 * 2nd phase constructor.
-	 * 
-	 * @since S60 v5.0
-	 */
-	void ConstructL();
-
-	/**
-	 * C++ default constructor.
-	 * 
-	 * @since S60 v5.0
-	 * @param aApp Application creating this document.
-	 */
-	CMmDocument( CEikApplication& aApp );
-
-	};
-
-#endif // C_MMDOCUMENT_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/inc/mmgui.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007-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 headers for project matrixmenu
-*
-*/
-
-
-#ifndef MMGUI_HRH
-#define MMGUI_HRH
-
-#include "mmguiuid.hrh"
-
-/**
- * matrixmenu enumerate command codes.
- * 
- * @since S60 v5.0
- */
-enum TMmOptionsMenuIds
-	{
-	EMmOptionsExit = 0x6001 // start value must not be 0
-	};
-
-/** 
- * Toolbar button control IDs.
- * 
- * @since S60 v5.0
- */
-enum TMmToolbarControlIds
-    {
-    // zero based indices to bind button IDs to their positions on toolbar,
-    // now we can query HN for a button model using this enumeration
-    EMmToolbarControl1 = 0,
-    EMmToolbarControl2,
-    EMmToolbarControl3
-    };
-
-#endif // MMGUI_HRH
--- a/menufw/menufwui/matrixmenu/inc/mmguiconstants.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Constants for the matrixmenu
-*
-*/
-
-
-#ifndef MMGUICONSTANTS_H
-#define MMGUICONSTANTS_H
-
-#include "mmguiuid.hrh"
-
-// UID for the application,
-// this should correspond to the uid defined in the mmp file
-const TUid 	KUidMatrixMenuApp = { _MATRIX_UID3 };
-
-// fixed menu items position multiplier
-const TInt KMenuPosMultiplier( 100 );
-// supported number of buttons in toolbar
-const TInt KNumOfButtonsInToolbar( 3 );
-
-// used for exiting Matrix
-const TInt KPhoneAppUid( 0x100058B3 );
-
-// EMHU-7KW9WM 
-const TInt KVideoCallAppUid( 0x101F8681 );  
-// used for initializing Matrix
-_LIT8( KParamSuiteName8,                 "suite_name" );
-_LIT ( KParamFolderSuite,                "foldersuite" );
-_LIT8( KParamFolderId8,                  "folder_id" );
-_LIT8( KParamRemoveLocked8, 			 "remove_locked" );
-const TInt32 KParamFolderId( 1 );
-_LIT8( KParamMoveLocked8,                "move_locked" );
-_LIT ( KParamFalse,                      "false" );
-
-#endif // MMGUICONSTANTS_H
--- a/menufw/menufwui/matrixmenu/inc/mmguiuid.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2007-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:  UID of the application
-*
-*/
-
-
-#ifndef MMGUIUID_HRH
-#define MMGUIUID_HRH
-
-#define _MATRIX_UID3 0x101F4CD2
-
-#endif // MMGUIUID_HRH
--- a/menufw/menufwui/matrixmenu/inc/mmnomemory.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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: Subscribes properties from P&S
-*
-*/
-
-#ifndef CMMNOMEMORY_H
-#define CMMNOMEMORY_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-
-/**
-
- *  An active object for generating a message.
- *
- *  It generates an appropriate message for user
- *  when Matrix Menu is out of memory.
- *
- *  @since S60 v5.0
- *  @ingroup group_matrixmenu
- */
-NONSHARABLE_CLASS( CMmNoMemory ) : public CActive
-    {
-public:
-    ~CMmNoMemory();
-
-    static CMmNoMemory* NewL();
-
-    static CMmNoMemory* NewLC();
-
-public:
-    // New functions
-	
-    /*
-     * Submit a service request.
-     * It completes on iStatus to generate an event.
-     */
-    void Start();
-
-private:
-    CMmNoMemory();
-
-    void ConstructL();
-
-private:
-    // From CActive
-    
-    /**
-     * Handle completion.
-     * It leaves (KErrNoMemory) to generate an appropriate message.
-     */
-    void RunL();
-
-    void DoCancel();
-
-    TInt RunError(TInt aError);
-
-private:
-    };
-
-#endif // CMMNOMEMORY_H
--- a/menufw/menufwui/matrixmenu/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2007-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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "matrixmenu.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menufwui/matrixmenu/loc/matrix_menu.loc	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Localization strings for project matrixmenu
-*
-*/
-
-
-
-CHARACTER_SET UTF8
-
-//d: Title of the main view (root suite).
-//d: Displayed in Status Pane.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_menu_title "Menu"
-
-//d: Title of a root folder in Edit Mode.
-//d: Displayed in Status Pane.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_org_root_editing_title "Organizing Menu"
-
-//d: Title of a folder in Edit Mode.
-//d: Displayed in Status Pane. %U is the name of the opened folder.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_org_folder_editing_title "Organizing %U"
-
-//d: Label of the menu item.
-//d: Opens selected item.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_menu_open "Open"
-
-//d: Label of the menu item.
-//d: Displayed when we are in grid and list wiev is available.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_skins_list_appshell_list "Change to list"
-
-//d: Label of the menu item.
-//d: Displayed when we are in list and grid wiev is available.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_skins_list_appshell_grid "Change to grid"
-
-//d: Label of the submenu item.
-//d: Enables the item to be moved using rocker keys.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_move "Move"
-
-//d: Label of the submenu item.
-//d: Opens "Move to folder" dialog.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_move_to_folder "Move to folder"
-
-//d: Label of the submenu item.
-//d: Displays "New Folder" dialog.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_org_new_folder "New folder"
-
-//d: Label of the submenu item.
-//d: Deletes an empty folder or uninstalls an application.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_delete "Delete"
-
-//d: Label of the submenu item.
-//d: Renames an existing folder.
-//l: list_single_popup_submenu_pane_t1
-//r: 1.0
-#define qtn_options_sub_rename "Rename"
-
-//d: Label of the menu item.
-//d: Starts edit mode.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_menu_organize "Edit"
-
-//d: Label of the menu item.
-//d: Opens "Move to folder" dialog in non-touch.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_sub_options_org_move_to_folder "Move to folder"
-
-//d: Label of the submenu item.
-//d: Opens "Move to folder" dialog in touch Edit Mode.
-//l: list_single_pane_t1_cp2
-//r: 1.0
-#define qtn_popup_options_move_to_folder "Move to folder"
-
-//d: Text of the message.
-//d: Displayed if an item already stored in selected folder.
-//l: popup_note_window
-//r: 1.0
-#define qtn_apps_note_item_already_stored "Item already stored in selected folder"
-
-//d: Summary of the item moving.
-//d: Displayed after successful move.
-//d: %0U - name of the moved item, %1U - name of the destination folder.
-//l: popup_note_window
-//r: 1.0
-#define qtn_apps_note_move_to_folder "'%0U' moved to '%1U'"
-
-//d: Default text of the empty folder.
-//d: Displayed when empty folder is open.
-//l: main_list_empty_pane
-//r: 1.0
-#define qtn_menu_empty_folder "Empty folder"
-
--- a/menufw/menufwui/matrixmenu/rom/matrixmenu.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXMENU_IBY
-#define MATRIXMENU_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-S60_APP_EXE( matrixmenu )
-data=DATAZ_\RESOURCE_FILES_DIR\apps\matrixmenu.mif	RESOURCE_FILES_DIR\apps\matrixmenu.mif
-
-S60_UPGRADABLE_APP_REG_RSC ( matrixmenu )
-
-// Backup registration
-data=DATAZ_\private\101F4CD2\backup_registration.xml	private\101F4CD2\backup_registration.xml
-
-#endif // MATRIXMENU_IBY
--- a/menufw/menufwui/matrixmenu/rom/matrixmenu_resources.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXMENURESOURCES_IBY
-#define MATRIXMENURESOURCES_IBY
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE( matrixmenu )
-
-#endif // MATRIXMENURESOURCES_IBY
-
-// End of File 
--- a/menufw/menufwui/matrixmenu/src/mmappkeyhandler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* 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:  Application UI class
-*  Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmappkeyhandler.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler::CMmAppkeyHandler() :
-	CActive(EPriorityIdle) // Standard priority
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler* CMmAppkeyHandler::NewLC()
-	{
-	CMmAppkeyHandler* self = new (ELeave) CMmAppkeyHandler();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler* CMmAppkeyHandler::NewL()
-	{
-	CMmAppkeyHandler* self = CMmAppkeyHandler::NewLC();
-	CleanupStack::Pop(); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::ConstructL()
-	{
-	CActiveScheduler::Add(this); // Add to scheduler
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmAppkeyHandler::~CMmAppkeyHandler()
-	{
-	Cancel(); // Cancel any request, if outstanding
-//	 Delete instance variables if any
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::DoCancel()
-	{
-//	no implementation.
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::StartL()
-	{
-	Cancel(); //just in case
-	iStatus = KRequestPending;
-	SetActive(); // Tell scheduler a request is active
-	TRequestStatus* status = &iStatus;
-	User::RequestComplete( status, KErrNone );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmAppkeyHandler::RunL()
-	{
-//	do nothing
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppkeyHandler::RunError(TInt aError)
-	{
-	return aError;
-	}
--- a/menufw/menufwui/matrixmenu/src/mmapplication.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application class
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "mmgui.hrh"
-#include "mmdocument.h"
-#include "mmapplication.h"
-#include "mmguiconstants.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CMmApplication::CreateDocumentL()
-	{
-	// Create a Matrix Menu document, and return a pointer to it
-	return ( static_cast<CApaDocument*>
-					( CMmDocument::NewL( *this ) ) );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TUid CMmApplication::AppDllUid() const
-	{
-	// Return the UID for the Matrix Menu application
-	return KUidMatrixMenuApp;
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmappui.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3016 +0,0 @@
-/*
-* 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:  Application UI class
-*  Version     : %version: MM_176.1.28.1.61 % << Don't touch! Updated by Synergy at check-out.
-*  Version     : %version: MM_176.1.28.1.61 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <avkon.hrh>
-#include <avkon.rsg>
-#include <akntitle.h>
-#include <eikmenub.h>
-#include <akntoolbar.h>
-#include <aknbutton.h>
-#include <e32hashtab.h>
-#include <layoutmetadata.cdl.h>
-#include <gulicon.h>
-#include <fbs.h>
-#include <eikcmbut.h>
-#include <hlplch.h>
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <activeidle2domainpskeys.h>
-#include <UikonInternalPSKeys.h>
-#include <e32property.h>
-#include <AknTaskList.h>
-#include <AknSgcc.h>                           // for transition effects
-#include <featmgr.h>
-#include <matrixmenu.rsg>
-#include <akntabgrp.h>
-#include <apgcli.h>
-#include <AknDef.hrh>
-#include <AknDlgShut.h>
-#include <mmenuinternalPSkeys.h>
-#include <aknstyluspopupmenu.h> //stylus popup for long tap event
-
-#include "mmgui.hrh"
-#include "mmguiconstants.h"
-#include "mmappui.h"
-#include "menudebug.h"
-#include "hnengine.h"
-#include "hnglobals.h"
-#include "hnsuitemodelcontainer.h"
-#include "hnmenuitemmodel.h"
-#include "hntoolbarmodel.h"
-#include "hnbuttonmodel.h"
-#include "hnitemmodel.h"
-#include "hnconvutils.h"
-#include "hnsuitemodel.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "mmwidgetcontainer.h"
-#include "mmtemplatelibrary.h"
-#include "mmextensionmanager.h"
-#include "hnitemsorder.h"
-
-#include "mmnomemory.h"
-#include "mmappkeyhandler.h"
-
-enum TMenuTransEffectContext
-    {
-    EMenuOpenFolderEffect = 1001,
-    EMenuCloseFolderEffect = 1002
-    };
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ConstructL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::ConstructL IN"));
-    MMPERF(("Test Logger speed..."));
-    MMPERF(("Test Logger speed - DONE"));
-    MMPERF(("GO!"));
-
-    //set matrix to be system app
-    iEikonEnv->SetSystem( ETrue );
-
-    TInt appUiFlags = AknLayoutUtils::PenEnabled() ?
-    	EAknEnableSkin | EAknSingleClickCompatible :
-        EAknEnableSkin | EAknEnableMSK;
-    BaseConstructL( appUiFlags );
-
-    FeatureManager::InitializeLibL();
-    iIsKastorEffectStarted = EFalse;
-    StartLayoutSwitchFullScreen( AknTransEffect::EApplicationStart );
-
-    RefreshUiPanesL( ETrue );
-    Cba()->MakeVisible( EFalse );
-    StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-
-    iDummyTemplateLib = CMmTemplateLibrary::NewL();
-    iDummyContainer = CMmWidgetContainer::NewGridContainerL( ClientRect(),
-            this, iDummyTemplateLib );
-    iDummyContainer->SetEmptyTextL( KNullDesC );
-    AddToStackL( iDummyContainer, ECoeStackPriorityDefault,
-            ECoeStackFlagRefusesFocus | ECoeStackFlagRefusesAllKeys );
-    iDummyContainer->MakeVisible( ETrue );
-    iDummyContainer->DrawNow();
-
-    iHNInterface = CHnEngine::NewL( *this );
-    iTemplateLibrary = CMmTemplateLibrary::NewL();
-    InitializeL();
-
-    iMmExtManager = CMMExtensionManager::NewL( *this );
-
-    iScreenOn = ETrue;
-    iSkinChangeNeeded = EFalse;
-    iSkinChangeInProgress = EFalse;
-    iHasFocus = ETrue;
-
-    iSkinSrvSession.Connect(this);
-    iAppkeyHandler = CMmAppkeyHandler::NewL();
-
-    RProperty::Define( KMMenuPSCat, KMMenuLastViewKey, RProperty::EText );
-
-    MMPERF(("CMmAppUi::ConstructL - HN ready"));
-    DEBUG(("_Mm_:CMmAppUi::ConstructL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::IsRootdisplayedL()
-    {
-    TBool ret( EFalse );
-    if( iHNInterface && iHNInterface->GetSuiteModelsCountL() == KModelCountForRoot )
-        {
-        ret = ETrue;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmAppUi::CMmAppUi()
-    {
-    // No implementation required
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmAppUi::~CMmAppUi()
-    {
-    DEBUG(("_Mm_:CMmAppUi::~CMmAppUi IN"));
-
-    delete iOutOfMemoryHandler;
-    if (iCurrentSuiteModel)
-        {
-        iCurrentSuiteModel->UnregisterSuiteObserver( this );
-        }
-    delete iToolbar;
-    iCascadeMenuMap.Close();
-    RemoveFromStack( iCurrentContainer );
-    RemoveFromStack( iDummyContainer );
-    iDummyContainer->MakeVisible( EFalse );
-    delete iDummyContainer;
-    ResetContainerMap();
-    iGarbage.ResetAndDestroy();
-    delete iHNInterface;
-    FeatureManager::UnInitializeLib();
-    delete iMmExtManager;
-    delete iTemplateLibrary;
-    delete iDummyTemplateLib;
-    delete iAppkeyHandler;
-    delete iPopupMenu;
-    iSkinSrvSession.Close();
-
-    MMPERF(("Matrix closed"));
-    DEBUG(("_Mm_:CMmAppUi::~CMmAppUi OUT"));
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-
-    //we're interested in layout change events
-    //only if container is available
-    if ( aType == KEikDynamicLayoutVariantSwitch &&
-            iCurrentContainer && iCurrentSuiteModel )
-        {
-        MMPERF(("Layout change START"));
-        // Do not call StartLayoutSwitchFullScreen(),
-        // layout switch effect is started automatically
-        iIsKastorEffectStarted = ETrue;
-        TInt lastItemIndex = iCurrentContainer->NumberOfItems() - 1;
-
-        if ( lastItemIndex >= 0 && iCurrentContainer->ItemIsFullyVisible( lastItemIndex ) &&
-        		!iCurrentContainer->IsHighlightVisible() )
-        	{
-        	iCurrentContainer->SetManualHighlightL( lastItemIndex, EFalse );
-        	}
-
-        iCurrentContainer->SetRect( ClientRect() );
-        iDummyContainer->SetRect( ClientRect() );
-
-        THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-        while( iterator.NextKey() )
-            {
-            CMmWidgetContainer* container = *iterator.CurrentValue();
-            if ( container != iCurrentContainer )
-                {
-                container->SetRect( ClientRect() );
-                container->HandleResourceChange( aType );
-                }
-            }
-        ShowSuiteL();
-        EndFullScreen();
-        MMPERF(("Layout change END"));
-        }
-
-    if ( aType == KEikMessageFadeAllWindows && iCurrentContainer )
-        {
-        iCurrentContainer->SetIsFaded( ETrue );
-        }
-    else if ( aType == KEikMessageUnfadeWindows && iCurrentContainer )
-        {
-        iCurrentContainer->SetIsFaded( EFalse );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::ProcessCommandParametersL( TApaCommand aCommand,
-                                                TFileName& aDocumentName,
-                                                const TDesC8& aTail )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ProcessCommandParametersL IN"));
-    DEBUG8(("\t_Mm_:tail: %S", &aTail));
-
-    if ( aTail.Length() )
-        {
-        DEBUG(("\t_Mm_:call HandleMessageL"));
-        HandleMessageL( aTail );
-        }
-
-    TBool result = CEikAppUi::ProcessCommandParametersL( aCommand,
-                                                    aDocumentName,
-                                                    aTail );
-
-    MMPERF(("Matrix started and ready!"));
-    DEBUG(("_Mm_:CMmAppUi::ProcessCommandParametersL OUT"));
-    return result;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ProcessCommandL(TInt aCommand)
-    {
-    TBool ignoreCommand = EFalse;
-
-    // ignore options click in edit mode and intermediate states for non-touch
-    if ( aCommand == EAknSoftkeyOptions && iEditModeStatus != ENoEditMode &&
-            !AknLayoutUtils::PenEnabled() )
-        {
-        ignoreCommand = ETrue;
-        }
-
-    // ignore keyselect for non-touch while in edit mode or stopping edit mode
-    if ( aCommand == KKeyIdSelect && !AknLayoutUtils::PenEnabled() &&
-            ( iEditModeStatus == ETransitionFromEditMode || IsEditMode() ) )
-        {
-        ignoreCommand = ETrue;
-        }
-
-    if ( !ignoreCommand )
-        {
-        CAknAppUi::ProcessCommandL( aCommand );
-        }
-
-    if ( iCurrentContainer )
-    	{
-    	iCurrentContainer->EndLongTapL();
-    	}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ProcessMessageL( TUid /*aUid*/, const TDesC8& aParams )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ProcessMessageL IN"));
-    DEBUG8(("\t_Mm_:params: %S", &aParams));
-    MMPERF(("APA Message Recieved"));
-
-    // fix for the CR 417-35490
-    // Handle empty message sends by AVKON after app key press or switch
-    // to Menu via task swapper.
-    if( !aParams.Compare( KNullDesC8 ) )
-        {
-        if ( !iAppkeyHandler->IsActive() )
-        	{
-            //make dummy container visible when returning
-            //to menu by AppKey
-        	iDummyContainer->MakeVisible( ETrue );
-            RefreshUiPanesL( ETrue );
-            iCurrentContainer->MakeVisible( EFalse );
-            iDummyContainer->DrawNow();
-            CleanupForExitL( EExitKeyApplication );
-			User::LeaveIfError( iCoeEnv->WsSession().SetWindowGroupOrdinalPosition(
-						CEikonEnv::Static()->RootWin().Identifier(), 0 ) );
-			iAppkeyHandler->StartL();
-        	}
-        }
-
-    // first refresh model, show afterwords
-    if ( aParams.Length() )
-        {
-        DEBUG(("\t_Mm_:call HandleMessageL"));
-        HandleMessageL( aParams );
-        }
-
-    MMPERF(("APA Message Processed"));
-    DEBUG(("_Mm_:CMmAppUi::ProcessMessageL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-MCoeMessageObserver::TMessageResponse CMmAppUi::HandleMessageL(
-         TUint32 aClientHandleOfTargetWindowGroup,
-         TUid aMessageUid,
-         const TDesC8& aMessageParameters )
-    {
-    if ( aMessageUid.iUid == KUidApaMessageSwitchOpenFileValue )
-        {
-        ProcessMessageL( aMessageUid, aMessageParameters );
-        return EMessageHandled;
-        }
-    else
-        {
-        return CAknAppUi::HandleMessageL(
-                aClientHandleOfTargetWindowGroup,
-                aMessageUid,
-                aMessageParameters );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleCommandL( TInt aCommand )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleCommandL IN"));
-    DEBUG(("\t_Mm_:aCommand: %d",aCommand));
-
-    // in case something has gone wrong
-    ClearTransitionFromEditModeFlag();
-
-    switch( aCommand )
-        {
-        case EEikCmdExit:
-            {
-            DEBUG(("\t_Mm_:EEikCmdExit"));
-            // Simply exit
-            Exit();
-            }
-            break;
-
-        case EMmOptionsExit:
-            {
-            MMPERF(("Options->Exit pressed"));
-            DEBUG(("\t_Mm_:EMmOptionsExit"));
-
-            //Check if it is a folder suite.If Yes really exit.
-            //Otherwise behave like LSK.
-            if( iCurrentSuiteModel &&
-                iCurrentSuiteModel->SuiteName().Compare( KFolderSuite) )
-                {
-                if( iCurrentSuiteModel->ExitMode() == EExitModeHide )
-                    {
-                    // hide and reset menu
-                    TApaTaskList taskList( iCoeEnv->WsSession() );
-                    TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-                    me.SendToBackground();
-                    CleanupForExitL( EExitKeyApplication );
-                    }
-                else
-                    {
-                    StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-                    HandleBackCommandL();
-                    }
-                }
-            else
-                {
-                ExitMatrix( EExitReally );
-                }
-            }
-            break;
-
-        case EAknSoftkeyExit:
-            {
-            MMPERF(("SoftkeyExit pressed"));
-            DEBUG(("\t_Mm_:EAknSoftkeyExit"));
-            ExitMatrix( EExitToPhone );
-            }
-            break;
-
-        case EAknSoftkeyBack:
-            {
-            StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-
-            if( iCurrentSuiteModel && iCurrentSuiteModel->ExitMode() == EExitModeHide )
-                {
-                // hide and reset menu
-                TApaTaskList taskList( iCoeEnv->WsSession() );
-                TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-                me.SendToBackground();
-                if ( iCurrentContainer )
-                    {
-                    iCurrentContainer->MakeVisible( EFalse );
-                    }
-                iDummyContainer->MakeVisible( ETrue );
-                RefreshCbaL();
-                iDummyContainer->DrawNow();
-                CleanupForExitL( EExitKeyApplication );
-                }
-            else if( iCurrentSuiteModel )
-                {
-                HandleBackCommandL();
-                }
-            }
-            break;
-
-        case EAknSoftkeyOk:
-        case EAknSoftkeyDone:
-            {
-            ASSERT( IsEditMode() );
-            SetEditModeL( EFalse );
-            }
-            break;
-        default:
-            {
-            ForwardEventToHNL( aCommand );
-            }
-            break;
-        }
-    DEBUG(("_Mm_:CMmAppUi::HandleCommandL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleBackCommandL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleBackCommandL IN"));
-    MMPERF(("CMmAppUi::HandleBackCommandL - START"));
-    DEBUG16(("\t_Mm_:current genre: %S",&iCurrentSuiteModel->SuiteName()));
-
-    iDummyContainer->MakeVisible( ETrue );
-    RefreshUiPanesL( ETrue );
-    iCurrentContainer->MakeVisible( EFalse );
-    iDummyContainer->DrawNow();
-
-    iHNInterface->HandleBackEventL( iCurrentSuiteModel->SuiteName() );
-
-    MMPERF(("CMmAppUi::HandleBackCommandL - DONE"));
-    DEBUG(("_Mm_:CMmAppUi::HandleBackCommandL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmWidgetContainer* CMmAppUi::GetAppropriateContainerToLoadL()
-    {
-    CMmWidgetContainer* retContainer = NULL;
-    if ( iCurrentSuiteModel )
-        {
-        TInt currentSuiteId = iCurrentSuiteModel->GetItemsOrder()->GetSuiteId();
-
-        CMmWidgetContainer** ret = iContainerMap.Find( currentSuiteId );
-        retContainer = (ret) ? *ret : NULL;
-
-        if ( ret && (*ret)->WidgetType() != iCurrentSuiteModel->WidgetType() )
-            {
-            iMakeHightlightedItemFullyVisible = ETrue;
-            iGarbage.AppendL( *ret );
-            iContainerMap.Remove(
-                    iCurrentSuiteModel->GetItemsOrder()->GetSuiteId() );
-            retContainer = NULL;
-            }
-        }
-    return retContainer;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ShowSuiteL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::ShowSuiteL IN"));
-//    DEBUG16(("\t_Mm_:current genre: %S", &iCurrentSuiteModel->SuiteName()));
-
-    if ( iCurrentSuiteModel )
-        {
-        CMmWidgetContainer* containerToLoad = GetAppropriateContainerToLoadL();
-        TBool makeHandlePresentationChange( ETrue );
-
-        if (!containerToLoad)
-            {
-            makeHandlePresentationChange = CreateNewContainerL(
-                    iCurrentSuiteModel, containerToLoad );
-            }
-
-        if( makeHandlePresentationChange )
-            {
-            HandlePresentationChangeL( containerToLoad );
-            }
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ShowSuiteL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::CreateNewContainerL(
-        CHnSuiteModel* aSuiteModel, CMmWidgetContainer*& aContainerToLoad )
-    {
-    TRect rect = ClientRect();
-    switch( aSuiteModel->WidgetType() )
-        {
-        case ECoverFlowWidget :
-        case EGridWidget :
-            aContainerToLoad = CMmWidgetContainer::NewGridContainerL(
-                    rect, this, iTemplateLibrary );
-            break;
-        case EListWidget :
-            aContainerToLoad = CMmWidgetContainer::NewListBoxContainerL(
-                    rect, this, iTemplateLibrary );
-            break;
-        case EUnspecified:
-        default:
-            return EFalse;
-        }
-    aContainerToLoad->SetLongTapObserver(this);
-    aContainerToLoad->HandleItemAdditionL();
-    iContainerMap.InsertL(
-            aSuiteModel->GetItemsOrder()->GetSuiteId(),
-            aContainerToLoad );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ForwardEventToHNL( TInt aEvent, TInt aItemId,
-        CLiwGenericParamList* aEventParams )
-    {
-    DEBUG(("\t_Mm_:event ID: %d for item ID %d", aEvent, aItemId));
-
-    TInt id = iCurrentSuiteModel->IdByIndex( aItemId );
-    if ( id >= 0 )
-        {
-        MMPERF(("Handling event %d for item %d - START",aEvent,aItemId));
-
-        if( aEvent == KKeyIdSelect )
-            {
-            MMPERF(("This is a 'select' event"));
-
-            TInt modelId = iCurrentSuiteModel->IdByIndex( aItemId );
-            CHnItemModel* itemModel =
-                iCurrentSuiteModel->GetItemModel( modelId );
-            TInt effect = GetKastorEffectL( itemModel );
-            TRect rect = GetKastorRectL( itemModel, aItemId );
-            TUid appUid = itemModel->GetItemType() == EItemTypeApplication ?
-                itemModel->GetItemUid() : KUidMatrixMenuApp;
-
-            if (iScreenOn && IsForeground() && effect
-                    != AknTransEffect::ENone)
-                {
-                DEBUG(("_MM_:CMmAppUi::ForwardEventToHNL Foreground"));
-                GfxTransEffect::BeginFullScreen(
-                     effect, rect,
-                     AknTransEffect::EParameterType,
-                     AknTransEffect::GfxTransParam( appUid ) );
-                }
-            }
-
-        iHNInterface->TriggerHnEventL( aEvent, id, aEventParams );
-        MMPERF(("Handling event - END"));
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::GetKastorEffectL( CHnItemModel* aItemModel )
-	{
-	TInt effect( AknTransEffect::ENone );
-    if ((IsEditMode() || iEditModeStatus == ETransitionFromEditMode)
-            && !AknLayoutUtils::PenEnabled())
-        {
-        return effect;
-        }
-	switch( aItemModel->GetItemType() )
-		{
-		case EItemTypeApplication:
-			{
-			if( !IsEditMode() && !aItemModel->IsDrmExpired() )
-				{
-				if( aItemModel->IsRunning() )
-					{
-					effect = AknTransEffect::EApplicationStartSwitchRect;
-					}
-				else
-					{
-					effect = AknTransEffect::EApplicationStartRect;
-					}
-				}
-			break;
-			}
-		case EItemTypeSuite:
-			{
-			if( !IsEditMode() )
-				{
-				effect = EMenuOpenFolderEffect;
-				iIsKastorEffectStarted = ETrue;
-				}
-			break;
-			}
-		case EItemTypeParentFolder:
-		    {
-            effect = EMenuCloseFolderEffect;
-            iIsKastorEffectStarted = ETrue;
-		    break;
-		    }
-		case EItemTypeFolder:
-			{
-			if (!(IsEditMode() && aItemModel->IsDeleteLocked()))
-                {
-                effect = EMenuOpenFolderEffect;
-                iIsKastorEffectStarted = ETrue;
-                }
-			break;
-			}
-		case EItemTypeUnknown:
-		default:
-			{
-			effect = AknTransEffect::ENone;
-			break;
-			}
-		}
-    return effect;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TRect CMmAppUi::GetKastorRectL( CHnItemModel* aItemModel, TInt aItemId )
-    {
-    TRect rect = TRect();
-    if( aItemModel->GetItemType() == EItemTypeApplication )
-        {
-        rect = iCurrentContainer->GetItemRectL( aItemId );
-        RRegion region; CleanupClosePushL( region );
-        StatusPane()->GetShapeL( region, true, true );
-        TInt statusPaneHeight = region.BoundingRect().Height();
-        rect.iBr.iY += statusPaneHeight;
-        rect.iTl.iY += statusPaneHeight;
-        CleanupStack::PopAndDestroy( &region );
-        }
-    return rect;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ForwardEventToHNL( TInt aEvent )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ForwardEventToHNL IN"));
-    DEBUG(("\t_Mm_:event ID: %d", aEvent));
-
-    if ( iCurrentContainer )
-        {
-        TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-                iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-        TInt current = idByContainer ?
-             iCurrentContainer->GetHighlight():
-             iCurrentContainer->GetSuiteModelL()->GetSuiteHighlight();
-        ForwardEventToHNL( aEvent, current );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ForwardEventToHNL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::NotifyUiRefreshL( const THnUiRefreshType aRefreshType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL IN"));
-    DEBUG(("\t_Mm_:refresh type: %d", aRefreshType));
-
-    switch (aRefreshType)
-        {
-        case ERefreshSuite:
-            TRAPD( err, ShowSuiteL() );
-            if ( KErrNoMemory == err )
-                {
-                HandleOutOfMemoryL();
-                User::Leave( KErrNoMemory );
-                }
-            break;
-        case ERefreshToolbar:
-            RefreshToolbarL();
-            break;
-        case EStartEditMode:
-            SetEditModeL( ETrue );
-            break;
-        case EStopEditMode:
-            SetEditModeL( EFalse );
-            break;
-        case EForegroundGain:
-            {
-            DEBUG(("_MM_:CMmAppUi::NotifyUiRefreshL Foreground"));
-            TApaTaskList taskList( iCoeEnv->WsSession() );
-            TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-            me.BringToForeground();
-            }
-            break;
-        case EBackgroundGain:
-            {
-            DEBUG(("_MM_:CMmAppUi::NotifyUiRefreshL Foreground"));
-            TApaTaskList taskList( iCoeEnv->WsSession() );
-            TApaTask me = taskList.FindApp( KUidMatrixMenuApp );
-            me.SendToBackground();
-            }
-            break;
-        case ELightOn:
-            {
-            DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL - ELightOn"));
-            iScreenOn = ETrue;
-            if ( IsForeground() && iCurrentSuiteModel )
-                {
-                iCurrentSuiteModel->SetVisibleL( ETrue );
-                }
-            if ( iCurrentContainer )
-                {
-                iCurrentContainer->HandleForegroundGainedL();
-                }
-            }
-            break;
-        case ELightOff:
-            {
-            DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL - ELightOff"));
-            iScreenOn = EFalse;
-            if (iCurrentContainer)
-                {
-                iCurrentContainer->HandleBackgroundGainedL();
-                if (IsEditMode() && iCurrentContainer->IsDraggable())
-                    {
-                    iCurrentContainer->CancelDragL(EFalse);
-                    }
-                }
-            if (iCurrentSuiteModel)
-                {
-                iCurrentSuiteModel->SetVisibleL(EFalse);
-                }
-
-            }
-            break;
-        case ERemoveLiwObjects:
-            {
-            THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-            while( iterator.NextKey() )
-                {
-                CMmWidgetContainer** container = iterator.CurrentValue();
-                (*container)->RemoveLiwObjects();
-                }
-            }
-            break;
-        default:
-            ASSERT( false );
-        }
-    DEBUG(("_Mm_:CMmAppUi::NotifyUiRefreshL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshToolbarL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::RefreshToolbarL IN"));
-    HandleToolbarVisibilityL();
-    UpdateToolbarL();
-    DEBUG(("_Mm_:CMmAppUi::RefreshToolbarL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshUiPanesL( TBool aReset )
-    {
-    // refresh status pane
-    CAknTitlePane* titlePane =
-        static_cast<CAknTitlePane*>(
-                StatusPane()->ControlL(
-                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-
-    if( aReset )
-        {
-        titlePane->SetTextL( KNullDesC );
-        }
-    else
-        {
-        if ( IsEditMode() && iCurrentSuiteModel )
-            {
-            HBufC* title = NULL;
-            if ( IsRootdisplayedL() )
-                {
-                title = StringLoader::LoadLC( R_ORG_ROOT_EDITING_TITLE );
-                }
-            else
-                {
-                title = StringLoader::LoadLC(
-                        R_ORG_FOLDER_EDITING_TITLE,
-                        iCurrentSuiteModel->Title() );
-                }
-            ASSERT( title );
-            titlePane->SetTextL( title->Des() );
-            CleanupStack::PopAndDestroy( title );
-            }
-        else if ( iCurrentSuiteModel && iCurrentContainer )
-            {
-            // refresh status pane
-            titlePane->SetTextL( iCurrentSuiteModel->Title() );
-
-            // inform AVKON about current suite to allow proper handling
-            // of AppKey and FSW
-            RProperty::Set( KMMenuPSCat, KMMenuLastViewKey, iCurrentSuiteModel->SuiteName() );
-            }
-        else
-            {
-            titlePane->SetTextL( KNullDesC );
-            }
-        }
-
-    RefreshCbaL();
-    SetMiddleSoftKeyL();
-
-    StatusPane()->DrawNow();
-    Cba()->DrawNow();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshCbaL()
-    {
-    if ( ( iDummyContainer && iDummyContainer->IsVisible() ) ||
-            !iCurrentSuiteModel )
-        {
-        // R_MENU_SOFTKEYS_EMPTY__EMPTY looks much better than
-        // R_AVKON_SOFTKEYS_EMPTY
-        Cba()->SetCommandSetL( R_MENU_SOFTKEYS_EMPTY__EMPTY );
-        }
-    else
-        {
-        if ( IsEditMode() )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                R_AVKON_SOFTKEYS_OPTIONS_DONE :
-                R_AVKON_SOFTKEYS_OK_EMPTY__OK );
-            }
-        else if ( IsRootdisplayedL() )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                 R_AVKON_SOFTKEYS_OPTIONS_EXIT :
-                 R_AVKON_SOFTKEYS_OPTIONS_EXIT__SELECT );
-            }
-        else if ( iCurrentSuiteModel &&
-                iCurrentSuiteModel->SuiteName().Compare(KParamFolderSuite) )
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                 R_MENU_SOFTKEYS_OPTIONS_BEXIT :
-                 R_MENU_SOFTKEYS_OPTIONS_BEXIT__SELECT );
-            }
-        else
-            {
-            Cba()->SetCommandSetL( AknLayoutUtils::PenEnabled() ?
-                R_AVKON_SOFTKEYS_OPTIONS_BACK :
-                R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CMmAppUi::HandleKeyPressedL( const TKeyEvent &aKeyEvent,
-            TEventCode aType )
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-
-    // handling enter key - touch & non touch
-    if ( ( aKeyEvent.iScanCode == EStdKeyEnter ||
-            aKeyEvent.iScanCode == EStdKeyNkpEnter ||
-           aKeyEvent.iScanCode == EStdKeyDevice3 ) && aType == EEventKeyDown )
-        {
-        if ( iCurrentContainer->IsHighlightVisible() )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - enter"));
-            ForwardEventToHNL( KKeyIdSelect );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    //handling enter key - non touch / edit mode
-    if ( ( aKeyEvent.iScanCode == EStdKeyEnter ||
-            aKeyEvent.iScanCode == EStdKeyDevice3 ) &&
-            aType == EEventKeyDown &&
-            IsEditMode() && !Layout_Meta_Data::IsPenEnabled() )
-        {
-        DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - enter in edit mode"));
-		HandleCommandL( EAknSoftkeyOk );
-        resp = EKeyWasConsumed;
-        }
-
-    // handle the key exactly as container does (the same conditions)
-    if ( ( aKeyEvent.iRepeats > 0 && aType == EEventKey ) ||
-            ( aKeyEvent.iRepeats == 0 && aType == EEventKeyUp ) )
-        {
-        TBool navigationEvent =
-            aKeyEvent.iScanCode == EStdKeyRightArrow ||
-            aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-            aKeyEvent.iScanCode == EStdKeyUpArrow ||
-            aKeyEvent.iScanCode == EStdKeyDownArrow;
-
-        if ( navigationEvent )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - navi event: %d",
-                aKeyEvent.iScanCode));
-            MMPERF(("Rocker navigation - START"));
-            UpdateToolbarL();
-            SetMiddleSoftKeyL();
-            resp = EKeyWasConsumed;
-            MMPERF(("Rocker navigation - END"));
-            }
-        else if ( aKeyEvent.iScanCode == EStdKeyBackspace )
-            {
-            // handle clear key event
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - clear key"));
-            ForwardEventToHNL( KKeyIdClear );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    if( aType == EEventUser )
-        {
-        if ( aKeyEvent.iScanCode == EStdKeyNull &&
-                iCurrentContainer->IsHighlightVisible() )
-            {
-            DEBUG(("_Mm_:CMmAppUi::HandleKeyPressedL - User press -> forward key:select to HN"));
-            UpdateToolbarL();
-            SetMiddleSoftKeyL();
-            ForwardEventToHNL( KKeyIdSelect );
-            resp = EKeyWasConsumed;
-            }
-        }
-
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragStartL( TInt aModelItemIndex )
-    {
-    MMPERF(("CMmAppUi::HandleDragStartL - START"));
-
-    if ( IsEditMode() )
-        {
-
-        TInt modelId = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-        if (modelId != KErrNotFound)
-            {
-            CHnItemModel *itModel = iCurrentSuiteModel->GetItemModel( modelId );
-            if (itModel->GetItemType() == EItemTypeParentFolder)
-                {
-                iCurrentContainer->CancelDragL( EFalse );
-                }
-            else
-                {
-                iItemDragged = aModelItemIndex;
-                iIdDragged = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-                }
-            }
-        }
-    MMPERF(("CMmAppUi::HandleDragStartL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragOverL( TInt /* aModelItemIndex */ )
-    {
-    MMPERF(("CMmAppUi::HandleDragOverL - START"));
-
-    MMPERF(("CMmAppUi::HandleDragOverL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDraggedIndexUpdatedL( TInt  aModelItemIndex  )
-    {
-    MMPERF(("CMmAppUi::HandleDraggedIndexUpdatedL - START"));
-    iItemDragged = aModelItemIndex;
-    MMPERF(("CMmAppUi::HandleDraggedIndexUpdatedL - STOP"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmAppUi::HandleDragStopL( TInt aModelItemIndex )
-    {
-    MMPERF(("CMmAppUi::HandleDragStopL - START"));
-    if ( IsEditMode() )
-        {
-        TInt itemId = iCurrentSuiteModel->IdByIndex( aModelItemIndex );
-        TMcsItemType typeCurr =
-            iCurrentSuiteModel->GetItemType( aModelItemIndex );
-        TBool isOverFolder = ( AknLayoutUtils::PenEnabled() &&
-            ( typeCurr == EItemTypeParentFolder || typeCurr == EItemTypeFolder ) );
-        TBool isDeleteLocked = (itemId != KErrNotFound) ?
-                    iCurrentSuiteModel->GetItemModel( itemId )->IsDeleteLocked():
-                    EFalse;
-
-        TBuf8< KMaxLength > beforeCustomId;
-        beforeCustomId.Num( KErrNotFound );
-        if ( aModelItemIndex + 1 < iCurrentContainer->NumberOfItems() )
-            {
-            beforeCustomId.Num( iCurrentSuiteModel->GetItemModel(
-                    iCurrentSuiteModel->IdByIndex( aModelItemIndex + 1 ) )->CustomId() );
-            }
-
-        TBuf8< KMaxLength > draggedCustomId;
-        draggedCustomId.Num( KErrNotFound );
-        CHnItemModel* draggedModel = iCurrentSuiteModel->GetItemModel( iIdDragged );
-        if (draggedModel)
-            {
-            draggedCustomId.Num( iCurrentSuiteModel->GetItemModel( iIdDragged )->CustomId() );
-            }
-
-        CLiwGenericParamList* eventParameters = CLiwGenericParamList::NewL();
-        CleanupStack::PushL( eventParameters );
-        CHnMdBaseKey* tempKeys = HnMdKeyFactory::CreateL(
-                HnEvent::KEventArgNamespace8(), KKeyTypeMap(), KNullDesC8() );
-        CleanupStack::PushL( tempKeys );
-
-        CHnMdBaseKey* baseKey = HnMdKeyFactory::CreateL(
-                HnEvent::KEventArgNamespace8(), KKeyTypeMap(), KNullDesC8() );
-        CleanupStack::PushL( baseKey );
-        baseKey->AddSubKeyL( HnMdKeyFactory::CreateL( HnEvent::KDroppedBefore8(),
-                KKeyTypeInteger(), beforeCustomId ) );
-        baseKey->AddSubKeyL( HnMdKeyFactory::CreateL( HnEvent::KDragged8(),
-                KKeyTypeInteger(), draggedCustomId ) );
-        CleanupStack::Pop( baseKey );
-        tempKeys->AddSubKeyL( baseKey );
-
-        tempKeys->ToGenericParamListL( *eventParameters );
-        CleanupStack::PopAndDestroy( tempKeys );
-
-        if ( iIdDragged != itemId
-                && isOverFolder && !isDeleteLocked)
-            {
-            iCurrentSuiteModel->RemoveItemL( iIdDragged );
-            if ( iItemDragged < aModelItemIndex )
-                {
-                // indices of all items after iItemDragged have been
-                // decreased when the dragged item got removed from the
-                // current suite; prevent highlighted item change
-                iCurrentSuiteModel->SetSuiteHighlightL( aModelItemIndex - 1 );
-                iCurrentContainer->SetManualHighlightL(
-                        iCurrentContainer->GetHighlight() - 1, EFalse );
-                }
-
-            iCurrentContainer->HandleItemRemovalL();
-            iCurrentContainer->CancelDragL( EFalse );
-
-            if( typeCurr == EItemTypeParentFolder )
-                {
-                StartLayoutSwitchFullScreen( EMenuCloseFolderEffect );
-                }
-            else
-                {
-                StartLayoutSwitchFullScreen( EMenuOpenFolderEffect );
-                }
-            iHNInterface->TriggerHnEventL( KKeyIdMoveInto, itemId, eventParameters );
-            iMakeHightlightedItemFullyVisible = ETrue;
-            }
-        else if ( iIdDragged == itemId )
-            {
-            iCurrentContainer->CancelDragL( ETrue );
-            TBool result = iHNInterface->TriggerHnEventL( KKeyIdMove, itemId, eventParameters );
-            // fix for: edit->move, then LSK->Up->LSK->LSK FAST... (short options show up)
-            if ( result != KErrNone && !AknLayoutUtils::PenEnabled() )
-				{
-				CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-				TLiwGenericParam command(KHnRequest, TLiwVariant( KEvaluateMdModel));
-				paramList->AppendL(command);
-				HandleRequestL(*paramList);
-				CleanupStack::PopAndDestroy(paramList);
-				}
-            }
-        else
-            {
-            iCurrentContainer->CancelDragL( ETrue );
-            if (!AknLayoutUtils::PenEnabled())
-                {
-                CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-                TLiwGenericParam command(KHnRequest, TLiwVariant( KEvaluateMdModel));
-                paramList->AppendL(command);
-                HandleRequestL(*paramList);
-                CleanupStack::PopAndDestroy(paramList);
-                }
-            }
-
-        CleanupStack::PopAndDestroy( eventParameters );
-        }
-    MMPERF(("CMmAppUi::HandleDragStopL - STOP"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleEventDraggingActionedL()
-    {
-    SetMiddleSoftKeyL();
-    UpdateToolbarL();
-    iKeyClickLocked = ETrue;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleListBoxEventL( CEikListBox* /*aListBox*/,
-        MEikListBoxObserver::TListBoxEvent aEventType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleListBoxEventL IN"));
-    DEBUG(("\t_Mm_: aEventType = %d", (TInt) aEventType ) );
-
-    TInt currentHighlight = iCurrentContainer->GetHighlight();
-
-    DEBUG(("\t_Mm_: CurrentHighlight = %d", currentHighlight ) );
-
-    if ( aEventType == MEikListBoxObserver::EEventItemDraggingActioned )
-        {
-        DEBUG8(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemDraggingActioned"));
-        HandleEventDraggingActionedL();
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventPenDownOnItem )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemClicked"));
-        HandleHighlightItemPenDownL( iCurrentContainer->GetHighlight() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventItemDoubleClicked )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemDoubleClicked"));
-        HandleHighlightItemDoubleClickedL( iCurrentContainer->GetHighlight() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventItemSingleClicked )
-        {
-        DEBUG(("\t_Mm_:CMmAppUi::HandleListBoxEventL EEventItemSingleClicked"));
-        HandleHighlightItemSingleClickedL(  iCurrentContainer->Widget()->CurrentItemIndex() );
-        }
-    else if ( aEventType == MEikListBoxObserver::EEventPanningStarted )
-    	{
-    	iKeyClickLocked = ETrue;
-    	}
-
-    DEBUG(("_Mm_:CMmAppUi::HandleListBoxEventL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleLongTapEventL( const TPoint& aPenEventLocation )
-	{
-    TBool popupMenuDisplayed(EFalse);
-	if (iPopupMenu)
-    	{
-    	delete iPopupMenu;
-    	iPopupMenu = NULL;
-    	}
-    iPopupMenu = CAknStylusPopUpMenu::NewL(this,aPenEventLocation);
-
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iPopupMenu->SetPosition( aPenEventLocation,
-                CAknStylusPopUpMenu::EPositionTypeRightBottom );
-        }
-    else
-        {
-        iPopupMenu->SetPosition( aPenEventLocation,
-                CAknStylusPopUpMenu::EPositionTypeLeftBottom );
-        }
-
-    if( iCurrentSuiteModel == iHNInterface->GetLastSuiteModelL()
-    		&& iCurrentContainer->IsHighlightVisible()
-    		&& iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1 )
-    	{
-		MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
-		//fill the main menu structure, look for cascade menus
-		//reset the helper hash map
-		iCascadeMenuMap.Close();
-
-		MHnMenuItemModelIterator* menuIterator =
-			iCurrentSuiteModel->GetMenuStructureL(
-				iCurrentSuiteModel->IdByIndex(
-						iCurrentContainer->GetHighlight() ) );
-
-		// check if there is a menu structure available
-		// for the specified item
-		if ( menuIterator )
-			{
-			//create item sorting helper objects
-			RArray<TInt> positionArray;
-			CleanupClosePushL( positionArray );
-			RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-			CleanupClosePushL( menuItemMap );
-
-            while ( menuIterator->HasNextSpecific() )
-                {
-                CHnMenuItemModel* childItem = menuIterator->GetNextSpecific();
-				CEikMenuPaneItem::SData childData;
-				childData.iCommandId = childItem->Command();
-				childData.iText = childItem->NameL().
-					Left( CEikMenuPaneItem::SData::ENominalTextLength );
-				childData.iFlags = 0;
-				childData.iCascadeId = 0;
-
-				positionArray.AppendL( childItem->Position() );
-				menuItemMap.InsertL( childItem->Position(), childData );
-                }
-
-			positionArray.Sort();
-
-			//add items in correct order
-			for ( TInt i = 0; i < positionArray.Count(); ++i )
-				{
-				iPopupMenu->
-					AddMenuItemL(
-						menuItemMap.FindL( positionArray[i] ).iText,
-						menuItemMap.FindL( positionArray[i] ).iCommandId );
-				}
-
-			if (positionArray.Count()>0)
-				{
-				iPopupMenu->ShowMenu();
-				popupMenuDisplayed = ETrue;
-				}
-			CleanupStack::PopAndDestroy( &menuItemMap );
-			CleanupStack::PopAndDestroy( &positionArray );
-			}
-		MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
-		}
-
-	if ( !popupMenuDisplayed && iCurrentContainer )
-		{
-		iCurrentContainer->EndLongTapL( ETrue );
-		HandleHighlightItemSingleClickedL(
-				iCurrentContainer->Widget()->CurrentItemIndex() );
-		}
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemDoubleClickedL( TInt aIndex )
-    {
-    if ( iKeyClickLocked )
-    	return;
-
-    if ( iCurrentSuiteModel->WidgetType() == EListWidget
-        && iCurrentContainer->GetPreviousHighlight() == aIndex )
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    else if ( iCurrentSuiteModel->WidgetType() == EGridWidget
-            && IsEditMode() && iCurrentContainer->GetPreviousHighlight() == aIndex
-            && !iCurrentContainer->IsDraggable())
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemPenDownL( TInt /* aIndex */ )
-    {
-    DEBUG(("CMmAppUi::HandleHighlightItemPenDownL - IN"));
-    UpdateToolbarL();
-    SetMiddleSoftKeyL();
-    iKeyClickLocked = EFalse;
-    DEBUG(("CMmAppUi::HandleHighlightItemPenDownL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightItemSingleClickedL( TInt aIndex )
-    {
-    if ( !iKeyClickLocked && !IsFaded() )
-        {
-        ForwardEventToHNL( KKeyIdSelect, aIndex );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetContainerMap()
-    {
-    THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-    while( iterator.NextKey() )
-        {
-        CMmWidgetContainer** container = iterator.CurrentValue();
-        delete *container;
-        iterator.RemoveCurrent();
-        }
-    iContainerMap.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetContainerMapToRootL()
-    {
-    TInt err( KErrNone );
-    CHnSuiteModel* currentSuite = iHNInterface->GetLastSuiteModelL();
-
-    // there is a loaded suite configuration
-    if( currentSuite )
-        {
-        TInt id( currentSuite->GetItemsOrder()->GetSuiteId() );
-        TRAP( err, iCurrentContainer = iContainerMap.FindL( id ) );
-
-        // configuration loaded but there is no container
-        if( err != KErrNone )
-            {
-            HandleSuiteModelInitializedL( currentSuite );
-            }
-        else if( iContainerMap.Count() > 0 )
-            {
-            THashMapIter< TInt, CMmWidgetContainer* > iterator( iContainerMap );
-            while( iterator.NextKey() )
-                {
-                CMmWidgetContainer** container = iterator.CurrentValue();
-                if( iCurrentContainer != *container )
-                    {
-                    RemoveFromStack( *container );
-                    iGarbage.AppendL( *container );
-                    iterator.RemoveCurrent();
-                    }
-                }
-            }
-        }
-    else
-        {
-        ResetContainerMap();
-        InitializeL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleMessageL( const TDesC8& aMessage )
-    {
-    if( iMmExtManager )
-        {
-        iMmExtManager->ExecuteActionL(TUid::Null(), KCommandDeleteDialog, NULL );
-        }
-    if ( IsEditMode() )
-        {
-        SetEditModeL( EFalse );
-        }
-    if ( aMessage.Find( KRootWithPref ) != KErrNotFound )
-        {
-        RemoveFromStack( iCurrentContainer );
-        iDummyContainer->MakeVisible( ETrue );
-        RefreshCbaL();
-        iGarbage.ResetAndDestroy();
-        ResetContainerMap();
-	    iCurrentSuiteModel = NULL;
-	    iCurrentContainer = NULL;
-	    }
-
-    TRAPD( err, iHNInterface->LoadSuitesFromUriL( aMessage ) );
-
-    if ( err && iCurrentContainer && ( aMessage.Find( KSetFocusWithPref ) == KErrNotFound ) )
-        {
-        HandleSuiteEventL( ESuiteModelInitialized, iHNInterface->GetLastSuiteModelL() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::DynInitMenuPaneL( TInt aResourceId,
-                                 CEikMenuPane* aMenuPane )
-    {
-    aMenuPane->EnableMarqueeL( ETrue );
-    if( iCurrentSuiteModel == iHNInterface->GetLastSuiteModelL() )
-        {
-        switch ( aResourceId )
-            {
-            case R_MAIN_MENU_PANE:
-                {
-                MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
-                //fill the main menu structure, look for cascade menus
-                //reset the helper hash map
-                iCascadeMenuMap.Close();
-
-                MHnMenuItemModelIterator* menuIterator = NULL;
-                TBool ignoreItemSpecific( EFalse );
-                if ( iCurrentSuiteModel )
-                    {
-                    TInt itemId( KErrNotFound );
-                    TBool suiteModelHasItems = iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-					TBool highlightVisible = iCurrentContainer->IsHighlightVisible();
-					if ( !highlightVisible && suiteModelHasItems )
-						{
-//						if there is no highlight, but there are items, show menuitems for logically
-//						current suite highlight fetched from suite model.
-						TInt suiteHighlight = iCurrentSuiteModel->GetSuiteHighlight();
-						ASSERT( suiteHighlight != KErrNotFound );
-						itemId = iCurrentSuiteModel->IdByIndex( suiteHighlight );
-						ignoreItemSpecific = ETrue;
-						}
-					else
-						{
-	                    TBool idByContainer = highlightVisible && suiteModelHasItems;
-	                    itemId = idByContainer ?
-	                        iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-	                        iCurrentSuiteModel->IdByIndex( KErrNotFound );
-						}
-                    menuIterator = iCurrentSuiteModel->GetMenuStructureL( itemId );
-                }
-
-                // check if there is a menu structure available
-                // for the specified item
-                if ( menuIterator )
-                    {
-                    //create item sorting helper objects
-                    RArray<TInt> positionArray;
-                    CleanupClosePushL( positionArray );
-                    RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-                    CleanupClosePushL( menuItemMap );
-
-                    //get original (rss defined) items positions
-                    for ( TInt i = 0; i < aMenuPane->NumberOfItemsInPane(); ++i )
-                        {
-                        //multiply to make space for suite defined entries
-                        //first item has 100th conceptual position
-                        positionArray.AppendL( ( i + 1 ) * KMenuPosMultiplier );
-                        //store items, position as the key
-                        menuItemMap.InsertL( ( i + 1 ) * KMenuPosMultiplier,
-                            aMenuPane->
-                                ItemData( aMenuPane->MenuItemCommandId( i ) ) );
-                        }
-
-
-                    //get custom menu items and their positions
-                    while ( menuIterator->HasNext() )
-                        {
-                        CHnMenuItemModel* menuItem = menuIterator->GetNext();
-                        if ( (menuItem->MenuItemType() == CHnMenuItemModel::EItemApplication) || !ignoreItemSpecific )
-                        	{
-                        	CEikMenuPaneItem::SData menuData;
-							menuData.iCommandId = menuItem->Command();
-							menuData.iText = menuItem->NameL().
-								Left( CEikMenuPaneItem::SData::ENominalTextLength );
-							menuData.iFlags = 0;
-
-							//check for children
-							MHnMenuItemModelIterator* childIterator =
-								menuItem->GetMenuStructure();
-							if ( childIterator->HasNext() )
-								{
-								//this is a cascade item
-								//one menu item can contain only one cascade menu
-								//check if there are available cascade menu containers
-								TInt freeResource = GetNextCascadeMenuResourceId();
-								if ( freeResource != KErrNotFound )
-									{
-									//error checking
-									if( !iCascadeMenuMap.Insert( freeResource,
-																childIterator ) )
-										{
-										//add item only if there is an
-										//available resource
-										menuData.iCascadeId = freeResource;
-										}
-									}
-								}
-							else
-								{
-								//normal entry
-								menuData.iCascadeId = 0;
-								}
-							positionArray.AppendL( menuItem->Position() );
-							menuItemMap.InsertL( menuItem->Position(), menuData );
-                        	}
-                        }
-
-                    aMenuPane->Reset();
-                    positionArray.Sort();
-
-                    //add items in correct order
-                    for ( TInt i = 0; i < positionArray.Count(); ++i )
-                        {
-                        aMenuPane->
-                            AddMenuItemL(
-                                ( menuItemMap.FindL( positionArray[i] ) ) );
-                        }
-
-                    CleanupStack::PopAndDestroy( &menuItemMap );
-                    CleanupStack::PopAndDestroy( &positionArray );
-                    }
-                MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
-                }
-                break;
-
-            case R_CASCADE_MENU_PANE_1:
-            case R_CASCADE_MENU_PANE_2:
-            case R_CASCADE_MENU_PANE_3:
-                {
-                //realod cascade menu map
-                ReloadCascadeMenuMapL();
-                //fill the cascade menu panes
-                MHnMenuItemModelIterator* childIteratorPtr =
-                    iCascadeMenuMap.FindL( aResourceId );
-
-                // check if child iterator available
-                if ( childIteratorPtr )
-                    {
-                    childIteratorPtr->Reset();
-
-                    //create item sorting helper objects
-                    RArray<TInt> positionArray;
-                    CleanupClosePushL( positionArray );
-                    RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-                    CleanupClosePushL( menuItemMap );
-
-                    while ( childIteratorPtr->HasNext() )
-                        {
-                        CHnMenuItemModel* childItem = childIteratorPtr->GetNext();
-
-                        CEikMenuPaneItem::SData childData;
-                        childData.iCommandId = childItem->Command();
-                        childData.iText = childItem->NameL().
-                            Left( CEikMenuPaneItem::SData::ENominalTextLength );
-                        childData.iFlags = 0;
-                        childData.iCascadeId = 0;
-
-                        positionArray.AppendL( childItem->Position() );
-                        menuItemMap.InsertL( childItem->Position(), childData );
-                        }
-
-                    positionArray.Sort();
-                    //add items in correct order
-                    for ( TInt i = 0; i < positionArray.Count(); ++i )
-                        {
-                        aMenuPane->AddMenuItemL(
-                            ( menuItemMap.FindL( positionArray[i] ) ) );
-                        }
-
-                    CleanupStack::PopAndDestroy( &menuItemMap );
-                    CleanupStack::PopAndDestroy( &positionArray );
-                    }
-                }
-                break;
-
-            default:
-                break;
-            }
-        }
-    else if( aResourceId == R_MAIN_MENU_PANE )
-        {
-        aMenuPane->SetItemDimmed( EMmOptionsExit, ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ReloadCascadeMenuMapL()
-    {
-    iCascadeMenuMap.Close();
-    MHnMenuItemModelIterator* menuIterator = NULL;
-    if ( iCurrentSuiteModel )
-        {
-        TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-                iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-        TInt itemId = idByContainer ?
-            iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-            iCurrentSuiteModel->IdByIndex( KErrNotFound );
-        menuIterator = iCurrentSuiteModel->GetMenuStructureL( itemId );
-        }
-
-    if ( menuIterator )
-        {
-        while ( menuIterator->HasNext() )
-            {
-            CHnMenuItemModel* menuItem = menuIterator->GetNext();
-
-            MHnMenuItemModelIterator* childIterator =
-                menuItem->GetMenuStructure();
-            if ( childIterator->HasNext() )
-                {
-                TInt freeResource = GetNextCascadeMenuResourceId();
-                if ( freeResource != KErrNotFound )
-                    {
-                    iCascadeMenuMap.Insert( freeResource, childIterator );
-                    }
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::GetNextCascadeMenuResourceId()
-    {
-    //if needed add additional placeholders in matrixmenu.rss
-    //next add additional cases in this method and the
-    //CMmAppUi::DynInitMenuPaneL
-
-    TInt freeResource( KErrNotFound );
-    switch ( iCascadeMenuMap.Count() )
-        {
-        case 0:
-            {
-            freeResource = R_CASCADE_MENU_PANE_1;
-            }
-            break;
-        case 1:
-            {
-            freeResource = R_CASCADE_MENU_PANE_2;
-            }
-            break;
-        case 2:
-            {
-            freeResource = R_CASCADE_MENU_PANE_3;
-            }
-            break;
-        default:
-            break;
-        }
-    return freeResource;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleWidgetChangeRefreshL(
-        CMmWidgetContainer* aWidgetContainer )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleWidgetChangeRefreshL IN"));
-
-    CMmWidgetContainer* previousContainer = iCurrentContainer;
-    if (previousContainer)
-        {
-        previousContainer->SetObserver(NULL);
-        RemoveFromStack(previousContainer);
-        }
-
-    iCurrentContainer = aWidgetContainer;
-    iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-    iDummyContainer->MakeVisible( ETrue );
-    RefreshCbaL();
-    iCurrentContainer->SetEditModeL( IsEditMode() );
-    iCurrentContainer->SetSuiteModelL( iCurrentSuiteModel );
-    iCurrentContainer->HandleResourceChange( KAknsMessageSkinChange );
-    iCurrentContainer->HandleResourceChange( KUidValueCoeColorSchemeChangeEvent );
-    iCurrentContainer->SetEmptyTextL( iCurrentSuiteModel->EmptyText() );
-    iCurrentContainer->SetHasFocusL( iHasFocus );
-    iCurrentContainer->SetIsFaded( IsFaded() );
-    iCurrentContainer->SetObserver( this );
-
-    if ( previousContainer && previousContainer->WidgetType() != iCurrentContainer->WidgetType()
-            && previousContainer->GetSuiteModelL() == iCurrentContainer->GetSuiteModelL() )
-        {
-        iCurrentSuiteModel->SetSuiteHighlightL( KErrNotFound );
-        }
-
-    AddToStackL( iCurrentContainer );
-    if ( previousContainer )
-        {
-        previousContainer->MakeVisible( EFalse );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::HandleWidgetChangeRefreshL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleNoWidgetChangeRefreshL()
-    {
-    if ( iCurrentSuiteModel )
-        {
-        iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-        iCurrentContainer->SetEditModeL( IsEditMode() );
-        iCurrentContainer->SetSuiteModelL( iCurrentSuiteModel );
-        iCurrentContainer->SetEmptyTextL( iCurrentSuiteModel->EmptyText() );
-        iCurrentContainer->SetHasFocusL( iHasFocus );
-        iCurrentContainer->SetIsFaded( IsFaded() );
-        iCurrentContainer->SetObserver(this);
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::IsEditMode()
-    {
-    return (iEditModeStatus == EEditMode
-            || iEditModeStatus == ETransitionToEditMode);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandlePresentationChangeL(
-        CMmWidgetContainer* aWidgetContainer )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandlePresentationChangeL IN"));
-
-    if ( iToolbar && iToolbar->IsShown() )
-        {
-        iToolbar->SetToolbarVisibility( EFalse );
-        }
-
-    if( iCurrentContainer != aWidgetContainer )
-        {
-        TBool highlightVisibleBefore = iCurrentContainer != NULL &&
-			iCurrentContainer->IsHighlightVisible();
-
-        HandleWidgetChangeRefreshL( aWidgetContainer );
-
-        if ( highlightVisibleBefore )
-        	{
-        	iCurrentContainer->SetHighlightVisibilityL( ETrue );
-        	}
-        }
-    else
-        {
-        HandleNoWidgetChangeRefreshL();
-        }
-
-    if( iCurrentContainer )
-        {
-        iCurrentContainer->SetRect(ClientRect());
-        iDummyContainer->SetRect(ClientRect());
-        if( IsForeground() )
-            {
-            // should be called before MakeVisible (and after SetRect or SetupLayout,
-            // so that default highlight is displayed correctly when zoomed)
-            ApplyHighlightFromModelL();
-
-            // There is defferences in code because behaviour in non-touch edit mode
-            // and non-touch edit mode is different.
-            if (!AknLayoutUtils::PenEnabled())
-                {
-                // While starting non-touch edit mode we have to scroll view in case when
-                // higlighted item is placed on top/bottow row of view and there
-                // are more rows over/under one to show all needed indicator arrows.
-                // DrawNow() method caused jumping both scrollbar and view to old positions.
-                iCurrentContainer->MakeVisible(ETrue);
-                iCurrentContainer->Widget()->View()->SetDisableRedraw(EFalse);
-                iCurrentContainer->SetEditModeL(IsEditMode());
-                iDummyContainer->MakeVisible(EFalse);
-                }
-            else
-                {
-                // For touch normal mode we have to redraw container in case
-                // we back "parent folder" which was edited in edit mode.
-                // Thanks to DrawNow() method we avoid drawing items's backdrop icons
-                // and switching between edit mode's and normal mode's views
-                iCurrentContainer->SetEditModeL(IsEditMode());
-                iCurrentContainer->MakeVisible(ETrue);
-
-                // cache widget position so that we can restore it after DrawNow(), which
-                // changes it for no apparent reason when using list view.
-                iCurrentContainer->CacheWidgetPosition();
-
-                // draw container before effects gets snapshot
-                iCurrentContainer->DrawNow();
-                iCurrentContainer->Widget()->View()->SetDisableRedraw(EFalse);
-                iDummyContainer->MakeVisible(EFalse);
-
-                // restore the correct widget position
-                iCurrentContainer->RestoreWidgetPosition();
-                }
-
-            // refresh changed items only
-            iCurrentContainer->DrawView();
-            RefreshUiPanesL();
-            RefreshToolbarL();
-            }
-        else
-            {
-            iCurrentContainer->SetupWidgetLayoutL();
-            iCurrentContainer->Widget()->View()->SetDisableRedraw( EFalse );
-            ApplyHighlightFromModelL();
-            }
-        }
-
-    MMPERF(("CMmAppUi::HandlePresentationChangeL - model swapped"));
-    DEBUG(("_Mm_:CMmAppUi::HandlePresentationChangeL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::OfferToolbarEventL( TInt aCommand )
-    {
-    TInt itemId = iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() );
-    CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-    ASSERT( itemModel );
-    const CHnToolbarModel* toolbarModel = itemModel->GetToolbarModel();
-    ASSERT( toolbarModel );
-    const CHnButtonModel* buttonModel = toolbarModel->GetButton( aCommand );
-    ASSERT( buttonModel );
-
-    ForwardEventToHNL( buttonModel->GetEventId() );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::ExecuteExtensionActionL( const TUid aUid , const TDesC& aCommand,
-                CLiwGenericParamList* aEventParamList )
-    {
-    return iMmExtManager->ExecuteActionL( aUid, aCommand, aEventParamList);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleToolbarVisibilityL()
-    {
-    TBool suiteModelHasToolbar =
-        iCurrentSuiteModel && iCurrentSuiteModel->HasToolbar();
-
-    if ( suiteModelHasToolbar )
-        {
-        if ( iToolbar )
-            {
-            // could have gotten hidden during view change
-            iToolbar->SetToolbarVisibility( ETrue );
-            }
-        else
-            {
-            iToolbar = CAknToolbar::NewL( R_GLOBAL_TOOLBAR );
-            iToolbar->SetToolbarObserver( this );
-            iToolbar->SetToolbarVisibility( ETrue );
-
-            // substract the toolbar from display's visible area
-            TRect remainingArea( ClientRect() );
-            if ( !Layout_Meta_Data::IsLandscapeOrientation() )
-                remainingArea.Resize( 0, -iToolbar->Size().iHeight );
-            iCurrentContainer->SetRect( remainingArea );
-            }
-        }
-    else if ( !suiteModelHasToolbar && iToolbar )
-        {
-        iToolbar->SetToolbarVisibility( EFalse );
-        delete iToolbar;
-        iToolbar = NULL;
-        iCurrentContainer->SetRect( ClientRect() );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::UpdateToolbarL()
-    {
-    // drop toolbar handling if there should be none
-    if ( iToolbar && iCurrentSuiteModel->HasToolbar() )
-        {
-        iToolbar->RemoveItem( EMmToolbarControl1 );
-        iToolbar->RemoveItem( EMmToolbarControl2 );
-        iToolbar->RemoveItem( EMmToolbarControl3 );
-
-        TInt itemId = iCurrentSuiteModel->IdByIndex( iCurrentContainer->Widget()->CurrentItemIndex() );
-        CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-        if ( !itemModel )
-            {
-            return;
-            }
-        const CHnToolbarModel* toolbarModel = itemModel->GetToolbarModel();
-
-        CAknButton* button( NULL );
-        for ( TInt i = 0; i < KNumOfButtonsInToolbar; ++i )
-            {
-            const CHnButtonModel* buttonModel = toolbarModel->GetButton( i );
-            // get button icon and help text from model
-            if ( buttonModel )
-                {
-                CGulIcon* originalIcon = buttonModel->GetIcon();
-                CGulIcon* iconCopy( NULL );
-                if ( originalIcon && originalIcon->Bitmap() )
-                    {
-                    // create a copy of the icon if exists,
-                    // CAknButton takes ownership of the icon but we
-                    // want to reuse it,
-                    // also duplicate bitmaps for proper scaling
-                    CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
-                    CleanupStack::PushL( bitmap );
-                    bitmap->Duplicate( originalIcon->Bitmap()->Handle() );
-
-                    CFbsBitmap* mask( NULL );
-                    if ( originalIcon->Mask() )
-                        {
-                        mask = new (ELeave) CFbsBitmap;
-                        CleanupStack::PushL( mask );
-                        mask->Duplicate( originalIcon->Mask()->Handle() );
-                        }
-
-                    iconCopy = CGulIcon::NewL( bitmap, mask );
-                    if ( mask )
-                        {
-                        CleanupStack::Pop( mask );
-                        }
-                    CleanupStack::Pop( bitmap );
-                    CleanupStack::PushL( iconCopy );
-                    }
-                button = CAknButton::NewL( iconCopy,
-                        NULL,
-                        NULL,
-                        NULL,
-                        KNullDesC,
-                        buttonModel->GetButtonText(),
-                        0,
-                        0 );
-                if ( iconCopy )
-                    {
-                    CleanupStack::Pop( iconCopy );
-                    }
-                CleanupStack::PushL( button );
-                button->SetDimmed( buttonModel->GetDimmed() );
-                }
-            else
-                {
-                button = CAknButton::NewLC();
-                }
-            iToolbar->AddItemL( button,
-                    EAknCtButton,
-                    EMmToolbarControl1 + i,
-                    0 );
-            CleanupStack::Pop( button );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SetEditModeL( TBool aIsEditMode )
-	{
-	MMPERF(("CMmAppUi::SetEditModeL %d - START",aIsEditMode));
-    if ( IsEditMode() != aIsEditMode && iCurrentSuiteModel )
-        {
-
-        // stops moving items. This must be called when leaving non-touch edit mode to save
-        // the current visible order of the items. In non-touch it is called only once when completing editing
-
-        iHNInterface->SetEditModeL(aIsEditMode);
-        iCurrentContainer->StopMovingL();
-
-        if ( aIsEditMode )
-        	{
-        	iEditModeStatus = ETransitionToEditMode;
-        	}
-        else
-        	{
-        	if ( iEditModeStatus == ETransitionToEditMode )
-        		{
-        		iEditModeStatus = EFastTransitionFromEditMode;
-        		}
-        	else
-        		{
-        		iEditModeStatus = ETransitionFromEditMode;
-        		}
-        	}
-
-        HandleHighlightOffsetL( aIsEditMode ? EOffsetNext : EOffsetPrevious );
-        iCurrentSuiteModel->SetSuiteHighlightL(
-                AdjustEditModeHighlightL( iCurrentSuiteModel->GetSuiteHighlight() ) );
-
-        // update the container at the end when highlight is proper,
-        // this will ensure correct focus/unfocus action handling
-        iCurrentContainer->CacheWidgetPosition();
-        iCurrentContainer->SetEditModeL( IsEditMode() );
-
-        if ( iCurrentContainer->IsHighlightVisible() )
-            {
-            iMakeHightlightedItemFullyVisible = ETrue;
-            }
-
-        RefreshUiPanesL();
-
-        //disable redraw so that no redrawing events coming from window server cause redrawing until
-        //everything is ready to draw. Then iCurrentContainer->DrawNow in HandlePresentationChangeL is called
-        if (IsEditMode())
-            {
-            iCurrentContainer->Widget()->View()->SetDisableRedraw(ETrue);
-            }
-        }
-
-    MMPERF(("CMmAppUi::SetEditModeL - STOP"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleWsEventL( const TWsEvent& aEvent,
-                               CCoeControl* aDestination )
-    {
-    DEBUG(("_Mm_:CMmAppUi::HandleWsEventL %d - IN", aEvent.Type()));
-
-    if ( aEvent.Type() == KAknUidValueEndKeyCloseEvent )
-        {
-        // return when the red key was pressed
-        MMPERF(("End key pressed"));
-        DEBUG(("_Mm_:CMmAppUi::HandleWsEventL - End key"));
-        ExitMatrix( EExitToIdle );
-        return;
-        }
-
-    TEventCode type = static_cast< TEventCode >( aEvent.Type() );
-
-    if ( ( type == EEventFocusLost || type == KAknFullOrPartialForegroundLost )
-    		&& iCurrentContainer )
-        {
-        iCurrentContainer->CacheWidgetPosition();
-        }
-
-    // base's HandleWsEventL needs to be called before foreground handling,
-    // otherwise the screen saver will be turned off
-    CAknAppUi::HandleWsEventL( aEvent, aDestination );
-
-    // refreshes toolbar when pen down event was invoked
-    if ( type == EEventPointer )
-        {
-        if ( iCurrentSuiteModel )
-            {
-            RefreshToolbarL();
-            }
-        }
-    else if ( type == EEventFocusGained )
-        {
-        HandleFocusGainedL();
-        }
-    else if ( type == EEventFocusLost )
-    	{
-    	HandleFocusLostL();
-        }
-    else if ( type == KAknFullOrPartialForegroundGained )
-        {
-        HandleFullOrPartialForegroundGainedL();
-        }
-    else if( type == KAknFullOrPartialForegroundLost )
-        {
-        HandleFullOrPartialForegroundLostL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TErrorHandlerResponse CMmAppUi::HandleError(TInt aError,
-                                            const SExtendedError& /*aExtErr*/,
-                                            TDes& /*aErrorText*/,
-                                            TDes& /*aContextText*/ )
-    {
-    if( aError == KErrNoMemory )
-        {
-        TRAP_IGNORE( ResetToInitialStateL( ) );
-        }
-    return EErrorNotHandled;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleSuiteEventL (
-        THnCustomSuiteEvent aCustomSuiteEvent, CHnSuiteModel* aModel )
-    {
-
-    DEBUG(("_Mm_:CMmAppUi::HandleSuiteEventL %d - IN",aCustomSuiteEvent));
-    switch ( aCustomSuiteEvent )
-        {
-        case ESuitePushedToStack:
-            {
-            aModel->RegisterSuiteObserverL( this, EPriorityMuchLess );
-            }
-            break;
-        case ESuitePoppedFromStack:
-            {
-
-            }
-            break;
-        case ESuiteModelInitialized:
-            {
-            HandleSuiteModelInitializedL( aModel );
-            }
-            break;
-        default:
-            break;
-        }
-
-    if ( iCurrentSuiteModel == aModel )
-        {
-        //We are interested in the following event
-        //only if they come from the current suite.
-        TBool redraw = (iScreenOn && IsForeground()) ? ETrue : EFalse;
-        switch (aCustomSuiteEvent)
-            {
-            case ESuiteModelDestroyed:
-                {
-                iCurrentContainer->PrepareForGarbage();
-                iGarbage.AppendL(iCurrentContainer);
-                iContainerMap.Remove(
-                        iCurrentSuiteModel->GetItemsOrder()->GetSuiteId());
-                RemoveFromStack(iCurrentContainer);
-                iDummyContainer->MakeVisible( ETrue );
-                iCurrentContainer->SetObserver(NULL);
-                iCurrentSuiteModel = NULL;
-                iCurrentContainer = NULL;
-                }
-                break;
-            case ESuiteItemsAdded:
-                {
-                //we need consistent view/state before item is added
-                //so draggind should be cancelled
-                if( IsEditMode() && iCurrentContainer->IsDraggable() )
-                    {
-                    iCurrentContainer->CancelDragL( EFalse );
-                    iCurrentContainer->DrawNow();
-                    }
-                HandleNumberOfItemsChangedL( EItemsAdded );
-                }
-                break;
-            case ESuiteItemsRemoved:
-                {
-                //we need consistent view/state before item is removed
-                //so draggind should be cancelled
-                if( IsEditMode() && iCurrentContainer->IsDraggable() )
-                    {
-                    iCurrentContainer->CancelDragL( EFalse );
-                    iCurrentContainer->DrawNow();
-                    }
-                HandleNumberOfItemsChangedL( EItemsRemoved );
-                }
-                break;
-            case ESuiteItemsUpdated:
-            	{
-				ClearTransitionFromEditModeFlag();
-                iCurrentContainer->DrawView();
-                }
-                break;
-            case ESuiteHighlightChanged:
-                {
-                iCurrentContainer->SetManualHighlightL(
-                        iCurrentSuiteModel->GetSuiteHighlight(), redraw );
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    DEBUG(("_Mm_:CMmAppUi::HandleSuiteEventL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ClearTransitionFromEditModeFlag()
-	{
-	if ( iEditModeStatus == ETransitionFromEditMode ||
-		 iEditModeStatus == EFastTransitionFromEditMode )
-		{
-		iEditModeStatus = ENoEditMode;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmAppUi::AdjustEditModeHighlightL( TInt aOriginalHighlight )
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        if ( !iCurrentContainer->IsHighlightVisible()
-                && iEditModeStatus == ETransitionToEditMode )
-            {
-            aOriginalHighlight = KErrNotFound ;
-            }
-        }
-    return aOriginalHighlight;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleOutOfMemoryL()
-    {
-    if( !iOutOfMemoryHandler )
-        {
-        iOutOfMemoryHandler = CMmNoMemory::NewL();
-        }
-    iOutOfMemoryHandler->Start();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ResetToInitialStateL()
-    {
-    iDummyContainer->MakeVisible( ETrue );
-    iDummyContainer->DrawNow();
-    RefreshCbaL();
-
-    if (iCurrentSuiteModel)
-        {
-        iCurrentSuiteModel->UnregisterSuiteObserver( this );
-        }
-    RemoveFromStack( iCurrentContainer );
-    ResetContainerMap();
-    iGarbage.ResetAndDestroy();
-    delete iHNInterface;
-    iHNInterface = NULL;
-    delete iMmExtManager;
-    iMmExtManager = NULL;
-    delete iTemplateLibrary;
-    iTemplateLibrary = NULL;
-
-    iCurrentSuiteModel = NULL;
-    iCurrentContainer = NULL;
-    iContainerMap.Close();
-    iEditModeStatus = ENoEditMode;
-
-    GfxTransEffect::AbortFullScreen();
-    iIsKastorEffectStarted = EFalse;
-
-    RefreshUiPanesL();
-    Cba()->MakeVisible( EFalse );
-    StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL );
-
-    iHNInterface = CHnEngine::NewL( *this );
-    iTemplateLibrary = CMmTemplateLibrary::NewL();
-    InitializeL();
-
-    iMmExtManager = CMMExtensionManager::NewL( *this );
-
-    iScreenOn = ETrue;
-    iSkinChangeNeeded = EFalse;
-    iSkinChangeInProgress = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleSuiteModelInitializedL( CHnSuiteModel* aModel )
-    {
-    StatusPane()->MakeVisible( ETrue );
-    Cba()->MakeVisible( ETrue );
-
-    if ( aModel == iHNInterface->GetLastSuiteModelL() )
-        {
-        TBool showOpenFolderEffect(iCurrentSuiteModel
-                && (iCurrentSuiteModel->CustomId() != aModel->CustomId()
-                        || iCurrentSuiteModel->WidgetType()
-                                != aModel->WidgetType()));
-        if( showOpenFolderEffect )
-            {
-            StartLayoutSwitchFullScreen( EMenuOpenFolderEffect );
-            }
-
-        if ( iCurrentSuiteModel )
-            {
-            iCurrentSuiteModel->SetVisibleL( EFalse );
-            DEBUG16(("\t\t_Mm_:SetVisible EFalse - %S",
-                    &(iCurrentSuiteModel->SuiteName())));
-            }
-        iCurrentSuiteModel = aModel;
-        ShowSuiteL();
-        iGarbage.ResetAndDestroy();
-
-       	if ( iEditModeStatus == ETransitionToEditMode )
-            {
-            iEditModeStatus = EEditMode;
-            }
-        else if ( iEditModeStatus == ETransitionFromEditMode )
-            {
-            iEditModeStatus = ENoEditMode;
-            }
-
-        if (iScreenOn && IsForeground())
-            {
-            iCurrentSuiteModel->SetVisibleL( ETrue );
-            DEBUG16(("\t\t_Mm_:SetVisible ETrue - %S",
-                    &(iCurrentSuiteModel->SuiteName())));
-            }
-
-        HideMenuPaneIfVisibleL();
-        EndFullScreen();
-        }
-    else
-        {
-        if( iHNInterface->SuiteModelLoadedL(
-                aModel->GetItemsOrder()->GetSuiteId() ) )
-            {
-            CMmWidgetContainer* containerToLoad = NULL;
-            TBool created( CreateNewContainerL( aModel, containerToLoad ) );
-            if( created )
-                {
-                containerToLoad->Widget()->View()->SetDisableRedraw( ETrue );
-                containerToLoad->SetEditModeL( IsEditMode() );
-                containerToLoad->SetSuiteModelL( aModel );
-                containerToLoad->SetEmptyTextL( aModel->EmptyText() );
-                containerToLoad->SetObserver( this );
-                containerToLoad->SetRect( ClientRect() );
-                containerToLoad->MakeVisible( EFalse );
-                }
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HideMenuPaneIfVisibleL()
-    {
-    if ( iEikonEnv->AppUiFactory()->MenuBar()->IsDisplayed() )
-        {
-        iEikonEnv->AppUiFactory()->MenuBar()->StopDisplayingMenuBar();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ExitMatrix( TExitType aExitType )
-    {
-    DEBUG(("_Mm_:CMmAppUi::ExitMatrix - IN"));
-    DEBUG(("\t_Mm_:Exit type: %d",aExitType));
-
-    if ( aExitType == EExitReally )
-        {
-        // Calling PrepareHomescreenForMatrixExitL instead of ShowHomescreenL
-        // allows for avoiding a bug that would occur if appkey was pressed
-        // immediately after exiting the menu via Options->Exit.
-        // The bug would be that on pressing the appkey homescreen would be
-        // displayed and then the menu would appear again on the screen for
-        // a fraction of second causing an ugly and confusing flicker effect.
-        TRAP_IGNORE( PrepareHomescreenForMatrixExitL() );
-//        ShowHomescreenL( aExitType );
-        //if we got exit cmd from OS, let's really exit.
-        Exit();
-        }
-    else
-        {
-        GfxTransEffect::AbortFullScreen();
-        iIsKastorEffectStarted = EFalse;
-        StartLayoutSwitchFullScreen( AknTransEffect::EApplicationExit );
-
-        TRAP_IGNORE( ShowHomescreenL( aExitType ) );
-        TRAP_IGNORE( CleanupForExitL( EExitKeyRed ) );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::ExitMatrix - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::CleanupForExitL( TExitKeyType aExitKey )
-    {
-    DEBUG(("_Mm_:CMmAppUi::CleanupForExitL - IN"));
-
-    // closing all dialogs opened in ui extensions before exit
-    iMmExtManager->ExecuteActionL( TUid::Null(), KCommandDeleteDialog, NULL );
-    if( IsDisplayingDialog() )
-        {
-        AknDialogShutter::ShutDialogsL( *iEikonEnv );
-        }
-
-    if ( IsEditMode() && iCurrentContainer )
-        {
-        DEBUG(("\t_Mm_:Edit Mode turned off"));
-        iCurrentContainer->CancelDragL( EFalse );
-        SetEditModeL( EFalse );
-        }
-
-    // reset model - revert to root if current view is not a suite view
-    CHnSuiteModel* model = iHNInterface->GetLastSuiteModelL();
-    if ( model && aExitKey == EExitKeyApplication )
-        {
-        TBool topSuiteIsBeingEvaluated =
-            !model->GetItemsOrder()->IsSuiteReadyToShow();
-        TBool topSuiteChanged = ResetToRootL();
-        model = NULL; // ResetToRootL might have deleted the model
-        TBool presentationChangeExpected = topSuiteChanged || topSuiteIsBeingEvaluated;
-
-        TBool mustDrawImmediately =
-            !presentationChangeExpected || !iDummyContainer->IsVisible();
-
-        if ( iCurrentContainer && mustDrawImmediately )
-            {
-            DEBUG(("\t_Mm_:Top item index reset"));
-            iCurrentContainer->ResetWidgetPosition();
-            iCurrentContainer->Widget()->UpdateScrollBarsL();
-			iCurrentContainer->MakeVisible( ETrue );
-			iCurrentContainer->DrawNow();
-            }
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::CleanupForExitL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ShowHomescreenL( TExitType  aExitType  )
-    {
-    TInt appToShowUid(0);
-    TInt idleid(0);
-    if (aExitType == EExitToIdle)
-        {
-        User::LeaveIfError(RProperty::Get(KPSUidAiInformation, KActiveIdleUid,
-                appToShowUid));
-        OpenAppL(TUid::Uid(appToShowUid));
-        }
-    else if (KErrNone == RProperty::Get(KPSUidUikon, KUikVideoCallTopApp,
-            idleid))
-        {
-        // Possible error code not relevant, as we have valid id anyway
-        if (idleid != KVideoCallAppUid) // idle or phone
-            {
-            OpenAppL(TUid::Uid(KPhoneAppUid));
-            }
-        else
-            {
-            CreateActivateViewEventL(TVwsViewId(TUid::Uid(idleid),
-                    TUid::Uid(idleid)), KNullUid, KNullDesC8());
-            }
-        }
-    else
-        {
-        OpenAppL(TUid::Uid(KPhoneAppUid));
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::PrepareHomescreenForMatrixExitL()
-    {
-    TBool succeeded( EFalse );
-
-    CAknTaskList* taskList = CAknTaskList::NewL( iCoeEnv->WsSession() );
-    TApaTask task = taskList->FindRootApp( TUid::Uid( KPhoneAppUid ) );
-    delete taskList;
-
-    if ( task.Exists() )
-        {
-        succeeded = !iCoeEnv->WsSession().SetWindowGroupOrdinalPosition(
-                    task.WgId(), 1 );
-        }
-
-    if( !succeeded )
-        {
-        ShowHomescreenL( EExitReally );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::OpenAppL( const TUid aUid )
-    {
-    DEBUG(("_Mm_:CMmAppUi::OpenAppL - IN"));
-    DEBUG(("\t_Mm_:aUid: 0x%x",aUid.iUid));
-
-    // Get the correct application data
-    CAknTaskList* taskList = CAknTaskList::NewL( iCoeEnv->WsSession() );
-    TApaTask task = taskList->FindRootApp( aUid );
-    delete taskList;
-
-    if ( task.Exists() )
-        {
-        CAknSgcClient::MoveApp( task.WgId(), ESgcMoveAppToForeground );
-        }
-    else
-        {
-        // Task doesn't exist, launch a new instance of an application
-        TApaAppInfo appInfo;
-        TApaAppCapabilityBuf capabilityBuf;
-        RApaLsSession lsSession;
-        User::LeaveIfError( lsSession.Connect() );
-        CleanupClosePushL( lsSession );
-        User::LeaveIfError( lsSession.GetAppInfo( appInfo, aUid ) );
-        User::LeaveIfError(
-                lsSession.GetAppCapability( capabilityBuf, aUid ) );
-
-        TApaAppCapability& caps = capabilityBuf();
-        TFileName appName = appInfo.iFullName;
-        CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-        cmdLine->SetExecutableNameL( appName );
-
-        if ( caps.iLaunchInBackground )
-            {
-            cmdLine->SetCommandL( EApaCommandBackground );
-            }
-        else
-            {
-            cmdLine->SetCommandL( EApaCommandRun );
-            }
-
-        User::LeaveIfError( lsSession.StartApp( *cmdLine ) );
-
-        CleanupStack::PopAndDestroy( cmdLine );
-        CleanupStack::PopAndDestroy( &lsSession );
-        }
-
-    DEBUG(("_Mm_:CMmAppUi::OpenAppL - OUT"));
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::InitializeL()
-    {
-    DEBUG(("_MM_:CMmAppUi::InitializeL IN"));
-    CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-    CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
-    HBufC* suiteName = StringLoader::LoadLC( R_MENU_TITLE );
-
-    paramList->AppendL( TLiwGenericParam( KParamSuiteName8,
-            TLiwVariant( KParamFolderSuite ) ) );
-    map->InsertL( KParamSuiteName8, TLiwVariant( suiteName ) );
-    map->InsertL( KParamFolderId8, TLiwVariant( KParamFolderId ) );
-    map->InsertL( KParamRemoveLocked8, TLiwVariant( KParamFalse ) );
-    map->InsertL( KParentFolderId8, TLiwVariant( KParamFolderId ) );
-    map->InsertL( KTmpParentFolderId8, TLiwVariant( KParamFolderId ) );
-    paramList->AppendL( TLiwGenericParam( KParams8, TLiwVariant( map ) ) );
-
-    iHNInterface->InitializeL( *paramList );
-
-    CleanupStack::PopAndDestroy( suiteName );
-    CleanupStack::PopAndDestroy( map );
-    CleanupStack::PopAndDestroy( paramList );
-    DEBUG(("_MM_:CMmAppUi::InitializeL OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SetMiddleSoftKeyL()
-    {
-    DEBUG(("_Mm_:CMmAppUi::SetMiddleSoftKeyL - IN"));
-    if ( iCurrentSuiteModel && !AknLayoutUtils::PenEnabled() && !IsEditMode() )
-    	{
-    	DEBUG(("\t_Mm_:suite highlight: %d",
-    	            iCurrentSuiteModel->GetSuiteHighlight()));
-
-		TBool idByContainer = iCurrentContainer->IsHighlightVisible() &&
-				iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1;
-		TInt itemId = idByContainer ?
-			iCurrentSuiteModel->IdByIndex( iCurrentContainer->GetHighlight() ) :
-			iCurrentSuiteModel->IdByIndex( KErrNotFound );
-		CHnItemModel* itemModel = iCurrentSuiteModel->GetItemModel( itemId );
-
-		CHnButtonModel* mskModel = NULL;
-
-		if ( itemModel )
-			{
-			mskModel = itemModel->GetMiddleSoftKey();
-			}
-
-		if ( mskModel )
-			{
-			TInt event = (mskModel->GetEventId() == KErrNotFound) ?
-					KKeyIdSelect : mskModel->GetEventId();
-			Cba()->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-					event, mskModel->GetButtonText());
-			}
-		else
-			{
-			// reset to default
-			RefreshCbaL();
-			}
-    	}
-    DEBUG(("_Mm_:CMmAppUi::SetMiddleSoftKeyL - OUT"));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::StartLayoutSwitchFullScreen( TInt aKastorEffect )
-    {
-    if( ( !iIsKastorEffectStarted && iScreenOn && IsForeground() ) ||
-            aKastorEffect == AknTransEffect::EApplicationStart ||
-            aKastorEffect == AknTransEffect::EApplicationExit )
-        {
-        DEBUG(("_MM_:CMmAppUi::StartLayoutSwitchFullScreen Foreground"));
-        TUid uid1( KUidMatrixMenuApp );
-        TUid uid2( KUidMatrixMenuApp );
-        if ( aKastorEffect == AknTransEffect::EApplicationExit )
-            {
-            uid2 = TUid::Null();
-            }
-
-        AknTransEffect::TParamBuffer params = AknTransEffect::GfxTransParam(
-                uid1, uid2, AknTransEffect::TParameter::EFlagNone );
-
-        GfxTransEffect::BeginFullScreen( aKastorEffect, TRect(),
-                AknTransEffect::EParameterType, params );
-
-        iIsKastorEffectStarted = ETrue;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::EndFullScreen()
-    {
-    if( iIsKastorEffectStarted && iScreenOn )
-        {
-        DEBUG(("_MM_:CMmAppUi::EndFullScreen Foreground"));
-        GfxTransEffect::EndFullScreen();
-        iIsKastorEffectStarted = EFalse;
-        }
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleRequestL( const CLiwGenericParamList& aParam,
-                         CLiwGenericParamList* aOutput )
-    {
-    iHNInterface->HandleRequestL( aParam, aOutput );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmAppUi::ResetToRootL()
-    {
-    TBool resetConsumed( EFalse );
-    if( iHNInterface && iCurrentSuiteModel &&
-            !IsRootdisplayedL() )
-        {
-        RemoveFromStack( iCurrentContainer );
-        iDummyContainer->MakeVisible( ETrue );
-        iHNInterface->HandleBackEventL(
-                iCurrentSuiteModel->SuiteName(),
-                iHNInterface->GetSuiteModelsCountL() - 1 );
-        ResetContainerMapToRootL();
-        if( iCurrentContainer )
-            {
-            iCurrentContainer->ResetWidgetPosition();
-            AddToStackL( iCurrentContainer );
-            }
-        RefreshUiPanesL( ETrue );
-        resetConsumed = ETrue;
-        }
-    return resetConsumed;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinContentChanged()
-    {
-    iSkinChangeNeeded = ETrue;
-    iSkinChangeInProgress = ETrue;
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinConfigurationChanged(
-        const TAknsSkinStatusConfigurationChangeReason aReason)
-    {
-        DEBUG(("_Mm_:CMmAppUi::SkinConfigurationChanged IN - aReason:%d iSkinChangeNeeded:%d iSkinChangeInProgress:%d", aReason, iSkinChangeNeeded, iSkinChangeInProgress));
-    switch (aReason)
-        {
-        case EAknsSkinStatusConfigurationMerged://      = 1,
-            {
-            iSkinChangeNeeded = ETrue;
-            iSkinChangeInProgress = ETrue;
-            }
-            break;
-        case EAknsSkinStatusConfigurationDeployed://    = 2,
-            {
-            iSkinChangeInProgress = EFalse;
-            if (IsForeground())
-                {
-                TRAPD( err, RefreshIconsL());
-                if (!err)
-                    {
-                    iSkinChangeNeeded = ETrue;
-                    }
-                }
-            }
-            break;
-        default:
-            {
-
-            }
-        }
-        DEBUG(("_Mm_:CMmAppUi::SkinConfigurationChanged OUT - aReason:%d iSkinChangeNeeded:%d iSkinChangeInProgress:%d", aReason, iSkinChangeNeeded, iSkinChangeInProgress));
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::SkinPackageChanged(const TAknsSkinStatusPackageChangeReason /*aReason*/)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::RefreshIconsL()
-    {
-    iSkinChangeNeeded = EFalse;
-    CLiwGenericParamList* paramList = CLiwGenericParamList::NewLC();
-    TLiwGenericParam command(KHnRequest, TLiwVariant( KRefreshIcons));
-    paramList->AppendL(command);
-    HandleRequestL(*paramList);
-    CleanupStack::PopAndDestroy(paramList);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleHighlightOffsetL( TInt aOffset )
-    {
-    if( AknLayoutUtils::PenEnabled() )
-        {
-        iHNInterface->TriggerHnEventL( KKeyIdMoveHighlight, aOffset, NULL );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleNumberOfItemsChangedL( TItemsChangeType aChange )
-    {
-    iCurrentContainer->NumberOfItemsChangedL( aChange );
-    TBool scrollConsumed( EFalse );
-    scrollConsumed =
-        iCurrentContainer->ScrollToItemL( iCurrentSuiteModel->GetSuiteHighlight() );
-    if ( !scrollConsumed || !AknLayoutUtils::PenEnabled() )
-        {
-        iCurrentContainer->DrawNow();
-        }
-    RefreshUiPanesL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::ApplyHighlightFromModelL()
-    {
-    if ( iCurrentSuiteModel && iCurrentContainer )
-        {
-        TInt highlightedItemIndex = iCurrentSuiteModel->GetSuiteHighlight();
-        iCurrentContainer->RestoreWidgetPosition();
-
-        iCurrentContainer->SetManualHighlightL(
-                highlightedItemIndex, EFalse );
-        if ( iMakeHightlightedItemFullyVisible &&
-                !iCurrentContainer->ItemIsFullyVisible( highlightedItemIndex ) )
-            {
-            iCurrentContainer->ScrollToItemL( highlightedItemIndex );
-            }
-        iCurrentContainer->CacheWidgetPosition();
-        iMakeHightlightedItemFullyVisible = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFocusGainedL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- EEventFocusGained"));
-
-	iHasFocus = ETrue;
-
-    // Tricky: lack of iCurrentSuiteModel indicates that suite evaluation is in
-    // progress - do not call HandlePresentationChangeL if evalution has not
-    // finished.
-	if ( iCurrentContainer && !iCurrentContainer->IsVisible() &&
-	        iCurrentSuiteModel )
-		{
-		HandlePresentationChangeL( iCurrentContainer );
-		}
-
-	if ( iCurrentSuiteModel && iCurrentContainer )
-		{
-		iDummyContainer->MakeVisible( EFalse );
-		iCurrentContainer->MakeVisible( ETrue );
-		iCurrentContainer->DrawNow();
-		}
-	if( IsForeground() )
-		{
-		RefreshUiPanesL();
-		}
-	if ( iCurrentContainer )
-	    {
-	    iCurrentContainer->SetHasFocusL( ETrue );
-	    }
-	if ( iCurrentSuiteModel )
-        {
-        iCurrentSuiteModel->SetVisibleL( ETrue );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFocusLostL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- EEventFocusLost"));
-
-	iHasFocus = EFalse;
-
-	if( iCurrentContainer )
-		{
-		//This is needed in case some popup is displayed
-		//while touching item in grid. Highlight
-		//should be reset to normal then.
-		if( AknLayoutUtils::PenEnabled() )
-			{
-			if( iCurrentContainer->WidgetType() == EGridWidget && !IsEditMode() )
-				{
-				iCurrentContainer->Widget()->View()->ItemDrawer()->
-					SetFlags( CListItemDrawer::EDisableHighlight );
-				}
-			iCurrentContainer->Widget()->View()->
-			ItemDrawer()->ClearFlags( CListItemDrawer::EPressedDownState );
-			iCurrentContainer->Widget()->View()->DrawItem(
-							  iCurrentContainer->Widget()->CurrentItemIndex() ) ;
-			}
-		if( IsEditMode() && iCurrentContainer->IsDraggable() )
-			{
-			iCurrentContainer->CancelDragL( EFalse );
-			iCurrentContainer->DrawNow();
-			}
-		iCurrentContainer->SetHasFocusL( EFalse );
-		}
-	if ( iCurrentSuiteModel )
-		{
-		iCurrentSuiteModel->SetVisibleL( EFalse );
-		}
-
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFullOrPartialForegroundGainedL()
-	{
-		DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-						"- KAknFullOrPartialForegroundGained"));
-	if (iCurrentContainer && iCurrentSuiteModel )
-		{
-		iCurrentContainer->HandleForegroundGainedL();
-		iDummyContainer->MakeVisible( EFalse );
-		iCurrentContainer->MakeVisible( ETrue );
-		RefreshUiPanesL();
-		}
-	if (iSkinChangeNeeded && !iSkinChangeInProgress)
-		{
-		MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-		if (skinInstance && !skinInstance->IsUpdateInProgress())
-			{
-			RefreshIconsL();
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmAppUi::HandleFullOrPartialForegroundLostL()
-	{
-	DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
-			"- KAknFullOrPartialForegroundLost"));
-	if ( iCurrentContainer )
-		{
-		iCurrentContainer->HandleBackgroundGainedL();
-		if ( IsRootdisplayedL() )
-			{
-			iCurrentContainer->RestoreWidgetPosition();
-			iCurrentContainer->CacheWidgetPosition();
-			}
-		}
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmdocument.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application Document class
-*
-*/
-
-
-// INCLUDE FILES
-#include "mmappui.h"
-#include "mmdocument.h"
-#include <apgwgnam.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument* CMmDocument::NewL( CEikApplication& aApp )
-	{
-	CMmDocument* self = NewLC( aApp );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument* CMmDocument::NewLC( CEikApplication& aApp )
-	{
-	CMmDocument* self =
-		new ( ELeave ) CMmDocument( aApp );
-
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmDocument::ConstructL()
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument::CMmDocument( CEikApplication& aApp )
-	: CAknDocument( aApp )
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmDocument::~CMmDocument()
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CMmDocument::CreateAppUiL()
-	{
-	// Create the application user interface, and return a pointer to it
-	// the framework takes ownership of this object
-	return ( static_cast <CEikAppUi*> ( new ( ELeave ) CMmAppUi ) );
-	}
-
-// End of File
--- a/menufw/menufwui/matrixmenu/src/mmgui.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Application startpoint
-*
-*/
-
-
-// INCLUDE FILES
-#include <eikstart.h>
-#include "mmapplication.h"
-
-// ======== LOCAL FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication()
-	{
-	return new CMmApplication;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main()
-	{
-	return EikStart::RunApplication( NewApplication );
-	}
--- a/menufw/menufwui/matrixmenu/src/mmnomemory.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* 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: Subscribes properties from P&S
-*
-*/
-
-#include "mmnomemory.h"
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory::CMmNoMemory() :
-    CActive( EPriorityIdle )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory* CMmNoMemory::NewLC()
-    {
-    CMmNoMemory* self = new (ELeave) CMmNoMemory();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory* CMmNoMemory::NewL()
-    {
-    CMmNoMemory* self = CMmNoMemory::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::Start()
-    {
-    Cancel();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmNoMemory::~CMmNoMemory()
-    {
-    Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::DoCancel()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmNoMemory::RunL()
-    {
-    User::Leave( KErrNoMemory );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmNoMemory::RunError(TInt aError)
-    {
-    return aError;
-    }
--- a/menufw/menufwui/mmextensions/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project mmextensions
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../mmextensionmanager/group/bld.inf"
-#include "../mmfolderuiextension/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/mmextensions.iby                                             CORE_APP_LAYER_IBY_EXPORT_PATH(mmextensions.iby)
-../rom/mmextensions_resources.iby                                   LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(mmextensions_resources.iby)
--- a/menufw/menufwui/mmextensions/mmextensionmanager/BWINS/mmextensionmanageru.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewL@CMMExtensionManager@@SAPAV1@AAVMMmActionRequest@@@Z @ 1 NONAME ; class CMMExtensionManager * CMMExtensionManager::NewL(class MMmActionRequest &)
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/EABI/mmextensionmanageru.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_ZN19CMMExtensionManager4NewLER16MMmActionRequest @ 1 NONAME
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project mmextensionmanager
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/mmextensionmanager.h 		|../../../../inc/mmextensionmanager.h
-../inc/mmecomobserver.h             |../../../../inc/mmecomobserver.h
-
-PRJ_MMPFILES
-mmextensionmanager.mmp
-
-//PRJ_TESTMMPFILES
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menufwui/mmextensions/mmextensionmanager/group/mmextensionmanager.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* 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:  Project definition file for project extension manager
-*
-*/
-
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-TARGET        mmextensionmanager.dll
-TARGETTYPE    DLL
-UID			  0x1000008d 0x2000E57F
-VENDORID      VID_DEFAULT
-
-CAPABILITY    CAP_GENERAL_DLL
-
-SOURCEPATH    	../src
-
-SOURCE		mmextensionmanager.cpp
-SOURCE      mmecomobserver.cpp
-
-
-USERINCLUDE   	.
-USERINCLUDE 	../inc
-USERINCLUDE   ../../../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY       euser.lib 
-LIBRARY       ECom.lib
-
-DEBUGLIBRARY  flogger.lib
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmdialogmanager.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* 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:   Menu Framework extension plugin
-*
-*/
-
-#ifndef MMDIALOGMANAGER_H
-#define MMDIALOGMANAGER_H
-
-#include <AknQueryDialog.h>
-
-class MMmDialogManager
-    {
-public:
-    /**
-     * Setter for dialog.
-     * @param aDialog Dialog instance.
-     * @return Result of the dialog.
-     */
-    virtual void SetDialogL( CAknQueryDialog* aDialog ) = 0;
-    
-    /**
-     * Removes active dialog.
-     */
-    virtual void RemoveDialogL() = 0;
-    };
-
-#endif /* MMDIALOGMANAGER_H */
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmecomobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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:   Menu Framewrok ECom observer
-*
-*/
-
-#ifndef C_ECOM_OBSERVER_H
-#define C_ECOM_OBSERVER_H
-
-#include <e32base.h>	// For CActive, link against: euser.lib
-#include <e32std.h>		// For RTimer, link against: euser.lib
-
-class REComSession;
-
-/**
- * Class defining callback interface.
- */
-
-/**
- * MHNEcomInstallNotifierCallback is an interface contains function
- * executed when ECom plugin have changed. Interface is used by all
- * ECom observer implementations.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-class MHNEcomInstallNotifierCallback
-    {
-public:
-	
-	/**
-	 * Refreshes list of MultimediaMenu plugins implementations.
-	 */
-    virtual void EcomChangedL() = 0;    
-    };
-
-/**
- * Class for observing ECom server
- */
-
-/**
- * CMMEcomObserver is a class represents ECom plugin. Class is
- * derived by all ECom plugin implemetations. Implementation
- * contains basic functionality related with ECom mechanism and
- * notification handling.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMEcomObserver ) : public CActive
-    {
-public:
-    /**
-     * Cancel and destroy.
-     */
-    ~CMMEcomObserver();
-
-    /**
-     * Two-phased constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     * @return Instance of the CMMEcomObserver class.
-     */
-    static CMMEcomObserver* NewL( MHNEcomInstallNotifierCallback* aCallback );
-
-    /**
-     * Two-phased constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     * @return Instance of the CMMEcomObserver class.
-     */
-    static CMMEcomObserver* NewLC( MHNEcomInstallNotifierCallback* aCallback );
-
-private:
-    /**
-     * Default C++ constructor.
-     */
-    CMMEcomObserver();
-
-    /**
-     * Second-phase constructor.
-     * @param aCallback Pointer to ECom plugin callback.
-     */
-    void ConstructL( MHNEcomInstallNotifierCallback* aCallback );
-
-private:
-    
-    /**
-     * From CActive. Handles completion.
-     */
-    void RunL();
-
-    /**
-     * Cancels active object.
-     */
-    void DoCancel();
-
-    /**
-     * Override to handle leaves from RunL(). Default implementation causes
-     * the active scheduler to panic.
-     * @param aError Currently error status.
-     * @return Error code.
-     */
-    TInt RunError( TInt aError );
-
-private:
-
-    /**
-     * ECom handler
-     * Own.
-     */
-    REComSession* iSession;
-    
-    /**
-     * Callback pointer.
-     * Not own.
-     */
-    MHNEcomInstallNotifierCallback* iCallback;
-    
-    };
-
-#endif // C_ECOM_OBSERVER_H
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionmanager.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* 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:   Menu Framewrok extension manager
-*
-*/
-
-
-#ifndef C_MM_EXTENSION_MANAGER_H
-#define C_MM_EXTENSION_MANAGER_H
-
-// INCLUDES
-#include "mmecomobserver.h"
-#include <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CMMExtensionPlugin;
-class CLiwGenericParamList;
-class MMmActionRequest;
-
-/**
- * CMMExtensionManager is a class derived from MHNEcomInstallNotifierCallback.
- * It is responsible for loading, keeping and managing all ECom plugin
- * implementations. Additionaly, CMMExtensionManager receives command from UI
- * and decides which plugin have to handle the event.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMExtensionManager ):
-    public CBase,
-    public MHNEcomInstallNotifierCallback
-	{
-public: // Constructors and destructor
-
-	/**
-	 * Standard C++ Destructor.
-	 */
-	~CMMExtensionManager();
-
-	/**
-	 * Two-phased constructor.
-     * @return Instance of the CMMExtensionManager class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	IMPORT_C static CMMExtensionManager* NewL( MMmActionRequest& aActionRequest );
-
-	/**
-	 * Two-phased constructor.
-     * @return Instance of the CMMExtensionManager class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	static CMMExtensionManager* NewLC( MMmActionRequest& aActionRequest );
-	
-public:
-
-	/** Pure interface method.
-	* Representative of a method provided on the interface by 
-	* the interface definer.
-	* @param aUid UID of the ECom plugin's.
-	* @param aCommand Command which has to be executed on the plugin.
-	*                 Request to the Service.
-	* @param aEventParamList List of the event parameters needed to
-	*                        execute action. Extention Manager is its owner.
-	* @return Number representing error code.
-	*/
-	virtual TInt ExecuteActionL( 
-		const TUid aUid,
-        const TDesC& aCommand,
-        CLiwGenericParamList* aEventParamList );
-	
-	/**
-	 * Refreshes list of MultimediaMenu plugins implementations.
-	 */
-	void EcomChangedL();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction.
-	 * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	CMMExtensionManager( MMmActionRequest& aActionRequest );
-	
-	/**
-	 * EPOC default constructor for performing 2nd stage construction.
-	 *
-	 */
-	void ConstructL();
-	
-	/**
-	 * Loads MultimediaMenu plugins implementations.
-	 */
-	void LoadPluginsL( );
-	
-	/**
-	 * Gets ECom plugin implementation.
-	 * @param aUid Id of the ECom plugin.
-	 * @return ECom extension plugin.
-	 */
-	CMMExtensionPlugin* GetImplementationL( const TUid aUid );
-	
-private:
-	
-	/**
-	 * Pointer to plugin map.
-	 * Own.
-	 */
-	RHashMap< TInt32, CMMExtensionPlugin*> iPluginMap;
-	
-    /**
-	 * Not Own.
-	 * Reference to the App UI.
-	 */	
-	MMmActionRequest& iActionRequest;
-	
-	/**
-	 * Pointer to ECom observer.
-	 * Own.
-	 */
-    CMMEcomObserver *iEcomObserver;
-};
-
-#endif // C_MM_EXTENSION_MANAGER_H
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* 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: Menu Framework extension plugin
-*
-*/
-
-
-#ifndef C_MM_EXTENSION_PLUGIN_H_
-#define C_MM_EXTENSION_PLUGIN_H_
-
-#include <e32base.h>
-#include <ecom/ecom.h>
-#include "mmextensionplugindef.h"
-
-class CLiwGenericParamList;
-
-/**
- * CMMExtensionPlugin is a class representing ECom plugin.
- * Class has virtual function responsible for executing
- * command. It can also returns array of all implementations.
- * Class is deriving by all ECom plugin implementations.
- *
- * @since S60 5.0
- * @ingroup group_mmextensions
- */
-NONSHARABLE_CLASS( CMMExtensionPlugin ) : public CBase
-	{
-public:
- 	/** 
- 	* Instantiates an object of this type.
-    * @param aUid ECom plugin's UID.
-    * @param aParams The plugin's parameters.
-    * @return Instance of the CMMExtensionPlugin class.
-    */
- 	static CMMExtensionPlugin* NewL( TUid aUid ,  TAny* aParams );
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
-    virtual ~CMMExtensionPlugin();
-    
-	/** 
-	* Request a list of all available implementations which 
-	* satisfy this given interface.
-    * @param aImplInfoArray ECom plugin implementations array.
-    */
-	static void ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray );
-
-    /**
-     * Executes provided action.
-     * @param aCommand Command which has to be executed on the plugin.
-     *                 Request to the Service.
-     * @param aEventParamList Pointer to a list of the event parameters. 
-     *                        Its ownership is held in extension manager,
-     *                        so if one wishes to use it in asynchronous operations
-     *                        then he needs to keep a copy of the data.
-     * @return Error code.
-     */
-    virtual TInt ExecuteActionL( 
-        const TDesC& aCommand,
-        CLiwGenericParamList* aEventParamList ) = 0;
-
-protected:
-	/**
-	 * Default constructor.
-	 */
-	inline CMMExtensionPlugin();
-
-private:
-	/**
-	 * Unique instance identifier key.
-	 */
-	TUid iDtor_ID_Key;
-	};
-	
-#include "mmextensionplugin.inl"
-
-#endif /* C_MMEXTENSIONPLUGIN_H_ */
-
-// End of file    
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugin.inl	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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:  Inline functions for Menu Framewrok extension plugins
- *
-*/
-
-
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin::CMMExtensionPlugin()
-	{
-	}
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin::~CMMExtensionPlugin()
-	{
-	// Destroy any instance variables and then
-	// inform the framework that this specific 
-	// instance of the interface has been destroyed.
-	REComSession::DestroyedImplementation( iDtor_ID_Key );
-	}
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline CMMExtensionPlugin* CMMExtensionPlugin::NewL( TUid aUid , TAny* aParams )
-	{
-	return REINTERPRET_CAST( CMMExtensionPlugin*, 
-		REComSession::CreateImplementationL( aUid, 
-		   _FOFF( CMMExtensionPlugin, iDtor_ID_Key ) , aParams ) ) ;
-	}   
-
-// -----------------------------------------------------------------------------
-// 
-// -----------------------------------------------------------------------------
-//
-inline void CMMExtensionPlugin::ListAllImplementationsL(
-	RImplInfoPtrArray& aImplInfoArray)
-	{
-	REComSession::ListImplementationsL( TUid::Uid( KCMMExtensionInterfaceUid ), 
-		aImplInfoArray );
-	}
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionplugindef.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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:  Plugin definition
- *
-*/
-
-
-
-#ifndef MM_PLUGINS_DEF_H_
-#define MM_PLUGINS_DEF_H_
-
-const TInt32 KCMMExtensionInterfaceUid = {0x2000E581};
-const TInt32 KCMMExtContactsAddPlugin = {0x2000E582};
-const TInt32 KCMMExtContactsDefNumberPlugin = {0x2000E583};
-const TInt32 KCMMExtContactsThumbnailPlugin = {0x2000E584};
-
-_LIT( KCMMExtContactsAddPluginName, "AddContact" );
-_LIT( KCMMExtContactsDefNumberPluginName, "ChangeDefaultNumber" );
-_LIT( KCMMExtContactsThumbnailPluginName, "ChangeThumbnail" );
-
-#endif /*MM_PLUGINS_DEF_H_*/
-
-
-// End of file    
-
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mmextensionpluginuids.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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:  UIds definitions
- *
-*/
-
-
-#ifndef MM_PLUGIN_UIDS_HRH_
-#define MM_PLUGIN_UIDS_HRH_
-
-#define KCMMExtensionPluginUid 0x2000E581
-#define KCMMExtContactsAddPluginUid 0x2000E582
-#define KCMMExtContactsDefNumberPluginUid 0x2000E583
-#define KCMMExtContactsThumbnailPluginUid 0x2000E584
-
-#endif /*MM_PLUGIN_UIDS_HRH_*/
-
-// End of file    
--- a/menufw/menufwui/mmextensions/mmextensionmanager/inc/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  Debug constants definitions
- *
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT( KDebugDirName, "menu" );
-_LIT( KDebugFileName, "mmextensionmeneger.txt" );
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menufwui/mmextensions/mmextensionmanager/src/mmecomobserver.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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:   Interface of the Ecom observer
-*
-*/
-
-#include <ecom/ecom.h>
-#include "mmecomobserver.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver::CMMEcomObserver() :
-    CActive(EPriorityStandard) // Standard priority
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver* CMMEcomObserver::NewLC( 
-                                    MHNEcomInstallNotifierCallback* aCallback )
-    {
-    CMMEcomObserver* self = new ( ELeave ) CMMEcomObserver();
-    CleanupStack::PushL(self);
-    self->ConstructL( aCallback );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver* CMMEcomObserver::NewL( 
-                                    MHNEcomInstallNotifierCallback* aCallback )
-    {
-    CMMEcomObserver* self = CMMEcomObserver::NewLC( aCallback );
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::ConstructL( MHNEcomInstallNotifierCallback* aCallback )
-    {
-    iCallback = aCallback;
-    iSession = &REComSession::OpenL();
-    iSession->NotifyOnChange( iStatus );
-    CActiveScheduler::Add( this );
-    SetActive();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMEcomObserver::~CMMEcomObserver()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    if( iSession )
-        {
-        iSession->Close();
-        }
-    REComSession::FinalClose( );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::DoCancel()
-    {
-    iSession->CancelNotifyOnChange( iStatus );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMEcomObserver::RunL()
-    {
-    iCallback->EcomChangedL();
-    iSession->NotifyOnChange( iStatus );
-    SetActive(); // Tell scheduler a request is active
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMMEcomObserver::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
--- a/menufw/menufwui/mmextensions/mmextensionmanager/src/mmextensionmanager.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,199 +0,0 @@
-/*
-* 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:   Menu Framework Extension Manager
-*
-*/
-
-#include <mmf/common/mmfcontrollerpluginresolver.h> // for CleanupResetAndDestroyPushL
-
-#include "mmextensionplugin.h"
-#include "mmextensionmanager.h"
-#include "menudebug.h"
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager::CMMExtensionManager( MMmActionRequest& aActionRequest ):
-    iActionRequest( aActionRequest )
-	{
-	// No implementation required
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager::~CMMExtensionManager()
-	{
-	THashMapIter< TInt32, CMMExtensionPlugin* > iter( iPluginMap);	
-    for (CMMExtensionPlugin* const* ptr =
-                                ( CMMExtensionPlugin* const* ) iter.NextValue();
-        ptr; ptr = ( CMMExtensionPlugin* const* ) iter.NextValue())
-        {
-            delete (CMMExtensionPlugin*)(*ptr);
-        }    
-	iPluginMap.Close ();
-	
-	
-    //delete iPluginNameMap
-    /*THashMapIter< HBufC*, TInt32 > iter1( iPluginNameMap );
-    while ( HBufC*const* ptrHbuf = iter1.NextKey() )
-        {		
-        delete *ptrHbuf;
-        }  
-    iPluginNameMap.Close();*/
-	
-    delete iEcomObserver;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionManager* CMMExtensionManager::NewLC( MMmActionRequest& aActionRequest )
-	{
-	CMMExtensionManager* self = new (ELeave) CMMExtensionManager( aActionRequest );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMMExtensionManager* CMMExtensionManager::NewL( 
-                                                   MMmActionRequest& aActionRequest )
-	{
-	CMMExtensionManager* self = CMMExtensionManager::NewLC( aActionRequest );
-	CleanupStack::Pop (); // self;
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMExtensionManager::ConstructL()
-	{
-    iEcomObserver = CMMEcomObserver::NewL( this );
-	LoadPluginsL();
-	}
-
-// ---------------------------------------------------------------------------
-// CASpaPluginManager::LoadPluginsL
-// Load plugins implementations
-// ---------------------------------------------------------------------------
-//    
-void CMMExtensionManager::LoadPluginsL()
-    {	
-	DEBUG16(("\t_MM_: CMMExtensionManager::LoadPluginsL()") );
-	
-	// Read info about all implementations into infoArray
-	RImplInfoPtrArray infoArray;
-	
-	// Note that a special cleanup function is required to reset and destroy
-	// all items in the array, and then close it.
-	CleanupResetAndDestroyPushL( infoArray );
-	CMMExtensionPlugin::ListAllImplementationsL( infoArray );
-	
-	// Loop through each info for each implementation
-	// and create and use each in turn
-	CMMExtensionPlugin* plug;
-	for ( TInt i = 0; i < infoArray.Count(); i++ )
-		{
-		// Slice off first sub-section in the data section
-	    TUid current_plugin = infoArray[i]->ImplementationUid();
-		plug = CMMExtensionPlugin::NewL( current_plugin , &iActionRequest );
-		CleanupStack::PushL( plug );
-		TInt32 key = current_plugin.iUid;
-	    iPluginMap.InsertL( key, plug );
-	    CleanupStack::Pop( plug );
-		plug = NULL;
-		}
-    CleanupStack::PopAndDestroy( &infoArray );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMMExtensionManager::ExecuteActionL( 
-	    const TUid aUid,
-        const TDesC& aCommand,
-	    CLiwGenericParamList* aEventParamList )
-	{
-    TInt result = KErrNotFound;
-	if( aUid.iUid != KNullUidValue )
-	    {
-	    CMMExtensionPlugin* pluginInstance = GetImplementationL( aUid );
-	    if( pluginInstance ) 
-	        {
-	        result = pluginInstance->ExecuteActionL(
-	                aCommand, aEventParamList );
-	        }
-	    }
-	else
-	    {
-	    THashMapIter<TInt32, CMMExtensionPlugin*> plugins( iPluginMap );
-	    CMMExtensionPlugin* const* plugin = NULL;
-	    for( plugin = plugins.NextValue(); plugin;
-	            plugin = plugins.NextValue() )
-	        {
-	        (*plugin)->ExecuteActionL( aCommand, aEventParamList );
-	        }
-	    result = KErrNone;
-	    }
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMMExtensionPlugin* CMMExtensionManager::GetImplementationL(
-    const TUid aUid )
-    {
-    CMMExtensionPlugin* ret = NULL;
-    CMMExtensionPlugin **imp = NULL;
-
-    TInt pluginId ( aUid.iUid );
-    
-    imp = iPluginMap.Find( pluginId );
-    if( imp )
-        {
-        ret = *imp;
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMMExtensionManager::EcomChangedL()
-    {
-    THashMapIter< TInt32, CMMExtensionPlugin* > iter( iPluginMap );
-    for (CMMExtensionPlugin* const* ptr =
-                                ( CMMExtensionPlugin* const* ) iter.NextValue();
-        ptr; ptr = ( CMMExtensionPlugin* const* ) iter.NextValue())
-        {
-            delete (CMMExtensionPlugin*)(*ptr);
-        }
-    iPluginMap.Close();
-    LoadPluginsL();
-    }
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextensionplugin.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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:  Resource file for the browse folder UI extension plugin
- *
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "mmextensionpluginuids.hrh"
-
-// ---------------------------------------------------------------------------
-// theInfo
-// Declares info for implementations
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
-	{
-	// UID for the DLL
-	dll_uid = 0x2001CB78;
-	// Declare array of interface info
-	interfaces = 
-		{
-		INTERFACE_INFO
-			{
-			// UID of interface that is implemented
-			interface_uid = KCMMExtensionPluginUid;
-			implementations = 
-				{
-				// Info for CMmFolderUIExtPlugin
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x2001CB79;
-					version_no = 1;
-					display_name = "Folder UI Extension Plugin";
-					default_data = "Folder";
-					opaque_data = "";
-					}
-				};
-			}
-		};
-	}
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/data/mmfolderuiextplugin.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* 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:  Resource file for the browse folder UI extension plugin
- *
-*/
-
-
-NAME PPUP	// 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <avkon.rsg>
-#include <avkon.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-#else
-	#include <avkon.loc>
-#endif
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="AFUP"; }
-
-RESOURCE DIALOG r_menu_filename_query
-	{
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-	items=
-		{
-		DLG_LINE
-			{
-			type = EAknCtQuery;
-			id = EGeneralQuery;
-			control= AVKON_DATA_QUERY
-				{
-				layout = EDataLayout;
-				control = EDWIN
-					{
-					flags= EEikEdwinNoHorizScrolling | EEikEdwinResizable;
-					maxlength = 256; // KMaxFileName
-					};
-				};
-			}
-		};
-	}
-
-RESOURCE DIALOG r_menu_wait_dialog
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control= AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_fldr_deleting_wait_note;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-
-RESOURCE DIALOG r_menu_edit_interruption_info
-	{
-	flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-		{
-		DLG_LINE
-			{
-			type = EAknCtNote;
-			id = EGeneralNote;
-			control = AVKON_NOTE
-				{
-				layout = EGeneralLayout;
-				animation = R_QGN_NOTE_ERROR_ANIM;
-				};
-			}
-		};
-	}
-
-RESOURCE DIALOG r_menu_edit_delete_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_move_to_folder_select_cancel_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_SELECT_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxMenuList;
-                    height = 3;
-                    width = 10;
-                    };
-                heading = qtn_fldr_move_to_prmpt;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_move_to_folder_select_back_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_SELECT_BACK;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtListQueryControl;
-            id = EListQueryControl;
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = LISTBOX
-                    {
-                    flags = EAknListBoxMenuList;
-                    height = 3;
-                    width = 10;
-                    };
-                heading = qtn_fldr_move_to_prmpt;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_moving_complete_notification
-    {
-    flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                animation = R_QGN_NOTE_OK_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE DIALOG r_menu_edit_moving_abort_notification
-    {
-    flags = EAknWarningNoteFlags | EEikDialogFlagWait;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control = AVKON_NOTE
-                {
-                layout = EGeneralLayout;
-                animation = R_QGN_NOTE_ERROR_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_menu_edit_root_folder { buf=qtn_fldr_root_level; }
-RESOURCE TBUF r_menu_edit_default_folder_name { buf=qtn_fldr_name_default; }
-RESOURCE TBUF r_menu_edit_folder_name { buf=qtn_fldr_name_prmpt; }
-RESOURCE TBUF r_menu_edit_delete_query_text { buf=qtn_query_common_conf_delete; }
-RESOURCE TBUF r_menu_edit_fldr_deleting_wait_note { buf=qtn_fldr_deleting_wait_note; }
-RESOURCE TBUF r_menu_edit_fldr_bad_file_name { buf=qtn_fldr_bad_file_name; }
-RESOURCE TBUF r_menu_edit_fldr_illegal_characters { buf=qtn_fldr_illegal_characters; }
-
-// end of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project mmfolderuiextensionplugin
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-mmfolderuiextensionplugin.mmp
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/group/mmfolderuiextensionplugin.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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:  Project definition file for project ui extension plugin
-*
-*/
-
-
-// To get the APP_LAYER_SYSTEMINCLUDE-definition
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET        mmfolderuiextensionplugin.dll
-TARGETTYPE    PLUGIN
-UID 0x10009D8D 0x2001CB78
-
-CAPABILITY    CAP_ECOM_PLUGIN
-LANG	      SC
-
-SOURCEPATH    ../src
-SOURCE	      mmproxy.cpp
-SOURCE	      mmfolderuiextplugin.cpp
-SOURCE	      mmfoldercommand.cpp
-SOURCE        mmfoldercommandadd.cpp
-SOURCE        mmfoldercommanddelete.cpp
-SOURCE        mmfoldercommandrename.cpp
-SOURCE        mmmovetofoldercommand.cpp
-SOURCE        mmpluginsharedresources.cpp
-
-USERINCLUDE   ../inc
-USERINCLUDE   ../loc
-USERINCLUDE   ../../../../inc
-USERINCLUDE   ../../mmextensionmanager/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH    ../data
-START RESOURCE mmfolderuiextensionplugin.rss
-HEADER
-TARGET        mmfolderuiextensionplugin.rsc
-TARGETPATH    ECOM_RESOURCE_DIR
-END
-
-SOURCEPATH		../data
-START RESOURCE mmfolderuiextplugin.rss
-HEADER
-TARGET         mmfolderuiextplugin.rsc
-TARGETPATH     APP_RESOURCE_DIR 
-LANGUAGE_IDS
-END //RESOURCE
-
-
-LIBRARY       euser.lib
-LIBRARY       ecom.lib 
-LIBRARY       liwservicehandler.lib     // CLiwGenericParamList
-LIBRARY       avkon.lib                 // CAknListQueryDialog
-LIBRARY       bafl.lib                  // CDesCArrayFlat
-LIBRARY       eikdlg.lib                // CEikDialog
-LIBRARY       commonengine.lib          // StringLoader
-LIBRARY       hnmetadatamodel.lib
-LIBRARY       hnutilities.lib
-LIBRARY       eikcoctl.lib
-LIBRARY       aknicon.lib
-LIBRARY       egul.lib
-LIBRARY       cone.lib
-LIBRARY       favouritesengine.lib
-LIBRARY       commondialogs.lib 
-LIBRARY       swinstcli.lib
-LIBRARY       sisregistryclient.lib
-LIBRARY       apgrfx.lib
-LIBRARY       ws32.lib
-LIBRARY       apparc.lib
-LIBRARY       widgetregistryclient.lib
-LIBRARY       featmgr.lib
-LIBRARY       mcsmenu.lib
-LIBRARY       estor.lib 
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-// End of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommand.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Interface of the folder command
- *
-*/
-
-
-
-#ifndef MMFOLDERCOMMAND_H
-#define MMFOLDERCOMMAND_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-#include "mmdialogmanager.h"
-#include "mcsmenusapi.h"
-
-class CMmPluginSharedResources;
-class CHnMdBaseKey;
-class CHnServiceHandler;
-class CAknQueryDialog;
-class MMmActionRequest;
-class MMmDialogManager;
-
-/**
- * Base class for folder operations
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommand is a class which all command classes derived from.
- * It has a several common functions responsible for creating appropriate
- * command instance, displaying dialogs, controlling command execution,
- * getting data from resources, displaying dialogs and executing MCS queries.
- * CMmFolderCommand is using only as a base class in inheritance.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommand ) : public CBase, 
-                                        public MMmDialogManager,
-                                        public MLiwNotifyCallback
-    {
-
-protected:
-    
-    /**
-     * Current state of folder name validation.
-     */
-    enum TValidation
-        {
-        EValidationOk = 0,
-        EValidationInvalid = 1,
-        EValidationNotAllowed = 2
-        };
-
-public:
-   
-    /**
-     * Factory Method which returns concrete class
-     * representing folder operation.
-     * @param aCommand Descriptor contains required command.
-     * @return If aCommand is supported, operations instance is returned.
-     */
-    static CMmFolderCommand* FactoryL( const TDesC& aCommand );
-    
-    /**
-     * Returns TInt value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TInt value or KErrNotFound.
-     */
-    TInt GetIntL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns string value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return String value or KNullDesC.
-     */
-    TPtrC GetStringL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Returns bool value using the given path.
-     * 
-     * @since S60 v5.0
-     * @param aParam Param list.
-     * @param aPath URI Path.
-     * @return TBool value.
-     */
-    TBool GetBoolL( const CLiwGenericParamList& aParam, const TDesC8& aPath );
-    
-    /**
-     * Performs operation on folder.
-     * @param aEventParamList List of parameters for operations.
-     */
-    virtual void ExecuteActionL( CLiwGenericParamList* aEventParamList ) = 0;
-    
-    /**
-     * Setter for App UI.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetRequestInterface( MMmActionRequest* aActionRequest );
- 	
-    /**
-     * Setter for shared resources.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */ 	
- 	void SetSharedResources( CMmPluginSharedResources* aResources ); 
- 	
-    /**
-     * Setter for dialog.
-     * @param aDialog Dialog instance.
-     * @return Result of the dialog.
-     */
-    void SetDialogL( CAknQueryDialog* aDialog );
-    
-    /**
-     * Removes active dialog.
-     */
-    void RemoveDialogL();
- 	
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
-    virtual ~CMmFolderCommand();
-    
-protected:
-
-	/**
-	 * Base Plugin constructor
-	 */ 
-	void BaseConstructL();
-	
-    /**
-    * Gets folder name.
-    * @param aFolderName Name of the folder.
-    * @return Modal dialog displaying result.
-    */ 
-    TBool DoChangeNameL( RBuf& aFolderName, TInt aDefaultNameLength,
-        RBuf& aNumberInBracket, CLiwGenericParamList& aFoldersNames, 
-        TLiwVariant& aVar, TInt aNumberToAppend = 0 );
-
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    void ChangeNameIfAlreadyExistsL( RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames, TInt aNumberToAppend = 0 );
-    
-    /**
-     * Gets list of the folders names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetFolderListL( TInt aItemId );
-    
-    /**
-     * Gets list of the items names.
-     * @param aFolderName Name of the folder.
-     */
-    void GetListL( TInt aItemId );
-    
-    /**
-     * Gets folder name.
-     * @param aFolderName Name of the folder.
-     * @return Modal dialog displaying result.
-     */ 
-    TBool GetFolderNameL( RBuf& aFolderName, 
-            CLiwGenericParamList* aFoldersNames = 0 );
-    
-    /**
-     * Displays notification contains reason of the deletion cancel.
-     * @param aFolderName Name of the folder.
-     */
-    void DisplayErrorInfoL( const TDesC& aFolderName );
-    
-    /**
-     * Executes query on MCS service.
-     * @param aQueryName Query name.
-     * @param aInputData Input data.
-     * @param aFilter Query filter.
-     * @param aCallback Interface handling query execution.
-     */ 
-    void MCSQueryExecutionL( const TDesC8& aQueryName,
-                             const CHnMdBaseKey* aInputData,
-                             const CHnMdBaseKey* aFilter,
-                             MLiwNotifyCallback* aCallback );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC8& aKeyValue );
-    
-    /**
-     * Add new key to existing key.
-     * @param aInDataKey An existing key.
-     * @param aKeyName Name of the new key.
-     * @param aKeyType Type of the new key.
-     * @param aKeyValue Value of the new key.
-     */
-    void AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                     const TDesC8& aKeyName, 
-                     const TDesC8& aKeyType, 
-                     const TDesC& aKeyValue );
-    
-    /**
-     * Checks if folder name is valid and consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt FolderNameValidationL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Removes illegal character
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt IllegalCharacterRemoveL(RBuf& aFolderName,
-            CLiwGenericParamList* aFoldersNames = 0);
-    
-    /**
-     * Checks if folder name is valid
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckValidFileNameL( const TDes& aFolderName );
-    
-    /**
-     * Checks if folder name consists of allowed characters
-     * @param aFolderName Folder name to check
-     * @return Validation result.
-     */
-    TInt CheckAllowedCharsL( const TDes& aFolderName );
-    
-    /**
-     * Displays notification contains reason of the add folder/rename folder name  cancel.
-     * @param aResourceId The numeric ID of the resource string to be read.
-     */
-    void DisplayNameErrorInfoL( const TDesC& aMsg );
-    
-private:
-	
-    /**
-     * Prepare GetList input data for specified folder
-     * @param aItemId id of folder.
-     */
-	void PrepareGetListInputL(TInt aItemId);
-	
-	/**
-	 * Prepare GetList filter for folders
-	 */
-	void PrepareGetListFolderFilterL();
-	
-    /**
-     * Prepare GetList filter for folders
-     */
-    void PrepareGetListFilterL();
-	
-	/**
-	 * Insert Liw map to Liw list
-     * @param aList
-     * @param aKey
-     * @param aMap
-	 */
-	void InsertToLiwListL(CLiwGenericParamList* aList, 
-			const TDesC8& aKey, const CLiwDefaultMap* aMap); 
-	
-	/**
-	 * Externalize GetList input list
-	 */
-    void ExternalizeInputListL();
-    
-    /**
-     * Internalize GetList output list
-     */
-    void InternalizeOutputListL();
-	
-    
-protected:
-    
-    /**
-     * Own.
-     * Intance of the service handler.
-     */
-    CHnServiceHandler* iServiceHandler;
-    
-    
-    /**
-	 * Not Own.
-	 * Pointer to the App UI.
-	 */
-    MMmActionRequest* iActionRequest;
-    
-    /**
-     * Own.
-     * Pointer to active dialog.
-     */
-    CAknQueryDialog* iDialog;
-    
-    /**
-     * Flag indicating wheather dialog can be displayed.
-     */
-    TBool iLockDialog;
-    
-    /*
-     * MCS sesion.
-     * Own.
-     * */
-    RMenuSapi iMcs;
-    
-    /**
-     * GetList input and output parameter lists.
-     * Own.
-     */
-    CLiwGenericParamList* iGetListInParam;
-    CLiwGenericParamList* iGetListOutParam;
-    
-    /**
-     * GetList serialized input and output parameter lists.
-     * Own.
-     */
-    RBuf8 iSerializedInputList;
-    RBuf8 iSerializedOutputList;
-    
-    /**
-     * Pointer to shared resources class.
-     * Not owned.
-     */
-    CMmPluginSharedResources* iSharedResources;
-    
-    };
-
-#endif /*MMFOLDERCOMMAND_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandadd.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Add folder command
- *
-*/
-
-
-
-#ifndef MMFOLDERCOMMANDADD_H
-#define MMFOLDERCOMMANDADD_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-
-/**
- * Class representing add folder operations
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommandAdd is a class inherits from CMmFolderCommand.
- * It's responsible for handling command adding folder to MCS. Plugin supports
- * MMCreateNewFolderCommand command. It displays query, get name and executes
- * MCS query creating new folder. After successfully folder creation it send
- * request to HN engine to set focus on added folder.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandAdd ) : public CMmFolderCommand
-    {
-public:
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandAdd class.
- 	 */
- 	static CMmFolderCommandAdd* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandAdd();    
-
-private:
-    
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList List of the event parameters.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-                        CLiwGenericParamList& aEventParamList,
-                        const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Handle adding folder, caalled just after the GetList
-     */
-    void ExecuteAddFolderL();
-     
-    /**
-     * Creates folder in MCS.
-     * @param aFolder Folder name.
-     */
-    void CreateFolderL( const TDesC& aFolder );
-	
-    /**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandAdd();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-   	
-private:
-    
-    /**
-     * Id of the parent folder.
-     */
-    TInt32 iParent;
-    
-    };
-
-#endif /*MMFOLDERCOMMANDADD_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommanddelete.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Delete folder command
-*
- *
-*/
-
-
-
-
-#ifndef MMFOLDERCOMMANDDELETE_H
-#define MMFOLDERCOMMANDDELETE_H
-
-#include <e32base.h>
-#include <AknProgressDialog.h> // for MProgressDialogCallback
-#include "mmfoldercommand.h"
-
-class CAknWaitDialog;
-
-/**
- * Class representing remove folder operations.
- * @since S60 v5.0
- */
-
-/**
- * CMmFolderCommandDelete is a class inherits from CMmFolderCommand.
- * It's responsible for handling command removing folder from MCS. Plugin
- * supports MMDeleteFolderCommand command. It displays confirmation dialog,
- * removes item from MCS and displays notification with operation summary.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandDelete ):
-    public CMmFolderCommand,
-    public MProgressDialogCallback
-    {
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandDelete class.
- 	 */
- 	static CMmFolderCommandDelete* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandDelete();    
-
-protected:
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandDelete();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-   	/**
-	 * Displays confirmation dialog.
-	 * @param aFolderName Name of the folder.
-	 */
-    TBool DeleteQueryL( const TDesC& aFolderName );
-    
-    /**
-     * Moves focus before delete.
-     */
-    void MoveFocusBeforeDeleteL();
-    
-    /**
-	 * Starts wait dialog with progress bar.
-	 * @param aLabel Wait dialog content.
-	 */
-    void StartWaitDialogL( const TDesC& aLabel );
-    
-    /**
-	 * Stops wait dialog with progress bar.
-	 */
-    void StopWaitDialogL();
-    
-    /**
-	 * Removes item from mcs.
-	 * @param aId Id in MCS.
-	 * @param aFolderName Name of the folder.
-	 */
-    void DeleteItemFromMcsL( TInt aId, const TDesC& aFolderName );
-    
-    /**
-     * Starts uninstallation process.
-     * @param aId Id in MCS.
-     */
-    void UninstallL( TInt aId );
-    
-    /**
-     * Gets application package UID.
-     * @param aUid UID of the application.
-     * @return Application package UID.
-     */
-    TUid GetSisPackageUidL( TUid aUid );
-    
-    /**
-     * Checks wheather item is a midlet.
-     * @param aUid UID of the item.
-     * @return ETrue if item is a midlet, otherwise EFalse.
-     */
-    TBool IsMidletL( TUid aUid );
-    
-
-private:
-    
-    /**
-     * Callback method from MProgressDialogCallback interface.
-     * Gets called when a dialog is dismissed.
-     * @param aButtonId Id of the pushed button.
-     */
-    void DialogDismissedL( TInt aButtonId );
-
-protected:
-    
-    /**
-     * Own.
-     * Pointer to wait dialog.
-     */ 
-    CAknWaitDialog* iWaitDialog;
-    };
-
-
-/**
- *  Class representing remove suite operations.
- *  @since S60 v5.0
- */
-
-/**
- * CMmFolderDeleteSuite is a class deriving from CMmFolderCommandDelete.
- * It's responsible for handling command removing a suite from MCS.
- *
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderDeleteSuite ) : public CMmFolderCommandDelete
-    {
-public:
-    
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderDeleteSuite();
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderDeleteSuite class.
- 	 */
- 	static CMmFolderDeleteSuite* NewL();
-
-private:
-	
-	/**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */ 
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderDeleteSuite();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-    };
-
-
-/**
- *  Class representing remove application operations.
- *  @since S60 v5.0
- */
-
-/**
- * CMmFolderDeleteApp is a class deriving from CMmFolderCommandDelete.
- * It's responsible for handling command removing an application from MCS.
- *
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderDeleteApp ) : public CMmFolderCommandDelete
-	{
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderDeleteApp class.
- 	 */
- 	static CMmFolderDeleteApp* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderDeleteApp();
-
-
-private:     
-	
-	/**
-     * Performs add folder operation.
-     * @param aEventParamList Parameters for operations.
-     */ 
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderDeleteApp();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-    
-    };
-
-
-#endif /*MMFOLDERCOMMANDDELETE_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfoldercommandrename.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Rename folder command
- *
-*/
-
-
-
-
-#ifndef MMFOLDERCOMMANDRENAME_H
-#define MMFOLDERCOMMANDRENAME_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-/**
- * CMmFolderCommandRename is a class inherits from CMmFolderCommand.
- * It's responsible for handling command renaming folder in MCS. Plugin supports
- * MMRenameFolderCommand command. It displays query, get name and update item
- * from MCS.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderCommandRename ) : public CMmFolderCommand
-    {
-public:
-    
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmFolderCommandRename class.
- 	 */
- 	static CMmFolderCommandRename* NewL();
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderCommandRename(); 
-
-private:
-
-    /**
-     * Performs rename folder operation.
-     * @param aEventParamList Parameters for operations.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-             CLiwGenericParamList& aEventParamList,
-             const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Gets new name of the folder.
-     * @param aId Id of the item.
-     * @param aFolderName Reference to buffer contains folder name.
-     */ 
-    void RenameFolderL( TInt aId, RBuf& aFolderName );
-	
-	/**
-	 * Default C++ constructor.
-	 */
-	CMmFolderCommandRename();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-     	
-private:
-    
-    };
-
-#endif /*MMFOLDERCOMMANDRENAME_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextplugin.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Folder UI extension plugin
- *
-*/
-
-
-
-#ifndef MMFOLDERUIEXTPLUGIN_H
-#define MMFOLDERUIEXTPLUGIN_H
-
-#include <e32base.h>
-#include <liwcommon.h>
-#include "mmextensionplugin.h"
-
-class CMmPluginSharedResources;
-class CMmFolderCommand;
-class MMmActionRequest;
-
-/**
- * CMmFolderUiExtPlugin is an Ecom plugin implementation responsible for
- * executing operations on folders from MCS. Plugin receives command from UI,
- * creates appropriate handler and starts command handling.
- * 
- * CMmFolderUiExtPlugin implements CMMExtensionPlugin interface. The most
- * important function is ExecuteActionL which receives parameters from
- * extension manager. One of those parameters is command name. Plugin is
- * supporting following commands:
- * - MMCreateNewFolderCommand,
- * - MMRenameFolderCommand,
- * - MMDeleteFolderCommand,
- * - MMDeleteAppCommand,
- * - MMDeleteSuiteCommand.
- * If function received other command it would return KErrNotSupported error
- * code.
- * 
- * UI extension plugin need to be declared and configured in xml file as part
- * of mmenu:action tag, which is inside mmenu:event tag. Any data that should
- * be passed to plugin have to be defined inside mmenu:data tag as mmenu:key
- * tags.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmFolderUiExtPlugin ) : public CMMExtensionPlugin
-	{
-public:
-   
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmFolderUiExtPlugin class.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-     */
-    static CMmFolderUiExtPlugin* NewL( MMmActionRequest& aActionRequest );
-
- 	/**
- 	 * Virtual C++ Destructor.
- 	 */
- 	~CMmFolderUiExtPlugin();
-    
-    /**
-     * Executes provided action.
-     * Has to be implemented by each UI extension plugin.
-     * @param aEventParamList Event parameters.
-     * @param aCommand Command to be executed.
-     * @return Error code.
-     */
-    TInt ExecuteActionL( const TDesC& aCommand,
-    					 CLiwGenericParamList* aEventParamList );
-
-protected:
-	/**
-	 * Default C++ constructor.
-     * @param aActionRequest Interface enabling to issues request to App UI.
-	 */
-	CMmFolderUiExtPlugin( MMmActionRequest& aActionRequest );
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-	 
-private:
-    /**
-     * Check wheather Menu is in foreground.
-     * @return ETrue if Menu is in foreground, otherwise EFalse;
-     */
-    TBool IsMatrixInForegroundL();
-    
-private:
-
-	/**
-	 * Own.
-	 * Pointer to the folder command.
-	 */
-    CMmFolderCommand* iCommand;
-    
-    /**
-	 * Not Own.
-	 * Reference to the App UI.
-	 */
-    MMmActionRequest& iActionRequest;
-    
-    /**
-     * Own.
-     * Shared resources used in plugins.
-     * Created during first command execution.
-     */
-    CMmPluginSharedResources* iSharedResources;
-    
-    };
-
-#endif /*MMFOLDERUIEXTPLUGIN_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmfolderuiextpluginconstants.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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:  Contatns used by folder UI extension plugin
- *
-*/
-
-
-#ifndef MMFOLDERUIEXTPLUGINCONTANTS_H
-#define MMFOLDERUIEXTPLUGINCONTANTS_H
-
-/**
- * Constants used in add folder UI extension plugin.
- * For XML configuration as well.
- */
-
-// implemantation UID
-const TInt32 KCFolderUiExtPluginUid = { 0x2001CB79 };
-
-// command names, also used in XML configuration
-_LIT( KAddFolderCmd,    "MMCreateNewFolderCommand" );
-_LIT( KRenameFolderCmd, "MMRenameFolderCommand" );
-_LIT( KDeleteFolderCmd, "MMDeleteFolderCommand" );
-_LIT( KDeleteAppCmd,    "MMDeleteAppCommand" );
-_LIT( KDeleteSuiteCmd,  "MMDeleteSuiteCommand" );
-_LIT( KMoveToFolderCmd, "MMMoveToFolderCommand" );
-
-
-#endif /*MMFOLDERUIEXTPLUGINCONTANTS_H*/
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmmovetofoldercommand.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Add folder command
- *
-*/
-
-
-
-#ifndef MMMOVETOFOLDERCOMMAND_H
-#define MMMOVETOFOLDERCOMMAND_H
-
-#include <e32base.h>
-#include "mmfoldercommand.h"
-
-class CMmFolder;
-
-/**
- * CMmMoveToFolderCommand is a class inherits from CMmFolderCommand.
- * It's responsible for handling command adding folder to MCS. Plugin supports
- * MMCreateNewFolderCommand command. It displays query, get name and executes
- * MCS query creating new folder. After successfully folder creation it send
- * request to HN engine to set focus on added folder.
- *
- * @lib mmfolderuiextensionplugin.lib
- * @since S60 5.0
- * @ingroup group_mmfolderuiextensionplugin
- */
-NONSHARABLE_CLASS( CMmMoveToFolderCommand ) : public CMmFolderCommand
-    {
-public:
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmMoveToFolderCommand class.
-     */
-    static CMmMoveToFolderCommand* NewL();
-
-    /**
-     * Virtual C++ Destructor.
-     */
-    ~CMmMoveToFolderCommand();
-
-private:
-    
-    /**
-     * Performs add folder operation.
-     * @param aEventParamList List of the event parameters.
-     */
-    void ExecuteActionL( CLiwGenericParamList* aEventParamList );
-    
-    /**
-     * Handles notifications caused by an asynchronous Execute*CmdL call
-     * or an event.
-     * @param aCmdId The service command associated to the event.
-     * @param aEventId Occured event, see LiwCommon.hrh.
-     * @param aEventParamList Event parameters, if any, as defined per
-     *        each event.
-     * @param aInParamList Input parameters, if any, given in the
-     *        related HandleCommmandL.
-     * @return Error code for the callback.
-     */
-    TInt HandleNotifyL( TInt aCmdId, TInt aEventId,
-                        CLiwGenericParamList& aEventParamList,
-                        const CLiwGenericParamList& aInParamList );
-    
-    /**
-     * Default C++ constructor.
-     */
-    CMmMoveToFolderCommand();
-    
-    /**
-     * Second phase Symbian constructor.
-     */
-    void ConstructL();
-
-    /**
-     * Second phase Symbian constructor.
-     */
-    CMmFolder* CurrentFolder();
-    
-    /**
-     * Selects folder.
-     */
-    void SelectFolderL( const RPointerArray< CMmFolder >& aFolderContent );
-    
-    /**
-     * Moves item with given id to another folder.
-     * @param aId Id of an item to be moved.
-     * @param aFolderId Id of the target folder. 
-     *        If KErrNotFound than item moved in 
-     *        hierarchy is the current folder.
-     * @param aBeforeItemId Id of the item after which an item should be 
-     *        placed. If KErrNotFound than items are placed at the end of the
-     *        folder. 
-     */
-    void MoveToFolderL( TInt aId, TInt aFolderId,
-                        TInt aBeforeItemId = KErrNotFound );
-    
-    
-    /**
-     * Gets index of the selected item.
-     * @param aItems Folder list.
-     * @param aCurrentFolderId Id of the current folder.
-     * @return Index of the selected item.
-     */
-    TInt SelectFolderFromListL( CDesCArrayFlat* aItems, TBool aIsRoot );
-    
-    /**
-     * Provides array contains folder icons.
-     * @return Array of icons.
-     */
-    CArrayPtr<CGulIcon>* GetFolderIconsL();
-    
-    /**
-     * Browses folder from list.
-     * @param aParentId Parent folder id.
-     * @param aMovingItemId Id of the moving item.
-     * @param aDestinationFolderId Id of the selected folder.
-     * @param aWidgetType Type of the current widget.
-     */
-    void BrowseFolderL( TInt aParentId, TInt aMovingItemId,
-            TInt& aDestinationFolderId, const TDesC& aWidgetType );
-    
-    /**
-     * Displays notification.
-     */
-    void NotificationMovingCompleteL();
-    
-    /**
-     * Displays notification.
-     */
-    void NotificationItemAlreadyStoredL();
-    
-    /**
-     * Gets default name of root folder.
-     * @param aIdentifier Identifier of resource.
-     * @return Descriptor from resource.
-     */
-    HBufC* GetFromResourceLC( TInt aIdentifier );
-    
-    /**
-     * Removes last folder from opened hierarchy
-     */
-    void StepBackInHierarchy();
-    
-    
-    /**
-     * Handles MoveToFolder operation
-     */
-    void ExecuteMoveToFolderL();
-    
-    /**
-     * Fill aFolderArray with folders from GetList output
-     */
-    void GetFoldersL(RPointerArray<CMmFolder >& aFolderArray);
-    
-private:
-    
-    /**
-     * Id of the parent folder.
-     */
-    TInt32 iParentId;
-    
-    TInt iItemId;
-    
-    TBool iFlagLeave;
-    
-    RBuf iWidgetType;
-    
-    RBuf iItemName;
-    
-    RBuf iFolderName;
-    
-    RPointerArray< CMmFolder > iOpenedHierarchy;
-    
-    };
-
-
-
-NONSHARABLE_CLASS( CMmFolder ) : public CBase
-    {
-public:
-    /** 
-     * Instantiates an object of this type.
-     * @return Instance of the CMmMoveToFolderCommand class.
-     */
-    static CMmFolder* NewL();
-
-    /**
-     * Virtual C++ Destructor.
-     */
-    ~CMmFolder();
-    
-    /**
-     * Setter for the folder name.
-     * @param aName Name of the folder.
-     */
-    void SetNameL( const TDesC& aName );
-    
-    /**
-     * Getter for the folder name.
-     * @return Name of the item.
-     */
-    const TDesC& Name() const;
-    
-    /**
-     * Setter for the folder id.
-     * @param aId Id of the folder.
-     */
-    void SetId( TInt aId );
-    
-    /**
-     * Getter for the folder id.
-     * @return Id of the folder.
-     */
-    TInt Id();
-    
-private:
-    /**
-     * Default C++ constructor.
-     */
-    CMmFolder();
-    
-    /**
-     * Second phase Symbian constructor.
-     */
-    void ConstructL();
-    
-private:
-    /**
-     * Own.
-     * Name of the folder.
-     */
-    RBuf iName;
-    
-    /**
-     * Id of the folder.
-     */
-    TInt iId;
-    
-    };
-
-#endif /*MMMOVETOFOLDERCOMMAND_H*/
-
-// End of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/inc/mmpluginsharedresources.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2007-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: Holds plugins shared resources
-* Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-#ifndef CMMPLUGINSHAREDRESOURCES_H_
-#define CMMPLUGINSHAREDRESOURCES_H_
-
-class CMmPluginSharedResources : public CBase
-	{
-public:
-	
-    /** 
- 	 * Instantiates an object of this type.
-     * @return Instance of the CMmPluginSharedResources class.
- 	 */
- 	static CMmPluginSharedResources* NewL();
-	
-	/**
-	 * Second phase Symbian constructor.
-	 */
-	void ConstructL();
-	
- 	/**
- 	 * C++ Destructor.
- 	 */
-	~CMmPluginSharedResources();
-	
-	/**
-	 * Getter for resource file
-	 * @return String file path. 
-	 */
-	const TDesC& GetLanguageFilePath() { return *iLanguageFilePath; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_DEFAULT_FOLDER_NAME
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetDefaultFolderName() { return *iDefFolderName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FOLDER_NAME 
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetEditFolderName() { return *iEditFolderName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_BAD_FILE_NAME
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgBadFileName() { return *iMsgBadFileName; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_ILLEGAL_CHARACTERS
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgIllegalCharacters() { return *iMsgBadChar; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_ROOT_FOLDER
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetRootFolder() { return *iRootFolder; }
-	
-	/**
-	 * Getter for R_MENU_EDIT_FLDR_DELETING_WAIT_NOTE
-	 * @return String loaded from resource. 
-	 */
-	const TDesC& GetMsgFolderDeleting() { return *iDelWaitNote; }
-	
-private:
-    /**
-     * Resources. Own.
-     */
-    HBufC* iLanguageFilePath;
-    HBufC* iDefFolderName;
-    HBufC* iEditFolderName;
-    HBufC* iMsgBadFileName;
-    HBufC* iMsgBadChar;
-    HBufC* iRootFolder;
-	HBufC* iDelWaitNote;
-    
-	/**
-	 * Resource offset.
-	 */
-    TInt iResourceOffset;
-	};
-
-#endif /* CMMPLUGINSHAREDRESOURCES_H_ */
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommand.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,682 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Interface of the folder command
- *
-*/
-
-#include <liwcommon.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <AknQueryDialog.h>
-#include <aknnotewrappers.h>
-#include <s32mem.h>
-
-#include "mmfoldercommand.h"
-#include "mmfoldercommandadd.h"
-#include "mmfoldercommandrename.h"
-#include "mmfoldercommanddelete.h"
-#include "mmmovetofoldercommand.h"
-#include "mmdialogmanager.h"
-#include "hnliwutils.h"
-#include "menudebug.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "mmfolderuiextpluginconstants.h"
-#include "mmpluginsharedresources.h"
-
-#include <avkon.rsg>
-#include <matrixmenu.rsg>
-#include <mmfolderuiextplugin.rsg>
-
-
-const TInt KCountNotAllowedChars = 9;
-// Unicode character of sign obtained by press '0' key three times. Enter key.
-const TUint16 KIllegalCharEnter = 0x21b2;
-// Unicode line separator character obtained by pressing Shift + Enter keys
-const TUint16 KIllegalCharLineSeparator = 0x2028;
-// Space unicode character.
-// Characters which ascii value is smaller than 32 are not allowed.
-const TUint16 KSpace = ' '; //32;
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommand::~CMmFolderCommand()
-    {
-    iSerializedInputList.Close();
-    iSerializedOutputList.Close();
-    delete iGetListOutParam;
-    delete iGetListInParam;
-    iMcs.Close();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::BaseConstructL()
-	{
-	// Init MCS session
-	TBuf16<KMaxFileName> buf;
-	buf.Copy(KMatrixMenuData);
-	iMcs.OpenL(buf);
-	iGetListInParam = CLiwGenericParamList::NewL();
-	iGetListOutParam = CLiwGenericParamList::NewL();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::MCSQueryExecutionL(
-        const TDesC8& aQueryName,
-        const CHnMdBaseKey* aInputData,
-        const CHnMdBaseKey* aFilter,
-        MLiwNotifyCallback* aCallback )
-    {
-    RPointerArray< CHnMdBaseKey > data;
-    CleanupClosePushL( data );
-    data.AppendL( aInputData );
-    if ( aFilter )
-        {
-        data.AppendL( aFilter );
-        }
-
-    CHnMdBaseKey* serviceData = HnMdKeyFactory::CreateL(
-        KServiceContentName, KKeyTypeString, KMatrixMenuData );
-    CleanupStack::PushL( serviceData );
-
-    RPointerArray< CHnMdBaseKey> constructor;
-    CleanupClosePushL( constructor );
-    constructor.AppendL( serviceData );
-    CLiwGenericParamList* constructorLiw = CLiwGenericParamList::NewLC();
-    CLiwGenericParamList* commandLiw = CLiwGenericParamList::NewLC();
-    HnLiwUtils::SetGenericParamListL( constructor, *constructorLiw );
-    HnLiwUtils::SetGenericParamListL( data, *commandLiw );
-
-    TBuf8< KMaxLength > interface( KMCSDataSourceInterface8 );
-    if ( !aQueryName.Compare( KCmdOrganize8 ) ||
-            !aQueryName.Compare( KCmdExecuteAction8 ) )
-        {
-        interface.Copy( KMCSMenuContentInterface8 );
-        }
-
-    delete iServiceHandler;
-    iServiceHandler = NULL;
-    iServiceHandler = CHnServiceHandler::NewL(
-            KMCSService8, interface, aQueryName,
-            EServiceModeAsynchronous, constructorLiw, commandLiw );
-
-    CleanupStack::Pop( commandLiw );
-    CleanupStack::Pop( constructorLiw );
-
-    iServiceHandler->ExecuteL( aCallback , 0 );
-
-    CleanupStack::PopAndDestroy( &constructor );
-    CleanupStack::PopAndDestroy( serviceData );
-    CleanupStack::PopAndDestroy( &data );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommand* CMmFolderCommand::FactoryL( const TDesC& aCommand )
-    {
-    CMmFolderCommand* ret = NULL;
-    if( !aCommand.Compare( KAddFolderCmd ) )
-		{
-		ret = CMmFolderCommandAdd::NewL();
-		}
-    else if ( !aCommand.Compare( KRenameFolderCmd ) )
-		{
-		ret = CMmFolderCommandRename::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteFolderCmd ) )
-		{
-		ret = CMmFolderCommandDelete::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteAppCmd ) )
-		{
-		ret = CMmFolderDeleteApp::NewL();
-		}
-    else if ( !aCommand.Compare( KDeleteSuiteCmd ) )
-		{
-		ret = CMmFolderDeleteSuite::NewL();
-		}
-    else if ( !aCommand.Compare( KMoveToFolderCmd ) )
-        {
-        ret = CMmMoveToFolderCommand::NewL();
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::DoChangeNameL( RBuf& aFolderName, 
-		TInt aDefaultNameLength, RBuf& aNumberInBracket, 
-		CLiwGenericParamList& aFoldersNames, TLiwVariant& aVar,
-		TInt aNumberToAppend )
-    {
-    TBool nameChanged( EFalse );
-    TInt position( KErrNone );
-    TInt count = aFoldersNames.FindFirst( position, KReturnValue8() )
-        ->Value().AsList()->Count();
-    aNumberInBracket.Delete( KOpenBracket().Length(), 
-        aNumberInBracket.Length() - KOpenBracket().Length() );
-    
-    if ( aNumberToAppend < KMaxDigitNumber )
-        {
-        aNumberInBracket.AppendNum( 0 );
-        }
-    
-    for ( TInt i = 0; i < count; i++ )
-        {
-        HnLiwUtils::GetVariantL( aFoldersNames, KLongNamePath8, i, aVar );
-        TPtrC longName;
-        aVar.Get( longName );
-        if ( !aFolderName.Compare( longName ) )
-            {
-            aNumberInBracket.AppendNum( aNumberToAppend );
-            aNumberInBracket.Append( KCloseBracket );
-            aFolderName.Delete( aDefaultNameLength, 
-                aFolderName.Length() - aDefaultNameLength );
-            aFolderName.Append( aNumberInBracket );
-            nameChanged = ETrue;
-            break;
-            }
-        }
-    return nameChanged;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::ChangeNameIfAlreadyExistsL( RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames, TInt aNumberToAppend )
-    {
-    if ( !aFoldersNames )
-        {
-        return;
-        }
-    TLiwVariant var;
-    var.PushL();
-    RBuf numberInBracket;
-    CleanupClosePushL(numberInBracket);
-    numberInBracket.CreateL( KMaxLength );
-    numberInBracket.Append( KOpenBracket );
-    numberInBracket.AppendNum( aNumberToAppend );
-    numberInBracket.Append( KCloseBracket );
-    TInt defaultNameLength = aFolderName.Length();
-    
-    while( DoChangeNameL( aFolderName, defaultNameLength, numberInBracket,
-            *aFoldersNames, var, ++aNumberToAppend ) )
-        ;
-        
-    CleanupStack::PopAndDestroy(&numberInBracket);
-    CleanupStack::PopAndDestroy( &var );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::GetFolderNameL( RBuf& aFolderName, 
-        CLiwGenericParamList* aFoldersNames )
-	{
-	TBool res( EFalse );
-	if( aFolderName.Length() == 0 )
-		{
-	    aFolderName.Append( iSharedResources->GetDefaultFolderName() );
-	    ChangeNameIfAlreadyExistsL( aFolderName, aFoldersNames );
-		}
-
-	CAknTextQueryDialog* dialog =
-	    CAknTextQueryDialog::NewL( aFolderName, CAknQueryDialog::ENoTone );
-	
-	dialog->PrepareLC( R_MENU_FILENAME_QUERY );
-	dialog->SetPromptL( iSharedResources->GetEditFolderName() );
-
-	SetDialogL( dialog );
-    res = dialog->RunLD();
-    SetDialogL( NULL );
-
-	return res;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::GetFolderListL( TInt aItemId )
-    {
-    // Prepare data for GetList
-    iGetListInParam->Reset();
-    PrepareGetListInputL( aItemId );
-    PrepareGetListFolderFilterL();
-    ExternalizeInputListL();
-    
-    // Get folders list from MCS
-    iMcs.GetListL( iSerializedInputList, iSerializedOutputList );
-    InternalizeOutputListL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::GetListL( TInt aItemId )
-    {
-    // Prepare data for GetList
-    iGetListInParam->Reset();
-    PrepareGetListInputL( aItemId );
-    PrepareGetListFilterL();
-    ExternalizeInputListL();
-    
-    // Get folders list from MCS
-    iMcs.GetListL( iSerializedInputList, iSerializedOutputList );
-    InternalizeOutputListL();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::DisplayErrorInfoL( const TDesC& aFolderName )
-    {
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    HBufC* msg = StringLoader::LoadLC(
-            R_FLDR_CANNOT_DELETE_ITEM, aFolderName );
-    dialog->SetTextL( msg->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_INTERRUPTION_INFO );
-
-    CleanupStack::PopAndDestroy( msg );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::SetRequestInterface( MMmActionRequest* aActionRequest )
-    {
-    iActionRequest = aActionRequest;
-    }
-
-void CMmFolderCommand::SetSharedResources( CMmPluginSharedResources* aResources )
-	{
-	iSharedResources = aResources;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::SetDialogL( CAknQueryDialog* aDialog )
-    {
-    iDialog = aDialog;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::RemoveDialogL()
-    {
-    iLockDialog = ETrue;
-    if( iDialog )
-        {
-        iDialog->HandleQueryEditorStateEventL( NULL,
-            MAknQueryControlObserver::EEmergencyCallAttempted,
-            MAknQueryControlObserver::EEditorEmpty );
-        iDialog = NULL;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::AddSubKeyL( CHnMdBaseKey* aInDataKey,
-                                   const TDesC8& aKeyName,
-                                   const TDesC8& aKeyType,
-                                   const TDesC8& aKeyValue )
-    {
-    CHnMdBaseKey* key = HnMdKeyFactory::CreateL(
-    		aKeyName, aKeyType, aKeyValue );
-    CleanupStack::PushL( key );
-    aInDataKey->AddSubKeyL( key );
-    CleanupStack::Pop( key );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommand::AddSubKeyL( CHnMdBaseKey* aInDataKey, 
-                                   const TDesC8& aKeyName, 
-                                   const TDesC8& aKeyType, 
-                                   const TDesC& aKeyValue )
-    {
-    CHnMdBaseKey* key = HnMdKeyFactory::CreateL(
-    		aKeyName, aKeyType, aKeyValue );
-    CleanupStack::PushL( key );
-    aInDataKey->AddSubKeyL( key );
-    CleanupStack::Pop( key );
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-TInt CMmFolderCommand::FolderNameValidationL(RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames)
-    {
-    TValidation allowed(EValidationOk);
-
-    allowed = (TValidation) IllegalCharacterRemoveL(aFolderName, aFoldersNames);
-    if (allowed != EValidationOk)
-        {
-        return allowed;
-        }
-    allowed = (TValidation) CheckValidFileNameL(aFolderName);
-    if (allowed != EValidationOk)
-        {
-        // §qtn_fldr_bad_file_name§
-        // data entry (for example data query New name: §qtn_fldr_item_name_prmpt§ ) is opened
-        DisplayNameErrorInfoL(iSharedResources->GetMsgBadFileName());
-        return allowed;
-        }
-    allowed = (TValidation) CheckAllowedCharsL(aFolderName);
-    if (allowed != EValidationOk)
-        {
-        // information note "Name cannot contain
-        // the characters < > \\ /"" |:*?" §qtn_fldr_illegal_characters§ is displayed.                 
-        DisplayNameErrorInfoL(iSharedResources->GetMsgIllegalCharacters());
-        }
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::IllegalCharacterRemoveL(RBuf& aFolderName,
-        CLiwGenericParamList* aFoldersNames)
-    {
-    TValidation allowed( EValidationOk );
-    // illegal characters are removed
-    TInt pos( 0 );
-    while ( pos < aFolderName.Length() )
-        {
-        if ( aFolderName[pos] == KIllegalCharEnter ||
-             aFolderName[pos] == KIllegalCharLineSeparator )
-            {
-            aFolderName.Delete( pos, 1 );
-            }
-        else
-            {
-            ++pos;
-            }
-        }
-    if (aFolderName.Length() == 0)
-        {
-        aFolderName.Append(iSharedResources->GetDefaultFolderName());
-        ChangeNameIfAlreadyExistsL(aFolderName, aFoldersNames);
-        return allowed;
-        }
-    // only space character is not allowed
-    RBuf trimBuf;
-    CleanupClosePushL(trimBuf);
-    trimBuf.CreateL(aFolderName.Length());
-    trimBuf.Copy(aFolderName);
-    trimBuf.Trim();
-    if (!trimBuf.Length())
-        {
-        allowed = EValidationInvalid;
-        }
-    CleanupStack::PopAndDestroy(&trimBuf);
-
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::CheckValidFileNameL( const TDes& aFolderName )
-    {
-    TValidation allowed(EValidationOk);
-    _LIT( KSingleDot, ".");
-    _LIT( KDoubleDot, "..");
-    
-    if (!aFolderName.Compare( KSingleDot) ||
-            !aFolderName.Compare( KDoubleDot ) ||
-            aFolderName.Length() > KMaxFileName)
-        {
-        allowed = EValidationInvalid;
-        }
-    else
-        {
-        // characters with ascii value less than 32
-        for (TInt index(0); index < aFolderName.Length(); index++)
-            {
-            if (aFolderName[index] < KSpace)
-                {
-                allowed = EValidationInvalid;                
-                }
-            }
-        }    
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::CheckAllowedCharsL( const TDes& aFolderName )
-    {
-    TValidation allowed(EValidationOk);
-
-    for (TInt index(0); index < aFolderName.Length(); index++)
-        {
-        for (TInt c(0); c < KCountNotAllowedChars; c++)
-            {
-            if (TChar( KNotAllowedChars[c] ) == aFolderName[index])
-                {
-                allowed = EValidationNotAllowed;
-                }
-            }
-        }
-
-    return allowed;
-    }
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::DisplayNameErrorInfoL( const TDesC& aMsg )
-    {
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( aMsg );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListInputL(TInt aItemId)
-	{
-    CLiwDefaultMap* inputMap = CLiwDefaultMap::NewLC();
-    
-    // Specify GetList input data
-    inputMap->InsertL( KIdAttrName8, TLiwVariant( TInt32( aItemId ) ) );         	// Item id
-    inputMap->InsertL( KRecursiveSearch8, TLiwVariant( TBool ( EFalse ) ) );	// Recursive Search
-    inputMap->InsertL( KFlatResult8, TLiwVariant ( TBool ( ETrue ) ) );	   	// Flat GetList
-    inputMap->InsertL( KParentOnly8, TLiwVariant ( TBool ( EFalse ) ) );	   	// Get children
-    
-    // Fill GetList input param list
-    InsertToLiwListL(iGetListInParam, KInData8, inputMap);
-
-    CleanupStack::PopAndDestroy(inputMap);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListFolderFilterL()
-	{
-    // Specify GetList filter
-	CLiwDefaultMap* folderFilter = CLiwDefaultMap::NewLC();
-	folderFilter->InsertL( KTypeAttrName8, TLiwVariant( KMenuFolder ) ); // Folders
-	
-	folderFilter->InsertL( KHidden8, TLiwVariant( TBool(EFalse) ) ); // Not Hidden
-	folderFilter->InsertL( KDeleteLocked8, TLiwVariant( TBool(EFalse) ) ); // Not locked
-	
-	// Fill GetList input param list
-	InsertToLiwListL(iGetListInParam, KFilter8, folderFilter);
-	
-	CleanupStack::PopAndDestroy(folderFilter);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::PrepareGetListFilterL()
-    {
-    // Specify GetList filter
-    CLiwDefaultMap* folderFilter = CLiwDefaultMap::NewLC();
-    
-    folderFilter->InsertL( KHidden8, TLiwVariant( TBool(EFalse) ) ); // Not Hidden
-    folderFilter->InsertL( KMissing8, TLiwVariant( TBool(EFalse) ) ); // Not Missing
-    
-    // Fill GetList input param list
-    InsertToLiwListL(iGetListInParam, KFilter8, folderFilter);
-    
-    CleanupStack::PopAndDestroy(folderFilter);
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::InsertToLiwListL(CLiwGenericParamList* aList, 
-		const TDesC8& aKey, const CLiwDefaultMap* aMap)
-	{
-    TLiwVariant liwVar;    
-    liwVar.Set( aMap );
-    liwVar.PushL();
-    TLiwGenericParam livGenParam( aKey, liwVar );
-    livGenParam.PushL();
-    aList->AppendL ( livGenParam );
-    CleanupStack::PopAndDestroy( &livGenParam );
-    CleanupStack::PopAndDestroy( &liwVar ); 
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::ExternalizeInputListL()
-	{
-	iSerializedInputList.Close();
-	iSerializedOutputList.Close();
-	iSerializedInputList.CreateL( iGetListInParam->Size() );
-	RDesWriteStream datastrm( iSerializedInputList );
-	CleanupClosePushL(datastrm);
-	iGetListInParam->ExternalizeL(datastrm);
-	datastrm.CommitL();
-	CleanupStack::PopAndDestroy(&datastrm);
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommand::InternalizeOutputListL()
-	{
-	iGetListOutParam->Reset();
-	if (iSerializedOutputList.Size())
-		{
-		RDesReadStream stream( iSerializedOutputList );
-		CleanupClosePushL( stream );
-		iGetListOutParam->InternalizeL( stream ) ;
-		CleanupStack::PopAndDestroy(&stream);
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommand::GetIntL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsTInt32();
-        }
-    return KErrNotFound;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TPtrC CMmFolderCommand::GetStringL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsDes();
-        }
-    TPtrC ret( KNullDesC16 );
-    return ret; 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderCommand::GetBoolL(
-        const CLiwGenericParamList& aParam, const TDesC8& aPath )
-    {
-    TInt pos( 0 );
-    const TLiwGenericParam* param = aParam.FindFirst( pos, aPath );
-    if( pos != KErrNotFound && param )
-        {
-        return param->Value().AsTBool();
-        }
-    return EFalse; 
-    }
-
-// end of file
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandadd.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Add folder command
- *  Version     : %version: 19.1.7 % << Don't touch! Updated by Synergy at check-out.
- *
-*/
-
- 
-#include <liwcommon.h>
-
-#include "mmfoldercommandadd.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "mmactionrequest.h"
-#include "hnservicehandler.h"
-
-_LIT8( KItemLock, "item_lock" );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd* CMmFolderCommandAdd::NewL()
-	{
-	CMmFolderCommandAdd* self = new( ELeave ) CMmFolderCommandAdd();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd::~CMmFolderCommandAdd()
-	{
-	delete iServiceHandler;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandAdd::CMmFolderCommandAdd()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandAdd::HandleNotifyL( TInt /*aCmdId*/, 
-                                TInt aEventId,
-                                CLiwGenericParamList& aEventParamList,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    if( aEventId != KLiwEventCanceled )
-        {	
-	    TInt pos( 0 );
-        aEventParamList.FindFirst( pos, KIdAttrName8 );
-        if (pos != KErrNotFound)
-            {   
-            CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-            TLiwGenericParam command( KHnRequest, TLiwVariant( KSetFocus ) );
-            TLiwGenericParam dataId(
-                    KItemCustomId8, aEventParamList[pos].Value() );
-            TLiwGenericParam dataParentId(
-                    KSuiteCustomId8, TLiwVariant( iParent ) );
-                      
-            list->AppendL( dataId );
-            list->AppendL( dataParentId );
-            list->AppendL( command );
-            
-            iActionRequest->HandleRequestL( *list );
-            CleanupStack::PopAndDestroy( list );
-            }
-	    MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - END"));
-		}
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ExecuteAddFolderL()
-	{
-    MMPERF(("\t Show dialog - START"));
-    RBuf folder;
-    CleanupClosePushL( folder );
-    folder.CreateL( KMaxFileName );    
-    
-    TInt changed( KErrNone);
-    TInt allowed( EValidationInvalid );
-    do
-        {
-        changed = GetFolderNameL(folder, iGetListOutParam);
-        if (changed && folder.Length() > 0)
-            {
-            allowed = FolderNameValidationL(folder, iGetListOutParam);
-            }
-        }
-    while (allowed != EValidationOk && changed);
-    MMPERF(("\t Show Dialog - END"));
-    if (changed && allowed == EValidationOk)
-        {
-        MMPERF(("\t\t Create folder - START"));
-        CreateFolderL( folder );
-        MMPERF(("\t\t Create folder - END"));
-        }
-    CleanupStack::PopAndDestroy( &folder );
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::ExecuteActionL( 
-                                       CLiwGenericParamList* aEventParamList )
-    {
-	MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - START"));
-	ASSERT( aEventParamList );
-	TBool lock = GetBoolL( *aEventParamList, KItemLock );
-	if( !lock )
-	    {
-	    iParent = GetIntL( *aEventParamList, KItemTypeFolder8 );
-	    GetFolderListL( iParent );
-	    ExecuteAddFolderL();
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandAdd::CreateFolderL( const TDesC& aFolder )
-
-    {
-	HBufC8* parentTemp = HnConvUtils::NumToStr8LC( iParent );
-
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId );
-    CleanupStack::PushL( inDataKey );
-
-    AddSubKeyL( inDataKey, KType8, KKeyTypeString, KMenuFolder8 );
-    AddSubKeyL( inDataKey, KDeleteLocked8, KKeyTypeBoolean, KStringFalse8 );
-    AddSubKeyL( inDataKey, KMcsAppGroupName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsTitleName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsShortName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KMcsLongName8, KKeyTypeString, aFolder );
-    AddSubKeyL( inDataKey, KParentId8, KKeyTypeInteger, *parentTemp );
-
-    MCSQueryExecutionL( KCmdAdd8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( inDataKey );
-    CleanupStack::PopAndDestroy( parentTemp );
-    }
-	
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommanddelete.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Delete folder command
- *
-*/
-
- 
-#include <liwcommon.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <aknnotedialog.h>
-#include <AknQueryDialog.h>
-#include <AknWaitDialog.h> 
-
-#include "mmfoldercommanddelete.h"
-#include "mmdialogmanager.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-#include "hnliwutils.h"
-#include "menudebug.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnservicehandler.h"
-#include "mmpluginsharedresources.h"
-
-#include <avkon.rsg>
-#include <matrixmenu.rsg>
-#include <mmfolderuiextplugin.rsg>
-
-
-_LIT8( KChildrenCount8, "children_count" );
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete* CMmFolderCommandDelete::NewL()
-	{
-	CMmFolderCommandDelete* self = new( ELeave ) CMmFolderCommandDelete();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::~CMmFolderCommandDelete()
-	{
-	delete iServiceHandler;
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        }
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandDelete::CMmFolderCommandDelete()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandDelete::HandleNotifyL(  TInt /*aCmdId*/, 
-                                TInt aEventId,
-                                CLiwGenericParamList& /* aEventParamList */,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    if( aEventId != KLiwEventCanceled  )
-        {
-        StopWaitDialogL();
-        MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - END"));
-        }
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandDelete::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CFolderUiExtPlugin::DeleteFolderCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    TInt32 childrenCount = GetIntL( *aEventParamList, KChildrenCount8 );
-	
-	if( childrenCount == 0 )
-	    {
-        if( DeleteQueryL( currentName ) )
-            {
-            DeleteItemFromMcsL( id, currentName );
-
-            CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-            TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-            TLiwGenericParam itemCustomId(
-                    KItemCustomId8, TLiwVariant( static_cast<TInt32>( id ) ) );
-            list->AppendL( itemCustomId );
-            list->AppendL( command );
-            iActionRequest->HandleRequestL( *list );
-            CleanupStack::PopAndDestroy( list );
-        	}
-	    }
-	else
-	    {
-	    DisplayErrorInfoL( currentName );
-	    }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//  
-void CMmFolderCommandDelete::MoveFocusBeforeDeleteL()
-    {
-    CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-    TLiwGenericParam command( KHnRequest, TLiwVariant( KMoveFocusBeforeDelete ) );
-
-    list->AppendL( command );
-    
-    iActionRequest->HandleRequestL( *list );
-    CleanupStack::PopAndDestroy( list );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StartWaitDialogL( const TDesC& aLabel )
-    {
-    if( iWaitDialog )
-        {
-        delete iWaitDialog;
-        iWaitDialog = NULL;
-        }
- 
-    // For the wait dialog
-    iWaitDialog = new (ELeave) CAknWaitDialog(
-        REINTERPRET_CAST( CEikDialog**, &iWaitDialog ) );
-    iWaitDialog->SetCallback( this );
-    iWaitDialog->SetTextL( aLabel );
-    iWaitDialog->ExecuteLD( R_MENU_WAIT_DIALOG );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::DialogDismissedL(TInt /*aButtonId*/)
-    {
-    // No implementation required.
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-void CMmFolderCommandDelete::StopWaitDialogL()
-    {
-    if( iWaitDialog )
-        {
-        iWaitDialog->ProcessFinishedL(); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//	
-TBool CMmFolderCommandDelete::DeleteQueryL( const TDesC& aFolderName )
-	{
-	HBufC* msg = StringLoader::LoadLC(
-			R_MENU_EDIT_DELETE_QUERY_TEXT, aFolderName );
-	CAknQueryDialog* dialog = CAknQueryDialog::NewL();
-	SetDialogL( dialog );
-	TBool result( dialog->ExecuteLD( R_MENU_EDIT_DELETE_QUERY, *msg ) );
-	SetDialogL( NULL );
-    CleanupStack::PopAndDestroy( msg );
-    return result;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::DeleteItemFromMcsL(
-        TInt aId, const TDesC& aFolderName )
-    {
-	MMPERF(("\t\t Delete folder - START"));
-	
-	GetListL( aId );
-    TInt pos( 0 );
-    TInt count( 0 );
-    const TLiwGenericParam* res =
-            iGetListOutParam->FindFirst( pos, KReturnValue8() );
-    if( pos != KErrNotFound && res )
-        {
-        count = res->Value().AsList()->Count();
-        }
-    
-    if( count == 0 )
-        {
-        StartWaitDialogL( iSharedResources->GetMsgFolderDeleting() );
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-
-        HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-        AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-        MCSQueryExecutionL( KCmdDelete8, inDataKey, NULL, this );
-
-        CleanupStack::PopAndDestroy( id );
-        CleanupStack::PopAndDestroy( inDataKey );
-        }
-    else
-        {
-        HBufC* message = StringLoader::LoadLC(
-                R_FLDR_CANNOT_DELETE_ITEM, aFolderName );
-        CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-                CAknNoteDialog::EConfirmationTone,
-                CAknNoteDialog::ELongTimeout );
-        dialog->SetTextL( message->Des() );
-        dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-        
-        CleanupStack::PopAndDestroy( message );
-        }
-	
-	MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandDelete::UninstallL( TInt aId )
-    {
-    MMPERF(("\t\t Delete folder - START"));
-    
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-        KInData8, KKeyTypeMap, KDefaultParentId8 );
-    CleanupStack::PushL( inDataKey );
-
-    HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-    AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-    AddSubKeyL( inDataKey, KAction, KKeyTypeString8, KActionRemove );
-    MCSQueryExecutionL( KCmdExecuteAction8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( id );
-    CleanupStack::PopAndDestroy( inDataKey );
-    
-    MMPERF(("\t\t Delete folder - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite* CMmFolderDeleteSuite::NewL()
-	{
-	CMmFolderDeleteSuite* self = new( ELeave ) CMmFolderDeleteSuite();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ConstructL()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::~CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteSuite::CMmFolderDeleteSuite()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteSuite::ExecuteActionL(
-        CLiwGenericParamList* /* aEventParamList */ )
-    {
-//    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp* CMmFolderDeleteApp::NewL()
-	{
-	CMmFolderDeleteApp* self = new( ELeave ) CMmFolderDeleteApp();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ConstructL()
-	{
-	
-	}
-
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::~CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderDeleteApp::CMmFolderDeleteApp()
-	{
-	
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderDeleteApp::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    MMPERF(("CMmFolderDeleteApp::DeleteAppCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    UninstallL( id );
-    }
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfoldercommandrename.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Rename folder command
- *
-*/
-
-
- 
-#include <liwcommon.h>
-
-#include "mmfoldercommandrename.h"
-#include "mmactionrequest.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "hnservicehandler.h"
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename* CMmFolderCommandRename::NewL()
-	{
-	CMmFolderCommandRename* self = new( ELeave ) CMmFolderCommandRename();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandRename::ConstructL()
-	{
-	BaseConstructL();
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename::~CMmFolderCommandRename()
-	{
-	delete iServiceHandler;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolderCommandRename::CMmFolderCommandRename()
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderCommandRename::HandleNotifyL( TInt /*aCmdId*/, 
-                                TInt /*aEventId*/,
-                                CLiwGenericParamList& /*aEventParamList*/,
-                                const CLiwGenericParamList& /*aInParamList*/ )
-    {  
-    MMPERF(("CFolderUiExtPlugin::RenameFolderCommandL - END"));
-	return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolderCommandRename::ExecuteActionL( 
-                                        CLiwGenericParamList* aEventParamList )
-    {
-  	MMPERF(("CFolderUiExtPlugin::RenameFolderCommandL - START"));
-    TInt id = GetIntL( *aEventParamList, KIdAttrName8 );
-    TPtrC currentName = GetStringL( *aEventParamList, KName8 );
-    
-    RBuf folder;
-    CleanupClosePushL( folder );
-    folder.CreateL( KMaxFileName );
-    folder.Copy( currentName );
-
-    MMPERF(("\t Show dialog"));
-    TInt changed( KErrNone);
-    TInt allowed( EValidationInvalid );
-    do
-        {
-        changed = GetFolderNameL( folder );
-        if (changed && folder.Length() > 0)
-            {
-            allowed = FolderNameValidationL( folder );
-            }
-        }
-    while (allowed != EValidationOk && changed);
-    
-	if( changed && allowed == EValidationOk )
-        {
-        MMPERF(("\t\t Rename folder - START"));
-        RenameFolderL( id , folder );
-        CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-        TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-        TLiwGenericParam itemCustomId(
-                KItemCustomId8, TLiwVariant( static_cast<TInt32>( id ) ) );
-        list->AppendL( itemCustomId );
-        list->AppendL( command );
-        iActionRequest->HandleRequestL( *list );
-        CleanupStack::PopAndDestroy( list );        
-        MMPERF(("\t\t Rename folder - END"));
-        }
-
-	CleanupStack::PopAndDestroy( &folder );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-// 
-void CMmFolderCommandRename::RenameFolderL( TInt aId, RBuf& aFolderName )
-    {
-    HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-    
-    CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId );
-    CleanupStack::PushL( inDataKey );
-    
-    AddSubKeyL( inDataKey, KIdParam, KKeyTypeInteger, *id );
-    AddSubKeyL( inDataKey, KMcsTitleName8, KKeyTypeString, aFolderName );
-    AddSubKeyL( inDataKey, KMcsShortName8, KKeyTypeString, aFolderName );
-    AddSubKeyL( inDataKey, KMcsLongName8, KKeyTypeString, aFolderName );
-    
-	MCSQueryExecutionL( KCmdAdd8, inDataKey, NULL, this );
-
-    CleanupStack::PopAndDestroy( inDataKey );
-    CleanupStack::PopAndDestroy( id );
-    }
-	
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmfolderuiextplugin.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Folder UI extension plugin
- *
-*/
-
-
-
-#include <liwcommon.h>
-
-#include "mmpluginsharedresources.h"
-#include "menudebug.h"
-#include "mmfolderuiextplugin.h"
-#include "mmfolderuiextpluginconstants.h"
-#include "mmfoldercommand.h"
-#include "hnglobals.h"
-#include "mmguiconstants.h"
-#include <apgwgnam.h>
-#include <w32std.h>
-#include <apgtask.h>
-#include <AknQueryDialog.h>
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin* CMmFolderUiExtPlugin::NewL(
-        MMmActionRequest& aActionRequest )
-	{
-	CMmFolderUiExtPlugin* self =
-	    new( ELeave ) CMmFolderUiExtPlugin( aActionRequest );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolderUiExtPlugin::ConstructL()
-	{
-	iSharedResources = NULL;
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin::~CMmFolderUiExtPlugin()
-	{
-    delete iCommand;
-    iCommand = NULL;
-    delete iSharedResources;
-    iSharedResources = NULL;
-	}
-
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolderUiExtPlugin::CMmFolderUiExtPlugin( MMmActionRequest& aActionRequest ):
-        iActionRequest( aActionRequest )
-	{
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolderUiExtPlugin::ExecuteActionL( const TDesC& aCommand,
-    					 CLiwGenericParamList* aEventParamList )
-	{
-	TInt err = KErrNone;
-	DEBUG16( ( "\t_MM_: CMmFolderUiExtPlugin::ExecuteActionL(): %S", 
-			&aCommand ) );
-	
-	if( !aCommand.Compare( KCommandDeleteDialog ) && iCommand )
-        {
-        iCommand->RemoveDialogL();
-        }
-	else if( IsMatrixInForegroundL() )
-	    {
-	    // Resources lazy initialization
-	    if (!iSharedResources)
-	    	{
-	    	iSharedResources = CMmPluginSharedResources::NewL();
-	    	}
-	    
-	    delete iCommand;
-	    iCommand = NULL;
-	    iCommand = CMmFolderCommand::FactoryL( aCommand );
-	    if( iCommand )
-	    	{
-	    	iCommand->SetRequestInterface( &iActionRequest );
-	    	iCommand->SetSharedResources( iSharedResources );
-	    	iCommand->ExecuteActionL( aEventParamList );
-	    	}
-	    else
-	    	{
-	    	DEBUG16( ( "\t_MM_: Unsupported command: %S", &aCommand ) );
-	    	err = KErrNotSupported;
-	    	}
-	    }
-    
-	return err;
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmFolderUiExtPlugin::IsMatrixInForegroundL()
-    {
-    TBool res( EFalse );
-    RWsSession wsSession;
-    User::LeaveIfError( wsSession.Connect() );
-    CleanupClosePushL( wsSession );
-    TApaTaskList taskList = TApaTaskList( wsSession );
-    TApaTask foregroundTask = taskList.FindByPos( 0 );
-    CApaWindowGroupName* wgName =
-        CApaWindowGroupName::NewLC( wsSession, foregroundTask.WgId() );
-    if( wgName->AppUid() == KUidMatrixMenuApp )
-        {
-        res = ETrue;
-        }
-    CleanupStack::PopAndDestroy( wgName );
-    CleanupStack::PopAndDestroy( &wsSession );
-    return res;
-    }
-
-
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmmovetofoldercommand.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,637 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Add folder command
- *
-*/
-
- 
-#include <liwcommon.h>
-
-#include "mmmovetofoldercommand.h"
-#include "hnglobals.h"
-#include "menudebug.h"
-#include "hnconvutils.h"
-#include "hnliwutils.h"
-#include "hnutils.h"
-
-#include "hnmdbasekey.h"
-#include "hnmdkeyfactory.h"
-#include "menudebug.h"
-#include "mmactionrequest.h"
-#include "hnservicehandler.h"
-#include "mmpluginsharedresources.h"
-
-#include <StringLoader.h>
-#include <liwcommon.h>
-#include <avkon.rsg>
-#include <avkon.mbg>
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <aknnotedialog.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <mmfolderuiextplugin.rsg>
-#include <matrixmenu.rsg>
-
-_LIT( KFolderClosed, "0\t" );
-_LIT( KFolderOpened, "1\t" );
-const TInt KSoftkeyBack( 0 );
-
-// ============================ MEMBER FUNCTIONS =============================
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand* CMmMoveToFolderCommand::NewL()
-    {
-    CMmMoveToFolderCommand* self = new( ELeave ) CMmMoveToFolderCommand();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ConstructL()
-    {
-    BaseConstructL();
-    iLockDialog = EFalse;
-    iFlagLeave = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand::~CMmMoveToFolderCommand()
-    {
-    iItemName.Close();
-    iFolderName.Close();
-    iWidgetType.Close();
-    iOpenedHierarchy.ResetAndDestroy();
-    iOpenedHierarchy.Close();
-    delete iServiceHandler;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmMoveToFolderCommand::CMmMoveToFolderCommand()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmMoveToFolderCommand::HandleNotifyL(
-        TInt /*aCmdId*/, 
-        TInt aEventId,
-        CLiwGenericParamList& /*aEventParamList*/,
-        const CLiwGenericParamList& /*aInParamList*/ )
-    {
-    if (aEventId != KLiwEventCanceled)
-        {
-        NotificationMovingCompleteL();
-        iItemName.Close();
-        iFolderName.Close();
-        }
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ExecuteActionL(
-        CLiwGenericParamList* aEventParamList )
-    {
-    
-    //
-    // Prepare move to folder operation
-    MMPERF(("CMmMoveToFolderCommand::ExecuteActionL - START"));
-    iItemId = GetIntL( *aEventParamList, KIdAttrName8 );
-    iParentId = GetIntL( *aEventParamList, KFolderAttrName8 );
-    TPtrC widget = GetStringL( *aEventParamList, KWidgetAttrName8 );
-    TPtrC currentTempName = GetStringL( *aEventParamList, KName8 );
-    
-    iItemName.Close();
-    iItemName.CreateL( currentTempName );
-    
-    iWidgetType.Close();
-    iWidgetType.CreateL( widget );
-    
-    CMmFolder* rootFolder = CMmFolder::NewL();
-    CleanupStack::PushL( rootFolder );
-   
-    rootFolder->SetNameL( iSharedResources->GetRootFolder());
-    rootFolder->SetId( KRootId );
-    iOpenedHierarchy.AppendL( rootFolder );
-    CleanupStack::Pop( rootFolder );
-    iLockDialog = EFalse;
-
-    // Excute move to folder operation
-    TInt err( KErrNone );
-    
-	// Get folder list form MCS
-	GetFolderListL( CurrentFolder()->Id() );
-	
-	RPointerArray< CMmFolder > folders;
-	CleanupResetAndDestroyPushL( folders );
-
-	// Get folders from GetList output
-	GetFoldersL(folders);
-	
-    // if foler already exists, reopen options menu
-    do
-    	{
-    	TRAP( err, ExecuteMoveToFolderL());
-    	}
-    while ( err == KErrAlreadyExists && folders.Count() > 0 );
-    
-    // if any different leave was trapped, pass it on
-    if ( err != KErrNone )
-    	{
-    	User::Leave( err );
-    	}
-    
-    CleanupStack::PopAndDestroy( &folders );
-    //MMPERF(("CFolderUiExtPlugin::AddFolderCommandL - END"));
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolder* CMmMoveToFolderCommand::CurrentFolder()
-    {
-    ASSERT( iOpenedHierarchy.Count() > 0 );
-    return iOpenedHierarchy[ iOpenedHierarchy.Count() - 1 ];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::MoveToFolderL( TInt aId, TInt aFolderId,
-                                            TInt aBeforeItemId )
-    {
-    if( aFolderId != iParentId )
-        {
-        CHnMdBaseKey* inDataKey = HnMdKeyFactory::CreateL(
-            KInData8, KKeyTypeMap, KDefaultParentId8 );
-        CleanupStack::PushL( inDataKey );
-        CHnMdBaseKey* listIds = HnMdKeyFactory::CreateL(
-            KIdsList, KKeyTypeList, KNullDesC8 );
-
-        HBufC8* id = HnConvUtils::NumToStr8LC( aId );
-        AddSubKeyL( listIds, KIdParam, KKeyTypeBoolean, *id );
-        CleanupStack::PopAndDestroy();
-        
-        inDataKey->AddSubKeyL( listIds );
-        HBufC8* folderId = HnConvUtils::NumToStr8LC( aFolderId );
-        AddSubKeyL( inDataKey, KFolderId8, KKeyTypeBoolean, *folderId );
-        CleanupStack::PopAndDestroy( folderId );
-
-        if( aBeforeItemId != KErrNotFound )
-            {
-            HBufC8* itemId = HnConvUtils::NumToStr8LC( aBeforeItemId );
-            AddSubKeyL( inDataKey, KBeforeItemId8, KKeyTypeBoolean, *itemId );
-            CleanupStack::PopAndDestroy( itemId );
-            }
-        MCSQueryExecutionL( KCmdOrganize8, inDataKey, NULL, this );
-        iOpenedHierarchy.ResetAndDestroy();
-
-        CleanupStack::PopAndDestroy( inDataKey );
-        CLiwGenericParamList* list = CLiwGenericParamList::NewLC();
-        TLiwGenericParam command( KHnRequest, TLiwVariant( KDisableActionsForItem ) );
-        TLiwGenericParam itemCustomId(
-                KItemCustomId8, TLiwVariant( static_cast<TInt32>( aId ) ) );
-        list->AppendL( itemCustomId );
-        list->AppendL( command );
-        iActionRequest->HandleRequestL( *list );
-        CleanupStack::PopAndDestroy( list );  
-        }
-    else
-        {
-        NotificationItemAlreadyStoredL();
-        if( iOpenedHierarchy.Count() > 0 && !iLockDialog )
-            {
-            if( CurrentFolder()->Id() == iParentId && iParentId != KRootId )
-                {
-                StepBackInHierarchy();
-                }
-            else if ( iParentId == KRootId )
-                {
-                User::Leave( KErrAlreadyExists );
-                }
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::SelectFolderL(
-        const RPointerArray< CMmFolder >& aFolderContent )
-    {
-    CDesCArrayFlat* folders =
-        new( ELeave )CDesCArrayFlat( aFolderContent.Count() + 1 );
-    CleanupStack::PushL( folders );
-    RBuf currentFolder;
-    CleanupClosePushL( currentFolder );
-    currentFolder.CreateL(
-        KFolderOpened().Length() + CurrentFolder()->Name().Length() );
-    currentFolder.Append( KFolderOpened );
-    currentFolder.Append( CurrentFolder()->Name() );
-    folders->AppendL( currentFolder );
-    
-    for( int i( 0 ); i<aFolderContent.Count(); i++ )
-        {
-        CMmFolder* folder = aFolderContent[ i ];
-        RBuf name;
-        CleanupClosePushL( name );
-        name.CreateL( KFolderClosed().Length() + folder->Name().Length() );
-        name.Append( KFolderClosed );
-        name.Append( folder->Name() );
-        folders->AppendL( name );
-        CleanupStack::PopAndDestroy( &name );
-        }
-    
-    TInt selected( SelectFolderFromListL(
-        folders, CurrentFolder()->Id() == KRootId ) );
-    
-    switch( selected )
-        {
-        case EAknSoftkeyBack:
-            {
-            if( iOpenedHierarchy.Count() > 1 && !iLockDialog )
-                {
-                StepBackInHierarchy();
-                break;
-                }
-            }
-        case EAknSoftkeyExit:
-            {
-            iItemName.Close();
-            iFolderName.Close();
-            iOpenedHierarchy.ResetAndDestroy();
-            break;
-            }
-        default:
-            {
-            if( selected > 0 )
-                {
-                CMmFolder* folder = CMmFolder::NewL();
-                CleanupStack::PushL( folder );
-                folder->SetNameL( aFolderContent[ selected - 1 ]->Name() );
-                folder->SetId( aFolderContent[ selected - 1 ]->Id() );
-                iOpenedHierarchy.AppendL( folder );
-                CleanupStack::Pop( folder );
-                }
-            else
-                {
-                iFolderName.Close();
-                iFolderName.CreateL( CurrentFolder()->Name() );
-                MoveToFolderL( iItemId, CurrentFolder()->Id() );
-                }
-            break;
-            }
-        }
-    
-    CleanupStack::PopAndDestroy( &currentFolder );
-    CleanupStack::PopAndDestroy( folders );
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmMoveToFolderCommand::SelectFolderFromListL(
-        CDesCArrayFlat* aItems, TBool aIsRoot )
-    {
-    TInt selected( KErrNotFound );
-    
-    CAknListQueryDialog* dialog =
-        new ( ELeave ) CAknListQueryDialog( &selected );
-    if( aIsRoot )
-        {
-        dialog->PrepareLC( R_MENU_EDIT_MOVE_TO_FOLDER_SELECT_CANCEL_QUERY );
-        }
-    else
-        {
-        dialog->PrepareLC( R_MENU_EDIT_MOVE_TO_FOLDER_SELECT_BACK_QUERY );
-        }
-    dialog->SetItemTextArray( aItems );
-    dialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    CArrayPtr<CGulIcon>* icons = GetFolderIconsL();
-    dialog->SetIconArrayL( icons );
-    dialog->ListBox()->SetCurrentItemIndexAndDraw( 0 );
-    
-    if( !iLockDialog )
-        {
-        SetDialogL( dialog );
-        TInt softkey ( KErrNotFound );
-        softkey = dialog->RunLD();
-        SetDialogL( NULL );
-        
-        if( softkey == KSoftkeyBack )
-            {
-            selected = EAknSoftkeyBack;
-            }
-        else if( selected < 0 ||
-                ( softkey != EAknSoftkeyOk && softkey != EAknSoftkeySelect ) )
-            {
-            selected = EAknSoftkeyExit;
-            }
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy( dialog );
-        selected = EAknSoftkeyExit;
-        }
-
-    return selected;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-CArrayPtr<CGulIcon>* CMmMoveToFolderCommand::GetFolderIconsL()
-    {
-    CArrayPtr<CGulIcon>* icons = new( ELeave )CAknIconArray( 10 );
-    CleanupStack::PushL( icons );
-    CFbsBitmap* folderClosed     = NULL;
-    CFbsBitmap* folderClosedMask = NULL;
-        
-    AknIconUtils::CreateIconL( folderClosed, folderClosedMask,
-            AknIconUtils::AvkonIconFileName(),
-            EMbmAvkonQgn_prop_folder_small,
-            EMbmAvkonQgn_prop_folder_small_mask );
-    CleanupStack::PushL( folderClosed );
-    CleanupStack::PushL( folderClosedMask );
-    icons->AppendL( CGulIcon::NewL( folderClosed, folderClosedMask ) );
-    CleanupStack::Pop( 2 );
-
-    CFbsBitmap* folderOpened     = NULL;
-    CFbsBitmap* folderOpenedMask = NULL;
-    AknIconUtils::CreateIconL( folderOpened, folderOpenedMask,
-            AknIconUtils::AvkonIconFileName(),
-            EMbmAvkonQgn_prop_folder_current, 
-            EMbmAvkonQgn_prop_folder_current_mask );
-    CleanupStack::PushL( folderOpened );
-    CleanupStack::PushL( folderOpenedMask );
-    icons->AppendL( CGulIcon::NewL( folderOpened, folderOpenedMask ) );
-    CleanupStack::Pop( 3 );
-    return icons;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-HBufC* CMmMoveToFolderCommand::GetFromResourceLC( TInt aIdentifier )
-    {
-    HBufC* string = StringLoader::LoadLC( aIdentifier );
-    return string;
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-void CMmMoveToFolderCommand::NotificationMovingCompleteL()
-    {
-    CDesCArrayFlat* items = new(ELeave) CDesCArrayFlat( 1 );
-    CleanupStack::PushL( items );
-    items->AppendL( iItemName );
-    items->AppendL( iFolderName );
-    
-    HBufC* msg = StringLoader::LoadLC( R_APPS_NOTE_MOVE_TO_FOLDER, *items );
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( msg->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_COMPLETE_NOTIFICATION );
-    
-    CleanupStack::PopAndDestroy( msg );
-    CleanupStack::PopAndDestroy( items );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Action resolving function.
-// ---------------------------------------------------------------------------
-//  
-void CMmMoveToFolderCommand::NotificationItemAlreadyStoredL()
-    {
-    HBufC* message = StringLoader::LoadLC( R_APPS_NOTE_ITEM_ALREADY_STORED );
-    CAknNoteDialog* dialog = new (ELeave) CAknNoteDialog(
-            CAknNoteDialog::EConfirmationTone,
-            CAknNoteDialog::ELongTimeout );
-    dialog->SetTextL( message->Des() );
-    dialog->ExecuteDlgLD( R_MENU_EDIT_MOVING_ABORT_NOTIFICATION );
-    
-    CleanupStack::PopAndDestroy( message );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::StepBackInHierarchy()
-	{
-	// Remove last folder from iOpenedHierarchy
-	CMmFolder* folder = CurrentFolder();
-	iOpenedHierarchy.Remove( iOpenedHierarchy.Count() - 1 );
-	delete folder;
-	}
-
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::ExecuteMoveToFolderL()
-	{
-    while (iOpenedHierarchy.Count() > 0)
-    	{
-    	// Get folder list form MCS
-    	GetFolderListL( CurrentFolder()->Id() );
-    	
-    	RPointerArray< CMmFolder > folders;
-    	CleanupResetAndDestroyPushL( folders );
-
-    	// Get folders from GetList output
-    	GetFoldersL(folders);
-
-    	// Perform further folder selection or move operation
-    	if( folders.Count() > 0 )
-    		{
-    		SelectFolderL( folders );
-    		}
-    	else
-    		{
-    		iFolderName.Close();
-    		iFolderName.CreateL( CurrentFolder()->Name() );
-    		MoveToFolderL( iItemId, CurrentFolder()->Id() );
-    		}
-    	CleanupStack::PopAndDestroy( &folders );
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmMoveToFolderCommand::GetFoldersL(RPointerArray<CMmFolder >& aFolderArray)
-	{
-	TInt pos( 0 );
-	TInt count = iGetListOutParam->FindFirst(
-			pos, KReturnValue8() )->Value().AsList()->Count();
-	TLiwVariant var; var.PushL();
-	
-	// Get propper widget names depending from view type
-	// and append to aFolderArray
-	for( TInt i = 0; i < count; i++ )
-		{
-		HnLiwUtils::GetVariantL( *iGetListOutParam, KIdPath8, i, var );
-		TInt32 id;
-		var.Get( id );
-
-		if (id != iItemId)
-			{
-			CMmFolder* folder = CMmFolder::NewL();
-			CleanupStack::PushL( folder );
-			
-			folder->SetId( id );
-			
-			TPtrC title;
-			if( !iWidgetType.Compare( KWidgetTypeList ) )
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KLongNamePath8, i, var );
-				}
-			else if( !iWidgetType.Compare( KWidgetTypeGrid ) )
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KShortNamePath8, i, var );
-				}
-			else
-				{
-				HnLiwUtils::GetVariantL(
-						*iGetListOutParam, KAppGroupNamePath8, i, var );
-				}
-			var.Get( title );
-			folder->SetNameL( title );
-			aFolderArray.AppendL( folder );
-			
-			CleanupStack::Pop( folder );
-			}
-		}
-	CleanupStack::PopAndDestroy(&var);
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmFolder* CMmFolder::NewL()
-    {
-    CMmFolder* self = new( ELeave ) CMmFolder();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::ConstructL()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmFolder::~CMmFolder()
-    {
-    iName.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-CMmFolder::CMmFolder()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::SetNameL( const TDesC& aName )
-    {
-    iName.Close();
-    iName.CreateL( aName );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-const TDesC& CMmFolder::Name() const
-    {
-    return iName;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmFolder::SetId( TInt aId )
-    {
-    iId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmFolder::Id()
-    {
-    return iId;
-    }
-    
-// end of file
-
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmpluginsharedresources.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2007-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: Holds plugins shared resources
-*
-* Description: 
-* Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-#include <StringLoader.h>
-#include "mmpluginsharedresources.h"
-#include "hnutils.h"
-
-#include <mmfolderuiextplugin.rsg>
-
-_LIT( KResourceFile, "mmfolderuiextplugin.rsc" );
-
-// ============================ MEMBER FUNCTIONS =============================
-// ---------------------------------------------------------------------------
-// Symbian factory function.
-// ---------------------------------------------------------------------------
-//
-CMmPluginSharedResources* CMmPluginSharedResources::NewL()
-	{
-	CMmPluginSharedResources* self = new( ELeave ) CMmPluginSharedResources();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// Symbian second phase constructor.
-// ---------------------------------------------------------------------------
-//
-void CMmPluginSharedResources::ConstructL()
-	{
-	// Init resources
-    iLanguageFilePath = HnUtils::LocateNearestLanguageFileLC( KResourceFile );
-    CleanupStack::Pop(iLanguageFilePath);
-	iResourceOffset = CCoeEnv::Static()->AddResourceFileL( 
-			iLanguageFilePath->Des() );
-	
-    iDefFolderName = StringLoader::LoadLC( R_MENU_EDIT_DEFAULT_FOLDER_NAME );
-    CleanupStack::Pop(iDefFolderName);
-    iEditFolderName = StringLoader::LoadLC( R_MENU_EDIT_FOLDER_NAME );
-    CleanupStack::Pop(iEditFolderName);
-    iMsgBadFileName = StringLoader::LoadLC( R_MENU_EDIT_FLDR_BAD_FILE_NAME );
-    CleanupStack::Pop(iMsgBadFileName);
-    iMsgBadChar = StringLoader::LoadLC(R_MENU_EDIT_FLDR_ILLEGAL_CHARACTERS);
-    CleanupStack::Pop(iMsgBadChar);  
-    iRootFolder = StringLoader::LoadLC( R_MENU_EDIT_ROOT_FOLDER );
-    CleanupStack::Pop(iRootFolder);
-	iDelWaitNote = StringLoader::LoadLC(R_MENU_EDIT_FLDR_DELETING_WAIT_NOTE);
-	CleanupStack::Pop(iDelWaitNote);
-	}
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMmPluginSharedResources::~CMmPluginSharedResources()
-	{
-	delete iDelWaitNote;
-	delete iRootFolder;
-	delete iMsgBadChar;
-	delete iMsgBadFileName;
-	delete iEditFolderName;
-	delete iDefFolderName;
-	delete iLanguageFilePath;
-	CCoeEnv::Static()->DeleteResourceFile( iResourceOffset );
-	}
--- a/menufw/menufwui/mmextensions/mmfolderuiextension/src/mmproxy.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-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:   Proxy for the folder UI extension plugin
- *
-*/
-
-
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "mmfolderuiextpluginconstants.h"
-#include "mmfolderuiextplugin.h"
-
-// Map the implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( KCFolderUiExtPluginUid,	CMmFolderUiExtPlugin::NewL )
-	};
-
-// Exported proxy for instantiation method resolution
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount )
-	{
-	aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
-	return ImplementationTable;
-	}
-	
-// End of file
--- a/menufw/menufwui/mmextensions/rom/mmextensions.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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:  IBY file for the mmextensions space 3.0 subsystem
- *
-*/
-
-
-#ifndef MMEXTENSION_IBY
-#define MMEXTENSION_IBY
-
-file=ABI_DIR\BUILD_DIR\mmextensionmanager.dll    	SHARED_LIB_DIR\mmextensionmanager.dll
-
-ECOM_PLUGIN(mmfolderuiextensionplugin.dll, mmfolderuiextensionplugin.rsc) 
-
-#endif // MMEXTENSION_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/mmextensions/rom/mmextensions_resources.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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:  IBY file for the mmextensions space 3.0 subsystem
- *
-*/
-
-
-#ifndef MMEXTENSION_RESOURCES_IBY
-#define MMEXTENSION_RESOURCES_IBY
-
-data=\epoc32\data\z\resource\apps\mmfolderuiextplugin.rsc  resource\apps\mmfolderuiextplugin.rsc 
-
-#endif // MMEXTENSION_RESOURCES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/bwins/mmwidgetsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	?GetPreviousHighlight@CMmWidgetContainer@@UAEHXZ @ 1 NONAME ; int CMmWidgetContainer::GetPreviousHighlight(void)
-	?HandleItemRemovalL@CMmWidgetContainer@@UAEXXZ @ 2 NONAME ; void CMmWidgetContainer::HandleItemRemovalL(void)
-	?SetObserver@CMmWidgetContainer@@UAEXPAVMMmWidgetObserver@@@Z @ 3 NONAME ; void CMmWidgetContainer::SetObserver(class MMmWidgetObserver *)
-	?ItemIconZoomL@CMmWidgetContainer@@QAEXH@Z @ 4 NONAME ; void CMmWidgetContainer::ItemIconZoomL(int)
-	?SetDefaultHighlightL@CMmListBoxContainer@@UAEXH@Z @ 5 NONAME ; void CMmListBoxContainer::SetDefaultHighlightL(int)
-	?GetItemRectL@CMmWidgetContainer@@QAE?AVTRect@@H@Z @ 6 NONAME ; class TRect CMmWidgetContainer::GetItemRectL(int)
-	?ScrollToItemL@CMmWidgetContainer@@QAEHH@Z @ 7 NONAME ; int CMmWidgetContainer::ScrollToItemL(int)
-	?IsHighlightVisible@CMmWidgetContainer@@UAEHXZ @ 8 NONAME ; int CMmWidgetContainer::IsHighlightVisible(void)
-	?HandleBackgroundGainedL@CMmWidgetContainer@@UAEXXZ @ 9 NONAME ; void CMmWidgetContainer::HandleBackgroundGainedL(void)
-	?SetHasFocusL@CMmWidgetContainer@@QAEXH@Z @ 10 NONAME ; void CMmWidgetContainer::SetHasFocusL(int)
-	?NewGridContainerL@CMmWidgetContainer@@SAPAV1@ABVTRect@@PAVMObjectProvider@@PAVCMmTemplateLibrary@@@Z @ 11 NONAME ; class CMmWidgetContainer * CMmWidgetContainer::NewGridContainerL(class TRect const &, class MObjectProvider *, class CMmTemplateLibrary *)
-	?SetLongTapObserver@CMmWidgetContainer@@UAEXPAVMMmLongTapObserver@@@Z @ 12 NONAME ; void CMmWidgetContainer::SetLongTapObserver(class MMmLongTapObserver *)
-	?EndLongTapL@CMmWidgetContainer@@UAEXH@Z @ 13 NONAME ; void CMmWidgetContainer::EndLongTapL(int)
-	?NumberOfItems@CMmWidgetContainer@@QAEHXZ @ 14 NONAME ; int CMmWidgetContainer::NumberOfItems(void)
-	?GetSuiteModelL@CMmWidgetContainer@@QAEPAVCHnSuiteModel@@XZ @ 15 NONAME ; class CHnSuiteModel * CMmWidgetContainer::GetSuiteModelL(void)
-	?NewLC@CMmTemplateLibrary@@SAPAV1@XZ @ 16 NONAME ; class CMmTemplateLibrary * CMmTemplateLibrary::NewLC(void)
-	?NewL@CMmTemplateLibrary@@SAPAV1@XZ @ 17 NONAME ; class CMmTemplateLibrary * CMmTemplateLibrary::NewL(void)
-	?NumberOfItemsChangedL@CMmWidgetContainer@@QAEXW4TItemsChangeType@@@Z @ 18 NONAME ; void CMmWidgetContainer::NumberOfItemsChangedL(enum TItemsChangeType)
-	?SetManualHighlightL@CMmWidgetContainer@@UAEXHH@Z @ 19 NONAME ; void CMmWidgetContainer::SetManualHighlightL(int, int)
-	?IsDraggable@CMmWidgetContainer@@QAEHXZ @ 20 NONAME ; int CMmWidgetContainer::IsDraggable(void)
-	?HandleForegroundGainedL@CMmWidgetContainer@@UAEXXZ @ 21 NONAME ; void CMmWidgetContainer::HandleForegroundGainedL(void)
-	?SetDefaultHighlightL@CMmGridContainer@@UAEXH@Z @ 22 NONAME ; void CMmGridContainer::SetDefaultHighlightL(int)
-	?WidgetType@CMmWidgetContainer@@UAE?AW4THnSuiteWidgetType@@XZ @ 23 NONAME ; enum THnSuiteWidgetType CMmWidgetContainer::WidgetType(void)
-	?SetEmptyTextL@CMmGridContainer@@UAEXABVTDesC16@@@Z @ 24 NONAME ; void CMmGridContainer::SetEmptyTextL(class TDesC16 const &)
-	?HandleItemAdditionL@CMmWidgetContainer@@UAEXXZ @ 25 NONAME ; void CMmWidgetContainer::HandleItemAdditionL(void)
-	?StopMovingL@CMmWidgetContainer@@QAEXXZ @ 26 NONAME ; void CMmWidgetContainer::StopMovingL(void)
-	?NewListBoxContainerL@CMmWidgetContainer@@SAPAV1@ABVTRect@@PAVMObjectProvider@@PAVCMmTemplateLibrary@@@Z @ 27 NONAME ; class CMmWidgetContainer * CMmWidgetContainer::NewListBoxContainerL(class TRect const &, class MObjectProvider *, class CMmTemplateLibrary *)
-	?SetEmptyTextL@CMmListBoxContainer@@UAEXABVTDesC16@@@Z @ 28 NONAME ; void CMmListBoxContainer::SetEmptyTextL(class TDesC16 const &)
-	?PrepareForGarbage@CMmWidgetContainer@@QAEXXZ @ 29 NONAME ; void CMmWidgetContainer::PrepareForGarbage(void)
-	?GetHighlight@CMmWidgetContainer@@UAEHXZ @ 30 NONAME ; int CMmWidgetContainer::GetHighlight(void)
-	?RestoreWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 31 NONAME ; void CMmWidgetContainer::RestoreWidgetPosition(void)
-	?EnableLongTapAnimation@CMmWidgetContainer@@QAEXH@Z @ 32 NONAME ; void CMmWidgetContainer::EnableLongTapAnimation(int)
-	?SetHighlightVisibilityL@CMmWidgetContainer@@UAEXH@Z @ 33 NONAME ; void CMmWidgetContainer::SetHighlightVisibilityL(int)
-	?ResetWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 34 NONAME ; void CMmWidgetContainer::ResetWidgetPosition(void)
-	?ItemIsFullyVisible@CMmWidgetContainer@@QAEHH@Z @ 35 NONAME ; int CMmWidgetContainer::ItemIsFullyVisible(int)
-	?CacheWidgetPosition@CMmWidgetContainer@@QAEXXZ @ 36 NONAME ; void CMmWidgetContainer::CacheWidgetPosition(void)
-	?SetIsFaded@CMmWidgetContainer@@QAEXH@Z @ 37 NONAME ; void CMmWidgetContainer::SetIsFaded(int)
-	?CancelDragL@CMmWidgetContainer@@QAEXH@Z @ 38 NONAME ; void CMmWidgetContainer::CancelDragL(int)
-
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_1.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-	
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="525" />
-            <layout id="grid" positionx="0" positiony="0" width="360" height="525" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="340" scrollwidth="20" height="525" row="6" col="3" />						
-			<layout id="bgimage" state="1" />	
-	</element>
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="85" width="111" >
-            <imagevisual id="mul_icon" positionx="3" positiony="3" width="105" height="79" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_1" positionx="81" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_2" positionx="81" positiony="55" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_3" positionx="3" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-        </layout>
-    </element>
-    		  	
-    <element id ="highlight">        
-    </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="299" />
-            <layout id="grid" positionx="0" positiony="0" width="502" height="299" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="482" scrollwidth="20" height="299" row="3" col="4" />						
-			<layout id="bgimage" state="1" />	
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="90" width="118" >
-            <imagevisual id="mul_icon" positionx="3" positiony="3" width="112" height="84" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_1" positionx="88" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_2" positionx="88" positiony="60" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <imagevisual id="mul_indicator_3" positionx="3" positiony="3" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-        </layout>
-    </element>
-
-    <element id ="highlight">
-    </element>		  
-
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_2.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="515" />
-            <layout id="grid" positionx="0" positiony="0" width="360" height="515" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="340" scrollwidth="20" height="515" row="6" col="4" />						
-	    <layout id="bgimage" state="1" />	
-	</element>
-	
-  	<element id="nohighlight">
-  	    <layout id="anchor" name="anchor" height="85" width="85" >	
-  	    
-			<imagevisual id="mul_icon" positionx="3" positiony="3" width="79" height="79" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_1" positionx="55" positiony="3" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_2" positionx="55" positiony="55" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">	    
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-	
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="288" />
-            <layout id="grid" positionx="0" positiony="0" width="502" height="288" />						
-			<layout id="gridlayout" positionx="0" positiony="0" width="482" scrollwidth="20" height="288" row="3" col="5" />						
-	    <layout id="bgimage" state="1" />	
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" height="96" width="96" >
-        
-			<imagevisual id="mul_icon" positionx="3" positiony="3" width="90" height="90" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_1" positionx="66" positiony="3" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-			<imagevisual id="mul_indicator_2" positionx="66" positiony="66" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			
-		</layout>
-    </element>		  
-
-	<element id ="highlight">		
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_3.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="462" />			
-            <layout id="grid" positionx="2" positiony="18" width="358" height="444" />
-			<layout id="gridlayout" positionx="0" positiony="0" width="338" scrollwidth="20" height="444" row="4" col="3"/>						            
-			<layout id="bgimage" state="1" />						
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="111" height="133" >
-
-            <imagevisual id="mul_icon" positionx="8" positiony="8" width="95" height="95" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-                
-            <imagevisual id="mul_indicator_1" positionx="80" positiony="15" width="24" height="24">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-            
-            <imagevisual id="mul_indicator_2" positionx="80" positiony="39" width="24" height="24">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-                                            	
-            <textvisual id="mul_title" positionx="3" positiony="106" width="104"  height="24">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_primarysmall" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="4" positiony="7" width="103" height="103" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->        	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	        
-    </element>		  
-	<element id="mul_move_indicator">
-        <layout id="anchor" name="anchor" positionx="-20" positiony="-20" width="131" height="130" >
-        	           
-			<!-- For matrix Menu Non Touch Edit mode move indicator-->	
-			<imagevisual id="mul_move_indicator_frame" positionx="20" positiony="20" width="111" height="110" />
-			<imagevisual id="mul_move_indicator_arrow_top" positionx="60" positiony="0" width="30" height="17" />
-			<imagevisual id="mul_move_indicator_arrow_right" positionx="134" positiony="60" width="17" height="30" />
-			<imagevisual id="mul_move_indicator_arrow_bottom" positionx="60" positiony="133" width="30" height="17" />
-			<imagevisual id="mul_move_indicator_arrow_left" positionx="0" positiony="60" width="17" height="30" />
-		
-			<!-- Matrix Menu Non Touch Edit mode move indicator Ends here-->					
-        </layout>
-	</element>
-</orientation>
-
-<orientation id ="landscape" width="502">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="306" />
-			<layout id="grid" positionx="7" positiony="6" width="475" height="300" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="455" scrollwidth="20" height="300" row="3" col="4"/>						
-			<layout id="bgimage" state="1" />					
-	</element>
-	
-    <element id="nohighlight">		
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="120" height="102" >
-            
-            <imagevisual id="mul_icon" positionx="25" positiony="4" width="70" height="70" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-            
-            <imagevisual id="mul_indicator_1" positionx="82" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-
-            <imagevisual id="mul_indicator_2" positionx="10" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            	
-            <textvisual id="mul_title" positionx="5" positiony="77" width="110"  height="21" horizontalalign="center" opacity="1">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="style" targetvalue="qfn_primarysmall" />
-                <attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />				
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="25" positiony="4" width="70" height="70" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->                    	 	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	
-
-    </element>
-</orientation>
-
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_logical_template_4.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-		<element id="base" scrollbar="0" > 
-		<!-- 0 here implies No scrollbar 
-		1 means scrollbar -->
-			<layout id="mainlayout" positionx="0" positiony="511" width="360" height="78" />
-            <layout id="grid" positionx="14" positiony="9" width="330" height="60" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="330" scrollwidth="0" height="60" row="1" col="5" />
-			<layout id="bgimage" state="0" />									
-		</element>
-
-		<element id="nohighlight">
-    		<layout id="anchor" positionx="0" positiony="0" width="66" height="60" >		
-				<imagevisual id="mul_icon" positionx="0" positiony="0" width="60" height="60" fitmode="on">
-					<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-					<attributesetter name="opacity" targetvalue="1" />
-				</imagevisual>				 	
-            </layout>
-        </element>		  
-
-    <element id ="highlight">		
-    </element>		        		 	
-    
- </orientation>
- 
- <orientation id ="landscape" width="502">
-	
-	    <element id="base" scrollbar="0">
-		<!-- 0 here implies No scrollbar 
-		1 means scrollbar -->		
-			<layout id="mainlayout" positionx="218" positiony="310" width="284" height="50" />
-            <layout id="grid" positionx="0" positiony="2" width="284" height="40" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="284" scrollwidth = "0" height="40" row ="1" col="5"/>
-			<layout id="bgimage" state="0" />						
-		</element>
-
-
-		<element id="nohighlight">
-        <layout id="anchor" positionx="0" positiony="0" width="58" height="46" >		
-		    <imagevisual id="mul_icon" positionx="0" positiony="0" width="40" height="40" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>				 	
-        </layout>
-        </element>		  
-
-    <element id ="highlight">        
-    </element>		        		 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/custom/akn_single_large_graphic_pane.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="360" height="462" />			
-            <layout id="grid" positionx="2" positiony="18" width="358" height="444" />
-			<layout id="gridlayout" positionx="0" positiony="0" width="338" scrollwidth="20" height="444" row="4" col="3"/>						            
-			<layout id="bgimage" state="1" />						
-	</element>
-	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="111" height="110" >
-        	           
-            <imagevisual id="mul_icon" positionx="19" positiony="5" width="74" height="74" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>			
-                
-            <imagevisual id="mul_indicator_1" positionx="80" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-            
-            <imagevisual id="mul_indicator_2" positionx="8" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>    
-                                            	
-            <textvisual id="mul_title" positionx="6" positiony="86" width="100"  height="21">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_primarysmall" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>		        
-
-            <!-- For matrix Menu Swap mode visulisation-->
-        <imagevisual id="mul_icon_2" positionx="19" positiony="5" width="74" height="74" fitmode="off">
-            <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            <attributesetter name="opacity" targetvalue="1" />
-        </imagevisual>			
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->        	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	        
-    </element>		  
-
-</orientation>
-
-<orientation id ="landscape" width="502">
-	<element id="base"> 
-			<layout id="mainlayout" positionx="0" positiony="0" width="502" height="306" />
-			<layout id="grid" positionx="7" positiony="6" width="475" height="300" />			
-			<layout id="gridlayout" positionx="0" positiony="0" width="455" scrollwidth="20" height="300" row="3" col="4"/>						
-			<layout id="bgimage" state="1" />					
-	</element>
-	
-    <element id="nohighlight">		
-        <layout id="anchor" name="anchor" positionx="0" positiony="0" width="120" height="102" >
-            
-            <imagevisual id="mul_icon" positionx="25" positiony="4" width="70" height="70" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-            
-            <imagevisual id="mul_indicator_1" positionx="82" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-
-            <imagevisual id="mul_indicator_2" positionx="10" positiony="1" width="27" height="27">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            	
-            <textvisual id="mul_title" positionx="5" positiony="77" width="110"  height="21" horizontalalign="center" opacity="1">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="style" targetvalue="qfn_primarysmall" />
-                <attributesetter name="fontthemecolor" targetvalue="8" />
-                <attributesetter name="horizontalalign" targetvalue="1" />
-                <attributesetter name="verticalalign" targetvalue="0" />				
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <!-- For matrix Menu Swap mode visulisation-->
-            <imagevisual id="mul_icon_2" positionx="25" positiony="4" width="70" height="70" fitmode="off">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>	
-
-            <!-- Matrix Menu Swap Mode Visulisation Ends here -->                    	 	
-
-        </layout>
-    </element>		  
-
-    <element id ="highlight">	
-
-    </element>		  
-
-</orientation>
-
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/grid/lct/akn_logical_template_3.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-  	
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="cell_hc_apps_pane" variety="3" >
-			<textvisual id="mul_title" lct="cell_hc_apps_pane_t1" variety="0" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="cell_hc_apps_pane_g1" variety="0" halign="center" >
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="cell_hc_apps_pane_g2" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="cell_hc_apps_pane_g3" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-			</imagevisual>
-		</layout>	
- 	</element>
-	
-	<element id="highlight">
-	</element>
-</orientation>
-
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="cell_app_pane" variety="3" >
-			<textvisual id="mul_title" lct="cell_app_pane_t1"  variety="0" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="cell_app_pane_g1" variety="0" halign="center" >
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="cell_app_pane_g2" variety="0" >
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-			</imagevisual>
-		</layout>
-	</element>	
-	
-	<element id ="highlight">	
- 	</element>		  
-
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_1.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-	<element id="read">
-        <layout id="anchor" name="anchor" width="340" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="7" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>	
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" width="340" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" width="340" height="55">		
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-		 <element id="read">
-        <layout id="anchor" name="anchor" width="482" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>
- 	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" width="482" height="55">
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" width="482" height="55">	
-    		<textvisual id="mul_title" positionx="10" positiony="13" width="340" height="27">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="style" targetvalue="qfn_secondary" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_10.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_input_text" positionx="10" positiony="51" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<plaintexteditor id="mul_input_text" positionx="10" positiony="51" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</plaintexteditor>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="454" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_input_text" positionx="10" positiony="51" width="444" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="454" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<plaintexteditor id="mul_input_text" positionx="10" positiony="51" width="444" height="27">
-				<attributesetter name="text" targetvalue="mul_input_text" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</plaintexteditor>		
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_11.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" noindicatorwidth="218" oneindicatorwidth="190" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>						
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		    <textvisual id="mul_n" positionx="156" positiony="56" width="44" height="24">
-				<attributesetter name="text" targetvalue="mul_n" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_%" positionx="204" positiony="56" width="24" height="24">
-				<attributesetter name="text" targetvalue="mul_%" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" noindicatorwidth="218" oneindicatorwidth="190" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>						
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		    <textvisual id="mul_n" positionx="156" positiony="56" width="44" height="24">
-				<attributesetter name="text" targetvalue="mul_n" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_%" positionx="204" positiony="56" width="24" height="24">
-				<attributesetter name="text" targetvalue="mul_%" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
- 	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" noindicatorswidth="358" oneindicatorwidth="326" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="52" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_7" positionx="159" positiony="56" width="194" height="14">
-			</embeded>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" noindicatorswidth="358" oneindicatorwidth="326" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="52" width="143" height="24" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_7" positionx="159" positiony="56" width="194" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_12.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-    <orientation id ="portrait" width="360">
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" height="88" width="340" >
-    			<imagevisual id="mul_icon" positionx="17" positiony="12" width="305" height="64" fitmode="on">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="1" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-		
-		<element id ="highlight">		    
-	 	</element>		  
-	 	
-    </orientation>
- 
-    <orientation id ="landscape" width="502">
-
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" height="88" width="482">
-    			<imagevisual id="mul_icon" positionx="88" positiony="12" width="305" height="64" fitmode="on">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="1" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-
-		<element id ="highlight">		    
-	 	</element>		  
- 	
-    </orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_13.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" noindicatorwidth="242" oneindicatorwidth="210" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>					
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="242" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" noindicatorwidth="242" oneindicatorwidth="210" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>					
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="242" height="14">
-			</embeded>
-		</layout>
- 	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" noindicatorswidth="382" oneindicatorwidth="350" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="382" height="14">
-			</embeded>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" noindicatorswidth="382" oneindicatorwidth="350" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<embeded id="mul_sliders" widgetname="mulsliderwidget" modelname="mulslidermodel"
-			     template="logical_template_8" positionx="10" positiony="56" width="382" height="14">
-			</embeded>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_2.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_3.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_4.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="88" width="340">	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502" >
-
-  	<element id="nohighlight">
-		<layout id="anchor"  name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="392" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="13" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_5.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-				
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  	
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="263" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="318" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="300" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="273" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="395" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="395" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="454" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="440" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="413" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_6.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="187" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="242" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="259" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="232" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="205" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="318" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="382" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="401" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="374" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="347" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_7.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" height="88" width="340" >	
-			<textvisual id="mul_title" positionx="10" positiony="10" width="163" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="218" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="235" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="208" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="181" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		 
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="308" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="358" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="377" positiony="7" width="98" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" positionx="350" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="323" positiony="10" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_logical_template_8.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" width="360">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="312" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	</element>		  
-	 
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="340" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="237" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="237" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="254" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_1" positionx="299" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="254" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="55" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="13" width="452" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-		</layout>
-	 </element>		  
-
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" height="88" width="482" >
-			<textvisual id="mul_title" positionx="10" positiony="10" width="211" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<textvisual id="mul_detail" positionx="10" positiony="50" width="211" height="27" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="style" targetvalue="qfn_secondary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="0.7" />
-			</textvisual>
-			<imagevisual id="mul_icon" positionx="395" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_icon_2" positionx="315" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_icon_3" positionx="235" positiony="7" width="74" height="74" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon_3" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>						
-			<imagevisual id="mul_indicator_1" positionx="442" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="395" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_3" positionx="362" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_3" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_4" positionx="315" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_4" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>			
-			<imagevisual id="mul_indicator_5" positionx="282" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_5" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_6" positionx="235" positiony="7" width="27" height="27">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_6" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/custom/akn_single_large_graphic_pane.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="53" width="334" >
-			<imagevisual id="mul_icon" positionx="10" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="85" positiony="13" width="195" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="307" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="287" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" height="53" width="334" >	
-			<imagevisual id="mul_icon" positionx="10" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="85" positiony="13" width="195" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="307" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="287" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" width="502" >
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" height="53" width="476" >
-			<imagevisual id="mul_icon" positionx="26" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="108" positiony="13" width="314" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="449" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="429" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-	
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" height="53" width="476" >
-			<imagevisual id="mul_icon" positionx="26" positiony="4" width="64" height="46" fitmode="on">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<textvisual id="mul_title" positionx="108" positiony="13" width="361" height="27">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="style" targetvalue="qfn_primary" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" positionx="449" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" positionx="429" positiony="17" width="20" height="20">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="1" />
-			</imagevisual>
-		</layout>
- 	</element>
- 	
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_list_single_hc_apps_pane.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-
-</orientation>
- 
-<orientation id ="landscape">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_hc_apps_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_hc_apps_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_hc_apps_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_hc_apps_pane_g2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-            </imagevisual>
-        </layout>
-    </element>
- 
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_1.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-	<element id="read">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="7" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="1" />
-    		</imagevisual>
-		</layout>
- 	</element>	
-		
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">		
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape"  lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-		
-		 <element id="read">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="0.5" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>
- 	
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="8" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">
-	    <layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">	
-    		<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-    			<attributesetter name="text" targetvalue="mul_title" category="data" />
-    			<attributesetter name="fontthemecolor" targetvalue="9" />
-    			<attributesetter name="horizontalalign" targetvalue="0" />
-    			<attributesetter name="verticalalign" targetvalue="0" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</textvisual>
-    		<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-    		<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-    			<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-    			<attributesetter name="opacity" targetvalue="100" />
-    		</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_12.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-    <orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-		
-		<element id ="highlight">
-		    <layout id = "anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">			
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-	 	
-    </orientation>
- 
-    <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-		
-  	    <element id="nohighlight">
-  	        <layout id="anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
-
-		<element id ="highlight">
-		    <layout id = "anchor" name="anchor" lct="uiaccel_aalist_gene_ad_pane" variety="0">		
-    			<imagevisual id="mul_icon" lct="uiaccel_aalist_gene_ad_pane_g1" variety="0">
-    				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-    				<attributesetter name="opacity" targetvalue="100" />
-    			</imagevisual>
-			</layout>
-	 	</element>		  
- 	
-    </orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_2.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_3.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>
-		
-	<element id ="highlight">		
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0" >
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  	
-		
-	<element id ="highlight">	
-		<layout id = "anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2" >
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_4.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor"  name="anchor" lct="uiaccel_aalist_single_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_single_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_single_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_5.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-				
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  	
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" width="502">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_pane_t2" variety="2" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_pane_g1" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
- 	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="2">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g3" variety="2">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g2" variety="1">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_6a.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_7.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-
-		
-	<element id ="highlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">	
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		 
-	 	
-</orientation>
- 
-<orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-	
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
-		
-	<element id ="highlight">	
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0">
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="5">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="5"  marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_1" lct="uiaccel_aalist_double_graphic_pane_g2" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-			<imagevisual id="mul_indicator_2" lct="uiaccel_aalist_double_graphic_pane_g3" variety="3">
-				<attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	</element>		  
- 	
-	</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_logical_template_8.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-<orientation id ="portrait" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-			
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-		</layout>
-	</element>		  
-	 
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="0" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
-	 	
- </orientation>
- 
- <orientation id ="landscape" lct="uiaccel_main_aa_listscroll_pane" variety="0">
-		
-  	<element id="nohighlight">
-		<layout id="anchor" name="anchor" lct="uiaccel_aalist_single_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_single_pane_t1" variety="0">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="8" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-		</layout>
-	 </element>		  
-
-		
-	<element id ="highlight">
-		<layout id = "anchor" name="anchor" lct="uiaccel_aalist_double_graphic_pane" variety="0" >
-			<textvisual id="mul_title" lct="uiaccel_aalist_double_graphic_pane_t1" variety="7">
-				<attributesetter name="text" targetvalue="mul_title" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</textvisual>
-			<textvisual id="mul_detail" lct="uiaccel_aalist_double_graphic_pane_t2" variety="7" marquee="yes">
-				<attributesetter name="text" targetvalue="mul_detail" category="data" />
-				<attributesetter name="fontthemecolor" targetvalue="9" />
-				<attributesetter name="horizontalalign" targetvalue="0" />
-				<attributesetter name="verticalalign" targetvalue="0" />
-				<attributesetter name="opacity" targetvalue="70" />
-			</textvisual>
-			<imagevisual id="mul_icon" lct="uiaccel_aalist_double_graphic_pane_g1" variety="0">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-
-			<imagevisual id="mul_icon_2" lct="uiaccel_aalist_double_graphic_pane_g6" variety="7">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-
-			<imagevisual id="mul_icon_3" lct="uiaccel_aalist_double_graphic_pane_g7" variety="7">
-				<attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-				<attributesetter name="opacity" targetvalue="100" />
-			</imagevisual>
-		</layout>
-	 </element>		  
- 	
-</orientation>
-</dhuiml>
--- a/menufw/menufwui/mmwidgets/data/list/lct/akn_single_large_graphic_pane.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dhuiml version="1.0" xmlns="http://www.series60.com/xml/dhuiml/1">
-
-<orientation id ="portrait" width="360">
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-
-</orientation>
- 
-<orientation id ="landscape" width="502" >
-
-    <element id="nohighlight">
-        <layout id="anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0" >
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
-        
-    <element id ="highlight">
-        <layout id = "anchor" name="anchor" lct="list_single_large_graphic_pane" variety="0" >	
-            <imagevisual id="mul_icon" lct="list_single_large_graphic_pane_g1" variety="0" fitmode="on">
-                <attributesetter name="imagepath" targetvalue="mul_icon" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <textvisual id="mul_title" lct="list_single_large_graphic_pane_t1" variety="0">
-                <attributesetter name="text" targetvalue="mul_title" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </textvisual>
-            <imagevisual id="mul_indicator_1" lct="list_single_large_graphic_pane_g2_cp2" variety="0">
-                <attributesetter name="imagepath" targetvalue="mul_indicator_1" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual>
-            <!--missign second indicator in definition -->
-            <!--imagevisual id="mul_indicator_2" lct="" variety="" >
-                <attributesetter name="imagepath" targetvalue="mul_indicator_2" category="data" />
-                <attributesetter name="opacity" targetvalue="1" />
-            </imagevisual-->
-        </layout>
-    </element>
- 
-</orientation>
-</dhuiml>
\ No newline at end of file
--- a/menufw/menufwui/mmwidgets/eabi/mmwidgetsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
-	_ZN16CMmGridContainer13SetEmptyTextLERK7TDesC16 @ 1 NONAME
-	_ZN16CMmGridContainer20SetDefaultHighlightLEi @ 2 NONAME
-	_ZN18CMmTemplateLibrary4NewLEv @ 3 NONAME
-	_ZN18CMmTemplateLibrary5NewLCEv @ 4 NONAME
-	_ZN18CMmWidgetContainer10SetIsFadedEi @ 5 NONAME
-	_ZN18CMmWidgetContainer10WidgetTypeEv @ 6 NONAME
-	_ZN18CMmWidgetContainer11CancelDragLEi @ 7 NONAME
-	_ZN18CMmWidgetContainer11EndLongTapLEi @ 8 NONAME
-	_ZN18CMmWidgetContainer11IsDraggableEv @ 9 NONAME
-	_ZN18CMmWidgetContainer11SetObserverEP17MMmWidgetObserver @ 10 NONAME
-	_ZN18CMmWidgetContainer11StopMovingLEv @ 11 NONAME
-	_ZN18CMmWidgetContainer12GetHighlightEv @ 12 NONAME
-	_ZN18CMmWidgetContainer12GetItemRectLEi @ 13 NONAME
-	_ZN18CMmWidgetContainer12SetHasFocusLEi @ 14 NONAME
-	_ZN18CMmWidgetContainer13ItemIconZoomLEi @ 15 NONAME
-	_ZN18CMmWidgetContainer13NumberOfItemsEv @ 16 NONAME
-	_ZN18CMmWidgetContainer13ScrollToItemLEi @ 17 NONAME
-	_ZN18CMmWidgetContainer14GetSuiteModelLEv @ 18 NONAME
-	_ZN18CMmWidgetContainer17NewGridContainerLERK5TRectP15MObjectProviderP18CMmTemplateLibrary @ 19 NONAME
-	_ZN18CMmWidgetContainer17PrepareForGarbageEv @ 20 NONAME
-	_ZN18CMmWidgetContainer18HandleItemRemovalLEv @ 21 NONAME
-	_ZN18CMmWidgetContainer18IsHighlightVisibleEv @ 22 NONAME
-	_ZN18CMmWidgetContainer18ItemIsFullyVisibleEi @ 23 NONAME
-	_ZN18CMmWidgetContainer18SetLongTapObserverEP18MMmLongTapObserver @ 24 NONAME
-	_ZN18CMmWidgetContainer19CacheWidgetPositionEv @ 25 NONAME
-	_ZN18CMmWidgetContainer19HandleItemAdditionLEv @ 26 NONAME
-	_ZN18CMmWidgetContainer19ResetWidgetPositionEv @ 27 NONAME
-	_ZN18CMmWidgetContainer20GetPreviousHighlightEv @ 28 NONAME
-	_ZN18CMmWidgetContainer20NewListBoxContainerLERK5TRectP15MObjectProviderP18CMmTemplateLibrary @ 29 NONAME
-	_ZN18CMmWidgetContainer21NumberOfItemsChangedLE16TItemsChangeType @ 30 NONAME
-	_ZN18CMmWidgetContainer21RestoreWidgetPositionEv @ 31 NONAME
-	_ZN18CMmWidgetContainer22EnableLongTapAnimationEi @ 32 NONAME
-	_ZN18CMmWidgetContainer23HandleBackgroundGainedLEv @ 33 NONAME
-	_ZN18CMmWidgetContainer23HandleForegroundGainedLEv @ 34 NONAME
-	_ZN18CMmWidgetContainer23SetHighlightVisibilityLEi @ 35 NONAME
-	_ZN19CMmListBoxContainer13SetEmptyTextLERK7TDesC16 @ 36 NONAME
-	_ZN19CMmListBoxContainer20SetDefaultHighlightLEi @ 37 NONAME
-	_ZThn52_N18CMmWidgetContainer23HandleBackgroundGainedLEv @ 38 NONAME
-	_ZThn52_N18CMmWidgetContainer23HandleForegroundGainedLEv @ 39 NONAME
-
--- a/menufw/menufwui/mmwidgets/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project mmwidgets
-*  Version     : %version: 8.1.3.1.8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/mmwidgets.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(mmwidgets.iby)
-
-// list exports
-../data/list/custom/akn_single_large_graphic_pane.xml Z:/resource/list/custom/akn_single_large_graphic_pane.xml
-
-../data/list/custom/akn_logical_template_1.xml Z:/resource/list/custom/akn_logical_template_1.xml
-
-../data/list/custom/akn_logical_template_2.xml Z:/resource/list/custom/akn_logical_template_2.xml
-
-../data/list/custom/akn_logical_template_3.xml Z:/resource/list/custom/akn_logical_template_3.xml
-
-../data/list/custom/akn_logical_template_4.xml Z:/resource/list/custom/akn_logical_template_4.xml
-
-../data/list/custom/akn_logical_template_5.xml Z:/resource/list/custom/akn_logical_template_5.xml
-
-../data/list/custom/akn_logical_template_6.xml Z:/resource/list/custom/akn_logical_template_6.xml
-
-../data/list/custom/akn_logical_template_7.xml Z:/resource/list/custom/akn_logical_template_7.xml
-
-../data/list/custom/akn_logical_template_8.xml Z:/resource/list/custom/akn_logical_template_8.xml
-
-../data/list/custom/akn_logical_template_10.xml Z:/resource/list/custom/akn_logical_template_10.xml
-
-../data/list/custom/akn_logical_template_11.xml Z:/resource/list/custom/akn_logical_template_11.xml
-
-../data/list/custom/akn_logical_template_12.xml Z:/resource/list/custom/akn_logical_template_12.xml
-
-../data/list/custom/akn_logical_template_13.xml Z:/resource/list/custom/akn_logical_template_13.xml
-
-// grid exports
-../data/grid/custom/akn_single_large_graphic_pane.xml Z:/resource/grid/custom/akn_single_large_graphic_pane.xml
- 
-../data/grid/custom/akn_logical_template_1.xml Z:/resource/grid/custom/akn_logical_template_1.xml
-
-../data/grid/custom/akn_logical_template_2.xml Z:/resource/grid/custom/akn_logical_template_2.xml
-
-../data/grid/custom/akn_logical_template_3.xml Z:/resource/grid/custom/akn_logical_template_3.xml
-
-../data/grid/custom/akn_logical_template_4.xml Z:/resource/grid/custom/akn_logical_template_4.xml
-
-//lct exports
-../data/list/lct/akn_list_single_hc_apps_pane.xml Z:/resource/list/lct/akn_list_single_hc_apps_pane.xml
-
-../data/list/lct/akn_single_large_graphic_pane.xml Z:/resource/list/lct/akn_single_large_graphic_pane.xml
-
-../data/list/lct/akn_logical_template_1.xml Z:/resource/list/lct/akn_logical_template_1.xml
-
-../data/list/lct/akn_logical_template_2.xml Z:/resource/list/lct/akn_logical_template_2.xml
-
-../data/list/lct/akn_logical_template_3.xml Z:/resource/list/lct/akn_logical_template_3.xml
-
-../data/list/lct/akn_logical_template_4.xml Z:/resource/list/lct/akn_logical_template_4.xml
-
-../data/list/lct/akn_logical_template_5.xml Z:/resource/list/lct/akn_logical_template_5.xml
-
-../data/list/lct/akn_logical_template_6.xml Z:/resource/list/lct/akn_logical_template_6.xml
-
-../data/list/lct/akn_logical_template_6a.xml Z:/resource/list/lct/akn_logical_template_6a.xml
-
-../data/list/lct/akn_logical_template_7.xml Z:/resource/list/lct/akn_logical_template_7.xml
-
-../data/list/lct/akn_logical_template_8.xml Z:/resource/list/lct/akn_logical_template_8.xml
-
-../data/list/lct/akn_logical_template_12.xml Z:/resource/list/lct/akn_logical_template_12.xml
-
-../data/grid/lct/akn_logical_template_3.xml Z:/resource/grid/lct/akn_logical_template_3.xml
-
-../inc/mmdraganddropobserver.h         |../../../inc/mmdraganddropobserver.h 
-../inc/mmlongtapobserver.h         |../../../inc/mmlongtapobserver.h 
-../inc/mmkeyeventobserver.h            |../../../inc/mmkeyeventobserver.h
-../inc/mmwidgetobserver.h              |../../../inc/mmwidgetobserver.h 
-../inc/mmwidgetcontainer.h             |../../../inc/mmwidgetcontainer.h 
-../inc/mmvisibilityobserver.h          |../../../inc/mmvisibilityobserver.h 
-../inc/mmtemplatelibrary.h             |../../../inc/mmtemplatelibrary.h
-../inc/mmwidgetsconstants.h             |../../../inc/mmwidgetsconstants.h
-
-PRJ_MMPFILES
-mmwidgets.mmp
--- a/menufw/menufwui/mmwidgets/group/mmwidgets.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* 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:  Project definition file for project multimedia menu widgets
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET          mmwidgets.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x2001E658
-
-CAPABILITY      CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          mmlistboxcontainer.cpp 
-SOURCE          mmlistbox.cpp 
-SOURCE          mmlistboxitemdrawer.cpp
-SOURCE          mmlistboxview.cpp
-SOURCE          mmtemplatelibrary.cpp 
-SOURCE          mmgrid.cpp 
-SOURCE          mmgridmodel.cpp 
-SOURCE          mmgridview.cpp 
-SOURCE          mmgridcontainer.cpp
-SOURCE          mmwidgetcontainer.cpp 
-SOURCE          mmmarqueeadapter.cpp
-SOURCE          mmfloatingitem.cpp 
-SOURCE          mmdraweranimator.cpp
-SOURCE          mmlctutils.cpp
-SOURCE          mmlistboxmodel.cpp
-SOURCE          mmpostevaluationprocessor.cpp
-SOURCE          mmcacheforitem.cpp
-SOURCE          mmitemsdatacache.cpp
-
-USERINCLUDE     ../inc
-SYSTEMINCLUDE   ../../../inc
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY           euser.lib
-LIBRARY           apparc.lib
-LIBRARY           avkon.lib
-LIBRARY           apgrfx.lib            // for TApaTask
-LIBRARY           eikcore.lib
-LIBRARY           eikcoctl.lib
-LIBRARY           cone.lib
-LIBRARY           cdlengine.lib        // for Layout_Meta_Data
-LIBRARY           fbscli.lib
-LIBRARY           egul.lib
-
-LIBRARY           hnengine.lib
-LIBRARY           hnpresentationmodel.lib
-LIBRARY           hnutilities.lib
-
-LIBRARY           liwservicehandler.lib // for Back Stepping SAPI
-
-LIBRARY           AknCapserverClient.lib // for fastswap activation
-LIBRARY           ws32.lib               // for getting list of running applications
-LIBRARY           AknSkins.lib           // for application icon fetching
-LIBRARY           aknicon.lib            // for application icon fetching
-LIBRARY           gfxtrans.lib           // effects
-LIBRARY           akntransitionutils.lib
-LIBRARY           commonengine.lib      // for  stringloader
-LIBRARY           gdi.lib 
-LIBRARY           bafl.lib 
-LIBRARY	          eikctl.lib 
-LIBRARY           fontutils.lib
-LIBRARY           XmlEngineDOM.lib
-LIBRARY           hnmetadatamodel.lib
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-LIBRARY	 		  aknlistloadertfx.lib
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-LIBRARY           hlplch.lib 
-LIBRARY           AknLayout2.lib       
-LIBRARY           AknLayout2Scalable.lib
-LIBRARY           BitmapTransforms.lib
-LIBRARY           bitgdi.lib
-LIBRARY           centralrepository.lib
-LIBRARY           touchfeedback.lib
-
-#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
-LIBRARY         flogger.lib
-#else
-DEBUGLIBRARY    flogger.lib
-#endif
-
-
-
-// End of File
--- a/menufw/menufwui/mmwidgets/inc/mmcacheforitem.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMCACHEFORITEM_H
-#define MMCACHEFORITEM_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include "mmsubcellssetupcode.h"
-
-class CGulIcon;
-class CHnIconHolder;
-class CMmItemsDataCache;
-
-/**
- * Stores cached information needed to draw a single item.
- */
-NONSHARABLE_CLASS( CMmCacheForItem ): public CBase
-    {
-public:
-    /**
-     * Creates a new instance of CMmCacheForItem object.
-     * The newly created object will be left on the cleanup stack.
-     * 
-     * @param aParent The owner of the newly created object.
-     */
-    static CMmCacheForItem* NewLC( CMmItemsDataCache& aParent );
-    
-    /**
-     * Creates a new instance of CMmCacheForItem object.
-     * The newly created object will be left on the cleanup stack.
-     * 
-     * @param aParent The owner of the newly created object. 
-     */
-    static CMmCacheForItem* NewL( CMmItemsDataCache& aParent );
-    
-    /**
-     * Standard C++ virtual destructor.
-     */
-    ~CMmCacheForItem();
-    
-    /**
-     * Sets the subcell setup code that denoted valid subcell setup for this
-     * item.
-     * 
-     * @param aSubcellsSetupCode Subcells setup code for this item. 
-     */
-    inline void SetSubcellsSetupCode( TMmSubcellsSetupCode aSubcellsSetupCode );
-    
-    /**
-     * Returns the code of the subcells setup required by this item to be
-     * properly drawn using cached data.
-     */
-    inline TMmSubcellsSetupCode GetSubcellsSetupCode() const;
-    
-    /**
-     * Returns information whether the data in this cache is valid.
-     * Invalid cache should never be used.
-     * 
-     * @return ETrue if valid, EFalse otherwise.
-     */
-    inline TBool IsValid() const;
-    
-    /**
-     * Marks this cache as valid or invalid.
-     * 
-     * @param aValid (Self-explanatory).
-     */
-    inline void SetValidL( TBool aValid );
-    
-    /**
-     * Returns information whether at the moment of updating this cache object
-     * the item was current (highlighted).
-     * 
-     * @return ETrue if current, EFalse otherwise.
-     */
-    inline TBool IsCurrent();
-    
-    /**
-     * Sets the information whether the item was current (highlighted). 
-     */
-    inline void SetCurrent( TBool aCurrent );
-    
-    /**
-     * Retrieves the cached item text.
-     * This is the complete string needed by AVKON methods to draw the item
-     * including tab characters and icon indices.
-     * 
-     * @return Cached item text.
-     */
-    inline const TDesC& GetItemText() const;
-    
-    /**
-     * Returns reference to the text buffer owned by this cache.
-     * This methods allows for updating the cached text.
-     * 
-     * @return Reference to the text buffer owned by this cache.
-     */
-    inline RBuf& GetItemTextForModifications();
-    
-    /**
-     * Retrives cached template name.
-     * 
-     * @return Cached template name. 
-     */
-    const TDesC8& GetTemplate() const;
-    
-    /**
-     * Sets template name for the item.
-     * 
-     * @param aItemTemplate Template name.
-     */
-    void SetTemplateL( const TDesC8& aItemTemplate );
-    
-    /**
-     * Returns cached item size.
-     *
-     * @return Cached item size. 
-     */
-    inline TSize GetSize() const;
-    
-    /**
-     * Updates item size stored in the cache.
-     * 
-     * @param aItemSize Item size.
-     */
-    inline void SetSize( TSize aItemSize );
-
-    /**
-     * Produces icon list, which can be then passed as parameter to
-     * CEikFormattedCellListBoxData::SetIconArray.
-     * It is up to the caller to delete the returned array. However,
-     * the icons stored in the array must not be deleted.
-     */
-    CArrayPtr<CGulIcon>* GetIconListL();
-
-    /**
-     * Appends an icon (specifically an icon holder) to the cached array of icon holders.
-     * The icon holder is then co-owned by this CMmCacheForItem object so that the
-     * icon contained in the icon holder can be safely stored.
-     * 
-     * @param aIconHolder An icon holder (NULL value not allowed).
-     * @return Index of the just appended icon holder.
-     */
-    TInt AppendIconL( CHnIconHolder* aIconHolder );
-
-    /**
-     * Clears the array of icon holders stored in this item cache.
-     * It ceases co-owning the icon holders and resets the array
-     * that stores them.
-     */
-    void ClearIconArray();
-    
-    /**
-     * Based on the information about how the item must be drawn (with
-     * hightlight or not) and what currect subcells setup it, this methods
-     * invalidates the cache for this item to prevent problems such as:
-     * * cache information for highlighted item being used for to draw
-     *   the item without highlight or vice versa.
-     * * relying on cache and not performing the full subcells setup while
-     *   the current subcells setup does not fit this particular item.
-     */
-    void InvalidateIfCacheMayNotBeUsed( TBool aIsItemCurrent,
-            TMmSubcellsSetupCode aSubcellsSetupCode );
-    
-protected:
-    /**
-     * Stardard C++ constructor.
-     * 
-     * @param aParent CMmItemsDataCache object owning this object.
-     */
-    CMmCacheForItem( CMmItemsDataCache& aParent );
-    
-    /**
-     * 2nd phase constructor.
-     */
-    void ConstructL();
-    
-    /**
-     * Updates the iIconList so that it reflects the contents of
-     * iIconHolderList.
-     */
-    void UpdateIconListL();
-
-protected:
-    /**
-     * Stores information whether this cache object is valid.
-     */
-    TBool iIsValid;
-    
-    /**
-     * Stores information the item was highlighted at the moment
-     * of last cache update.
-     */
-    TBool iIsCurrent;
-    
-    /**
-     * Stores subcells setup code that denotes the subcells setup
-     * needed to draw the item using the cached data.
-     */
-    TMmSubcellsSetupCode iSubcellsSetupCode;
-    
-    /**
-     * Own.
-     * Stores the item text in the format that
-     * CFormattedCellListBoxData::Draw accepts.
-     * This text includes icon indices separated with tab characters.
-     */
-    RBuf iItemText;
-    
-    /**
-     * Stores the item size.
-     */
-    TSize iItemSize;
-    
-    /**
-     * Template identifier obtained from @c aParent using
-     * @c CMmItemsDataCache::GetTemplateIdentifierL.
-     */
-    TInt iTemplateIdentifier;
-    
-    /**
-     * Own. 
-     * The icon holders in the array are co-owned.
-     */
-    RArray<CHnIconHolder*> iIconHolderList;
-    
-    /**
-     * Object that represents the whole data cache as opposed
-     * to single item cache represented by this object.
-     */
-    CMmItemsDataCache& iParent;
-
-    /**
-     * Array of icons stored in the icon holders which are in iIconHolderList.
-     * This member is only valid when this cache object is marked as valid
-     * using the SetValidL method.
-     * Own.
-     */
-    CArrayPtr<CGulIcon>* iIconList;
-
-    };
-
-#include "mmcacheforitem.inl"
-
-#endif // MMCACHEFORITEM_H
--- a/menufw/menufwui/mmwidgets/inc/mmcacheforitem.inl	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool CMmCacheForItem::IsValid() const
-    {
-    return iIsValid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetSubcellsSetupCode( TMmSubcellsSetupCode aSubcellsSetupCode )
-    {
-    iSubcellsSetupCode = aSubcellsSetupCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TMmSubcellsSetupCode CMmCacheForItem::GetSubcellsSetupCode() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iSubcellsSetupCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetValidL( TBool aValid )
-    {
-    if ( !!iIsValid != !!aValid ) // Ex-OR
-        {
-        iIsValid = aValid;
-        if ( iIsValid )
-            {
-            UpdateIconListL();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool CMmCacheForItem::IsCurrent()
-    {
-    return iIsCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetCurrent( TBool aCurrent )
-    {
-    iIsCurrent = aCurrent;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline const TDesC& CMmCacheForItem::GetItemText() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iItemText;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline RBuf& CMmCacheForItem::GetItemTextForModifications()
-    {
-    return iItemText;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TSize CMmCacheForItem::GetSize() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iItemSize;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void CMmCacheForItem::SetSize( TSize aItemSize )
-    {
-    iItemSize = aItemSize;
-    }
--- a/menufw/menufwui/mmwidgets/inc/mmdraganddropobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMDRAGANDDROPOBSERVER_H
-#define M_MMDRAGANDDROPOBSERVER_H
-
-/**
- *  Used by Multimedia Menu widgets to notify about dragging events.
- *  Whenever a drag begins HandleDragStartL() is invoked.
- *  When the highlight changes during drag, HandleDragOverL() is invoked.
- *  When item is dropped, HandleDragStopL() is invoked.
- *  The set of the three methods fully notifies the observer about the state 
- *  of the drag.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MMmDragAndDropObserver
-    {
-public:
-    /**
-     * Method is invoked on the observer, when the dragging starts.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item that has started dragging.
-     */
-    virtual void HandleDragStartL( TInt aModelItemIndex ) = 0;
-
-    /**
-     * Method is invoked on the observer, when highlight changes
-     * while dragging.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item that the dragged item hovers over.
-     */
-    virtual void HandleDragOverL( TInt aModelItemIndex ) = 0;
-    
-    /**
-     * Method is invoked on the observer, when the item is dropped.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item on which the draging stops.
-     */
-    virtual void HandleDragStopL( TInt aModelItemIndex ) = 0;
-    
-    /**
-     * Method is invoked on the observer, when the dragged item index changes.
-     *
-     * @since S60 v5.0
-     * @param aModelItemIndex Index of item on which the draging stops.
-     */
-    virtual void HandleDraggedIndexUpdatedL( TInt aModelItemIndex ) = 0;
-    
-    };
-    
-#endif // M_MMDRAGANDDROPOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmdraweranimator.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmDrawerAnimator declaration
-*  Version     : %version: MM_17.1.8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMDRAWERANIMATOR_H
-#define C_MMDRAWERANIMATOR_H
-
-#include <e32base.h>
-#include <e32std.h>
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <aknlistboxtfx.h>
-#endif 
-class CMmListBoxItemDrawer;
-class TMmFloatingItem;
-
-/**
- * Zoom ratio when no zooming is performed.
- */
-const TReal KNormalStateZoomRatio = 1.0f;
-
-/**
- * Zoom ratio when zooming is performed.
- */
-const TReal KZoomStateZoomRatio = 1.25f;
-
-/**
- *  Used by Multimedia Menu to draw Animated items.
- *  Drawer animator is an active object, that forces refreshes
- *  while floating items are available in the associated CListBoxItemDrawer.
- *  When no items are available the drawer ceases to redraw the screen.
- *  Active object becomes active when a new animation is triggered.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @see CListBoxItemDrawer
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmDrawerAnimator ) : public CActive
-    {
-    
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmDrawerAnimator* NewL( CMmListBoxItemDrawer& aDrawer );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmDrawerAnimator* NewLC( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmDrawerAnimator();
-
-    /**
-     * Animates transition of the dragged item.
-     * The animation starts in the current position of EDrag
-     * floating item, and end in the original place of dragging
-     * or destination place, if reorder occured.
-     *
-     * @since S60 v5.0
-     */
-    void AnimateDragItemTransitionL( );
-    
-    /**
-     * Animates an item with index aItemFrom into position 
-     * indexed by aItemTo.
-     *
-     * @since S60 v5.0
-     * @param aItemFrom Which item should be animated.
-     * @param aItemTo Where to should the item be animated.
-     */
-    void AnimateItemSwapL( TInt aItemFrom, TInt aItemTo );
-
-    /**
-     * Animates zooming of an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index of item to be zoomed.
-     * @param aZoomIn Is zooming in or out.
-     */
-    void AnimateItemZoomL( TInt aItemIndex, TBool aZoomIn );
-
-    /**
-     * Checks if system is ready for new animation.
-     *
-     * @since S60 v5.0
-     * @return Is system ready so new animation can proceed.
-     */
-    TBool IsReadyForNewAnimation();
-    
-    /**
-     * Cancel currently running or pending animations.
-     *
-     * @since S60 v5.0
-     */
-    void CancelAnimationsL();
-    
-    /**
-     * Triggers animation.
-     * This methods sets the Activeobject into active state
-     * if floating items are available
-     *
-     * @since S60 v5.0
-     * @return Error code
-     */
-    TInt Trigger();
-    
-    /**
-     * Marks next redraw to be cancelled.
-     * 
-     * @return Indicates if redraw occured due to cancel.
-     */
-    TBool CancelNextRedrawL();
-    
-    /**
-     * Make the next animation redraw the whole screen;
-     */
-    void SetNextRedrawToWholeScreen();
-    
-    /**
-     * Indicates that draweranimator is in garbage.
-     * This is used when suite model has been destroyed so there isn't 
-     * anything to draw, therefore any animator attempts should be 
-     * dropped.
-     */
-    void PrepareForGarbage();
-    
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     * @param aDrawer Object used to draw items in widgets.
-     */
-    CMmDrawerAnimator( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-
-private: // From CActive
-
-    /**
-     * Draws next animation phase.
-     *
-     * @since S60 v3.0
-     */
-    void RunL();
-
-    /**
-     * Cancels animation timer. Stops animation.
-     *
-     * @since S60 v3.0
-     */
-    void DoCancel();
-
-    /**
-     * Handles error if error an error occured.
-     *
-     * @since S60 v3.0
-     * @param aError Error code which occurred.
-     * @return Error code for error handling.
-     */
-    TInt RunError( TInt aError );
-    
-    /**
-     * Adjusts rect to non touch.
-     * 
-     * @since S60 v3.0
-     * @param aRefreshRect Refresh rect.
-     * @return Adjusted rect.
-     */
-    TRect AdjustRefreshRectToNonTouch( const TRect& aRefreshRect );
-
-private: // Data
-	
-    /**
-     * Timer
-     */  
-    RTimer iTimer;
-    
-    /**
-     * Associated item drawer.
-     */  
-    CMmListBoxItemDrawer& iDrawer;
-    
-    /**
-     * Number of animation frames
-     */  
-    TInt iAnimateFrames;
-
-    /**
-     * Delay between redrawing.
-     */  
-    TTimeIntervalMicroSeconds iDelay;
-   
-    /**
-     * Last redraw time
-     */  
-    TTime iLastRedrawTime;
-      
-    /**
-     * Effects api.
-     */  
-    MAknListBoxTfx *iTransTfx;
-    
-    /**
-     * Effects api.
-     */  
-    MAknListBoxTfxInternal *iTransTfxInternal;
-    
-    /**
-     * Highlight noted when last redraw occured.
-     */
-    TInt iLastNotedHighlight;
-    
-    /**
-     * Top item index noted when last redraw occured.
-     */
-    TInt iLastNotedTopItem;
-    
-    /**
-     * Vertical offset noted when last redraw occured.
-     */
-    TInt iLastNotedVerticalOffset;
-    
-    /**
-     * Holds the previous animation refresh rectangle.
-     */
-    TRect iPreviousRefreshRect;
-    
-    /**
-     * Holds the number of frames to animate.
-     */
-    const TInt iUsualAnimationFramesCount;
-    
-    /**
-     * Holds the previous animation refresh rectangle.
-     */
-    TBool iPreparedForGarbage;
-    };
-
-#endif // MMDRAWERANIMATOR_H
--- a/menufw/menufwui/mmwidgets/inc/mmfloatingitem.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
-* 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:  floating item
-*
-*/
-
-
-#ifndef T_MMFLOATINGITEM_H
-#define T_MMFLOATINGITEM_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include "mmwidgetsconstants.h"
-
-
-/**
- * Floating item.
- * 
- * This class describes a floating item element. Floating item is an extension
- * to the way grid and list widgets are drawn. Since widgets are very restrictive,
- * as to the place where na item is drawn (since in both grid and list each item
- * has a pretty well defined place) there had to be a way to draw items off the
- * standard place. Together with CMMDrawerAnimator, these classes support
- * drawing of dragged item as well as other off place items such as animation 
- * frames.
- * Floating items as such support the idea of animation, as each of the items
- * are aware of the animation step, and may modify its own position, whenever
- * requested. However a timer in this manner is needed, and this role is 
- * performed by CMMDrawerAnimator, which is aware of the redraw speed, and may
- * control the state of all instances of TMMFloatingItem.
- * It should be noted that both TMMFloatingItem and CMMDrawerAnimator doesn't 
- * handle item's drawing on it's own. These classes just control the logical 
- * state of floating items. All floating items are associated with the 
- * CMMListBoxItemDrawer in an array, and drawn whenever a Draw operation is 
- * performed on the widget, or any particular item, that is in any way overlapped
- * by a floating item.
- * 
- * @see CMMDrawerAnimator
- * @lib mmwidgets
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-
-class CListBoxView;
-
-class TMmFloatingItem
-    {
-    
-public:
-    /**
-     * Constructor.
-     * 
-     * If a non-null value for the aView parameter is supplied, then item position
-     * will be relative, so when the view is scrolled the floating item will move
-     * just like all the non-floating items.
-     * If aView is NULL, then item position will be absolute, meaning that it will
-     * not change when the view is scrolled. 
-     *
-     * @since S60 ?S60_version
-     * @param aDrawnIndex Index of the item which is going to 
-     *                        be draw off place.
-     * @param aStartPosition Position of the item (always expressed in screen
-     *                       coordinates, even when creating an item with relative
-     *                       position).
-     * @param aType Type of the floating item.
-     * @param aAnimationFrames Total number of animation frames to perform.
-     * @param aView The view on which items are drawn (optional - affects
-     *        scrolling behavior).
-     */
-    TMmFloatingItem( TInt aDrawnIndex, TPoint aStartPosition,
-            TMmFloatingItemType aType, TInt aAnimationFrames,
-            CListBoxView* aView = NULL );
-    
-    /**
-     * Sets the flag of manual delete. If such flag is set
-     * the floating item will not perfrom self removal. Normally
-     * floating items remove themselves fram the drawing buffer whenever 
-     * the animation is finished. This is used for example for
-     * dragged items, since they are not animated, and they will be
-     * deleted manual when the uses lets go of the drag.
-     *
-     * @since S60 5.0
-     * @param aManual Flag of manual deletion.
-     */
-    void SetManualDelete( TBool aManual );
-    
-    /**
-     * Performs a step of the animation, according to 
-     * earlier provided information.
-     *
-     * @since S60 5.0
-     */
-    TBool MakeStep();
-       
-    /**
-     * Set the difference in the location of the floating item
-     * from the originating position of the item, to the resulting
-     * position of the animation
-     *
-     * @since S60 5.0
-     * @param aDiffetenceVector Vector of displacement.
-     */
-    void SetPositionStep( TPoint aDiffetenceVector  );
-    
-    /**
-     * Set the size of the step that modifies the size of the
-     * item with every step of the animation.
-     *
-     * @since S60 5.0
-     * @param aStartSize Initial size of the item.
-     * @param aFinalSize Final size of the item.
-     */
-    void SetSizeStep( TReal aStartSize, TReal aFinalSize );   
-    
-    /**
-     * Gets the current zoom ratio. The ratio might by
-     * time specific, since floating items support animations
-     * changing size of the item.
-     *
-     * @since S60 5.0
-     * @return Zooming ratio.
-     */
-    TReal GetCurrentZoomRatio() const;
-    
-    /**
-     * Gets the type of the floating item.
-     *
-     * @since S60 5.0
-     * @return Type of the floating item.
-     */    
-    TMmFloatingItemType GetFloatingItemType() const;
-
-    /**
-     * Gets the item index of the item being drawn.
-     *
-     * @since S60 5.0
-     * @return Item of the item drawn.
-     */    
-    TInt GetDrawnItemIndex() const;
-    
-    /**
-     * Gets the current item position.
-     * 
-     * The position returned is always expressed in screen coordinates,
-     * even if this item's position is relative.
-     *
-     * @since S60 5.0
-     * @return Position of the item.
-     */    
-    TPoint GetItemPosition() const;
-
-    /**
-     * Marks the item as invalid. Item will be deleted 
-     * from the cache when an attempt to draw the item
-     * occurs.
-     *
-     * @since S60 5.0
-     */    
-    void InvalidateFloatingItem();
-
-    /**
-     * Tests if the item is still valid.
-     *
-     * @since S60 5.0
-     */    
-    TBool IsFloatingItemValid() const;
-    
-    /**
-     * Zooming status is returned, meaning if the item is still 
-     * in the state of zoming in, zooming out, or in normal size
-     * 
-     * @since S60 5.0
-     * @return Negative value is returned if the item is zooming out.
-     *         Positive value is returned if item is zooming in.
-     *         Zero is returned if the item is static in size.
-     */
-    TInt GetZoomingStatus();
-    
-    /**
-     * Checks if the item has the manual deletion
-     * flag setup.
-     *
-     * @since S60 5.0
-     * @return The status of manual deletion flag.
-     */    
-    TBool IsManualDelete();
-    
-    /**
-     * Calculates consequent steps
-     *
-     * @since S60 5.0
-     * @param aVector Displacement vector.
-     */    
-    void CalculateSteps(TPoint aVector);
-    
-private:
-    
-    /**
-     * Index of the item, which is being animated. 
-     */  
-    TInt iDrawnItemIndex;
-    
-    /**
-     * Current item position.
-     * 
-     * This can be either an absolute position (expressed in screen coordinates) or
-     * a relative position depending on whether iView member variable is NULL.
-     * In the latter case, the position is relative to the top-left corner of the
-     * first item in the view.
-     */  
-    TPoint iItemPosition;
-    
-    /**
-     * Dispalcement of the item, per animation step.
-     */  
-    TFixedArray<TPoint, MmEffects::KMaximumAnimationFramesCount> iPositionStep;
-    
-    /**
-     * Size change, per animation step.
-     */  
-    TReal iSizeStep;
-    
-    /**
-     * Counter of animation frames.
-     */  
-    TInt iFrameCounter;
-    
-    /**
-     * Total number of animation frames to perform.
-     */  
-    TInt iFrames;
-    
-    /**
-     * Manual deletion flag.
-     */  
-    TBool iManualDelete;
-    
-    /**
-     * Current scaling ratio.
-     */  
-    TReal iZoomRatio;
-    
-    /**
-     * Type of the floating item. There is a need for distinction
-     * between different animations types.
-     */  
-    TMmFloatingItemType iType; 
-    
-    /**
-     * The view on which items are drawn.
-     * 
-     * When iView is NULL, then iItemPosition contains absolute item position.
-     * Otherwise iItemPostion contains item position relative to the top-left
-     * corner of the first item in the view. 
-     */
-    CListBoxView* iView;
-       
-    };
-    
-#endif // T_MMFLOATINGITEM_H
--- a/menufw/menufwui/mmwidgets/inc/mmgrid.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,508 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGrid declaration
-*  Version     : %version: MM_32.1.22 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRID_H
-#define C_MMGRID_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGrid.h> 
-
-class CMmGridModel;
-class CMmListBoxItemDrawer;
-class CMmMarqueeAdapter;
-class CMmWidgetContainer;
-class CMmTemplateLibrary;
-
-/**
- *  Multimedia Menu Grid Widget
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGrid ) : public CAknGrid
-    {
-public:
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    static CMmGrid* NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    static CMmGrid* NewLC(const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CMmGrid();
-
-    /**
-     * Draws the grid is given rectangle.
-     *
-     * @since S60 v3.0
-     * @param aRect Rect within which grid should be drawn.
-     */
-    void Draw( const TRect& aRect ) const;
-    
-    /**
-     * Draws the grid view.
-     *
-     * @since S60 v5.0
-     */
-    void DrawView();
-
-    /**
-     * Creates the item drawer for grid.
-     * 
-     * @since S60 v3.0
-     */
-    void CreateItemDrawerL();
-    
-    /**
-     * Creates the item drawer for grid.
-     * 
-     * @param aTemplateLibrary Template library for drawer. 
-     * @since S60 v3.0
-     */
-    void CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Creates the view class instance for grid.
-     *
-     * @since S60 v3.0
-     * @return Griv view.
-     */
-    CListBoxView* MakeViewClassInstanceL();
-    
-    /**
-     * Handles scrolling event.
-     *
-     * @since S60 v3.0
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles pointer event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Type of pointer event.
-     */
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-     
-    /**
-     * Sets item drawer and view background context.
-     *
-     * @since S60 v3.0
-     * @param aBgContext Background context to be set in view and item drawer.
-     */
-    void SetItemDrawerAndViewBgContext(
-    		CAknsBasicBackgroundControlContext* aBgContext );
-    
-    /**
-     * Handles changes in scrollbar visibility.
-     *
-     * @since S60 v3.0
-     */
-    TBool HandleScrollbarVisibilityChangeL();
-    
-    /**
-     * Checks if all items from model fit in given rectangle.
-     *
-     * @since S60 v3.0
-     * @return Do items fit in view rectangle.
-     */
-    TBool AllItemsFitInViewRect();
-    
-    /**
-     * Updates scrollbar changes.
-     *
-     * @since S60 v3.0
-     */
-    void UpdateScrollBarsL();
-    
-    /**
-     * Sets the marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter Marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-    
-    /**
-     * Sets up the layout (orientation and items' sizes).
-     *
-     * @since S60 v3.0
-     */
-    void SetupLayout();
-
-    /**
-     * Gets the Grid model.
-     *
-     * @since S60 v3.0
-     * @return Grid model.
-     */       
-    CMmGridModel * MmModel();
-    
-    /**
-     * This function from @c CAknGrid handles key events.
-     *  
-     * It has been overridden to allow for correct handling of
-     * left and right rocker keys when mirrored layout is used.
-     * 
-     * @param aKeyEvent event to handle
-     * @param aType type of the key event
-     * @return response code ( @c EKeyWasConsumed, @c EKeyWasNotConsumed )
-     */
-    TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-    
-    /**
-     * This function from CAknGrid is overriden to make grid 
-     * behavior correct in the mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-     */
-    void HandleViewRectSizeChangeL();
-    
-    /**
-     * Overridden function from CAknGrid.
-     */
-    void AdjustTopItemIndex() const;
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Simply sets the item height members in widget and view.
-     */
-    void SetItemHeight( TInt aItemHeight );
-
-    /**
-     * Updates scrollbar thumbs.
-     */
-    void UpdateScrollBarThumbs();
-
-    /**
-     * Counts the number of component controls which this component owns.
-     */ 
-    TInt CountComponentControls() const;
-
-    /**
-     * Disables/enables child component (scrollbar) drawing.
-     */
-    void SetDisableChildComponentDrawing( TBool aDisable );
-    
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGrid();
-    
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     * @param aParent Parent control.
-     * @param aFlags Additional Flags.
-     * @param aTemplateLibrary Template library for drawer.
-     */
-    void ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Handles changes in resource.
-     *
-     * @since S60 v3.0
-     * @param aIsLandscape Is orientation in landscape mode.
-     * @param aCellSize The size of grid cell/item.
-     * @param aViewLayout The layout of the grid (e.g. 3x4).
-     */
-    void DoHandleResourceChangeL( TBool aIsLandscape, TSize& aCellSize,
-            TSize& aViewLayout );
-    
-    /**
-     * Handles changes in resource.
-     *
-     * @since S60 v3.0
-     * @param aCellSize The size of grid cell/item.
-     * @param aViewLayout The layout of the grid (e.g. 3x4).
-     */
-    void DoHandleResourceChangeL( TSize& aCellSize,
-            TSize& aViewLayout );
-    
-    /**
-     * Sets up the layout (for use in non-leaving SetupLayout())
-     * 
-     * @since S60 v3.0 
-     */
-    void DoSetupLayoutL();
-    
-    /**
-     * Handles pointer events when edit mode is enabled.
-     * 
-     * This method is only called during edit mode. It selectively passes
-     * only some of the pointer events to CAknGrid::HandlePointerEventL
-     * in order to disable flicking and panning.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Handles pointer events when edit mode is disabled.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInNormalModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Handles button repeat event in normal mode.
-     * 
-     * Such event is requested when handling button1down event so that
-     * certain actions (i.e. setting highlight visibility) can be made
-     * with a small delay - this improves menu behavior on flicking.
-     * 
-     * @param aPointerEvent pointer event 
-     */
-    void HandleButtonRepeatEventInNormalModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Scrolls the view if pointer is close to the top/bottom edge.
-     * 
-     * This method is used only when edit mode is active. In a way it
-     * brings back the focus based scrolling behavior that was present
-     * in CAknGrid before ODE scrolling was introduced.
-     */
-    void HandleScrollingInEditMode( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer above the top scrolling threshold.
-     */
-    TBool IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer below the bottom scrolling threshold.
-     */
-    TBool IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-    
-    /**
-     * Scrolls the view if the pointer is near top/bottom edge of the screen.
-     * 
-     * Assumes that current item index is the index of the item under the
-     * pointer. The time value returned is based on the distance of the pointer
-     * from the top/bottom edge of the grid view (this makes the scrolling speed
-     * dependent of how close the pointer is to the edge).
-     * If there is no need to continue scrolling because the beginning/end of
-     * the list has already been reached, 0 is returned.
-     * 
-     * @param aPointerEvent pointer event
-     * @return time to wait before calling this method again (in microseconds)
-     *         or 0 if already at the beginning/end of the list
-     */
-    TInt ScrollIfNeeded( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Minimal scrolling (setting top item index and vertical offset) with 
-     * boundary checking and WITHOUT redrawing.
-     * 
-     * @param aDistanceInPixels Distance to scroll.
-     */
-    void ScrollWithoutRedraw( TInt aDistanceInPixels );
-    
-    /**
-     * Updates the dispapearing highlight.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Type of pointer event.
-     */
-    void HandleOverridenHighlightDrawing( const TPointerEvent& aPointerEvent,
-    		TInt aIndexBefore, TInt aIndexAfter );
-
-    /**
-     * Ensures that elements are drawn correctly when mirrored layout is
-     * used and scrollbar is visible by shifting ViewRect to the right.
-     * Also disabled background drawing for scrollbar as it would not
-     * be drawn correctly in mirrored layout.
-     */
-    void FixViewForMirroredLayout();
-    
-    /**
-     * Gets the offset margin of scrollbar related to view rectangle.
-     * 
-     * @return The distance from view rect side to scrollbar.
-     */
-    TInt ScrollBarOffset();
-    
-    /**
-     * Redraws the background under the vertical scrollbar in mirrored layout.
-     * 
-     * The reason such method is needed is that view rectangle is shifted
-     * to the right in mirrored layout and does not cover the scrollbar
-     * area. In normal (non-mirrored) mode this method does nothing.
-     */
-    void RedrawScrollbarBackground() const;
-    
-    /**
-     * Does actual handling of scroll events.
-     * 
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles periodic events from @c iRedrawTimer.
-     * Such events are generated at equal time intervals while
-     * the view is being scrolled using the scrollbar.
-     * This function typically calls @c ProcessScrollEventL,
-     * which actually scrolls the view and causes a redraw. 
-     */
-    void HandleRedrawTimerEvent();
-    
-private:
-    /**
-     * Callback function for @c iRedrawTimer.
-     * It simply calls @c HandleRedrawTimerEvent and returns 0.
-     * 
-     * @param aPtr A pointer to CMmGrid object.
-     * @return 0 (always).
-     */
-    static TInt RedrawTimerCallback( TAny* aPtr );
-
-private:
-    /**
-     * Grid model.
-     */            
-    CMmGridModel* iMmModel;
-    
-    /**
-     * Item drawer.
-     */                
-    CMmListBoxItemDrawer* iMmDrawer;
-
-    /**
-     * Marquee adapter.
-     */                
-    CMmMarqueeAdapter* iMarqueeAdapter;
-    
-    /**
-     * Scrollbar visibility flag.
-     */                
-    TBool iScrollbarVisibilityChanged;
-
-    /**
-     * Item index which is current in grid.
-     */            
-    TInt iCurrentItemIndex;
-    
-    /**
-     * Currently top view item index.
-     */            
-    TInt iCurrentTopItemIndex;
-    
-    /**
-     * Layout of grid.
-     */            
-    TSize iViewLayout;
-    
-    /**
-     * A flag that indicates that highlight is visible because
-     * the user is pressing the screen (continuously) and that
-     * highlight should remain visible only as long as the screen
-     * is being pressed.    
-     */
-    TBool iHighlightVisibleUntilButton1Up;
-	
-    /**
-     * Blocks scrollbar drawing. When this flag is set scrollbars components
-     * are blocked in the CountComponentControls() method;   
-     */
-    TBool iDisableChildComponentDrawing;
-    
-    /**
-     * This member is only used in edit mode to store the position of the pointer
-     * during EButton1Down event.
-     */
-    TPoint iButton1DownPos;
-
-    /**
-     * ETrue if the view is being scrolled with the scrollbar.
-     */
-    TBool iScrollbarThumbIsBeingDragged;
-    
-    /**
-     * Stores the number of scrollbar events that were ignored.
-     * It is only used while scrolling the view using scrollbar,
-     * in such situation the scroll events that this object receives
-     * are ignored, and actual scrolling is done only when
-     * iRedrawTimer completes.
-     */
-    TInt iSkippedScrollbarEventsCount;
-    
-    /**
-     * A timer that initiates redraws at certain time intervals.
-     * It is used to refresh the view while scrolling with
-     * the scrollbar.
-     */
-    CPeriodic* iRedrawTimer;
-    };
-
-#endif // C_MMGRID_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridcontainer.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridContainer declaration
-*  Version     : %version: MM_29.1.14 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDCONTAINER_H
-#define C_MMGRIDCONTAINER_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <AknGrid.h>
-#include "mmwidgetcontainer.h"
-#include "hnglobals.h"
-
-class CMmGrid;
-class CMmMarqueeAdapter;
-class CEikColumnListBox;
-class CNaviScrollTimer;
-class CHnSuiteModel;
-class CMmTemplateLibrary;
-class CMmListBoxItemDrawer;
-
-/**
- *  Container for Multimedia Menu grid widget
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridContainer ) : public CMmWidgetContainer
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    static CMmGridContainer* NewL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    static CMmGridContainer* NewLC( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v5.0
-     */
-    virtual ~CMmGridContainer();
-
-    /**
-     * Gets grid widget.
-     *
-     * @since S60 v5.0
-     * @return Pointer to grid.
-     */
-    CAknGrid* Grid();
-
-public: // from base class CMmWidgetContainer
-
-    /**
-     * Handle item addition.
-     *
-     * @since S60 v3.0
-     */
-    void HandleItemAdditionL();
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-    void HandleItemRemovalL();
-
-    /**
-     * Sets the default highlight in grid.
-     *
-     * @since S60 v5.0
-     * @param aRedraw Is highlight to redraw.
-     */
-    IMPORT_C void SetDefaultHighlightL(  TBool aRedraw = ETrue  );
-
-    /**
-     * Checks if widget is in edit mode state.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode Is grid in edit mode state.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Derived from CCoeControl, called when container rectangle size is changed.
-     *
-     * @since S60 v5.0
-     */
-    void SizeChanged();
-
-    /**
-     * Gets grid model.
-     *
-     * @since S60 v5.0
-     * @return Grid model.
-     */
-    CMmListBoxModel* GetMmModel();
-
-    /**
-     * Sets empty text shown when grid is empty.
-     *
-     * @since S60 v5.0
-     * @param aText Text to be shown when grid is empty.
-     */
-    IMPORT_C void SetEmptyTextL( const TDesC& aText );
-
-    /**
-     * Sets item drawer and view background context.
-     *
-     * @since S60 v5.0
-     * @param aBgContext Background context.
-     */
-    void SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext );
-
-    /**
-     * Sets up the grid layout.
-     *
-     * @since S60 v5.0
-     */
-    void SetupWidgetLayoutL();
-
-    /**
-     * Sets suite model.
-     *
-     * @since S60 v5.0
-     * @param aModel Suite model.
-     */
-    void SetSuiteModelL( CHnSuiteModel* aModel );
-
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v5.0
-     * @param aVisible Visibility status.
-     */
-    void SetHighlightVisibilityL( TBool aVisible );
-
-    /**
-     * Retrieve type of widget.
-     *
-     * @since S60 v3.0
-     * @return Type of widget.
-     */
-    THnSuiteWidgetType WidgetType();
-
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView();
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     *
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     *
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const;
-
-    /**
-     * Tells if item is visible (fully or partially).
-     * Overridden from the base class CMmWidgetContainer in order to
-     * provide a reliable implementation for grid.
-     *
-     * @param aItemIndex Item index.
-     * @return ETrue if visible, EFalse otherwise.
-     */
-    TBool ItemIsVisible( TInt aItemIndex ) const;
-
-private:
-    /**
-     * Default constructor.
-     *
-     * @since S60 v5.0
-     */
-    CMmGridContainer();
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary template library for Drawer
-     */
-    void ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Constructs listbox from resource, creates scrollbar and sets empty list background text.
-     *
-     * @since S60 v5.0
-     * @param aTemplateLibrary template library for Drawer
-     * @return Grid model.
-     */
-    CMmGrid* CreateGridL( CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-    TInt ColumnsInCurrentView();
-
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    TInt RowsInCurrentView();
-
-    /**
-	 * Updates current view's scrollbar thumbs.
-	 */
-    void UpdateViewScrollBarThumbs();
-
-    /**
-     * Calculates offset for default highlight position based on
-     * index of first visible item.
-     *
-     * @returns offset for default highlight
-     */
-    TInt DefaultHighlightOffset();
-
-private: // Data
-
-    /**
-     * Pointer to listbox control.
-     * Own.
-     */
-    CMmGrid* iGrid;
-
-    };
-
-#endif // C_MMGRIDCONTAINER_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridModel declaration
-*  Version     : %version: MM_14 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDMODEL_H
-#define C_MMGRIDMODEL_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGridM.h> 
-
-class CMmListBoxModel;
-class CHnSuiteModel;
-
-/**
- *  Multimedia Menu grid model.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridModel ) : public CAknGridM
-    {
-public:
-    /**
-     * Two-phased constructor.
-     */
-    static CMmGridModel* NewL();
-    
-    /**
-     * Two-phased constructor.
-     */
-    static CMmGridModel* NewLC();
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v3.0
-     */
-    ~CMmGridModel();
-
-
-    /**
-     * Returns the number of grid items in model.
-     *
-     * @since S60 v3.0
-     * @return Number of items in model.
-     */
-    TInt NumberOfItems() const;
-    
-    /**
-     * Returns the Multimedia Menu listbox model.
-     *
-     * @since S60 v3.0
-     * @return Listbox model.
-     */
-    CMmListBoxModel* MmListBoxModel();
-
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGridModel();
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-	
-    /**
-     * 2nd phase constructor.
-     * Do not delete!!! This constructor does not do anything 
-     * and is overloaded to make sure AVKON sets up the grid only by calling 
-     * ConstructL() without any parameters.
-     * 
-     * @since S60 v5.0 
-     */
-	void ConstructL(MDesCArray* /*aItemTextArray*/, TListBoxModelItemArrayOwnership /*aOwnershipType*/);
-	
-private: // Data
-	
-    /**
-     * The Multimedia Menu Listbox model which is in fact the grid model used.
-     */
-    CMmListBoxModel* iMmListBoxModel;
-
-    };
-
-#endif // C_MMGRIDMODEL_H
--- a/menufw/menufwui/mmwidgets/inc/mmgridview.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmGridView declaration
-*  Version     : %version: MM_24.1.9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMGRIDVIEW_H
-#define C_MMGRIDVIEW_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknGridView.h> 
-
-/**
- *  Multimedia Menu Grid View.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmGridView ) : public CAknGridView
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     */
-    static CMmGridView* NewL();
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     */
-    static CMmGridView* NewLC();
-
-    /**
-     * Destructor.
-     * 
-     * @since S60 v3.0
-     */
-    virtual ~CMmGridView();
-    
-    /**
-     * Draws the grid within the given clipping rectangle.
-     *
-     * @since S60 v3.0
-     * @param aClipRect Clipping rectangle.
-     */
-	void Draw( const TRect* aClipRect ) const;
-	
-	/**
-     * Gets item position.
-     * 
-     * This fuction from @c CAknGridView is overridden so that it
-     * returns 'mirrored' item positions when mirrored layout is
-     * used. 
-     * 
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Item position.
-     */
-    TPoint ItemPos( TInt aItemIndex ) const;
-    
-    /**
-     * Converts an (x, y) pixel position to an item index.
-     * 
-     * This fuction from @c CAknGridView has been overridden in order
-     * to make it work properly when mirrored layout is used.
-     * 
-     * @param aPosition Pixel position in the viewing rectangle.
-     * @param aItemIndex Reference to the item index.
-     * @return Whether there was an item at aPosition.
-     */  
-    TBool XYPosToItemIndex(TPoint aPosition, TInt& aItemIndex) const;
-	
-	/**
-	 * Returns this view's gc.
-	 * 
-	 * @return pointer to gc
-	 */
-	CWindowGc* Gc();
-	
-    /**
-     * @see CAknGridView::UpdateSelectionL
-     * 
-     * This method of CAknGridView is overriden to so that
-     * correct effects are displayed when moving highlight with 
-     * rocker key in mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-     */
-    void UpdateSelectionL( TSelectionMode aSelectionMode );
-
-	/**
-	 * @see CAknGridView::MoveCursorL
-	 * 
-	 * This method of CAknGridView is overriden to so that
-	 * correct effects are displayed when moving highlight with 
-	 * rocker key in mirrored layout.
-     * Please note that it is necessary because of the hackish
-     * solution used to draw items in mirrored layout.
-	 */
-    void MoveCursorL( TCursorMovement aCursorMovement,
-            TSelectionMode aSelectionMode );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-	/**
-	* This function sets item height in pixels.
-	* @param aItemHeight New height in pixels for this view’s items.
-	*/	
-    void SetItemHeight(TInt aItemHeight);
-    
-    /**
-     * Updates various member variables in this grid view and related objects
-     * with item dimensions taken from the template library.
-     */
-    void UpdateItemHeightAndWidth();
-
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    CMmGridView();
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-    
-    /**
-     * Draws the grid within the given clipping rectangle.
-     *
-     * @since S60 v3.0
-     * @param aClipRect Clipping rectangle.
-     */
-    void DoDraw( const TRect* aClipRect ) const;
-    
-    /**
-     * Gets item position.
-     * 
-     * AVKON implementation of ItemPos method does not always work properly.
-     * It fails when:
-     *   aItemIndex < TopItemIndex() - NumberOfColsInView()
-     * Because of that problem this method was created. It is now used in
-     * CMmGridView::ItemPos in place where base class (AVKON) implementation
-     * was used previously.
-     * 
-     * @param aItemIndex Item index.
-     * @return Item position.
-     */
-    TPoint CorrectItemPos( TInt aItemIndex ) const;
-
-private:
-
-    /**
-     * Stores cursor movement flag during CMmGridView::MoveCursorL execution.
-     * 
-     * When CMmGridView::MoveCursorL is not executing this member variable is
-     * always set to ECursorFirstItem. This is part of the hack that allows
-     * for correct effects to be displayed when using rocker key in mirrored
-     * layout.
-     */
-    TCursorMovement iLastCurMove;
-    
-    /**
-     * Stores previosly highlighted item index during CMmGridView::MoveCursorL
-     * execution.
-     * 
-     * When CMmGridView::MoveCursorL is not executing this member variable is
-     * always set to KErrNotFound. This is part of the hack that allows
-     * for correct effects to be displayed when using rocker key in mirrored
-     * layout.
-     */
-    TInt iOldIndex;	
-    };
-
-#endif // C_MMGRIDVIEW_H
--- a/menufw/menufwui/mmwidgets/inc/mmitemsdatacache.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMITEMSDATACACHE_H
-#define MMITEMSDATACACHE_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CMmCacheForItem;
-
-/**
- * Provides a cache of data needed to draw every item in grid or list view.
- * This class is only used by CMmListBoxItemDrawer.
- */
-NONSHARABLE_CLASS( CMmItemsDataCache ): public CBase
-    {
-public:
-    /**
-     * Creates new CMmItemsDataCache object. 
-     */
-    static CMmItemsDataCache* NewLC();
-    
-    /**
-     * Creates new CMmItemsDataCache object.
-     */
-    static CMmItemsDataCache* NewL();
-    
-    /**
-     * Returns item cache object for an item at specified index.
-     * 
-     * @param aItemIndex Item index
-     * @return Item cache object.
-     */
-    CMmCacheForItem* GetItemCacheL( TInt aItemIndex );
-    
-    /**
-     * Gets an integer identifier of a template of given name.
-     * The identifier is guaranteed to be unique among other
-     * identifiers obtained from this instance of CMmItemsDataCache
-     * object.
-     * Such identifier can be used to perform fast template
-     * comparisons in the CMmListBoxItemDrawer code.
-     * @c TMmSubcellsSetupCode code assumes that the template
-     * identifier will not exceed 255. Assumption will be met unless
-     * there are more that 256 different templates used in one suite
-     * which is extremely unlikely.
-     * 
-     * @param aTemplateName Name of a template.
-     * @return Template identifier based on template name.
-     */
-    TInt GetTemplateIdentifierL( const TDesC8& aTemplateName );
-    
-    /**
-     * Translates a template identifier obtained from @c GetTemplateIdentifierL
-     * into a regular string containing template name.
-     * 
-     * @param aTemplateIdentifier Template identifier from GetTemplateIdentifierL.
-     * @return Template name.
-     */
-    const TDesC8& GetTemplateNameByIdentifier( TInt aTemplateIdentifier ) const;
-    
-    /**
-     * Marks the whole data in cache as outdated so that
-     * it cannot possibly be used until it is updated by
-     * setting up subcells in normal (non-cached) mode.
-     */
-    void Invalidate();
-    
-    /**
-     * Reduces the number of cache entries to given number.
-     * If there are less entries than aItemCount then nothing
-     * is done.
-     * 
-     * @param aItemCount number of items to store cached data for
-     */
-    void Trim( TInt aItemCount );
-    
-    /**
-     * Standard C++ virtual destructor. 
-     */
-    ~CMmItemsDataCache();
-protected:
-    
-    /**
-     * Standard C++ constructor.
-     */
-    CMmItemsDataCache();
-    
-    /**
-     * 2nd phase constructor.
-     */
-    void ConstructL();
-
-protected: // data
-
-    /**
-     * Array of cache objects for individual items.
-     * Own.
-     */
-    RPointerArray<CMmCacheForItem> iItemCacheArr;
-    
-    /**
-     * Array of template names used by @c GetTemplateIdentifierL and
-     * @c GetTemplateNameByIdentifier methods. Template identifiers
-     * that @c GetTemplateIdentifierL returns are in fact indices in
-     * this array.
-     * Own. Contents of the array owned too.
-     */
-    RPointerArray<HBufC8> iTemplateNames;
-
-    };
-
-#endif // MMITEMSDATACACHE_H
--- a/menufw/menufwui/mmwidgets/inc/mmkeyeventobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMKEYEVENTOBSERVER_H
-#define M_MMKEYEVENTOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling key events.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- */
-class MMmKeyEventObserver
-    {
-public:
-	
-    /**
-     * Called by implementing class to handle incoming key event (e.g. rocker key pressed).
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent The type of key event triggered.
-     * @param aType The Code of the event.
-     * @return Information if the key event has been handled.
-     */
-    virtual TKeyResponse HandleKeyPressedL( const TKeyEvent &aKeyEvent, 
-        TEventCode aType ) = 0; 
-    
-    };
-    
-#endif // M_MMKEYEVENTOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmlctutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-
-#ifndef MMLCTUTILS_H
-#define MMLCTUTILS_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknDef.hrh>
-#include "mmtemplatelibrary.h"
-
-// CLASS DECLARATION
-
-/**
- *  Utilities for LCT scalable layout support in Multimedia Menu.
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MmLCTUtils
-	{
-	
-public:
-
-	/**
-	 * Gets the window component layout for the given layout name and variety.
-	 * 
-	 * @since S60 v3.0
-	 * @param aLayout Name of the layout.
-	 * @param aVariety Variety for the layout.
-	 * @return Window component layout.
-	 */
-	static TAknWindowComponentLayout ItemLayout (const TDesC8& aLayout,
-			TInt aVariety);
-	
-    /**
-     * Gets the text component layout for the given layout name and variety.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @return Text component layout.
-     */
-	static TAknTextComponentLayout
-			TextLayout (const TDesC8& aLayout, TInt aVariety);
-	
-    /**
-     * Gets the Window component layout for the given layout name and variety. Used for setting up graphical subcells.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @return Window component layout.
-     */
-	static TAknWindowComponentLayout GraphicLayout (const TDesC8& aLayout,
-			TInt aVariety);
-	
-    /**
-     * Sets up template data for text subcell.
-     * 
-     * @since S60 v3.0
-     * @param aItemSize Size of the parent item.
-     * @param aSubCellTemplate Template data to be set.
-     */
-	static void SetupTextSubCellTemplate (TSize aItemSize,
-			TTemplateChild& aSubCellTemplate);
-	
-    /**
-     * Sets up template data for graphic subcell.
-     * 
-     * @since S60 v3.0
-     * @param aItemSize Size of the parent item.
-     * @param aSubCellTemplate Template data to be set.
-     */
-	static void SetupGraphicSubCellTemplate (TSize aItemSize,
-			TTemplateChild& aSubCellTemplate);
-	
-    /**
-     * Calculates the item size using LCT.
-     * 
-     * @since S60 v3.0
-     * @param aLCTTemplate Name of the layout.
-     * @param aVariety Variety for the layout.
-     * @param aParentRect Parent rectangle.
-     * @param aWindowLayout Window component layout to be set.
-     * @return Size of the item calculated by LCT.
-     */
-	static TSize GetLCTSize (const TDesC8& aLCTTemplate, TInt aVariety,
-			const TRect aParentRect, TAknWindowLineLayout& aWindowLayout );
-
-    /**
-     * Calculates the layout size using LCT.
-     * 
-     * @since S60 v3.0
-     * @param aLCTTemplate Name of the layout template.
-     * @param aVariety Variation of the layout.
-     * @return Size of the layout (e.g 3x4) calculated by LCT.
-     */
-	static TSize GetLayoutSize( const TDesC8& aLCTTemplate, TInt aVariety );
-    
-	/**
-     * Gets the structure of parameters for a given layout.
-     * 
-     * @since S60 v3.0
-     * @param aLayout Name of the layout template.
-     * @param aVariety Variation of the layout.
-     * @return 
-     */
-	static TAknLayoutScalableParameterLimits LCTParameterLimits( const TDesC8& aLayout, TInt aVariety );
-	};
-
-#endif // MMLCTUTILS_H
-
--- a/menufw/menufwui/mmwidgets/inc/mmlistbox.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,454 +0,0 @@
-/*
-* 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:  CMmListBox
-*  Version     : %version: MM_22.1.16 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOX_H
-#define C_MMLISTBOX_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <aknlists.h>
-#include <e32cmn.h> 
-
-class CMmListBoxModel;
-class CMmListBoxItemDrawer;
-class CMmMarqueeAdapter;
-class CMmWidgetContainer;
-class CMmTemplateLibrary;
-
-/**
- *  CMmListBox
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBox ) : public CEikFormattedCellListBoxTypedef
-	{
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box.
-     */
-    static CMmListBox* NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box.
-     */
-    static CMmListBox* NewLC( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-	
-    /**
-	 * Destructor.
-	 * 
-	 * @since S60 v3.0
-	 */
-	virtual ~CMmListBox();
-   
-	/**
-     * Gets the listbox model.
-     *
-     * @since S60 v3.0
-     * @return Listbox model.
-     */
-    CMmListBoxModel * MmModel(); 
-    
-    /**
-     * Sets the listbox model.
-     *
-     * @since S60 v3.0
-     * @param aMmModel The model to be set.
-     */
-    void SetMmModel( CMmListBoxModel* aMmModel );
-
-   /**
-    * Creates the view class instance.
-    *
-    * @since S60 v3.0
-    * @return Listbox view.
-    */
-   CListBoxView* MakeViewClassInstanceL();
-   
-   /** 
-    * Creates the item drawer for listbox.
-    * 
-    * @param aTemplateLibrary Template library for drawer. 
-    * @since S60 v3.0
-    */
-   void CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary );
-   
-   /** 
-    * Sets the flag.
-    * 
-    * @since S60 v3.0
-    * @param aFlag Avkon list flag
-    */
-   void SetListFlag( TInt aFlag );
-   
-   /** 
-    * Clears the flag.
-    * 
-    * @since S60 v3.0
-    * @param aFlag Avkon list flag
-    */
-   void ClearListFlag( TInt aFlag );
-      
-
-public: // from base class CCoeControl.
-
-   /**
-    * From CCoeControl.     
-    * Handles pointer events.
-    * 
-    * @since S60 v3.0
-    * @param aPointerEvent Pointer event.
-    */
-   void HandlePointerEventL( const TPointerEvent& aPointerEvent ); 
-   
-   /**
-    * From base class.
-    *
-    * @since S60 v3.0
-    * @param aKeyEvent Key event.
-    * @param aType Event code.
-    */
-   TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-           TEventCode aType );
-   
-   /**
-    * Adjusts the given rectangle.
-    *
-    * @since S60 v3.0
-    * @param aRect Rectangle to be adjusted.
-    * @return Error code.
-    */
-   TInt AdjustRectHeightToWholeNumberOfItems( TRect& aRect ) const;
-   
-   /**
-    * Sets item drawer and view background context.
-    *
-    * @since S60 v3.0
-    * @param aBgContext Background context.
-    */
-   void SetItemDrawerAndViewBgContext( 
-           CAknsBasicBackgroundControlContext * aBgContext );
- 
-   /**
-    * Updates scrollbar.
-    *
-    * @since S60 v3.0
-    */
-   void UpdateScrollBarsL();
-   
-   /**
-    * Special version of Update scrollbar that never calls DrawNow()
-    */
-   void UpdateScrollBarsNoRedrawL();
-   
-   /**
-    * Checks if all items fit in view rectangle.
-    *
-    * @since S60 v3.0
-    * @return Do all items fit in view rectangle.
-    */
-   TBool AllItemsFitInViewRect();
-   
-   /**
-    * Handles scrollbar visibility change.
-    *
-    * @since S60 v3.0
-    * @return Is redraw needed.
-    */
-   TBool HandleScrollbarVisibilityChangeL();
-   
-   /**
-    * Sets marquee adapter.
-    *
-    * @since S60 v3.0
-    * @param aAdapter Marquee adapter.
-    */
-   void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-   
-   /**
-    * Notifies that marquee is being drawn.
-    *
-    * @since S60 v3.0
-    * @param aIsMarqueeBeingDrawn Is marquee being drawn.
-    */
-   void SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn );
-   
-   /**
-    * Handles item removal. redraws view, updates scrollbar.
-    *
-    * @since S60 v3.0
-    */
-   void HandleItemRemovalL();
-   
-   /**
-    * Redraws items in view if it is necessary.
-    *
-    * @since S60 v3.0
-    * @param aPreviousCurrent Previously current item index.
-    * @param aCurrent Current item index.
-    * 
-    * @return true if anything was drawn.
-    */
-	TBool RedrawIfNecessary( TInt aPreviousCurrent, TInt aCurrent );
-	
-	/**
-	 * Overridden from base class to allow for drawing scrollbar
-	 * background in mirrored layout.
-	 * 
-	 * @param aRect clipping rect
-	 */
-	void Draw(const TRect& aRect) const;
-	
-	/**
-     * Draws the listbox view.
-     *
-     * @since S60 v5.0
-     */
-	void DrawView();
-    
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Simply sets the item height members in widget and view.
-     */
-    void SetItemHeight( TInt aItemHeight );
-    
-    /**
-     * Updates scrollbar thumbs.
-     */
-    void UpdateScrollBarThumbs();
-    
-    /**
-     * Counts the number of component controls which this component owns.
-     */ 
-    TInt CountComponentControls() const;
-    
-    /**
-     * Disables/enables child component (scrollbar) drawing.
-     */
-    void SetDisableChildComponentDrawing( TBool aDisable );
-    
-    /**
-     * Handles scrolling event.
-     *
-     * @since S60 v3.0
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-private:
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     */
-	CMmListBox();
-	
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v3.0
-     * @param aParent Parent control.
-     * @param aFlags Flags.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-	void ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Handles pointer events when edit mode is enabled.
-     * 
-     * This method is only called during edit mode. It selectively passes
-     * only some of the pointer events to CAknGrid::HandlePointerEventL
-     * in order to disable flicking and panning.
-     * 
-     * @param aPointerEvent pointer event
-     */
-    void HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Scrolls the view if pointer is close to the top/bottom edge.
-     * 
-     * This method is used only when edit mode is active. In a way it
-     * brings back the focus based scrolling behavior that was present
-     * in CAknGrid before ODE scrolling was introduced.
-     */
-    void HandleScrollingInEditMode( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer above the top scrolling threshold.
-     */
-    TBool IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-
-    /**
-     * Checks if pointer position is within the scroll-triggering area.
-     * 
-     * @param aPointerEvent pointer event
-     * @return true if pointer below the bottom scrolling threshold.
-     */
-    TBool IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const;
-    
-    /**
-     * Scrolls the view if the pointer is near top/bottom edge of the screen.
-     * 
-     * Assumes that current item index is the index of the item under the
-     * pointer. The time value returned is based on the distance of the pointer
-     * from the top/bottom edge of the grid view (this makes the scrolling speed
-     * dependent of how close the pointer is to the edge).
-     * If there is no need to continue scrolling because the beginning/end of
-     * the list has already been reached, 0 is returned.
-     * 
-     * @param aPointerEvent pointer event
-     * @return time to wait before calling this method again (in microseconds)
-     *         or 0 if already at the beginning/end of the list
-     */
-    TInt ScrollIfNeeded( const TPointerEvent& aPointerEvent );
-    
-    /**
-     * Ensures that elements are drawn correctly when mirrored layout is
-     * used and scrollbar is visible by shifting ViewRect to the right.
-     */
-    void FixViewForMirroredLayout();
-    
-    /**
-     * Redraws the background under the vertical scrollbar in mirrored layout.
-     * 
-     * The reason such method is needed is that view rectangle is shifted
-     * to the right in mirrored layout and does not cover the scrollbar
-     * area. In normal (non-mirrored) mode this method does nothing.
-     */
-    void RedrawScrollbarBackground() const;
-    
-    /**
-     * Does actual handling of scroll events.
-     * 
-     * @param aScrollBar Scrollbar being scrolled.
-     * @param aEventType Type of scrollbar event.
-     */
-    void ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType );
-    
-    /**
-     * Handles periodic events from @c iRedrawTimer.
-     * Such events are generated at equal time intervals while
-     * the view is being scrolled using the scrollbar.
-     * This function typically calls @c ProcessScrollEventL,
-     * which actually scrolls the view and causes a redraw. 
-     */
-    void HandleRedrawTimerEvent();
-    
-private:
-    /**
-     * Callback function for @c iRedrawTimer.
-     * It simply calls @c HandleRedrawTimerEvent and returns 0.
-     * 
-     * @param aPtr A pointer to CMmListBox object.
-     * @return 0 (always).
-     */
-    static TInt RedrawTimerCallback( TAny* aPtr );
-    
-private: // Data
-    /**
-     * Item drawer.
-     */
-    CMmListBoxItemDrawer* iMmDrawer;
-    
-    /**
-     * Multimedia Menu model.
-     */
-	CMmListBoxModel* iMmModel;
-
-    /**
-     * marquee adapter.
-     */
-	CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Blocks scrollbar drawing. When this flag is set scrollbars components
-     * are blocked in the CountComponentControls() method;   
-     */
-	TBool iDisableChildComponentDrawing;
-	
-	/**
-     * This member is only used in edit mode to store the position of the pointer
-     * during EButton1Down event.
-     */
-    TPoint iButton1DownPos;
-    
-    /**
-     * ETrue if the view is being scrolled with the scrollbar.
-     */
-    TBool iScrollbarThumbIsBeingDragged;
-    
-    /**
-     * Stores the number of scrollbar events that were ignored.
-     * It is only used while scrolling the view using scrollbar,
-     * in such situation the scroll events that this object receives
-     * are ignored, and actual scrolling is done only when
-     * iRedrawTimer completes.
-     */
-    TInt iSkippedScrollbarEventsCount;
-    
-    /**
-     * A timer that initiates redraws at certain time intervals.
-     * It is used to refresh the view while scrolling with
-     * the scrollbar.
-     */
-    CPeriodic* iRedrawTimer;
-	};
-	
-#endif // MMLISTBOX_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxcontainer.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,260 +0,0 @@
-/*
-* Copyright (c) 2007-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:  CMmListBoxContainer
-*  Version     : %version: MM_21.1.10 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXCONTAINER_H
-#define C_MMLISTBOXCONTAINER_H
-
-#include <eiklbo.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-
-#include "mmwidgetcontainer.h"
-#include "mmwidgetsconstants.h"
-#include "hnglobals.h"
-
-class CMmListBox;
-class CMmMarqueeAdapter;
-class CEikColumnListBox;
-class CNaviScrollTimer;
-class CHnSuiteModel;
-class CMmTemplateLibrary;
-
-/**
- *  Container for Multimedia Menu listbox widget.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxContainer ) : public CMmWidgetContainer
-    {
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    static CMmListBoxContainer* NewL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, 
-        CMmTemplateLibrary* aTemplateLibrary );    
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    static CMmListBoxContainer* NewLC( const TRect& aRect, 
-        MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmListBoxContainer();
-    
-public: // from base class CMmWidgetContainer    
-    
-    /**
-     * Handle item addition.
-     * 
-     * @since S60 v3.0
-     */
-    void HandleItemAdditionL();
-    	
-    /**
-     * Handle item removal.
-     * 
-     * @since S60 v3.0
-     */
-    void HandleItemRemovalL(); 
-    
-    /**
-     * Set the default highlight in listbox.
-     *
-     * @since S60 v5.0
-     * @param aRedraw Is highlight to redraw.
-     */
-    IMPORT_C void SetDefaultHighlightL( TBool aRedraw = ETrue );
-    
-    /**
-     * Called to set widget in edit mode state.
-     *
-     * @since S60 v5.0
-     * @param aIsEditMode Is edit mode to be set.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-            
-    /**
-     * Gets the listbox model.
-     *
-     * @since S60 v5.0
-     * @return listbox model
-     */
-    CMmListBoxModel* GetMmModel();
-    	
-    /**
-     * Sets the empty text for empty list.
-     *
-     * @since S60 v5.0
-     * @param aText Text to be set when list is empty.
-     */
-    IMPORT_C void SetEmptyTextL(const TDesC& aText);
-    
-    /**
-     * Set background context for item drawer and view.
-     *
-     * @since S60 v5.0
-     * @param aBgContext Background context.
-     */
-    void SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext );
-   
-    /**
-     * Sets up the layout for the widget.
-     *
-     * @since S60 v5.0
-     */
-    void SetupWidgetLayoutL();
-    
-    /**
-     * Sets suite model.
-     * 
-     * @since S60 v5.0
-     * @param aModel Suite model.
-     */
-    void SetSuiteModelL( CHnSuiteModel* aModel );
-    
-    /**
-     * Set highlight visibility.
-     * 
-     * @since S60 v5.0
-     * @param aVisible Visibility status. 
-     */
-    void SetHighlightVisibilityL( TBool aVisible );
-    
-    /**
-     * Gets widget type.
-     * 
-     * @since S60 v5.0
-     * @return Widget type. 
-     */
-    THnSuiteWidgetType WidgetType();
-
-public:
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView();
-    
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     * 
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset );
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const;
-    
-protected: // from CMmWidgetContainer
-    
-    /**
-     * Checks whether given point collides with specific item's re-order area.
-     * 
-     * Please see @c CMmWidgetContainer::PointInItemReorderAreaL documentation
-     * for details.
-     * 
-     * @since S60 v5.0
-     */
-    TBool PointInItemReorderAreaL( TInt aItemIndex, TPoint aPoint );
-    
-private: 
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v5.0 
-     */
-    CMmListBoxContainer();    
-
-    /**
-     * 2nd phase constructor.
-     * 
-     * @since S60 v5.0 
-     * @param aRect Rectangle of widget control.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer. 
-     */
-    void ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Constructs listbox from resource, creates scrollbar 
-     * and sets empty list background text.
-     *
-     * @since S60 v5.0
-     * @param aTemplateLibrary Template library for drawer. 
-     * @return List box widget.
-     */
-    CMmListBox* CreateListboxL( CMmTemplateLibrary* aTemplateLibrary );
-    
-    /**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-    TInt ColumnsInCurrentView();
-    
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    TInt RowsInCurrentView();
-    
-    /**
-   	 * Updates current view's scrollbar thumbs.
- 	 */
-    void UpdateViewScrollBarThumbs();
-
-private: // members
-    /**
-     * Pointer to listbox widget.
-     * Owned.
-     */
-    CMmListBox* iListBox;
-    
-    };
-
-#endif //__MMLISTBOXCONTAINER_H__
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxitemdrawer.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,934 +0,0 @@
-/*
-* 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:  CMmListBoxItemDrawer
-*  Version     : %version: MM_38.1.15 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXITEMDRAWER_H
-#define C_MMLISTBOXITEMDRAWER_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <eikfrlbd.h>
-#include <AknDef.hrh>
-#include "mmwidgetsconstants.h"
-#include "mmtemplatelibrary.h"
-#include "hniconholder.h"
-#include "mmsubcellssetupcode.h"
-
-class CMmListBoxModel;
-class TMmFloatingItem;
-class CMmMarqueeAdapter;
-class CMmDrawerAnimator;
-class CMmPostEvaluationProcessor;
-class CMmItemsDataCache;
-
-/**
- * Used to draw items in widgets. The item drawer is used both by grid
- * and listbox. Data is used to draw subcells. The subcell templates are fetched
- * from the template library and set to data to be drawn.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxItemDrawer ):
-    public CFormattedCellListBoxItemDrawer
-    {
-
-    friend class CMmPostEvaluationProcessor;
-
-public:
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.0
-     * @param aMmListBoxModel The listbox model.
-     * @param aFont Font.
-     * @param aFormattedCellData Cell data.
-     * @param aWidgetType Widget type.
-     */
-	static CMmListBoxItemDrawer* NewL(
-	        CMmListBoxModel* aMmListBoxModel,
-		    const CFont* aFont,
-		    CFormattedCellListBoxData* aFormattedCellData,
-		    TMmWidgetType aWidgetType,
-		    CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Two-phased constructor.
-     *
-     * @since S60 v3.0
-     * @param aMmListBoxModel The listbox model.
-     * @param aFont Font.
-     * @param aFormattedCellData Cell data.
-     * @param aWidgetType Widget type.
-     */
-	static CMmListBoxItemDrawer* NewLC(
-	        CMmListBoxModel* aMmListBoxModel,
-		    const CFont* aFont,
-		    CFormattedCellListBoxData* aFormattedCellData,
-		    TMmWidgetType aWidgetType,
-		    CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Destructor.
-     *
-     * @since S60 v3.0
-     */
-    ~CMmListBoxItemDrawer();
-    
-    /**
-     * Enables/disables cached data use.
-     * 
-     * When aEnable is true:
-     * Enables the use of cached data when drawing items.
-     * This significantly improves performance.
-     * Do not ever try to use this feature in edit mode.
-     * 
-     * When aEnable is false:
-     * Restores the normal mode where data needed for drawing
-     * items is retrieved from the model and the cached data
-     * is updated with the information retrieved from the model
-     * 
-     * @param aEnable Self-explanatory.
-     */
-    void EnableCachedDataUse( TBool aEnable );
-    
-    /**
-     * Returns ETrue if item drawer is using cached data.
-     * To start/stop using cached data, use the @c EnableCachedDataUse
-     * method.
-     * 
-     * @return ETrue if cached data is used, EFalse otherwise.
-     */
-    TBool CachedDataUseIsEnabled() const;
-    
-    /**
-     * This method should be called whenever items(s) are removed
-     * in order to remove corresponding entries in the local
-     * items data cache.
-     * 
-     * @param aItemCount current item count
-     */
-    void TrimCacheSize( TInt aItemCount );
-    
-    /**
-     * Invalidates the cached data for all items.
-     */
-    void InvalidateCache();
-
-    /**
-     * Get the height of the given item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index for which height is calculated.
-     * @param aItemIsCurrent Is item the current widget item.
-     * @return Item height.
-     */
-    TInt GetItemHeight( TInt aItemIndex, TBool aItemIsCurrent ) const;
-
-    /**
-     * Gets size of given item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @param aItemIsCurrent Is item the current widget item.
-     * @return Size of item.
-     */
-    TSize GetItemSize( TInt aItemIndex, TBool aItemIsCurrent ) const;
-    
-    /**
-     * Gets rect of indicator.
-     *
-     * @since S60 v3.0
-     * @return Rect of indicator.
-     */
-    TRect GetIndicatorRect() const;
-
-    /**
-     * Setx draggable state
-     *
-     * @since S60 v3.0
-     * @param aDraggable Is draggable.
-     */
-    void SetDraggableL( TBool aDraggable );
-
-    /**
-     * Sets item which is dragged.
-     *
-     * @since S60 v3.0
-     * @param aDraggedItemIndex Dragged item index.
-     * @param aPoint Dragged point.
-     */
-    void SetDraggedIndexL( TInt aDraggedItemIndex, TPoint aPoint );
-
-    /**
-     * Sets item which is dragged.
-     *
-     * @since S60 v3.0
-     * @param aCenterPoint Center point of dragged item.
-     */
-    void SetDraggedPointL( TPoint aCenterPoint );
-
-    /**
-     * Reveales if is possible to drag.
-     *
-     * @since S60 5.0
-     * @return Is draggable.
-     */
-    TBool IsDraggable() const;
-
-    /**
-     * Sets associated widget.
-     *
-     * @since S60 5.0
-     * @param aView Widget to associated with this drawer.
-     */
-    void SetView( CEikListBox* aView );
-
-    /**
-     * Get associated widget.
-     *
-     * @since S60 5.0
-     * @return Widget associated with this drawer.
-     */
-    CEikListBox* Widget() const;
-
-    /**
-     * Gets template library.
-     *
-     * @since S60 5.0
-     * @return Return iTemplateLibrary.
-     */
-    CMmTemplateLibrary* TemplateLibrary();
-
-    /**
-     * Sets the background context.
-     *
-     * @since S60 5.0
-     * @param aBgContext Background context.
-     */
-	void SetBgContext(
-			CAknsBasicBackgroundControlContext* aBgContext );
-
-    /**
-     * Sets condition if background should be redrawn.
-     *
-     * @since S60 v3.0
-     * @param aRedraw Should background be redrawn.
-     */
-    void SetRedrawItemBackground( TBool aRedraw );
-
-    /**
-     * Checks if item background redrawing is enabled.
-     *
-     * @since S60 v3.0
-     * @return Is background redrawing enabled.
-     */
-    TBool IsRedrawItemBackgroundEnabled() const;
-
-    /**
-     * Draws empty item ( no subcells ).
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @param aItemRectPos Item rectangle position.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DrawEmptyItem( TInt aItemIndex,
-            TPoint aItemRectPos,  TBool aViewIsDimmed ) const;
-
-    /**
-     * Sets edit mode condition.
-     *
-     * @since S60 v3.0
-     * @param aIsEditMode Is edit mode.
-     */
-    void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Checks if edit mode is running.
-     *
-     * @since S60 v3.0
-     * @return Is edit mode running.
-     */
-    TBool IsEditMode() const;
-
-    /**
-     * Animates dragged item transition.
-     *
-     * @since S60 v3.0
-     */
-    void AnimateDragItemTransitionL( );
-
-    /**
-     * Animates swapping of items.
-     *
-     * @since S60 v3.0
-     * @param aItemFrom Start item position (index).
-     * @param aItemTo End item position (index).
-     */
-    void AnimateItemSwapL( TInt aItemFrom, TInt aItemTo );
-
-    /**
-     * Animate item zoom in.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index of item to be zoomed in.
-     */
-    void AnimateItemZoomInL( TInt aItemIndex );
-
-    /**
-     * Animate item zoom out.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index of zoomed item.
-     */
-    void AnimateItemZoomOutL( TInt aItemIndex );
-
-    /**
-     * Checks if item drawer is ready to run new animation.
-     *
-     * @since S60 v3.0
-     * @return Is drawer ready to run animation.
-     */
-    CMmDrawerAnimator* GetAnimator();
-
-    /**
-     * Draws floating items.
-     *
-     * @since S60 v3.0
-     * @param aCurrentlyDrawnRect Currently drawn item rectangle.
-     */
-    void DrawFloatingItems( TRect aCurrentlyDrawnRect );
-
-    /**
-     * Gets floating item index.
-     *
-     * @since S60 v3.0
-     * @param aType Floating item type.
-     * @return Floating item index.
-     */
-    TInt GetFloatingItemIndex( TMmFloatingItemType aType ) const;
-
-    /**
-     * Gets floating item.
-     *
-     * @since S60 v3.0
-     * @param aType Floating item type.
-     * @return Floating item.
-     */
-    TMmFloatingItem& GetFloatingItemL( TMmFloatingItemType aType );
-
-    /**
-     * Gets number of floating items.
-     *
-     * @since S60 5.0
-     * @param aType Floating item type.
-     * @return Number of floating items.
-     */
-    TInt GetValidFloatingItemCount( TMmFloatingItemType aType );
-
-    /**
-     * Gets floating items count.
-     *
-     * @since S60 5.0
-     * @return Number of the floating items in the array.
-     */
-    TInt GetFloatingItemCount();
-
-    /**
-     * Adds floating item to the floating item array.
-     *
-     * @since S60 5.0
-     * @param aFloatingItem Floating item to be added.
-     * @param aPosition Position to add at.
-     */
-    void AddFloatingItemL( TMmFloatingItem& aFloatingItem,
-            TInt aPosition = KErrNotFound );
-
-    /**
-     * Removes floating item.
-     *
-     * @since S60 5.0
-     * @param aPosition Floating item index to be removed.
-     */
-    void RemoveFloatingItem( TInt aPosition );
-    
-    /**
-     * Removes all floating items.
-     *
-     * @since S60 5.0
-     */
-    void RemoveFloatingItems();
-    
-    /**
-     * Gets floating item at particular index in the
-     * floating item array.
-     *
-     * @since S60 5.0
-     * @param aIndex Index of the floating item in the array.
-     * @return Floating item.
-     */
-    TMmFloatingItem& GetFloatingItemAtIndex( TInt aIndex );
-
-    /**
-     * Used to set scrollbar visibility flag.
-     *
-     * @since S60 v3.0
-     * @param aIsScrollbarVisible Is scrollbar visible.
-     */
-    void SetScrollbarVisibilityL( TBool aIsScrollbarVisible );
-
-    /**
-     * Replaces subcell text.
-     *
-     * @since S60 v3.0
-     * @param aText Text which will replace previous text.
-     */
-    void ReplaceSubCellText( const TDesC& aText );
-
-    /**
-     * Adds subcell marquee element.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void AddSubcellMarqueeElementL( TTemplateChild aSubCellTemplate,
-            TInt aIndex, TInt aItemIndex );
-
-    /**
-     * Sets the marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter Marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-
-    /**
-     * Sets the flag which tells that marquee is currently being drawn.
-     *
-     * @since S60 v3.0
-     * @param aIsMarqueeBeingDrawn Is marquee being drawn.
-     */
-    void SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn );
-
-    /**
-     * Checks if text is clipped.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChild Subcell template data.
-     * @param aText Text to be clipped.
-     * @return Is text clipped.
-     */
-    TBool IsTextClippedL( TTemplateChild aTemplateChild,
-            const TDesC& aText ) const;
-
-    /**
-     * Sets the flag which tells that a scrollbar event is running.
-     *
-     * @since S60 v3.0
-     * @param aIsRunning Is scrollbar event running.
-     */
-	void SetScrollbarEventRunning( TBool aIsRunning );
-
-    /**
-     * Sets number of columns in view.
-     *
-     * @since S60 v3.0
-     * @param aNumberOfColumns Number of columns in view.
-     */
-	void SetNumberOfColsInView( TInt aNumberOfColumns );
-
-	/**
-	 * Used in non-touch edit mode to block drawing of move indicators and highlight
-	 * to clean screen for animation.
-	 *
-	 * @since S60 v3.0
-	 * @param aDrawn Should highlight and move indicators be drawn.
-	 */
-	void SetHighlightShown( TBool aDrawn );
-
-protected:
-    /**
-     * From CListItemDrawer. Draws an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemRectPos Item rectangle position.
-     * @param aItemIsSelected Is item selected.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DrawItem( TInt aItemIndex, TPoint aItemRectPos,
-                   TBool aItemIsSelected, TBool aItemIsCurrent,
-                   TBool aViewIsEmphasized, TBool aViewIsDimmed ) const;
-
-    /**
-     * Draws item according to format text.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemTextRect Item rectangle.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aItemIsSelected Is item selected.
-     */
-    void DrawItemText( TInt aItemIndex, const TRect& aItemTextRect,
-    		TBool aItemIsCurrent, TBool aViewIsEmphasized,
-    		TBool aItemIsSelected ) const;
-    /**
-     * Draws the actual item contents for the specified item in the specified 
-     * rectangle.
-     *
-     * @param aItemIndex Index of the item to draw. 
-     * @param aActualItemRect Area to draw into. 
-     * @param aItemIsCurrent @c ETrue if the item is current. 
-     * @param aViewIsEmphasized @c ETrue if the view is emphasised. 
-     * @param aViewIsDimmed Ignored
-     * @param aItemIsSelected @c ETrue if the item is selected.
-     */
-    void DrawActualItem(TInt aItemIndex, const TRect& aActualItemRect,
-			TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed,
-			TBool aItemIsSelected) const;
-    /**
-     * Draws background and separator lines.
-     *
-     * @since S60 v3.0
-     * @param aItemTextRect Item rectangle.
-     */
-    void DrawBackgroundAndSeparatorLines( const TRect& aItemTextRect ) const;
-
-    /**
-     * Sets up item currently drawn item subcells.
-     * Also, fills-in/updates the cache information for the item at index
-     * aItemIndex.
-     *
-     * @since S60 v3.0
-     * @param aItemIsCurrent Is item the current item in widget.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubCellsL( TBool aItemIsCurrent, TInt aItemIndex ) const;
-
-    /**
-     * Sets up subcell to be drawn by listbox data.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubCellL( TTemplateChild aSubCellTemplate, TInt aIndex,
-            TInt aItemIndex ) const;
-
-    /**
-     * Sets up "null" subcell to be avoided when drawing.
-     *
-     * @since S60 v3.0
-     * @param aIndex Subcell index.
-     * @param aItemIndex Item index.
-     */
-    void SetupSubNoCellL( TInt aIndex, TInt aItemIndex ) const;
-
-    /**
-     * Sets up icon for dragged subcell.
-     *
-     * @since S60 v3.0
-     * @param aSubCellTemplate Subcell template data.
-     * @param aIndex Subcell index.
-     * @param aItemIndex Index of dragged item.
-     */
-    void SetupSubIcondDragHighlightCellL( TTemplateChild aSubCellTemplate,
-            TInt aIndex, TInt aItemIndex ) const;
-
-    /**
-     * Adjusts rectangle of item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item's index which adjust rectangle.
-     * @return Index of item which rectangle should be adjusted.
-     */
-    TRect AdjustItemRect( TInt aItemIndex ) const;
-
-    /**
-     * Draws the move indicator over the indicated item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index with move indicator.
-     * @param aActualItemRect The actual rectangle of indicator item.
-     */
-    void DrawActualIndicatorItem( TInt aItemIndex, TRect aActualItemRect );
-
-    /**
-     * Sets up colors for subcell data.
-     *
-     * @since S60 v3.0
-     * @return Colors for subcell drawing.
-     */
-    CFormattedCellListBoxData::TColors SetupColors( TBool aDragged = EFalse ) const;
-
-private:
-
-    /**
-     * Default constructor.
-     *
-     * @since S60 v3.0
-     * @param  aMmListBoxModel List box model.
-     * @param  aFont Font needed by base constructor.
-     * @param  aFormattedCellData Used to format subcell data in item drawer.
-     * @param  aWidgetType Type of widgte (list/grid).
-     * @param  aTemplateLibrary TemplateLibrary contains items sizes.
-     */
-    CMmListBoxItemDrawer( CMmListBoxModel* aMmListBoxModel,
-            const CFont* aFont,
-            CFormattedCellListBoxData* aFormattedCellData,
-            TMmWidgetType aWidgetType, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0
-     */
-    void ConstructL();
-
-    /**
-     *Draws the item text according to the format defined by a text string.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemTextRect Item rectangle.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aItemIsSelected Is item selected.
-     */
-    void DoDrawItemTextL( TInt aItemIndex, const TRect& aItemTextRect,
-        TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aItemIsSelected ) const;
-
-    /**
-     * Draws an item.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index to be drawn.
-     * @param aItemRectPos Position of item rectangle.
-     * @param aItemIsSelected Is item selected.
-     * @param aItemIsCurrent Is item current.
-     * @param aViewIsEmphasized Is view emphasized.
-     * @param aViewIsDimmed Is view dimmed.
-     */
-    void DoDrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const;
-
-    /**
-     * Sets up backdrop image subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     */
-    void SetupBackdropSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aItemIndex,
-            RBuf& aItemText, TInt& aSubcellIncrement ) const;
-
-    /**
-     * Sets up icon image subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aChildIndex Index of a template child.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     */
-    void SetupIconSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-    		RBuf& aItemText, TInt& aSubcellIncrement ) const;
-    
-    /**
-     * Determines whether a bitmap of given size needs scaling to be displayed
-     * in a rectangular area of some given target size.
-     * 
-     * This method assumes that the bitmap will always be scaled with aspect
-     * ratio preserved. A bitmap does not need scaling if its size meets either
-     * of the two conditions:
-     * 1. bitmap width is nearly the same* as target area width and bitmap height
-     *    is not greater than target height
-     * 2. bitmap width is not greater that target width and bitmap height is
-     *    nearly the same* as target height.
-     * * nearly the same means that it is exactly the same or differs by at most
-     * 1 pixel.
-     * Please note that a bitmap which is too small (i.e. neither its width or its
-     * height is close to the target width/height) will be regarded as one that
-     * needs scaling. 
-     * 
-     * @param aBmpSize size of the bitmap
-     * @param aTargetSize size of the area where bitmap will be displayed
-     * @return ETrue if bitmap does not need scaling
-     */
-    TBool BitmapFitsIntoTarget( TSize aBmpSize, TSize aTargetSize ) const;
-
-    /**
-     * Sets up icon text subcell.
-     *
-     * @since S60 v3.0
-     * @param aTemplateChildArray Array of subcell children where the backdrop subcell template is appended.
-     * @param aItemIndex Index of currently drawn item.
-     * @param aItemText Text used to format item subcell content.
-     * @param aSubcellIncrement Is incremented if backdrop subcell template is appended.
-     * @param aChildIndex Index of a template child.
-     */
-    void SetupTextSubcellL(
-    		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-    		RBuf& aItemText, TInt& aSubcellIncrement ) const;
-
-    /**
-     * Appends text if there is enough free memory.
-     *
-     * @since S60 v3.0
-     * @param aBuffer Buffer to which the text will be added
-     * @param aTextToAppend Text to add
-     */
-    void AppendText( RBuf& aBuffer, const TDesC& aTextToAppend ) const;
-
-    /**
-     * Returns true if an item having an index equal to aItemIndex is a
-     * floating and dragged item.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @return ETrue if an item is floating and dragged.
-     */
-    TBool IsFloating( TInt aItemIndex ) const;
-
-    /**
-     * Returns highlight visibility.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @param aItemIsCurrent Is aItemIndex the current item index.
-     * @param aAllowHighlightForNonDraggedItem Should highlight be shown 
-     * 	(set in case when effects are used).
-     * @return ETrue if highlight is drawn for the actually drawn item.
-     */
-    TBool GetHighlightVisibility(  TInt aItemIndex, 
-    		TBool aItemIsCurrent, TBool aAllowHighlightForNonDraggedItem  ) const;
-    
-    /**
-     * Returns backdrop visibility.
-     *
-     * @param aItemIndex An index of a currently drawn item.
-     * @param aItemIsCurrent Is aItemIndex the current item index.
-     * @return ETrue if backdrop is visible for the currently drawn item.
-     */
-    TBool GetBackdropVisibility( TInt aItemIndex, TBool aItemIsCurrent ) const;
-
-    /**
-     * Checks if item has specified floating type.
-     *
-     * @param aItemIndex Item index.
-     * @param aFloatingType Floating type to check on the item.
-     * @return ETrue if the item is of the given floating type.
-     */
-    TBool ItemHasFloatingType( TInt aItemIndex, TMmFloatingItemType aFloatingType) const;
-
-public:
-    /**
-     * Animator used by drawer to animate item transitions.
-     * Own
-     */
-    CMmDrawerAnimator* iAnimator;
-
-private: // Data
-    /**
-     * Listbox model.
-     * Not own.
-     */
-    CMmListBoxModel* iMmModel;
-
-    /**
-     * Font.
-     */
-    const CFont * iFont;
-
-    /**
-     * Drawer owner widget type (list/grid).
-     */
-    TMmWidgetType iWidgetType;
-
-    /**
-     * Is draggable flag.
-     */
-    TBool iDraggable;
-
-    /**
-     * Widget.
-     */
-    CEikListBox* iWidget;
-
-    /**
-     * Background context.
-     * Not own.
-     */
-    CAknsBasicBackgroundControlContext * iBgContext;
-
-    /**
-     * Redraw background flag.
-     */
-    TBool iRedrawBackground;
-
-    /**
-     * Ratio of zooming animation.
-     */
-    TReal iIconAnimationZoomRatio;
-
-    /**
-     * Zommed item index.
-     */
-    TInt iZoomIconIndex;
-
-    /**
-     * Is edit mode flag.
-     */
-    TBool iIsEditMode;
-
-    /**
-     * Array of floating items.
-     */
-    RArray<TMmFloatingItem> iFloatingItems;
-
-    /**
-     * Just draw backdrop flag.
-     */
-    TBool iLeftOverAreaUnderAnimatedItem;
-
-    /**
-     * Is drawn item an indicator item.
-     */
-    TBool iIsIndicatorItem;
-
-    /**
-     * Marquee adapter.
-     */
-    CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Subcell item text.
-     */
-    HBufC* iSubcellText;
-
-    /**
-     * Is marquee being drawn flag;
-     */
-    TBool iIsMarqueeBeingDrawn;
-
-    /**
-     * Number of columns in widget.
-     */
-    TInt iNumberOfColsInWidget;
-
-    /**
-     * Original mask of the dragged item.
-     * Not own.
-     */
-    CFbsBitmap* iOriginalMask;
-
-    /**
-     * Gul Icon of the item dragged.
-     * Not own.
-     */
-    CGulIcon* iGulDragged;
-
-    /**
-     * Temporary mask of the dragged item.
-     * Not own.
-     */
-    CFbsBitmap* iDragMask;
-
-    /**
-     * Indicates id original gul had external bitmaps.
-     */
-    TBool iExternalBitamp;
-
-    /**
-     * Indicates if highlight should be shown.
-     */
-    TBool iHighlightShown;
-
-    /**
-     * Indicates if move indicators should be drawn.
-     */
-    TBool iDrawMoveIndicators;
-
-    /**
-     * Template library. Stores template attributes.
-     * Not own.
-     */
-    CMmTemplateLibrary* iTemplateLibrary;
-    
-    /**
-     * Storage for cached items data. The data is updated during normal operation
-     * and used when iUseCache is ETrue.
-     * Own.
-     */
-    CMmItemsDataCache* iItemsDataCache;
-
-    /**
-     * This flag tells whether to rely on cached data (when possible) or
-     * to obtain data from the model normally. It should be set to ETrue
-     * when drawing performance is critical (e.g. during flick).
-     */
-    TBool iUseCache;
-
-    /**
-     * Stores information on the last used subcells configuration.
-     * Such information is needed to determine whether it is necessary to
-     * setup subcells before drawing a particular item or is it possible
-     * to skip this step because the subcells are already set properly.  
-     */
-    mutable TMmSubcellsSetupCode iLastSubcellsSetupCode;
-
-    /**
-     * Set to ETrue if item has backdrop.
-     */
-    mutable TBool iItemHasBackdrop;
-    
-    /**
-     * Number of subcells in iData.
-     */
-    mutable TInt iCurrentNumberOfSubcellsSet;
-    
-    /**
-     * A structure that stores color information needed to draw an item.
-     */
-    mutable CFormattedCellListBoxData::TColors iColors;
-    
-    /**
-     * ETrue if the item that was last drawn was a floating item.
-     */
-    mutable TBool iLastDrawnItemWasFloating;
-
-	};
-
-#endif // MMLISTBOXITEMDRAWER_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxmodel.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +0,0 @@
-/*
-* 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:  CMmListBoxItemModel
-*  Version     : %version: MM_18.1.4 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMLISTBOXMODEL_H
-#define C_MMLISTBOXMODEL_H
-
-#include <e32std.h>
-#include <e32base.h>
-#include <gulicon.h>
-#include <AknUtils.h>
-#include "hnsuiteobserver.h"
-
-class CHnSuiteModel;
-class CHnAttributeBase;
-class CHnAttributeImage;
-class CHnIconHolder;
-
-/**
- *  Multimedia Menu listbox model
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxModel ):
-    public CAknFilteredTextListBoxModel,
-    public MHnSuiteObserver
-	{
-public:
-	// Constructors and destructor
-
-	/**
-	 * Destructor.
-	 */
-	~CMmListBoxModel();
-
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmListBoxModel* NewL( );
-
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmListBoxModel* NewLC( );
-	
-	/**
-	 * Gets the text attribute for a specific item by the name of the attribute.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex The index of the item for which the text is requested.
-	 * @param aAttributeName The name of the text attribute to be returned.
-	 * @return Size of item.
-	 */
-	const TDesC8& GetAttributeAsText( TInt aIndex, const TDesC8 & aAttributeName );
-    
-    /**
-     * Gets the graphical attribute for a specific item by the name of the attribute.
-     * The attribute is returned as an icon holder. Please see @c CHnIconHolder for
-     * infomation on what icon holder is and what
-     * it is useful for.
-     * 
-     * @param aIndex The index of the item for which the graphic is requested.
-     * @param aAttributeName The name of the graphical attribute to be returned.
-     * @param aDesiredIconSize The desired icon size. 
-     * @return An icon holder object.
-     */
-    CHnIconHolder* GetAttributeAsRefCountedGraphics( TInt aIndex,
-            const TDesC8& aAttributeName, TSize* aDesiredIconSize = NULL );
-	
-	/**
-	 * Sets the suite model. This method is used by matrix menu application when suite is loaded.
-	 * 
-	 * @since S60 v3.0
-	 * @param aSuiteModel The suite model to be set.
-	 */ 
-	void SetSuiteModelL( CHnSuiteModel * aSuiteModel );	
-	
-	/**
-	 * Gets the suite model of the currently visible suite.
-	 * 
-	 * @since S60 v3.0
-	 * @return The current suite model.
-	 */
-	CHnSuiteModel* GetSuiteModel(); 
-	
-	/**
-	 * Reorders the model when item positions are edited in edit mode.
-	 * 
-	 * @since S60 v3.0
-	 * @param aFromIndex The starting index of items to be shifted.
-	 * @param aToIndex The end index of items to be shifted.
-	 */
-	void ReorderModelL(TInt aFromIndex, TInt aToIndex);
-	
-	/**
-	 * Handle event triggered by suite.
-	 * 
-	 * @since S60 v3.0
-	 * @param aCustomSuiteEvent Type of suite event.
-	 * @param aModel The suite model that the event concerns.
-	 */
-    void HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent, 
-            CHnSuiteModel* aModel );
-    
-    /**
-     * Determines the number of item-specific menu items for given item.
-     * 
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Number of item-specific menu items.
-     */
-    TInt GetNumberOfSpecificMenuItemsL( TInt aItemIndex );
-    
-private:
-
-	/**
-	 * Gets the attribute by name.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex The index of the item for which the attribute is requested.
-	 * @param aAttributeName The name of the requested attribute.
-	 * @return Size of item.
-	 */
-    CHnAttributeBase* GetAttribute( TInt aIndex, const TDesC8 & aAttributeName );
-	
-	/**
-	 * Updates the item text array when model is reordered or new model is loaded.
-	 * It is important that the number of elements in the array is the same
-	 * as number of items in the suite.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void UpdateDummyArrayDataL();  
-
-	
-    /**
-	 * Constructor for performing 1st stage construction
-	 */
-	CMmListBoxModel( );
-
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL();
-
-
-private:
-    
-    /**
-     * Not own. Suite model being the container for the data.
-     */
-    CHnSuiteModel* iSuiteModel;
-    
-	};
-
-#endif // CMMLISTBOXMODEL_H
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxview.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* 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:  
-*  Version     : %version: MM_12.1.6 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMLISTBOXVIEW_H
-#define MMLISTBOXVIEW_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <eikfrlb.h> 
-
-// CLASS DECLARATION
-
-/**
- *  Multimedia Menu Listbox view.
- *  
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmListBoxView ) : public CFormattedCellListBoxView 
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CMmListBoxView();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CMmListBoxView* NewL();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CMmListBoxView* NewLC();
-	
-	/**
-	 * Calculate the bottom item index.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void CalcBottomItemIndex();
-	
-	/**
-	 * Draw the view.
-	 * 
-	 * @since S60 v3.0
-	 * @param clipRect Clipping rectangle.
-	 */
-    void Draw(const TRect* clipRect) const;
-    
-	/**
-	 * Draws the listbox within the given clipping rect.
-	 * 
-	 * @since S60 v3.0
-	 * @param clipRect Clipping rectangle.
-	 */
-    void DoDraw(const TRect* aClipRect) const;
-    
-	/**
-	 * Draw item in view. It is possible that it
-	 * calls drawing of more than one item.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 */
-    void DrawItem(TInt aItemIndex) const;
-    
-	/**
-	 * Draw a single item in view.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 */
-    void DrawSingleItem (TInt aItemIndex) const;
-    
-	/**
-	 * Get the number of items that fit in rectangle.
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Clipping rectangle.
-	 * @return Number of items that fit in rectangle.
-	 */
-    TInt NumberOfItemsThatFitInRect(const TRect& aRect) const;
-	
-	/**
-	 * Get the number of items that fit in rectangle (with option to include
-	 * partial item at bottom of view).
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Rect for calculations.
-	 * @param aIncludePartialItem Should partial item be included.
-	 * @return Number of items that fit in rectangle.
-	 */
-    TInt GetNumberOfItemsThatFitInRect (const TRect& aRect, TBool aIncludePartialItem ) const;
-	
-	/**
-	 * Get item size.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 * @return Size of item.
-	 */
-    TSize ItemSize(TInt aItemIndex) const;
-	
-	/**
-	 * Sets aItemIndex to the index of the item whose bounding box contains aPosition.
-	 * 
-	 * @since S60 v3.0
-	 * @param aPosition Item position.
-	 * @param aItemIndex Item index.
-	 * @return Was item found.
-	 */
-    TBool XYPosToItemIndex(TPoint aPosition, TInt& aItemIndex) const;
-    
-	/**
-	 * Gets item position.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item index.
-	 * @return Item position.
-	 */
-    TPoint ItemPos(TInt aItemIndex) const;
-	
-	/**
-	 * Sets item height.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemHeight Item height.
-	 */
-    void SetItemHeight(TInt aItemHeight);
-	
-	/**
-	 * Calculates new top item index so item is visible.
-	 * 
-	 * @since S60 v3.0
-	 * @param aItemIndex Item to be visible.
-	 * @return New top item index.
-	 */
-    TInt CalcNewTopItemIndexSoItemIsVisible(TInt aItemIndex) const;
-	
-	/**
-	 * Draw background between rects.
-	 * 
-	 * @since S60 v3.0
-	 * @param aUsedPortionOfViewRect Inner rect.
-	 * @param aSmallerViewRect Outer rect.
-	 */
-    void RedrawBackground( TRect aUsedPortionOfViewRect, TRect aSmallerViewRect) const;
-	
-	/**
-	 * Draws background in list which is not covered by vivible items.
-	 * 
-	 * @since S60 v3.0
-	 */
-    void RedrawBackground() const;
-	
-	/**
-	 * Gets total height of items within range.
-	 * 
-	 * @since S60 v3.0
-	 * @param aStartIndex Start item index.
-	 * @param aEndIndex End item index.
-	 * @return Total height of items starting from aStartIndex, ending with aEndIndex.
-	 */
-    TInt GetTotalHeight( TInt aStartIndex, TInt aEndIndex ) const;
-
-    /**
-     * Gets the current widget vertical item offset.
-     * 
-     * @since S60 v5.0
-     * @return The current widget vertical item offset.
-     */
-    TInt VerticalItemOffset() const;
-    
-    /**
-     * Overridden to allow for disabling this method in certain situations.
-     * 
-     * @param aItemIndex Item index.
-     */
-    TBool ScrollToMakeItemVisible(TInt aItemIndex);
-
-    /**
-     * Disables ScrollToMakeItemVisible.
-     * When disabled, ScrollToMakeItemVisible does nothing.
-     * 
-     * @param aDisable Self-explanatory.
-     */
-    void DisableScrollToItem( TBool aDisable );
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction.
-     */
-    CMmListBoxView();
-
-    /**
-     * Default symbian 2nd stage constructor.
-     */
-    void ConstructL();
-
-	/**
-	 * Updates average item height.
-	 * 
-	 * @since S60 v3.0
-	 */
-   	void UpdateAverageItemHeight();
-
-	/**
-	 * Gets last item index depending on height.
-	 * 
-	 * @since S60 v3.0
-	 * @param aStartIndex Start item index.
-	 * @param aHeight Height of area.
-	 * @return Last item index.
-	 */
-    TInt GetLastIndexInHeight( const TInt aStartIndex, TInt aHeight ) const;
-    
-	/**
-	 * Sets the previously drawn current item index.
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex Current Item index.
-	 */
-    void SetPreviouslyDrawnCurrentItemIndex( TBool aIndex );
-    
-private:
-
-	/**
-	 * Scrollbar visibility flag.
-	 */
-	TBool iScrollbarIsVisible;
-	
-	/**
-	 * iCurrentItemIndex
-	 */
-	TInt iPreviouslyDrawnCurrentItemIndex;
-	
-	/**
-	 * When ETrue, disables ScrollToMakeItemVisible method.
-	 */
-	TBool iScrollToItemDisabled;
-    };
-
-#endif // MMLISTBOXVIEW_H
--- a/menufw/menufwui/mmwidgets/inc/mmlongtapobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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:  receives key pressed notifications
-*
-*/
-
-
-#ifndef M_MMLONGTAPOBSERVER_H
-#define M_MMLONGTAPOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling long tap events.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- */
-class MMmLongTapObserver
-    {
-public:
-	
-    virtual void HandleLongTapEventL( const TPoint& aPenEventLocation ) = 0; 
-    
-    };
-    
-#endif // M_MMLONGTAPOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmmarqueeadapter.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* 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:  Constants for the matrixmenu
-*  Version     : %version: 22 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-
-#ifndef MMMARQUEEADAPTER_H
-#define MMMARQUEEADAPTER_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <AknMarqueeControl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <eiklbx.h>
-
-// CLASS DECLARATION
-/**
- *  Used by Multimedia Menu to display marquee 
- * 
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmMarqueeAdapter ) : public CBase
-	{
-
-
-private: 
-	/**
- 	*  Used to keep currently drawn marquee element
- 	*  @code
- 	*  @endcode
- 	*  @lib mmwidgets
- 	*  @since S60 v3.0
- 	*  @ingroup group_mmwidgets
- 	*/
-    NONSHARABLE_CLASS( CMmMarqueeElement ) : public CBase
-		{
-		
-		friend class CMmMarqueeAdapter;
-		
-		// No implementation required
-		public:
-		
-	    /**
-	     * Constructor
-	     * 
-	     * @since S60 v3.0
-	     * @param aElementRect The rect to draw marquee
-	     * @param aAlign Align of text
-	     * @param aFont Font
-	     * @param aColor Color
-	     * @param aIndex Item subcell index
-	     * @param aBaselineOffset Baseline offset
-	     */
-		CMmMarqueeElement (
-				TRect aElementRect,
-				CGraphicsContext::TTextAlign aAlign,
-				TAknLogicalFontId aFont,
-				TRgb aColor, 
-				TInt aIndex,
-				TInt aBaselineOffset );
-
-	    /**
-	     * Destructor
-	     * 
-	     * @since S60 v3.0
-	     */
-		~CMmMarqueeElement ();
-	
-	    /**
-	     * Two-phased constructor.
-	     * 
-	     * @since S60 v3.0	     
-	     * @param aElementRect The rect to draw marquee.
-	     * @param aAlign Align of text.
-	     * @param aText Text do be drawn.
-	     * @param aFontId Font's id.
-	     * @param aColor Color.
-	     * @param aIndex Item subcell index.
-	     * @param aBaselineOffset Baseline offset.
-	     */
-		static CMmMarqueeElement* NewL (
-				TRect aElementRect,
-				CGraphicsContext::TTextAlign aAlign,
-				const TDesC& aText,
-				TAknLogicalFontId aFontId,
-				TRgb aColor, 
-				TInt aIndex,
-				TInt aBaselineOffset );
-
-	    
-	    /**
-	     * Setup marquee scroll data
-	     * 
-	     * @since S60 v3.0
-	     * @param aLoops Number of loops to be drawn
-	     * @param aScrollAmount Scroll amount 
-	     * @param aScrollDelay Scroll delay
-	     */
-		void SetupMarqueeControlL(
-				TInt aLoops,
-				TInt aScrollAmount,
-				TInt aScrollDelay );
-	
-		
-	private:
-    
-	    /**
-	     * ConstructL construct marquee element
-	     * 
-	     * @since S60 v3.0
-	     * @param aText Text for element
-	     */
-		void ConstructL ( const TDesC& aText );
-		
-	private:
-    
-		    /**
-		     * Element rectangle ( according to item rect )
-		     */
-			TRect iElementRect;
-	        
-	        /**
-	         * Align of text
-	         */
-			CGraphicsContext::TTextAlign iAlign;
-	        
-	        /**
-	         * LCT layouts map
-	         * Own
-	         */
-			HBufC* iText; 
-	        
-	        /**
-	         * Font 
-	         */
-			TAknLogicalFontId iFont;
-	        
-	        /**
-	         * Color
-	         */
-			TRgb iColor;
-	        
-	        /**
-	         * Loops to be drawn
-	         */
-			TInt iLoops; // default 1
-	        
-	        /**
-	         * Scroll amount
-	         */
-			TInt iScrollAmount; // default 6
-	        
-	        /**
-	         * Scroll delay
-	         */
-			TInt iScrollDelay; // default 1000000
-	        
-	        /**
-	         * Marquee control
-	         * Own
-	         */
-			CAknMarqueeControl* iMarqueeControl;
-	        
-	        /**
-	         * Subcell index of marquee element
-	         */
-			TInt iSubcellIndex;
-	        
-	        /**
-	         * Baseline offset
-	         */
-			TInt iBaselineOffset;
-				};
-public:
-	// Constructors and destructor
-	
-	/**
-	 * Destructor.
-	 */
-	~CMmMarqueeAdapter ();
-	
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmMarqueeAdapter* NewL ();
-	
-	/**
-	 * Two-phased constructor.
-	 */
-	static CMmMarqueeAdapter* NewLC ();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction
-	 */
-	CMmMarqueeAdapter ();
-	
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL ();
-
-
-public:
-	
-	/**
-	 * Adds marquee element to be drawn
-	 * 
-	 * @since S60 v3.0
-	 * @param aRect Rectangle where marquee is drawn
-	 * @param aText Marquee text
-	 * @param aFont Font
-	 * @param aColor Color
-	 * @param aAlign Align of text
-	 * @param aIndex Subcell index
-	 * @param aBaselineOffset Baseline offset
-	 * @param aCurrentlyDrawnItemIndex Currently drawn item index
-	 */
-	void AddMarqueeElementL (const TRect& aRect, const TDesC& aText,
-		TAknLogicalFontId aFont, TRgb aColor,
-		CGraphicsContext::TTextAlign aAlign, TInt aIndex, TInt aBaselineOffset, TInt aCurrentlyDrawnItemIndex);
-	
-	/**
-	 * Enables marquee
-	 * 
-	 * @since S60 v3.0
-	 * @param aEnable Enable/disable marquee
-	 */
-	void EnableMarquee( TBool aEnable );
-	
-	/**
-	 * Draws marquee text. is called every time marque is scrolled
-	 * 
-	 * @since S60 v3.0
-	 * @param aGc Window graphics context.
-	 */
-	void DrawMarqueeL(CWindowGc & aGc);
-	
-	/**
-	 * Stops marquee drawing 
-	 * 
-	 * @since S60 v3.0
-	 */
-	void StopMarqueeDrawing(TInt aIndex = -1);
-		
-	/**
-	 * Set listbox where marquee is drawn
-	 * 
-	 * @since S60 v3.0
-	 * @param aControl Listbox
-	 */
-	void SetControl( CEikListBox * aControl );
-	
-	/**
-	 * Reveales if subcell marquee element already exists
-	 * 
-	 * @since S60 v3.0
-	 * @param aIndex Item subcell index
-	 * @return Does element exist in marquee adapter marquee elements array
-	 */
-	TBool SubcellMarqueeElementExists( TInt aIndex );
-	
-	/**
-	 * Removes marquee elements from marquee adapter
-	 * 
-	 * @since S60 v3.0
-	 * @param aSubcellIndex Item subcell index
-	 */
-	void RemoveSubcellMarqueeElement(TInt aSubcellIndex);
-	
-	/**
-	 * Checks if marquee is enabled.
-	 * 
-	 * @return ETrue if marquee enabled, EFalse otherwise. 
-	 */
-    TBool IsMarqueeEnabled() const;
-
-private:
-
-	/**
-	 * Called when marquee scroll increments
-	 * 
-	 * @since S60 v3.0
-	 * @param aControl Listbox where marquee is drawn 
-	 * @return Was marqueee drawing successful
-	 */
-	static TInt RedrawEvent(TAny* aControl);
-
-private: //members
-
-	/**
-	 * Array of marquee element
-	 */
-	RPointerArray< CMmMarqueeElement > iMarqueeElements;
-
-    /**
-     * Is marquee enabled
-     */
-	TBool iMarqueeEnabled;
-    
-    /**
-     * Listbox where marquee is drawn 
-     * Not own
-     */
-	CEikListBox* iListbox;
-    
-    /**
-     * Currently drawn item index
-     */
-	TInt iCurrentMarqueeItemIndex;
-	};
-	
-#endif // MMMARQUEEADAPTER_H
--- a/menufw/menufwui/mmwidgets/inc/mmpostevaluationprocessor.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c)  Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  CMmPostEvaluationProcessor declaration
-* Version     : %version: 2 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef C_MMPOSTEVALUATIONPROCESSOR_H
-#define C_MMPOSTEVALUATIONPROCESSOR_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class CMmListBoxItemDrawer;
-
-/**
- *  Used to performa additional post evaluation operations connected with
- *  the ui, and preparation of a suite display from the mmwidgets side.
- *  All the operation are performed in an active object, since they
- *  are not time crucial, and are performed to adjust performance:
- *  such as preloading suite icons that are not visible in the current view.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v5.0
- *  @see CListBoxItemDrawer
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmPostEvaluationProcessor ) : public CActive
-    {
-    
-public:
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmPostEvaluationProcessor* NewL( CMmListBoxItemDrawer& aDrawer );
-
-    /**
-     * Two-phased constructor.
-     * 
-     * @since S60 v5.0
-     * @param aDrawer Item drawer used to draw item.
-     */
-    static CMmPostEvaluationProcessor* NewLC( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * Destructor.
-     * 
-     * @since S60 v5.0
-     */
-    virtual ~CMmPostEvaluationProcessor();
-
-    /**
-     * Starts at predefiend index.
-     *
-     * @param aIndex Starts processing at index.
-     * @since S60 v3.0
-     */
-    void StartAt( TInt aIndex = 0 );
-        
-private:
-	
-    /**
-     * Default constructor.
-     * 
-     * @since S60 v3.0
-     * @param aDrawer Object used to draw items in widgets.
-     */
-    CMmPostEvaluationProcessor( CMmListBoxItemDrawer& aDrawer );
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @since S60 v3.0 
-     */
-    void ConstructL();
-    
-    
-
-private: // From CActive
-
-    /**
-     * Draws next animation phase.
-     *
-     * @since S60 v3.0
-     */
-    void RunL();
-
-    /**
-     * Cancels animation timer. Stops animation.
-     *
-     * @since S60 v3.0
-     */
-    void DoCancel();
-
-    /**
-     * Handles error if error an error occured.
-     *
-     * @since S60 v3.0
-     * @param aError Error code which occurred.
-     * @return Error code for error handling.
-     */
-    TInt RunError( TInt aError );
-
-private: // Data
-	
-    /**
-    * Drawer to use for preload.
-	 
-    */
-    CMmListBoxItemDrawer & iDrawer;
-	
-    /**
-     * Index to be processed in next RunL.
-     
-    */
-    TInt iIndexToProcess;
-	
-    };
-
-#endif // MMDRAWERANIMATOR_H
--- a/menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +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:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#ifndef MMSUBCELLSSETUPCODE_H
-#define MMSUBCELLSSETUPCODE_H
-
-#include <e32def.h>
-
-const TInt KNumberOfBitsToStoreSubcellType = 3;
-const TInt KNumberOfBitsToStoreTemplateId = 8;
-const TInt KNumberOfBitsToStoreIsCurrentInfo = 1;
-
-/**
- * The purpose of this class is to provide a very fast way
- * of determining whether two particular ways of setting up
- * subcells are compatible (compatible == the same).
- * 
- * It is important that the methods of this class are used
- * in a fixed order:
- * 1. (Optional) Clear() - only needed if this object was
- *    used before.
- * 2. AddSubcellInfo() - for every subcell being set up
- *    and in the same order.
- * 3. AddTemplateInfo
- * 4. AddIsCurrentInfo
- * It is currently possible to store information about up to 21
- * subcells (type of iCode is TUint64 and single subcell info
- * takes 3 bits). It can be easily proven that CMmListBoxItemDrawer
- * will never try to store more than
- * (2 * MmTemplateContants::KSubCellsCount) subcell infos
- * (2 * 6 = 12; 12 <= 21, so everything is fine).
- * Default assignment operator and copy constructor are ok
- * for this class.
- */
-NONSHARABLE_CLASS( TMmSubcellsSetupCode )
-    {
-public:
-    /**
-     * Values of this enum must be low enough to be stored in
-     * just KNumberOfBitsToStoreSubcellType bits (currently the
-     * maximum value allowed is 7).
-     */
-    enum TSubcellType
-        {
-        ENoSubcell = 0,
-        EGraphicsSubcell = 1,
-        ETextSubcell = 2,
-        EBackdropSubcell = 3,
-        ESkippedSubcell = 4
-        };
-public:
-    /**
-     * Standard C++ constructor.
-     */
-    inline TMmSubcellsSetupCode();
-    /**
-     * Adds the information about what type of subcell was just
-     * set up.
-     * @param aSubcellType Subcell type (any value defined in the
-     *        TSubcellType enum).
-     */
-    inline void AddSubcellInfo( TSubcellType aSubcellType );
-    /**
-     * Adds information about the template used.
-     * 
-     * @param aTemplateIdentifier Template idetifier obtained from
-     *        CMmItemsDataCache::GetTemplateIdentifierL().
-     */
-    inline void AddTemplateInfo( TInt aTemplateIdentifier );
-    /**
-     * Adds information whether subcells setup was made for a
-     * highlighted item.
-     */
-    inline void AddIsCurrentInfo( TBool aIsCurrent );
-    /**
-     * Clears all the information stored in this object so that
-     * it can be-reused.
-     */
-    inline void Clear();
-    /**
-     * Comparison operator ==.
-     * @param aOther object to compare with this object.
-     * @return ETrue if objects equal.
-     */
-    inline TBool operator==( const TMmSubcellsSetupCode aOther ) const;
-    /**
-     * Comparison operator !=.
-     * @param aOther object to compare with this object.
-     * @return ETrue if objects differ.
-     */
-    inline TBool operator!=( const TMmSubcellsSetupCode aOther ) const;
-
-protected: // data
-    /**
-     * The subcells setup code.
-     */
-    TUint64 iCode;
-    };
-
-#include "mmsubcellssetupcode.inl"
-
-#endif // MMSUBCELLSSETUPCODE_H 
--- a/menufw/menufwui/mmwidgets/inc/mmsubcellssetupcode.inl	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  
-*  Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmwidgetsconstants.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TMmSubcellsSetupCode::TMmSubcellsSetupCode()
-    : iCode( 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddSubcellInfo( TSubcellType aSubcellType )
-    {
-    // 8 == 2 ^ KNumberOfBitsToStoreSubcellType
-    __ASSERT_DEBUG( aSubcellType < 8, User::Invariant() );
-    
-    iCode <<= KNumberOfBitsToStoreSubcellType;
-    iCode |= aSubcellType;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddTemplateInfo( TInt aTemplateIdentifier )
-    {
-    // 256 == 2 ^ KNumberOfBitsToStoreTemplateId
-    __ASSERT_DEBUG( aTemplateIdentifier < 256, User::Invariant() );
-    
-    iCode <<= KNumberOfBitsToStoreTemplateId;
-    iCode |= aTemplateIdentifier;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::AddIsCurrentInfo( TBool aIsCurrent )
-    {
-    iCode <<= KNumberOfBitsToStoreIsCurrentInfo;
-    // remember that TBool is in fact an integer
-    iCode |= ( aIsCurrent ? 1 : 0 );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline void TMmSubcellsSetupCode::Clear()
-    {
-    iCode = 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool TMmSubcellsSetupCode::operator==(
-        const TMmSubcellsSetupCode aOther ) const
-    {
-    return iCode == aOther.iCode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-inline TBool TMmSubcellsSetupCode::operator!=(
-        const TMmSubcellsSetupCode aOther ) const
-    {
-    return iCode != aOther.iCode;
-    }
--- a/menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,574 +0,0 @@
-/*
-* 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:
-*  Version     : %version: MM_24.1.9 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMTEMPLATELIBRARY_H
-#define MMTEMPLATELIBRARY_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <e32hashtab.h> //RHashMap
-#include <avkon.hrh>
-#include <xmlengdom.h>
-#include <gdi.h>
-#include <eiksbfrm.h>
-#include <AknLayout2Def.h>
-#include "mmwidgetsconstants.h"
-#include <AknDef.hrh>
-
-// default templates
-// grid
-_LIT8( KDefaultGridLogicalTemplate, "logical_template_3" );
-// list
-_LIT8( KDefaultListLogicalTemplate, "list_single_hc_apps_pane" );
-
-
-// STRUCT DECLARATION
-
-/**
- *  Struct used to store template child data
- *
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-class TTemplateChild
-    {
-
-public:
-
-    /**
-     * Rectangle of subcell according to position in item.
-     */
-    TRect iRectAccordingToParent;
-
-    /**
-     * Data type represented by the subcell.
-     */
-    TBufC8<64> iData;
-
-    /**
-     * The LCT template used to calculate the subcell position.
-     */
-    TBufC8<64> iLct;
-
-    /**
-     * The variety for the lct template.
-     */
-    TInt iVariety;
-
-    /**
-     * Depicts if the subcell is an image or text.
-     */
-    TBool iIsImage;
-
-    /**
-     * The font id used for displaying text.
-     */
-    TAknLogicalFontId iFontId;
-
-    /**
-     * The type of align for the text.
-     */
-    CGraphicsContext::TTextAlign  iTextAlign;
-
-    /**
-     * The additional Id for a subcell element used to differentiate it
-     * from others. e.g the backdrop image has a different visual id
-     * since it is displayed only in edit mode.
-     */
-    TImageVisualId iImageVisualId;
-
-    /**
-     * The type of horizontal align for the icon.
-     */
-    TManualAlign iHAlign;
-
-    };
-
-// CLASS DECLARATION
-
-/**
- *  Used by Multimedia Menu to load template data.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-NONSHARABLE_CLASS( CMmTemplateLibrary ) : public CBase
-	{
-public:
-	// Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CMmTemplateLibrary();
-
-	/**
-	 * Two-phased constructor.
-	 */
-	IMPORT_C static CMmTemplateLibrary* NewL();
-
-	/**
-     * Two-phased constructor.
-     */
-	IMPORT_C static CMmTemplateLibrary* NewLC();
-
-private:
-
-	/**
-	 * Constructor for performing 1st stage construction.
-	 */
-	CMmTemplateLibrary();
-
-	/**
-	 * Default symbian 2nd stage constructor.
-	 */
-	void ConstructL();
-
-public:
-
-	/**
-	 * Gets the size of template item according to highlight and orientation.
-	 *
-	 * @since S60 v3.0
-	 * @param aWidgetType The widget type.
-	 * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 * @param aParentRect The bounding rect in which the item is drawn.
-	 *
-	 * @return size of item
-	 */
-	TSize GetSize( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation = 0, TBool aHighlighted = 0,
-			TRect aParentRect = TRect() );
-
-    /**
-     * Gets the size of template.
-     *
-     * @since S60 v3.0
-     * @param aItemSize Item size to be set.
-     * @param aWidgetType The widget type.
-	 * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 * @param aParentRect The bounding rect in which the item is drawn.
-	 *
-     * @return error code
-     */
-	TInt GetSize(  TSize& aItemSize, TMmWidgetType aWidgetType,
-	        const TDesC8& aTemplate, TBool aLandscapeOrientation,
-	        TBool aHighlighted , TRect aParentRect = TRect() );
-
-    /**
-     * Get array of templates for subcells ( item children ).
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aArray The array of subcell children to be set.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     * @param aIsEditMode Is in edit mode.
-     *
-     */
-	void GetChildrenL( TMmWidgetType aWidgetType,
-			RArray< TTemplateChild >& aArray, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation = 0, TBool aHighlighted = 0, TBool aIsEditMode = 0 );
-
-    /**
-     * Get the layout size ( Grid ) e.g. 3x4
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     *
-     * @return the size of the layout.
-     */
-	TSize GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation );
-
-    /**
-     * Get rect of move indicator according to item (as reference position).
-     * The rect is relevant to the item in point (0,0).
-     * e.g for item size 20x360 the rect can be (-5,-5):(365,25).
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     * @return rect of move indicator area.
-     */
-	TRect GetMoveIndicatorRect( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation, TBool aHighlighted );
-
-    /**
-     * Get children templates for move indicator.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aArray Array of children templates.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     */
-	void GetMoveIndicatorChildrenL( TMmWidgetType aWidgetType,
-			RArray< TTemplateChild >& aArray, const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted );
-
-    /**
-     * Get size of item for LCT template.
-     *
-     * @since S60 v3.0
-     * @param aLCTTemplate The LCT template name.
-     * @param aVariety The variety for aLCTTemplate.
-     * @param aWindowLayout The window layout to be used to calculet the size.
-     * @param aLandscapeOrientation ETrue if view in landscape orientation otherwise EFalse.
-     *
-     * @return item size
-     */
-	TSize GetLCTSize( const TDesC8& aLCTTemplate, TInt aVariety, TAknWindowLineLayout& aWindowLayout, TBool aLandscapeOrientation );
-
-    /**
-     * Clean the cache
-     *
-     * @since S60 v3.0
-     */
-	void CleanAndClearCache( );
-
-    /**
-     * The template content is loaded. LCT templates have highest priority.
-     * If there is no LCT template, a custom template is loaded.
-     *
-     * @since S60 v3.0
-     * @param aTemplate The current template for the item.
-     * @param aWidgetType The widget type.
-     * @param aMmTemplateType Type of template (LCT/custom).
-     *
-     * @return Template content.
-     */
-	HBufC8* GetTemplateContentL( const TDesC8& aTemplate, TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType );
-
-    /**
-     * Sets scrollbar visibility so template library is aware.
-     *
-     * @since S60 v3.0
-     * @param aIsScrollbarVisible Is scrollbar visible.
-     */
-    void SetScrollbarVisibilityL( TBool aIsScrollbarVisible );
-
-    /**
-     * Gets scrollbar visibility.
-     *
-     * @since S60 v3.0
-     * @return Is scrollbar visible.
-     */
-    TBool GetScrollbarVisibility();
-
-	/**
-     * Sets the scrollbar width so template library can calculate the width of the item correctly.
-     *
-     * @since S60 v3.0
-     * @param aScrollbarWidth The current width of the scrollbar.
-     */
-	void SetScrollbarWidthL( TInt aScrollbarWidth );
-
-	/**
-	 * Gets scrollbar width.
-	 *
-	 * @since S60 v3.0
-	 * @return scrollbar width
-	 */
-	TInt ScrollbarWidth();
-
-	/**
-     * Gets the parent rect for given orientation from which templates were calculated.
-     *
-     * @since S60 v3.0
-     * @param aLandscapeOrientation The current landscape orientation.
-     * @return Parent rect for given orientation.
-     */
-	TRect GetParentRect( TBool aLandscapeOrientation );
-
-private:
-	/**
-	 * Get the lookup text.
-	 *
-	 * @since S60 v3.0
-	 * @param aTemplate The current template for the item.
-	 * @param aWidgetType The widget type.
-	 * @param aLandscapeOrientation Is view in landscape orientation.
-	 * @param aHighlighted Is item highlighted.
-	 *
-	 * @return Lookup text.
-	 */
-	HBufC8* LookupText( const TDesC8& aTemplate, TMmWidgetType aWidgetType,
-                        TBool aLandscapeOrientation = EFalse,
-                        TBool aHighlighted = EFalse );
-
-    /**
-     * Get the lookup text for layout size.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     *
-     * @return lookup layout text.
-     */
-	HBufC8* LookupLayoutText( TMmWidgetType aWidgetType,
-                              const TDesC8& aTemplate,
-                              TBool aLandscapeOrientation );
-
-	/**
-     * Get the lookup text for move indicator.
-     *
-     * @since S60 v3.0
-     * @param aLookupText The lookup text to be used to create the lookup indicator text.
-     * @return lookup Indicator text.
-     */
-	HBufC8* LookupIndicatorText( const TDesC8& aLookupText );
-
-    /**
-     * Load the template to cache.
-     *
-     * @since S60 v3.0
-     * @param aWidgetType The widget type.
-     * @param aTemplate The current template for the item.
-	 * @param aLandscapeOrientation The current orientation.
-     */
-	void LoadTemplateL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-			TBool aLandscapeOrientation );
-
-    /**
-     * Get template file content.
-     *
-     * @since S60 v3.0
-     * @param aContent Descriptor to which the file content should be set.
-     * @param aTemplate The current template for the item.
-     * @param aWidgetType The widget type.
-     * @param aMmTemplateType Type of template (LCT/custom).
-     * @param aLoadCustomTemplate Value to be set depending on template type loaded (LCT/custom).
-     */
-	void GetTemplateFileContentL (HBufC8*& aContent, const TDesC8& aTemplate,
-		TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType,
-		TBool aLoadCustomTemplate = EFalse);
-
-    /**
-     * Process xml element.
-     *
-     * @since S60 v3.0
-     * @param aMmTemplateType Type of template (LCT/custom).
-     * @param aElement Element ( xml ).
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     *
-     */
-	void ProcessElementL (TMmTemplateType aMmTemplateType,
-		TXmlEngElement aElement, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted);
-
-	/**
-     * Process the LCT template.
-     *
-     * @since S60 v3.0
-     * @param aElement Element (xml).
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     */
-	void ProcessLCTTemplateElementL( TXmlEngElement aElement,
-	                                         const TDesC8& aTemplate,
-	                                         TBool aLandscapeOrientation,
-	                                         TBool aHighlighted );
-
-    /**
-     * Process the custom template.
-     *
-     * @since S60 v3.0
-     * @param aElement Element (xml)
-     * @param aTemplate The current template for the item.
-     * @param aLandscapeOrientation Is view in landscape orientation.
-     * @param aHighlighted Is item highlighted.
-     */
-	void ProcessCustomTemplateElementL( TXmlEngElement aElement,
-	                                         const TDesC8& aTemplate,
-	                                         TBool aLandscapeOrientation,
-	                                         TBool aHighlighted );
-
-    /**
-     * Setup LCT template data.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template where the data should be set up.
-     * @param aChildElement Element (xml).
-     * @param aItemSize Item size.
-     */
-	void SetupLCTTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement, TSize aItemSize );
-
-	/**
-     * Setup custom template.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template where the data should be set up.
-     * @param aChildElement Element (xml).
-     */
-	void SetupCustomTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement );
-
-	/**
-     * Set the template visual id.
-     *
-     * @since S60 v3.0
-     * @param aChildTemplate Template data.
-     */
-	void SetupTemplateVisualId(TTemplateChild& aChildTemplate );
-
-	/**
-     * Setup the item children template data for move indicator and cache the data.
-     *
-     * @since S60 v3.0
-     * @param aLookupString Lookup string.
-     * @param aItemSize Item size.
-     */
-	void SetupMoveIndicatorTemplateChildrenL( const TDesC8& aLookupString, TSize aItemSize );
-
-	/**
-     * Adjusts the item size loaded to template cache according to layout size and orientation.
-     * This method adjusts the item width so that items occupy the view correctly.
-     *
-     * @since S60 v3.0
-     * @param aSize The size of the item to be adjusted.
-     * @param aLayoutSize The layout of the widget e.g 3x4
-     * @param aLandscapeOrientation The orientation of the template being processed.
-     */
-	void AdjustItemWidth( TSize& aSize, TSize aLayoutSize, TBool aLandscapeOrientation );
-
-	/**
-     * Updates the parent rect according to orientation.
-     *
-     * @since S60 v3.0
-     * @param aParentRect The current parent rectangle.
-     * @param aLandscapeOrientation The current orientation.
-     */
-	void UpdateParentRect( TRect aParentRect, TBool aLandscapeOrientation );
-
-	/**
-     * Sets the parent rect for given orientation.
-     *
-     * @since S60 v3.0
-     * @param aLandscapeOrientation Orientation for which parent rect shoul be set.
-     * @param aParentRect The parent rect of current orientation.
-     */
-	void SetParentRect( TBool aLandscapeOrientation, TRect aParentRect);
-
-	/**
-     * Appends the edit mode template (backdrop icon) to the array of template children passed to the item drawer for drawing.
-     *
-     * @since S60 v3.0
-     * @param aTemplateArray The template array to which the edit mode template is appended.
-     * @param aSize The size of the item for which the edit mode template should be calculated.
-     */
-	void AppendEditModeTemplateL( RArray< TTemplateChild >& aTemplateArray, TSize aSize );
-
-	/**
-     * Adjusts the item size according to layout, LCT item size and orientation.
-     *
-     * @since S60 v3.0
-     * @param aItemSize The LCT item size.
-     * @param aLayoutSize The layout size to be used to calculate item size.
-     * @param aLandscapeOrientation The orientation for which the template is loaded.
-     */
-	void AdjustItemSize(TSize& aItemSize,  TSize aLayoutSize, TBool aLandscapeOrientation );
-
-	/**
-     * Caches the layout size
-     *
-     * @since S60 v3.0
-     * @param aLayoutSize The layout size to ba cached.
-     * @param aTemplate The template for the cached layout size.
-     * @param aLandscapeOrientation The orientation for which the template is loaded.
-     */
-	void CacheLayoutSizeL( TSize aLayoutSize, const TDesC8& aTemplate, TBool aLandscapeOrientation );
-
-	/**
-     * Adjusts icon's align to layout (left, center, right).
-     *
-     * @since S60 v5.0
-     * @param aParentSize The LCT parent item size.
-     * @param aTemplateChild Template data.
-     */
-    void AdjustIconPosition(TSize aParentSize,
-                    TTemplateChild& aTemplateChild);
-
-private: //Members
-
-	/**
-	 * Widget type of template being loaded.
-	 */
-    TMmWidgetType iWidgetType;
-
-    /**
-     * Template type which is being loaded (LCT/custom).
-     */
-    TMmTemplateType iMmTemplateType;
-
-    /**
-     * Template sizes map.
-     */
-    RHashMap< HBufC8*, TSize> iTemplateSizesMap;
-
-    /**
-     * Item children template map.
-     */
-    RHashMap< HBufC8*, RArray<TTemplateChild> > iTemplateChildrenMap;
-
-    /**
-     * Move indicator rects map.
-     */
-    RHashMap< HBufC8*, TRect> iMoveIndicatorRectsMap;
-
-    /**
-     * Parent bounding rect.
-     */
-    TRect iParentRectPortrait;
-
-    /**
-     * Parent bounding rect.
-     */
-    TRect iParentRectLandscape;
-
-    /**
-     * Scrollbar is visible.
-     */
-    TBool iIsScrollbarVisible;
-
-    /**
-     * Scrollbar width.
-     */
-    TInt iScrollbarWidth;
-
-	};
-#endif // MMTEMPLATELIBRARY_H
--- a/menufw/menufwui/mmwidgets/inc/mmvisibilityobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* 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:  receives key pressed notifications
-*
-*/
-
-#ifndef M_MMVISIBILITYOBSERVER_H
-#define M_MMVISIBILITYOBSERVER_H
-
-#include <coedef.h>
-
-/**
- *  Interface for handling application changing background/foreground states.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-class MMmVisibilityObserver
-    {
-public:
-    
-    /**
-     * Called when application goes into foreground (e.g options menu
-     * goes off or application is opened ).
-     * 
-     * @since S60 v5.0
-     */
-    virtual void HandleForegroundGainedL() = 0;
-    
-    /**
-     * Called when application goes into background (e.g the options list
-     * is open and application view is dimmed).
-     *
-     * @since S60 v5.0
-     */
-    virtual void HandleBackgroundGainedL() = 0;
-    
-    };
-    
-#endif // M_MMVISIBILITYOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetcontainer.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1006 +0,0 @@
-/*
-* 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:
-*  Version     : %version: MM_48.1.37 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMMWIDGETCONTAINER_H
-#define MMMWIDGETCONTAINER_H
-
-// INCLUDES
-#include <AknDef.hrh>
-#include <e32std.h>
-#include <e32base.h>
-#include <eiklbx.h>
-#include <coecntrl.h>
-#include <AknsDrawUtils.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <aknlongtapdetector.h>
-
-#include "hnsuiteobserver.h"
-#include "mmvisibilityobserver.h"
-#include "hnglobals.h"
-
-// CLASS DECLARATION
-class CHnSuiteModel;
-class CMmListBoxModel;
-class MEikListBoxObserver;
-class MMmKeyEventObserver;
-class MMmDragAndDropObserver;
-class MMmWidgetObserver;
-class CMatrixMenuAppUi;
-class CMmHighlightTimer;
-class CMmMarqueeAdapter;
-class CMmListBoxItemDrawer;
-class CMmTemplateLibrary;
-class CMmPostEvaluationProcessor;
-class MMmLongTapObserver;
-/**
- * Square of the distance the cursor has to be dragged from the current
- * position to really move the dragged item.
- */
-const TInt KDragDelta( 640 );
-
-/**
- * Structure used to store cache for widget position.
- *
- * @since S60 v5.0
- * @ingroup group_mmwidgets
- */
-class TMmWidgetPosition
-	{
-public:
-    /**
-     * Default constructor.
-     * Initializes member variables with sensible values.
-     */
-    TMmWidgetPosition();
-
-public: // data
-	/**
-	 * The vertical item offset cache.
-	 */
-	TInt iVerticalItemOffset;
-
-	/**
-	 * The top item index cache.
-	 */
-	TInt iTopItemIndex;
-
-	/**
-	 * Tells if the cached values are valid.
-	 */
-	TBool iValid;
-
-	/**
-	 * The mode (portrait/landscape) for which the cache is valid.
-	 */
-	TBool iLandscape;
-
-	/**
-	 * Id from model (not index) of the currently highlighted item.
-	 * It should only be set if the currently highlighted item is
-	 * visible (fully or partially), otherwise it must remain
-	 * initialized to KErrNotFound.
-	 */
-	TInt iHighlightedItemId;
-	};
-
-/**
- *  Interface for widget containers.
- *
- *  @code
- *  @endcode
- *  @lib mmwidgets
- *  @since S60 v3.0
- *  @ingroup group_mmwidgets
- */
-
-NONSHARABLE_CLASS( CMmWidgetContainer ): public CCoeControl,
-                                         public MMmVisibilityObserver,
-                                         public MEikListBoxObserver,
-                                         public MAknLongTapDetectorCallBack
-	{
-public:
-
-    /**
-     * Creates a new grid container.
-     *
-     * @since S60 v3.0
-     * @param aRect Parent rectangle.
-     * @param aObjectProvider Object provider.
-     * @return GridContainer.
-     */
-     IMPORT_C static CMmWidgetContainer* NewGridContainerL( const TRect& aRect,
-            MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-    /**
-     * Creates a new listbox container.
-     *
-     * @since S60 v3.0
-     * @param aRect Parent rectangle.
-     * @param aObjectProvider Object provider.
-     * @param aTemplateLibrary Template library for drawer.
-     * @return ListboxContainer.
-     */
-     IMPORT_C static CMmWidgetContainer* NewListBoxContainerL( const TRect& aRect,
-            MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary );
-
-public: // Highlight related methods
-
-	/**
-	 * Sets the default highlight.
-	 *
-     * @since S60 v3.0
-     * @param aRedraw Is highlight to redraw.
-     */
-	virtual void SetDefaultHighlightL( TBool aRedraw = ETrue ) = 0;
-
-    /**
-     * Sets the highlight.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index to set the highlight at.
-     * @param aRedraw Is highlight to redraw.
-     */
-	IMPORT_C virtual void SetManualHighlightL(TInt aItemIndex,  TBool aRedraw = ETrue );
-
-    /**
-     * Gets the highlight from the widget.
-     *
-     * @since S60 v3.0
-     * @return Current Highlight in the widget.
-     */
-	IMPORT_C virtual TInt GetHighlight();
-
-    /**
-     * Gets the highlight from the widget.
-     *
-     * @since S60 v3.0
-     * @return Previous Highlight in the widget.
-     */
-	IMPORT_C virtual TInt GetPreviousHighlight();
-
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v3.0
-     * @param aVisible Visibility status.
-     */
-	IMPORT_C virtual void SetHighlightVisibilityL( TBool aVisible );
-	
-    /**
-     * Set highlight visibility.
-     *
-     * @since S60 v3.0
-     * @return Visibility status.
-     */
-	IMPORT_C virtual TBool IsHighlightVisible();
-
-    /**
-     * Handle item addition.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C virtual void HandleItemAdditionL();
-
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C virtual void HandleItemRemovalL();
-
-    /**
-     * Handle item removal.
-     *
-     * @since S60 v3.0
-     */
-	IMPORT_C CHnSuiteModel* GetSuiteModelL();
-
-    /**
-     * Retrieve type of widget.
-     *
-     * @since S60 v3.0
-     * @return Type of widget.
-     */
-	IMPORT_C virtual THnSuiteWidgetType WidgetType();
-
-	/**
-	 * Removes all LIW objects owned by this object.
-     *
-     * LIW objects owned by non-LIW objects that are owned by
-     * this object are also removed.
-	 */
-	virtual void RemoveLiwObjects();
-
-	/**
-	 * Sets the long tap observer.
-     *
-     * @param aObserver Observer to receive long tap events.
-	 */
-	IMPORT_C virtual void SetLongTapObserver( MMmLongTapObserver* aObserver );
-
-	/**
-	 * Informs the container that long tap event is finished (e.g. because 
-	 * a command from the context menu has been issued).
-	 * 
-	 * @param aStopTimer ETrue when the highlight timer should be stopped.
-	 */
-	IMPORT_C virtual void EndLongTapL( TBool aStopTimer = ETrue );
-
-public:
-
-	/**
-	 * Sets suite model.
-	 *
-	 * @since S60 v3.0
-	 * @param aModel Suite model.
-	 */
-	virtual void SetSuiteModelL( CHnSuiteModel* aModel );
-
-    /**
-     * Gets Multimedia Menu model.
-     *
-     * @since S60 v3.0
-     * @return Model.
-     */
-	virtual CMmListBoxModel* GetMmModel() = 0;
-
-    /**
-     * Sets widget observer.
-     *
-     * @since S60 v3.0
-     * @param aObserver Widget observer.
-     */
-	IMPORT_C virtual void SetObserver( MMmWidgetObserver*  aObserver);
-
-    /**
-     * Gets item rectangle according to item index.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     * @return Item rectangle.
-     */
-    IMPORT_C TRect GetItemRectL( TInt aItemIndex );
-
-    /**
-     * Sets empty text visible when model has no items.
-     *
-     * @since S60 v3.0
-     * @param aText Text to be shown when view is empty.
-     */
-	virtual void SetEmptyTextL(const TDesC& aText) = 0 ;
-
-    /**
-     * Sets flag.
-     *
-     * @since S60 v3.0
-     * @param Flag Flag.
-     */
-	virtual void SetFlag(TInt Flag);
-
-    /**
-     * Gets widget.
-     *
-     * @since S60 v3.0
-     * @return Widget.
-     */
-	virtual CEikListBox* Widget();
-
-    /**
-     * Sets background context for item drawer and view.
-     *
-     * @since S60 v3.0
-     * @param aBgContext Background context.
-     */
-	virtual void SetItemDrawerAndViewBgContext(
-			CAknsBasicBackgroundControlContext * aBgContext ) =0;
-
-    /**
-     * Sets edit mode so UI is aware.
-     *
-     * @since S60 v3.0
-     * @param aIsEditMode Is edit mode.
-     */
-	virtual void SetEditModeL( TBool aIsEditMode );
-
-    /**
-     * Tells if UI is aware of edit mode.
-     *
-     * @since S60 v5.0
-     * @return Edit mode status.
-     */
-	virtual TBool IsEditMode() const;
-
-    /**
-     * Sets up widget layout (needed for grid).
-     *
-     * @since S60 v3.0
-     */
-	virtual void SetupWidgetLayoutL() =0;
-
-    /**
-     * Constructor.
-     */
-	CMmWidgetContainer();
-
-    /**
-     * Destructor.
-     */
-    ~CMmWidgetContainer();
-    
-    /**
-     * Enables/disables animation during long tap.
-     * Tactile feedback is also enabled and disabled with the animation.
-     * Changes made with this method will be effective on the next long
-     * tap, i.e. it is not possible to stop an already started animation
-     * by using this method.
-     * 
-     * @param aEnable ETrue - enable, EFalse - disable long tap animation
-     *                and long tap tactile feedback
-     */
-    IMPORT_C void EnableLongTapAnimation( TBool aEnable );
-
-    /**
-     * from CCoeControl.
-     *
-     * @since S60 v3.0
-     */
-    void SizeChanged();
-
-    /**
-     * Draws the widget.
-     *
-     * @since S60 v3.0
-     * @param aRect Rectangle within the widget shuld be drawn.
-     */
-    void Draw(const TRect& aRect) const;
-
-    /**
-      * Draws the widget view.
-      *
-      * @since S60 v5.0
-      */
-    virtual void DrawView() = 0;
-
-    /**
-     * Returns type UID pointer that can be used in MopSupplyObject.
-     *
-     * @since S60 v3.0
-     * @param aId Type UID, should be the same that was given as aId.
-     * parameter of MopSupplyObject.
-     * @return Type UID pointer.
-     */
-    TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v5.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandlePointerEventsInEditModeL(const TPointerEvent& aPointerEvent,
-    		TBool aAbortAnimations );
-
-    /**
-     * Set draggable.
-     *
-     * @since S60 v3.0
-     * @param aDraggable Is draggable.
-     */
-    void SetDraggableL( TBool aDraggable );
-
-    /**
-     * Gets draggable status.
-     * Draggable status determines if the item has
-     * the capability to be dragged at the momont.
-     * So before threshold is crossed the container
-     * is not draggable in the sense of this method
-     * because the dragged item is not yet drawn.
-     * It becomes draggable when it start to be drawn
-     *
-     * @since S60 v3.0
-     * @return Is draggable.
-     */
-    IMPORT_C TBool IsDraggable();
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @return count component controls.
-     */
-    TInt CountComponentControls() const;
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aIndex index of control.
-     * @return component control.
-     */
-    CCoeControl* ComponentControl(TInt aIndex) const;
-
-    /**
-     * From CCoeControl.
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent key event.
-     * @param aType event type.
-     * @return response to key event.
-     */
-    TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
-
-    /**
-     * Zooms item icon.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Item index.
-     */
-    IMPORT_C void ItemIconZoomL( TInt aItemIndex );
-
-    /**
-     * Handle button up event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandleButtonDownL(const TPointerEvent& aPointerEvent );
-
-    /**
-     * Handle button down event.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     */
-    void HandleButtonUpL(const TPointerEvent& aPointerEvent );
-
-    /**
-     * Overridden to invalidate item drawer cache on skin change and
-     * dynamic variant switch.
-     *
-     * @param aType A message UID value.
-     */
-    void HandleResourceChange( TInt aType );
-
-    /**
-     * Handle dragging of item.
-     *
-     * @since S60 v3.0
-     * @param aPointerEvent Pointer event.
-     * @param aAbortAnimation Should animation be aborted.
-     */
-    void HandleDragL(const TPointerEvent& aPointerEvent, TBool aAbortAnimation );
-
-    /**
-     * Sets marquee adapter.
-     *
-     * @since S60 v3.0
-     * @param aAdapter A marquee adapter.
-     */
-    void SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter );
-
-    /**
-     * Sets up item drawer.
-     *
-     * @since S60 v3.0
-     */
-    void SetupDrawer();
-
-    /**
-     * Cancels gragging of item.
-     *
-     * @since S60 v3.0
-     * @param aAnimate Should dragged item transition be animated.
-     */
-    IMPORT_C void CancelDragL( TBool aAnimate );
-
-    /**
-     * Animates item shifting.
-     *
-     * @since S60 v3.0
-     * @param aHighlight Highlighted item index.
-     */
-    void AnimateShiftL(TInt aHighlight);
-
-    /**
-     * Gest number of items.
-     *
-     * @since S60 v3.0
-     * @return Number of items.
-     */
-    IMPORT_C TInt NumberOfItems();
-
-    /**
-     * This should be called at the end of edit mode in non-touch
-     *
-     * @since S60 v5.0
-     */
-    IMPORT_C void StopMovingL();
-
-    /**
-     * Set the vertical item offset;
-     * @param aOffset The offset to set to the widget.
-     *
-     * @since S60 v5.0
-     */
-    virtual void SetVerticalItemOffset( TInt aOffset ) = 0;
-
-    /**
-     * Gets the current vertical item offset for the widget in the container.
-     * @since S60 v5.0
-     *
-     * @return The current vertical item offset.
-     */
-    virtual TInt VerticalItemOffset() const = 0;
-
-    /**
-     * Saves the currents position of the widget. The vertical item offset
-     * and the top item index are cached.
-     * @since S60 v5.0
-     */
-    IMPORT_C void CacheWidgetPosition();
-
-    /**
-     * Resets the widget position cache to top of view.
-     * Both vartical item offset and top index are set to zero
-     * in cache and widget.
-     * @since S60 v5.0
-     */
-    IMPORT_C void ResetWidgetPosition();
-
-    /**
-     * Restores the cached widget position values in the widget.
-     * @since S60 v5.0
-     */
-    IMPORT_C void RestoreWidgetPosition();
-
-    /**
-     * Scrolls to the specified item index so that the item is seen entirely on screen.
-     * @since S60 v5.0
-     *
-     * @param aIndex The widget item index to scroll to.
-     * @return True if any scrolling was done.
-     */
-    IMPORT_C TBool ScrollToItemL( TInt aIndex );
-
-    /**
-     * Called when the number of items in widget model changed.
-     * @since S60 v5.0
-     *
-     * @param aChange Type of change
-     */
-    IMPORT_C void NumberOfItemsChangedL( TItemsChangeType aChange );
-
-    /**
-     * Aligns the bottom of view to the last model item bottom edge so that no extra
-     * unused pixels are visible at the bottom of screen.
-     * @since S60 v5.0
-     *
-     * @return True if the view was scrolled.
-     */
-    TBool AlignBottomOfViewL( );
-
-    /**
-     * Calculate numer of pixels required to scroll when aligning bottom of view.
-     * @since S60 v5.0
-     */
-    TInt CalcBottomPixelsToScroll();
-
-    /**
-     * Sets visibility of a widget.
-     *
-     * @param aVisible ETrue if widget should be visible, EFalse - otherwise
-     */
-    void MakeVisible(TBool aVisible);
-
-    /**
-     * Tells if item is visible (fully or partially).
-     * @param aItemIndex Item index.
-     * @return ETrue if visible, EFalse otherwise.
-     */
-    virtual TBool ItemIsVisible( TInt aItemIndex ) const;
-
-     /**
-     * Tells if item is entirely visible.
-     * @param aIndex The index of the item.
-     */
-    IMPORT_C TBool ItemIsFullyVisible(TInt aIndex);
-
-    /**
-    * Prepares the container to be set to the garbage collector.
-    */
-    IMPORT_C void PrepareForGarbage();
-
-    /**
-     * Checks, whether the currently dragged item is a draggable item. i.e. parent folder
-     * is not a draggable item.
-     * @returns True, if dragged item is parent folder
-     * or no item is dragged (iDraggedIndex = -1), false otherwise.
-     */
-    TBool IsNoItemDragged();
-
-    /**
-     * Sets the iHasFocus member variable, which is used to determine
-     * if marquee animation can be enabled.
-     */
-    IMPORT_C void SetHasFocusL( TBool aHasFocus );
-
-    /**
-     * Sets the iIsFaded member variable, which is used to determine
-     * if marquee animation can be enabled.
-     */
-    IMPORT_C void SetIsFaded( TBool aIsFaded );
-    
-    /**
-     * Determines if long tap is in progress.
-     * 
-     * @return ETrue if long tap is in progress.
-     */
-    TBool LongTapInProgress() const;
-
-public: // from MMmVisibilityObserver
-
-    /**
-     *
-     * @since S60 v3.0
-     */
-    IMPORT_C void HandleBackgroundGainedL();
-
-    /**
-     *
-     * @since S60 v3.0
-     */
-    IMPORT_C void HandleForegroundGainedL();
-public: // from MEikListBoxObserver
-
-    /**
-     * Handles list box events.
-     *
-     * @since S60 v5.0
-     */
-    virtual void HandleListBoxEventL(CEikListBox* aListBox,
-            TListBoxEvent aEventType);
-
-public:
-    /**
-     * From MAknLongTapDetectorCallBack. Handles long tap events.
-     *
-     * @since S60 v5.0
-     * @param aPenEventLocation Point coordinates relative to container.
-     * @param aPenEventScreenLocation Point coordinates relative to screen.
-     */
-    virtual void HandleLongTapEventL( const TPoint& aPenEventLocation,
-                                      const TPoint& aPenEventScreenLocation );
-protected:
-
-    /**
-     * Handles additional contruction tasks.
-     *
-     * @since S60 v3.0
-     */
-	void ConstructL();
-
-    /**
-     * Sets highlight locally.
-     * Does not modify the avkon behaviur.
-     *
-     * @since S60 v3.0
-     * @param aItemIndex Index of the item.
-     */
-	void SetHighlightL(TInt aItemIndex);
-
-	/**
-     * Checks whether given point collides with specific item's re-order area.
-     *
-     * This function gets called during drag-and-drop operations to
-     * help determine whether item re-ordering is needed.
-     *
-     * @param aItemIndex index of the item to check
-     * @param aPoint point coordinates
-     * @return ETrue if point is located within item re-order area,
-     *         EFalse otherwise
-     */
-    virtual TBool PointInItemReorderAreaL( TInt aItemIndex, TPoint aPoint );
-
-    /**
-     * Hides the options menu if it is being displayed.
-     * This has (probably) the same effect as clicking Cancel (RSK) -
-     * the menu just disappears.
-     */
-    void HideOptionsMenuIfDisplayed();
-
-protected:
-
-    /**
-     * Validates the widget current item index so that it is consistent with
-     * the current model.
-     */
-    void ValidateWidgetCurrentItemIndex();
-
-    /**
-     * Updates current view's scrollbar thumbs.
-     */
-    virtual void UpdateViewScrollBarThumbs();
-
-    /**
-     * Starts or stops marquee animation based on the current state
-     * of the container.
-     */
-    void StartOrStopMarquee();
-
-private:
-
-	 /**
-	 * Called when the number of items in widget model changed.
-	 * @since S60 v5.0
-	 *
-	 * @param aChange Type of change
-	 */
-	void HandleNumberOfItemsChangedL( TItemsChangeType aChange );
-
-    /**
-     * Manages zooming of folder.
-     *
-     * @since S60 v3.0
-     * @param aDraggedItemOverIcons Is dragged over icons flag.
-     */
-	void ManageFolderZoomingL( TBool aDraggedItemOverIcons );
-
-    /**
-     * Cancels gragging of item if relevant( Edit Mode is activated )
-     *
-     * @since S60 v3.0
-     */
-    void CancelDragL();
-
-    /**
-     * Sets the widget highlight back to place if e.g. item was dragged over an item
-     * where it could not be dropped into.
-     *
-     * @since S60 v3.0
-     */
-    void SetHighlightAfterDrag();
-
-    /**
-     * Handles key event.
-     *
-     * @since S60 v3.0
-     * @param aKeyEvent Key event.
-     * @param aType Event code.
-     */
-    TKeyResponse HandleKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType);
-
-    /**
-     * Handles rocker (select) press.
-     */
-    void HandleRockerPressL();
-
-    /**
-     * Gets distance between current and previous position.
-     * @param aPos Current position.
-     * @param aTapPoint Point of the tap.
-     * @return Distance between two points in pixels.
-     */
-    TInt DeltaSquare( const TPoint aTapPoint,
-    		const TPoint aPos );
-
-    /**
-     * Checks, whether given item is a folder or root folder.
-     * @param aItemIndex Item index to check.
-     * @returns True, if given item is a folder or root folder, false otherwise.
-     */
-    TBool IsFolderL( TInt aItemIndex );
-
-    /**
-	 * Checks, whether given item has IsDeleteLockedL flag set.
-	 * @param aItemIndex Item index to check.
-	 * @returns IsDeleteLockedL flag
-	 */
-	TBool IsDeleteLockedL( TInt aItemIndex );
-
-	/**
-	 * Gets column count in current view.
-	 * @returns Column count in current view.
-	 */
-	virtual TInt ColumnsInCurrentView();
-
-    /**
-     * Gets row count in current view.
-     * @returns Row count in current view.
-     */
-    virtual TInt RowsInCurrentView();
-
-	/**
-	 * Scrolls the view move mode non-touch so that move indicators are visible.
-	 */
-	void ScrollViewIfNeededL();
-
-    /**
-     * Scrolls the view in pixels.
-     * @param aPixels THe number of pixels to scroll. If negative, the view is scrolled down.
-     */
-	void ScrollInPixelsL( TInt aPixels );
-
-    /**
-     * Sets up the scrolling effect movement type.
-     * @param aDown True if scrolling is downwards.
-     */
-	void SetupScrollingEffectsL( TBool aDown );
-
-protected:
-
-
-	/**
-	 * Own.
-	 */
-	CEikListBox* iWidget;
-
-    /**
-     * Key event observer.
-     */
-	MMmKeyEventObserver* iKeyEventObserver;
-
-    /**
-     * Drag and drop observer.
-     */
-     MMmDragAndDropObserver* iDragAndDropObserver;
-     /**
-      * List box observer.
-      */
-     MEikListBoxObserver* iListBoxObserver;
-
-    /**
-     * Marquee adapter.
-     * Own.
-     */
-    CMmMarqueeAdapter* iMarqueeAdapter;
-
-    /**
-     * Item drawer.
-     * Not own.
-     */
-    CMmListBoxItemDrawer* iDrawer;
-
-protected:
-
-	/**
-	 * Current Highlight.
-	 */
-	TInt iCurrentHighlight;
-
-    /**
-     * Has drag occurred.
-     */
-    TBool iDragOccured;
-
-	/**
-	 * Processed display elelments for better performance.
-	 */
-    CMmPostEvaluationProcessor* iPostProcessor;
-
-	/**
-	 * Set when long tap is in progress (stylus popup displayed over container)
-	 */
-    TBool iLongTapInProgress;
-
-private:
-
-
-    /**
-     * Background context.
-     * Own.
-     */
-	CAknsBasicBackgroundControlContext* iBgContext;
-
-    /**
-     * Last drag point.
-     */
-	TPoint iLastDragPoint;
-
-    /**
-     * First tap point.
-     */
-	TPoint iTapPoint;
-
-    /**
-     * First tap point.
-     */
-	TPoint iItemRelativeTapPoint;
-
-	/**
-     * Last drag highlight.
-     */
-	TInt iLastDragHighlight;
-
-    /**
-     * Dragged item index.
-     */
-	TBool iDraggedIndex;
-
-    /**
-     * Edit mode status.
-     */
-	TBool iIsEditMode;
-
-	/**
-     * Destination of item index.
-     */
-	TInt iItemIndexDestination;
-
-	/**
-     * Previous Highlight.
-     */
-	TInt iPreviousHighlight;
-
-	/**
-	 * The current rect of the widget control.
-	 */
-    TRect iWidgetRect;
-
-    /**
-     * Longpress allowed flag. We only accept long press (EEventKey+iRepeats)
-     * when there was no highlight visible before EEventKeyDown, otherwise
-     * we react only to EEventKeyDown
-     */
-    TBool iAllowLongPress;
-
-	/**
-	 * Cache for widget position.
-	 */
-    TMmWidgetPosition iWidgetPositionCache;
-
-    /**
-     * ETrue if Matrix menu window is faded.
-     */
-    TBool iIsFaded;
-
-    /**
-     * ETrue if Matrix menu has focus (i.e. it is not obscured by any popup
-     * note).
-     */
-    TBool iHasFocus;
-
-    /**
-     * ETrue if in foreground.
-     */
-    TBool iInForeground;
-
-    /**
-     * Own.
-     * Detects long tap events.
-     */
-    CAknLongTapDetector* iLongTapDetector;
-
-    /**
-     * Observer to notify about long tap events.
-     */
-    MMmLongTapObserver* iLongTapObserver;
-
-	};
-
-#endif // MMMWIDGETCONTAINER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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:  receives key pressed notifications
-*  Version     : %version: 8 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef M_MMWIDGETOBSERVER_H
-#define M_MMWIDGETOBSERVER_H
-
-#include <coedef.h>
-#include <eiklbo.h>
-#include "mmkeyeventobserver.h"
-#include "mmdraganddropobserver.h"
-#include "mmlongtapobserver.h"
-
-/**
- *  MKeyEventObserver used to bundle different interfaces.
- *  A complete set of the bundled interfaces allows to fully
- *  control widgets behaviour.
- *  Class implementing this interface will be able to receive all 
- *  notifications from a widget.
- *
- *  @code
- *  @endcode
- *  @lib 
- *  @since S60 v5.0
- */
-class MMmWidgetObserver : public MMmKeyEventObserver,
-                          public MMmDragAndDropObserver,
-                          public MEikListBoxObserver,
-                          public MMmLongTapObserver
-    {
-    
-    };
-    
-#endif // M_MMWIDGETOBSERVER_H
--- a/menufw/menufwui/mmwidgets/inc/mmwidgetsconstants.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* 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:  Constants for the matrixmenu
-*  Version     : %version: 33.1.11 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#ifndef MMWIDGETSCONSTANTS_H
-#define MMWIDGETSCONSTANTS_H
-
-
-#include <e32keys.h>
-
-/**
- * Grid constants' namespace.
- */
-namespace MmGrid
-	{
-	/**
-	 * X component of the 4x3 layout.
-	 */
-	const TInt K4By3LayoutX = 4;
-
-	/**
-	 * Y component of the 4x3 layout.
-	 */
-	const TInt K4By3LayoutY = 3;
-
-	/**
-	 * X component of the 3x4 layout.
-	 */
-
-	const TInt K3By4LayoutX = 3;
-
-	/**
-	 * Y component of the 3x4 layout.
-	 */
-	const TInt K3By4LayoutY = 4;
-
-	/**
-	 * X component of the 4x5 layout.
-	 */
-	const TInt K4By5LayoutX = 4;
-
-	/**
-	 * Y component of the 5x4 layout.
-	 */
-	const TInt K4By5LayoutY = 5;
-
-	/**
-	 * X component of the 5x4 layout.
-	 */
-	const TInt K5By4LayoutX = 5;
-
-	/**
-	 * Y component of the 5x4 layout.
-	 */
-	const TInt K5By4LayoutY = 4;
-
-	/**
-	 * Below this value, default highlight in 3x4 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K3By4Threshold(5);
-
-	/**
-	 * Below this value, default highlight in 4x3 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K4By3Threshold(6);
-
-	/**
-	 * Below this value, default highlight in 5x4 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K5By4Threshold(8);
-
-	/**
-	 * Below this value, default highlight in 4x5 grid
-	 * is set up on the first item. Otherwize, on the default
-	 * highlight.
-	 */
-	const TInt K4By5Threshold(10);
-
-	/**
-	 * Default highlight in 3x4 grid.
-	 */
-	const TInt K3By4DefaultHighlight(4);
-
-	/**
-	 * Default highlight in 4x3 grid.
-	 */
-	const TInt K4By3DefaultHighlight(5);
-
-	/**
-	 * Default highlight in 5x4 grid.
-	 */
-	const TInt K5By4DefaultHighlight(7);
-
-	/**
-	 * Default highlight in 4x5 grid.
-	 */
-	const TInt K4By5DefaultHighlight(8);
-
-	/**
-	 * Number of rows in portrait/non-zoom mode;
-	 */
-	const TInt KRowsPortraitZoomNormal(4);
-
-	/**
-	 * Number of columns in landscape/non-zoom mode;
-	 */
-	const TInt KColsPortraitZoomNormal(3);
-
-	/**
-	 * Number of rows in portrait/non-zoom mode;
-	 */
-	const TInt KRowsLandscapeZoomNormal(3);
-
-	/**
-	 * Number of columns in landscape/non-zoom mode;
-	 */
-	const TInt KColsLandscapeZoomNormal(4);
-
-	}
-
-/**
- * Listbox constants' namespace.
- */
-namespace MmListBox
-	{
-	/**
-	 * Threshold value, determinign if a partial should
-	 * be shown in a list.
-	 */
-	const TInt KPartialItemShowThreshold (0);
-
-	/**
-	 * Default highlight in 4x5 grid.
-	 */
-	const TInt KCols(1);
-	}
-
-/**
- * Drag and drop related constants.
- */
-namespace MmEffects
-	{
-	/**
-	 * Threshold for items shift.
-	 */
-	const TReal KShiftRatio(0.25);
-
-	/**
-	 * Drag and drop speed limit.
-	 */
-	const TInt KDragSpeedIgnoreThreshold(15 * 15);
-
-	/**
-	 * Number of frames to animate.
-	 */
-	const TInt KMaximumAnimationFramesCount( 6 );
-
-	/**
-	 * Number of frames to animate.
-	 */
-	const TInt KUsualAnimationFramesCount( 3 );
-
-	/**
-	 * Number of frames to animate on non-touch devices.
-	 */
-	const TInt KUsualAnimationFramesCountNonTouch( 2 );
-
-	/**
-	 * No animation frames count.
-	 */
-	const TInt KNoAnimationFramesCount( 1 );
-
-	/**
-	 * Delay between redrawing frames.
-	 */
-	const TInt KAnimationFrameDelay( 40000 );
-
-	/**
-	 * Text alpha during drag.
-	 */
-	const TInt KDragTextAlpha( 50 );
-
-	/**
-	 * Focus based scrolling item threshold.
-	 */
-	const TReal KFocusScrollingThreshold( 0.55 );
-
-	/**
-	 * Focus based scrolling item threshold for listbox landscape mode.
-	 */
-	const TReal KFocusScrollingThresholdListboxLanscape( 1.0 );
-
-	/**
-	 * Value of drag ignore.
-	 */
-	const TInt KDragIgnoreRectValue(200);
-
-	/**
-	 * Time between two butto repeat events.
-	 */
-	const TInt KDragRepeatRespawn(2);
-
-	/**
-	 * Determines the speed of focus-based scrolling in edit mode.
-	 */
-	const TInt KEditModeScrollingDelayFactor = 4000;
-	}
-
-/**
- * Templates' related constants.
- */
-namespace MmTemplateContants
-	{
-	/**
-	 * If a custom (non LCT) template is used, this is
-	 * its default scrollbar width.
-	 */
-	const TInt KCustomTemplateScrolbarWidth (25);
-
-	const TInt KTemplateChildTextLength (64);
-
-	const TInt KSubCellsCount (6);
-
-	const TInt KItemSubCellsText (300);
-
-	const TInt KMoveIndicatorStartingPos ( 32 );
-
-	}
-
-/**
- * Shortcut constants.
- */
-namespace MmShortcutConstants
-	{
-	/**
-	 * Possible scancodes when interpreting shortcut key.
-	 */
-	const TInt KScanCodes[] = { '1','2','3','4','5','6','7','8','9',
-#ifndef __WINS__
-        '*',
-#else
-        EStdKeyNkpAsterisk,
-#endif
-	    '0', EStdKeyHash };
-
-	/**
-	 * Number of available scancodes.
-	 */
-	const TInt KScanCodeCount = 12;
-	}
-
-namespace MmMarqueeConstants
-	{
-	const TInt KTextTrimmingThreshold (80);
-	const TInt KClippingBufLength (80);
-	const TInt KLoops (1);
-	const TInt KScrollAmount (6);
-	const TInt KScrollDelay (1000000);
-	}
-/**
- * Matrix Template Library panic notice.
- */
-_LIT( KMtlPanic,  "MTL" );
-
-_LIT8( KMmTitle8,       	"mul_title"         );
-_LIT8( KMmDetail8,      	"mul_detail"        );
-_LIT8( KMmIcon8,        	"mul_icon"          );
-_LIT8( KMmBackdropIcon8,    "mul_icon_backdrop" );
-_LIT8( KMmTemplate8,    	"mul_template"      );
-_LIT8( KGrid8,           	"grid"              );
-_LIT8( KListbox8,        	"listbox"           );
-
-_LIT8( KEmpty8,        			"empty"            );
-_LIT8( KOrientation8,        	"orientation"      );
-_LIT8( KBase8,        			"base"             );
-_LIT8( KText8,        			"text"             );
-_LIT8( KLayout8,        		"layout"           );
-_LIT8( KVariety8,        		"variety"          );
-_LIT8( KHAlign8,                "halign"           );
-_LIT8( KCenter8,                "center"           );
-_LIT8( KLeft8,                  "left"             );
-_LIT8( KRight8,                 "right"            );
-_LIT8( KHeight8,        		"height"           );
-_LIT8( KWidth8,        			"width"           );
-_LIT8( KTextVisual8,        	"textvisual"           );
-_LIT8( KImageVisual8,        	"imagevisual"           );
-_LIT8( KImagePath8,        		"imagepath"           );
-_LIT8( KGridLayout8,        	"gridlayout"           );
-_LIT8( KEnabled8,        	"enabled"           );
-_LIT8( KRow8,        			"row"           );
-_LIT8( KCol8,        			"col"           );
-_LIT8( KPositionX8,        		"positionx"           );
-_LIT8( KPositionY8,        		"positiony"           );
-_LIT8( KStyle8,        			"style"           );
-_LIT8( KTargetValue8,        	"targetvalue"           );
-_LIT8( KQfnPrimarySmall8,       "qfn_primarysmall"           );
-_LIT8( KHorizontalAlign8,       "horizontalalign"           );
-_LIT8( KLct8, 					"lct");
-_LIT8( KHighlight8,      		"highlight"       );
-_LIT8( KNoHighlight8,   		"nohighlight"    );
-_LIT8( KLandscape8,        		"landscape"         );
-
-_LIT8( KMmMoveIndicatorFrame8,    		"mul_move_indicator_frame"      	);
-_LIT8( KMmMoveIndicatorArrowTop8,  		"mul_move_indicator_arrow_top"   	);
-_LIT8( KMmMoveIndicatorArrowBottom8,	"mul_move_indicator_arrow_bottom"   );
-_LIT8( KMmMoveIndicatorArrowLeft8,    	"mul_move_indicator_arrow_left"     );
-_LIT8( KMmMoveIndicatorArrowRight8,   	"mul_move_indicator_arrow_right"    );
-_LIT8( KMI8,        					"MI" 						        );
-
-_LIT( KTab,         "\t"      	);
-_LIT( KAkn, 		"akn"		);
-_LIT( KUnderline, 	"_"			);
-_LIT( KLct, 		"lct"		);
-_LIT( KCustom, 		"custom"	);
-
-_LIT( KZResource,        "z:\\resource\\"    );
-
-_LIT( KFormat1,          "\t%S\t%S\t"        );
-_LIT( KFormat2,          "%d\t%S\t%S\t"      );
-
-
-_LIT( KMLID,          "MLID"      );
-_LIT8( KListSingleLargeGraphicPane8,        "list_single_large_graphic_pane"           );
-_LIT8( KUiaccelAalistDoubleGraphicPane8,        "uiaccel_aalist_double_graphic_pane"           );
-_LIT8( KUiaccelAalistDoublePane8,        "uiaccel_aalist_double_pane"           );
-_LIT8( KUiaccelAalistSinglePane8,        "uiaccel_aalist_single_pane"           );
-_LIT8( KUiaccelAalistGeneAdPane8,        "uiaccel_aalist_gene_ad_pane"           );
-_LIT8( KUiaccelAalistSinglePaneT18,        "uiaccel_aalist_single_pane_t1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneT18,        "uiaccel_aalist_double_graphic_pane_t1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneT28,        "uiaccel_aalist_double_graphic_pane_t2"           );
-_LIT8( KUiaccelAalistDoublePaneT18,        "uiaccel_aalist_double_pane_t1"           );
-_LIT8( KUiaccelAalistDoublePaneT28,        "uiaccel_aalist_double_pane_t2"           );
-_LIT8( KlistSingleLargeGraphicPaneT18,        "list_single_large_graphic_pane_t1"           );
-_LIT8( KUiaccelAalistSinglePaneG18,        "uiaccel_aalist_single_pane_g1"           );
-_LIT8( KUiaccelAalistSinglePaneG28,        "uiaccel_aalist_single_pane_g2"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG1,        "uiaccel_aalist_double_graphic_pane_g1"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG28,        "uiaccel_aalist_double_graphic_pane_g2"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG38,        "uiaccel_aalist_double_graphic_pane_g3"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG68,        "uiaccel_aalist_double_graphic_pane_g6"           );
-_LIT8( KUiaccelAalistDoubleGraphicPaneG78,        "uiaccel_aalist_double_graphic_pane_g7"           );
-_LIT8( KUiaccelAalistDoublePaneG18,        "uiaccel_aalist_double_pane_g1"           );
-_LIT8( KUiaccelAalistDoublePaneG28,        "uiaccel_aalist_double_pane_g2"           );
-_LIT8( KlistSingleLargeGraphicPane8,        "list_single_large_graphic_pane"           );
-_LIT8( KlistSingleLargeGraphicPaneG18,        "list_single_large_graphic_pane_g1"           );
-_LIT8( KlistSingleLargeGraphicPaneG2Cp28,        "list_single_large_graphic_pane_g2_cp2"           );
-_LIT8( KlistSingleLargeGraphicPaneG4Cp28,        "list_single_large_graphic_pane_g4_cp2"           );
-_LIT8( KUiaccelAalistGeneAdPaneG18,        "uiaccel_aalist_gene_ad_pane_g1"           );
-
-_LIT8( KUiaccelAagridCellImagePane8,        "uiaccel_aagrid_cell_image_pane"           );
-_LIT8( KUiaccelAagridCellImagePaneT18,        "uiaccel_aagrid_cell_image_pane_t1"           );
-_LIT8( KUiaccelAagridCellImagePaneG18,        "uiaccel_aagrid_cell_image_pane_g1"           );
-_LIT8( KUiaccelAagridCellImagePaneG28,        "uiaccel_aagrid_cell_image_pane_g2"           );
-_LIT8( KUiaccelAagridCellImagePaneG38,        "uiaccel_aagrid_cell_image_pane_g3"           );
-_LIT8( KUiaccelAagridCellImagePaneG48,        "uiaccel_aagrid_cell_image_pane_g4"           );
-
-_LIT8( KCellHcAppsPane8,        "cell_hc_apps_pane"           );
-_LIT8( KCellHcAppsPaneT18,        "cell_hc_apps_pane_t1"           );
-_LIT8( KCellHcAppsPaneG18,        "cell_hc_apps_pane_g1"           );
-_LIT8( KCellHcAppsPaneG28,        "cell_hc_apps_pane_g2"           );
-_LIT8( KCellHcAppsPaneG38,        "cell_hc_apps_pane_g3"           );
-
-_LIT8( KCellAppPane8,        "cell_app_pane"           );
-_LIT8( KCellAppsPaneG18,        "cell_app_pane_g1"           );
-_LIT8( KCellAppsPaneT18,        "cell_app_pane_t1"           );
-_LIT8( KCellAppsPaneG28,        "cell_app_pane_g2"           );
-
-_LIT8( KListSingleHcAppsPane8,        "list_single_hc_apps_pane"           );
-_LIT8( KListSingleHcAppsPaneT18,        "list_single_hc_apps_pane_t1"           );
-_LIT8( KListSingleHcAppsPaneG18,        "list_single_hc_apps_pane_g1"           );
-_LIT8( KListSingleHcAppsPaneG28,        "list_single_hc_apps_pane_g2"           );
-/**
- * Defines the type of a widget.
- */
-enum TMmWidgetType
-    {
-    EWidgetTypeNone = 0,
-    EGrid,
-    EListbox,
-    ECoverflow
-    };
-
-enum TImageVisualId
-    {
-    EImageVisualIdNormalMode = 0x00000000,
-    EImageVisualIdSwapMode = 0x00000001,
-    EImageVisualIdEditMode = 0x00000002
-    };
-
-/**
- * Defines the type of a template.
- */
-enum TMmTemplateType
-    {
-    ETemplateTypeCustom = 0,
-    ETemplateTypeLCT
-    };
-
-/**
- * Defines the type of a floating item.
- */
-enum TMmFloatingItemType
-    {
-    EDrag,
-    EPostDragRefreshItem,
-    EPostHighlightChangeRefreshItem,
-    ESwapTransition,
-    EDragTransition,
-    EZoomTransition
-    };
-
-const TInt KDelayInSeconds1 = 1000000;
-const TInt KDelayInSeconds6 = 6000000;
-const TInt KDelayInfinite = -1;
-
-enum TManualAlign
-    {
-    EManualAlignUndefined,
-    EManualAlignLeft,
-    EManualAlignCenter,
-    EManualAlignRight
-    };
-
-/**
- * The minimal drag vector y-length that can trigger kinetic scrolling.
- * This is just a rough estimation of the actual trigger value used by AVKON,
- * but it is sufficient for our purposes.  
- */
-const TInt KDragTreshold = 18;
-
-/**
- * The interval between redraws when scrolling using the scrollbar.
- * This will give us nice ~30 fps.
- */
-const TInt KScrollingRedrawInterval = 33333;
-
-#endif // MMWIDGETSCONSTANTS_H
--- a/menufw/menufwui/mmwidgets/rom/mmwidgets.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* 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:  Image description file for project matrixmenu
-*
-*/
-
-
-#ifndef MATRIXWIDGETS_IBY
-#define MATRIXWIDGETS_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\mmwidgets.dll	                                 SHARED_LIB_DIR\mmwidgets.dll
-
-data=\epoc32\data\z\resource\list\custom\akn_single_large_graphic_pane.xml      resource\list\custom\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_1.xml      	resource\list\custom\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_2.xml      	resource\list\custom\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_3.xml             resource\list\custom\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_4.xml      	resource\list\custom\akn_logical_template_4.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_5.xml      	 resource\list\custom\akn_logical_template_5.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_6.xml      	 resource\list\custom\akn_logical_template_6.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_7.xml      	 resource\list\custom\akn_logical_template_7.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_8.xml      	 resource\list\custom\akn_logical_template_8.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_10.xml      	 resource\list\custom\akn_logical_template_10.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_11.xml      	 resource\list\custom\akn_logical_template_11.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_12.xml      	 resource\list\custom\akn_logical_template_12.xml
-data=\epoc32\data\z\resource\list\custom\akn_logical_template_13.xml      	 resource\list\custom\akn_logical_template_13.xml
-
-
-data=\epoc32\data\z\resource\grid\custom\akn_single_large_graphic_pane.xml      resource\grid\custom\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_1.xml      	resource\grid\custom\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_2.xml      	resource\grid\custom\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_3.xml             resource\grid\custom\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\grid\custom\akn_logical_template_4.xml      	resource\grid\custom\akn_logical_template_4.xml
-
-
-//lct exports
-
-data=\epoc32\data\z\resource\list\lct\akn_list_single_hc_apps_pane.xml      	resource\list\lct\akn_list_single_hc_apps_pane.xml
-data=\epoc32\data\z\resource\list\lct\akn_single_large_graphic_pane.xml      	resource\list\lct\akn_single_large_graphic_pane.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_1.xml      	 	resource\list\lct\akn_logical_template_1.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_2.xml      	 	resource\list\lct\akn_logical_template_2.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_3.xml             	resource\list\lct\akn_logical_template_3.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_4.xml      	 	resource\list\lct\akn_logical_template_4.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_5.xml      	 	resource\list\lct\akn_logical_template_5.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_6.xml      	 	resource\list\lct\akn_logical_template_6.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_6a.xml      	 	resource\list\lct\akn_logical_template_6a.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_7.xml      	 	resource\list\lct\akn_logical_template_7.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_8.xml      	 	resource\list\lct\akn_logical_template_8.xml
-data=\epoc32\data\z\resource\list\lct\akn_logical_template_12.xml      	 	resource\list\lct\akn_logical_template_12.xml
-
-data=\epoc32\data\z\resource\grid\lct\akn_logical_template_3.xml      	 	resource\grid\lct\akn_logical_template_3.xml
-
-#endif // MATRIXWIDGETS_IBY
--- a/menufw/menufwui/mmwidgets/src/mmcacheforitem.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* 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:
-* Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmcacheforitem.h"
-#include "mmitemsdatacache.h"
-#include "hniconholder.h"
-
-const TInt KIconHolderListGranularity = 2;
-const TInt KIconListGranularity = 2;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmCacheForItem::NewLC( CMmItemsDataCache& aParent )
-    {
-    CMmCacheForItem* self = new (ELeave) CMmCacheForItem( aParent );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmCacheForItem::NewL( CMmItemsDataCache& aParent )
-    {
-    CMmCacheForItem* self = NewLC( aParent );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem::~CMmCacheForItem()
-    {
-    ClearIconArray();
-    iIconHolderList.Close();
-    iItemText.Close();
-    delete iIconList;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CMmCacheForItem::GetTemplate() const
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iParent.GetTemplateNameByIdentifier( iTemplateIdentifier );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::SetTemplateL( const TDesC8& aItemTemplate )
-    {
-    iTemplateIdentifier = iParent.GetTemplateIdentifierL( aItemTemplate );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CArrayPtr<CGulIcon>* CMmCacheForItem::GetIconListL()
-    {
-    __ASSERT_DEBUG( iIsValid, User::Invariant() );
-    return iIconList;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmCacheForItem::AppendIconL( CHnIconHolder* aIconHolder )
-    {
-    ASSERT( aIconHolder );
-    iIconHolderList.AppendL( aIconHolder );
-    TInt itemIndex =  iIconHolderList.Count() - 1;
-    TInt err = aIconHolder->Open();
-    if ( err != KErrNone )
-        {
-        iIconHolderList.Remove( itemIndex );
-        User::Leave( err );
-        }
-    return itemIndex;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::ClearIconArray()
-    {
-    iIconList->Reset();
-    const TInt count = iIconHolderList.Count();
-    for (TInt i = 0; i < count; ++i )
-        {
-        iIconHolderList[i]->Close();
-        }
-    if ( count )
-        {
-        iIconHolderList.Reset();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::InvalidateIfCacheMayNotBeUsed( TBool aIsItemCurrent,
-            TMmSubcellsSetupCode aSubcellsSetupCode )
-    {
-    if ( iSubcellsSetupCode != aSubcellsSetupCode ||
-            (!!iIsCurrent) != (!!aIsItemCurrent) )
-        {
-        SetValidL( EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem::CMmCacheForItem( CMmItemsDataCache& aParent )
-    : iIconHolderList( KIconHolderListGranularity ), iParent( aParent )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::ConstructL()
-    {
-    iIconList = new ( ELeave ) CArrayPtrFlat<CGulIcon>( KIconListGranularity );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmCacheForItem::UpdateIconListL()
-    {
-    iIconList->Reset();
-    const TInt iconCount = iIconHolderList.Count();
-    for ( TInt i = 0; i < iconCount; ++i )
-        {
-        iIconList->AppendL( iIconHolderList[i]->GetGulIcon() );
-        }
-    }
--- a/menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,437 +0,0 @@
-/*
-* 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:  
-*  Version     : %version: MM_41 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include <AknUtils.h>
-
-#include "mmdraweranimator.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmfloatingitem.h"
-#include "mmwidgetcontainer.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator::CMmDrawerAnimator(CMmListBoxItemDrawer& aDrawer) :
-    CActive( AknLayoutUtils::PenEnabled() ?
-    		EPriorityRealTime : 
-			EPriorityAbsoluteRealTime8 ), iDrawer(aDrawer), 
-    iLastNotedHighlight( KErrNotFound ), iLastNotedTopItem( KErrNotFound ),
-    iLastNotedVerticalOffset( 0 ),
-    iUsualAnimationFramesCount( AknLayoutUtils::PenEnabled() ?
-    		MmEffects::KUsualAnimationFramesCount : 
-			MmEffects::KUsualAnimationFramesCountNonTouch )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator* CMmDrawerAnimator::NewLC(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmDrawerAnimator* self = new ( ELeave ) CMmDrawerAnimator(aDrawer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator* CMmDrawerAnimator::NewL(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmDrawerAnimator* self = CMmDrawerAnimator::NewLC(aDrawer);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::ConstructL()
-    {
-    User::LeaveIfError( iTimer.CreateLocal() ); // Initialize timer
-    CActiveScheduler::Add( this); // Add to scheduler
-    iPreparedForGarbage = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmDrawerAnimator::~CMmDrawerAnimator()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    iTimer.Close(); // Destroy the RTimer object
-    // Delete instance variables if any
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmDrawerAnimator::CancelNextRedrawL()
-	{
-	RunL();
-    TTime currentTime;
-    currentTime.HomeTime();
-    return (currentTime.MicroSecondsFrom(iLastRedrawTime) 
-    		<= MmEffects::KAnimationFrameDelay);
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::RunL()
-    {      
-	if ( iPreparedForGarbage )
-		{
-		return;
-		}
-	
-    TTime currentTime;
-    currentTime.HomeTime();
-	
-   if (currentTime.MicroSecondsFrom(iLastRedrawTime) 
-    		>= MmEffects::KAnimationFrameDelay && iDrawer.GetFloatingItemCount() > 0)
-    	{
-    	Cancel();
-    	
-    	TRect refreshRect;
-    	for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-			{
-			TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-			TSize itemSize = iDrawer.GetItemSize(current.GetDrawnItemIndex(), EFalse);
-
-			TRect beforeRect(current.GetItemPosition(), itemSize);
-			current.MakeStep();
-			TRect afterRect(current.GetItemPosition(), itemSize);
-			
-			if (current.GetFloatingItemType() == EDrag )
-				{
-				TInt dragTrail = iDrawer.GetFloatingItemIndex( EPostDragRefreshItem );
-				if (dragTrail != KErrNotFound)
-					{
-					refreshRect = (refreshRect == TRect(0,0,0,0)) ? beforeRect : refreshRect;
-					refreshRect.BoundingRect( afterRect );
-					}
-				}
-			else
-				{
-				refreshRect = (refreshRect == TRect(0,0,0,0)) ? beforeRect : refreshRect;
-				refreshRect.BoundingRect( beforeRect );
-				refreshRect.BoundingRect( afterRect );
-				}
-			}
-    	const TInt highlightedItemIndex = iDrawer.Widget()->View()->CurrentItemIndex();
-    	if ( iLastNotedHighlight != highlightedItemIndex )
-    	    {
-            TRect highlightedItemRect(
-                    iDrawer.Widget()->View()->ItemPos( highlightedItemIndex ),
-                    iDrawer.Widget()->View()->ItemSize( highlightedItemIndex ) ); 
-            refreshRect.BoundingRect( highlightedItemRect );
-            iLastNotedHighlight = highlightedItemIndex;
-    	    }
-
-    	
-    	TInt currentVerticalOffset = static_cast<CMmWidgetContainer*>(
-    	        iDrawer.Widget()->Parent() )->VerticalItemOffset();
-
-    	if (iLastNotedTopItem != iDrawer.Widget()->TopItemIndex() ||
-    	        iLastNotedVerticalOffset != currentVerticalOffset )
-    		{
-    		iDrawer.Widget()->DrawNow();
-        	iLastNotedTopItem = iDrawer.Widget()->TopItemIndex();
-        	iLastNotedVerticalOffset = currentVerticalOffset;
-    		}
-    	else
-    		{
-			if ( refreshRect != TRect(0,0,0,0))
-				{
-				TRect prev(iPreviousRefreshRect);
-				iPreviousRefreshRect = refreshRect;
-				refreshRect.BoundingRect(prev);
-				
-	            // expand rect if non-touch
-	            refreshRect = TRect( AdjustRefreshRectToNonTouch( refreshRect ) );
-	            
-	            // never draw on the outside of widget's view rectangle
-	            refreshRect.Intersection( iDrawer.Widget()->View()->ViewRect() );
-	            
-				iDrawer.Widget()->View()->Draw( &refreshRect );
-				}
-    		}
-
-    	
-		iLastRedrawTime.HomeTime();
-    	
-    	}
-    
-		if (iDrawer.GetFloatingItemCount() > 0)
-			{
-			Trigger();
-			}
-		else
-			{
-			Cancel();
-			
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( iTransTfx && iTransTfxInternal->EffectsDisabled() )
-				{
-				iTransTfx->EnableEffects( ETrue );
-	
-				if ( iTransTfx )
-					{
-					iTransTfxInternal->Remove( MAknListBoxTfxInternal::EListEverything );
-					iDrawer.Widget()->DrawNow();
-					iTransTfxInternal->Draw( iDrawer.Widget()->Rect() );
-					}
-				}
-#endif
-			}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TRect CMmDrawerAnimator::AdjustRefreshRectToNonTouch( const TRect& aRefreshRect )
-    {
-    TRect rect( aRefreshRect );
-    if( !AknLayoutUtils::PenEnabled() )
-        {
-        TRect indicatorRect( iDrawer.GetIndicatorRect() );
-        TSize itemSize( iDrawer.GetItemSize(
-                iDrawer.Widget()->CurrentItemIndex(), ETrue ) );
-        
-        TInt horizontalMargin( ( indicatorRect.Width() - itemSize.iWidth ) / 2 );
-        TInt verticalMargin( ( indicatorRect.Height() - itemSize.iHeight ) / 2 );
-        rect.iBr.iX += horizontalMargin;
-        rect.iBr.iY += verticalMargin;
-        rect.iTl.iX -= horizontalMargin;
-        rect.iTl.iY -= verticalMargin;
-        }
-    return rect;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmDrawerAnimator::Trigger()
-    {
-	if ( iPreparedForGarbage )
-		{
-		return KErrCancel;
-		}
-	
-    if (!IsActive() && iDrawer.GetFloatingItemCount() > 0 )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-		iTransTfx = CAknListLoader::TfxApi( iDrawer.Gc() );
-		iTransTfxInternal = CAknListLoader::TfxApiInternal( 
-				iDrawer.Gc() );
-	
-		if ( iTransTfx && !iTransTfxInternal->EffectsDisabled() )
-			{
-			iTransTfx->EnableEffects( EFalse );
-			
-			if ( iTransTfxInternal )
-				{
-				iTransTfxInternal->Remove( MAknListBoxTfxInternal::EListEverything );
-				iTransTfxInternal->Draw( iDrawer.Widget()->Rect() );
-				}
-			}
-#endif
-    
-        iTimer.After(iStatus, TTimeIntervalMicroSeconds32( 
-        		MmEffects::KAnimationFrameDelay ) ); 
-        SetActive();
-        }
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmDrawerAnimator::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::AnimateDragItemTransitionL( )
-    {     
-    if (KErrNotFound != iDrawer.GetFloatingItemIndex(EDrag))
-        {
-        TMmFloatingItem floatingItem(
-                iDrawer.GetFloatingItemL(EDrag).GetDrawnItemIndex(), 
-                iDrawer.GetFloatingItemL(EDrag).GetItemPosition(), 
-                EDragTransition, iUsualAnimationFramesCount,
-                iDrawer.Widget()->View());
-        TPoint pointEnd = iDrawer.Widget()->View()->ItemPos( floatingItem.GetDrawnItemIndex() );
-        floatingItem.SetPositionStep( pointEnd - floatingItem.GetItemPosition() );
-        iDrawer.AddFloatingItemL( floatingItem, 0 );
-        iDrawer.RemoveFloatingItem( iDrawer.GetFloatingItemIndex(EDrag) );
-        }
-    }
-  
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmDrawerAnimator::IsReadyForNewAnimation()
-    {
-	if ( iPreparedForGarbage )
-		{
-		return EFalse;
-		}
-	
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItemType type 
-			= iDrawer.GetFloatingItemAtIndex(i).GetFloatingItemType();
-        if ( type != EDrag && type != EZoomTransition )
-            {
-            return EFalse;
-            }
-        }
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmDrawerAnimator::CancelAnimationsL()
-    {
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-        if (current.GetFloatingItemType() != EDrag)
-            {
-            current.InvalidateFloatingItem();
-            }
-        }
-    }
-
- // -----------------------------------------------------------------------------
- //
- // -----------------------------------------------------------------------------
- // 
-void CMmDrawerAnimator::AnimateItemSwapL( TInt aItemFrom, TInt aItemTo )
-    {
-    TMmFloatingItem floatingItem( aItemTo, 
-            iDrawer.Widget()->View()->ItemPos( aItemFrom ), 
-            ESwapTransition, iUsualAnimationFramesCount,
-            iDrawer.Widget()->View() );
-      
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-
-        if (current.GetFloatingItemType() == EZoomTransition 
-                && current.GetDrawnItemIndex() == aItemFrom )
-            {
-            current.InvalidateFloatingItem();
-            floatingItem.SetSizeStep( current.GetCurrentZoomRatio(), 1.0f );
-            break;
-            }
-        }
-
-    floatingItem.SetPositionStep( iDrawer.Widget()->View()->ItemPos(aItemTo)- 
-            iDrawer.Widget()->View()->ItemPos(aItemFrom) );
-    iDrawer.AddFloatingItemL(floatingItem);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::AnimateItemZoomL( TInt aItemIndex, TBool aZoomIn )
-    {
-    TMmFloatingItem floatingItem( aItemIndex,
-            iDrawer.Widget()->View()->ItemPos( aItemIndex ),
-            EZoomTransition, iUsualAnimationFramesCount,
-            iDrawer.Widget()->View() );
-    floatingItem.SetManualDelete( aZoomIn );
-    floatingItem.SetSizeStep(
-            (aZoomIn) ? KNormalStateZoomRatio : KZoomStateZoomRatio,
-            (aZoomIn) ? KZoomStateZoomRatio : KNormalStateZoomRatio );
-
-    TInt animationFound = EFalse;
-    for(int i=0; i< iDrawer.GetFloatingItemCount(); i++)
-        {
-        TMmFloatingItem& current = iDrawer.GetFloatingItemAtIndex(i);
-        if (current.GetFloatingItemType() == EZoomTransition &&
-                current.GetDrawnItemIndex() == aItemIndex )
-            {
-            current.InvalidateFloatingItem();
-            floatingItem.SetSizeStep( current.GetCurrentZoomRatio(),
-                    (aZoomIn) ? KZoomStateZoomRatio : KNormalStateZoomRatio);
-            animationFound = ETrue;
-            break;
-            }
-        }
-    
-    if ( (aZoomIn != EFalse || animationFound != EFalse) )
-        {
-        // This covers the situation, when a zoom out animation is requested
-        // whilst no zoom in occured earlier. In this case the request is 
-        // neglected.
-        iDrawer.AddFloatingItemL( floatingItem );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::SetNextRedrawToWholeScreen()
-	{
-	iPreviousRefreshRect = iDrawer.Widget()->View()->ViewRect();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmDrawerAnimator::PrepareForGarbage()
-	{
-//	Cancel any outstanding requests
-	Cancel();
-	iPreparedForGarbage = ETrue;
-	}
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmfloatingitem.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* 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:  floating item
-*
-*/
-
-#include <e32math.h>
-#include <eiklbv.h>
-#include "mmfloatingitem.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TMmFloatingItem::TMmFloatingItem( TInt aDrawnIndex, TPoint aStartPosition,
-        TMmFloatingItemType aType, TInt aAnimationFrames, CListBoxView* aView ) 
-    {
-    iView = aView;
-    iSizeStep = 0;
-    iZoomRatio = 1;
-    iManualDelete = EFalse;
-    
-    if ( iView )
-        {
-        // item position is relative
-        iItemPosition = aStartPosition - iView->ItemPos( 0 );
-        }
-    else
-        {
-        // item position is absolute
-        iItemPosition = aStartPosition;
-        }
-
-    iDrawnItemIndex = aDrawnIndex;
-    iType = aType;
-    iFrames = aAnimationFrames;
-    iFrameCounter = 0;
-    CalculateSteps(TPoint(0,0));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetPositionStep( TPoint aDiffetenceVector  )
-     {
-     ASSERT( iFrames );
-     iFrameCounter = 0;
-     CalculateSteps( aDiffetenceVector );
-     }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::CalculateSteps(TPoint aVector) 
-    {
-    iPositionStep.Reset();
-
-    TReal x = aVector.iX;
-    TReal y = aVector.iY;
-    
-    TReal sx = 0.0;
-    TReal sy = 0.0;
-    
-    for( TInt i = 0; i < iFrames; i++ )
-    	{
-    	TReal sin;
-    	Math::Sin( sin, (i+1) * KPi/iFrames + KPi * 3./2.  );
-    	TReal xx = x * (0.5*( sin + 1.0 ) ) - sx;
-    	TReal yy = y * (0.5*( sin + 1.0 ) ) - sy;
-    	
-    	sx += xx;
-    	sy += yy;
-    	
-    	iPositionStep.At(i) = TPoint( xx, yy );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetSizeStep( TReal aStartSize, TReal aFinalSize )
-    {
-    ASSERT( iFrames );
-    iFrameCounter = 0;
-    iZoomRatio = aStartSize;
-    iSizeStep = (aFinalSize - aStartSize) / iFrames;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//   
-TBool TMmFloatingItem::MakeStep() 
-    {
-    TBool ret(EFalse);
-    
-    if(iFrameCounter >= iFrames && iManualDelete == EFalse)
-        {
-        InvalidateFloatingItem();
-        }
-    else if (iFrameCounter < iFrames)
-        {
-        iItemPosition += iPositionStep[iFrameCounter];
-        iZoomRatio += iSizeStep;
-        ret = Abs(iPositionStep[iFrameCounter].iX) > 0 
-			|| Abs(iPositionStep[iFrameCounter].iY > 0)
-			|| Abs(iSizeStep) > 0;
-		iFrameCounter++;
-        }
-    
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void TMmFloatingItem::SetManualDelete(TBool aManual)
-    {
-    iManualDelete = aManual;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TReal TMmFloatingItem::GetCurrentZoomRatio() const
-    {
-    return iZoomRatio;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TMmFloatingItemType TMmFloatingItem::GetFloatingItemType() const
-    {
-    return iType;
-    }
-
-TInt TMmFloatingItem::GetDrawnItemIndex() const
-    {
-    return iDrawnItemIndex;
-    }
-
-TPoint TMmFloatingItem::GetItemPosition() const
-    {
-    TPoint ret;
-    if ( iView )
-        {
-        // item position is relative
-        ret = iItemPosition + iView->ItemPos( 0 );
-        }
-    else
-        {
-        // item position is absolute
-        ret = iItemPosition;
-        }
-    return ret;
-    }
-
-void TMmFloatingItem::InvalidateFloatingItem()
-    {
-    iDrawnItemIndex = KErrNotFound;
-    }
-
-TBool TMmFloatingItem::IsFloatingItemValid() const
-    {
-    return GetDrawnItemIndex() != KErrNotFound 
-		&& iType != EPostDragRefreshItem 
-		&& iType != EPostHighlightChangeRefreshItem;
-    }
-
-TBool TMmFloatingItem::IsManualDelete()
-    {
-    return iManualDelete;
-    }
-
-TInt TMmFloatingItem::GetZoomingStatus()
-    {
-    return iSizeStep;
-    }
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmgrid.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1098 +0,0 @@
-/*
-* 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:
-*  Version     : %version: MM_98 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include "mmgrid.h"
-#include "mmgridmodel.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmgridview.h"
-#include "mmtemplatelibrary.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetsconstants.h"
-#include "mmwidgetcontainer.h"
-#include "hnsuitemodel.h"
-#include "mmdraweranimator.h"
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid::CMmGrid()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid::~CMmGrid()
-    {
-    delete iRedrawTimer;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGrid::NewLC( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary)
-    {
-    CMmGrid* self = new (ELeave)CMmGrid();
-    CleanupStack::PushL(self);
-    self->ConstructL( aParent, aFlags, aTemplateLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGrid::NewL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmGrid* self = CMmGrid::NewLC( aParent, aFlags, aTemplateLibrary );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// If a parent to the supplied control has its Gc set, this function will find
-// it and return it. (Copied from EIKLBX.CPP, needed by CMmGrid::Draw)
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CWindowGc* ReplaceGcWithCustomGc( const CEikListBox* aListBox )
-    {
-    const CCoeControl* parent = aListBox;
-    CWindowGc* customGc;
-    while(parent)
-        {
-        customGc = parent->GetGc();
-        if ( customGc )
-            {
-            CListItemDrawer* itemDrawer = aListBox->View()->ItemDrawer();
-            CWindowGc* originalGc = itemDrawer->Gc();
-            if ( customGc == originalGc )
-                {
-                return NULL;
-                }
-            else
-                {
-                itemDrawer->SetGc( customGc );
-                return originalGc;
-                }
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::Draw(const TRect& aRect) const
-    {
-    if ( View()->RedrawDisabled () || !IsVisible () )
-        {
-        return;
-        }
-    iMmDrawer->SetNumberOfColsInView(
-            static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-
-    // If a parent has a custom gc, draw listbox using that gc
-    CWindowGc* replacedGc = ReplaceGcWithCustomGc( this );
-
-    CWindowGc* gc = iItemDrawer->Gc();
-    TGulBorder::TColors borderColors;
-    iBorder.Draw(*gc, Rect(), borderColors);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-            static_cast<CMmGridView*>(iView)->Gc() );
-    TBool effects = transApi && !transApi->EffectsDisabled();
-    if ( effects )
-        {
-        // ViewRect might have been moved to the right to prevent grid items
-        // from overlapping the scrollbar in mirrored layout.
-        // However, we still have to draw scrollbar background, thus the
-        // rectangle object passed to MAknListBoxTfxInternal::BeginRedraw must
-        // be placed at (0, 0) so that it covers the area where scrollbar is
-        // drawn.
-        TRect r( View()->ViewRect().Size() );
-        transApi->BeginRedraw( MAknListBoxTfxInternal::EListView, r );
-        transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    ClearMargins();
-    RedrawScrollbarBackground();
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( effects )
-        {
-        transApi->StopDrawing();
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-    iView->Draw(&aRect);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( effects )
-        {
-        transApi->EndViewRedraw( aRect );
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    if ( replacedGc )
-        {
-        // Stop using the custom gc
-        iItemDrawer->SetGc( replacedGc );
-        }
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DrawView()
-    {
-    iDisableChildComponentDrawing = ETrue;
-    DrawNow(Rect());
-    iDisableChildComponentDrawing = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::CreateItemDrawerL()
-    {
-    iItemDrawer = iMmDrawer;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CFormattedCellListBoxData* data=CFormattedCellGridData::NewL();
-    CleanupStack::PushL(data);
-
-    iMmDrawer = CMmListBoxItemDrawer::NewL(
-        MmModel()->MmListBoxModel(), iEikonEnv->NormalFont(), data, EGrid,
-        aTemplateLibrary );
-    iItemDrawer = iMmDrawer;
-    data->SetControl( this );
-    CleanupStack::Pop( data );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleScrollEventL( CEikScrollBar* aScrollBar,
-        TEikScrollEvent aEventType )
-    {
-    if ( aEventType == EEikScrollThumbDragVert && !iScrollbarThumbIsBeingDragged )
-        {
-        iScrollbarThumbIsBeingDragged = ETrue;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( ETrue );
-        iRedrawTimer->Start( KScrollingRedrawInterval, KScrollingRedrawInterval,
-                TCallBack( &CMmGrid::RedrawTimerCallback, static_cast<TAny*>( this ) ) );
-        }
-    else if ( aEventType == EEikScrollThumbReleaseVert )
-        {
-        iScrollbarThumbIsBeingDragged = EFalse;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( EFalse );
-        // The view will be redrawn with cache disabled when ProcessScrollEventL
-        // calls the base class's HandleScrollEventL method -- no need to
-        // explicitly redraw the view.
-        iRedrawTimer->Cancel();
-        }
-
-    if ( !iScrollbarThumbIsBeingDragged )
-        {
-        ProcessScrollEventL( aScrollBar, aEventType );
-        }
-    else
-        {
-        __ASSERT_DEBUG( aEventType == EEikScrollThumbDragVert, User::Invariant() );
-        ++iSkippedScrollbarEventsCount;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// Clearing ELeftDownInViewRect flag before invoking the base class
-// HandlePointerEventL method effectively prevents that method from doing most
-// of the things it would normally do in response to EButton1Down event.
-// This flag is explicitly cleared to achieve two things:
-// 1. Prevent kinetic scrolling (flick) in edit mode.
-// 2. Prevent highlight removal when popup menu is displayed.
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventInEditModeL( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        iButton1DownPos = aPointerEvent.iPosition;
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-        CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-        TPoint dragDelta = iButton1DownPos - aPointerEvent.iPosition;
-        if ( Abs( dragDelta.iY ) > KDragTreshold || parent->LongTapInProgress() )
-            {
-            iListBoxFlags &= ~ELeftDownInViewRect;
-            }
-        }
-
-    TInt itemUnderPointerIndex = KErrNotFound;
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-            aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        CAknGrid::HandlePointerEventL( aPointerEvent );
-        }
-    else if ( View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex ) )
-        {
-        if ( CurrentItemIndex() != itemUnderPointerIndex )
-            {
-            CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    		if ( parent->IsNoItemDragged() )
-    			{
-    			if ( ItemDrawer()->Flags() & CListItemDrawer::EPressedDownState )
-    				{
-    				ItemDrawer()->ClearFlags( CListItemDrawer::EPressedDownState );
-    				iView->DrawItem( CurrentItemIndex() );
-    				}
-    			}
-    		else
-    			{
-    			iView->SetCurrentItemIndex( itemUnderPointerIndex );
-				iView->DrawItem(itemUnderPointerIndex);
-    			}
-            }
-        }
-
-    HandleScrollingInEditMode( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventInNormalModeL( const TPointerEvent& aPointerEvent )
-    {
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-		{
-        const TInt KIgnoreRectSize = 40;
-        TRect ignoreDragRect(aPointerEvent.iPosition,
-                TSize(KIgnoreRectSize, KIgnoreRectSize));
-        ignoreDragRect.Move( - KIgnoreRectSize / 2, - KIgnoreRectSize / 2 );
-        Window().RequestPointerRepeatEvent( 50000, ignoreDragRect );
-		}
-    else if ( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        HandleButtonRepeatEventInNormalModeL( aPointerEvent );
-        }
-	CAknGrid::HandlePointerEventL(aPointerEvent);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleButtonRepeatEventInNormalModeL(
-        const TPointerEvent& aPointerEvent )
-    {
-    TInt itemUnderPointerIndex = KErrNotFound;
-    TBool itemFound = View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex );
-    if ( !itemFound )
-        {
-        return;
-        }
-
-    View()->ItemDrawer()->SetFlags( CListItemDrawer::EPressedDownState );
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    TBool highlightWasVisible = parent->IsHighlightVisible();
-
-    if( itemUnderPointerIndex == View()->CurrentItemIndex() )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                iMmDrawer->Gc() );
-         if ( transApi )
-             {
-             transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-             View()->DrawItem( itemUnderPointerIndex );
-             TRect itemUnderPointerIndexRect (
-                     View()->ItemPos(itemUnderPointerIndex),
-                     View()->ItemSize(itemUnderPointerIndex));
-             transApi->Draw( itemUnderPointerIndexRect );
-             }
-         else
-        	 {
-        	 View()->DrawItem( itemUnderPointerIndex );
-        	 }
-#else
-         View()->DrawItem( itemUnderPointerIndex );
-#endif
-        }
-     else
-        {
-        TInt previouslyHighlightedItemIndex = View()->CurrentItemIndex();
-        parent->SetManualHighlightL( itemUnderPointerIndex , EFalse );
-        if ( highlightWasVisible )
-            {
-            View()->DrawItem( previouslyHighlightedItemIndex );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleScrollingInEditMode( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EDrag
-            || aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        TInt nextScrollDelay = ScrollIfNeeded( aPointerEvent );
-        if ( nextScrollDelay )
-            {
-            TRect ignoreDragRect(
-                TPoint(aPointerEvent.iParentPosition.iX - MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY - MmEffects::KDragIgnoreRectValue),
-                TPoint(aPointerEvent.iParentPosition.iX + MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY + MmEffects::KDragIgnoreRectValue));
-
-            Window().CancelPointerRepeatEventRequest();
-            Window().RequestPointerRepeatEvent( nextScrollDelay, ignoreDragRect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt topScrollingTreshold = Rect().iTl.iY
-        + ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY < topScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt bottomScrollingTreshold = Rect().iBr.iY
-        - ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY > bottomScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ScrollWithoutRedraw( TInt distanceInPixels )
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( iView );
-    const TInt rowHeight = ItemHeight();
-    const TInt numOfCols = view->NumberOfColsInView();
-    const TInt itemCount = iModel->NumberOfItems();
-    TInt totalNumberOfRows = itemCount / numOfCols;
-    if ( itemCount % numOfCols )
-        {
-        ++totalNumberOfRows;
-        }
-    const TInt topItemRowIndex = TopItemIndex() / numOfCols;
-    
-    // desired view position relative to the first item in grid (always positive)
-    TInt desiredViewPosition = rowHeight * topItemRowIndex - VerticalItemOffset();
-    
-    desiredViewPosition += distanceInPixels;
-    
-    const TInt viewPositionMin = 0;
-    const TInt viewPositionMax = 
-		Max( 0, ( totalNumberOfRows * rowHeight ) - view->ViewRect().Height() );
-    
-    desiredViewPosition = Min( desiredViewPosition, viewPositionMax );
-    desiredViewPosition = Max( desiredViewPosition, viewPositionMin );
-   
-    ASSERT( desiredViewPosition >= 0 );
-    
-    TInt newTopItemIndex = ( desiredViewPosition / rowHeight ) * numOfCols;
-    TInt newVerticalOffset = -( desiredViewPosition % rowHeight ); 
-    SetTopItemIndex( newTopItemIndex );
-    SetVerticalItemOffset( newVerticalOffset );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::ScrollIfNeeded( const TPointerEvent& aPointerEvent )
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( View() );
-    TInt nextScrollDelay = 0;
-
-    TBool readyForScrolling = iMmDrawer->GetAnimator()->IsReadyForNewAnimation()
-		&& iMmDrawer->GetFloatingItemCount() != 0;
-
-	if ( IsPointerInTopScrollingThreshold( aPointerEvent ) )
-		{
-		// scroll up by one row
-		TInt newCurrentItemIndex = CurrentItemIndex() - view->NumberOfColsInView();
-        if ( newCurrentItemIndex < 0 )
-            {
-            newCurrentItemIndex = CurrentItemIndex();
-            }
-
-       nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-		   Max( 1, aPointerEvent.iPosition.iY - Rect().iTl.iY );
-
-		if ( readyForScrolling )
-			{
-			ScrollWithoutRedraw( -iItemHeight );
-			View()->SetCurrentItemIndex( newCurrentItemIndex );
-			}
-		}
-	else if ( IsPointerInBottomScrollingThreshold( aPointerEvent) )
-		{
-		TInt newCurrentItemIndex = CurrentItemIndex() + view->NumberOfColsInView();
-		if ( newCurrentItemIndex > iModel->NumberOfItems() - 1 )
-			{
-			newCurrentItemIndex = CurrentItemIndex();
-			}
-	
-		nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-			Max( 1, Rect().iBr.iY - aPointerEvent.iPosition.iY );
-
-		if ( readyForScrolling )
-			{
-			ScrollWithoutRedraw( iItemHeight );
-			View()->SetCurrentItemIndex( newCurrentItemIndex );
-			}
-		}
-
-    return nextScrollDelay;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-//    if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
-//            iMmDrawer->CachedDataUseIsEnabled() )
-//        {
-//        // Touching the screen stops flick but avkon does not send us
-//        // MEikListBoxObserver::EEventFlickStopped event in such case.
-//        // Thus this little hack:
-//        iMmDrawer->EnableCachedDataUse( EFalse );
-//        DrawView();
-//        }
-
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-    if ( parent->IsEditMode() )
-        {
-        HandlePointerEventInEditModeL( aPointerEvent );
-        }
-    else
-        {
-        HandlePointerEventInNormalModeL( aPointerEvent );
-        }
-
-    if ( iMmDrawer->GetFloatingItemCount() > 0 &&
-            iMmDrawer->GetAnimator()->IsActive() )
-        {
-        iMmDrawer->GetAnimator()->CancelNextRedrawL();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleOverridenHighlightDrawing( const TPointerEvent& aPointerEvent,
-        TInt aIndexBefore, TInt aIndexAfter )
-    {
-    // In grid our behaviour is a little different than defalt avkon.
-    // It is required to clean the highlight after the finger has been raised,
-    // and simulate the tap effect, when an item that has an invisible
-    // highlight is tapped again.
-    TBool effects (EFalse);
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                iMmDrawer->Gc() );
-        effects = transApi && !transApi->EffectsDisabled();
-#endif
-    if (effects)
-        {
-        CMmWidgetContainer* parent = static_cast< CMmWidgetContainer* > ( Parent() );
-        if ( aIndexBefore == aIndexAfter
-                && !parent->IsEditMode()
-                && aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            DrawItem( aIndexAfter );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                    iMmDrawer->Gc() );
-             if ( transApi )
-                 {
-                 transApi->SetMoveType( MAknListBoxTfxInternal::EListTap);
-                 transApi->Draw( Rect() );
-                 }
-#endif
-            }
-        else if ( aIndexBefore == aIndexAfter
-                && aPointerEvent.iType == TPointerEvent::EButton1Up
-                && !parent->IsHighlightVisible())
-            {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                    iMmDrawer->Gc() );
-             if ( transApi )
-                 {
-                 transApi->Draw( Rect() );
-                 }
-#endif
-            }
-        }
-
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::FixViewForMirroredLayout()
-    {
-    TInt scrollbarWidth = ScrollBarOffset() +
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width();
-    TRect r( View()->ViewRect() );
-    TInt currentShift = r.iTl.iX;
-    TBool scrollbarVisible = ScrollBarFrame()->VerticalScrollBar()->IsVisible();
-    TBool layoutMirrored = AknLayoutUtils::LayoutMirrored();
-
-    if ( layoutMirrored )
-        {
-        // Extra width, which results from the fact that it is not always
-        // possible to divide screen width by the number of columns without
-        // a non-zero remainder. This makes the distance of grid items from
-        // scrollbar in mirrored layout exactly the same as in normal layout.
-        scrollbarWidth += ( r.Width() - scrollbarWidth ) %
-            ( (CAknGridView*) View() )->NumberOfColsInView();
-        }
-
-    if ( layoutMirrored && scrollbarVisible && currentShift != scrollbarWidth )
-        {
-        // shift view rect to the right
-        r.Move( scrollbarWidth - currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    else if ( ( !layoutMirrored || !scrollbarVisible ) && currentShift != 0 )
-        {
-        // restore view rect to its normal position
-        r.Move( -currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ConstructL( const CCoeControl* aParent, TInt aFlags,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    iDisableChildComponentDrawing = EFalse;
-    iModel = iMmModel = CMmGridModel::NewL();
-    CreateItemDrawerL(aTemplateLibrary);
-    CAknGrid::ConstructL( aParent, aFlags );
-    iMmDrawer->SetView( this );
-
-    //set initial value so avkon does not panic
-    if ( Layout_Meta_Data::IsLandscapeOrientation() )
-        {
-        iViewLayout = TSize( MmGrid::K4By3LayoutX, MmGrid::K4By3LayoutY );
-        }
-    else
-        {
-        iViewLayout = TSize( MmGrid::K3By4LayoutX, MmGrid::K3By4LayoutY );
-        }
-
-    DoSetupLayoutL();
-    iRedrawTimer = CPeriodic::NewL( EPriorityRealTime );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CMmGrid::MakeViewClassInstanceL()
-    {
-    return CMmGridView::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridModel* CMmGrid::MmModel()
-    {
-    return iMmModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmGrid::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
-    {
-    TKeyEvent eventCopy( aKeyEvent );
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        if ( eventCopy.iCode == EKeyLeftArrow )
-            {
-            eventCopy.iCode = EKeyRightArrow;
-            }
-        else if ( eventCopy.iCode == EKeyRightArrow )
-            {
-            eventCopy.iCode = EKeyLeftArrow;
-            }
-        }
-    return CAknGrid::OfferKeyEventL( eventCopy, aType );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleViewRectSizeChangeL()
-    {
-    if ( !AknLayoutUtils::LayoutMirrored() )
-        {
-        CAknGrid::HandleViewRectSizeChangeL();
-        }
-    else
-        {
-        // for mirrored layout this function should do
-        // exactly the same things as CAknGrid::HandleViewRectSizeChangeL
-        // would do for normal layout
-        iView->CalcBottomItemIndex();
-        if ( CurrentItemIndex() >= 0 )
-            {
-            AdjustTopItemIndex();
-            iView->CalcDataWidth();
-            UpdateScrollBarsL();
-            iView->CalcBottomItemIndex();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::AdjustTopItemIndex() const
-    {
-    CAknGridView* view = static_cast<CAknGridView*>( iView );
-    const TInt numOfCols = view->NumberOfColsInView();
-    const TInt numOfRows = view->NumberOfRowsInView();
-    const TInt itemCount = iModel->NumberOfItems();
-
-    ASSERT( numOfCols > 0 );
-
-    TInt lastRow = 0;
-    if ( itemCount > 0 )
-        {
-        lastRow = ( itemCount - 1 ) / numOfCols;
-        }
-    TInt maxPossibleTopRow = Max( 0, lastRow - numOfRows + 1 );
-
-    TInt topRow = TopItemIndex() / numOfCols;
-
-    if ( !( TopItemIndex() % numOfCols == 0 &&
-         topRow <= maxPossibleTopRow ) )
-        {
-        topRow = Min( topRow, maxPossibleTopRow );
-        SetTopItemIndex( topRow * numOfCols );
-        }
-
-    // prevent problems with view being scrolled up beyond limits
-    if ( topRow == maxPossibleTopRow && VerticalItemOffset() < 0 )
-        {
-        TRAP_IGNORE(
-                ( ( CMmWidgetContainer* ) Parent() )->AlignBottomOfViewL() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoHandleResourceChangeL( TSize& aCellSize,
-        TSize& aViewLayout )
-    {
-    TBool cond = Layout_Meta_Data::IsLandscapeOrientation();
-    TRAPD( err, DoHandleResourceChangeL( cond, aCellSize, aViewLayout ) );
-    if ( err == KErrNotFound )
-        {
-        aViewLayout = iViewLayout;
-        aCellSize = TSize (1,1);
-        }
-    else if ( err == KErrNoMemory )
-        {
-        User::Leave( KErrNoMemory );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoHandleResourceChangeL( TBool aIsLandscape, TSize& aCellSize,
-        TSize& aViewLayout )
-    {
-    CHnSuiteModel* model = iMmModel->MmListBoxModel()->GetSuiteModel();
-    const TDesC8& templ = (model) ? model->GetTemplate() : KNullDesC8();
-    aCellSize = iMmDrawer->TemplateLibrary()->GetSize(
-        EGrid, templ, aIsLandscape, EFalse, iView->ViewRect() );
-    aViewLayout = iMmDrawer->TemplateLibrary()->GetLayoutSizeL(
-        EGrid, templ, aIsLandscape );
-    iViewLayout = aViewLayout;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetItemDrawerAndViewBgContext(
-        CAknsBasicBackgroundControlContext * aBgContext )
-    {
-    iMmDrawer->SetBgContext (aBgContext);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGrid::HandleScrollbarVisibilityChangeL()
-    {
-    TBool ret = EFalse;
-    if ( AllItemsFitInViewRect() )
-        {
-        if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-             || iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-            {
-            ScrollBarFrame()->VerticalScrollBar()->MakeVisible( EFalse );
-            iMmDrawer->SetScrollbarVisibilityL( EFalse );
-            SetTopItemIndex( 0 );
-            iCurrentTopItemIndex = 0;
-            ret = ETrue;
-            }
-        }
-    else if ( !ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-            || !iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-        {
-        ScrollBarFrame()->VerticalScrollBar()->MakeVisible( ETrue );
-        iMmDrawer->SetScrollbarVisibilityL( ETrue );
-        ret = ETrue;
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmGrid::AllItemsFitInViewRect()
-    {
-    if ( iMmModel->NumberOfItems() <= iViewLayout.iWidth * iViewLayout.iHeight
-            || iViewLayout == TSize(0,0) )
-        {
-        return ETrue;
-        }
-    else
-        {
-        return EFalse;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::UpdateScrollBarsL()
-    {
-    TBool visibilityChanged = HandleScrollbarVisibilityChangeL();
-    if (ScrollBarFrame()->VerticalScrollBar()->IsVisible())
-        {
-        CAknGrid::UpdateScrollBarsL();
-        }
-    iCurrentTopItemIndex = TopItemIndex();
-    iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width() + ScrollBarOffset() );
-    FixViewForMirroredLayout();
-    if ( visibilityChanged )
-        {
-        CMmGridView* view = static_cast<CMmGridView*>( iView );
-        view->UpdateItemHeightAndWidth();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-    {
-    iMarqueeAdapter = aAdapter;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetupLayout()
-    {
-    TRAP_IGNORE( DoSetupLayoutL() );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::DoSetupLayoutL()
-    {
-    TSize cellSize;
-    TSize viewLayout;
-    DoHandleResourceChangeL( cellSize, viewLayout );
-//  The mirrored layout arabic item lineout ( right to left )
-//  is handled by CMmGridView::ItemPos( TInt aItemIndex )
-//  and CMmGridView::XYPosToItemIndex( TPoint aPosition, TInt& aItemIndex )
-    SetLayoutL( EFalse, ETrue /*!AknLayoutUtils::LayoutMirrored()*/, ETrue, viewLayout.iWidth,
-        viewLayout.iHeight, cellSize, 0, 0 );
-    iMmDrawer->SetNumberOfColsInView(
-            static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-    // setting the top item index when changing orientation
-    TInt cols( static_cast<CMmGridView*>(iView)->NumberOfColsInView() );
-    SetTopItemIndex( ( (TInt) ( iCurrentTopItemIndex / cols ) ) * cols );
-    UpdateScrollBarsL();
-    AknsUtils::RegisterControlPosition( iMmDrawer->FormattedCellData()->Control() );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::ScrollBarOffset()
-    {
-    TInt offset = 0;
-    if ( ScrollBarFrame()->ScrollBarExists( CEikScrollBar::EVertical ) )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            offset = ScrollBarFrame()->VerticalScrollBar()->Position().iX;
-            }
-        else
-            {
-            offset = View()->ViewRect().Width()
-                    - ( ScrollBarFrame()->VerticalScrollBar()->Position().iX
-                        + ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-            }
-        }
-    return offset;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::RedrawScrollbarBackground() const
-    {
-    TRect viewRect( View()->ViewRect() );
-    if ( viewRect.iTl.iX > 0 )
-        {
-        TRect scrollbarRect( TPoint( 0, 0 ),
-                TSize( viewRect.iTl.iX, viewRect.Height() ) );
-
-        CWindowGc* gc = iItemDrawer->Gc();
-        CMmListBoxItemDrawer* itemDrawer =
-                static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-        CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( control );
-        if( gc )
-            {
-            if ( control )
-                {
-                AknsDrawUtils::Background( skin, cc, control, *gc, scrollbarRect );
-                }
-            else
-                {
-                gc->SetBrushColor( BackColor() );
-                gc->Clear( scrollbarRect );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    CAknGrid::HandleScrollEventL( aScrollBar, aEventType );
-    iCurrentTopItemIndex = TopItemIndex();
-
-    // setting default highligh in order not to overwrite the top item index
-    // set before in the SetLayout method
-    CMmWidgetContainer* parent = static_cast< CMmWidgetContainer* > ( Parent() );
-    if (!parent->IsHighlightVisible())
-         {
-         parent->SetDefaultHighlightL( EFalse );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-         MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-                 static_cast<CMmGridView*>(iView)->Gc() );
-         TBool effects = transApi && !transApi->EffectsDisabled();
-         if ( effects && aEventType == EEikScrollPageUp ||
-                 aEventType == EEikScrollPageDown )
-             {
-             DrawNow();
-             }
-#endif
-
-         }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::HandleRedrawTimerEvent()
-    {
-    if ( iSkippedScrollbarEventsCount )
-        {
-        ProcessScrollEventL( ScrollBarFrame()->VerticalScrollBar(),
-                EEikScrollThumbDragVert );
-        }
-    iSkippedScrollbarEventsCount = 0;
-    }
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::RedrawTimerCallback( TAny* aPtr )
-    {
-    CMmGrid* self = static_cast<CMmGrid*>( aPtr );
-    self->HandleRedrawTimerEvent();
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetVerticalItemOffset(TInt aOffset)
-	{
-	static_cast<CMmGridView*> (View())->SetItemOffsetInPixels(aOffset);
-	UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::VerticalItemOffset() const
-	{
-	return static_cast<CMmGridView*> (View())->VerticalItemOffset();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetItemHeight( TInt aItemHeight )
-	{
-	iItemHeight = aItemHeight;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::UpdateScrollBarThumbs()
-	{
-	CAknGrid::UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGrid::CountComponentControls() const
-    {
-    TInt componentControls(0);
-    if ( !iDisableChildComponentDrawing )
-    	{
-        componentControls = CAknGrid::CountComponentControls();
-    	}
-    return componentControls;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGrid::SetDisableChildComponentDrawing( TBool aDisable )
-    {
-    iDisableChildComponentDrawing = aDisable;
-    }
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,406 +0,0 @@
-/*
-* 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:
-*  Version     : %version: MM_74 % << Don't touch! Updated by Synergy at check-out.
-*  Version     : %version: MM_74 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include "mmgridcontainer.h"
-#include "mmgridmodel.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include <layoutmetadata.cdl.h>
-#include "hnsuitemodel.h"
-#include "mmgrid.h"
-#include "mmwidgetsconstants.h"
-#include "hnglobals.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmdraweranimator.h"
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer* CMmGridContainer::NewLC( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    CMmGridContainer* self = new( ELeave ) CMmGridContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aObjectProvider, aLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer* CMmGridContainer::NewL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    CMmGridContainer* self = NewLC( aRect, aObjectProvider, aLibrary);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::CMmGridContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer::CMmGridContainer()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CAknGrid* CMmGridContainer::Grid()
-    {
-    return iGrid;
-    }
-// -----------------------------------------------------------------------------
-// CMmGridContainer::~CMmGridContainer()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMmGridContainer::~CMmGridContainer()
-    {
-    delete iGrid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-THnSuiteWidgetType CMmGridContainer::WidgetType()
-	{
-	return EGridWidget;
-	}
-// -----------------------------------------------------------------------------
-// CMmGridContainer::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
-        CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmWidgetContainer::ConstructL();
-
-    SetMopParent( aObjectProvider );
-    CreateWindowL(); // Creates window.
-    iWidget = CreateGridL(aTemplateLibrary);
-    iWidget->SetListBoxObserver( this );
-    SetRect( aRect ); // Sets rectangle of frame.
-    ActivateL(); // Activates window. ( Ready to draw )
-    SetupDrawer();
-    SetHighlightVisibilityL( !AknLayoutUtils::PenEnabled() );
-    iPostProcessor = CMmPostEvaluationProcessor::NewL( *iDrawer );
-    }
-
-// -----------------------------------------------------------------------------
-// CMmGridContainer::CreateGridL()
-// Constructs listbox from resource, creates scroll bar and sets empty
-// list background text.
-// -----------------------------------------------------------------------------
-//
-CMmGrid* CMmGridContainer::CreateGridL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    iGrid = CMmGrid::NewL( this,
-    		EAknListBoxSelectionList | EAknListBoxLoopScrolling | EAknListBoxDisableHighlight , aTemplateLibrary );
-    iGrid->SetContainerWindowL( *this );
-    iGrid->CreateScrollBarFrameL( ETrue );
-    iGrid->SetPrimaryScrollingType(
-    			CAknGridView::EScrollFollowsItemsAndLoops );
-    iGrid->SetSecondaryScrollingType(
-    			CAknGridView::EScrollFollowsGrid );
-    iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
-    		CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );
-    iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-    return iGrid;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SizeChanged()
-    {
-    CMmWidgetContainer::SizeChanged();
-    if ( iGrid )
-    	{
-//    	iGrid->SetRect( Rect() );
-        iGrid->SetupLayout();
-        }
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetEditModeL( TBool aIsEditMode )
-    {
-	if (aIsEditMode && !AknLayoutUtils::PenEnabled() )
-		{
-		iGrid->SetPrimaryScrollingType(
-				CAknGridView::EScrollStops );
-		iGrid->SetSecondaryScrollingType(
-				CAknGridView::EScrollStops );
-        }
-    else
-    	{
-    	iGrid->SetPrimaryScrollingType(
-    	    			CAknGridView::EScrollFollowsItemsAndLoops );
-    	iGrid->SetSecondaryScrollingType(
-    	    			CAknGridView::EScrollFollowsGrid );
-
-    	}
-
-	// In EditMode we allow Avkon to redraw scrollbar background
-	// to prevent scrollbar flicking.
-	// When edit mode is disabled, this redrawing causes performance problems
-	// (and disabling it does not produce erroneous side-effects).
-	if( aIsEditMode )
-		{
-	    iGrid->ScrollBarFrame()->DrawBackground( EFalse, ETrue );
-		}
-	else
-		{
-	    iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-		}
-
-    CMmWidgetContainer::SetEditModeL( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmGridContainer::SetEmptyTextL(const TDesC& aText)
-    {
-    iGrid->SetEmptyGridTextL( aText );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmGridContainer::SetDefaultHighlightL(  TBool aRedraw )
-    {
-    TInt defaultHighlight( 0 );
-    SetManualHighlightL( defaultHighlight + DefaultHighlightOffset(), aRedraw );
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridContainer::DefaultHighlightOffset()
-	{
-	TInt topVisibleItemIndex = iGrid->View()->TopItemIndex();
-	TInt hiddenPixels = -iGrid->View()->ItemOffsetInPixels();
-
-	if ( iGrid->View()->ItemIsPartiallyVisible( topVisibleItemIndex )
-		&& hiddenPixels > iGrid->View()->ItemSize().iHeight / 2 )
-		{
-		topVisibleItemIndex += ColumnsInCurrentView();
-		}
-
-	return topVisibleItemIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxModel* CMmGridContainer::GetMmModel()
-    {
-    return iGrid->MmModel()->MmListBoxModel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetItemDrawerAndViewBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iGrid->SetItemDrawerAndViewBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetupWidgetLayoutL()
-	{
-	User::LeaveIfNull( iGrid );
-	iGrid->SetupLayout();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetSuiteModelL( CHnSuiteModel* aModel )
-    {
-    CMmWidgetContainer::SetSuiteModelL( aModel );
-    if ( aModel )
-        {
-        aModel->SetActiveL( !AknLayoutUtils::PenEnabled() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetHighlightVisibilityL( TBool aVisible )
-    {
-    CMmWidgetContainer::SetHighlightVisibilityL( aVisible );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::HandleItemAdditionL()
-	{
-	iGrid->HandleItemAdditionL();
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::HandleItemRemovalL()
-	{
-
-	GetMmModel()->HandleSuiteEventL( ESuiteItemsRemoved, GetMmModel()->GetSuiteModel() );
-	ValidateWidgetCurrentItemIndex();
-	iDrawer->RemoveFloatingItems();
-	if( IsEditMode() )
-		{
-		iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-		}
-
-	CacheWidgetPosition();
-	iGrid->HandleItemRemovalL();
-	RestoreWidgetPosition();
-	CacheWidgetPosition();
-
-	if ( iCurrentHighlight != iGrid->CurrentItemIndex() )
-		{
-		iCurrentHighlight = iGrid->CurrentItemIndex();
-		if( !iCurrentHighlight && !iGrid->Model()->NumberOfItems() )
-			{
-			iCurrentHighlight = KErrNotFound ;
-			}
-		CHnSuiteModel* suiteModel = GetSuiteModelL();
-		if ( suiteModel )
-		    {
-		    suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-		    }
-		}
-	static_cast<CMmListBoxItemDrawer*>( iGrid->ItemDrawer() )->TrimCacheSize(
-            GetMmModel()->NumberOfItems() );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmGridContainer::ColumnsInCurrentView()
-	{
-	CAknGridView* view ( (CAknGridView*) iGrid->View() );
-	return view->NumberOfColsInView();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmGridContainer::RowsInCurrentView()
-    {
-    CAknGridView* view ( (CAknGridView*) iGrid->View() );
-    return view->NumberOfRowsInView();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::DrawView()
-    {
-    iGrid->DrawView();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridContainer::SetVerticalItemOffset( TInt aOffset )
-	{
-	iGrid->SetVerticalItemOffset( aOffset );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridContainer::VerticalItemOffset() const
-	{
-	return iGrid->VerticalItemOffset();
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmGridContainer::UpdateViewScrollBarThumbs()
-	{
-	iGrid->UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGridContainer::ItemIsVisible( TInt aItemIndex ) const
-    {
-    CListBoxView* v = iGrid->View();
-    TRect itemRect( v->ItemPos( aItemIndex ), v->ItemSize( aItemIndex ) );
-    TRect viewRect = v->ViewRect();
-    TBool isVisible = EFalse;
-    if ( itemRect.Intersects( viewRect ) )
-        {
-        TRect intersection = itemRect;
-        intersection.Intersection( viewRect );
-        isVisible = intersection.Height() > 1 && intersection.Width() > 1;
-        }
-    return isVisible;
-    }
-
-// End of File
-
--- a/menufw/menufwui/mmwidgets/src/mmgridmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-#include "mmgridmodel.h"
-#include "mmlistboxmodel.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel::CMmGridModel()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel::~CMmGridModel()
-    {
-    delete iMmListBoxModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel* CMmGridModel::NewLC()
-    {
-    CMmGridModel* self = new (ELeave)CMmGridModel();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmGridModel* CMmGridModel::NewL()
-    {
-    CMmGridModel* self = CMmGridModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//      
-TInt CMmGridModel::NumberOfItems() const
-    {
-    return CAknGridM::NumberOfItems();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmGridModel::ConstructL()
-    {
-    iMmListBoxModel = CMmListBoxModel::NewL();
-    delete iItemTextArray;
-    iItemTextArray = iMmListBoxModel->ItemTextArray();
-    SetOwnershipType(ELbmDoesNotOwnItemArray);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmGridModel::ConstructL(MDesCArray* /*aItemTextArray*/, 
-		TListBoxModelItemArrayOwnership /*aOwnershipType*/)
-    {
-    //do not delete this is needed to cheat AVKON
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmGridModel::MmListBoxModel()
-    {
-    return iMmListBoxModel;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmgridview.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <eikfrlbd.h>
-
-#include "mmgridview.h"
-#include "mmgrid.h"
-#include "mmlistboxitemdrawer.h"
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView::CMmGridView() :
-    iLastCurMove( ECursorFirstItem ), iOldIndex( KErrNotFound )
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView::~CMmGridView()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView* CMmGridView::NewLC()
-    {
-    CMmGridView* self = new (ELeave)CMmGridView();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmGridView* CMmGridView::NewL()
-    {
-    CMmGridView* self = CMmGridView::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::ConstructL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmGridView::ItemPos( TInt aItemIndex ) const
-    {
-    if ( aItemIndex < 0 )
-        {
-        // let avkon handle the insane cases
-        return CAknGridView::ItemPos( aItemIndex );
-        }
-
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        const TInt colNum = NumberOfColsInView();
-        TInt itemCol = aItemIndex % colNum;
-        TInt mirroredItemCol = colNum - itemCol - 1;
-        aItemIndex = aItemIndex - itemCol + mirroredItemCol;
-        }
-    
-    // return CAknGridView::ItemPos( aItemIndex );
-    return CorrectItemPos( aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmGridView::CorrectItemPos( TInt aItemIndex ) const
-    {
-    // it the assertion below fails, review this implementation to make sure that
-    // primary vertical case is handled correctly
-    ASSERT( !IsPrimaryVertical() );
-    
-    ASSERT( aItemIndex >= 0 );
-    const TInt colNum = NumberOfColsInView();
-    TInt itemRow = aItemIndex / colNum;
-    TInt itemCol = aItemIndex % colNum;
-    
-    TInt topItemRow = TopItemIndex() / colNum;
-//    __ASSERT_DEBUG( TopItemIndex() % colNum == 0, User::Invariant() );
-    
-    // it is safe to assume that size between items is (0, 0) because we
-    // explicitly set such value in CMmGrid::DoSetupLayoutL
-    const TSize sizeBetweenItems( 0, 0 );
-    
-    TPoint itemPos(
-        iViewRect.iTl.iX + itemCol *
-            ( ColumnWidth() + sizeBetweenItems.iWidth ),
-        iViewRect.iTl.iY + (itemRow - topItemRow) *
-            ( iItemHeight + sizeBetweenItems.iHeight ) + iVerticalOffset );
-
-    return itemPos;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmGridView::XYPosToItemIndex( TPoint aPosition, TInt& aItemIndex ) const
-    {
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        aPosition.iX = iViewRect.Width() - ( aPosition.iX - iViewRect.iTl.iX );
-        }
-    return CAknGridView::XYPosToItemIndex( aPosition, aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CWindowGc* CMmGridView::Gc()
-    {
-    return iGc;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::MoveCursorL( TCursorMovement aCursorMovement,
-        TSelectionMode aSelectionMode )
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    iLastCurMove = aCursorMovement;
-    iOldIndex = iCurrentItemIndex;
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    CAknGridView::MoveCursorL( aCursorMovement, aSelectionMode );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    iLastCurMove = ECursorFirstItem;
-    iOldIndex = KErrNotFound;
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::UpdateSelectionL( TSelectionMode aSelectionMode )
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        MAknListBoxTfxInternal* api = CAknListLoader::TfxApiInternal( Gc() );
-        TInt row( 0 );
-        TInt col( 0 );
-        TInt newRow( 0 );
-        TInt newCol( 0 );
-        LogicalPosFromListBoxIndex( iOldIndex, row, col );
-        LogicalPosFromListBoxIndex( iCurrentItemIndex, newRow, newCol );
-        if ( api )
-            {
-            if ( iLastCurMove == CAknGridView::ECursorNextColumn )
-                {
-                if ( newCol < col || newRow != row )
-                    api->SetMoveType( MAknListBoxTfxInternal::EListNoMovement );
-                }
-            else if ( iLastCurMove == CAknGridView::ECursorPreviousColumn )
-                {
-                if ( newCol > col || newRow != row )
-                    api->SetMoveType( MAknListBoxTfxInternal::EListNoMovement );
-                }
-            }
-        }
-#endif // RD_UI_TRANSITION_EFFECTS_LIST
-
-    CAknGridView::UpdateSelectionL( aSelectionMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::Draw(const TRect* aClipRect) const
-    {
-    const_cast<CMmGridView*>( this )->UpdateItemHeightAndWidth();
-    DoDraw( aClipRect );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::DoDraw(const TRect* aClipRect) const
-    {
-    CMmListBoxItemDrawer* itemDrawer = static_cast< CMmListBoxItemDrawer*> ( ItemDrawer() );
-    TBool drawingInitiated(EFalse);
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && iWin->GetDrawRect() == TRect::EUninitialized )
-    	{
-    	TRect a;
-    	if (!aClipRect || *aClipRect == TRect(0,0,0,0) )
-    		{
-    		a = ViewRect();
-    		aClipRect = &a;
-    		}
-
-    	drawingInitiated=ETrue;
-		iWin->Invalidate( *aClipRect );
-		iWin->BeginRedraw( *aClipRect );
-    	}
-    CAknGridView::Draw( aClipRect );
-
-	if ( aClipRect )
-	    {
-    	TRect rect(*aClipRect);
-    	TInt lastItemInView = (iModel->NumberOfItems() <= BottomItemIndex() )
-    	    ? iModel->NumberOfItems()-1 : BottomItemIndex();
-    	rect.iTl.iY = ItemPos( lastItemInView ).iY + ItemSize( lastItemInView ).iHeight;
-//      iGc->SetClippingRect( rect );
-//		removed to prevent non-redraw drawing. Was present to prevent out of view drawing when effects are on.
-//      could be removed because effects were disabled at some point in edit mode to enhance performance.
-    	itemDrawer->DrawFloatingItems( rect );
-//      iGc->CancelClippingRect();
-	    }
-
-//    if (aClipRect)
-//    	{
-//    	const_cast< CMmGridView* >(this)->Gc()->DrawRect(*aClipRect);
-//    	}
-
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && drawingInitiated )
-    	{
-    	drawingInitiated = EFalse;
-    	iWin->EndRedraw( );
-    	}
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridView::VerticalItemOffset() const
-	{
-	return iVerticalOffset;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::SetItemHeight(TInt aItemHeight)
-	{
-	//	we need to update the iItemHeight member in grid also (there are two different item height value holders - in grid and here in grid view)
-	CMmListBoxItemDrawer* itemDrawer =
-	        STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-	static_cast<CMmGrid*>(itemDrawer->Widget())->SetItemHeight( aItemHeight );
-	
-	CAknGridView::SetItemHeight(aItemHeight);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmGridView::UpdateItemHeightAndWidth()
-    {
-    if ( iModel && iModel->NumberOfItems() )
-        {
-        CMmListBoxItemDrawer* itemDrawer =
-                STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-        TSize size = itemDrawer->GetItemSize( 0, EFalse );
-        if ( itemDrawer->ItemCellSize() != size  )
-            {
-            const_cast<CMmGridView*>( this )->SetItemHeight( size.iHeight );
-            const_cast<CMmGridView*>( this )->SetColumnWidth( size.iWidth );
-            }
-        }
-    }
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmitemsdatacache.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* 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:
-* Version     : 2 << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-#include "mmitemsdatacache.h"
-#include "mmcacheforitem.h"
-
-const TInt KItemCacheArrGranularity = 20;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache* CMmItemsDataCache::NewLC()
-    {
-    CMmItemsDataCache* self = new (ELeave) CMmItemsDataCache();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache* CMmItemsDataCache::NewL()
-    {
-    CMmItemsDataCache* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmCacheForItem* CMmItemsDataCache::GetItemCacheL( TInt aItemIndex )
-    {
-    ASSERT( aItemIndex >= 0 );
-    while ( iItemCacheArr.Count() <= aItemIndex )
-        {
-        CMmCacheForItem* cacheForItem = CMmCacheForItem::NewLC( *this );
-        iItemCacheArr.AppendL( cacheForItem );
-        CleanupStack::Pop( cacheForItem );
-        }
-    return iItemCacheArr[aItemIndex];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmItemsDataCache::GetTemplateIdentifierL( const TDesC8& aTemplateName )
-    {
-    TInt identifier = KErrNotFound;
-    
-    // this looks very primitive, but RPointerArray::FindL just compares pointers
-    // so I guess there is no other way
-    TInt templateCount = iTemplateNames.Count();
-    for ( TInt i = 0; i < templateCount; ++i )
-        {
-        if ( iTemplateNames[i]->Compare( aTemplateName ) == 0 )
-            {
-            identifier = i;
-            break;
-            }
-        }
-    
-    if ( identifier == KErrNotFound )
-        {
-        HBufC8* templateNameCopy = HBufC8::NewLC( aTemplateName.Length() );
-        templateNameCopy->Des().Copy( aTemplateName );
-        iTemplateNames.AppendL( templateNameCopy );
-        CleanupStack::Pop( templateNameCopy );
-        identifier = iTemplateNames.Count() - 1;
-        }
-    return identifier;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC8& CMmItemsDataCache::GetTemplateNameByIdentifier(
-        TInt aTemplateIdentifier ) const
-    {
-    return *( iTemplateNames[aTemplateIdentifier] );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::Invalidate()
-    {
-    const TInt count = iItemCacheArr.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        iItemCacheArr[i]->SetValidL( EFalse );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::Trim( TInt aItemCount )
-    {
-    __ASSERT_ALWAYS( aItemCount >= 0, User::Invariant() );
-    for ( TInt i = iItemCacheArr.Count() - 1; i >= aItemCount; --i )
-        {
-        CMmCacheForItem* cache = iItemCacheArr[i];
-        iItemCacheArr.Remove( i );
-        delete cache;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache::~CMmItemsDataCache()
-    {
-    iItemCacheArr.ResetAndDestroy();
-    iItemCacheArr.Close();
-    iTemplateNames.ResetAndDestroy();
-    iTemplateNames.Close();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmItemsDataCache::CMmItemsDataCache()
-    : iItemCacheArr( KItemCacheArrGranularity )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmItemsDataCache::ConstructL()
-    {
-    }
--- a/menufw/menufwui/mmwidgets/src/mmlctutils.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,337 +0,0 @@
-/*
-* 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:  highlight control class
-*
-*/
-
-
-#include "mmlctutils.h"
-#include "mmtemplatelibrary.h"
-#include "mmwidgetsconstants.h"
-#include <aknlayoutscalable_uiaccel.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknUtils.h>
-#include <AknFontId.h>
-#include <AknLayoutFont.h>
-#include <AknDef.hrh>
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknWindowComponentLayout MmLCTUtils::ItemLayout( const TDesC8& aLayout, TInt aVariety )
-	{
-    if ( !aLayout.Compare(KListSingleLargeGraphicPane8))
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane(0, 0, 0);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoublePane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistSinglePane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAagridCellImagePane8))
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane(aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KCellHcAppsPane8))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KCellAppPane8))
-    	{
-    	return AknLayoutScalable_Avkon::cell_app_pane( aVariety, 0, 0 );
-        }
-    else if ( !aLayout.Compare(KListSingleHcAppsPane8))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane( 0, aVariety );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknWindowComponentLayout();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknTextComponentLayout MmLCTUtils::TextLayout( const TDesC8& aLayout, TInt aVariety )
-    {
-    if ( aLayout.Compare(KUiaccelAalistSinglePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneT28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_t2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneT28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_t2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneT18) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_t1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneT18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_t1(aVariety);
-        }
-    else if ( !aLayout.Compare(KCellHcAppsPaneT18))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_t1( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KListSingleHcAppsPaneT18))
-		{
-		return AknLayoutScalable_Avkon::list_single_hc_apps_pane_t1( aVariety );
-		}
-    else if ( !aLayout.Compare(KCellAppsPaneT18))
-		{
-		return AknLayoutScalable_Avkon::cell_app_pane_t1( aVariety, 0, 0 );
-		}
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknTextComponentLayout();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknWindowComponentLayout MmLCTUtils::GraphicLayout( const TDesC8& aLayout, TInt aVariety )
-    {
-    if ( aLayout.Compare(KUiaccelAalistSinglePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistSinglePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_single_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG1) == 0 )
-        {
-	    return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g1(aVariety);
-	    }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG38) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g3(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAalistDoublePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane(aVariety, 0,0);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG18) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG2Cp28) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g2_cp2(aVariety);
-        }
-    else if ( aLayout.Compare(KlistSingleLargeGraphicPaneG4Cp28) == 0 )
-        {
-        return AknLayoutScalable_Avkon::list_single_large_graphic_pane_g4_cp2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG18) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g1(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG28) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g2(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG38) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g3(aVariety);
-        }
-    else if ( aLayout.Compare(KUiaccelAagridCellImagePaneG48) == 0 )
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane_g4(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAagridCellImagePane8))
-        {
-        return AknLayoutScalable_UiAccel::aagrid_cell_image_pane(aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPane8))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG68))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g6(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistDoubleGraphicPaneG78))
-        {
-        return AknLayoutScalable_UiAccel::aalist_double_graphic_pane_g7(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPaneG18))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane_g1(aVariety);
-        }
-    else if ( !aLayout.Compare(KUiaccelAalistGeneAdPaneG18))
-        {
-        return AknLayoutScalable_UiAccel::aalist_gene_ad_pane_g1(aVariety);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g1( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g2( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KCellHcAppsPaneG38))
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_g3( aVariety, 0, 0);
-        }
-    else if ( !aLayout.Compare( KListSingleHcAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane_g1( aVariety );
-        }
-    else if ( !aLayout.Compare( KListSingleHcAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::list_single_hc_apps_pane_g2( aVariety );
-        }
-    else if ( !aLayout.Compare( KCellAppsPaneG18))
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_g1( aVariety, 0, 0 );
-        }
-    else if ( !aLayout.Compare( KCellAppsPaneG28))
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_g2( aVariety, 0, 0 );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknWindowComponentLayout();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TAknLayoutScalableParameterLimits MmLCTUtils::LCTParameterLimits( const TDesC8& aLayout, TInt aVariety )
-	{
-    if ( aLayout.Compare(KCellHcAppsPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::cell_hc_apps_pane_ParamLimits( aVariety );
-        }
-    else if ( aLayout.Compare(KCellAppPane8) == 0 )
-        {
-        return AknLayoutScalable_Avkon::cell_app_pane_ParamLimits( aVariety );
-        }
-    else
-        {
-        User::Panic(KMLID, -1);
-        }
-    return TAknLayoutScalableParameterLimits();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void MmLCTUtils::SetupTextSubCellTemplate( TSize aItemSize,
-                              TTemplateChild& aSubCellTemplate )
-    {
-    TAknTextComponentLayout textLayout = TextLayout( aSubCellTemplate.iLct, aSubCellTemplate.iVariety);
-    TAknTextLineLayout textlineLayout = textLayout.LayoutLine();
-    TAknLayoutText t;
-    t.LayoutText( aItemSize, textlineLayout );
-    aSubCellTemplate.iTextAlign = AknLayoutUtils::TextAlignFromId( textlineLayout.iJ );
-    aSubCellTemplate.iRectAccordingToParent = t.TextRect();
-    aSubCellTemplate.iFontId =  (TAknLogicalFontId)textlineLayout.FontId();
-    aSubCellTemplate.iIsImage = EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void MmLCTUtils::SetupGraphicSubCellTemplate( TSize aItemSize,
-                              TTemplateChild& aSubCellTemplate )
-    {
-    TAknWindowComponentLayout graphicLayout = GraphicLayout (
-			aSubCellTemplate.iLct, aSubCellTemplate.iVariety);
-	TAknLayoutRect r;
-    r.LayoutRect( aItemSize, graphicLayout.LayoutLine() );
-    aSubCellTemplate.iTextAlign = CGraphicsContext::ECenter ;
-    aSubCellTemplate.iRectAccordingToParent = r.Rect();
-    aSubCellTemplate.iIsImage = ETrue;
-    aSubCellTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize MmLCTUtils::GetLCTSize (const TDesC8& aLCTTemplate, TInt aVariety,
-		const TRect aParentRect, TAknWindowLineLayout& aWindowLayout)
-	{
-    aWindowLayout = MmLCTUtils::ItemLayout( aLCTTemplate, aVariety);
-    TAknLayoutRect layRect;
-    layRect.LayoutRect(aParentRect, aWindowLayout);
-    return layRect.Rect().Size();
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize MmLCTUtils::GetLayoutSize( const TDesC8& aLCTTemplate, TInt aVariety )
-	{
-    TInt cols(0);
-    TInt rows(0);
-    cols = MmLCTUtils::LCTParameterLimits( aLCTTemplate, aVariety ).LastColumn() + 1;
-    rows = MmLCTUtils::LCTParameterLimits( aLCTTemplate, aVariety ).LastRow() + 1;
-    return TSize( cols, rows);
-	}
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistbox.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,982 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <aknlists.h>
-#include <eikspmod.h>
-#include <eikclb.h>
-#include <eikfrlb.h>
-#include <eikslb.h>
-#include <AknUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistboxtfxinternal.h>
-#include <akntransitionutils.h>
-#include <aknlistloadertfx.h>
-#endif
-
-#include "mmlistboxmodel.h"
-#include "mmlistbox.h"
-#include "mmlistboxview.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetcontainer.h"
-#include "mmwidgetsconstants.h"
-#include "mmdraweranimator.h"
-#include "mmtemplatelibrary.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox::CMmListBox() : AKNDOUBLELISTBOXNAME(R_LIST_PANE_LINES_AB_COLUMN)
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox::~CMmListBox()
-	{
-	delete iRedrawTimer;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBox::NewLC( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBox* self = new (ELeave)CMmListBox();
-	CleanupStack::PushL(self);
-	self->ConstructL( aParent, aFlags, aTemplateLibrary );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetListFlag( TInt aFlag )
-	{
-	iListBoxFlags = iListBoxFlags | aFlag;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ClearListFlag( TInt aFlag )
-	{
-	iListBoxFlags = iListBoxFlags & !aFlag;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBox::NewL( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBox* self = CMmListBox::NewLC( aParent, aFlags, aTemplateLibrary );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ConstructL( const CCoeControl* aParent, TInt aFlags,
-    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	iDisableChildComponentDrawing = EFalse;
-	iModel = iMmModel = CMmListBoxModel::NewL();
-    CreateItemDrawerL( aTemplateLibrary );
-
-    EnableExtendedDrawingL();
-
-    iItemDrawer->SetDrawMark(EFalse);
-    CEikListBox::ConstructL(aParent,aFlags);
-    iMmDrawer->SetView( this );
-    iRedrawTimer = CPeriodic::NewL( EPriorityRealTime );
-	}
-
-// -----------------------------------------------------------------------------
-// Clearing ELeftDownInViewRect flag before invoking the base class
-// HandlePointerEventL method effectively prevents that method from doing most
-// of the things it would normally do in response to EButton1Down event.
-// This flag is explicitly cleared to achieve two things:
-// 1. Prevent kinetic scrolling (flick) in edit mode.
-// 2. Prevent highlight removal when popup menu is displayed.
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandlePointerEventInEditModeL(
-        const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        iButton1DownPos = aPointerEvent.iPosition;
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-        {
-        CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-        TPoint dragDelta = iButton1DownPos - aPointerEvent.iPosition;
-        if ( Abs( dragDelta.iY ) > KDragTreshold || parent->LongTapInProgress() )
-            {
-            iListBoxFlags &= ~ELeftDownInViewRect;
-            }
-        }
-    
-    TInt itemUnderPointerIndex = KErrNotFound;
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-            aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        CEikFormattedCellListBoxTypedef::HandlePointerEventL( aPointerEvent );
-        }
-    else if ( View()->XYPosToItemIndex(
-            aPointerEvent.iPosition, itemUnderPointerIndex ) )
-        {
-        TInt currentItemIndex = CurrentItemIndex();
-        if ( currentItemIndex != itemUnderPointerIndex )
-            {
-            View()->SetCurrentItemIndex( itemUnderPointerIndex );
-            // remove hightlight from the previously highlighted item
-            }
-        }
-    HandleScrollingInEditMode( aPointerEvent );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleScrollingInEditMode( const TPointerEvent& aPointerEvent )
-    {
-    if ( aPointerEvent.iType == TPointerEvent::EDrag
-            || aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-        {
-        TInt nextScrollDelay = ScrollIfNeeded( aPointerEvent );
-        if ( nextScrollDelay )
-            {
-            TRect ignoreDragRect(
-                TPoint(aPointerEvent.iParentPosition.iX - MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY - MmEffects::KDragIgnoreRectValue),
-                TPoint(aPointerEvent.iParentPosition.iX + MmEffects::KDragIgnoreRectValue,
-                    aPointerEvent.iParentPosition.iY + MmEffects::KDragIgnoreRectValue));
-
-            Window().CancelPointerRepeatEventRequest();
-            Window().RequestPointerRepeatEvent( nextScrollDelay, ignoreDragRect );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::IsPointerInTopScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt topScrollingTreshold = Rect().iTl.iY
-        + ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY < topScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::IsPointerInBottomScrollingThreshold(
-            const TPointerEvent& aPointerEvent ) const
-    {
-    TInt bottomScrollingTreshold = Rect().iBr.iY
-        - ( MmEffects::KFocusScrollingThreshold
-            * TReal( View()->ItemSize().iHeight ) );
-
-    return ( aPointerEvent.iPosition.iY > bottomScrollingTreshold );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::ScrollIfNeeded( const TPointerEvent& aPointerEvent )
-    {
-    TInt nextScrollDelay = 0;
-    
-	TBool readyForScrolling =
-			iMmDrawer->GetAnimator()->IsReadyForNewAnimation()
-					&& iMmDrawer->GetFloatingItemCount() != 0;
-	
-	if ( IsPointerInTopScrollingThreshold( aPointerEvent ) )
-		{
-		// scroll up by one row
-		TInt newCurrentItemIndex = CurrentItemIndex() - 1;
-
-		if ( newCurrentItemIndex >= 0 )
-			{
-			nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-				Max( 1, aPointerEvent.iPosition.iY - Rect().iTl.iY );
-			if (readyForScrolling)
-				{
-				View()->VScrollTo( View()->CalcNewTopItemIndexSoItemIsVisible(
-                        newCurrentItemIndex ) );
-                View()->SetCurrentItemIndex( newCurrentItemIndex );
-                UpdateScrollBarThumbs();
-				}
-			}
-		}
-	else if ( IsPointerInBottomScrollingThreshold( aPointerEvent) )
-		{
-		// scroll down by one row
-		TInt lastItemIndex = iModel->NumberOfItems() - 1;
-		TInt newCurrentItemIndex = CurrentItemIndex() + 1;
-		
-		
-		if ( newCurrentItemIndex <= lastItemIndex )
-			{
-			nextScrollDelay = MmEffects::KEditModeScrollingDelayFactor *
-				Max( 1, Rect().iBr.iY - aPointerEvent.iPosition.iY );
-
-			if (readyForScrolling)
-				{
-				View()->VScrollTo( View()->CalcNewTopItemIndexSoItemIsVisible(
-						newCurrentItemIndex ) );
-				View()->SetCurrentItemIndex( newCurrentItemIndex );
-                UpdateScrollBarThumbs();
-				}
-			}
-		}
-
-    return nextScrollDelay;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandlePointerEventL(const TPointerEvent& aPointerEvent)
-    {
-//    if ( aPointerEvent.iType == TPointerEvent::EButton1Down &&
-//            iMmDrawer->CachedDataUseIsEnabled() )
-//        {
-//        // Touching the screen stops flick but avkon does not send us
-//        // MEikListBoxObserver::EEventFlickStopped event in such case.
-//        // Thus this little hack:
-//        iMmDrawer->EnableCachedDataUse( EFalse );
-//        DrawView();
-//        }
-
-    CMmWidgetContainer* parent = static_cast<CMmWidgetContainer*>( Parent() );
-
-    if ( parent->IsEditMode() )
-        {
-        HandlePointerEventInEditModeL( aPointerEvent );
-        }
-    else
-    	{
-        CEikFormattedCellListBoxTypedef::HandlePointerEventL( aPointerEvent );
-    	}
-
-    if ( iMmDrawer->GetAnimator()->IsActive() )
-    	{
-    	iMmDrawer->GetAnimator()->CancelNextRedrawL();
-    	}
-
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::FixViewForMirroredLayout()
-    {
-    TInt scrollbarWidth =
-            ScrollBarFrame()->VerticalScrollBar()->Rect().Width();
-    TRect r( View()->ViewRect() );
-    TInt currentShift = r.iTl.iX;
-    TBool scrollbarVisible = ScrollBarFrame()->VerticalScrollBar()->IsVisible();
-    TBool layoutMirrored = AknLayoutUtils::LayoutMirrored();
-
-    if ( layoutMirrored && scrollbarVisible && currentShift != scrollbarWidth )
-        {
-        // shift view rect to the right
-        r.Move( scrollbarWidth - currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    else if ( ( !layoutMirrored || !scrollbarVisible ) && currentShift != 0 )
-        {
-        // restore view rect to its normal position
-        r.Move( -currentShift, 0 );
-        View()->SetViewRect( r );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::RedrawScrollbarBackground() const
-    {
-    TRect viewRect( View()->ViewRect() );
-    if ( viewRect.iTl.iX > 0 )
-        {
-        TRect scrollbarRect( TPoint( 0, 0 ),
-                TSize( viewRect.iTl.iX, viewRect.Height() ) );
-
-        CWindowGc* gc = iItemDrawer->Gc();
-        CMmListBoxItemDrawer* itemDrawer =
-                static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-        MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-        CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( control );
-        if( gc )
-            {
-            if ( control )
-                {
-                AknsDrawUtils::Background( skin, cc, control, *gc, scrollbarRect );
-                }
-            else
-                {
-                gc->SetBrushColor( BackColor() );
-                gc->Clear( scrollbarRect );
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::ProcessScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    CEikFormattedCellListBoxTypedef::HandleScrollEventL(
-            aScrollBar, aEventType );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleRedrawTimerEvent()
-    {
-    if ( iSkippedScrollbarEventsCount )
-        {
-        ProcessScrollEventL( ScrollBarFrame()->VerticalScrollBar(),
-                EEikScrollThumbDragVert );
-        }
-    iSkippedScrollbarEventsCount = 0;
-    }
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::RedrawTimerCallback( TAny* aPtr )
-    {
-    CMmListBox* self = static_cast<CMmListBox*>( aPtr );
-    self->HandleRedrawTimerEvent();
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmListBox::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,TEventCode aType )
-    {
-    TInt itemIndex = CurrentItemIndex();
-    TInt previousItemIndex = CurrentItemIndex();
-    TKeyResponse ret = CEikFormattedCellListBoxTypedef::OfferKeyEventL(
-        aKeyEvent, aType );
-    TInt currentItemIndex = CurrentItemIndex();
-
-    TInt itemY = View()->ItemPos( currentItemIndex ).iY
-               + View()->ItemSize( currentItemIndex ).iHeight;
-
-    if ( currentItemIndex == BottomItemIndex()
-    		&& currentItemIndex != previousItemIndex
-    		&& itemY > View()->ViewRect().iBr.iY )
-    	{
-    	if( aType == EEventKey )
-    		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    		MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(
-    		    View()->ItemDrawer()->Gc() );
-    		TBool effects = transApi && !transApi->EffectsDisabled();
-    		if ( effects )
-    			{
-    			transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
-    			}
-#endif
-			iView->VScrollTo(
-				iView->CalcNewTopItemIndexSoItemIsVisible( currentItemIndex ) );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( effects )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-			}
-    	SetCurrentItemIndex( currentItemIndex );
-    	}
-
-    RedrawIfNecessary( itemIndex, CurrentItemIndex());
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::RedrawIfNecessary( TInt aPreviousCurrent, TInt aCurrent )
-    {
-    TBool redrawConsumed( EFalse );
-    if( aCurrent == KErrNotFound )
-        {
-        return redrawConsumed;
-        }
-
-    CMmListBoxView * view = static_cast<CMmListBoxView *>(iView);
-    TInt differenceIndex = Abs( aPreviousCurrent - aCurrent );
-    if ( aPreviousCurrent == KErrNotFound  || differenceIndex == 0 )
-        {
-        //TODO: It should be checked if this is really necessary
-        view->RedrawBackground();
-        return redrawConsumed;
-        }
-
-    TInt sizePrevBefore = iMmDrawer->GetItemHeight(aPreviousCurrent, ETrue);
-    TInt sizeCurBefore = iMmDrawer->GetItemHeight(aCurrent, EFalse);
-    TInt sizePrevAfter = iMmDrawer->GetItemHeight(aPreviousCurrent, EFalse);
-    TInt sizeCurAfter = iMmDrawer->GetItemHeight(aCurrent, ETrue);
-
-    if ( ( sizePrevBefore == sizePrevAfter ) && (sizeCurBefore == sizeCurAfter) )
-        {
-        return redrawConsumed;
-        }
-     else
-        {
-        TInt sizeAllBefore = sizePrevBefore + sizePrevAfter;
-        TInt sizeAllAfter = sizeCurBefore + sizeCurAfter;
-
-        TInt lastPotentialItemIndex = Min( iModel->NumberOfItems(),
-                iView->TopItemIndex() + iView->NumberOfItemsThatFitInRect(
-                        iView->ViewRect() ) );
-        TInt redrawIndex = lastPotentialItemIndex;
-
-        if ( differenceIndex == 1 )
-            {
-            if( sizeAllBefore != sizeAllAfter )
-            	{
-                redrawIndex = Min( aPreviousCurrent, aCurrent );
-            	}
-            else
-            	{
-            	return redrawConsumed;
-            	}
-            }
-        else if ( differenceIndex > 1 && sizeAllBefore == sizeAllAfter  )
-            {
-            redrawIndex = Min( aPreviousCurrent, aCurrent );
-            lastPotentialItemIndex = Max( aPreviousCurrent, aCurrent );
-            }
-        else if ( differenceIndex > 1 )
-            {
-            redrawIndex = Min( aPreviousCurrent, aCurrent );
-            }
-
-        if (redrawIndex < iView->TopItemIndex())
-            redrawIndex = iView->TopItemIndex();
-
-        if (lastPotentialItemIndex > iView->BottomItemIndex())
-            lastPotentialItemIndex = iView->BottomItemIndex();
-
-        if ( aPreviousCurrent < TopItemIndex() )
-        	{
-        	lastPotentialItemIndex = BottomItemIndex() ;
-        	}
-        else if ( BottomItemIndex() < aPreviousCurrent )
-        	{
-        	lastPotentialItemIndex = BottomItemIndex() + 1;
-        	}
-        
-        while ( redrawIndex < lastPotentialItemIndex +1 )
-            {
-            view->DrawSingleItem( redrawIndex++ );
-            redrawConsumed = ETrue;
-            }
-
-        view->RedrawBackground();
-        }
-    return redrawConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::CreateItemDrawerL( CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CFormattedCellListBoxData* cellData=CFormattedCellListBoxData::NewL();
-    CleanupStack::PushL( cellData );
-    iItemDrawer = iMmDrawer = CMmListBoxItemDrawer::NewL( MmModel(),
-            iEikonEnv->NormalFont(), cellData, EListbox, aTemplateLibrary );
-    CleanupStack::Pop( cellData );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxModel* CMmListBox::MmModel()
-	{
-	return iMmModel;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMmModel( CMmListBoxModel* aMmModel )
-	{
-	if ( iMmModel != aMmModel )
-		{
-		delete iMmModel;
-		iMmModel = aMmModel;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CListBoxView* CMmListBox::MakeViewClassInstanceL()
-    {
-    return CMmListBoxView::NewL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::AdjustRectHeightToWholeNumberOfItems(TRect& /*aRect*/) const
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetItemDrawerAndViewBgContext (CAknsBasicBackgroundControlContext * aBgContext)
-	{
-	iMmDrawer->SetBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::HandleScrollbarVisibilityChangeL()
-	{
-	TBool ret = EFalse;
-	if ( AllItemsFitInViewRect() )
-		{
-		if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-            || iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-			{
-			ScrollBarFrame()->VerticalScrollBar()->MakeVisible( EFalse );
-			iMmDrawer->SetScrollbarVisibilityL( EFalse );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *trans = CAknListLoader::TfxApiInternal( ItemDrawer()->Gc() );
-				if ( trans )
-					{
-					trans->Remove( MAknListBoxTfxInternal::EListEverything );
-					}
-#endif
-
-			ret = ETrue; //redraw is needed
-			}
-		}
-	else if ( !ScrollBarFrame()->VerticalScrollBar()->IsVisible()
-	          || !iMmDrawer->TemplateLibrary()->GetScrollbarVisibility() )
-		{
-		ScrollBarFrame()->VerticalScrollBar()->MakeVisible( ETrue );
-		iMmDrawer->SetScrollbarVisibilityL( ETrue );
-		ret = ETrue; //redraw is needed
-		}
-	return ret;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBox::AllItemsFitInViewRect()
-	{
-	CMmListBoxView* view = static_cast< CMmListBoxView* >(iView);
-	TInt totalHeight = view->GetTotalHeight( view->TopItemIndex(), view->BottomItemIndex());
-	if ( view->TopItemIndex() == 0 && iMmModel->NumberOfItems() <= view->BottomItemIndex() + 1
-	        && totalHeight <= iView->ViewRect().Height() )
-		{
-		return ETrue;
-		}
-	else
-		{
-		return EFalse;
-		}
-	}
-
-/**
- * Helper class whose only purpose is to ensure that
- * ScrollToItem method will be always re-enabled. 
- */
-struct TScrollToItemEnabler
-    {
-    CMmListBoxView* iV;
-    void Close() { iV->DisableScrollToItem( EFalse ); }
-    };
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarsL()
-	{
-	TBool redrawNeeded = HandleScrollbarVisibilityChangeL();
-	if (ScrollBarFrame()->VerticalScrollBar()->IsVisible())
-		{
-		CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-		view->DisableScrollToItem( ETrue );
-		TScrollToItemEnabler reverter = { view };
-		CleanupClosePushL( reverter );
-		CEikFormattedCellListBoxTypedef::UpdateScrollBarsL();
-		CleanupStack::PopAndDestroy( &reverter );
-		}
-	iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-        ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-	FixViewForMirroredLayout();
-	if ( redrawNeeded )
-		{
-		DrawNow();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarsNoRedrawL()
-	{
-	HandleScrollbarVisibilityChangeL();
-	if ( ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
-		{
-		CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-		view->DisableScrollToItem( ETrue );
-		TScrollToItemEnabler reverter = { view };
-		CleanupClosePushL( reverter );
-		CEikFormattedCellListBoxTypedef::UpdateScrollBarsL();
-		CleanupStack::PopAndDestroy( &reverter );
-		iMmDrawer->TemplateLibrary()->SetScrollbarWidthL(
-		        ScrollBarFrame()->VerticalScrollBar()->Rect().Width() );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-	{
-	iMarqueeAdapter = aAdapter;
-	iMarqueeAdapter->SetControl( const_cast< CMmListBox *>(this) );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn )
-	{
-	iMmDrawer->SetMarqueeDrawing( aIsMarqueeBeingDrawn );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleItemRemovalL()
-	{
-	CEikFormattedCellListBoxTypedef::HandleItemRemovalL();
-    DrawNow();
-    //avkon does not redraw the items for listbox when item is
-    //removed. This needs to be forced here.
-    UpdateScrollBarsL();
-	}
-
-// -----------------------------------------------------------------------------
-// If a parent to the supplied control has its Gc set, this function will find
-// it and return it. (Copied from EIKLBX.CPP, needed by CMmListBox::Draw)
-// -----------------------------------------------------------------------------
-//
-LOCAL_C CWindowGc* ReplaceGcWithCustomGc( const CEikListBox* aListBox )
-    {
-    const CCoeControl* parent = aListBox;
-    CWindowGc* customGc;
-    while(parent)
-        {
-        customGc = parent->GetGc();
-        if ( customGc )
-            {
-            CListItemDrawer* itemDrawer = aListBox->View()->ItemDrawer();
-            CWindowGc* originalGc = itemDrawer->Gc();
-            if ( customGc == originalGc )
-            {
-                return NULL;
-                }
-            else
-                {
-                itemDrawer->SetGc( customGc );
-                return originalGc;
-                }
-            }
-        parent = parent->Parent();
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::Draw(const TRect& aRect) const
-    {
-//    if (!iResized)
-//        {
-//        return;
-//        }
-
-    CWindowGc* gc = this->iItemDrawer->Gc();
-
-    // If a parent has a custom gc, draw listbox using that gc
-    CWindowGc* replacedGc = ReplaceGcWithCustomGc(
-                                    static_cast<const CEikListBox*>( this ) );
-
-    if (this->iModel->NumberOfItems() == 0)
-        {
-        this->iView->DrawEmptyList(this->Rect());
-
-        if ( replacedGc )
-            {
-            // Stop using the custom gc
-            this->iItemDrawer->SetGc( replacedGc );
-            }
-        return;
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( gc );
-    
-    if ( transApi )
-        {
-        transApi->SetListType( MAknListBoxTfxInternal::EListBoxTypeMainPane );
-        // ViewRect might have been moved to the right to prevent grid items
-        // from overlapping the scrollbar in mirrored layout.
-        // However, we still have to draw scrollbar background, thus the
-        // rectangle object passed to MAknListBoxTfxInternal::BeginRedraw must
-        // be placed at (0, 0) so that it covers the area where scrollbar is
-        // drawn.
-        TRect r( View()->ViewRect().Size() );
-        transApi->BeginRedraw( MAknListBoxTfxInternal::EListView, r );
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-    if (!this->iView->RedrawDisabled())
-        {
-        MAknsControlContext *cc = AknsDrawUtils::ControlContext( this );
-        if (!cc) cc = ItemDrawer()->FormattedCellData()->SkinBackgroundContext();
-
-        if (gc)
-            {
-            TRect clientRect;
-            this->RestoreClientRectFromViewRect(clientRect);
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST           
-            if ( transApi )
-                {
-                transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-                }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-            gc->SetBrushColor(this->BackColor());
-            AknsDrawUtils::BackgroundBetweenRects( AknsUtils::SkinInstance(), cc, this, *gc, clientRect, this->iView->ViewRect() );
-            RedrawScrollbarBackground();
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            if ( transApi )
-                {
-                transApi->StopDrawing();
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-            }
-        }
-    if ( this->iModel->NumberOfItems() )
-        {
-        // finally, draw the actual list
-        this->iView->Draw(&aRect);
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if ( transApi )
-        {
-        CMmListBoxView* view = static_cast<CMmListBoxView*>( View() );
-        view->DisableScrollToItem( ETrue );
-        transApi->EndViewRedraw( aRect );
-        view->DisableScrollToItem( EFalse );
-        }
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
-    if ( replacedGc )
-        {
-        // Stop using the custom gc
-        this->iItemDrawer->SetGc( replacedGc );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBox::DrawView()
-    {
-    iDisableChildComponentDrawing = ETrue;
-    DrawNow(Rect());
-    iDisableChildComponentDrawing = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetVerticalItemOffset( TInt aOffset )
-	{
-	static_cast<CMmListBoxView*>( View() )->SetItemOffsetInPixels( aOffset );
-	UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::VerticalItemOffset() const
-	{
-	return static_cast<CMmListBoxView*>( View() )->VerticalItemOffset();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetItemHeight( TInt aItemHeight )
-	{
-	if ( aItemHeight != iItemHeight )
-	    {
-	    iItemHeight = aItemHeight;
-	    TRAP_IGNORE( UpdateScrollBarsNoRedrawL() );
-	    }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::UpdateScrollBarThumbs()
-	{
-	CEikFormattedCellListBox::UpdateScrollBarThumbs();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBox::CountComponentControls() const
-    {
-    TInt componentControls(0);
-    if ( !iDisableChildComponentDrawing )
-		{
-        componentControls = CEikFormattedCellListBoxTypedef::CountComponentControls();
-    	}
-    return componentControls;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::SetDisableChildComponentDrawing( TBool aDisable )
-    {
-    iDisableChildComponentDrawing = aDisable;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBox::HandleScrollEventL( CEikScrollBar* aScrollBar, 
-            TEikScrollEvent aEventType )
-    {
-    if ( aEventType == EEikScrollThumbDragVert && !iScrollbarThumbIsBeingDragged )
-        {
-        iScrollbarThumbIsBeingDragged = ETrue;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( ETrue );
-        iRedrawTimer->Start( KScrollingRedrawInterval, KScrollingRedrawInterval,
-                TCallBack( &CMmListBox::RedrawTimerCallback, static_cast<TAny*>( this ) ) );
-        }
-    else if ( aEventType == EEikScrollThumbReleaseVert )
-        {
-        iScrollbarThumbIsBeingDragged = EFalse;
-        static_cast<CMmListBoxItemDrawer*>(
-                View()->ItemDrawer() )->EnableCachedDataUse( EFalse );
-        // The view will be redrawn with cache disabled when ProcessScrollEventL
-        // calls the base class's HandleScrollEventL method -- no need to
-        // explicitly redraw the view.
-        iRedrawTimer->Cancel();
-        }
-
-    if ( !iScrollbarThumbIsBeingDragged )
-        {
-        ProcessScrollEventL( aScrollBar, aEventType );
-        }
-    else
-        {
-        __ASSERT_DEBUG( aEventType == EEikScrollThumbDragVert, User::Invariant() );
-        ++iSkippedScrollbarEventsCount;
-        }
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxcontainer.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* 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:   
-*  Version     : %version: MM_65 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <aknlists.h> 
-#include <barsread.h> 
-
-#include <eikclb.h> 
-#include <StringLoader.h>
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-
-#include "mmlistbox.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "hnsuitemodel.h"
-#include "mmlistboxcontainer.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmwidgetsconstants.h"
-#include "mmtemplatelibrary.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmdraweranimator.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer* CMmListBoxContainer::NewLC( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {        
-    CMmListBoxContainer* self = new( ELeave ) CMmListBoxContainer();
-    CleanupStack::PushL( self );	
-    self->ConstructL( aRect, aObjectProvider, aTemplateLibrary );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer* CMmListBoxContainer::NewL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {        
-    CMmListBoxContainer* self = NewLC( aRect, aObjectProvider, aTemplateLibrary );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::CListboxNumberContainer()
-// C++ default constructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer::CMmListBoxContainer()
-    {       
-    }
-
-// -----------------------------------------------------------------------------
-// CListboxNumberContainer::~CListboxNumberContainer()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMmListBoxContainer::~CMmListBoxContainer()
-    {  
-    delete iListBox;
-    delete iMarqueeAdapter;
-    }
-
-// -----------------------------------------------------------------------------
-// CMmListBoxContainer::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//    
-void CMmListBoxContainer::ConstructL( const TRect& aRect, 
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {
-    CMmWidgetContainer::ConstructL();
-    
-    SetMopParent( aObjectProvider );
-    CreateWindowL(); // Creates window.
-    iWidget = CreateListboxL( aTemplateLibrary );
-    iWidget->SetListBoxObserver( this );
-    SetRect( aRect ); // Sets rectangle of frame.
-    ActivateL(); // Activates window. ( Ready to draw )       
-    SetupDrawer();
-//    SetHighlightVisibilityL( ETrue );
-    iMarqueeAdapter = CMmMarqueeAdapter::NewL();
-    iDrawer->SetMarqueeAdapter( iMarqueeAdapter );
-    iListBox->SetMarqueeAdapter( iMarqueeAdapter );
-    iPostProcessor = CMmPostEvaluationProcessor::NewL( *iDrawer );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::DrawView()
-    {
-    iListBox->DrawView();
-    }
-
-// -----------------------------------------------------------------------------
-// CMmListBoxContainer::CreateListboxL()
-// Constructs listbox from resource, creates scroll bar and sets empty
-// list background text. 
-// -----------------------------------------------------------------------------
-//
-CMmListBox* CMmListBoxContainer::CreateListboxL( 
-    CMmTemplateLibrary* aTemplateLibrary  )
-    {
-    iListBox = CMmListBox::NewL( this, EAknListBoxSelectionList 
-    		| EAknListBoxLoopScrolling, aTemplateLibrary );
-    iListBox->SetContainerWindowL( *this );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
-    		CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );  
-    iListBox->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
-    return iListBox;
-    }
- 
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-THnSuiteWidgetType CMmListBoxContainer::WidgetType()
-	{
-	return EListWidget;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmListBoxContainer::SetDefaultHighlightL(  TBool aRedraw )
-    {  
-    TInt defaultHighlight = Widget()->TopItemIndex();
-    if ( !ItemIsFullyVisible( defaultHighlight ) 
-    		&& defaultHighlight < NumberOfItems() - 1 )
-    	{
-    	defaultHighlight++;
-    	}
-    	
-    if (defaultHighlight >= 0 )
-    	{
-    	SetManualHighlightL( defaultHighlight, aRedraw );
-    	}
-    }
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmListBoxContainer::SetEmptyTextL(const TDesC& aText)
-    {
-    iListBox->View()->SetListEmptyTextL( aText );  
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetEditModeL( TBool aIsEditMode )
-    {
-	if (aIsEditMode && !AknLayoutUtils::PenEnabled() )
-		{
-		iListBox->ClearListFlag( EAknListBoxLoopScrolling );
-        }
-    else
-    	{
-		iListBox->SetListFlag( EAknListBoxLoopScrolling ); 
-    	}
-    CMmWidgetContainer::SetEditModeL( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxContainer::GetMmModel()
-    {
-    return iListBox->MmModel();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxContainer::SetupWidgetLayoutL()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetItemDrawerAndViewBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iListBox->SetItemDrawerAndViewBgContext (aBgContext);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetSuiteModelL( CHnSuiteModel* aModel )
-    {
-    CMmWidgetContainer::SetSuiteModelL( aModel );
-    // highlight always active
-    aModel->SetActiveL( ETrue );
-	iMarqueeAdapter->StopMarqueeDrawing();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetHighlightVisibilityL( TBool aVisible )
-    {
-        CMmWidgetContainer::SetHighlightVisibilityL( aVisible );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TBool CMmListBoxContainer::PointInItemReorderAreaL(
-            TInt aItemIndex, TPoint aPoint )
-    {
-    TRect itemRect = GetItemRectL( aItemIndex );
-    itemRect.Shrink( 0, MmEffects::KShiftRatio * itemRect.Height() );
-    return itemRect.Contains( aPoint );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::HandleItemAdditionL()
-	{
-	iListBox->HandleItemAdditionL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::HandleItemRemovalL()
-	{
-	GetMmModel()->HandleSuiteEventL( ESuiteItemsRemoved, GetMmModel()->GetSuiteModel() );
-	iCurrentHighlight = GetSuiteModelL()->GetSuiteHighlight();
-	ValidateWidgetCurrentItemIndex();
-	
-	iDrawer->RemoveFloatingItems();
-	if( IsEditMode() )
-		{
-		iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-		}
-	
-	iListBox->HandleItemRemovalL();
-    
-    CHnSuiteModel* suiteModel = GetSuiteModelL();
-	suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-	static_cast<CMmListBoxItemDrawer*>( iListBox->ItemDrawer() )->TrimCacheSize(
-	        GetMmModel()->NumberOfItems() );
-	}
-	
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::ColumnsInCurrentView()
-	{
-	return 1;
-	}
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::RowsInCurrentView()
-    {
-    return iListBox->View()->NumberOfItemsThatFitInRect(
-            iListBox->View()->ViewRect());
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxContainer::SetVerticalItemOffset( TInt aOffset )
-	{
-	iListBox->SetVerticalItemOffset( aOffset );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxContainer::VerticalItemOffset() const
-	{
-	return iListBox->VerticalItemOffset();
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmListBoxContainer::UpdateViewScrollBarThumbs()
-	{
-	iListBox->UpdateScrollBarThumbs();
-	}
-// End of File
--- a/menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1551 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#include <eikfrlb.h>
-#include "mmwidgetsconstants.h"
-#include "hnconvutils.h"
-#include <gdi.h>
-#include <AknIconArray.h>
-#include <AknsConstants.h>
-#include <AknFontAccess.h>
-#include <aknlistboxtfx.h>
-#include <layoutmetadata.cdl.h>
-#include <AknIconUtils.h>
-#include <AknBidiTextUtils.h>
-#include <AknDef.hrh>
-#include <AknLayoutFont.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#endif
-
-#include <AknsLayeredBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-#include "bitmaptransforms.h"
-#include "mmwidgetsconstants.h"
-#include "mmlistbox.h"
-#include "mmtemplatelibrary.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include "mmdraweranimator.h"
-#include "mmmarqueeadapter.h"
-#include "mmfloatingitem.h"
-#include "mmgridview.h"
-#include "mmcacheforitem.h"
-#include "mmitemsdatacache.h"
-#include "mmwidgetcontainer.h"
-#include "hnsuitemodel.h"
-#include "menudebug.h"
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer::CMmListBoxItemDrawer(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	: CFormattedCellListBoxItemDrawer( aMmListBoxModel , aFont, aFormattedCellData),
-	iFont(aFont), iLeftOverAreaUnderAnimatedItem(EFalse)
-	{
-	iWidgetType = aWidgetType;
-	iTemplateLibrary = aTemplateLibrary;
-	iMmModel = aMmListBoxModel;
-	iRedrawBackground = ETrue;
-	iZoomIconIndex = -1;
-	iIconAnimationZoomRatio = 1;
-	// this is needed to get iColors initialized on first use:
-	iLastDrawnItemWasFloating = ETrue;
-    SetFlags( CListItemDrawer::EDisableHighlight );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer::~CMmListBoxItemDrawer()
-	{
-	iFloatingItems.Close();
-	delete iItemsDataCache;
-	delete iAnimator;
-	delete iSubcellText;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::EnableCachedDataUse( TBool aEnable )
-    {
-    iUseCache = aEnable;
-    if ( aEnable )
-        {
-        RemoveFloatingItems();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::CachedDataUseIsEnabled() const
-    {
-    return iUseCache;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::TrimCacheSize( TInt aItemCount )
-    {
-    iItemsDataCache->Trim( aItemCount );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::InvalidateCache()
-    {
-    iItemsDataCache->Invalidate();
-    // this is needed to get iColors initialized on first use:
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer* CMmListBoxItemDrawer::NewLC(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBoxItemDrawer* self = new (ELeave)CMmListBoxItemDrawer(
-			aMmListBoxModel, aFont, aFormattedCellData, aWidgetType,
-			aTemplateLibrary );
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxItemDrawer* CMmListBoxItemDrawer::NewL(
-        CMmListBoxModel* aMmListBoxModel,
-	    const CFont* aFont,
-	    CFormattedCellListBoxData* aFormattedCellData,
-	    TMmWidgetType aWidgetType,
-	    CMmTemplateLibrary* aTemplateLibrary )
-	{
-	CMmListBoxItemDrawer* self = CMmListBoxItemDrawer::NewLC(
-	    aMmListBoxModel, aFont, aFormattedCellData, aWidgetType,
-        aTemplateLibrary );
-	CleanupStack::Pop( self );
-	return self;
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetView(CEikListBox * aView)
-    {
-    iWidget = aView;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CEikListBox* CMmListBoxItemDrawer::Widget() const
-    {
-    return iWidget;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::ConstructL()
-	{
-	iAnimator = CMmDrawerAnimator::NewL( *this );
-	iItemsDataCache = CMmItemsDataCache::NewL();
-	iIsEditMode = EFalse;
-	iHighlightShown = EFalse;
-	iDrawMoveIndicators = ETrue;
-	}
-
-// ----xm-------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawEmptyItem( TInt aItemIndex,
-        TPoint aItemRectPos,  TBool aViewIsDimmed ) const
-    {
-    TRect r( aItemRectPos, iItemCellSize );
-
-    CFormattedCellListBoxItemDrawer::DrawEmptyItem( aItemIndex, aItemRectPos,
-        aViewIsDimmed );
-
-    const_cast<CMmListBoxItemDrawer*>(this)->DrawFloatingItems(r);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetFloatingItemIndex(TMmFloatingItemType aType) const
-    {
-    TInt ret (KErrNotFound);
-    TInt i(iFloatingItems.Count()-1);
-    for(; i >= 0; i--)
-        {
-        if (iFloatingItems[i].GetFloatingItemType() == aType)
-            {
-            ret = i;
-            break;
-            }
-        }
-
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmFloatingItem& CMmListBoxItemDrawer::GetFloatingItemL(TMmFloatingItemType aType)
-    {
-    TInt index = GetFloatingItemIndex(aType);
-    User::LeaveIfError( index );
-    return iFloatingItems[ index ];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateDragItemTransitionL()
-    {
-    iAnimator->AnimateDragItemTransitionL();
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemSwapL( TInt aItemFrom, TInt aItemTo )
-    {
-    iAnimator->AnimateItemSwapL( aItemFrom, aItemTo );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemZoomInL( TInt aItemIndex )
-    {
-    iAnimator->AnimateItemZoomL( aItemIndex, ETrue );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AnimateItemZoomOutL( TInt aItemIndex )
-    {
-    iAnimator->AnimateItemZoomL( aItemIndex, EFalse );
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawFloatingItems(TRect currentlyDrawnRect)
-    {
-    SetRedrawItemBackground( EFalse );
-    for(TInt i(iFloatingItems.Count()-1); i >= 0 ; i--)
-        {
-        TMmFloatingItemType type = iFloatingItems[i].GetFloatingItemType();
-        if ( iFloatingItems[i].IsFloatingItemValid() )
-            {
-            TInt drawnItemIndex = iFloatingItems[i].GetDrawnItemIndex();
-            TSize size = iWidget->View()->ItemSize( drawnItemIndex );
-            TRect rect( iFloatingItems[i].GetItemPosition(), iFloatingItems[i].GetItemPosition() + size);
-
-            if (rect.Intersects(currentlyDrawnRect))
-				{
-				TInt tempZoomIconIndex = iZoomIconIndex;
-				TInt tempZoomRatio = iIconAnimationZoomRatio;
-
-				iZoomIconIndex = iFloatingItems[i].GetDrawnItemIndex();
-				iIconAnimationZoomRatio = iFloatingItems[i].GetCurrentZoomRatio();
-
-				if ( ItemHasFloatingType( drawnItemIndex, EDrag) ||
-						ItemHasFloatingType( drawnItemIndex, EDragTransition) )
-					{
-					ClearFlags( CListItemDrawer::EPressedDownState );
-					}
-
-				DrawActualItem( drawnItemIndex, rect, ETrue, EFalse, EFalse, EFalse );
-				iIconAnimationZoomRatio = tempZoomRatio;
-				iZoomIconIndex = tempZoomIconIndex;
-				}
-            }
-        else
-        	{
-            iFloatingItems.Remove(i);
-        	}
-        }
-    SetRedrawItemBackground( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetValidFloatingItemCount(TMmFloatingItemType aType)
-    {
-    TInt count (0);
-
-    for(TInt i(iFloatingItems.Count()-1); i >= 0; i--)
-        {
-        if (iFloatingItems[i].GetFloatingItemType() == aType
-                && iFloatingItems[i].IsFloatingItemValid() )
-            count++;
-        }
-    return count;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const
-        {
-        if ( !Widget()->View()->RedrawDisabled() )
-            {
-            TBool highlightVisible =
-                !( Flags() & CListItemDrawer::ESingleClickDisabledHighlight );
-            aItemIsCurrent = aItemIsCurrent && highlightVisible;
-            DoDrawItem( aItemIndex, aItemRectPos, aItemIsSelected,
-                    aItemIsCurrent, aViewIsEmphasized, aViewIsDimmed);
-            }
-        }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DoDrawItem(TInt aItemIndex, TPoint aItemRectPos,
-        TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-        TBool aViewIsDimmed) const
-    {
-    TSize itemCellSize = TSize( GetItemSize( aItemIndex, aItemIsCurrent ));
-    TRect actualItemRect(aItemRectPos, itemCellSize);
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal( iGc );
-	if ( transApi )
-		{
-		transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-		transApi->StopDrawing();
-		transApi->BeginRedraw( MAknListBoxTfxInternal::EListItem,
-				actualItemRect, aItemIndex );
-		}
-#endif
-
-    const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = EFalse;
-    for(TInt i(iFloatingItems.Count()-1); i >= 0; i--)
-        {
-        if ( iFloatingItems[i].GetDrawnItemIndex() == aItemIndex
-        		&& iFloatingItems[i].IsFloatingItemValid() )
-            {
-            const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = ETrue;
-            break;
-            }
-        }
-
-    DrawActualItem(aItemIndex, actualItemRect, aItemIsCurrent, aViewIsEmphasized,
-    		aViewIsDimmed, aItemIsSelected);
-    const_cast<CMmListBoxItemDrawer*>(this)->iLeftOverAreaUnderAnimatedItem = EFalse;
-
-    const_cast<CMmListBoxItemDrawer*>(this)->DrawFloatingItems(actualItemRect);
-
-    if (!AknLayoutUtils::PenEnabled() && IsEditMode())
-        {
-        const_cast<CMmListBoxItemDrawer*>(this)->DrawActualIndicatorItem(
-        		aItemIndex, actualItemRect );
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	if ( transApi )
-		{
-	    transApi->EndRedraw( MAknListBoxTfxInternal::EListItem, aItemIndex );
-		}
-#endif
-
-
-
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawItemText(TInt aItemIndex,
-		const TRect &aItemTextRect, TBool aItemIsCurrent,
-		TBool aViewIsEmphasized, TBool aItemIsSelected ) const
-    {
-    TRAP_IGNORE( DoDrawItemTextL( aItemIndex, aItemTextRect, aItemIsCurrent,
-    		aViewIsEmphasized, aItemIsSelected ) );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DoDrawItemTextL( TInt aItemIndex, const TRect
-		&aItemTextRect, TBool aItemIsCurrent, TBool aViewIsEmphasized,
-		TBool /* aItemIsSelected */) const
-    {
-    CMmCacheForItem* cache = iItemsDataCache->GetItemCacheL( aItemIndex );
-    cache->InvalidateIfCacheMayNotBeUsed(
-            aItemIsCurrent, iLastSubcellsSetupCode );
-
-    if ( IsRedrawItemBackgroundEnabled() )
-        {
-        DrawBackgroundAndSeparatorLines( aItemTextRect );
-        }
-
-    if ( !iUseCache || !cache->IsValid() )
-        {
-        SetupSubCellsL( aItemIsCurrent, aItemIndex );
-        }
-    __ASSERT_DEBUG( cache->IsValid(), User::Invariant() );
-
-    FormattedCellData()->SetIconArray( cache->GetIconListL() );
-
-	TBool isFloating = !iUseCache && IsFloating( aItemIndex );
-	if ( !!isFloating != !!iLastDrawnItemWasFloating ) // Ex-OR
-	    {
-	    iLastDrawnItemWasFloating = isFloating;
-	    iColors = SetupColors( isFloating );
-	    }
-
-	CFormattedCellListBoxData* data = static_cast<CFormattedCellListBoxData*>(iData);
-	data->EnableMarqueeL( EFalse );
-
-    TBool highlightShown = ETrue;
-	if (FormattedCellData()->RespectFocus() && !aViewIsEmphasized)
-		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-		MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-		if ( transApi )
-			 {
-			 transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-			 }
-#endif
-		highlightShown = EFalse;
-		}
-
-    data->Draw( Properties(aItemIndex), *iGc, &( cache->GetItemText() ), aItemTextRect,
-    		GetHighlightVisibility( aItemIndex, aItemIsCurrent, highlightShown ), iColors );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-	if ( transApi )
-		{
-		transApi->StartDrawing( MAknListBoxTfxInternal::EListItem );
-		}
-#endif
-
-	if ( iMarqueeAdapter && aItemIsCurrent )
-		{
-		DEBUG(("CMmListBoxItemDrawer::DoDrawItemTextL - DrawMarquee"));
-		iMarqueeAdapter->DrawMarqueeL( *iGc );
-		}
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	if ( transApi )
-		{
-		transApi->StopDrawing();
-		}
-#endif
-
-	ColumnData()->SetIconArray( NULL );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetRedrawItemBackground( TBool aRedraw )
-    {
-    iRedrawBackground = aRedraw;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsRedrawItemBackgroundEnabled() const
-    {
-    return iRedrawBackground;
-    }
-
-void CMmListBoxItemDrawer::DrawBackgroundAndSeparatorLines( const TRect& aItemTextRect ) const
-    {
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-    CCoeControl* control = FormattedCellData()->Control();
-
-    if ( IsRedrawItemBackgroundEnabled() )
-        {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-  	    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iGc );
-        if ( transApi )
-            {
-            transApi->StartDrawing( MAknListBoxTfxInternal::EListView );
-            }
-#endif
-        TBool bgDrawn( EFalse );
-        if ( control )
-            {
-	        if ( CAknEnv::Static()->TransparencyEnabled() )
-                {
-                bgDrawn = AknsDrawUtils::Background(
-                    skin, iBgContext, control, *iGc, aItemTextRect,
-                    KAknsDrawParamNoClearUnderImage );
-                }
-            else
-                {
-                bgDrawn = AknsDrawUtils::Background(
-                    skin, iBgContext, control, *iGc, aItemTextRect,
-                    KAknsDrawParamNoClearUnderImage |
-                    KAknsDrawParamBottomLevelRGBOnly );
-                }
-            }
-        if ( !bgDrawn )
-            {
-            iGc->Clear( aItemTextRect );
-            }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        if ( transApi )
-            {
-            transApi->StopDrawing();
-            }
-#endif
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubNoCellL( TInt aIndex,
-        TInt aItemIndex ) const
-    {
-    TTemplateChild child;
-    child.iFontId = EAknLogicalFontSecondaryFont;
-    child.iIsImage = EFalse;
-    const_cast<CMmListBoxItemDrawer*>(this)->
-        ReplaceSubCellText( KNullDesC() );
-    SetupSubCellL( child, aIndex, aItemIndex );
-    iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ENoSubcell );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubIcondDragHighlightCellL(
-        TTemplateChild aSubCellTemplate, TInt aIndex, TInt aItemIndex ) const
-    {
-    aSubCellTemplate.iRectAccordingToParent.iBr
-		= TPoint(ItemCellSize().iWidth * iIconAnimationZoomRatio,
-				ItemCellSize().iHeight * iIconAnimationZoomRatio);
-
-    aSubCellTemplate.iRectAccordingToParent.iTl = TPoint(0, 0);
-    SetupSubCellL( aSubCellTemplate, aIndex , aItemIndex);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubCellL( TTemplateChild aSubCellTemplate,
-        TInt aIndex, TInt aItemIndex  ) const
-	{
-    CFormattedCellListBoxData* data = static_cast<CFormattedCellListBoxData*>(iData);
-    TInt width = aSubCellTemplate.iRectAccordingToParent.iBr.iX - aSubCellTemplate.iRectAccordingToParent.iTl.iX;
-    TInt height = aSubCellTemplate.iRectAccordingToParent.iBr.iY - aSubCellTemplate.iRectAccordingToParent.iTl.iY;
-    data->SetTransparentSubCellL(aIndex, ETrue);
-    data->SetSubCellSizeL( aIndex, TSize(width,height));
-    data->SetSubCellIconSize( aIndex, TSize(width,height) );
-	data->SetSubCellPositionL( aIndex, aSubCellTemplate.iRectAccordingToParent.iTl);
-	data->SetGraphicsSubCellL( aIndex, aSubCellTemplate.iIsImage );
-	data->SetSubCellAlignmentL( aIndex, aSubCellTemplate.iTextAlign );
-	const CFont* font = AknLayoutUtils::FontFromId(aSubCellTemplate.iFontId);
-	data->SetSubCellFontL (aIndex, font);
-	data->SetSubCellBaselinePosL( aIndex,
-			CAknLayoutFont::AsCAknLayoutFontOrNull( font )->TextPaneTopToBaseline()
-			+ aSubCellTemplate.iRectAccordingToParent.iTl.iY );
-
-//	If some text is clipped then marquee will do the drawing right after the subcell is drawn by ListBoxData.
-//	Setting the subcell size to zero prevents ListBoxData from drawing the text.
-	if (!aSubCellTemplate.iIsImage
-			&& !iIsMarqueeBeingDrawn
-			&& ( aItemIndex == iWidget->View()->CurrentItemIndex() )
-			&& !IsEditMode()
-			&& iWidgetType == EListbox
-			&& iSubcellText
-            && iMarqueeAdapter->IsMarqueeEnabled() )
-
-		{
-		if (iMarqueeAdapter && IsTextClippedL( aSubCellTemplate, *iSubcellText )
-			&& STATIC_CAST(CMmWidgetContainer*,Widget()->Parent())->IsHighlightVisible() )
-		    {
-		    data->SetSubCellSizeL( aIndex, TSize(0,0));
-    		const_cast<CMmListBoxItemDrawer*>(this)->AddSubcellMarqueeElementL(
-    				aSubCellTemplate, aIndex, aItemIndex);
-		    }
-		else if (iMarqueeAdapter)
-            {
-            iMarqueeAdapter->StopMarqueeDrawing(aIndex);
-            }
-		}
-
-	if ( iMarqueeAdapter && iIsMarqueeBeingDrawn
-    		&& iMarqueeAdapter->SubcellMarqueeElementExists( aIndex ) )
-    	{
-    	if (aItemIndex != iWidget->View()->CurrentItemIndex() )
-            {
-            iMarqueeAdapter->StopMarqueeDrawing(aIndex);
-            }
-    	else
-    	    {
-    	    data->SetSubCellSizeL(aIndex, TSize(0, 0));
-    	    }
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CFormattedCellListBoxData::TColors CMmListBoxItemDrawer::SetupColors(  TBool aDragged ) const
-	{
-	CFormattedCellListBoxData::TColors colors;
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-
-	if ( !aDragged )
-	    {
-        AknsUtils::GetCachedColor( skin, colors.iText, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG9 );
-        AknsUtils::GetCachedColor( skin, colors.iBack , KAknsIIDQsnTextColors,
-                EAknsCIQsnOtherColorsCG6 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedText,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedBack,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-	    }
-	else
-	    {
-        AknsUtils::GetCachedColor( skin, colors.iText, KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iBack , KAknsIIDQsnTextColors,
-                EAknsCIQsnTextColorsCG6 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedText,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-        AknsUtils::GetCachedColor( skin, colors.iHighlightedBack,
-                KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-	    }
-
-	return colors;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetItemHeight( TInt aItemIndex, TBool aItemIsCurrent ) const
-    {
-    TSize ret(TInt(0),TInt(0));
-    ret = GetItemSize(aItemIndex, aItemIsCurrent);
-    return ret.iHeight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxItemDrawer::GetFloatingItemCount()
-    {
-	for( TInt i=0; i< iFloatingItems.Count(); i++)
-		{
-		TMmFloatingItem& current = GetFloatingItemAtIndex(i);
-		if (current.GetDrawnItemIndex() == KErrNotFound)
-			{
-			RemoveFloatingItem(i);
-			}
-		}
-
-    return iFloatingItems.Count();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmFloatingItem& CMmListBoxItemDrawer::GetFloatingItemAtIndex( TInt aIndex )
-    {
-    return iFloatingItems[ aIndex ];
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::RemoveFloatingItem( TInt aPosition )
-    {
-    if (aPosition != KErrNotFound)
-    	{
-    	iFloatingItems.Remove( aPosition );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::RemoveFloatingItems()
-    {
-    iFloatingItems.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AddFloatingItemL( TMmFloatingItem& aFloatingItem,
-        TInt aPosition )
-    {
-    EnableCachedDataUse( EFalse );
-    if (aPosition != KErrNotFound)
-        {
-        iFloatingItems.InsertL( aFloatingItem, aPosition );
-        }
-    else
-        {
-        iFloatingItems.AppendL( aFloatingItem );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmListBoxItemDrawer::GetItemSize( TInt aItemIndex, TBool aItemIsCurrent ) const
-    {
-    if ( aItemIndex < 0 )
-        {
-        return TSize( 1, 1 );
-        }
-
-	TSize size;
-
-	CMmCacheForItem* cache = NULL;
-	TRAPD( cacheError, cache = iItemsDataCache->GetItemCacheL( aItemIndex ) );
-	if ( cacheError != KErrNone )
-	    {
-	    cache = NULL;
-	    }
-
-	if ( cache )
-	    {
-	    cache->InvalidateIfCacheMayNotBeUsed(
-	            aItemIsCurrent, iLastSubcellsSetupCode );
-	    }
-
-    if ( !iUseCache || !cache || !cache->IsValid() )
-        {
-        const TDesC8& mm_template = iMmModel->GetAttributeAsText (aItemIndex,
-                KMmTemplate8);
-        TRect viewRect = iWidget->View()->ViewRect();
-
-        TBool landscapeOrientation = viewRect.Width() > viewRect.Height();
-        // Layout_Meta_Data::IsLandscapeOrientation cannot be used here because it
-        // might happen that GetSize (this method) gets called immediately after
-        // layout change but before AppUi calls SetRect on the container of iWidget
-        // (Layout_Meta_Data::IsLandscapeOrientation always reflects the current state,
-        // whereas ViewRect might sometimes be out of date).
-        // In such situation iTemplateLibrary->GetSize (called just below) would
-        // cause the template library to fill the internal cache for landscape mode
-        // with parameters calculated according to the outdated ViewRect.
-
-
-        if ( iTemplateLibrary->GetSize( size, iWidgetType, mm_template,
-                landscapeOrientation, aItemIsCurrent, viewRect )
-                != KErrNone )
-            {
-            size = TSize( 1, 1 );
-            }
-        if ( cache )
-            {
-            cache->SetSize( size );
-            }
-        }
-    else
-        {
-        size = cache->GetSize();
-        }
-    return size;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmListBoxItemDrawer::GetIndicatorRect() const
-    {
-    TBool landscapeOrientation = Layout_Meta_Data::IsLandscapeOrientation();
-    const TDesC8& mm_template = iMmModel->GetAttributeAsText(
-            iWidget->View()->CurrentItemIndex(), KMmTemplate8 );
-    TRect indicatorRect( iTemplateLibrary->GetMoveIndicatorRect(
-            iWidgetType, mm_template, landscapeOrientation, ETrue ) );
-    return indicatorRect;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggableL( TBool aDraggable )
-    {
-
-	iDraggable = aDraggable;
-
-    if (!iDraggable)
-        {
-        for(int i=0; i< iFloatingItems.Count(); i++)
-            {
-            if (iFloatingItems[i].GetFloatingItemType() == EZoomTransition
-                    && iFloatingItems[i].GetZoomingStatus() > 0)
-                {
-                AnimateItemZoomOutL( iFloatingItems[i].GetDrawnItemIndex() );
-                }
-            else if (iFloatingItems[i].GetFloatingItemType() == EDrag
-                    || iFloatingItems[i].IsManualDelete())
-                {
-                iFloatingItems[i].InvalidateFloatingItem();
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetEditModeL( TBool aEditMode )
-    {
-    if ( aEditMode )
-        {
-        EnableCachedDataUse( EFalse );
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    MAknListBoxTfxInternal *trans = CAknListLoader::TfxApiInternal( iGc );
-    if( trans )
-        {
-        trans->Remove( MAknListBoxTfxInternal::EListEverything );
-        trans->Draw( iViewRect );
-        }
-#endif
-    iIsEditMode = aEditMode;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsEditMode() const
-	{
-	return iIsEditMode;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmDrawerAnimator* CMmListBoxItemDrawer::GetAnimator()
-    {
-    return iAnimator;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggedPointL( TPoint aPoint )
-	{
-	TInt dragFloatingItem = GetFloatingItemIndex(EDrag);
-	if (dragFloatingItem != KErrNotFound )
-		{
-		TMmFloatingItem & item = GetFloatingItemAtIndex( dragFloatingItem );
-		TMmFloatingItem floatingItem( item.GetDrawnItemIndex(),
-				aPoint,	EDrag, MmEffects::KNoAnimationFramesCount, NULL );
-		floatingItem.SetManualDelete( ETrue );
-
-		TMmFloatingItem postDragRefresh( item.GetDrawnItemIndex(),
-						item.GetItemPosition(),	EPostDragRefreshItem,
-						MmEffects::KNoAnimationFramesCount, iWidget->View() );
-
-		iFloatingItems.Remove(dragFloatingItem);
-
-		if (postDragRefresh.GetItemPosition() != floatingItem.GetItemPosition())
-			{
-			iFloatingItems.Append( postDragRefresh );
-			}
-		iFloatingItems.Insert( floatingItem, 0 );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetDraggedIndexL(TInt aDraggedItemIndex,
-		TPoint aPoint)
-    {
-    TInt dragFloatingItem = KErrNotFound;
-    do
-    	{
-	    dragFloatingItem = GetFloatingItemIndex(EDrag);
-	    if (dragFloatingItem != KErrNotFound)
-	    	{
-	    	TMmFloatingItem & item = GetFloatingItemAtIndex( dragFloatingItem );
-
-	    	TMmFloatingItem postDragRefresh( item.GetDrawnItemIndex(),
-				item.GetItemPosition(),	EPostDragRefreshItem,
-				MmEffects::KNoAnimationFramesCount, iWidget->View() );
-
-	    	if (postDragRefresh.GetItemPosition() != aPoint)
-	    		{
-	    		iFloatingItems.Append( postDragRefresh );
-	    		}
-	    	}
-
-		RemoveFloatingItem( dragFloatingItem );
-
-    	}
-	while ( dragFloatingItem != KErrNotFound );
-
-    if ( aDraggedItemIndex != KErrNotFound )
-    	{
-		TMmFloatingItem floatingItem( aDraggedItemIndex, aPoint, EDrag,
-				MmEffects::KNoAnimationFramesCount, iWidget->View() );
-		floatingItem.SetManualDelete( ETrue );
-		AddFloatingItemL(floatingItem, 0);
-
-	    ClearFlags( CListItemDrawer::EPressedDownState );
-    	}
-
-    iAnimator->Trigger();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsDraggable() const
-    {
-    return iDraggable && iWidget->View();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetBgContext(
-		CAknsBasicBackgroundControlContext * aBgContext )
-	{
-	iBgContext = aBgContext;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetScrollbarVisibilityL( TBool aIsScrollbarVisible )
-	{
-	iTemplateLibrary->SetScrollbarVisibilityL( aIsScrollbarVisible );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmListBoxItemDrawer::AdjustItemRect( TInt aItemIndex ) const
-	{
-	TSize size = iWidget->View()->ItemSize (iWidget->View()->CurrentItemIndex () );
-	TRect rect(iWidget->View()->ItemPos (iWidget->View()->CurrentItemIndex () ),
-			iWidget->View()->ItemPos (iWidget->View()->CurrentItemIndex () ) + size);
-	if ( !AknLayoutUtils::PenEnabled () && iIsIndicatorItem)
-		{
-		TBool landscapeOrientation =
-				Layout_Meta_Data::IsLandscapeOrientation ();
-		const TDesC8& mm_template = iMmModel->GetAttributeAsText (
-				0, KMmTemplate8);
-		TRect relativeToParentRect = TRect (TPoint (0, 0), TPoint (0, 0));
-		relativeToParentRect = iTemplateLibrary->GetMoveIndicatorRect(
-						iWidgetType, mm_template, landscapeOrientation,
-						aItemIndex == iWidget->View()->CurrentItemIndex () );
-		rect.Move (relativeToParentRect.iTl);
-		rect.iBr.iX = rect.iBr.iX + relativeToParentRect.Width ();
-		rect.iBr.iY = rect.iBr.iY + relativeToParentRect.Height ();
-		}
-	return rect;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawActualIndicatorItem( TInt aItemIndex, TRect /*actualItemRect*/ )
-	{
-	if ( iDrawMoveIndicators )
-		{
-		iIsIndicatorItem = ETrue;
-		SetRedrawItemBackground( EFalse );
-
-		DrawActualItem( aItemIndex, AdjustItemRect( aItemIndex ) , EFalse, EFalse, EFalse, EFalse);
-
-		SetRedrawItemBackground( ETrue );
-		iIsIndicatorItem = EFalse;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::ReplaceSubCellText( const TDesC& aText )
-	{
-	delete iSubcellText;
-	iSubcellText = NULL;
-	if( aText.Compare( KNullDesC() ) )
-		{
-		iSubcellText = aText.Alloc();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AddSubcellMarqueeElementL( TTemplateChild aSubCellTemplate, TInt aIndex, TInt aItemIndex )
-	{
-	TRgb textColor;
-	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-	AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
-	iMarqueeAdapter->AddMarqueeElementL( aSubCellTemplate.iRectAccordingToParent, *iSubcellText,
-			aSubCellTemplate.iFontId, textColor, aSubCellTemplate.iTextAlign, aIndex,
-			aSubCellTemplate.iRectAccordingToParent.iTl.iY,
-			aItemIndex);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetMarqueeAdapter( CMmMarqueeAdapter* aAdapter )
-	{
-	iMarqueeAdapter = aAdapter;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetMarqueeDrawing( TBool aIsMarqueeBeingDrawn )
-	{
-	iIsMarqueeBeingDrawn = aIsMarqueeBeingDrawn;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsTextClippedL( TTemplateChild aTemplateChild,
-		const TDesC& aText ) const
-	{
-    TBuf< MmMarqueeConstants::KClippingBufLength > clipbuf
-		= aText.Left( MmMarqueeConstants::KTextTrimmingThreshold);
-	TInt maxClipWidth = aTemplateChild.iRectAccordingToParent.Width();
-	const CFont* font = AknLayoutUtils::FontFromId(aTemplateChild.iFontId);
-    return AknBidiTextUtils::ConvertToVisualAndClipL( clipbuf, *font,
-    		aTemplateChild.iRectAccordingToParent.Width(), maxClipWidth );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetNumberOfColsInView(TInt aNumberOfColumns)
-	{
-	iNumberOfColsInWidget = aNumberOfColumns;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupIconSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex, TInt aItemIndex,
-		RBuf& aItemText, TInt& aSubcellIncrement ) const
-		{
-		CGulIcon* icon = NULL;
-		TTemplateChild child = aTemplateChildArray[aChildIndex];
-		if ( !IsEditMode() &&
-		        child.iImageVisualId == EImageVisualIdEditMode )
-		    {
-		    child.iIsImage = EFalse;
-		    }
-
-		if ( IsDraggable() && aItemIndex == iZoomIconIndex )
-			{
-			const TReal KNormalZoomRatio = 1.0;
-			TReal zoomDelta = ( iIconAnimationZoomRatio - KNormalZoomRatio ) / 2.0;
-			TSize size = child.iRectAccordingToParent.Size();
-			TSize sizeDelta( size.iWidth * zoomDelta, size.iHeight * zoomDelta );
-			child.iRectAccordingToParent.Grow( sizeDelta );
-			}
-
-		TSize targetSize = child.iRectAccordingToParent.Size();
-
-		CHnIconHolder* iconHolder = iMmModel->GetAttributeAsRefCountedGraphics(
-                aItemIndex, child.iData, &targetSize );
-        icon = iconHolder ? iconHolder->GetGulIcon() : NULL;
-        if ( icon )
-            {
-            CFbsBitmap* bitmap = icon->Bitmap();
-            ASSERT( bitmap );
-            //resize the item if it is a move indicator
-            if( iIsIndicatorItem )
-                {
-                AknIconUtils::SetSize( bitmap, child.iRectAccordingToParent.Size(),
-                		EAspectRatioNotPreserved );
-                }
-            else
-                {
-                TSize bmpSize = bitmap->SizeInPixels();
-                TBool setSizeRequired = bitmap->DisplayMode() == ENone;
-                if ( targetSize.iWidth && targetSize.iHeight &&
-                        ( setSizeRequired || !BitmapFitsIntoTarget( bmpSize, targetSize ) ) )
-                    {
-                    CFbsBitmap* mask = icon->Mask();
-                    if ( mask )
-                        {
-                        __ASSERT_DEBUG( bmpSize == mask->SizeInPixels(), User::Invariant() );
-                        AknIconUtils::SetSize( mask, targetSize, EAspectRatioPreservedAndUnusedSpaceRemoved );
-                        }
-                    AknIconUtils::SetSize( bitmap, targetSize, EAspectRatioPreservedAndUnusedSpaceRemoved );
-                    }
-                }
-
-            TInt iconIndex = iItemsDataCache->GetItemCacheL( aItemIndex )->AppendIconL( iconHolder );
-
-            HBufC8* number = HnConvUtils::NumToStr8LC( iconIndex );
-            const TInt newLength = aItemText.Length() + number->Length();
-            if( aItemText.MaxLength() < newLength )
-                {
-                aItemText.ReAllocL( newLength );
-                }
-            CleanupStack::PopAndDestroy( number );
-            aItemText.AppendNum( iconIndex );
-
-    	    SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-
-        	if ( aChildIndex < aTemplateChildArray.Count() - 1 )
-        	    {
-	            const TInt newLength = aItemText.Length() + KTab().Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-        	    aItemText.Append( KTab );
-        	    }
-
-        	aSubcellIncrement++;
-        	iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::EGraphicsSubcell );
-        	}
-        else
-            {
-            // Mark the fact that subcell was not set to ensure that TMmSubcellsSetupCode
-            // works properly.
-            iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ESkippedSubcell );
-            }
-		}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::BitmapFitsIntoTarget(
-        TSize aBmpSize, TSize aTargetSize ) const
-    {
-    TBool widthLessOrEqual = aBmpSize.iWidth <= aTargetSize.iWidth;
-    TBool heightLessOrEqual = aBmpSize.iHeight <= aTargetSize.iHeight;
-    TBool widthAlmostEqual = Abs( aBmpSize.iWidth - aTargetSize.iWidth ) < 2;
-    TBool heightAlmostEqual = Abs( aBmpSize.iHeight - aTargetSize.iHeight ) < 2;
-    return ( widthLessOrEqual && heightAlmostEqual ) ||
-           ( widthAlmostEqual && heightLessOrEqual );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupTextSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aChildIndex,
-		TInt aItemIndex, RBuf& aItemText, TInt& aSubcellIncrement ) const
-		{
-		TTemplateChild child = aTemplateChildArray[aChildIndex];
-		RBuf itemChildText;
-		CleanupClosePushL( itemChildText );
-		const TDesC8& mmTitleDes8 = iMmModel->GetAttributeAsText( aItemIndex,
-				child.iData  );
-		itemChildText.Assign( HnConvUtils::Str8ToStr( mmTitleDes8 ) );
-
-		AppendText( aItemText, itemChildText );
-
-		const_cast<CMmListBoxItemDrawer*>(this)->ReplaceSubCellText(
-				itemChildText );
-		CleanupStack::PopAndDestroy( &itemChildText );
-
-	    SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-
-    	if ( aChildIndex < aTemplateChildArray.Count() - 1 )
-    	    {
-    	    AppendText( aItemText, KTab );
-    	    }
-
-    	aSubcellIncrement++;
-    	iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::ETextSubcell );
-		}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::AppendText( RBuf& aBuffer, const TDesC& aTextToAppend ) const
-	{
-		TInt newLength = aBuffer.Length() + aTextToAppend.Length();
-		TInt error = KErrNone;
-
-   		if( aBuffer.MaxLength() < newLength )
-   		    {
-   		    error = aBuffer.ReAlloc( newLength );
-   		    }
-   		if ( error == KErrNone )
-   			{
-   			aBuffer.Append( aTextToAppend );
-   			}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupBackdropSubcellL(
-		RArray<TTemplateChild>& aTemplateChildArray, TInt aItemIndex,
-		RBuf& aItemText, TInt& aSubcellIncrement ) const
-	{
-    CGulIcon* icon = NULL;
-    for ( TInt i = 0; i < aTemplateChildArray.Count() /*&&
-            aItemIndex != iWidget->View()->CurrentItemIndex()*/; ++i )
-        {
-        TTemplateChild child = aTemplateChildArray[i];
-        if( child.iImageVisualId == EImageVisualIdEditMode  &&
-                child.iIsImage )
-            {
-            TSize itemSize = GetItemSize( aItemIndex,
-            		aItemIndex == iWidget->View()->CurrentItemIndex() );
-            CHnIconHolder* iconHolder = iMmModel->GetAttributeAsRefCountedGraphics( aItemIndex, child.iData, &itemSize );
-            icon = iconHolder ? iconHolder->GetGulIcon() : NULL;
-            if ( icon )
-                {
-                CFbsBitmap* bitmap = icon->Bitmap();
-				child.iRectAccordingToParent = TRect( TPoint( 0, 0 ),
-						TPoint( itemSize.iWidth, itemSize.iHeight ) );
-				AknIconUtils::SetSize( bitmap, itemSize,
-						EAspectRatioNotPreserved );
-				TInt iconIndex = iItemsDataCache->GetItemCacheL( aItemIndex )->AppendIconL( iconHolder );
-
-                HBufC8* number = HnConvUtils::NumToStr8LC( iconIndex );
-                TInt newLength = aItemText.Length() + number->Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-                CleanupStack::PopAndDestroy( number );
-                aItemText.AppendNum( iconIndex );
-
-                newLength = aItemText.Length() + KTab().Length();
-                if( aItemText.MaxLength() < newLength )
-                    {
-                    aItemText.ReAllocL( newLength );
-                    }
-                aItemText.Append( KTab );
-                SetupSubCellL( child, aSubcellIncrement, aItemIndex );
-                aSubcellIncrement++;
-                iLastSubcellsSetupCode.AddSubcellInfo( TMmSubcellsSetupCode::EBackdropSubcell );
-                }
-            }
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetupSubCellsL( TBool aItemIsCurrent,
-        TInt aItemIndex ) const
-    {
-    CMmCacheForItem* cache = iItemsDataCache->GetItemCacheL( aItemIndex );
-    cache->SetValidL( EFalse );
-
-    const TDesC8& mmTemplate = iMmModel->GetAttributeAsText( aItemIndex, KMmTemplate8 );
-    if ( !mmTemplate.Compare( KNullDesC8 ) || !mmTemplate.Compare( KEmpty8 ) )
-        {
-        User::Leave( KErrNotFound );
-        }
-    cache->SetTemplateL( mmTemplate );
-
-    cache->ClearIconArray();
-    cache->SetCurrent( aItemIsCurrent );
-
-    TBool landscapeOrientation = Layout_Meta_Data::IsLandscapeOrientation();
-
-    RBuf& itemText = cache->GetItemTextForModifications();
-    itemText.Close();
-    itemText.CreateL( MmTemplateContants::KItemSubCellsText );
-
-    RArray<TTemplateChild> templateChildArray;
-    CleanupClosePushL( templateChildArray );
-    if ( !iIsIndicatorItem )
-		{
-		iTemplateLibrary->GetChildrenL( iWidgetType, templateChildArray, mmTemplate,
-				landscapeOrientation, aItemIsCurrent,	IsEditMode() );
-		}
-    else if ( !AknLayoutUtils::PenEnabled() )
-		{
-		iTemplateLibrary->GetMoveIndicatorChildrenL( iWidgetType, templateChildArray,
-	    		mmTemplate, landscapeOrientation, aItemIsCurrent );
-		}
-
-    iLastSubcellsSetupCode.Clear();
-
-    //Backdrop icon as first element to draw
-    TInt subcellIncrement( 0 );
-    if ( GetBackdropVisibility( aItemIndex, aItemIsCurrent ) )
-        {
-        SetupBackdropSubcellL( templateChildArray, aItemIndex, itemText, subcellIncrement );
-        iItemHasBackdrop = ETrue;
-        }
-    else
-    	{
-    	iItemHasBackdrop = EFalse;
-    	}
-
-	for ( TInt i( 0 ) ; i < templateChildArray.Count() && !iLeftOverAreaUnderAnimatedItem; i++ )
-		{
-		TTemplateChild child = templateChildArray[i];
-        if ( child.iImageVisualId == EImageVisualIdEditMode && child.iIsImage )
-            {
-            continue;
-            }
-        else if( !child.iIsImage )
-    		{
-    		SetupTextSubcellL( templateChildArray, i, aItemIndex, itemText, subcellIncrement );
-    		}
-    	else
-    		{
-    		SetupIconSubcellL( templateChildArray, i, aItemIndex, itemText, subcellIncrement );
-    		}
-		}
-	TInt subcellsJustSet = subcellIncrement;
-	iCurrentNumberOfSubcellsSet = Max( iCurrentNumberOfSubcellsSet, subcellsJustSet );
-	__ASSERT_DEBUG( iCurrentNumberOfSubcellsSet <= MmTemplateContants::KSubCellsCount,
-	        User::Invariant() );
-
-	for ( TInt i = subcellIncrement; i < iCurrentNumberOfSubcellsSet; i++ )
-	    {
-	    SetupSubNoCellL( i, aItemIndex );
-	    }
-
-	iLastSubcellsSetupCode.AddTemplateInfo(
-	        iItemsDataCache->GetTemplateIdentifierL( mmTemplate ) );
-	iLastSubcellsSetupCode.AddIsCurrentInfo( aItemIsCurrent );
-
-	CleanupStack::PopAndDestroy( &templateChildArray );
-
-	cache->SetSubcellsSetupCode( iLastSubcellsSetupCode );
-	// the line below is here only to make the cached information complete
-	GetItemSize( aItemIndex, aItemIsCurrent );
-	cache->SetValidL( ETrue );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmTemplateLibrary* CMmListBoxItemDrawer::TemplateLibrary()
-    {
-    return iTemplateLibrary;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::SetHighlightShown( TBool aDrawn )
-	{
-	iHighlightShown = aDrawn;
-	iDrawMoveIndicators = aDrawn;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::IsFloating( TInt aItemIndex ) const
-    {
-    TBool isFloating( EFalse );
-
-    TInt index = GetFloatingItemIndex( EDrag );
-    if (index == KErrNotFound)
-    	{
-    	index = GetFloatingItemIndex( EDragTransition );
-    	}
-
-    if ( KErrNotFound != index )
-        {
-        TMmFloatingItem& current = const_cast<CMmListBoxItemDrawer*>(this)->GetFloatingItemAtIndex( index );
-        TInt drawnIndex = current.GetDrawnItemIndex();
-        if ( drawnIndex == aItemIndex )
-            {
-            isFloating = ETrue;
-            }
-        }
-    return isFloating;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxItemDrawer::DrawActualItem(TInt aItemIndex,
-		const TRect& aActualItemRect, TBool aItemIsCurrent,
-		TBool aViewIsEmphasized, TBool /*aViewIsDimmed*/,
-		TBool aItemIsSelected) const
-		{
-		if (Properties(aItemIndex).IsSelectionHidden())
-			{
-			aItemIsSelected = EFalse;
-			}
-		DrawItemText(aItemIndex,aActualItemRect,aItemIsCurrent,
-				aViewIsEmphasized,aItemIsSelected);
-		}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::GetHighlightVisibility( TInt aItemIndex,
-		TBool aItemIsCurrent, TBool aAllowHighlightForNonDraggedItem ) const
-	{
-	TBool highlightVisibility(EFalse);
-	if (!iItemHasBackdrop && !iLeftOverAreaUnderAnimatedItem ) //never draw highlight when item has backdrop or when left over area under animated item
-		{
-		TBool currentlyDraggedItem =
-			ItemHasFloatingType( aItemIndex, EDrag ) ||
-			ItemHasFloatingType( aItemIndex, EDragTransition );
-
-		if ( ( STATIC_CAST(CMmWidgetContainer*,Widget()->Parent())->IsHighlightVisible()
-				&& aItemIsCurrent && aAllowHighlightForNonDraggedItem )
-				|| currentlyDraggedItem )
-			{
-			highlightVisibility = ETrue;
-			}
-		}
-	return highlightVisibility;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::GetBackdropVisibility( TInt aItemIndex,
-		TBool aItemIsCurrent ) const
-	{
-	TBool currentlyDraggedItem =
-		ItemHasFloatingType( aItemIndex, EDrag ) ||
-		ItemHasFloatingType( aItemIndex, EDragTransition );
-
-    return 	IsEditMode() /* draw the backdrop only in edit mode */
-    		&& !currentlyDraggedItem /* backdrop is disabled for dragged items */
-    		&& !iIsIndicatorItem /* in non-touch backdrop is not drawn, just "move indicators" */
-    		&& !iLeftOverAreaUnderAnimatedItem /* is the currently drawn item the area left over behind dragged item*/
-    		&& !( STATIC_CAST( CMmWidgetContainer*,Widget()->Parent() )->IsHighlightVisible()
-    				&& aItemIsCurrent );/*if the timer is active then we want to draw highlight (not backdrop) on the current index*/
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxItemDrawer::ItemHasFloatingType( TInt aItemIndex,
-		TMmFloatingItemType aFloatingType) const
-	{
-	TBool hasFloatingType( EFalse );
-	for ( TInt i = iFloatingItems.Count() - 1 ; i >= 0; i-- )
-        {
-		const TMmFloatingItem& item = iFloatingItems[i];
-        if ( item.GetFloatingItemType() == aFloatingType
-        		&& item.GetDrawnItemIndex() == aItemIndex )
-            {
-            hasFloatingType = ETrue;
-            break;
-            }
-        }
-	return hasFloatingType;
-	}
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxmodel.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-#include "mmlistboxmodel.h"
-#include "mmwidgetsconstants.h"
-#include <eiktxlbm.h> 
-#include "hnconvutils.h"
-#include "hnsuiteobserver.h"
-#include "hnsuitemodel.h"
-#include "hnitemmodel.h"
-#include "hnattributebase.h"
-#include "hnattributeimage.h"
-#include "hnmenuitemmodel.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//    
-CMmListBoxModel::CMmListBoxModel() 
-    : iSuiteModel( NULL )
-	{
-	
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel::~CMmListBoxModel()
-	{
-    if (iSuiteModel)
-    	{
-        iSuiteModel->UnregisterSuiteObserver( this );
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxModel::NewLC()
-	{
-	CMmListBoxModel* self = new (ELeave) CMmListBoxModel();
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmListBoxModel* CMmListBoxModel::NewL()
-	{
-	CMmListBoxModel* self = CMmListBoxModel::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::SetSuiteModelL( CHnSuiteModel * aSuiteModel )
-    {   
-    if (iSuiteModel)
-        iSuiteModel->UnregisterSuiteObserver( this );
-    
-    iSuiteModel = aSuiteModel;
-    UpdateDummyArrayDataL();
-    
-    if (iSuiteModel)
-        iSuiteModel->RegisterSuiteObserverL( this, EPriorityNormal );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CHnAttributeBase* CMmListBoxModel::GetAttribute( TInt aIndex,
-        const TDesC8 & aAttributeName )
-    {
-    CHnItemModel* item = (iSuiteModel) ? iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( aIndex ) ) : NULL;
-    return (item) ? item->GetAttribute( aAttributeName ) : NULL;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-const TDesC8& CMmListBoxModel::GetAttributeAsText( TInt aIndex,
-		const TDesC8 & aAttributeName )
-    {
-    CHnAttributeBase* attribute = GetAttribute( aIndex, aAttributeName );
-    return (attribute) ? attribute->Value() : KNullDesC8;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CHnIconHolder* CMmListBoxModel::GetAttributeAsRefCountedGraphics( TInt aIndex,
-        const TDesC8 & aAttributeName, TSize* aDesiredIconSize)
-    {
-    CHnAttributeBase* attribute = GetAttribute( aIndex, aAttributeName );
-    if ( !attribute || attribute->Type() != EImageAttribute )
-        {
-        return NULL;
-        }
-    return attribute->GetIconHolder( aDesiredIconSize );
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::ConstructL()
-	{
-	CTextListBoxModel::ConstructL();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::UpdateDummyArrayDataL( )
-    {
-    CDesCArrayFlat* dataArray = static_cast<CDesC16ArrayFlat*>( ItemTextArray() );
-    dataArray->Reset();
-    for( TInt i(0); iSuiteModel && i < iSuiteModel->GetItemModelsCount(); i++ )
-        {
-        CHnItemModel* itemModel = iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( i ) );
-        CHnItemModel* emptyItem = iSuiteModel->GetItemModel( iSuiteModel->IdByIndex( -1 ) );
-        if (!itemModel || itemModel == emptyItem )
-            {
-            continue;
-            }
-        dataArray->AppendL( KNullDesC16() );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::ReorderModelL(TInt aFromIndex, TInt aToIndex)
-    {
-    iSuiteModel->ReorderItemsL( aFromIndex, aToIndex );
-    UpdateDummyArrayDataL();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CHnSuiteModel* CMmListBoxModel::GetSuiteModel()
-    {
-    return iSuiteModel;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmListBoxModel::HandleSuiteEventL( THnCustomSuiteEvent aCustomSuiteEvent,
-        CHnSuiteModel* aModel)
-    {
-    if (iSuiteModel == aModel)
-        {
-        switch ( aCustomSuiteEvent )
-    	    {
-    	    case ESuiteModelDestroyed:
-    		    iSuiteModel = NULL;
-    		    break;
-    	    case ESuiteItemsAdded:
-    	    case ESuiteItemsRemoved:
-    	    case ESuiteItemsUpdated:
-    	        UpdateDummyArrayDataL( );
-    	    default:
-    	    	break;
-    	    }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmListBoxModel::GetNumberOfSpecificMenuItemsL( TInt aItemIndex )
-    {
-    TInt itemSpecificMenuItemCount = KErrNotFound;
-    if ( iSuiteModel )
-        {
-        TInt itemId = iSuiteModel->IdByIndex( aItemIndex );
-        if ( itemId != KErrNotFound )
-            {
-            itemSpecificMenuItemCount = 0;
-            MHnMenuItemModelIterator* menuItemModelIter =
-                    iSuiteModel->GetMenuStructureL( itemId );
-            while ( menuItemModelIter && menuItemModelIter->HasNextSpecific() )
-                {
-                menuItemModelIter->GetNextSpecific();
-                ++itemSpecificMenuItemCount;
-                }
-            }
-        }
-    return itemSpecificMenuItemCount;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmlistboxview.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,663 +0,0 @@
-/*
-* 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:
- *  Version     : %version: MM_50 % << Don't touch! Updated by Synergy at check-out.
- *
-*/
-
-
-
-#include "mmlistboxview.h"
-#include "mmlistbox.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include "hnsuitemodel.h"
-#include "hnitemsorder.h"
-#include <eikfrlb.h>
-#include <AknUtils.h>
-#include <eikfrlbd.h>
-#include <eikspmod.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknsDrawUtils.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistboxtfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <akntransitionutils.h>
-#include <aknlistloadertfx.h>
-#endif
-
-CMmListBoxView::CMmListBoxView ()
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView::~CMmListBoxView ()
-	{
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView* CMmListBoxView::NewLC ()
-	{
-	CMmListBoxView* self = new (ELeave)CMmListBoxView();
-	CleanupStack::PushL (self);
-	self->ConstructL ();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmListBoxView* CMmListBoxView::NewL ()
-	{
-	CMmListBoxView* self=CMmListBoxView::NewLC ();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::ConstructL ()
-	{
-	iScrollbarIsVisible = ETrue;
-	iPreviouslyDrawnCurrentItemIndex = KErrNotFound;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::UpdateAverageItemHeight ()
-	{
-	TInt count( iModel->NumberOfItems() );
-	if ( !count )
-	    {
-	    SetItemHeight( 2 );
-	    }
-	else
-	    {
-	    TInt totalHeight = GetTotalHeight( 0, count - 1 );
-	    TInt averageItemHeight = totalHeight / count;
-	    if ( totalHeight % count )
-	        {
-	        ++averageItemHeight;
-	        // this ensures that it is always possible to
-	        // scroll to the very bottom of the view by
-	        // using scrollbar.
-	        }
-	    SetItemHeight( averageItemHeight );
-	    }
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetTotalHeight (const TInt aStartIndex, TInt aEndIndex) const
-	{
-	TInt totalHeight = 0;
-
-	if ( aEndIndex >= 0)
-		{
-		TInt itemCount = iModel->NumberOfItems ();
-		aEndIndex = (aEndIndex >= itemCount ) ? itemCount-1 : aEndIndex;
-		CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-		for (TInt i(aStartIndex); i <= aEndIndex; i++)
-			{
-			totalHeight += drawer->GetItemHeight (i, CurrentItemIndex () == i);
-			}
-		}
-
-	return totalHeight;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetLastIndexInHeight (const TInt aStartIndex, TInt aHeight) const
-	{
-	TInt i = aStartIndex;
-	TInt totalHeight = 0;
-
-	TInt itemCount(iModel->NumberOfItems () );
-	CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-
-	for (; (i > -1) && (i < itemCount); i++)
-		{
-		totalHeight += drawer->GetItemHeight (i, CurrentItemIndex () == i);
-		if ( totalHeight > aHeight)
-			break;
-		}
-
-	TInt ret(i - aStartIndex);
-	
-	if ( !AknLayoutUtils::PenEnabled() && totalHeight > aHeight )
-		{
-		ret--; // exclude partial item
-		}
-
-	return ret;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::NumberOfItemsThatFitInRect(const TRect& aRect) const
-	{
-	return GetNumberOfItemsThatFitInRect( aRect, EFalse );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::GetNumberOfItemsThatFitInRect (const TRect& aRect,
-		TBool aIncludePartialItem ) const
-	{
-	TInt i = iTopItemIndex;
-	TInt totalHeight = iVerticalOffset;
-
-	TInt itemCount( iModel->NumberOfItems () );
-	CMmListBoxItemDrawer* drawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer);
-	while (totalHeight < aRect.Height ())
-		{
-		totalHeight += ((i > -1) && (i < itemCount )) ? drawer->GetItemHeight (
-				i, CurrentItemIndex () == i) : iItemHeight;
-		++i;
-		}
-
-	TInt ret(i - iTopItemIndex);
-
-	if ( !AknLayoutUtils::PenEnabled() && !aIncludePartialItem && totalHeight > aRect.Height() )
-		{
-		ret--; // exclude partial item
-		}
-
-	return ret;
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::CalcBottomItemIndex ()
-	{
-
-	TInt numberOfVisibleItems = NumberOfItemsThatFitInRect( iViewRect );
-	iBottomItemIndex = Min( iTopItemIndex + numberOfVisibleItems - 1,
-	        iModel->NumberOfItems() );
-
-	// The next piece of code removes filtering from find box when
-	// new list items are added.
-	if ( Flags () & CListBoxView::EItemCountModified)
-		{
-		CAknFilteredTextListBoxModel *model= STATIC_CAST(CAknFilteredTextListBoxModel*,iModel);
-		CAknListBoxFilterItems *filter = model ? model->Filter () : 0;
-		if ( filter)
-			{
-			TRAP_IGNORE(filter->ResetFilteringL());
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::Draw (const TRect* aClipRect) const
-	{
-    TBool drawingInitiated(EFalse);
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && iWin->GetDrawRect() == TRect::EUninitialized )
-    	{
-    	TRect a(ViewRect());
-    	if (!aClipRect || *aClipRect == TRect(0,0,0,0) )
-    		{
-    		aClipRect = &a;
-    		}
-    	drawingInitiated=ETrue;
-		iWin->Invalidate( *aClipRect );
-		iWin->BeginRedraw( *aClipRect );
-    	}
-
-	DoDraw(aClipRect);
-
-	CMmListBoxItemDrawer* itemDrawer =
-			static_cast<CMmListBoxItemDrawer*>(iItemDrawer );
-    if (aClipRect)
-        {
-        TRect rect(*aClipRect);
-        rect.iTl.iY = ItemPos( BottomItemIndex() ).iY + ItemSize( BottomItemIndex() ).iHeight;
-
-//      iGc->SetClippingRect( rect );
-//		removed to prevent non-redraw drawing. Was present to prevent out of view drawing when effects are on.
-//      could be removed because effects were disabled at some point in edit mode to enhance performance.
-        itemDrawer->DrawFloatingItems( rect );
-//      iGc->CancelClippingRect();
-        }
-
-    if ( CAknEnv::Static()->TransparencyEnabled() &&
-    		iWin && drawingInitiated )
-    	{
-    	drawingInitiated = EFalse;
-    	iWin->EndRedraw( );
-    	}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DoDraw(const TRect* aClipRect) const
-	{
-	CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	view->UpdateAverageItemHeight ();
-
-	CMmListBoxModel* model = static_cast< CMmListBoxModel* > ( iModel );
-	if ( model && model->GetSuiteModel()
-			&& !model->GetSuiteModel()->GetItemsOrder()->IsSuiteReadyToShow() )
-		{
-		return;
-		}
-
-	if ( RedrawDisabled () || !IsVisible () )
-		{
-		return;
-		}
-
-	TInt i = iTopItemIndex;
-	CMmListBoxItemDrawer* itemDrawer =
-			static_cast<CMmListBoxItemDrawer*>(iItemDrawer );
-	MAknsSkinInstance *skin = AknsUtils::SkinInstance ();
-	CCoeControl* control = itemDrawer->FormattedCellData()->Control ();
-	MAknsControlContext *cc = AknsDrawUtils::ControlContext (control);
-
-	if ( !cc)
-		{
-		cc = itemDrawer->FormattedCellData()->SkinBackgroundContext ();
-		}
-	
-	itemDrawer->SetTopItemIndex (iTopItemIndex);
-
-	if ( iModel->NumberOfItems () > 0)
-		{
-		TBool drawingInitiated = ETrue;
-		if ( CAknEnv::Static()->TransparencyEnabled () )
-			{
-			if ( iWin && iWin->GetDrawRect () == TRect::EUninitialized)
-				{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-								MAknListBoxTfxInternal* transApi =
-									CAknListLoader::TfxApiInternal( iGc );
-								drawingInitiated = transApi && !transApi->EffectsDisabled();
-#else
-				drawingInitiated = EFalse;
-#endif
-				}
-
-			if ( !drawingInitiated)
-				{
-				iWin->Invalidate ( *aClipRect);
-				iWin->BeginRedraw ( *aClipRect);
-				}
-			}
-
-		TInt lastPotentialItemIndex = Min (iModel->NumberOfItems (),
-				iTopItemIndex + GetNumberOfItemsThatFitInRect( ViewRect (), ETrue ) );
-		while (i < lastPotentialItemIndex)
-			{
-            DrawItem(i++);
-            }
-
-		RedrawBackground();
-
-		if ( CAknEnv::Static()->TransparencyEnabled () && !drawingInitiated)
-			{
-			iWin->EndRedraw ();
-			}
-		}
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DrawItem (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-	TBool currentChanged( CurrentItemIndex() != iPreviouslyDrawnCurrentItemIndex );
-	TBool redrawConsumed(EFalse);
-	if ( currentChanged )
-		{
-		CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-		redrawConsumed =
-			static_cast<CMmListBox*> (itemDrawer->Widget())->RedrawIfNecessary(
-								iPreviouslyDrawnCurrentItemIndex,
-								CurrentItemIndex());
-		view->SetPreviouslyDrawnCurrentItemIndex( CurrentItemIndex() );
-		}
-	
-	if ( !redrawConsumed )
-		{
-		DrawSingleItem ( aItemIndex );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmListBoxView::ItemSize (TInt aItemIndex) const
-	{
-	CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	view->UpdateAverageItemHeight ();
-
-    CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-    TSize size(CFormattedCellListBoxView::ItemSize(aItemIndex).iWidth, itemDrawer->GetItemHeight (aItemIndex,
-            CurrentItemIndex () == aItemIndex) );
-
-    if ( size.iHeight < 2)
-        size.iHeight = 2;
-
-    return size;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TPoint CMmListBoxView::ItemPos (TInt aItemIndex) const
-	{
-	TInt vRealPos = CFormattedCellListBoxView::ItemPos(TopItemIndex()).iY;
-	TInt totalHeight = 0;
-	if ( aItemIndex > iTopItemIndex )
-	    {
-	    totalHeight = GetTotalHeight( iTopItemIndex, aItemIndex - 1 );
-	    }
-	else if ( aItemIndex < iTopItemIndex )
-	    {
-	    totalHeight = -GetTotalHeight( aItemIndex, iTopItemIndex - 1 );
-	    }
-
-	return TPoint (-iHScrollOffset + iViewRect.iTl.iX, iViewRect.iTl.iY
-			+ totalHeight + vRealPos);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxView::XYPosToItemIndex (TPoint aPosition, TInt& aItemIndex) const
-	{
-	// returns ETrue and sets aItemIndex to the index of the item whose bounding box contains aPosition
-	// returns EFalse if no such item exists
-	TBool itemFound = EFalse;
-	if ( iViewRect.Contains (aPosition))
-		{
-		TInt vRealPos = CFormattedCellListBoxView::ItemPos(TopItemIndex()).iY;
-		// aPosition is inside the display area
-		TInt numberOfVisibleItems = GetLastIndexInHeight (iTopItemIndex,
-				aPosition.iY - iViewRect.iTl.iY - vRealPos );
-		TInt itemAtSpecifiedPos = iTopItemIndex + numberOfVisibleItems;
-		aItemIndex = itemAtSpecifiedPos;
-		itemFound = ( GetTotalHeight( iTopItemIndex, iBottomItemIndex )
-            >= aPosition.iY ) && ( iModel->NumberOfItems() > itemAtSpecifiedPos );
-//        if ( itemFound )
-//            {
-//            // aPosition is inside the display area
-//            TInt numberOfVisibleItems = GetLastIndexInHeight (iTopItemIndex,
-//                    aPosition.iY - iViewRect.iTl.iY);
-//            TInt itemAtSpecifiedPos = iTopItemIndex + numberOfVisibleItems;
-//            aItemIndex = itemAtSpecifiedPos;
-//            }
-		}
-	return itemFound;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::SetItemHeight (TInt aItemHeight)
-	{
-	//	we need to update the iItemHeight member in widget also (there are two different item height value holders - in widget and here in widget view)
-	iItemHeight = aItemHeight;
-	
-	CMmListBoxItemDrawer* itemDrawer =
-			STATIC_CAST( CMmListBoxItemDrawer*, ItemDrawer() );
-	static_cast<CMmListBox*>(itemDrawer->Widget())->SetItemHeight( aItemHeight );
-		
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::CalcNewTopItemIndexSoItemIsVisible (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer =
-            static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-
-	TInt newTopItemIndex = iTopItemIndex;
-
-	TInt itemHeight = itemDrawer->
-		GetItemHeight( aItemIndex, aItemIndex == CurrentItemIndex() );
-	
-	// ItemIsPartiallyVisible uses fixed iItemHeight, but we have to support
-	// variable item height in lists, unfortunately ItemIsPartiallyVisible
-	// is not virtual
-    TPoint itemPosition( ItemPos( aItemIndex ) );
-    TBool itemPartiallyVisible =
-        ( itemPosition.iY < iViewRect.iTl.iY &&
-          itemPosition.iY + itemHeight >= iViewRect.iTl.iY ) ||
-        ( itemPosition.iY <= iViewRect.iBr.iY &&
-          itemPosition.iY + itemHeight > iViewRect.iBr.iY );
-		
-	TBool itemIsFullyVisible = ItemIsVisible( aItemIndex ) &&
-            !itemPartiallyVisible;
-
-	TBool itemIsAboveVisibleArea = !itemIsFullyVisible &&
-            ItemPos( aItemIndex ).iY < ViewRect().iTl.iY;
-		
-	TBool itemIsBeneathVisibleArea = !itemIsFullyVisible &&
-            !itemIsAboveVisibleArea && ItemPos( aItemIndex ).iY + itemDrawer->
-            GetItemHeight( aItemIndex, aItemIndex == CurrentItemIndex() ) >
-            ViewRect().iBr.iY;
-
-	if ( itemIsAboveVisibleArea )
-	    {
-	    newTopItemIndex = aItemIndex;
-	    const_cast<CMmListBoxView*>( this )->SetItemOffsetInPixels( 0 );
-	    }
-
-	if ( itemIsBeneathVisibleArea )
-        {
-        const TInt viewHeight = ViewRect().Height(); 
-        newTopItemIndex = aItemIndex;
-        for ( ;; )
-            {
-            TInt totalHeight = GetTotalHeight( newTopItemIndex, aItemIndex );
-            if ( totalHeight >= viewHeight || newTopItemIndex == 0 )
-                {
-                const_cast<CMmListBoxView*>( this )->SetItemOffsetInPixels(
-                        viewHeight - totalHeight );
-                break;
-                }
-            --newTopItemIndex;
-            }
-        }
-
-	return newTopItemIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::RedrawBackground (TRect aUsedPortionOfViewRect,
-		TRect aSmallerViewRect) const
-	{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-        MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal(iGc);
-    if (transApi)
-        {
-        transApi->StartDrawing(MAknListBoxTfxInternal::EListView);
-        }
-#endif
-
-	CMmListBoxItemDrawer* itemDrawer = STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-    MAknsSkinInstance *skin = AknsUtils::SkinInstance();
-    CCoeControl* control = itemDrawer->FormattedCellData()->Control();
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext(control);
-
-	if (control)
-        {
-        AknsDrawUtils::BackgroundBetweenRects(skin, cc, control, *iGc,
-                aSmallerViewRect, aUsedPortionOfViewRect);
-        }
-    else
-        {
-        iGc->SetBrushColor(BackColor());
-        DrawUtils::ClearBetweenRects(*iGc, aSmallerViewRect,
-                aUsedPortionOfViewRect);
-        }
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    if (transApi)
-        {
-        transApi->StopDrawing();
-        }
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::RedrawBackground () const
-    {
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-    CMmListBoxItemDrawer* drawer =
-            static_cast<CMmListBoxItemDrawer*>( iItemDrawer );
-    CMmTemplateLibrary* templateLib = drawer->TemplateLibrary();
-
-    TInt usedPortionHeight = GetTotalHeight(iTopItemIndex, iBottomItemIndex );
-    TInt usedPortionWidth = iViewRect.Width();
-    if (templateLib->GetScrollbarVisibility())
-        {
-        usedPortionWidth -= templateLib->ScrollbarWidth();
-        }
-
-    TRect usedPortionOfViewRect(iViewRect.iTl, TSize(usedPortionWidth,
-            usedPortionHeight));
-    usedPortionOfViewRect.Move(0,
-            CFormattedCellListBoxView::ItemPos(iTopItemIndex).iY);
-    
-    RedrawBackground(usedPortionOfViewRect, iViewRect);
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::SetPreviouslyDrawnCurrentItemIndex( TBool aIndex )
-	{
-	iPreviouslyDrawnCurrentItemIndex = aIndex;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DrawSingleItem (TInt aItemIndex) const
-	{
-	CMmListBoxItemDrawer* itemDrawer =
-            STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-	TBool highlightVisible = !( itemDrawer->Flags()
-	        & CListItemDrawer::ESingleClickDisabledHighlight );
-	TSize size = itemDrawer->GetItemSize( aItemIndex, highlightVisible &&
-	        CurrentItemIndex() == aItemIndex );
-	itemDrawer->SetItemCellSize( size );
-	
-	// CMmListBoxView* view= CONST_CAST( CMmListBoxView*, this );
-	// view->SetItemHeight( size.iHeight );
-	// The above line (currently commented-out) was originaly needed to correct
-	// some drawing-related error which used to occur when moving highlight with
-	// rocker keys. It seems that this is no longer needed. If anything should
-	// change, please note that now the SetItemHeight method does much more than
-	// it used to, so simply uncommenting this line would be a bad idea (consider
-	// setting the iItemHeight member variable directly). 
-	
-	CFormattedCellListBoxView::DrawItem (aItemIndex);
-
-	//To eliminate the effect of undrawn fragment of background, when the last
-	//is drawn, background is refreshed
-	if ( aItemIndex == ( iModel->NumberOfItems()-1 ) && ItemIsVisible( iModel->NumberOfItems()-1 ) )
-		{
-		CMmListBoxItemDrawer* itemDrawer= STATIC_CAST( CMmListBoxItemDrawer*, iItemDrawer );
-		if ( !itemDrawer->IsEditMode() )
-			{
-			RedrawBackground();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmListBoxView::VerticalItemOffset() const
-	{
-	return iVerticalOffset;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmListBoxView::ScrollToMakeItemVisible(TInt aItemIndex)
-    {
-    TBool scrollConsumed(EFalse);
-    if ( !iScrollToItemDisabled )
-        {
-        scrollConsumed = CFormattedCellListBoxView::ScrollToMakeItemVisible(
-                aItemIndex);
-        }
-    return scrollConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmListBoxView::DisableScrollToItem( TBool aDisable )
-    {
-    iScrollToItemDisabled = aDisable;
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmmarqueeadapter.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,395 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <AknUtils.h>
-#include <eikfrlb.h>
-#include <AknBidiTextUtils.h>
-#include <gdi.h>
-#include <AknLayoutFont.h>
-
-#include "mmlistbox.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetsconstants.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeAdapter ()
-	{
-	// No implementation required
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::~CMmMarqueeAdapter ()
-	{
-	iMarqueeElements.ResetAndDestroy();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter* CMmMarqueeAdapter::NewLC ()
-	{
-	CMmMarqueeAdapter* self = new (ELeave)CMmMarqueeAdapter();
-	CleanupStack::PushL (self);
-	self->ConstructL ();
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter* CMmMarqueeAdapter::NewL ()
-	{
-	CMmMarqueeAdapter* self = CMmMarqueeAdapter::NewLC ();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::ConstructL ()
-	{
-	iMarqueeEnabled = ETrue;
-	iCurrentMarqueeItemIndex = -1;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::AddMarqueeElementL(
-	    const TRect& aRect,
-	    const TDesC& aText,
-	    TAknLogicalFontId aFont,
-	    TRgb  aColor,
-		CGraphicsContext::TTextAlign aAlign,
-		TInt aIndex,
-		TInt aBaselineOffset,
-		TInt aCurrentlyDrawnItemIndex
-	    )
-	{
-	if( !iMarqueeEnabled )
-		{
-		return;
-		}
-	
-	if ( aCurrentlyDrawnItemIndex != iCurrentMarqueeItemIndex )
-		{
-		StopMarqueeDrawing();
-		iCurrentMarqueeItemIndex = aCurrentlyDrawnItemIndex;
-		}
-
-	CMmMarqueeElement* element = NULL;
-	TInt elementIndex(0);
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aIndex)
-			{
-			element = iMarqueeElements[i];
-			elementIndex = i;
-			break;
-			}
-		}
-
-	if ( element )
-		{
-		const TDesC& previousText = *(element->iText);
-		TBool textChanged = previousText.Compare( aText );
-	
-		if ( textChanged )
-			{
-			CAknMarqueeControl * control = element->iMarqueeControl;
-			control->Stop();
-			control->Reset();
-			iMarqueeElements.Remove(elementIndex );
-			delete element;
-			}
-		}
-	
-	if( SubcellMarqueeElementExists( aIndex ) )
-		{
-		return;
-		}
-		
-	CMmMarqueeElement* newElement = 
-		CMmMarqueeElement::NewL( aRect, aAlign, aText, aFont, aColor, aIndex, aBaselineOffset );
-	CleanupStack::PushL( newElement );
-	newElement->SetupMarqueeControlL( MmMarqueeConstants::KLoops,
-			MmMarqueeConstants::KScrollAmount, MmMarqueeConstants::KScrollDelay);
-    TCallBack callBack(CMmMarqueeAdapter::RedrawEvent, iListbox);
-    if ( newElement->iMarqueeControl ) 
-    	{
-        newElement->iMarqueeControl->SetRedrawCallBack(callBack);
-    	}
-    iMarqueeElements.AppendL( newElement );
-    CleanupStack::Pop( newElement );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::StopMarqueeDrawing(TInt aIndex)
-	{
-    for (TInt elementIndex = iMarqueeElements.Count() - 1;
-            elementIndex >= 0; elementIndex--)
-        {
-        if ((aIndex < 0) ||
-                (iMarqueeElements[elementIndex]->iSubcellIndex == aIndex))
-            {
-            CMmMarqueeElement* element = iMarqueeElements[elementIndex];
-            CAknMarqueeControl * control = element->iMarqueeControl;
-            control->Stop();
-            control->Reset();
-            iMarqueeElements.Remove(elementIndex);
-            delete element;
-            if (iMarqueeElements.Count() == 0 || (aIndex >= 0))
-                {
-                iCurrentMarqueeItemIndex = -1;
-                break;
-                }
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::EnableMarquee( TBool aEnable )
-	{
-	iMarqueeEnabled = aEnable;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::DrawMarqueeL(CWindowGc & aGc )
-	{
-	if ( iCurrentMarqueeItemIndex != iListbox->View()->CurrentItemIndex() )
-		{
-		StopMarqueeDrawing();
-		return;
-		}
-	else if ( iMarqueeEnabled )
-		{
-		for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-			{
-			CMmMarqueeElement* element = iMarqueeElements[i];
-			CAknMarqueeControl* control = element->iMarqueeControl;
-			control->EnableMarquee( ETrue );
-			
-//			Setup graphical context ( font, colors ) for marquee
-			const CFont* font = AknLayoutUtils::FontFromId( element->iFont );
-            TInt baseLineOffset = CAknLayoutFont::AsCAknLayoutFontOrNull( font )->TextPaneTopToBaseline();
-            aGc.UseFont(font);
-            aGc.SetPenColor( element->iColor );
-            aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-            
-//			Let marquee know if it needs to do bidi conversion
-            control->UseLogicalToVisualConversion( ETrue );
-            
-            TRect subcellRectOnScreen = element->iElementRect;
-            TPoint currentItemPositionOnScreen 
-				= iListbox->View()->ItemPos( iListbox->View()->CurrentItemIndex() );
-            subcellRectOnScreen.Move( currentItemPositionOnScreen.iX , currentItemPositionOnScreen.iY );
-            if ( control->DrawText(aGc, subcellRectOnScreen, *(element->iText),
-            		baseLineOffset, element->iAlign, *font) )
-            	
-                {
-//              All the loops have been executed, the text needs to be truncated.
-                TBuf< MmMarqueeConstants::KClippingBufLength > clipbuf 
-					= (element->iText)->Left( MmMarqueeConstants::KTextTrimmingThreshold );
-//              Get the clipping buffer and draw it
-            	TInt maxClipWidth = element->iElementRect.Width();
-                AknBidiTextUtils::ConvertToVisualAndClipL( clipbuf, *font,
-                		element->iElementRect.Width(), maxClipWidth );
-                aGc.DrawText(clipbuf, subcellRectOnScreen, baseLineOffset , element->iAlign, 0);
-                }
-//          Clean the font cache in graphical context after marquee drawing
-            aGc.DiscardFont();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmMarqueeAdapter::RedrawEvent(TAny* aControl )
-    {
-    if ( !((CCoeControl*)aControl)->IsVisible() )
-        {
-        return EFalse;
-        }
-    
-    CMmListBox* listBox = 
-            (CMmListBox*)aControl;
-    if (listBox->CurrentItemIndex() >= 0 
-    		&& listBox->CurrentItemIndex() <= listBox->View()->BottomItemIndex()
-    		&& listBox->CurrentItemIndex() >= listBox->View()->TopItemIndex()
-    		)
-        {
-        listBox->SetMarqueeDrawing( ETrue ); //redraw the item without using marquee in the last loop
-        listBox->View()->DrawItem( listBox->CurrentItemIndex() );
-        listBox->SetMarqueeDrawing(EFalse);
-        }
-    
-    return ETrue;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::SetControl( CEikListBox * aControl )
-	{
-	iListbox = aControl;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmMarqueeAdapter::SubcellMarqueeElementExists( TInt aIndex )
-	{
-	TBool ret = EFalse;
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aIndex)
-			{
-			ret = ETrue;
-			}
-		}
-	return ret;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::RemoveSubcellMarqueeElement(TInt aSubcellIndex)
-	{
-	for (TInt i = 0; i < iMarqueeElements.Count() ; i++)
-		{
-		if (iMarqueeElements[i]->iSubcellIndex == aSubcellIndex)
-			{
-			iMarqueeElements.Remove(i);
-			break;
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TBool CMmMarqueeAdapter::IsMarqueeEnabled() const
-    {
-    return iMarqueeEnabled;
-    }
-
-//class CMmMarqueeElement
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement::CMmMarqueeElement (
-		TRect aElementRect,
-		CGraphicsContext::TTextAlign aAlign,
-		TAknLogicalFontId aFont,
-		TRgb aColor, TInt aIndex,
-		TInt aBaselineOffset ):iElementRect(aElementRect),
-		iAlign(aAlign),
-		iFont(aFont),iColor(aColor),
-		iSubcellIndex(aIndex),
-		iBaselineOffset(aBaselineOffset)
-	{
-
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement::~CMmMarqueeElement ()
-	{
-	delete iMarqueeControl;
-	delete iText;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmMarqueeAdapter::CMmMarqueeElement* CMmMarqueeAdapter::CMmMarqueeElement::NewL (
-		TRect aElementRect, CGraphicsContext::TTextAlign aAlign,
-		const TDesC& aText, TAknLogicalFontId aFont, TRgb aColor,TInt aIndex,
-		TInt aBaselineOffset )
-	{
-	CMmMarqueeAdapter::CMmMarqueeElement* self 
-		= new (ELeave)CMmMarqueeAdapter::CMmMarqueeElement( aElementRect, aAlign,
-				aFont, aColor, aIndex, aBaselineOffset );
-	CleanupStack::PushL( self ); 
-	self->ConstructL( aText );
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 		
-void CMmMarqueeAdapter::CMmMarqueeElement::ConstructL ( const TDesC& aText )
-	{
-	iText = aText.AllocL();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmMarqueeAdapter::CMmMarqueeElement::SetupMarqueeControlL( 
-		TInt aLoops, 
-		TInt aScrollAmount, 
-		TInt aScrollDelay )
-	{
-	iMarqueeControl = CAknMarqueeControl::NewL( aLoops, aScrollAmount, aScrollDelay );
-	iMarqueeControl->SetLoops(aLoops);
-	iLoops = aLoops;
-	iScrollAmount = aScrollAmount;
-	iScrollDelay = aScrollDelay;
-	}
-// End of file
-
-		
-
-
--- a/menufw/menufwui/mmwidgets/src/mmpostevaluationprocessor.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include "mmpostevaluationprocessor.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmlistboxmodel.h"
-#include <layoutmetadata.cdl.h>
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor::CMmPostEvaluationProcessor(CMmListBoxItemDrawer& aDrawer) :
-    CActive(EPriorityLess), iDrawer(aDrawer), iIndexToProcess(0)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor* CMmPostEvaluationProcessor::NewLC(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmPostEvaluationProcessor* self = new ( ELeave ) CMmPostEvaluationProcessor(aDrawer);
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor* CMmPostEvaluationProcessor::NewL(CMmListBoxItemDrawer& aDrawer)
-    {
-    CMmPostEvaluationProcessor* self = CMmPostEvaluationProcessor::NewLC(aDrawer);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::ConstructL()
-    {
-    CActiveScheduler::Add( this); // Add to scheduler
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-CMmPostEvaluationProcessor::~CMmPostEvaluationProcessor()
-    {
-    Cancel(); // Cancel any request, if outstanding
-    // Delete instance variables if any
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::DoCancel()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::RunL()
-    {      
-    const TDesC8& mm_template = iDrawer.iMmModel->GetAttributeAsText( 
-    		iIndexToProcess, KMmTemplate8 );      
-    
-    if ( mm_template.Compare( KNullDesC8 ) && mm_template.Compare( KEmpty8 ) )
-    	{
-        iDrawer.SetupSubCellsL( EFalse, iIndexToProcess );
-    	}
-    
-    if ( ++iIndexToProcess < iDrawer.iMmModel->NumberOfItems() )
-    	{
-    	SetActive();
-    	TRequestStatus* status = &iStatus;
-    	User::RequestComplete( status, KErrNone );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-TInt CMmPostEvaluationProcessor::RunError(TInt aError)
-    {
-    return aError;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-// 
-void CMmPostEvaluationProcessor::StartAt( TInt aIndex )
-	{
-	Cancel();
-	iIndexToProcess = aIndex;
-	SetActive();
-	TRequestStatus* status = &iStatus;
-	User::RequestComplete( status, KErrNone );
-	}
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mmtemplatelibrary.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1168 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-
-#include "mmtemplatelibrary.h"
-#include "mmlctutils.h"
-#include "mmwidgetsconstants.h"
-#include <hnutils.h>
-#include <gdi.h>
-#include <hnconvutils.h>
-#include "menudebug.h"
-#include <hnglobals.h>
-#include <AknUtils.h>
-#include <AknDef.hrh>
-
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TUint32 HBuf16Hash( HBufC8* const &  aBuf )
-    {
-    return DefaultHash::Des8(*aBuf);
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TBool HBuf16Ident( HBufC8* const & aL, HBufC8* const & aR )
-    {
-    return DefaultIdentity::Des8(*aL, *aR);
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//:
-CMmTemplateLibrary::CMmTemplateLibrary()
-	: iWidgetType(EWidgetTypeNone),
-	iTemplateSizesMap( &HBuf16Hash, &HBuf16Ident ),
-	iTemplateChildrenMap( &HBuf16Hash, &HBuf16Ident ),
-	iMoveIndicatorRectsMap( &HBuf16Hash, &HBuf16Ident )
-	{
-	// No implementation required
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CMmTemplateLibrary::~CMmTemplateLibrary()
-	{
-	CleanAndClearCache();
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::CleanAndClearCache( )
-    {
-
-	THashMapIter<HBufC8*, TSize> iter( iTemplateSizesMap );
-	while ( HBufC8* const * ptr = iter.NextKey() )
-		{
-		delete *ptr;
-		}
-	iTemplateSizesMap.Close();
-
-	THashMapIter<HBufC8*, RArray<TTemplateChild> > iter2( iTemplateChildrenMap );
-	while ( HBufC8* const * ptr = iter2.NextKey() )
-		{
-		iter2.CurrentValue()->Close();
-		delete *ptr;
-		}
-	iTemplateChildrenMap.Close();
-
-	THashMapIter<HBufC8*, TRect> iter4( iMoveIndicatorRectsMap );
-	while ( HBufC8* const * ptr = iter4.NextKey() )
-		{
-		delete *ptr;
-		}
-	iMoveIndicatorRectsMap.Close();
-
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMmTemplateLibrary* CMmTemplateLibrary::NewL()
-	{
-	CMmTemplateLibrary* self = CMmTemplateLibrary::NewLC();
-	CleanupStack::Pop( self );
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CMmTemplateLibrary* CMmTemplateLibrary::NewLC()
-    {
-    CMmTemplateLibrary* self = new( ELeave ) CMmTemplateLibrary();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ConstructL()
-	{
-	//No implementation needed.
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetSize(  TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted, TRect aParentRect )
-	{
-	TSize result;
-	GetSize(result, aWidgetType, aTemplate, aLandscapeOrientation,
-			aHighlighted, aParentRect );
-	return result;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmTemplateLibrary::GetSize(  TSize& aItemSize,
-        TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-        TBool aLandscapeOrientation, TBool aHighlighted, TRect aParentRect )
-    {
-    if ( KNullDesC8()== aTemplate || aParentRect == TRect(TPoint(0,0), TPoint(0,0))
-    		|| !aTemplate.Compare( KEmpty8 ) )
-        {
-        return KErrNotFound;
-        }
-    UpdateParentRect( aParentRect, aLandscapeOrientation );
-
-    TInt err( KErrNone );
-    HBufC8* lookup_string = LookupText( aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-
-    TSize* itemSize = iTemplateSizesMap.Find( lookup_string );
-    if ( !itemSize )
-        {
-        TRAP( err, LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation ) );
-        if ( err == KErrNone )
-            {
-            itemSize = iTemplateSizesMap.Find( lookup_string );
-        	if( !itemSize )
-        		{
-                User::Panic( KMtlPanic, KErrNotFound );
-        		}
-            aItemSize = *itemSize;
-            }
-        }
-    else
-        {
-        iWidgetType = aWidgetType;
-        TSize layoutSize;
-        TInt err( KErrNone );
-        TRAP( err, layoutSize = GetLayoutSizeL( iWidgetType, aTemplate,
-                aLandscapeOrientation ) );
-        if( err == KErrNone )
-            {
-            AdjustItemSize( *itemSize, layoutSize, aLandscapeOrientation );
-            }
-        aItemSize = *itemSize;
-        }
-	delete lookup_string;
-
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation )
-	{
-	if ( KNullDesC8()== aTemplate )
-		{
-		User::Leave( -1 );
-		}
-	TSize* layoutSize = NULL;
-	switch ( aWidgetType )
-		{
-		case EGrid:
-			{
-		    HBufC8* lookup_string = LookupLayoutText( aWidgetType,
-                aTemplate, aLandscapeOrientation );
-			CleanupStack::PushL( lookup_string );
-		    layoutSize = iTemplateSizesMap.Find( lookup_string );
-		    if (!layoutSize)
-		        {
-		        LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation );
-		        layoutSize = iTemplateSizesMap.Find( lookup_string );
-		        if( !layoutSize )
-		            User::Panic( KMtlPanic, -1);
-		        }
-			CleanupStack::PopAndDestroy( lookup_string );
-			}
-
-			break;
-		case EListbox:
-			return TSize( MmListBox::KCols,0 );
-		default:
-			User::Panic( KMtlPanic, -1);
-		}
-	return *layoutSize;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TRect CMmTemplateLibrary::GetMoveIndicatorRect(TMmWidgetType aWidgetType,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation,
-		TBool aHighlighted)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText(aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	HBufC8* lookup_indicator_string = LookupIndicatorText( *lookup_string );
-
-	TRect* itemRect = iMoveIndicatorRectsMap.Find( lookup_indicator_string );
-    if (!itemRect)
-        {
-    	TSize itemSize;
-    	GetSize( itemSize, aWidgetType, aTemplate, aLandscapeOrientation, EFalse, GetParentRect( aLandscapeOrientation ) );
-    	TRAPD( err, SetupMoveIndicatorTemplateChildrenL(
-    	        *lookup_indicator_string, itemSize ) );
-    	if ( KErrNone == err )
-    	    {
-            itemRect = iMoveIndicatorRectsMap.Find( lookup_indicator_string );
-            if (!itemRect)
-                {
-                User::Panic( KMtlPanic, -1);
-                }
-    	    }
-        }
-
-    delete lookup_indicator_string;
-    delete lookup_string;
-    return *itemRect;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetChildrenL(TMmWidgetType aWidgetType, RArray<
-		TTemplateChild>& aArray, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted, TBool aIsEditMode)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText( aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	CleanupStack::PushL( lookup_string );
-    RArray<TTemplateChild>* children = iTemplateChildrenMap.Find( lookup_string );
-    if ( !children )
-        {
-        LoadTemplateL( aWidgetType, aTemplate, aLandscapeOrientation );
-        children = iTemplateChildrenMap.Find( lookup_string );
-        if (!children)
-        	{
-            User::Panic( KMtlPanic, -1);
-        	}
-        }
-    CleanupStack::PopAndDestroy( lookup_string );
-    for (TInt i = 0; i < children->Count(); i++)
-    	aArray.AppendL((*children)[i]);
-    if ( aIsEditMode )
-    	{
-    	TSize size = GetSize( aWidgetType, aTemplate, aLandscapeOrientation, aHighlighted, GetParentRect(aLandscapeOrientation) );
-        AppendEditModeTemplateL( aArray, size );
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetMoveIndicatorChildrenL(TMmWidgetType aWidgetType,
-		RArray<TTemplateChild>& aArray, const TDesC8& aTemplate,
-		TBool aLandscapeOrientation, TBool aHighlighted)
-	{
-	ASSERT( KNullDesC8() != aTemplate && aTemplate.Compare( KEmpty8 ) );
-
-	HBufC8* lookup_string = LookupText(aTemplate, aWidgetType,
-        aLandscapeOrientation, aHighlighted );
-	CleanupStack::PushL( lookup_string );
-	HBufC8* lookup_indicator_string = LookupIndicatorText( *lookup_string );
-	CleanupStack::PushL( lookup_indicator_string );
-
-    RArray<TTemplateChild>* children = iTemplateChildrenMap.Find( lookup_indicator_string );
-    if ( !children )
-    	{
-    	TSize itemSize;
-    	GetSize( itemSize, aWidgetType, aTemplate, aLandscapeOrientation, EFalse, GetParentRect( aLandscapeOrientation ) );
-        SetupMoveIndicatorTemplateChildrenL( *lookup_indicator_string, itemSize );
-        children = iTemplateChildrenMap.Find( lookup_indicator_string );
-        if (!children)
-        	User::Panic( KMtlPanic, -1);
-    	}
-
-    CleanupStack::PopAndDestroy( lookup_indicator_string );
-	CleanupStack::PopAndDestroy( lookup_string );
-
-    for (TInt i = 0; i < children->Count(); i++)
-    	{
-    	aArray.AppendL((*children)[i]);
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupText( const TDesC8& aTemplate,
-    TMmWidgetType aWidgetType, TBool aLandscapeOrientation, TBool aHighlighted )
-    {
-    HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-    if (lookup_string)
-    	{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		lookup_string_ptr.Append( aTemplate );
-		lookup_string_ptr.Append( KColon8 );
-		switch ( aWidgetType )
-			{
-			case EListbox:
-				lookup_string_ptr.Append( KListbox8 );
-				break;
-			case EGrid:
-				lookup_string_ptr.Append( KGrid8 );
-				break;
-			}
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aLandscapeOrientation );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aHighlighted );
-		lookup_string_ptr.Append( KColon8 );
-    	}
-    return lookup_string;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupLayoutText( TMmWidgetType aWidgetType,
-        const TDesC8& aTemplate, TBool aLandscapeOrientation )
-	{
-    HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-    if (lookup_string)
-    	{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		switch ( aWidgetType )
-			{
-			case EListbox:
-				lookup_string_ptr.Append( KListbox8 );
-				break;
-			case EGrid:
-				lookup_string_ptr.Append( KGrid8 );
-				break;
-			}
-		lookup_string_ptr.Append( KColon8 );
-        lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.Append( aTemplate );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.AppendNum( aLandscapeOrientation );
-    	}
-    return lookup_string;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::LookupIndicatorText( const TDesC8& aLookupText )
-	{
-	HBufC8* lookup_string = HBufC8::New( MmTemplateContants::KTemplateChildTextLength );
-	if (lookup_string)
-		{
-		TPtr8 lookup_string_ptr( lookup_string->Des() );
-		lookup_string_ptr.Append( KMI8 );
-		lookup_string_ptr.Append( KColon8 );
-		lookup_string_ptr.Append( aLookupText );
-		}
-
-	return lookup_string;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::LoadTemplateL( TMmWidgetType aWidgetType,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation )
-	{
-	iWidgetType = aWidgetType;
-	DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL IN"));
-	TMmTemplateType mmTemplateType;
-	HBufC8* content = GetTemplateContentL( aTemplate, aWidgetType, mmTemplateType );
-	CleanupStack::PushL( content );
-    RXmlEngDOMImplementation domImpl;
-    CleanupClosePushL( domImpl );
-    RXmlEngDOMParser domParser;
-    CleanupClosePushL( domParser );
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL Opening domImpl"));
-    domImpl.OpenL();
-    User::LeaveIfError( domParser.Open( domImpl ) );
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL parsing content..."));
-    RXmlEngDocument xmlDoc = domParser.ParseL( *content );
-    CleanupClosePushL( xmlDoc );
-
-    // first orientation
-    RXmlEngNodeList<TXmlEngElement> orientElements;
-    CleanupClosePushL( orientElements );
-    xmlDoc.DocumentElement().GetChildElements( orientElements );
-    TXmlEngElement orientationElement;
-    while ( orientElements.HasNext() )
-        {
-        orientationElement = orientElements.Next();
-        DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL Reading orientation"));
-        TPtrC8 name = orientationElement.Name();
-        DEBUG8(("\t_Mm_:orientation: %S", &name));
-        if ( !name.Compare( KOrientation8 ) )
-            {
-            TBool landscapeOrientation(EFalse);
-            if (orientationElement.AttributeValueL(KId8) == KLandscape8)
-                landscapeOrientation = ETrue;
-            if ( landscapeOrientation != aLandscapeOrientation )
-            	{
-            	continue;
-            	}
-            RXmlEngNodeList<TXmlEngElement> elements;
-            orientationElement.GetChildElements( elements );
-            CleanupClosePushL( elements );
-            TXmlEngElement element;
-            while ( elements.HasNext() )
-                {
-                element = elements.Next();
-            	DEBUG(("_Mm_:iMmTemplateType != EMmTemplateMoveIndicator"));
-            	if (element.AttributeValueL(KId8) == KHighlight8)
-                    {
-                    DEBUG(("_Mm_:AttributeValueL - id == highlight"));
-                    ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, ETrue );
-                    DEBUG(("ProcesElementL END"));
-                    }
-                else if (element.AttributeValueL(KId8) == KNoHighlight8)
-                    {
-                    DEBUG(("_Mm_:AttributeValueL - id == nohighlight"));
-                    ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, EFalse );
-                    DEBUG(("ProcesElementL END"));
-                    if ( aWidgetType == EGrid )
-                        {
-                        DEBUG(("_Mm_:aWidgetType == EGrid"));
-                        ProcessElementL( mmTemplateType, element, aTemplate, landscapeOrientation, ETrue );
-                        DEBUG(("ProcesElementL END"));
-                        }
-                    }
-                }
-            CleanupStack::PopAndDestroy( &elements );
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &orientElements );
-    CleanupStack::PopAndDestroy( &xmlDoc );
-    CleanupStack::PopAndDestroy( &domParser );
-    CleanupStack::PopAndDestroy( &domImpl );
-    CleanupStack::PopAndDestroy(content);
-    DEBUG(("_Mm_:CMmTemplateLibrary::LoadTemplateL OUT"));
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessElementL(TMmTemplateType aMmTemplateType,
-										 TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-    {
-    switch ( aMmTemplateType )
-	    {
-	    case ETemplateTypeLCT:
-	    	ProcessLCTTemplateElementL(aElement, aTemplate, aLandscapeOrientation, aHighlighted );
-	    	break;
-	    case ETemplateTypeCustom:
-	    	ProcessCustomTemplateElementL(aElement, aTemplate, aLandscapeOrientation, aHighlighted );
-	    	break;
-	    }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessLCTTemplateElementL(TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-	{
-	RXmlEngNodeList<TXmlEngElement> layoutElements;
-	CleanupClosePushL( layoutElements );
-	aElement.GetChildElements( layoutElements );
-	TXmlEngElement layoutElement;
-	TSize itemSize;
-	while ( layoutElements.HasNext() )
-		{
-		layoutElement = layoutElements.Next();
-
-		if ( !layoutElement.Name().Compare( KLayout8 ) )
-			{
-			TPtrC8 lctAtt = layoutElement.AttributeValueL(KLct8);
-
-			// set layout for grid
-			TInt variety;
-			HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KVariety8), variety);
-
-			TSize layoutSize;
-			if ( iWidgetType == EGrid )
-				{
-				layoutSize = MmLCTUtils::GetLayoutSize( lctAtt, variety );
-				CacheLayoutSizeL( layoutSize, aTemplate, aLandscapeOrientation );
-				}
-			else
-				{
-				layoutSize = GetLayoutSizeL( iWidgetType, aTemplate, aLandscapeOrientation );
-				}
-
-			TAknWindowLineLayout layout;
-			TSize itemSize = GetLCTSize( lctAtt, variety, layout, aLandscapeOrientation );
-
-			AdjustItemSize( itemSize, layoutSize, aLandscapeOrientation );
-			HBufC8* lookup_string = LookupText( aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-			iTemplateSizesMap.InsertL( lookup_string, itemSize );
-
-			// setup children
-			RArray< TTemplateChild > childrenDefinition;
-			CleanupClosePushL( childrenDefinition );
-			RXmlEngNodeList<TXmlEngElement> childrenElements;
-			CleanupClosePushL( childrenElements );
-			layoutElement.GetChildElements( childrenElements );
-			TXmlEngElement childElement;
-			while ( childrenElements.HasNext() )
-				{
-				childElement = childrenElements.Next();
-				TPtrC8 name = childElement.Name();
-				if ( !name.Compare( KTextVisual8 ) ||
-						!name.Compare( KImageVisual8 ) )
-					{
-					TTemplateChild childTemplate;
-					childTemplate.iLct = childElement.AttributeValueL(KLct8);
-					TInt variety;
-					HnConvUtils::Str8ToInt(childElement.AttributeValueL(KVariety8), variety);
-					childTemplate.iVariety = variety;
-
-					TPtrC8 ptr = childElement.AttributeValueL(KHAlign8);
-                    if (!ptr.Compare(KNullDesC8))
-                        {
-                        childTemplate.iHAlign = EManualAlignUndefined;
-                        }
-                    else if (!ptr.Compare(KLeft8))
-                        {
-                        childTemplate.iHAlign = EManualAlignLeft;
-                        }
-                    else if (!ptr.Compare(KCenter8))
-                        {
-                        childTemplate.iHAlign = EManualAlignCenter;
-                        }
-                    else if (!ptr.Compare(KRight8))
-                        {
-                        childTemplate.iHAlign = EManualAlignRight;
-                        }
-
-					SetupLCTTemplateL( childTemplate, childElement, itemSize );
-					childrenDefinition.AppendL( childTemplate );
-					}
-				}
-			CleanupStack::PopAndDestroy( &childrenElements );
-			// save children defintion in map
-			lookup_string = LookupText(aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-			iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-			CleanupStack::Pop( &childrenDefinition );
-			break;
-	        }
-        }
-    CleanupStack::PopAndDestroy( &layoutElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::ProcessCustomTemplateElementL(TXmlEngElement aElement,
-                                         const TDesC8& aTemplate,
-                                         TBool aLandscapeOrientation,
-                                         TBool aHighlighted )
-	{
-    RXmlEngNodeList<TXmlEngElement> layoutElements;
-    CleanupClosePushL( layoutElements );
-    aElement.GetChildElements( layoutElements );
-    TXmlEngElement layoutElement;
-    while ( layoutElements.HasNext() )
-        {
-        layoutElement = layoutElements.Next();
-        if ( !layoutElement.Name().Compare( KLayout8 ) )
-            {
-            TSize itemSize;
-            // set sizes
-        	TInt height;
-            TInt width;
-            HBufC8* lookup_string;
-
-            HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KHeight8), height);
-            HnConvUtils::Str8ToInt(layoutElement.AttributeValueL(KWidth8), width);
-        	lookup_string = LookupText( aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-        	itemSize = TSize( width, height );
-
-
-            TSize layoutSize = ( aLandscapeOrientation ) ?
-            		TSize( MmGrid::KColsLandscapeZoomNormal, MmGrid::KRowsLandscapeZoomNormal ):
-            		TSize( MmGrid::KColsPortraitZoomNormal, MmGrid::KRowsPortraitZoomNormal ) ;
-            layoutSize = ( iWidgetType == EGrid ) ? layoutSize: TSize(MmListBox::KCols,0);
-            CacheLayoutSizeL( layoutSize, aTemplate, aLandscapeOrientation );
-
-            AdjustItemWidth( itemSize, layoutSize, aLandscapeOrientation );
-        	iTemplateSizesMap.InsertL(lookup_string, itemSize);
-
-            // set children
-            RArray< TTemplateChild > childrenDefinition;
-            CleanupClosePushL( childrenDefinition );
-
-            RXmlEngNodeList<TXmlEngElement> childrenElements;
-            CleanupClosePushL( childrenElements );
-            layoutElement.GetChildElements( childrenElements );
-            TXmlEngElement childElement;
-            while ( childrenElements.HasNext() )
-                {
-                childElement = childrenElements.Next();
-                TPtrC8 name = childElement.Name();
-                if ( !name.Compare( KTextVisual8 ) ||
-                        !name.Compare( KImageVisual8 ) )
-                    {
-                    TTemplateChild childTemplate;
-                    SetupCustomTemplateL( childTemplate, childElement );
-                    childrenDefinition.AppendL( childTemplate );
-                    }
-                }
-            CleanupStack::PopAndDestroy( &childrenElements );
-            // save children defintion in map
-        	lookup_string = LookupText(aTemplate, iWidgetType,
-                aLandscapeOrientation, aHighlighted );
-        	iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-        	CleanupStack::Pop( &childrenDefinition );
-            // we found first layout, it is enough
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &layoutElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HBufC8* CMmTemplateLibrary::GetTemplateContentL(const TDesC8& aTemplate,
-		TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType)
-	{
-	HBufC8* content;
-	TRAPD( err , GetTemplateFileContentL( content, aTemplate, aWidgetType, aMmTemplateType ) );
-	if ( KErrNone != err || !content )
-		{
-//		if LCT template was not loaded try to load a custom template
-		TRAPD( err , GetTemplateFileContentL( content, aTemplate, aWidgetType, aMmTemplateType, ETrue ) );
-		if ( KErrNoMemory == err )
-		    {
-		    User::Leave( KErrNoMemory );
-		    }
-		if ( KErrNone != err || !content )
-			{
-			User::Panic(KMtlPanic, -1);
-			}
-		}
-	return content;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::GetTemplateFileContentL( HBufC8*& aContent,
-		const TDesC8& aTemplate, TMmWidgetType aWidgetType,
-		TMmTemplateType& aMmTemplateType, TBool aLoadCustomTemplate )
-	{
-    DEBUG(("_Mm_:CMmTemplateLibrary::GetTemplateContentL IN"));
-    TFileName filename;
-//  create filename  egz: akn_logical_template_3.xml
-	filename.Copy(aTemplate);
-	filename.Insert(0, KUnderline );
-	filename.Insert(0, KAkn );
-	filename.Append( KXmlExt );
-
-//  append path egz: z:\\resource\\grid\\lct\\akn_logical_template_3.xml
-
-	if ( !aLoadCustomTemplate )
-		{
-		filename.Insert(0, KBslash );
-		filename.Insert(0, KLct );
-		}
-	else
-		{
-		filename.Insert(0, KBslash );
-		filename.Insert(0, KCustom );
-		}
-
-	switch (aWidgetType)
-		{
-		case EGrid:
-			filename.Insert(0, KBslash );
-			filename.Insert(0, KWidgetTypeGrid);
-			break;
-		case EListbox:
-			filename.Insert(0, KBslash );
-			filename.Insert(0, KWidgetTypeList );
-			break;
-		}
-
-	filename.Insert(0, KZResource );
-
-	DEBUG(("\t_Mm_:tail: %S", &filename));
-    DEBUG(("_Mm_:CMmTemplateLibrary::GetTemplateContentL OUT"));
-
-//  load LCT Template or if it does not exist then load custom template
-    aContent =  HnUtils::ReadFileLC(filename);
-	CleanupStack::Pop( aContent );
-
-	if ( aLoadCustomTemplate )
-		{
-		aMmTemplateType = ETemplateTypeCustom;
-		}
-	else
-		{
-		aMmTemplateType = ETemplateTypeLCT;
-		}
-	return;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TSize CMmTemplateLibrary::GetLCTSize( const TDesC8& aLCTTemplate, TInt aVariety,
-		TAknWindowLineLayout& aWindowLayout, TBool aLandscapeOrientation )
-	{
-	TSize size = MmLCTUtils::GetLCTSize( aLCTTemplate, aVariety,
-			GetParentRect( aLandscapeOrientation ), aWindowLayout );
-	return size;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupLCTTemplateL(TTemplateChild& aChildTemplate,
-		TXmlEngElement& aChildElement, TSize aItemSize )
-	{
-    TPtrC8 name = aChildElement.Name();
-    aChildTemplate.iData = aChildElement.AttributeValueL(KId8);
-    SetupTemplateVisualId( aChildTemplate );
-
-    // read attribute name (mm_title, mm_icon)
-    RXmlEngNodeList<TXmlEngElement> attributeElements;
-    CleanupClosePushL( attributeElements );
-    aChildElement.GetChildElements( attributeElements );
-    TXmlEngElement attElement;
-    while ( attributeElements.HasNext() )
-        {
-        attElement = attributeElements.Next();
-        TPtrC8 nameAtt = attElement.AttributeValueL(KName8);
-        if ( !name.Compare( KTextVisual8 ) &&
-                !nameAtt.Compare( KText8 ) )
-            {
-            MmLCTUtils::SetupTextSubCellTemplate( aItemSize, aChildTemplate );
-            }
-        else if ( !name.Compare( KImageVisual8 )  &&
-                !nameAtt.Compare( KImagePath8 ) )
-            {
-            MmLCTUtils::SetupGraphicSubCellTemplate(aItemSize, aChildTemplate);
-            AdjustIconPosition(aItemSize, aChildTemplate);
-            }
-        }
-    CleanupStack::PopAndDestroy( &attributeElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupCustomTemplateL(TTemplateChild& aChildTemplate,
-		TXmlEngElement& aChildElement)
-	{
-    TPtrC8 name = aChildElement.Name();
-	TInt positionx; TInt positiony;
-    TInt height; TInt width;
-
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KPositionX8), positionx);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KPositionY8), positiony);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KHeight8), height);
-    HnConvUtils::Str8ToInt(aChildElement.AttributeValueL(KWidth8), width);
-    aChildTemplate.iRectAccordingToParent = TRect( TPoint(positionx,positiony), TSize(width, height) );
-
-    aChildTemplate.iData = aChildElement.AttributeValueL(KId8);
-    SetupTemplateVisualId( aChildTemplate );
-
-    // read attribute name (mm_title, mm_icon)
-    RXmlEngNodeList<TXmlEngElement> attributeElements;
-    CleanupClosePushL( attributeElements );
-    aChildElement.GetChildElements( attributeElements );
-    TXmlEngElement attElement;
-    while ( attributeElements.HasNext() )
-        {
-        attElement = attributeElements.Next();
-        TPtrC8 nameAtt = attElement.AttributeValueL(KName8);
-        if ( !name.Compare( KTextVisual8 ) &&
-                !nameAtt.Compare( KText8 ) )
-            {
-            aChildTemplate.iIsImage = EFalse;
-            }
-        else if ( !name.Compare( KImageVisual8 )  &&
-                !nameAtt.Compare( KImagePath8 ) )
-            {
-            aChildTemplate.iIsImage = ETrue;
-            aChildTemplate.iFontId = EAknLogicalFontSecondaryFont;
-            aChildTemplate.iTextAlign = CGraphicsContext::ELeft ;
-            }
-        else if ( !name.Compare( KTextVisual8 )  &&
-                !nameAtt.Compare( KStyle8 ) )
-            {
-            TPtrC8 font = attElement.AttributeValueL(KTargetValue8);
-            if ( !font.Compare( KQfnPrimarySmall8 ) )
-                {
-                aChildTemplate.iFontId = EAknLogicalFontPrimarySmallFont;
-                }
-            else
-                {
-                aChildTemplate.iFontId = EAknLogicalFontSecondaryFont;
-                }
-            }
-        else if ( !name.Compare( KTextVisual8 )  &&
-                !nameAtt.Compare( KHorizontalAlign8 ) )
-            {
-            TInt textAlign;
-            HnConvUtils::Str8ToInt(attElement.AttributeValueL(KTargetValue8), textAlign);
-            aChildTemplate.iTextAlign = static_cast<CGraphicsContext::TTextAlign>(textAlign);
-            }
-        }
-
-    CleanupStack::PopAndDestroy( &attributeElements );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupTemplateVisualId(TTemplateChild& aChildTemplate )
-	{
-	if( !aChildTemplate.iData.Compare( KMmBackdropIcon8 ))
-        {
-        aChildTemplate.iImageVisualId = EImageVisualIdEditMode;
-        }
-	else
-		{
-		aChildTemplate.iImageVisualId = EImageVisualIdNormalMode;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AppendEditModeTemplateL(
-		RArray<TTemplateChild>& aTemplateArray, TSize aSize)
-	{
-    //setup backdrop icon
-    TTemplateChild childTemplate;
-    childTemplate.iIsImage = ETrue;
-    childTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    childTemplate.iTextAlign = CGraphicsContext::ELeft;
-    childTemplate.iRectAccordingToParent = TRect( TPoint( 0,0 ),
-    		TPoint( aSize.iWidth, aSize.iHeight ) );
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength >( KMmBackdropIcon8 );
-    SetupTemplateVisualId( childTemplate );
-    aTemplateArray.AppendL( childTemplate );
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetupMoveIndicatorTemplateChildrenL(
-		const TDesC8& aLookupString, TSize aItemSize )
-	{
-	RArray< TTemplateChild > childrenDefinition;
-    TTemplateChild childTemplate;
-    childTemplate.iIsImage = ETrue;
-    childTemplate.iImageVisualId = EImageVisualIdNormalMode;
-    childTemplate.iFontId = EAknLogicalFontSecondaryFont;
-    childTemplate.iTextAlign = CGraphicsContext::ELeft;
-	TPoint startingPosition = TPoint(
-			MmTemplateContants::KMoveIndicatorStartingPos,
-			MmTemplateContants::KMoveIndicatorStartingPos);
-
-    //setup move_indicator_arrow_left
-    childTemplate.iRectAccordingToParent = TRect(TPoint(0,aItemSize.iHeight/2 + startingPosition.iY/2),
-    		TPoint(startingPosition.iX,
-    				startingPosition.iY*3/2 + aItemSize.iHeight/2));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowLeft8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_right
-    childTemplate.iRectAccordingToParent = TRect(
-    		TPoint(startingPosition.iX + aItemSize.iWidth , aItemSize.iHeight/2 + startingPosition.iY/2),
-    		TPoint(startingPosition.iX*2 + aItemSize.iWidth,
-    				startingPosition.iY*3/2 + aItemSize.iHeight/2));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowRight8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_top
-    childTemplate.iRectAccordingToParent = TRect(TPoint( aItemSize.iWidth/2 + startingPosition.iX/2, 0 ),
-    		TPoint(aItemSize.iWidth/2 + startingPosition.iX*3/2, startingPosition.iY));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength >(
-    		KMmMoveIndicatorArrowTop8 );
-    childrenDefinition.AppendL( childTemplate );
-
-    //setup move_indicator_arrow_bottom
-    childTemplate.iRectAccordingToParent = TRect( TPoint( aItemSize.iWidth/2 + startingPosition.iX/2,
-    		aItemSize.iHeight + startingPosition.iY + 2 ),
-    		TPoint(aItemSize.iWidth/2 + startingPosition.iX*3/2,
-    				aItemSize.iHeight + 2 *startingPosition.iY));
-    childTemplate.iData = TBufC8< MmTemplateContants::KTemplateChildTextLength>(
-    		KMmMoveIndicatorArrowBottom8 );
-    childrenDefinition.AppendL( childTemplate );
-
-	HBufC8* lookup_string = aLookupString.AllocLC();
-	iTemplateChildrenMap.InsertL(lookup_string, childrenDefinition);
-	CleanupStack::Pop( lookup_string );
-	lookup_string = NULL;
-
-    lookup_string = aLookupString.AllocLC();
-	TRect rectAccordingToParent = TRect(
-			TPoint( -startingPosition.iX, -startingPosition.iY),
-			TPoint(2*startingPosition.iX + aItemSize.iWidth ,
-					2*startingPosition.iY + aItemSize.iHeight) );
-
-	iMoveIndicatorRectsMap.InsertL( lookup_string, rectAccordingToParent );
-	CleanupStack::Pop( lookup_string );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetScrollbarVisibilityL( TBool aIsScrollbarVisible )
-	{
-	if ( iIsScrollbarVisible != aIsScrollbarVisible )
-		{
-		iIsScrollbarVisible = aIsScrollbarVisible;
-		CleanAndClearCache();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmTemplateLibrary::GetScrollbarVisibility()
-    {
-    return iIsScrollbarVisible;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetScrollbarWidthL( TInt aScrollbarWidth )
-	{
-	if ( iIsScrollbarVisible )
-		{
-		if ( iScrollbarWidth != aScrollbarWidth )
-			{
-			iScrollbarWidth = aScrollbarWidth;
-			CleanAndClearCache();
-			}
-		}
-	else
-		{
-		if ( iScrollbarWidth != 0 )
-			{
-			iScrollbarWidth = 0;
-			CleanAndClearCache();
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmTemplateLibrary::ScrollbarWidth()
-    {
-    return iScrollbarWidth;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustItemWidth(TSize& aItemSize, TSize aLayoutSize,
-		TBool aLandscapeOrientation)
-	{
-	if ( iIsScrollbarVisible )
-		{
-		aItemSize.iWidth = ( GetParentRect(aLandscapeOrientation).Width() - iScrollbarWidth ) / aLayoutSize.iWidth;
-		}
-	else
-		{
-		aItemSize.iWidth = GetParentRect(aLandscapeOrientation).Width() / aLayoutSize.iWidth;
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::UpdateParentRect( TRect aParentRect, TBool aLandscapeOrientation )
-	{
-    if( GetParentRect( aLandscapeOrientation ) != aParentRect )
-	    {
-    	SetParentRect( aLandscapeOrientation, aParentRect );
-	    }
-	}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TRect CMmTemplateLibrary::GetParentRect( TBool aLandscapeOrientation )
-	{
-	if ( aLandscapeOrientation )
-		return iParentRectLandscape;
-	else
-		return iParentRectPortrait;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::SetParentRect( TBool aLandscapeOrientation, TRect aParentRect)
-	{
-	if ( aLandscapeOrientation )
-		iParentRectLandscape = aParentRect;
-	else
-		iParentRectPortrait = aParentRect;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustItemSize(TSize& aItemSize, TSize aLayoutSize,
-		TBool aLandscapeOrientation)
-	{
-	switch ( iWidgetType )
-		{
-		case EGrid:
-			aItemSize.iHeight = GetParentRect( aLandscapeOrientation ).Height() / aLayoutSize.iHeight;
-			break;
-		case EListbox:
-			break;
-		}
-	AdjustItemWidth( aItemSize, aLayoutSize, aLandscapeOrientation );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::CacheLayoutSizeL(TSize aLayoutSize,
-		const TDesC8& aTemplate, TBool aLandscapeOrientation)
-	{
-	HBufC8* lookup_layout_text = LookupLayoutText( iWidgetType,
-        aTemplate, aLandscapeOrientation );
-
-	if ( iTemplateSizesMap.Find( lookup_layout_text ) )
-		{
-		delete lookup_layout_text;
-		}
-	else
-		{
-		iTemplateSizesMap.InsertL( lookup_layout_text, aLayoutSize );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmTemplateLibrary::AdjustIconPosition(TSize aParentSize,
-        TTemplateChild& aTemplateChild)
-    {
-    switch (aTemplateChild.iHAlign)
-        {
-        case EManualAlignLeft:
-            break;
-        case EManualAlignCenter:
-            {
-            TInt rectWidth =
-                    aTemplateChild.iRectAccordingToParent.Size().iWidth;
-            TInt lX = (aParentSize.iWidth - rectWidth) / 2;
-            aTemplateChild.iRectAccordingToParent.Move(lX
-                    - aTemplateChild.iRectAccordingToParent.iTl.iX, 0);
-            break;
-            }
-        case EManualAlignRight:
-            break;
-        default:
-            break;
-        }
-    }
-
-// End of file
--- a/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1957 +0,0 @@
-/*
-* 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:
-*  Version     : %version: MM_71.1.17.1.51 % << Don't touch! Updated by Synergy at check-out.
-*
-*/
-
-
-#include <e32keys.h>
-#include <e32math.h>
-#include <AknsDrawUtils.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlongtapdetector.h>
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknlistloadertfx.h>
-#include <aknlistboxtfxinternal.h>
-#include <aknlistboxtfx.h>
-#endif
-
-#include "mmwidgetcontainer.h"
-#include "mmlistboxmodel.h"
-#include "mmmarqueeadapter.h"
-#include "mmwidgetobserver.h"
-#include "mmvisibilityobserver.h"
-#include "mmlistboxcontainer.h"
-#include "mmgridcontainer.h"
-#include "mmlistboxitemdrawer.h"
-#include "mmmarqueeadapter.h"
-#include "mmfloatingitem.h"
-#include "hnsuitemodel.h"
-#include "hnitemsorder.h"
-#include "menudebug.h"
-#include "mmdraweranimator.h"
-#include "hnglobals.h"
-#include "mmpostevaluationprocessor.h"
-#include "mmgrid.h"
-#include "mmlongtapobserver.h"
-
-class CMmTemplateLibrary;
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TMmWidgetPosition::TMmWidgetPosition()
-    : iVerticalItemOffset( 0 )
-    , iTopItemIndex( KErrNotFound )
-    , iValid( EFalse )
-    , iLandscape( EFalse )
-    , iHighlightedItemId( KErrNotFound )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMmWidgetContainer* CMmWidgetContainer::NewGridContainerL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
-    {
-    return CMmGridContainer::NewL( aRect, aObjectProvider, aLibrary );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMmWidgetContainer* CMmWidgetContainer::NewListBoxContainerL( const TRect& aRect,
-        MObjectProvider* aObjectProvider, CMmTemplateLibrary* aTemplateLibrary )
-    {
-    return CMmListBoxContainer::NewL( aRect, aObjectProvider, aTemplateLibrary );
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ConstructL()
-	{
-    iBgContext = CAknsBasicBackgroundControlContext::NewL(
-    	KAknsIIDQsnBgAreaMainAppsGrid, Rect(), EFalse);
-    iLongTapDetector = CAknLongTapDetector::NewL( this );
-    iLongTapDetector->EnableLongTapAnimation(ETrue);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmWidgetContainer::CMmWidgetContainer()
-    : iIsFaded( EFalse )
-    , iHasFocus( ETrue )
-    , iInForeground( ETrue )
-    {
-    iMarqueeAdapter = NULL;
-    iBgContext = NULL;
-    iWidgetPositionCache.iValid = EFalse;
-    iLongTapInProgress = EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CMmWidgetContainer::~CMmWidgetContainer()
-    {
-    AknsUtils::DeregisterControlPosition( this );
-    AknsUtils::DeregisterControlPosition( this->iWidget );
-    delete iBgContext;
-    delete iPostProcessor;
-    delete iLongTapDetector;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::EnableLongTapAnimation( TBool aEnable )
-    {
-    if ( iLongTapDetector )
-        {
-        iLongTapDetector->EnableLongTapAnimation( aEnable );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SizeChanged()
-    {
-    if ( iWidget && iWidgetRect != Rect() )
-        {
-    	CMmTemplateLibrary * templateLibrary =
-    	static_cast<CMmListBoxItemDrawer*> (
-    			Widget()->View()->ItemDrawer() )->TemplateLibrary();
-        if ( Rect() != templateLibrary->GetParentRect(
-        		Layout_Meta_Data::IsLandscapeOrientation() ) )
-        	{
-        	templateLibrary->CleanAndClearCache();
-        	}
-        iWidget->View()->SetViewRect( Rect() );
-        iWidget->SetRect( Rect() );
-        iWidgetRect = Rect();
-        }
-
-    if ( iBgContext )
-        {
-        TRect rect = iCoeEnv->ScreenDevice()->SizeInPixels();
-        iBgContext->SetRect( rect );
-        SetItemDrawerAndViewBgContext( iBgContext );
-        }
-
-    AknsUtils::RegisterControlPosition( this );
-    AknsUtils::RegisterControlPosition( this->iWidget );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::Draw( const TRect& /*aRect*/ ) const
-    {
-    // do nothing
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CMmWidgetContainer::MopSupplyObject(TTypeUid aId)
-    {
-    if (aId.iUid == MAknsControlContext::ETypeId && iBgContext )
-        {
-        return MAknsControlContext::SupplyMopObject(aId, iBgContext );
-        }
-
-    return CCoeControl::MopSupplyObject(aId);
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleButtonDownL(const TPointerEvent& aPointerEvent )
-    {
-    iTapPoint = aPointerEvent.iPosition;
-    iLastDragPoint = aPointerEvent.iPosition;
-    iLastDragHighlight = GetHighlight();
-    if( !iWidget->View()->XYPosToItemIndex(
-    		aPointerEvent.iPosition, iDraggedIndex ) )
-        {
-        iDraggedIndex = KErrNotFound;
-        }
-    iItemRelativeTapPoint = aPointerEvent.iPosition - iWidget->View()->ItemPos(
-    		iDraggedIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleButtonUpL(const TPointerEvent& /*aPointerEvent*/ )
-    {
-    iTapPoint = TPoint( 0, 0 );
-    CancelDragL( EFalse );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleResourceChange( TInt aType )
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch ||
-            aType == KAknsMessageSkinChange )
-        {
-        static_cast<CMmListBoxItemDrawer*>( iDrawer )->InvalidateCache();
-        CMmTemplateLibrary * templateLibrary =
-        static_cast<CMmListBoxItemDrawer*>( iDrawer )->TemplateLibrary();
-        templateLibrary->CleanAndClearCache();
-        }
-
-    CCoeControl::HandleResourceChange( aType );
-
-	if ( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() )
-		{
-		SetDefaultHighlightL( EFalse );
-		}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::ItemIconZoomL( TInt /*aItemIndex */)
-    {
-    TInt index = GetHighlight();
-    if (index != iDraggedIndex)
-        {
-        iDrawer->AnimateItemZoomInL( index );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CHnSuiteModel* CMmWidgetContainer::GetSuiteModelL()
-	{
-	return GetMmModel()->GetSuiteModel();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleDragL(const TPointerEvent& aPointerEvent,
-        TBool aAbortAnimation )
-    {
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ",
-    		iLastDragHighlight ));
-
-    TInt highlight = GetHighlight();
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
-
-    TPoint dragDelta ( iLastDragPoint - aPointerEvent.iPosition);
-    TInt dragSpeed = dragDelta.iX * dragDelta.iX + dragDelta.iY * dragDelta.iY;
-    TBool tooFast = (dragSpeed > MmEffects::KDragSpeedIgnoreThreshold);
-
-    if (iLastDragHighlight != highlight )
-        {
-       	iDragAndDropObserver->HandleDragOverL( GetHighlight() );
-        }
-
-    if (!tooFast)
-    	{
-		TSize itemSize = iWidget->View()->ItemSize( highlight );
-		TPoint itemPos = iWidget->View()->ItemPos( highlight );
-
-		if ( PointInItemReorderAreaL( highlight, aPointerEvent.iPosition ) )
-		   {
-		   CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		   CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( highlight ));
-		   if (iDrawer->GetAnimator()->IsReadyForNewAnimation() && !aAbortAnimation
-				   && onItemModel->GetItemType() != EItemTypeParentFolder
-				   && iDraggedIndex != highlight)
-				   {
-				   GetMmModel()->ReorderModelL( iDraggedIndex, highlight );
-				   AnimateShiftL( highlight );
-				   iDrawer->SetDraggedIndexL( highlight,
-						   aPointerEvent.iPosition - iItemRelativeTapPoint );
-				   iDraggedIndex = highlight;
-				   iDragAndDropObserver->HandleDraggedIndexUpdatedL( highlight );
-				   }
-		   }
-    	}
-
-    if ( DeltaSquare( iTapPoint, aPointerEvent.iPosition ) > KDragDelta &&
-				!iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedIndexL( iDraggedIndex, iTapPoint - iItemRelativeTapPoint );
-		iDrawer->SetDraggableL( ETrue );
-		}
-	else if ( iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedPointL( aPointerEvent.iPosition - iItemRelativeTapPoint );
-		}
-
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ", iLastDragHighlight ));
-    DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
-    iLastDragPoint = aPointerEvent.iPosition;
-    iLastDragHighlight = highlight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::AnimateShiftL(TInt aHighlight)
-	{
-    TInt lowerVal =  (iDraggedIndex < aHighlight)? iDraggedIndex : aHighlight;
-    TInt higherVal = (iDraggedIndex < aHighlight)? aHighlight : iDraggedIndex;
-    TInt switchOperation = (iDraggedIndex < aHighlight) ? EFalse : ETrue;
-
-       for(TInt iter(lowerVal); iter < higherVal; iter++ )
-           {
-           TInt from = iter + 1;
-           TInt to = iter;
-           if (switchOperation)
-               {
-               from = iter;
-               to = iter + 1;
-               }
-           iDrawer->AnimateItemSwapL( from, to );
-        }
-     }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::CancelDragL( TBool aAnimate )
-    {
-    if (aAnimate)
-        {
-        iDrawer->AnimateDragItemTransitionL();
-        }
-
-    SetHighlightAfterDrag();
-
-    iDraggedIndex = -1;
-    iDrawer->SetDraggedIndexL( iDraggedIndex, TPoint(0,0) );
-    SetDraggableL( EFalse );
-
-    TInt dragFloatingItem;
-    do
-        {
-        dragFloatingItem = iDrawer->GetFloatingItemIndex( EDrag );
-        iDrawer->RemoveFloatingItem( dragFloatingItem );
-        }
-    while ( dragFloatingItem != KErrNotFound );
-
-    iDrawer->GetAnimator()->CancelNextRedrawL();
-
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmWidgetContainer::IsFolderL(TInt aItemIndex)
-	{
-	TBool result = EFalse;
-
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( aItemIndex ));
-	    if (onItemModel)
-	    	{
-	    	result = onItemModel->GetItemType() == EItemTypeParentFolder ||
-	      		onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-		}
-
-	return result;
-
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-
-TBool CMmWidgetContainer::IsNoItemDragged()
-	{
-	TBool noItemDragged = EFalse;
-	noItemDragged = ( KErrNotFound == iDraggedIndex ) ? ETrue : noItemDragged;
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if ( !noItemDragged && model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( iDraggedIndex ));
-	    if (onItemModel)
-	    	{
-	    	noItemDragged = ( onItemModel->GetItemType() == EItemTypeParentFolder );
-	    	}
-		}
-	return noItemDragged;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetHasFocusL( TBool aHasFocus )
-    {
-    if ( !!aHasFocus != !!iHasFocus ) // logical Ex-OR
-        {
-        iHasFocus = aHasFocus;
-        StartOrStopMarquee();
-        }
-    if ( !aHasFocus )
-    	{
-    	SetHighlightVisibilityL( EFalse );
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetIsFaded( TBool aIsFaded )
-    {
-    if ( !!aIsFaded != !!iIsFaded ) // logical Ex-OR
-        {
-        iIsFaded = aIsFaded;
-        StartOrStopMarquee();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::LongTapInProgress() const
-    {
-    return iLongTapInProgress;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::IsDeleteLockedL( TInt aItemIndex )
-	{
-	TBool result = ETrue;
-
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel(model->IdByIndex(
-				aItemIndex));
-		if (onItemModel)
-			{
-			result = onItemModel->IsDeleteLocked();
-			}
-		}
-
-	return result;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ManageFolderZoomingL( TBool aDraggedItemOverIcons )
-	{
-	TBool isAnimated;
-
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (/*current.GetFloatingItemType() != EZoomTransition &&*/
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
- 				current.GetDrawnItemIndex() == GetHighlight() )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
-
-	if (!isAnimated)
-		{
-		if ( GetHighlight() != iDraggedIndex &&
-			 IsFolderL( GetHighlight() ) &&
-			 !IsDeleteLockedL( GetHighlight() ) &&
-			 iDrawer->IsDraggable() )
-			{
-			iDrawer->AnimateItemZoomInL( GetHighlight() );
-			}
-		}
-
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (current.GetFloatingItemType() != EZoomTransition &&
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
-				current.GetDrawnItemIndex() == iLastDragHighlight )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
-
-	if (!isAnimated)
-		{
-		if ( ( !aDraggedItemOverIcons && IsFolderL( iLastDragHighlight ) ) ||
-				iLastDragHighlight != Widget()->CurrentItemIndex() )
-			{
-			iDrawer->AnimateItemZoomOutL( iLastDragHighlight );
-			}
-		}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandlePointerEventsInEditModeL(
-		const TPointerEvent& aPointerEvent, TBool aAbortAnimations )
-	{
-
-	TInt pointedItem = KErrNotFound;
-	TBool draggedItemOverIcons = iWidget->View()->XYPosToItemIndex(
-			aPointerEvent.iPosition, pointedItem );
-
-	if (aPointerEvent.iType == TPointerEvent::EButton1Down)
-        {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->ClearFlags( CListItemDrawer::EPressedDownState );
-//        	}
-        HandleButtonDownL(aPointerEvent);
-        iDragAndDropObserver->HandleDragStartL( GetHighlight() );
-        }
-    else if ( (aPointerEvent.iType == TPointerEvent::EDrag ||
-            aPointerEvent.iType == TPointerEvent::EButtonRepeat) &&
-            iDraggedIndex != KErrNotFound)
-        {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->SetFlags( CListItemDrawer::EPressedDownState );
-//        	}
-
-        TPointerEvent pointerEvent = aPointerEvent;
-        if( WidgetType() == EListWidget )
-        	{
-        	pointerEvent.iPosition.iX =
-                    iWidget->View()->ItemPos( pointedItem ).iX +
-                    iItemRelativeTapPoint.iX;
-        	}
-
-        if (GetHighlight() !=  Widget()->CurrentItemIndex() )
-        	{
-        	SetHighlightL( Widget()->CurrentItemIndex() );
-        	}
-
-        ManageFolderZoomingL( draggedItemOverIcons );
-
-        HandleDragL(pointerEvent, aAbortAnimations);
-
-        }
-    else if (aPointerEvent.iType == TPointerEvent::EButton1Up && iDrawer->IsDraggable())
-        {
-        if ( !draggedItemOverIcons )
-        	{
-        	SetManualHighlightL( iDraggedIndex );
-        	}
-
-        iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-        HandleButtonUpL(aPointerEvent);
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent )
-    {
-    if ( iMarqueeAdapter && aPointerEvent.iType == TPointerEvent::EButton1Down )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
-
-    TInt index = KErrNotFound;
-    TBool itemExists = iWidget->View()->XYPosToItemIndex( aPointerEvent.iPosition, index );
-    
-    if ( iLongTapDetector )
-        {
-        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            iLongTapDetector->EnableLongTapAnimation( itemExists &&
-                    GetMmModel()->GetNumberOfSpecificMenuItemsL( index ) > 0 );
-            }
-        TPointerEvent longTapPointerEvent = aPointerEvent;
-        if ( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
-            {
-            longTapPointerEvent.iType = TPointerEvent::EDrag;
-            }
-        iLongTapDetector->PointerEventL( longTapPointerEvent );
-        }
-
-    CCoeControl::HandlePointerEventL(aPointerEvent);
-
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Down
-            && itemExists  )
-        {
-        SetHighlightL( index );
-        }
-    else if ( aPointerEvent.iType == TPointerEvent::EDrag
-              // the line below is needed to enable edit mode in the list widget
-    		  // because behaviour in the grid and list is different
-    		  || (aPointerEvent.iType == TPointerEvent::EButtonRepeat && WidgetType() == EGridWidget ))
-    	{
-    	if ( itemExists )
-    		{
-        	if ( GetHighlight() != index )
-        	    {
-        	    SetHighlightVisibilityL( EFalse );
-        	    if ( IsEditMode() )
-        	    	{
-        		    SetHighlightL( index );
-        	    	}
-        	    }
-    		}
-    	else
-    		{
-    		SetHighlightVisibilityL( EFalse );
-    		}
-    	}
-
-	TInt lastTopItemIndex = Widget()->TopItemIndex();
-
-    TBool abortAnimation = lastTopItemIndex != Widget()->TopItemIndex();
-
-    if (abortAnimation)
-        {
-        iDrawer->GetAnimator()->CancelAnimationsL();
-        }
-
-    if ( IsEditMode() && iDragAndDropObserver )
-    	{
-		HandlePointerEventsInEditModeL(aPointerEvent, abortAnimation);
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TRect CMmWidgetContainer::GetItemRectL( TInt aItemIndex )
-	{
-	User::LeaveIfNull( iWidget );
-	TPoint pos = iWidget->View()->ItemPos( aItemIndex );
-	TSize size = iDrawer->GetItemSize( aItemIndex, EFalse );
-	return TRect( pos.iX, pos.iY, pos.iX + size.iWidth, pos.iY + size.iHeight );
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetDraggableL( TBool aDraggable )
-    {
-
-    iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-    iDrawer->SetDraggableL( aDraggable );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::IsEditMode() const
-	{
-	return iIsEditMode;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetEditModeL( TBool aIsEditMode )
-    {
-    iIsEditMode = aIsEditMode;
-    StartOrStopMarquee();
-
-    ASSERT(iDrawer);
-    iDrawer->SetEditModeL( aIsEditMode );
-    if ( !AknLayoutUtils::PenEnabled() && aIsEditMode )
-    	{
-        iDraggedIndex = iWidget->CurrentItemIndex();
-        ScrollViewIfNeededL(); //only edit mode non-touch
-    	}
-
-    // scrollbar does not work when scrolling is disabled
-    // iWidget->DisableScrolling( aIsEditMode );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetHighlightVisibilityL( TBool aEnable )
-    {
-    // activate the model
-    CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-
-    if ( suiteModel )
-        {
-        suiteModel->SetActiveL( aEnable );
-        }
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-	    		iDrawer->Gc() );
-#endif
-    if ( !aEnable )
-        {
-        iWidget->View()->ItemDrawer()->SetFlags(
-            CListItemDrawer::ESingleClickDisabledHighlight );
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	    if ( transApi )
-	        {
-           	transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
-  	        }
-#endif
-        }
-    else
-        {
-        iWidget->View()->ItemDrawer()->ClearFlags(
-            CListItemDrawer::ESingleClickDisabledHighlight );
-        }
-    
-    if ( IsVisible() )
-        {
-        TInt highlight = GetHighlight();
-        CListBoxView* view = Widget()->View();
-        Widget()->DrawNow( TRect( view->ItemPos( highlight ),
-                view->ItemSize( highlight ) ) );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::IsHighlightVisible()
-    {
-    return !( iWidget->View()->ItemDrawer()->Flags() & 
-    		CListItemDrawer::ESingleClickDisabledHighlight );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::IsDraggable()
-	{
-    iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-    return iDrawer->IsDraggable();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CMmWidgetContainer::ComponentControl(TInt aIndex) const
-    {
-    switch( aIndex )
-        {
-        case 0:
-            return iWidget;
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::NumberOfItems()
-    {
-    return GetMmModel()->NumberOfItems();
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetObserver( MMmWidgetObserver*  aObserver )
-    {
-    //iWidget->SetListBoxObserver( aObserver );
-    iListBoxObserver = aObserver;
-    iKeyEventObserver = aObserver;
-	iDragAndDropObserver = aObserver;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::GetPreviousHighlight()
-    {
-    return iPreviousHighlight;
-    }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TInt CMmWidgetContainer::GetHighlight( )
-    {
-    return iCurrentHighlight;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetManualHighlightL( TInt aItemIndex,
-		TBool aRedraw )
-	{
-	SetHighlightL( aItemIndex );
-
-	if ( aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems() )
-		{
-		if ( aItemIndex != iWidget->CurrentItemIndex() )
-			{
-			iWidget->View()->SetCurrentItemIndex( aItemIndex );
-			}
-
-		if ( aRedraw )
-			{
-			iWidget->SetCurrentItemIndex( aItemIndex );
-			iWidget->DrawNow();
-			}
-		}
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetHighlightL( TInt aItemIndex )
-    {
-    ASSERT( aItemIndex >= KErrNotFound );
-
-    if (aItemIndex == KErrNotFound)
-        {
-        iCurrentHighlight =	 iPreviousHighlight = KErrNotFound;
-        SetDefaultHighlightL( EFalse );
-        }
-    else if (aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems())
-        {
-        iPreviousHighlight = iCurrentHighlight;
-        iCurrentHighlight = aItemIndex;
-
-        if ( iPreviousHighlight != iCurrentHighlight )
-            {
-            HideOptionsMenuIfDisplayed();
-            }
-
-        CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-
-        if (suiteModel)
-            {
-            suiteModel->SetSuiteHighlightL( iCurrentHighlight );
-            }
-        }
-
-
-	if ( IsEditMode() )
-    	{
-    	TMmFloatingItem postDragCurrent( GetHighlight(),
-    			Widget()->View()->ItemPos( GetHighlight() ),
-    			EPostHighlightChangeRefreshItem,
-				MmEffects::KNoAnimationFramesCount, Widget()->View() );
-
-    	iDrawer->AddFloatingItemL( postDragCurrent );
-
-    	if ( GetPreviousHighlight() != GetHighlight() )
-    		{
-    		TMmFloatingItem postDragPrevious( GetPreviousHighlight(),
-    				Widget()->View()->ItemPos( GetPreviousHighlight() ),
-    				EPostHighlightChangeRefreshItem,
-    				MmEffects::KNoAnimationFramesCount, Widget()->View() );
-
-    		iDrawer->AddFloatingItemL( postDragPrevious );
-    		}
-    	}
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::PointInItemReorderAreaL(
-            TInt aItemIndex, TPoint aPoint )
-    {
-    TRect itemRect = GetItemRectL( aItemIndex );
-    itemRect.Shrink( MmEffects::KShiftRatio * itemRect.Width(),
-            MmEffects::KShiftRatio * itemRect.Height() );
-    return itemRect.Contains( aPoint );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HideOptionsMenuIfDisplayed()
-    {
-    CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
-    if ( menuBar && menuBar->IsDisplayed() )
-        {
-        menuBar->StopDisplayingMenuBar();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetFlag(TInt /*Flag*/)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-CEikListBox* CMmWidgetContainer::Widget()
-    {
-    return iWidget;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmWidgetContainer::OfferKeyEventL(const TKeyEvent &aKeyEvent,
-                                                   TEventCode aType)
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-
-    TBool highlightVisibleWhenEventReceived = IsHighlightVisible();
-
-    if ( IsEditMode() && IsDraggable() )
-    	return resp;
-
-    resp = HandleKeyEventL( aKeyEvent, aType );
-    if ( iMarqueeAdapter && ( aType == EEventKeyDown ) )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
-
-    if (!AknLayoutUtils::PenEnabled() && iIsEditMode )
-        {
-		if ((GetHighlight() + ColumnsInCurrentView() > NumberOfItems() - 1)
-						&& aKeyEvent.iScanCode == EStdKeyDownArrow)
-			// the second condition is needed to block moving item down when there is no item below the moved item.
-			{
-			return resp;
-			}
-
-        if (aType == EEventKey )
-            {
-            TInt prevIndex = GetHighlight();
-            static_cast<CMmListBoxItemDrawer*>(iDrawer)->SetHighlightShown( EFalse );
-            resp = iWidget->OfferKeyEventL( aKeyEvent, aType );
-            static_cast<CMmListBoxItemDrawer*>(iDrawer)->SetHighlightShown( ETrue );
-            SetHighlightL( iWidget->CurrentItemIndex() );
-            ScrollViewIfNeededL(); //only edit mode non-touch
-
-            if ( prevIndex != GetHighlight()
-            		&& KErrNotFound != prevIndex  )
-            	{
-            	iDraggedIndex = prevIndex;
-                iDragAndDropObserver->HandleDragStartL( iDraggedIndex );
-                GetMmModel()->ReorderModelL( iDraggedIndex, GetHighlight() );
-                iDrawer->AnimateItemSwapL( iDraggedIndex , GetHighlight() );
-                AnimateShiftL( GetHighlight() );
-            	}
-            return resp;
-            }
-        }
-
-    if ( resp == EKeyWasNotConsumed )
-        {
-        resp = iWidget->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    if ( iKeyEventObserver )
-    	{
-    	resp = iKeyEventObserver->HandleKeyPressedL( aKeyEvent, aType );
-    	}
-
-    if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-    		aKeyEvent.iScanCode == EStdKeyEnter ||
-    		aKeyEvent.iScanCode == EStdKeyNkpEnter ) && aType == EEventKeyDown )
-    	{
-    	if ( highlightVisibleWhenEventReceived )
-    		{
-    		iAllowLongPress = EFalse;
-    		}
-    	else
-    		{
-    		iAllowLongPress = ETrue;
-
-			SetHighlightVisibilityL( ETrue );
-			SetDefaultHighlightL( ETrue );
-			HandleForegroundGainedL();
-			}
-    	}
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::ColumnsInCurrentView()
-	{
-	//should be overridden by deriving classes
-	return NumberOfItems();
-	}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::RowsInCurrentView()
-    {
-    //should be overridden by deriving classes
-    CListBoxView *view = ((CListBoxView*) Widget()->View());
-    return view->NumberOfItemsThatFitInRect( Rect());//Widget()->View()->ViewRect());
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleRockerPressL()
-	{
-    TKeyEvent ke;
-    ke.iScanCode = EStdKeyNull;
-    ke.iCode = EStdKeyNull;
-    ke.iModifiers = 0;
-    ke.iRepeats = 0;
-    if( iKeyEventObserver )
-        {
-        iKeyEventObserver->HandleKeyPressedL( ke, EEventUser );
-        }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CMmWidgetContainer::HandleKeyEventL( const TKeyEvent &aKeyEvent,
-        TEventCode aType )
-    {
-    TKeyResponse resp = EKeyWasNotConsumed;
-    TBool arrowKeyPressed = aKeyEvent.iScanCode == EStdKeyRightArrow ||
-        aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-        aKeyEvent.iScanCode == EStdKeyUpArrow ||
-        aKeyEvent.iScanCode == EStdKeyDownArrow;
-    TBool arrowHasHandling = ( aKeyEvent.iScanCode == EStdKeyRightArrow
-									&& WidgetType() != EListWidget )
-							|| ( aKeyEvent.iScanCode == EStdKeyLeftArrow
-									&& WidgetType() != EListWidget )
-							|| aKeyEvent.iScanCode == EStdKeyUpArrow
-							|| aKeyEvent.iScanCode == EStdKeyDownArrow;
-
-    // handle arrow: draw highlight when arrow used
-    if ( arrowHasHandling )
-        {
-        if ( !IsHighlightVisible() )
-            {
-            if ( aType == EEventKey  || aType == EEventKeyUp )
-                {
-                SetHighlightVisibilityL( ETrue );
-                SetDefaultHighlightL( ETrue );
-                }
-           	// override avkon's default highlight setting
-         	resp = EKeyWasConsumed;
-            }
-        else
-            {
-            // this block is used to set the highlight only once for each event
-            if ( aKeyEvent.iRepeats > 0 )
-                {
-                // if repeated key events we move focus on EEventKey
-                if ( aType == EEventKey )
-                    {
-                    SetHighlightL( iWidget->CurrentItemIndex() );
-                    }
-                }
-            else
-                {
-                // if single event we move focus on EEventKeyUp
-                if ( aType == EEventKeyUp )
-                    {
-                    SetHighlightL( iWidget->CurrentItemIndex() );
-                    }
-                }
-            }
-    	}
-    else if( arrowKeyPressed )
-        {
-        // ignore left and right arrows in list
-        resp = EKeyWasConsumed;
-        }
-    // rocker select (short press)
-    else if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ) && ( aType == EEventKeyDown  ) )
-    	{
-		HandleRockerPressL();
-		resp = EKeyWasConsumed;
-    	}
-    else if ( iAllowLongPress && aType == EEventKey && aKeyEvent.iRepeats > 0 &&
-    		( aKeyEvent.iScanCode == EStdKeyDevice3
-				|| aKeyEvent.iScanCode == EStdKeyEnter
-				|| aKeyEvent.iScanCode == EStdKeyNkpEnter ) )
-    	{
-    	HandleRockerPressL();
-    	resp = EKeyWasConsumed;
-    	iAllowLongPress = EFalse;
-    	}
-
-    return resp;
-    }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetSuiteModelL(CHnSuiteModel* aModel)
-    {
-    CHnSuiteModel* prevModel = GetMmModel()->GetSuiteModel();
-
-    TInt numberOfItemsBefore (0);
-    numberOfItemsBefore = GetMmModel()->NumberOfItems();
-
-    GetMmModel()->SetSuiteModelL( aModel );
-
-    // This needs to be in place (disabling redraw)
-    // to udpate widget internal state, however to wait for
-    // drawing until all highlight set matters are solved.
-    iWidget->MakeVisible(EFalse);
-    if ( GetMmModel()->NumberOfItems() >= numberOfItemsBefore )
-        {
-        HandleItemAdditionL();
-        }
-    else
-        {
-        HandleItemRemovalL();
-        }
-    if ( prevModel && aModel )
-        {
-        SetupWidgetLayoutL();
-        }
-    iWidget->MakeVisible(ETrue);
-
-    Widget()->View()->ItemDrawer()->ClearFlags(
-    		CListItemDrawer::EPressedDownState );
-	iPostProcessor->StartAt( iWidget->BottomItemIndex() + 1 );
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetupDrawer()
-	{
-	iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C THnSuiteWidgetType CMmWidgetContainer::WidgetType()
-	{
-	return EUnspecified;
-	}
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::RemoveLiwObjects()
-    {
-    // there is only one place where LIW objects can be (co)owned in mmwidgets
-    // and that place is item drawer's cache
-    iDrawer->TrimCacheSize( 0 );
-    }
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleBackgroundGainedL()
-    {
-    iInForeground = EFalse;
-    StartOrStopMarquee();
-
-    CancelDragL();
-
-    // Fix for EMWK-7NYKRJ
-    // Matrix Menu: Scrollbar highligted when App Key is pressed while it is held
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        CEikScrollBar* scrollBar =
-                iWidget->ScrollBarFrame()->VerticalScrollBar();
-        if ( scrollBar && scrollBar->IsVisible() )
-            {
-            TPointerEvent fakeButton1UpEvent;
-            fakeButton1UpEvent.iType = TPointerEvent::EButton1Up;
-            fakeButton1UpEvent.iModifiers = 0;
-            scrollBar->HandlePointerEventL( fakeButton1UpEvent );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleForegroundGainedL()
-    {
-    iInForeground = ETrue;
-    StartOrStopMarquee();
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::DeltaSquare( const TPoint aTapPoint,
-		const TPoint aPos )
-	{
-	TInt delta( KErrNotFound );
-	TInt height = aTapPoint.iY - aPos.iY;
-	TInt width = aTapPoint.iX - aPos.iX;
-    if( WidgetType() == EListWidget )
-    	{
-    	delta = height * height + height * height;
-    	}
-    else
-    	{
-    	delta = height * height + width * width;
-    	}
-	return delta;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::CancelDragL()
-    {
-    if( iIsEditMode && iDrawer )
-        {
-        if( iDrawer->GetFloatingItemIndex( EDrag ) != KErrNotFound )
-            {
-            CancelDragL( EFalse );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleItemAdditionL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::HandleItemRemovalL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::StopMovingL()
-	{
-	if ( !AknLayoutUtils::PenEnabled() && iDragAndDropObserver )
-		iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-	}
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ScrollViewIfNeededL()
-	{
-	if ((iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			-  iWidget->TopItemIndex() / ColumnsInCurrentView() ) <= 1 )
-		{
-		return;
-		}
-
-	TBool needToScrollUp =
-		GetHighlight() - iWidget->TopItemIndex() < ColumnsInCurrentView()
-		&& iWidget->TopItemIndex() != 0;
-
-	TBool needToScrollDown =
-		iWidget->BottomItemIndex() - GetHighlight() < ColumnsInCurrentView()
-		&& iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			!= ( NumberOfItems() - 1 )  / ColumnsInCurrentView();
-
-	if ( WidgetType() == EGridWidget )
-		{
-		// TODO: temporary - invisible partial items in MCL grid :/
-		needToScrollDown =
-			iWidget->BottomItemIndex() - ColumnsInCurrentView() - GetHighlight() < ColumnsInCurrentView()
-		    && ( iWidget->BottomItemIndex() / ColumnsInCurrentView() ) - 1
-				!= ( NumberOfItems() - 1 ) / ColumnsInCurrentView()
-			&& iWidget->BottomItemIndex() - iWidget->TopItemIndex()
-				> ColumnsInCurrentView() * RowsInCurrentView();
-		}
-
-	if ( needToScrollUp )
-		{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollUp );
-				}
-#endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() - ColumnsInCurrentView() );
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-		UpdateViewScrollBarThumbs();
-		}
-	else if ( needToScrollDown )
-		{
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
-				}
-#endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() + ColumnsInCurrentView() );
-
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
-#endif
-
-		UpdateViewScrollBarThumbs();
-		}
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::UpdateViewScrollBarThumbs()
-	{
-
-	}
-
-//----------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::StartOrStopMarquee()
-    {
-    if ( iMarqueeAdapter )
-        {
-        TBool marqueeShouldBeEnabled = iHasFocus && iInForeground
-                && !iIsFaded && !IsEditMode();
-
-         // logical Ex-OR
-        if ( !!marqueeShouldBeEnabled != !!iMarqueeAdapter->IsMarqueeEnabled() )
-            {
-            if ( !marqueeShouldBeEnabled )
-                {
-                iMarqueeAdapter->StopMarqueeDrawing();
-                }
-
-            iMarqueeAdapter->EnableMarquee( marqueeShouldBeEnabled );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetHighlightAfterDrag()
-	{
-    if ( AknLayoutUtils::PenEnabled() &&
-    		iDraggedIndex != KErrNotFound &&
-			iDraggedIndex != Widget()->CurrentItemIndex()
-			&& iDraggedIndex < NumberOfItems() )
-    	{
-    	TBool isFolder(EFalse);
-    	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		CHnItemModel* onItemModel = model->GetItemModel(
-				model->IdByIndex( Widget()->CurrentItemIndex() ));
-	    if (onItemModel)
-	    	{
-	    	isFolder = onItemModel->GetItemType() == EItemTypeParentFolder ||
-				onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-	    if (!isFolder)
-	    	{
-	    	Widget()->View()->SetCurrentItemIndex( iDraggedIndex );
-	    	}
-    	}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ValidateWidgetCurrentItemIndex()
-	{
-	if (Widget()->CurrentItemIndex() >= GetMmModel()->NumberOfItems()
-			|| Widget()->CurrentItemIndex() == KErrNotFound )
-		{
-		iCurrentHighlight = GetMmModel()->NumberOfItems();
-		if( iCurrentHighlight > 0 )
-			{
-			Widget()->View()->SetCurrentItemIndex( --iCurrentHighlight );
-			}
-		else
-			{
-			iCurrentHighlight = KErrNotFound ;
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::CacheWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = VerticalItemOffset();
-	iWidgetPositionCache.iTopItemIndex = Widget()->TopItemIndex();
-	iWidgetPositionCache.iLandscape
-			= Layout_Meta_Data::IsLandscapeOrientation();
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
-
-	TInt highlightedItemIndex = Widget()->CurrentItemIndex();
-	CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-	if ( suiteModel && highlightedItemIndex != KErrNotFound
-	        && suiteModel->GetSuiteHighlight() == highlightedItemIndex
-	        && ItemIsVisible( highlightedItemIndex ) )
-	    {
-	    iWidgetPositionCache.iHighlightedItemId =
-            suiteModel->IdByIndex( highlightedItemIndex );
-	    }
-
-	iWidgetPositionCache.iValid = ETrue;
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::RestoreWidgetPosition()
-	{
-	if (iWidgetPositionCache.iValid)
-		{
-	   if ( iWidgetPositionCache.iLandscape
-				== Layout_Meta_Data::IsLandscapeOrientation() )
-			{
-            // If view position was cached during boundary effect, correct the
-            // cached position.
-            if ( iWidgetPositionCache.iTopItemIndex == 0 &&
-                    iWidgetPositionCache.iVerticalItemOffset > 0 )
-                {
-                iWidgetPositionCache.iVerticalItemOffset = 0;
-                // This corrects the position cached during the upper boundary
-                // effect. AlignBottomOfViewL will take care of lower boundary
-                // effect.
-                }
-
-			Widget()->View()->SetTopItemIndex(iWidgetPositionCache.iTopItemIndex);
-			SetVerticalItemOffset(iWidgetPositionCache.iVerticalItemOffset);
-			TRAP_IGNORE( AlignBottomOfViewL() );
-
-			// Important: If an item that was previously highlighted and visible is
-			// still highlighted and yet somehow is not visible after the position
-			// has been restored, fix the problem by scrolling the view until that
-			// item is visible again:
-			CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-			if ( suiteModel && IsHighlightVisible() )
-			    {
-			    TInt highlightedItemIndex = suiteModel->GetSuiteHighlight();
-			    TInt highlightedItemId = highlightedItemIndex != KErrNotFound ?
-			        suiteModel->IdByIndex( highlightedItemIndex ) : KErrNotFound;
-			    if ( highlightedItemId != KErrNotFound
-			            && highlightedItemId == iWidgetPositionCache.iHighlightedItemId
-			            && !ItemIsVisible( highlightedItemIndex ) )
-			        {
-			        TRAP_IGNORE( ScrollToItemL( highlightedItemIndex ) );
-			        }
-			    }
-			}
-		else
-			{
-			TRAP_IGNORE( ScrollToItemL(Widget()->CurrentItemIndex()) );
-			}
-
-		iWidgetPositionCache.iValid = EFalse;
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::MakeVisible(TBool aVisible)
-	{
-	if ( !aVisible )
-		{
-		RestoreWidgetPosition();
-		CacheWidgetPosition();
-		iDrawer->RemoveFloatingItems();
-		}
-	else if ( aVisible )
-		{
-		RestoreWidgetPosition();
-		}
-	CCoeControl::MakeVisible(aVisible);
-	iWidget->MakeVisible(aVisible);
-	if ( !aVisible )
-        {
-        SetHighlightVisibilityL( EFalse );
-        }
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::ResetWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = 0;
-	iWidgetPositionCache.iTopItemIndex = 0;
-	iWidgetPositionCache.iValid = EFalse;
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
-	Widget()->SetTopItemIndex(0);
-	SetVerticalItemOffset(0);
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::NumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		CacheWidgetPosition();
-		Widget()->View()->SetDisableRedraw( ETrue );
-
-		HandleNumberOfItemsChangedL( aChange );
-
-		Widget()->View()->SetDisableRedraw( EFalse );
-		RestoreWidgetPosition();
-		}
-	else
-		{
-		// there is no need to cache and restore widget position in non-touch;
-		// moreover, it can cause some problems with scrolling when adding
-		// new folder
-		HandleNumberOfItemsChangedL( aChange );
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleNumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	SetHighlightVisibilityL( EFalse );
-	if ( aChange == EItemsAdded )
-		{
-		HandleItemAdditionL();
-		}
-	else if ( aChange == EItemsRemoved )
-		{
-		HandleItemRemovalL();
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::AlignBottomOfViewL()
-	{
-	TInt scrollConsumed( EFalse );
-	TInt pixelsToScroll( 0 );
-
-	if ( NumberOfItems() > 0 )
-		{
-		pixelsToScroll = CalcBottomPixelsToScroll();
-		}
-
-	if ( pixelsToScroll != 0 )
-		{
-		ScrollInPixelsL( pixelsToScroll );
-		scrollConsumed = ETrue;
-		}
-
-	return scrollConsumed;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmWidgetContainer::CalcBottomPixelsToScroll()
-    {
-    const TInt firstItemIndex( 0 );
-    TInt lastItemIndex = NumberOfItems() - 1;
-    TInt viewHeight = Widget()->View()->ViewRect().Height();
-    TInt lastItemBottomY = Widget()->View()->ItemPos(lastItemIndex).iY
-                + Widget()->ItemHeight();
-    TInt pixelsToScroll( 0 );
-
-    if ( Widget()->ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
-        {
-        pixelsToScroll = Min( 0, lastItemBottomY - viewHeight );
-        }
-    else
-        {
-        pixelsToScroll = Widget()->View()->ItemPos( firstItemIndex ).iY;
-        }
-
-    return pixelsToScroll;
-    }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CMmWidgetContainer::ItemIsVisible( TInt aItemIndex ) const
-    {
-    return iWidget->View()->ItemIsVisible( aItemIndex );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::ItemIsFullyVisible(TInt aIndex)
-	{
-	return ItemIsVisible( aIndex )
-			&& !Widget()->View()->ItemIsPartiallyVisible(aIndex);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::ScrollInPixelsL(TInt aPixels)
-	{
-	SetupScrollingEffectsL( aPixels > 0 );
-
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		Widget()->HandlePhysicsScrollEventL(aPixels);
-		}
-	else
-		{
-		// non-touch avkon doesn't seem to support scrolling by given
-		// amount of pixels
-		TInt delta = aPixels / Widget()->View()->ItemHeight();
-
-		Widget()->View()->VScrollTo( Widget()->TopItemIndex() +
-				delta * ColumnsInCurrentView() );
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMmWidgetContainer::ScrollToItemL(TInt aIndex)
-	{
-	TInt scrollConsumed(EFalse);
-	if (aIndex >= 0 && aIndex <= NumberOfItems())
-		{
-		scrollConsumed = AlignBottomOfViewL();
-		if ( !scrollConsumed && Widget()->View()->ItemIsPartiallyVisible(aIndex))
-			{
-//			the case when the item is partially visible at top or
-//			bottom of screen. Th e view is scrolled the offset to
-//			make the item entirely visible.
-			TInt offsetBottom = Widget()->View()->ItemPos(aIndex).iY
-					+ Widget()->ItemHeight()
-					- Widget()->View()->ViewRect().Height();
-			TInt offsetTop = Widget()->View()->ItemPos(aIndex).iY;
-			TBool takeTop = Abs(offsetTop) < Abs(offsetBottom);
-			TInt offset = (takeTop) ? offsetTop : offsetBottom;
-			if (offset != 0)
-				{
-				ScrollInPixelsL( offset );
-				scrollConsumed = ETrue;
-				}
-
-			}
-		else if (!Widget()->View()->ItemIsVisible(aIndex))
-			{
-//			the case when the item is not visible on screen
-			SetupScrollingEffectsL( aIndex > Widget()->BottomItemIndex() );
-			Widget()->ScrollToMakeItemVisible(aIndex);
-			AlignBottomOfViewL();
-			scrollConsumed = ETrue;
-			}
-		}
-	return scrollConsumed;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::SetupScrollingEffectsL(TBool aDown)
-	{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-			iDrawer->Gc());
-	if (transApi)
-		{
-		MAknListBoxTfxInternal::TMovementType movementType;
-		movementType = (aDown == (TInt)ETrue ) ? MAknListBoxTfxInternal::EListScrollDown
-				: MAknListBoxTfxInternal::EListScrollUp;
-		transApi->SetMoveType(movementType);
-		}
-#endif
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::PrepareForGarbage()
-	{
-//	This is called when the suite model is destoyed and the container is set to be destroyed
-//	by the garbage collector. There should be no redraws done to the widget in this period
-//	because this will cause the screen to be redrawn only containing the balnk background.
-//	Before garbage cleanup an asynchronous redraw event may intend to redraw the widget.
-//	SetDisableRedraw() prevents redrawing. Animator is also prepared for garbage so there is
-//	no instance which can enable redraw of the widget.
-	Widget()->View()->SetDisableRedraw( ETrue );
-	iDrawer->RemoveFloatingItems();
-//	Prapares the animator for garbage, which means it blocks any animator drawing.
-	iDrawer->GetAnimator()->PrepareForGarbage();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleLongTapEventL( const TPoint& aPenEventLocation,
-                                      const TPoint& aPenEventScreenLocation )
-	{
-	TInt index( KErrNotFound );
-	if ( iWidget->View()->XYPosToItemIndex( aPenEventLocation, index ) )
-		{
-		SetHighlightVisibilityL( ETrue );
-	    iLongTapInProgress = ETrue;
-		if ( iLongTapObserver )
-			{
-			iLongTapObserver->HandleLongTapEventL( aPenEventScreenLocation );
-			}
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::SetLongTapObserver( MMmLongTapObserver* aObserver )
-	{
-	iLongTapObserver = aObserver;
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMmWidgetContainer::EndLongTapL( TBool aStopTimer )
-	{
-	if ( iLongTapInProgress )
-		{
-		iLongTapInProgress = EFalse;
-		if( aStopTimer )
-			{
-			SetHighlightVisibilityL( EFalse );
-			}
-		}
-	}
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CMmWidgetContainer::HandleListBoxEventL( CEikListBox* aListBox,
-        TListBoxEvent aEventType )
-    {
-//    handle same behaviour in edit mode and normal mode
-    switch ( aEventType )
-		{
-		case MEikListBoxObserver::EEventPenDownOnItem:
-			{
-			iDragOccured = EFalse;
-			if ( !iLongTapInProgress )
-				{
-				SetHighlightVisibilityL( ETrue );
-				}
-			break;
-			}
-		case MEikListBoxObserver::EEventItemSingleClicked:
-			{
-			if ( !iDragOccured && !iLongTapInProgress )
-				{
-				SetHighlightL( Widget()->CurrentItemIndex() );
-				SetHighlightVisibilityL( EFalse );
-				}
-			iDragOccured = EFalse;
-			break;
-			}
-		case MEikListBoxObserver::EEventItemDraggingActioned:
-			{
-			SetHighlightVisibilityL( EFalse );
-			iDragOccured = ETrue;
-			break;
-			}
-		case MEikListBoxObserver::EEventPanningStarted:
-		case MEikListBoxObserver::EEventPanningStopped:
-		case MEikListBoxObserver::EEventFlickStarted:
-		case MEikListBoxObserver::EEventFlickStopped:
-			{
-			SetHighlightVisibilityL( EFalse );
-			break;
-			}
-		}
-
-//    handle different behaviour in edit mode and normal mode
-	if ( !IsEditMode() )
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStarted:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( ETrue );
-				break;
-				}
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( EFalse );
-				DrawView();
-				break;
-				}
-			}
-		}
-	else
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				// this fixes some problems with messed edit mode
-				// caused by kinetic scrolling
-				iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-				break;
-				}
-			}
-		}
-
-    if ( iListBoxObserver && !iLongTapInProgress && !iDrawer->IsDraggable() )
-        {
-        iListBoxObserver->HandleListBoxEventL( aListBox, aEventType );
-        }
-    }
-
-//End of file
--- a/menufw/menufwui/mmwidgets/src/mymenudebug.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  debug constants definitions
-*
-*/
-
-
-#ifndef MYMENUDEBUG_H
-#define MYMENUDEBUG_H
-
-// MACROS
-#define APPEND_TO_DEBUG_FILE
-
-// CONSTANTS
-_LIT(KDebugDirName, "menu");
-_LIT(KDebugFileName, "mmtimediawidgets.txt");
-
-#endif // MYMENUDEBUG_H
-
-// End of File
--- a/menufw/menusuites/data/mmenuschema.xsd	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,597 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<xs:schema xmlns:mmenu="http://nokia.com/mmenu" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://nokia.com/mmenu" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:element name="content">
-    <xs:annotation>
-      <xs:documentation>This Tag is the root element of configuration and defines namespaces for XML needs</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="localization" type="mmenu:localizationType">
-          <xs:annotation>
-            <xs:documentation>Localization tag should be used in order to map resource sources to namespaces. It enables use of resources in context of namespaces. Namespace are not only limited to single xml file – they have global scope, and once defined, are available in all definition files.</xs:documentation>
-          </xs:annotation>
-        </xs:element>
-        <xs:element minOccurs="0" name="suite" type="mmenu:suiteType">
-          <xs:annotation>
-            <xs:documentation>This tag defines single suite</xs:documentation>
-          </xs:annotation>
-          <xs:unique name="uniqueEventNameSuite">
-            <xs:selector xpath="mmenu:event" />
-            <xs:field xpath="@event" />
-          </xs:unique>
-        </xs:element>
-        <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
-          <xs:annotation>
-            <xs:documentation>This tag defines suite’s single or multiple items. It contains information about graphical representation, menu structure, actions, and queries. </xs:documentation>
-          </xs:annotation>
-          <xs:complexType>
-            <xs:complexContent mixed="false">
-              <xs:extension base="mmenu:itemType" />
-            </xs:complexContent>
-          </xs:complexType>
-          <xs:unique name="uniqueEventNameItem">
-            <xs:selector xpath="mmenu:event" />
-            <xs:field xpath="@event" />
-          </xs:unique>
-        </xs:element>
-      </xs:sequence>
-      <xs:attribute name="genre" type="xs:string" use="optional">
-        <xs:annotation>
-          <xs:documentation>This defines the suite name, for which the contents of the tag should relate to. It should be specified, for xml files containing items for a suite. Xml configuration files for suites do not require this, since they define the suite.</xs:documentation>
-        </xs:annotation>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-  <xs:complexType name="menuItemType">
-    <xs:sequence>
-      <xs:annotation>
-        <xs:documentation>Menu item may contain nested menu items.</xs:documentation>
-      </xs:annotation>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="menuitem" type="mmenu:menuItemType">
-        <xs:annotation>
-          <xs:documentation>A nested menu item.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="name" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Localized name of the menu item, which will be displayed in the menu.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="position" type="xs:integer">
-      <xs:annotation>
-        <xs:documentation>Position in the menu (used to control the order in which the items are displayed). Predefined menu items have their position defined at 100, 200 etc, so it is easy to position custom menu items between the predefined ones.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="event" type="mmenu:eventTypeType">
-      <xs:annotation>
-        <xs:documentation>Event related with the item. Mapped to specific action in mmenu:event section. Parameter should start with custom:†string followed with event name to indicate creation of a new event related to menu item and not to a predefined event. For list of predefined event see event Tag description (3.7)
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attributeGroup ref="mmenu:conditionGroup" />
-  </xs:complexType>
-  <xs:complexType name="keySeqType">
-    <xs:annotation>
-      <xs:documentation>Defines a key structure. A key, may contain nested keys. Keys are store information.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="key">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:keySeqType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="name" use="optional">
-      <xs:annotation>
-        <xs:documentation>name of the parameter</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:minLength value="1" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="type" use="optional">
-      <xs:annotation>
-        <xs:documentation>type of the parameter Values: 
-- string 
-- string16
-- formatted_string
-- integer
-- uid
-- boolean</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:enumeration value="string" />
-          <xs:enumeration value="string8" />
-          <xs:enumeration value="string16" />
-          <xs:enumeration value="integer64" />
-          <xs:enumeration value="integer" />
-          <xs:enumeration value="uid" />
-          <xs:enumeration value="boolean" />
-          <xs:enumeration value="list" />
-          <xs:enumeration value="map" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="value" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>value of the parameter</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:simpleType name="logicalTemplateType">
-    <xs:annotation>
-      <xs:documentation>Describes the logicla template to be used for widget's presentation. Logical templates are specific for widgets, so configuration should be consulted with documentation. If suite allows multiple widget types, multiple tempaltes may be specified using the "|" character.</xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="(list_single_hc_apps_pane|single_large_graphic_pane|(logical_template_([0-9])*([0-9a-z]))+[|]{0,1})+|empty" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:simpleType name="widgetTypeType">
-    <xs:annotation>
-      <xs:documentation>Desribes the type of a widget. If a suite allows multiple widgets, the values should be separated by "|" character.</xs:documentation>
-    </xs:annotation>
-    <xs:restriction base="xs:string">
-      <xs:pattern value="((grid|list|coverflow)[|]{0,1})+" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:complexType name="serviceType">
-    <xs:annotation>
-      <xs:documentation>Type defines the structure to access liw services.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" name="constructor" type="q1:keySeqType">
-        <xs:annotation>
-          <xs:documentation>Element defines the parameters needed to fetch the service interface. In this section service specific parameters may be defined. The section should contain a series of mmenu:key elements</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element name="command">
-        <xs:annotation>
-          <xs:documentation>Defines command name (to be invoked on the interface) and invocation method (synchronous or asynchronous)</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element xmlns:q2="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="key" type="q2:keySeqType">
-              <xs:annotation>
-                <xs:documentation>This tak contains xml structured data (mmenu:key) as it will be passed to the service</xs:documentation>
-              </xs:annotation>
-            </xs:element>
-          </xs:sequence>
-          <xs:attribute name="name">
-            <xs:annotation>
-              <xs:documentation>name of the command to invoke on the interface</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:minLength value="1" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="mode" use="optional">
-            <xs:annotation>
-              <xs:documentation>mode definition. Either “sync†for synchronous invocation or “async†
-asynchronous invocation
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="sync" />
-                <xs:enumeration value="async" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="service">
-      <xs:annotation>
-        <xs:documentation>name of the service producing output: e.g. “Service.TestMatrixDataServiceâ€.</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string">
-          <xs:minLength value="1" />
-        </xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="interface" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>interface used for the query: e.g. “ITestMatrixDataSourceâ€.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="eventType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of a specific event handling.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="action">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:serviceType">
-              <xs:attributeGroup ref="mmenu:conditionGroup" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="event" use="required">
-      <xs:simpleType>
-        <xs:restriction base="mmenu:eventTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="imageType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of an image.</xs:documentation>
-    </xs:annotation>
-    <xs:simpleContent>
-      <xs:extension base="xs:string">
-        <xs:attribute name="application_uid" type="xs:string" use="optional" />
-        <xs:attribute name="file" type="xs:string" use="optional" />
-        <xs:attribute name="effect">
-          <xs:simpleType>
-            <xs:restriction base="xs:string">
-              <xs:enumeration value="backdrop" />
-            </xs:restriction>
-          </xs:simpleType>
-        </xs:attribute>
-        <xs:attributeGroup ref="mmenu:imageBitmapBufferType" />
-        <xs:attributeGroup ref="mmenu:imageResourceAttributeGroup" />
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-  <xs:simpleType name="eventTypeType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="(custom:[_a-zA-Z0-9]+)|(key:select)|(key:select2)|(key:select3)|(key:call)|(item:focus)|(item:unfocus)|(suite:load)|(suite:unload)|(key:clear)|(key:move_into)|(key:move)" />
-    </xs:restriction>
-  </xs:simpleType>
-  <xs:complexType name="textType">
-    <xs:annotation>
-      <xs:documentation>Type defines the configuration of text value.</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="param">
-        <xs:complexType>
-          <xs:attribute name="value" type="xs:string" />
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attributeGroup ref="mmenu:textResourceAttributeGroup" />
-    <xs:attribute name="value" type="xs:string" />
-  </xs:complexType>
-  <xs:complexType name="toolbarType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a toolbar.
-</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="1" maxOccurs="3" name="button">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:buttonType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-    </xs:sequence>
-  </xs:complexType>
-  <xs:complexType name="buttonType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a button in a toolbar.
-</xs:documentation>
-    </xs:annotation>
-    <xs:all>
-      <xs:element minOccurs="0" maxOccurs="1" name="text">
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:textType" />
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="image" type="mmenu:imageType" />
-    </xs:all>
-    <xs:attribute name="index" type="xs:integer" use="required" />
-    <xs:attribute name="condition" type="xs:string" use="optional" />
-    <xs:attribute name="dimm" type="xs:string" use="optional" />
-    <xs:attribute name="event" type="mmenu:eventTypeType">
-      <xs:annotation>
-        <xs:documentation>Event related with the item. Mapped to specific action in mmenu:event section. Parameter should start with custom:†string followed with event name to indicate creation of a new event related to menu item and not to a predefined event. For list of predefined event see event Tag description (3.7)
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="itemType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of an item.
-</xs:documentation>
-    </xs:annotation>
-    <xs:choice minOccurs="1" maxOccurs="unbounded">
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>The tag is used to describe user menu appearance when item is focused, and which events will occur when menu item is selected. </xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem_specific" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>This tag is the same as menuitem but describes menu items displayed only which have specific relation to the item</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element xmlns:q1="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="menuitem_action" type="q1:menuItemType">
-        <xs:annotation>
-          <xs:documentation>This tag is the same as menuitem but describes action commands - such functions that happen via touch-down and release on the item (e.g. Open)</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="toolbar" type="mmenu:toolbarType">
-        <xs:annotation>
-          <xs:documentation>This element describes the layout of toolbar, for the highlighted item.</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="query">
-        <xs:annotation>
-          <xs:documentation>Defines parameters used to construct queries to services and display dynamically modifiable data.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension xmlns:q2="http://nokia.com/mmenu" base="q2:serviceType">
-              <xs:attribute name="namespace" type="xs:string" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element xmlns:q3="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="notify_request" type="q3:serviceType">
-        <xs:annotation>
-          <xs:documentation>Registers for notifications in a liw service.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="output">
-        <xs:annotation>
-          <xs:documentation>Configures layout of graphical items.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType mixed="true">
-          <xs:choice>
-            <xs:element minOccurs="0" name="image" type="mmenu:imageType" />
-            <xs:element minOccurs="0" name="text" type="mmenu:textType" />
-          </xs:choice>
-          <xs:attribute name="alias" use="required">
-            <xs:annotation>
-              <xs:documentation>Defines UI graphical element to which content will be linked to. Some UI  elements:
-- mul_name is the main item shown in graphical list item,
-- mul_detail represents secondary line,
-- mul_icon is the icon for the list item.
-
-The complete definition of all aliases can be obtained from [3]. Aliases are dependant of the presentation type, thus one should be well acquainted with [3] to achieve expected result.
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="mul_title" />
-                <xs:enumeration value="mul_detail" />
-                <xs:enumeration value="mul_icon" />
-                <xs:enumeration value="mul_icon_2" />
-                <xs:enumeration value="mul_icon_3" />
-                <xs:enumeration value="mul_indicator_1" />
-                <xs:enumeration value="mul_indicator_2" />
-                <xs:enumeration value="mul_move_indicator_arrow_top" />
-                <xs:enumeration value="mul_move_indicator_arrow_bottom" />
-                <xs:enumeration value="mul_move_indicator_arrow_left" />
-                <xs:enumeration value="mul_move_indicator_arrow_right" />
-                <xs:enumeration value="mul_move_indicator_frame" />
-                <xs:enumeration value="mul_icon_backdrop" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="type" use="optional">
-            <xs:annotation>
-              <xs:documentation>Content type. Values: 
-- string 
-- string16
-- formatted_string
-- integer
-- uid
-- boolean
-
-Use “string†type for icons and constant texts and “formatted_string†type for texts with parameters
-
-</xs:documentation>
-            </xs:annotation>
-            <xs:simpleType>
-              <xs:restriction base="xs:string">
-                <xs:enumeration value="string" />
-                <xs:enumeration value="string8" />
-                <xs:enumeration value="string16" />
-                <xs:enumeration value="formatted_string" />
-                <xs:enumeration value="integer" />
-                <xs:enumeration value="uid" />
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:attribute>
-          <xs:attribute name="value" type="xs:string" use="optional">
-            <xs:annotation>
-              <xs:documentation>Hard coded value for the parameter or a reference.</xs:documentation>
-            </xs:annotation>
-          </xs:attribute>
-          <xs:attributeGroup ref="mmenu:conditionGroup" />
-        </xs:complexType>
-      </xs:element>
-      <xs:element xmlns:q4="http://nokia.com/mmenu" minOccurs="0" maxOccurs="unbounded" name="event" type="q4:eventType">
-        <xs:annotation>
-          <xs:documentation>Used to specify event handling, for predefined and custom events.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="1" name="edit_mode" type="mmenu:itemType" />
-      <xs:element minOccurs="0" maxOccurs="1" name="msk" type="mmenu:mskType" />
-    </xs:choice>
-    <xs:attribute xmlns:q5="http://nokia.com/mmenu" name="template" type="q5:logicalTemplateType" use="optional">
-      <xs:annotation>
-        <xs:documentation>Logical template which will be used to represent data. The attribute is optional. When not specified a default value from suite definition is used. For more details see 2.3</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="count" use="required" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Number of items current section refers to. If all the available elements are to be retrieved a “*†sing should be used to indicate quantity</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="type" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Type of an item (MCS).</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="id" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Unique id of the item in the scope of the suite.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="remove_locked" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Information if item can be to move to other position</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="running" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Information if item is currently running</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="custom_id" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Item's custom id, can be set using a value from liw variant or simple number.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="uid" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>Item's uid, can be set using a value from liw variant or simple uid.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attributeGroup ref="mmenu:conditionGroup" />
-    <xs:attribute name="drm_protection" type="xs:string" />
-  </xs:complexType>
-  <xs:complexType name="suiteType">
-    <xs:annotation>
-      <xs:documentation>This type defines the configuration of a suite
-</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="query">
-        <xs:annotation>
-          <xs:documentation>Defines parameters used to construct queries to services and display dynamically modifiable data.</xs:documentation>
-        </xs:annotation>
-        <xs:complexType>
-          <xs:complexContent mixed="false">
-            <xs:extension base="mmenu:serviceType">
-              <xs:attribute name="namespace" type="xs:string" />
-            </xs:extension>
-          </xs:complexContent>
-        </xs:complexType>
-      </xs:element>
-      <xs:element minOccurs="0" maxOccurs="unbounded" name="event" type="mmenu:eventType">
-        <xs:annotation>
-          <xs:documentation>Used to specify event handling, for predefined and custom events.
-</xs:documentation>
-        </xs:annotation>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="genre" use="required">
-      <xs:annotation>
-        <xs:documentation>Unique string identification of a suite</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="xs:string" />
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute name="type" use="required">
-      <xs:annotation>
-        <xs:documentation>Ttype of presentation. Available types are:
-- grid
-- list
-- coverflow
-
-If a suite allows multiple types, they should be separated with "|" character.
-</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-        <xs:restriction base="mmenu:widgetTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-    <xs:attribute xmlns:q2="http://nokia.com/mmenu" name="template" type="q2:logicalTemplateType" use="required">
-      <xs:annotation>
-        <xs:documentation>Logical template to specify the layout of a specific presentation type. 
-This parameter is strictly dependant on the values defined in [3]. One should be aware that although values of logical template may seem similar for different presentation types, they are different in their specification and count. Usually they are in form logical_template_x, where x is a number. For more details please consult [3].
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="title" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>Suite title, should contain localized value
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="emptytext" type="xs:string" />
-    <xs:attribute name="custom_id" type="xs:string" use="optional">
-      <xs:annotation>
-        <xs:documentation>Suite's custom id, can be set using a value from liw variant or simple number.</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="localizationType">
-    <xs:attribute name="namespace" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>identifier used to access the resource</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="source" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation>binary file with resources. File extension should be:
-- RSC file for logical names, 
-- MBM for images and
-- MIF for icons. </xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:complexType name="mskType">
-    <xs:all>
-      <xs:element minOccurs="0" maxOccurs="1" name="text" type="mmenu:textType" />
-    </xs:all>
-    <xs:attribute name="event" use="optional">
-      <xs:simpleType>
-        <xs:restriction xmlns:q1="http://nokia.com/mmenu" base="q1:eventTypeType" />
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:complexType>
-  <xs:attributeGroup name="imageBitmapBufferType">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure image from resource from liw bitmap buffer.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="mask" type="xs:string" use="optional" />
-    <xs:attribute name="bitmap" type="xs:string" use="optional" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="textResourceAttributeGroup">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure text from resource.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="resource" type="xs:string" />
-    <xs:attribute name="id" type="xs:string" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="imageResourceAttributeGroup">
-    <xs:annotation>
-      <xs:documentation>Group of attributes, used to configure image from resource and/or skin.</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="skinid_minor" type="xs:string" use="optional" />
-    <xs:attribute name="skinid_major" type="xs:string" use="optional" />
-    <xs:attribute name="mif_file" type="xs:string" use="optional" />
-    <xs:attribute name="bitmap_id" type="xs:string" use="optional" />
-    <xs:attribute name="mask_id" type="xs:string" use="optional" />
-  </xs:attributeGroup>
-  <xs:attributeGroup name="conditionGroup">
-    <xs:attribute name="condition" type="xs:string">
-      <xs:annotation>
-        <xs:documentation>If condition is fulfilled the menu is added to the item. May contain query reference which will be checked against specified condition. More about condition definition in mmenu:action section.
-</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:attributeGroup>
-</xs:schema>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/bwins/dummyCu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?E32Main@@YAHXZ @ 1 NONAME ; int E32Main(void)
-
--- a/menufw/menusuites/foldersuite/data/foldersuite.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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:  Resource definitions for folder suite.
-*
-*/
-
-
-NAME FLDR	// 4 letter ID
-
-#include <eikon.rh>
-
-#ifdef LANGUAGE_SC
-	#include <sc/avkon.loc>
-#else
-	#include <avkon.loc>
-#endif
-
-#include <matrix_menu.loc>
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-RESOURCE TBUF R_ROOTSUITE_MENU_TITLE	{ buf = qtn_menu_title; }
-RESOURCE TBUF R_MENU_FOLDER_EMPTY_TEXT { buf = qtn_menu_empty_folder; }
-RESOURCE TBUF R_MENU_FOLDER_EDIT { buf = qtn_menu_organize; }
-RESOURCE TBUF R_MENU_FOLDER_EDIT_NON_TOUCH { buf = qtn_menu_organize; }
-
-RESOURCE TBUF R_SKINS_LIST_APPSHELL_LIST { buf=qtn_skins_list_appshell_list; }
-RESOURCE TBUF R_SKINS_LIST_APPSHELL_GRID { buf=qtn_skins_list_appshell_grid; }
-RESOURCE TBUF R_OPTIONS_HELP { buf=qtn_options_help; }
-RESOURCE TBUF R_MENU_OPEN { buf=qtn_menu_open; }
-RESOURCE TBUF R_OPTIONS_ORG_NEW_FOLDER { buf=qtn_options_org_new_folder; }
-RESOURCE TBUF R_OPTIONS_ORG_MOVE { buf=qtn_options_org_move; }
-RESOURCE TBUF R_OPTIONS_ORG_MOVE_TO_FOLDER { buf=qtn_options_org_move_to_folder; }
-RESOURCE TBUF R_OPTIONS_SUB_RENAME { buf=qtn_options_sub_rename; }
-RESOURCE TBUF R_OPTIONS_SUB_DELETE { buf=qtn_options_sub_delete; }
-RESOURCE TBUF R_FLDR_DELETE { buf=qtn_fldr_delete; }
-RESOURCE TBUF R_FLDR_RENAME { buf=qtn_fldr_rename; }
-
-
-
-// end of file
--- a/menufw/menusuites/foldersuite/data/items_nontouch.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="foldersuite">
-    <mm:item count="1" template="empty" id="emptyitem">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT_NON_TOUCH" position="83" condition="params:remove_locked != true" >
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="84" condition="params:remove_locked != true" />
-        </mm:menuitem>
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-		
-        <mm:msk/>
-        
-        <mm:event event="custom:add_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMCreateNewFolderCommand">
-					<mm:key name="item_lock" type="string" value="params:remove_locked" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <!-- Change widget type to next list. -->
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-    </mm:item>
-
-    <mm:item count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" running="folder_items:ReturnValue/[$index]/running" custom_id="folder_items:ReturnValue/[$index]/id" drm_protection="folder_items:ReturnValue/[$index]/drm_protection" uid="folder_items:ReturnValue/[$index]/uid" >
-
-       <mm:menuitem name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="81" />
-       <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-       <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>    
-       <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT_NON_TOUCH" position="83" condition="params:remove_locked != true" >
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_MOVE" event="custom:edit_mode" position="84" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_MOVE_TO_FOLDER" event="custom:move_to_folder" position="85" condition="params:remove_locked != true" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="86" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_DELETE" event="custom:delete_folder" position="87" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_DELETE" event="custom:delete_application" position="87" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_SUB_RENAME" event="custom:rename_folder" position="88" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-        </mm:menuitem>
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-		
-        <mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="GetList">
-                <mm:key name="InData">
-                    <mm:key name="id" type="integer" value="params:folder_id"/>
-                    <mm:key name="recursive_search" type="boolean" value="FALSE"/>
-                    <mm:key name="flat_result" type="boolean" value="TRUE"/>
-                </mm:key>
-                <mm:key name="Filter">
-                    <mm:key name="missing" type="boolean" value="FALSE"/>
-                    <mm:key name="hidden" type="boolean" value="FALSE"/>
-                    <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        
-        <mm:notify_request service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="RequestNotification">
-                <mm:key name="InData" type="map">
-                    <mm:key name="add_remove" type="boolean" value="TRUE" />
-                    <mm:key name="reorder" type="boolean" value="TRUE" />
-                    <mm:key name="attribute_change" type="boolean" value="TRUE" />
-                    <mm:key name="id" type="integer" value="params:folder_id" />
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-        
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-      
-        <mm:output alias="mul_icon">
-			<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer" mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/running = true">
-		    <mm:image skinid_major="0x101F86E3" skinid_minor="0x1417" mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_app_open" mask_id="EMbmGridrootQgn_indi_app_open_mask" />
-        </mm:output>
-        
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/drm_protection = expired">
-            <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_prop_drm_rights_exp_super" mask_id="EMbmGridrootQgn_prop_drm_rights_exp_super_mask" />
-        </mm:output>
-        
-        <mm:msk>
-            <mm:text value="foldersuite_rsc:R_MENU_OPEN"/>
-        </mm:msk>
-        
-        <mm:event event="key:select">
-            
-			<mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:suite">
-                <mm:command name="OpenSuite" >
-            		<mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/suite_name" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>                            
-                    </mm:key>                    
-                </mm:command>
-            </mm:action>
-
-			<mm:action service="MultimediaMenu"
-                            condition="folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:command name="OpenSuite">
-                    <mm:key name="suite_name" type="string" value="foldersuite" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                        <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-						<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-			
-            <mm:action service="Service.MenuContent" interface="IMenuContent" condition="folder_items:ReturnValue/[$index]/type != menu:suite 
-                &amp; folder_items:ReturnValue/[$index]/type != menu:folder">
-                <mm:constructor>
-                    <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-                </mm:constructor>
-                <mm:command name="ExecuteAction" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="action" type="string8" value="open"/>
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>        
-
-        <mm:event event="key:clear">
-            <!-- action for folders -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = grid">
-                <mm:command name="MMDeleteFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = list">
-                <mm:command name="MMDeleteFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <!-- action for application, links ...  -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-                <mm:command name="MMDeleteAppCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                </mm:command>
-            </mm:action>
-			<!-- action for suites  -->
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = grid" >
-                <mm:command name="MMDeleteSuiteCommand">
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = list" >
-                <mm:command name="MMDeleteSuiteCommand">
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <!-- Change widget type to next list. -->
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        <!-- Change widget type to next possible grid. -->
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-                
-		<mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:move_mode">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMMoveCommand">
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:move_to_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMMoveToFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					<mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-					<mm:key name="widget" type="string" value="mm:suite/type" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMMoveToFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					<mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-					<mm:key name="widget" type="string" value="mm:suite/type" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:add_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79">
-                <mm:command name="MMCreateNewFolderCommand">
-					<mm:key name="item_lock" type="string" value="params:remove_locked" />
-                    <mm:key name="folder" type="integer" value="params:folder_id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:delete_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMDeleteFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMDeleteFolderCommand">
-                    <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:delete_application">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" >
-                <mm:command name="MMDeleteAppCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:rename_folder">
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                <mm:command name="MMRenameFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                </mm:command>
-            </mm:action>
-            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                <mm:command name="MMRenameFolderCommand">
-					<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-		<mm:edit_mode count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" custom_id="folder_items:ReturnValue/[$index]/id" uid="folder_items:ReturnValue/[$index]/uid">
-			
-            <mm:menuitem name="Help" event="custom:help" position="91" />
-			
-			<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="GetList">
-					<mm:key name="InData">
-						<mm:key name="id" type="integer" value="params:folder_id"/>
-						<mm:key name="recursive_search" type="boolean" value="FALSE"/>
-						<mm:key name="flat_result" type="boolean" value="TRUE"/>
-					</mm:key>
-					<mm:key name="Filter">
-						<mm:key name="missing" type="boolean" value="FALSE"/>
-                        <mm:key name="hidden" type="boolean" value="FALSE"/>
-                        <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-					</mm:key>
-				</mm:command>
-			</mm:query>
-            
-			<mm:notify_request service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="RequestNotification">
-					<mm:key name="InData" type="map">
-						<mm:key name="add_remove" type="boolean" value="TRUE" />
-                        <mm:key name="reorder" type="boolean" value="TRUE" />
-                        <mm:key name="attribute_change" type="boolean" value="TRUE" />
-						<mm:key name="id" type="integer" value="params:folder_id" />
-					</mm:key>
-				</mm:command>
-			</mm:notify_request>
-			
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-
-			
-      
-	        <mm:output alias="mul_icon">
-				<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer"  mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-	        </mm:output>
-
-		
-		    <mm:output alias="mul_move_indicator_arrow_top" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_up"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_up_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_bottom" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_down"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_down_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_left" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_left"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_left_mask" />            
-	        </mm:output>
-	        
-	        <mm:output alias="mul_move_indicator_arrow_right" >
-	            <mm:image mif_file="move_indicator_icons.mif" 
-	                      bitmap_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_right"
-	                      mask_id="EMbmMove_indicator_iconsQgn_indi_org_arrow_right_mask" />            
-	        </mm:output>
-
-            <mm:event event="key:select">
-                <mm:action service="MultimediaMenu">
-                    <mm:command name="StopEditMode" />
-                </mm:action>
-            </mm:event>            
-            
-            <mm:event event="key:move">
-                <mm:action service="Service.MenuContent" interface="IMenuContent">
-                    <mm:constructor>
-                        <mm:key name="ContentName" type="string" value="matrixmenudata" />
-                    </mm:constructor>
-                    <mm:command name="Organize" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="item_ids" type="list">
-                                <mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-                                </mm:key>
-                            <mm:key name="before_item_id" type="boolean" value="event_data:dropped_before_custom_id" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-           
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                            <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                            <mm:key name="data">
-                                <mm:key name="help_uid" type="integer" value="270486738" />
-                                <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                            </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-		   
-		</mm:edit_mode>
-    </mm:item>
-</mm:content>
--- a/menufw/menusuites/foldersuite/data/items_touch.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,480 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="foldersuite">
-    <mm:item count="1" template="empty" id="emptyitem">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT" event="custom:edit_mode" position="83" condition="params:remove_locked != true" />
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-        
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-		
-		<mm:edit_mode count="1" template="empty" id="emptyitem">
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true"/>
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-			
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-						<mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-			
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-		</mm:edit_mode>
-    </mm:item>
-    
-    <mm:item count="0" template="logical_template_3|list_single_hc_apps_pane" id="parent_item" remove_locked="true" type="custom:parent_folder">
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="82" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="82" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/>
-		
-        <mm:edit_mode count="1" template="logical_template_3|list_single_hc_apps_pane" id="parent_item" type="custom:parent_folder" condition="params:folder_id != 1">
-            <mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true" />
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-       
-            <mm:output alias="mul_title" type="string" value=""/>
-            
-			<mm:output alias="mul_icon">
-                <mm:image bitmap_id="EMbmGridrootQgn_prop_folder_parent" mask_id="EMbmGridrootQgn_prop_folder_parent_mask" mif_file="gridroot.mif" />
-            </mm:output>
-            
-            <mm:event event="key:select">
-                <mm:action service="MultimediaMenu">
-                    <mm:command name="Back" />
-                </mm:action>
-            </mm:event>
-
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-						<mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-			<mm:event event="key:move_into">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="folder_id" type="boolean" value="params:parent_folder_id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-        </mm:edit_mode>    
-    </mm:item>
-   
-    <mm:item count="folder_items:ReturnValue/[$count]" template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" running="folder_items:ReturnValue/[$index]/running" custom_id="folder_items:ReturnValue/[$index]/id" drm_protection="folder_items:ReturnValue/[$index]/drm_protection" uid="folder_items:ReturnValue/[$index]/uid" >
-		<mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" />
-	    <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_LIST" event="custom:change_widget_to_list" position="81" condition="mm:suite/type != list &amp; mm:suite/allowed_types HAS list"/>
-        <mm:menuitem name="foldersuite_rsc:R_SKINS_LIST_APPSHELL_GRID" event="custom:change_widget_to_grid" position="81" condition="mm:suite/type != grid &amp; mm:suite/allowed_types HAS grid"/> 
-        <mm:menuitem name="foldersuite_rsc:R_MENU_FOLDER_EDIT" event="custom:edit_mode" position="82" condition="params:remove_locked != true" />
-        <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-     
-		<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="GetList">
-                <mm:key name="InData">
-                    <mm:key name="id" type="integer" value="params:folder_id"/>
-                    <mm:key name="recursive_search" type="boolean" value="FALSE"/>
-                    <mm:key name="flat_result" type="boolean" value="TRUE"/>
-                </mm:key>
-                <mm:key name="Filter">
-                    <mm:key name="missing" type="boolean" value="FALSE"/>
-                    <mm:key name="hidden" type="boolean" value="FALSE"/>
-                    <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-                </mm:key>
-            </mm:command>
-        </mm:query>
-        
-        <mm:notify_request service="Service.MenuContent" interface="IDataSource">
-            <mm:constructor>
-                <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-            </mm:constructor>
-            <mm:command mode="async" name="RequestNotification">
-                <mm:key name="InData" type="map">
-                    <mm:key name="add_remove" type="boolean" value="TRUE" />
-                    <mm:key name="reorder" type="boolean" value="TRUE" />
-                    <mm:key name="attribute_change" type="boolean" value="TRUE" />
-                    <mm:key name="id" type="integer" value="params:folder_id" />
-                </mm:key>
-            </mm:command>
-        </mm:notify_request>
-        
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-        <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-        
-        <mm:output alias="mul_icon">
-            <mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer" mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/running = true">
-		    <mm:image skinid_major="0x101F86E3" skinid_minor="0x1417" mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_app_open" mask_id="EMbmGridrootQgn_indi_app_open_mask" />
-        </mm:output>
-		
-        <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/drm_protection = expired">
-            <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_prop_drm_rights_exp_super" mask_id="EMbmGridrootQgn_prop_drm_rights_exp_super_mask" />
-        </mm:output>
-     
-        <mm:event event="key:select">
-			
-            <mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:suite">
-                <mm:command name="OpenSuite" >
-                    <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/suite_name" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>                            
-                    </mm:key>
-                </mm:command>
-            </mm:action> 
-			
-			<mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:command name="OpenSuite">
-                    <mm:key name="suite_name" type="string" value="foldersuite" />
-                    <mm:key name="params" type="map">
-                        <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                        <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                        <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-						<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                        <mm:key name="parent_folder_id" type="integer" value="params:tmp_parent_folder_id"/>
-                        <mm:key name="tmp_parent_folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count"/>
-                        <mm:key name="applicationgroup_name" type="string" value="folder_items:ReturnValue/[$index]/applicationgroup_name"/>
-                    </mm:key>
-                </mm:command>
-            </mm:action>
-			
-            <mm:action service="Service.MenuContent" interface="IMenuContent" condition="folder_items:ReturnValue/[$index]/type != menu:suite 
-                &amp; folder_items:ReturnValue/[$index]/type != menu:folder">
-                <mm:constructor>
-                    <mm:key name="ContentName" type="string" value="matrixmenudata"/>
-                </mm:constructor>
-                <mm:command name="ExecuteAction" mode="async">
-                        <mm:key name="InData">
-                            <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="action" type="string8" value="open"/>
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-            
-        </mm:event>
-
-        <mm:event event="custom:help">
-            <mm:action service="Service.ActionHandler" interface="IDataAction">
-                <mm:command name="Execute">
-                        <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                        <mm:key name="data">
-                            <mm:key name="help_uid" type="integer" value="270486738" />
-                            <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                        </mm:key>
-                </mm:command>
-            </mm:action>
-        </mm:event>
-        
-        <mm:event event="custom:change_widget_to_list">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="list" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-
-        <mm:event event="custom:change_widget_to_grid">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="SwitchWidget">
-                    <mm:key name="type" type="string" value="grid" />
-                </mm:command>
-            </mm:action>
-        </mm:event>
-    
-		<mm:event event="custom:edit_mode">
-            <mm:action service="MultimediaMenu">
-                <mm:command name="StartEditMode" />
-            </mm:action>
-        </mm:event>
-
-		<mm:edit_mode count="folder_items:ReturnValue/[$count]"  template="logical_template_3|list_single_hc_apps_pane" id="folder_suite_items" remove_locked="folder_items:ReturnValue/[$index]/delete_locked" type="folder_items:ReturnValue/[$index]/type" custom_id="folder_items:ReturnValue/[$index]/id" uid="folder_items:ReturnValue/[$index]/uid">
-		    <mm:menuitem_action name="foldersuite_rsc:R_MENU_OPEN" event="key:select" position="80" condition="folder_items:ReturnValue/[$index]/type = menu:folder" />
-            <mm:menuitem_specific name="foldersuite_rsc:R_OPTIONS_ORG_MOVE_TO_FOLDER" event="custom:move_to_folder" position="81" condition="params:remove_locked != true" />
-			<mm:menuitem name="foldersuite_rsc:R_OPTIONS_ORG_NEW_FOLDER" event="custom:add_folder" position="82" condition="params:remove_locked != true" />    
-            <mm:menuitem_specific name="foldersuite_rsc:R_FLDR_DELETE" event="custom:delete_folder" position="83" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0" />
-            <mm:menuitem_specific name="foldersuite_rsc:R_FLDR_DELETE" event="custom:delete_application" position="83" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />
-			<mm:menuitem_specific name="foldersuite_rsc:R_FLDR_RENAME" event="custom:rename_folder" position="84" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; params:remove_locked != true &amp; folder_items:ReturnValue/[$index]/delete_locked != true" />          
-            <mm:menuitem name="foldersuite_rsc:R_OPTIONS_HELP" event="custom:help" position="91" />
-			
-			<mm:query namespace="folder_items" service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="GetList">
-					<mm:key name="InData">
-						<mm:key name="id" type="integer" value="params:folder_id"/>
-						<mm:key name="recursive_search" type="boolean" value="FALSE"/>
-						<mm:key name="flat_result" type="boolean" value="TRUE"/>
-					</mm:key>
-					<mm:key name="Filter">
-						<mm:key name="missing" type="boolean" value="FALSE"/>
-                        <mm:key name="hidden" type="boolean" value="FALSE"/>
-                        <mm:key name="required_attributes" type="string" value="title_name:long_name:short_name:children_count:bitmap_buffer:mask_buffer:drm_protection:suite_name:widget_type:template:running:uid" />
-					</mm:key>
-				</mm:command>
-			</mm:query>
-        
-			<mm:notify_request service="Service.MenuContent" interface="IDataSource">
-				<mm:constructor>
-					<mm:key name="ContentName" type="string" value="matrixmenudata"/>
-				</mm:constructor>
-				<mm:command mode="async" name="RequestNotification">
-					<mm:key name="InData" type="map">
-						<mm:key name="add_remove" type="boolean" value="TRUE" />
-                        <mm:key name="reorder" type="boolean" value="TRUE" />
-                        <mm:key name="attribute_change" type="boolean" value="TRUE" />
-						<mm:key name="id" type="integer" value="params:folder_id" />
-					</mm:key>
-				</mm:command>
-			</mm:notify_request>
-        
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/long_name" condition="mm:suite/type = list" />
-            <mm:output alias="mul_title" type="string" value="folder_items:ReturnValue/[$index]/short_name" condition="mm:suite/type = grid" />
-
-			<mm:output alias="mul_icon">
-				<mm:image bitmap="folder_items:ReturnValue/[$index]/bitmap_buffer"  mask="folder_items:ReturnValue/[$index]/mask_buffer" />
-			</mm:output>
-            
-            <mm:output alias="mul_indicator_1" condition="folder_items:ReturnValue/[$index]/delete_locked = true &amp; folder_items:ReturnValue/[$index]/type = menu:folder">
-                <mm:image mif_file="gridroot.mif" bitmap_id="EMbmGridrootQgn_indi_org_icon_locked" mask_id="EMbmGridrootQgn_indi_org_icon_locked_mask" />
-            </mm:output>
-   
-            <mm:output alias="mul_icon_backdrop">
-                <mm:image skinid_major="0x101F86E3" skinid_minor="0x1EBA"/>
-            </mm:output>
-			
-			<mm:event event="key:select">
-                <mm:action service="MultimediaMenu" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-                    <mm:command name="OpenSuite">
-                        <mm:key name="suite_name" type="string" value="foldersuite" />
-                        <mm:key name="params" type="map">
-                            <mm:key name="suite_name" type="string" value="folder_items:ReturnValue/[$index]/title_name"/>
-                            <mm:key name="folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="widget_type" type="string" value="folder_items:ReturnValue/[$index]/widget_type"/>
-                            <mm:key name="template" type="string" value="folder_items:ReturnValue/[$index]/template"/>
-							<mm:key name="remove_locked" type="boolean" value="folder_items:ReturnValue/[$index]/delete_locked"/>
-                            <mm:key name="parent_folder_id" type="integer" value="params:tmp_parent_folder_id"/>
-                            <mm:key name="tmp_parent_folder_id" type="integer" value="folder_items:ReturnValue/[$index]/id"/>
-                            <mm:key name="applicationgroup_name" type="string" value="folder_items:ReturnValue/[$index]/applicationgroup_name"/>
-                        </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-                        
-            <mm:event event="key:clear">
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = grid">
-	                <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:folder &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; folder_items:ReturnValue/[$index]/children_count = 0 &amp; mm:suite/type = list">
-	                <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:application &amp; folder_items:ReturnValue/[$index]/delete_locked != true">
-	                <mm:command name="MMDeleteAppCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = grid" >
-	                <mm:command name="MMDeleteSuiteCommand">
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-	                </mm:command>
-	            </mm:action>
-	            <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="folder_items:ReturnValue/[$index]/type = menu:suite &amp; folder_items:ReturnValue/[$index]/delete_locked != true &amp; mm:suite/type = list" >
-	                <mm:command name="MMDeleteSuiteCommand">
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-	                </mm:command>
-	            </mm:action>
-	        </mm:event>
-           
-            <mm:event event="custom:help">
-                <mm:action service="Service.ActionHandler" interface="IDataAction">
-                    <mm:command name="Execute">
-                            <mm:key name="plugin_id" type="uid" value="0x2001B285" />
-                            <mm:key name="data">
-                                <mm:key name="help_uid" type="integer" value="270486738" />
-                                <mm:key name="help_topic" type="string" value="APP_HLP_APP_SHELL" />
-                            </mm:key>
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-            <mm:event event="custom:move_to_folder">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                    <mm:command name="MMMoveToFolderCommand">
-                        <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="folder" type="integer" value="params:folder_id" />
-					    <mm:key name="widget" type="string" value="mm:suite/type" />
-                    </mm:command>
-                </mm:action>
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                    <mm:command name="MMMoveToFolderCommand">
-                        <mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-					    <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="folder" type="integer" value="params:folder_id" />
-					    <mm:key name="widget" type="string" value="mm:suite/type" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-								
-			<mm:event event="custom:add_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79">
-					<mm:command name="MMCreateNewFolderCommand">
-                        <mm:key name="item_lock" type="string" value="params:remove_locked" />
-						<mm:key name="folder" type="integer" value="params:folder_id" />
-					</mm:command>
-				</mm:action>
-			</mm:event>
-            
-            <mm:event event="custom:delete_folder">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-                    <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                    </mm:command>
-                </mm:action>
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-                    <mm:command name="MMDeleteFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                        <mm:key name="children_count" type="integer" value="folder_items:ReturnValue/[$index]/children_count" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-            
-            <mm:event event="custom:delete_application">
-                <mm:action service="MultimediaMenu" interface="0x2001CB79" >
-                    <mm:command name="MMDeleteAppCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                    </mm:command>
-                </mm:action>
-            </mm:event>
-
-			<mm:event event="custom:rename_folder">
-				<mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = list" >
-					<mm:command name="MMRenameFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/long_name" />
-                    </mm:command>
-				</mm:action>
-				<mm:action service="MultimediaMenu" interface="0x2001CB79" condition="mm:suite/type = grid" >
-					<mm:command name="MMRenameFolderCommand">
-						<mm:key name="id" type="integer" value="folder_items:ReturnValue/[$index]/id" />
-                        <mm:key name="name" type="string" value="folder_items:ReturnValue/[$index]/short_name" />
-                    </mm:command>
-				</mm:action>
-			</mm:event>
-			<mm:event event="key:move">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="before_item_id" type="boolean" value="event_data:dropped_before_custom_id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-			<mm:event event="key:move_into">
-				<mm:action service="Service.MenuContent" interface="IMenuContent">
-					<mm:constructor>
-						<mm:key name="ContentName" type="string" value="matrixmenudata" />
-					</mm:constructor>
-					<mm:command name="Organize" mode="async">
-						<mm:key name="InData">
-							<mm:key name="item_ids" type="list">
-								<mm:key name="id" type="boolean" value="event_data:dragged_custom_id" />
-							</mm:key>
-							<mm:key name="folder_id" type="boolean" value="folder_items:ReturnValue/[$index]/id" />
-						</mm:key>
-					</mm:command>
-				</mm:action>
-			</mm:event>
-		</mm:edit_mode>
-	</mm:item>
-</mm:content>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.dtd	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,300 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "matrixmenudata.dtd">
-<PartOf  : "menu content service">
-
-<FileDescription: "Localization strings for matrix menu content definition">
-<FileVersion    : "1.0">
-
-<Copyright:
-"Copyright © 2005 Nokia Corporation.
-This material, including documentation and any related 
-computer programs, is protected by copyright controlled by 
-Nokia Corporation. All rights are reserved. Copying, 
-including reproducing, storing,  adapting or translating, any 
-or all of this material requires the prior written consent of 
-Nokia Corporation. This material also contains confidential 
-information which may not be disclosed to others without the 
-prior written consent of Nokia Corporation.">
-============================================================================
--->
-
-<!--
-qtn_fldr_root_level.attributes
-qtn_fldr_root_level.recycled "Avkon.loc"
-qtn_fldr_root_level.layout "list_single_large_graphic_pane_t1"
-qtn_fldr_root_level.release "3.1"
-qtn_fldr_root_level.description "Application Shell root level folder name shown in "Move to folder" dialogs"
-qtn_fldr_root_level.parents "Folder selection list dialog"
-qtn_fldr_root_level.islocalisable "FALSE"
--->
-<!ENTITY qtn_fldr_root_level "Root level">
-
-
-<!--
-qtn_apps_internet_grid.attributes
-qtn_apps_internet_grid.layout "cell_app_pane_1"
-qtn_apps_internet_grid.release "5.0"
-qtn_apps_internet_grid.description "Internet folder caption title"
-qtn_apps_internet_grid.parents "Title pane"
-qtn_apps_internet_grid.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_internet_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_internet_grid "Internet">
-
-<!--
-qtn_apps_photos_grid.attributes
-qtn_apps_photos_grid.layout "cell_app_pane_1"
-qtn_apps_photos_grid.release "5.0"
-qtn_apps_photos_grid.description "Photos folder caption title"
-qtn_apps_photos_grid.parents "Title pane"
-qtn_apps_photos_grid.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_grid "Photos">
-
-<!--
-qtn_apps_music_grid.attributes
-qtn_apps_music_grid.layout "cell_app_pane_1"
-qtn_apps_music_grid.release "5.0"
-qtn_apps_music_grid.description "Music folder caption title"
-qtn_apps_music_grid.parents "Title pane"
-qtn_apps_music_grid.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_grid "Music">
-
-<!--
-qtn_apps_videotv_grid.attributes
-qtn_apps_videotv_grid.layout "cell_app_pane_1"
-qtn_apps_videotv_grid.release "5.0"
-qtn_apps_videotv_grid.description "Video & TV folder caption title"
-qtn_apps_videotv_grid.parents "Title pane"
-qtn_apps_videotv_grid.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_grid "Video & TV">
-
-<!--
-qtn_apps_games_grid.attributes
-qtn_apps_games_grid.layout "cell_app_pane_1"
-qtn_apps_games_grid.release "5.0"
-qtn_apps_games_grid.description "Games folder caption title"
-qtn_apps_games_grid.parents "Title pane"
-qtn_apps_games_grid.grammar "Games folder contains e.g. games list"
-qtn_apps_games_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_grid "Games">
-
-<!--
-qtn_apps_applications_grid.attributes
-qtn_apps_applications_grid.layout "cell_app_pane_1"
-qtn_apps_applications_grid.release "5.0"
-qtn_apps_applications_grid.description "Applications folder caption title"
-qtn_apps_applications_grid.parents "Title pane"
-qtn_apps_applications_grid.grammar "Applications folder contains all available apps"
-qtn_apps_applications_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_applications_grid "Applications">
-
-<!--
-qtn_apps_contacts_grid.attributes
-qtn_apps_contacts_grid.layout "cell_app_pane_1"
-qtn_apps_contacts_grid.release "5.0"
-qtn_apps_contacts_grid.description "Contacts suite title"
-qtn_apps_contacts_grid.parents "Title pane"
-qtn_apps_contacts_grid.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_contacts_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_contacts_grid "Contacts">
-
-<!--
-qtn_apps_office_grid.attributes
-qtn_apps_office_grid.layout "cell_app_pane_1"
-qtn_apps_office_grid.release "5.0"
-qtn_apps_office_grid.description "Office suite title"
-qtn_apps_office_grid.parents "Title pane"
-qtn_apps_office_grid.grammar "Office suite"
-qtn_apps_office_grid.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_grid "Office">
-
-<!--
-qtn_apps_internet_list.attributes
-qtn_apps_internet_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_internet_list.release "5.0"
-qtn_apps_internet_list.description "Internet folder caption title"
-qtn_apps_internet_list.parents "Title pane"
-qtn_apps_internet_list.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_internet_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_internet_list "Internet">
-
-<!--
-qtn_apps_photos_list.attributes
-qtn_apps_photos_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_photos_list.release "5.0"
-qtn_apps_photos_list.description "Photos folder caption title"
-qtn_apps_photos_list.parents "Title pane"
-qtn_apps_photos_list.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_list "Photos">
-
-<!--
-qtn_apps_music_list.attributes
-qtn_apps_music_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_music_list.release "5.0"
-qtn_apps_music_list.description "Music folder caption title"
-qtn_apps_music_list.parents "Title pane"
-qtn_apps_music_list.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_list "Music">
-
-<!--
-qtn_apps_videotv_list.attributes
-qtn_apps_videotv_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_videotv_list.release "5.0"
-qtn_apps_videotv_list.description "Video & TV folder caption title"
-qtn_apps_videotv_list.parents "Title pane"
-qtn_apps_videotv_list.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_list "Video & TV">
-
-<!--
-qtn_apps_games_list.attributes
-qtn_apps_games_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_games_list.release "5.0"
-qtn_apps_games_list.description "Games folder caption title"
-qtn_apps_games_list.parents "Title pane"
-qtn_apps_games_list.grammar "Games folder contains e.g. games list"
-qtn_apps_games_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_list "Games">
-
-<!--
-qtn_apps_applications_list.attributes
-qtn_apps_applications_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_applications_list.release "5.0"
-qtn_apps_applications_list.description "Applications folder caption title"
-qtn_apps_applications_list.parents "Title pane"
-qtn_apps_applications_list.grammar "Applications folder contains all available apps"
-qtn_apps_applications_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_applications_list "Applications">
-
-<!--
-qtn_apps_contacts_list.attributes
-qtn_apps_contacts_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_contacts_list.release "5.0"
-qtn_apps_contacts_list.description "Contacts suite title"
-qtn_apps_contacts_list.parents "Title pane"
-qtn_apps_contacts_list.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_contacts_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_contacts_list "Contacts">
-
-<!--
-qtn_apps_office_list.attributes
-qtn_apps_office_list.layout "list_single_large_graphic_pane_1"
-qtn_apps_office_list.release "5.0"
-qtn_apps_office_list.description "Office suite title"
-qtn_apps_office_list.parents "Title pane"
-qtn_apps_office_list.grammar "Office suite"
-qtn_apps_office_list.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_list "Office">
-
-<!--
-qtn_apps_browserng_title.attributes
-qtn_apps_browserng_title.layout "title_pane_t1"
-qtn_apps_browserng_title.release "5.0"
-qtn_apps_browserng_title.description "Internet folder caption title"
-qtn_apps_browserng_title.parents "Title pane"
-qtn_apps_browserng_title.grammar "Internet folder contains e.g. bookmarks"
-qtn_apps_browserng_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_browserng_title "Internet">
-
-<!--
-qtn_apps_photos_title.attributes
-qtn_apps_photos_title.layout "title_pane_t1"
-qtn_apps_photos_title.release "5.0"
-qtn_apps_photos_title.description "Photos folder caption title"
-qtn_apps_photos_title.parents "Title pane"
-qtn_apps_photos_title.grammar "Photos folder contains e.g. galleries"
-qtn_apps_photos_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_photos_title "Photos">
-
-<!--
-qtn_apps_music_title.attributes
-qtn_apps_music_title.layout "title_pane_t1"
-qtn_apps_music_title.release "5.0"
-qtn_apps_music_title.description "Music folder caption title"
-qtn_apps_music_title.parents "Title pane"
-qtn_apps_music_title.grammar "Music folder contains e.g. tracks list"
-qtn_apps_music_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_music_title "Music">
-
-<!--
-qtn_apps_videotv_title.attributes
-qtn_apps_videotv_title.layout "title_pane_t1"
-qtn_apps_videotv_title.release "5.0"
-qtn_apps_videotv_title.description "Video & TV folder caption title"
-qtn_apps_videotv_title.parents "Title pane"
-qtn_apps_videotv_title.grammar "Video & TV folder contains e.g. movies"
-qtn_apps_videotv_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_videotv_title "Video & TV">
-
-<!--
-qtn_apps_games_title.attributes
-qtn_apps_games_title.layout "title_pane_t1"
-qtn_apps_games_title.release "5.0"
-qtn_apps_games_title.description "Games folder caption title"
-qtn_apps_games_title.parents "Title pane"
-qtn_apps_games_title.grammar "Games folder contains e.g. games list"
-qtn_apps_games_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_games_title "Games">
-
-<!--
-qtn_apps_appsfolder_title.attributes
-qtn_apps_appsfolder_title.layout "title_pane_t1"
-qtn_apps_appsfolder_title.release "5.0"
-qtn_apps_appsfolder_title.description "Applications folder caption title"
-qtn_apps_appsfolder_title.parents "Title pane"
-qtn_apps_appsfolder_title.grammar "Applications folder contains all available apps"
-qtn_apps_appsfolder_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_appsfolder_title "Applications">
-
-<!--
-qtn_apps_phonebook_title.attributes
-qtn_apps_phonebook_title.layout "title_pane_t1"
-qtn_apps_phonebook_title.release "5.0"
-qtn_apps_phonebook_title.description "Contacts suite title"
-qtn_apps_phonebook_title.parents "Title pane"
-qtn_apps_phonebook_title.grammar "Contacts suite contains e.g. phonebook"
-qtn_apps_phonebook_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_phonebook_title "Contacts">
-
-<!--
-qtn_apps_office_title.attributes
-qtn_apps_office_title.layout "title_pane_t1"
-qtn_apps_office_title.release "5.0"
-qtn_apps_office_title.description "Office suite title"
-qtn_apps_office_title.parents "Title pane"
-qtn_apps_office_title.grammar "Office suite"
-qtn_apps_office_title.islocalisable "TRUE"
--->
-<!ENTITY qtn_apps_office_title "Office">
-
-
-<!-- End of File-->
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xcfwml SYSTEM "matrixmenudata.dtd">
-<menu:data xmlns:menu="http:://www.s60.com/xml/applicationshell/1" version="5.0">
-    <menu:folder title_name="&qtn_fldr_root_level;" long_name="&qtn_fldr_root_level;" short_name="&qtn_fldr_root_level;">  
-        <!--Office folder-->
-        <!-- <menu:folder title_name="&qtn_apps_office_title;"
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    applicationgroup_name="Office"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x1ead" 
-                    icon_skin_major_id="0x101F86E3"> -->
-            <!--Calendar-->
-            <menu:application uid="0x10005901"/>
-        <!-- </menu:folder> -->
-        <!--Contacts application-->
-        <menu:application uid="0x101F4CCE"/>
-        <!--Internet folder-->
-        <!--  now using qgnmenugroupweb available in skin -->
-        <menu:folder title_name="&qtn_apps_browserng_title;" 
-                    long_name="&qtn_apps_internet_list;" 
-                    short_name="&qtn_apps_internet_grid;"
-                    applicationgroup_name="internet"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16386" 
-                    mask_id="16387"
-                    icon_skin_minor_id="0x2005" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Browser-->
-            <menu:application uid="0x10008D39"/>
-            <!--Online Search-->
-            <menu:application uid="0x20000907"/>
-        </menu:folder>
-        <!--Messaging application-->
-        <menu:application uid="0x100058C5"/>
-        <!--Photos suite-->
-        <menu:suite title_name="&qtn_apps_photos_title;" 
-                    long_name="&qtn_apps_photos_list;" 
-                    short_name="&qtn_apps_photos_grid;" 
-                    suite_name="photossuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x217c" 
-                    icon_skin_major_id="0x101F86E3" />
-        <!-- application used in photos suite should be hidden from menu -->
-        <menu:folder flags="hidden">
-            <menu:application uid="0x200009EE"/> <!--Photos-->
-            <menu:application uid="0x2000BB53"/> <!--Share Online-->
-        </menu:folder>
-        <!--Download! application-->                         
-        <menu:application uid="0x20007803" />
-        <!--Maps application-->
-        <menu:application uid="0x20001F63"/>
-        <!--Video & TV suite-->
-        <menu:suite title_name="&qtn_apps_videotv_title;" 
-                    long_name="&qtn_apps_videotv_list;" 
-                    short_name="&qtn_apps_videotv_grid;" 
-                    suite_name="tvvideosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16402" 
-                    mask_id="16403" 
-                    icon_skin_minor_id="0x217d" 
-                    icon_skin_major_id="0x101F86E3"/>
-        <!-- application used in video suite should be hidden from menu -->
-        <menu:folder flags="hidden">
-            <menu:application uid="0x102750E2"/> <!--VideoCenter-->
-        </menu:folder>
-        <!--Settings/Control Panel-->           
-        <menu:application uid="0x100058EC"/>
-        <!--Games folder-->
-        <menu:folder title_name="&qtn_apps_games_title;"
-                    long_name="&qtn_apps_games_list;" 
-                    short_name="&qtn_apps_games_grid;"
-                    applicationgroup_name="Games"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16396" 
-                    mask_id="16397" 
-                    icon_skin_minor_id="0x2184" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Games/N-Gage application-->
-            <!-- <menu:application uid="0x20007B39" /> -->
-        </menu:folder>
-        <!--Application folder-->
-        <menu:folder applicationgroup_name="applications" 
-                    default="1" 
-                    title_name="&qtn_apps_appsfolder_title;" 
-                    long_name="&qtn_apps_applications_list;" 
-                    short_name="&qtn_apps_applications_grid;"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16392" 
-                    mask_id="16393" 
-                    icon_skin_minor_id="0x2174" 
-                    icon_skin_major_id="0x101F86E3">
-            <menu:application uid="0x20001BB9"/>
-            <!--Adobe PDF-->
-            <menu:application uid="0x10005902"/>
-            <!--Calculator-->
-            <menu:application uid="0x10005903"/>
-            <!--Clock-->
-            <menu:application uid="0x101F4668"/>
-            <!--Converter-->
-            <menu:application uid="0x10275458"/>
-            <!-- Service configurator -->
-            <menu:application uid="0x10208A0A"/>
-            <!--Home media ?? Home Connect ??--> 
-            <menu:application uid="0x10005907"/>
-            <!--Notepad-->            
-            <menu:application uid="0x1028190B"/>
-            <!--Podcasting-->            
-            <menu:application uid="0x100058CA"/>
-            <!--Voice recorder-->
-            <menu:application uid="0x10282411"/>
-            <!--Search application-->
-        </menu:folder>
-        <menu:folder flags="hidden" long_name="mcsplugin_folder">
-          <menu:application uid="0x100058EC"
-                            view="0x10207250"
-                            long_name="Connectivity"
-                            presenceicon="SKIN ( 270501603 8586 ): mif ( c:\\data\\Installs\\TemplateData\\templateIcons.mif 16386  16387)"/>
-          
-          <menu:application uid="0x100058EC"
-                            view="0x10283321"
-                            long_name="Installations"/>
-          
-          <menu:shortcut    uid="0x99999999"
-                            long_name="New message"
-                            icon_file="z:\resource\apps\matrixmenudata.mif"
-                            icon_id="16392"
-                            mask_id="16393"
-                            icon_skin_minor_id="0x1327"
-                            icon_skin_major_id="0x101F86E3"
-                            param="messaging:msg"/>
-                            
-          <menu:shortcut    uid="0x99999998"
-                            long_name="Sel. message type"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:seltype"/>
-                            
-          <menu:shortcut    uid="0x99999997"
-                            long_name="New email"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:email"/>
-                            
-          <menu:shortcut    uid="0x99999996"
-                            long_name="New SyncML" 
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16390"
-                            mask_id="16391"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:syncmlmail"/>
-                            
-          <menu:shortcut    uid="0x99999995"
-                            long_name="New postcard"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:postcard"/>
-          
-          <menu:shortcut    uid="0x99999994"
-                            long_name="New audio message"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="messaging:audiomsg"/>
-               
-               <menu:url    uid="0x99999993"
-                            long_name="Google search"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16386"
-                            mask_id="16387"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            url="www.google.com"/>
-                             
-                <menu:url   uid="0x99999992"
-                            long_name="Nokia OVI"
-                            icon_file="ovi_brand_graphics.mif"
-                            icon_id="16384"
-                            mask_id="16385"
-                            presenceicon="SKIN ( 0x101F86E3 0x1af5 )"
-                            url="www.ovi.com"/>
-         
-          <menu:shortcut    uid="0x99999991"
-                            long_name="Undefined"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16388"
-                            mask_id="16389"
-                            icon_skin_minor_id="0x1af5"
-                            icon_skin_major_id="0x101F86E3"/>
-                            
-          <menu:shortcut    uid="0x99999989"
-                            long_name="Dialed calls"
-                            icon_file="aimcsplugin.mif"
-                            icon_id="16398"
-                            mask_id="16399"
-                            icon_skin_minor_id=""
-                            icon_skin_major_id=""
-                            param="logs:dialed"/>
-          <!-- Photos Suite launcher -->      
-		  <menu:application uid="0x200104E4"/>
-          <!-- Video Suite launcher -->      
-		  <menu:application uid="0x200211FA"/>			
-			
-        </menu:folder>
-    </menu:folder>
-</menu:data>
--- a/menufw/menusuites/foldersuite/data/matrixmenudatatestcontent.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xcfwml SYSTEM "matrixmenudata.dtd">
-<menu:data xmlns:menu="http:://www.s60.com/xml/applicationshell/1" version="5.0">
-    <menu:folder title_name="&qtn_fldr_root_level;" long_name="&qtn_fldr_root_level;" short_name="&qtn_fldr_root_level;">  
-        <!--Office folder-->
-        <!-- <menu:folder title_name="&qtn_apps_office_title;"
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    applicationgroup_name="Office"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x1ead" 
-                    icon_skin_major_id="0x101F86E3"> -->
-            <!--Calendar-->
-            <menu:application uid="0x10005901"/>
-        <!-- </menu:folder> -->
-        <!--Contacts application-->
-        <menu:application uid="0x101F4CCE"/>  
-        <!--music folder-->
-        <menu:folder title_name="&qtn_apps_music_title;"
-                    long_name="&qtn_apps_music_list;" 
-                    short_name="&qtn_apps_music_grid;"
-                    applicationgroup_name="Music"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16384" 
-                    mask_id="16385" 
-                    icon_skin_minor_id="0x217e" 
-                    icon_skin_major_id="0x101F86E3">
-          <!-- Music Player (MusicPlayer)-->
-          <menu:application uid="0x102072C3"/>
-          <!-- Radio -->
-          <menu:application uid="0x10207A89"/>
-          <!-- Music Store -->
-          <menu:application uid="0x101FFB51"/>
-          <!-- Podcasting -->
-          <menu:application uid="0x1028190B"/>
-        </menu:folder>
-        <!--Internet folder-->
-        <!--  now using qgnmenugroupweb available in skin -->
-        <menu:folder title_name="&qtn_apps_browserng_title;" 
-                    long_name="&qtn_apps_internet_list;" 
-                    short_name="&qtn_apps_internet_grid;"
-                    applicationgroup_name="internet"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16386" 
-                    mask_id="16387"
-                    icon_skin_minor_id="0x2005" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Browser-->
-            <menu:application uid="0x10008D39"/>
-            <!--Share Online-->
-            <menu:application uid="0x2000BB53"/>
-            <!--Online Search-->
-            <menu:application uid="0x20000907"/>
-        </menu:folder>
-        <!--Messaging application-->
-        <menu:application uid="0x100058C5"/>
-        <!--Photos suite-->
-        <menu:suite title_name="&qtn_apps_photos_title;" 
-                    long_name="&qtn_apps_photos_list;" 
-                    short_name="&qtn_apps_photos_grid;" 
-                    suite_name="photossuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16398" 
-                    mask_id="16399" 
-                    icon_skin_minor_id="0x217c" 
-                    icon_skin_major_id="0x101F86E3" />
-        <!--Download! application-->                         
-        <menu:application uid="0x20007803" />
-        <!--Maps application-->
-        <menu:application uid="0x20001F63"/>
-        <!--Video & TV suite-->
-        <menu:suite title_name="&qtn_apps_videotv_title;" 
-                    long_name="&qtn_apps_videotv_list;" 
-                    short_name="&qtn_apps_videotv_grid;" 
-                    suite_name="tvvideosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16402" 
-                    mask_id="16403" 
-                    icon_skin_minor_id="0x217d" 
-                    icon_skin_major_id="0x101F86E3"/>
-        <!--Settings/Control Panel-->           
-        <menu:application uid="0x100058EC"/>
-        <!--Games folder-->
-        <menu:folder title_name="&qtn_apps_games_title;"
-                    long_name="&qtn_apps_games_list;" 
-                    short_name="&qtn_apps_games_grid;"
-                    applicationgroup_name="Games"
-                    icon_file="z:\resource\apps\matrixmenudata.mif"
-                    icon_id="16396" 
-                    mask_id="16397" 
-                    icon_skin_minor_id="0x2184" 
-                    icon_skin_major_id="0x101F86E3" >
-            <!--Games/N-Gage application-->
-            <!-- <menu:application uid="0x20007B39" /> -->
-        </menu:folder>
-        <!--Application folder-->
-        <menu:folder applicationgroup_name="applications" 
-                    default="1" 
-                    title_name="&qtn_apps_appsfolder_title;" 
-                    long_name="&qtn_apps_applications_list;" 
-                    short_name="&qtn_apps_applications_grid;"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16392" 
-                    mask_id="16393" 
-                    icon_skin_minor_id="0x2174" 
-                    icon_skin_major_id="0x101F86E3">
-            <menu:application uid="0x20001BB9"/>
-            <!--Adobe PDF-->
-            <menu:application uid="0x10005902"/>
-            <!--Calculator-->
-            <menu:application uid="0x10005903"/>
-            <!--Clock-->
-            <menu:application uid="0x101F4668"/>
-            <!--Converter-->
-            <menu:application uid="0x10275458"/>
-            <!-- Service configurator -->
-            <menu:application uid="0x10208A0A"/>
-            <!--Home media ?? Home Connect ??--> 
-            <menu:application uid="0x10005907"/>
-            <!--Notepad-->            
-            <menu:application uid="0x1028190B"/>
-            <!--Podcasting-->            
-            <menu:application uid="0x100058CA"/>
-            <!--Voice recorder-->
-            <menu:application uid="0x10282411"/>
-            <!--Search application-->
-        </menu:folder>
-
-        <!-- Test suites -->        
-        <menu:suite title_name="Base" 
-                    long_name="Base" 
-                    short_name="Base"
-                    suite_name="basicsuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16394" 
-                    mask_id="16395" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/>        
-        <menu:suite title_name="Demo" 
-                    long_name="Demo" 
-                    short_name="Demo"
-                    suite_name="demosuite"
-                    icon_file="z:\resource\apps\matrixmenudata.mif" 
-                    icon_id="16394" 
-                    mask_id="16395" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/> 
-        <menu:suite title_name="&qtn_apps_office_title;" 
-                    long_name="&qtn_apps_office_list;" 
-                    short_name="&qtn_apps_office_grid;"
-                    suite_name="ziadromsuite"
-                    icon_file="z:\resource\apps\iadromsuite.mif" 
-                    icon_id="16384" 
-                    mask_id="16385" 
-                    icon_skin_minor_id="0x13fc" 
-                    icon_skin_major_id="0x101F86E3"/>        
-    </menu:folder>
-</menu:data>
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/data/suite.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd">
-    <mm:localization namespace="foldersuite_rsc" source="foldersuite.rsc"/>
-    <mm:suite template="logical_template_3|list_single_hc_apps_pane" type="grid|list" genre="foldersuite" title="params:suite_name" custom_id="params:folder_id" emptytext="foldersuite_rsc:R_MENU_FOLDER_EMPTY_TEXT"/>
-</mm:content>
-
--- a/menufw/menusuites/foldersuite/eabi/dummyCu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z7E32Mainv @ 1 NONAME
-
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_bottom.svg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="29.999998"
-   height="17"
-   id="svg2">
-  <defs
-     id="defs4" />
-  <g
-     transform="matrix(1,0,0,-1,5.5146966e-2,952.38437)"
-     id="layer1">
-    <path
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.6313301,-1.0632413e-2,1.2696974e-2,1.0866093,1.8504061,933.62447)"
-       id="path3203"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_left.svg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="17"
-   height="30"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="arrow_left.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs4">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective10" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     gridtolerance="10000"
-     guidetolerance="10"
-     objecttolerance="10"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="15.839192"
-     inkscape:cx="7.6537826"
-     inkscape:cy="14.270458"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="938"
-     inkscape:window-x="-4"
-     inkscape:window-y="-4"
-     showborder="true" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-7.3183197,-933.11487)">
-    <path
-       sodipodi:type="star"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3203"
-       sodipodi:sides="3"
-       sodipodi:cx="7.9549513"
-       sodipodi:cy="11.696699"
-       sodipodi:r1="6.3137689"
-       sodipodi:r2="3.1568844"
-       sodipodi:arg1="-1.5607967"
-       sodipodi:arg2="-0.51359911"
-       inkscape:flatsided="true"
-       inkscape:rounded="0"
-       inkscape:randomized="0"
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(-1.0632413e-2,1.6313301,1.0866093,1.2696974e-2,5.4858753,935.10512)" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_right.svg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="17"
-   height="30"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="arrow_right.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs4">
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective10" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     gridtolerance="10000"
-     guidetolerance="10"
-     objecttolerance="10"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="15.839192"
-     inkscape:cx="7.6537826"
-     inkscape:cy="14.270458"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer1"
-     showgrid="false"
-     inkscape:window-width="1280"
-     inkscape:window-height="938"
-     inkscape:window-x="-4"
-     inkscape:window-y="-4"
-     showborder="true" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1"
-     transform="translate(-7.3183197,-933.11487)">
-    <path
-       sodipodi:type="star"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path3203"
-       sodipodi:sides="3"
-       sodipodi:cx="7.9549513"
-       sodipodi:cy="11.696699"
-       sodipodi:r1="6.3137689"
-       sodipodi:r2="3.1568844"
-       sodipodi:arg1="-1.5607967"
-       sodipodi:arg2="-0.51359911"
-       inkscape:flatsided="true"
-       inkscape:rounded="0"
-       inkscape:randomized="0"
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.0632413e-2,1.6313301,-1.0866093,1.2696974e-2,26.107456,935.16825)" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_arrow_top.svg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="29.999998"
-   height="17"
-   id="svg2">
-  <defs
-     id="defs4" />
-  <g
-     transform="translate(-8.9406967e-8,-935.36218)"
-     id="layer1">
-    <path
-       d="M 8.0180856,5.3832459 L 13.390995,14.908102 L 2.4557733,14.79875 L 8.0180856,5.3832459 z"
-       transform="matrix(1.6313301,-1.0632413e-2,1.2696974e-2,1.0866093,1.8504061,933.62447)"
-       id="path3203"
-       style="opacity:0.5;fill:#00ffff;fill-opacity:1;stroke:#00ffff;stroke-width:3.7553103;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/gfx/qgn_move_frame.svg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.0"
-   width="108"
-   height="106.99999"
-   id="svg3758">
-  <defs
-     id="defs3760" />
-  <g
-     transform="translate(-152.14287,-506.79071)"
-     id="layer1">
-    <rect
-       width="98"
-       height="96.999992"
-       x="157.14287"
-       y="511.79071"
-       id="rect3768"
-       style="opacity:0.5;fill:none;fill-opacity:1;stroke:#00ffff;stroke-width:8;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-  </g>
-</svg>
--- a/menufw/menusuites/foldersuite/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project foldersuite
-*
-*/
-
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// exports for HW & emulator
-// touch
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite_touch/suite.xml
-../data/items_touch.xml z:/private/101F4CD2/import/suites/foldersuite_touch/items.xml
-// non-touch
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite_nontouch/suite.xml
-../data/items_nontouch.xml z:/private/101F4CD2/import/suites/foldersuite_nontouch/items.xml
-
-// default
-../data/suite.xml z:/private/101F4CD2/import/suites/foldersuite/suite.xml
-#ifdef __PEN_SUPPORT
-../data/items_touch.xml z:/private/101F4CD2/import/suites/foldersuite/items.xml
-#else 
-../data/items_nontouch.xml z:/private/101F4CD2/import/suites/foldersuite/items.xml
-#endif
-
-../loc/matrixmenudata.loc          APP_LAYER_LOC_EXPORT_PATH(matrixmenudata.loc)
-// MCS root folder configuration
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-../data/matrixmenudatatestcontent.xml Z:/private/200113DD/content/matrixmenudata.xml
-#else
-../data/matrixmenudata.xml Z:/private/200113DD/content/matrixmenudata.xml
-#endif
-../data/matrixmenudata.dtd Z:/private/200113DD/content/01/matrixmenudata.dtd
-
-./copyheaderfile.xml                 /epoc32/tools/makefile_templates/general/copyheaderfile.xml
-./copyheaderfile.flm                 /epoc32/tools/makefile_templates/general/copyheaderfile.flm
-./copyheaderfile.meta                /epoc32/tools/makefile_templates/general/copyheaderfile.meta
-
-PRJ_MMPFILES
-foldersuite.mmp
-#ifndef SBSV2
-gnumakefile exportfoldersuite.mk
-#ifndef __PEN_SUPPORT
-gnumakefile exportmoveindicatoricons.mk
-#endif
-#endif
-
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME matrixmenudata
-OPTION DTD_TYPE dtd
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE gridroot.mif
-OPTION HEADERFILE gridroot.mbg
-OPTION SOURCES 	-c8,8 qgn_prop_folder_large -c8,8 qgn_prop_folder_empty -c8,8 qgn_prop_drm_rights_valid_super -c8,8 qgn_prop_drm_rights_exp_super -c8,8 qgn_indi_org_icon_locked -c8,8 qgn_indi_app_open -c8,8 qgn_prop_folder_parent -c8,8 qgn_prop_folder_medium
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE matrixmenudata.mif
-OPTION HEADERFILE matrixmenudata.mbg
-OPTION SOURCES 	-c8,8 qgn_menu_music -c8,8 qgn_menu_group_web -c8,8 qgn_menu_photos -c8,8 qgn_menu_video -c8,8 qgn_menu_group_apps -c8,8 qgn_menu_group_extras -c8,8 qgn_menu_games -c8,8 qgn_menu_group_organiser
-END
-
-#ifndef __PEN_SUPPORT
-START EXTENSION s60/mifconv
-OPTION TARGETFILE move_indicator_icons.mif
-OPTION HEADERFILE move_indicator_icons.mbg
-OPTION SOURCES 	-c8,8 qgn_indi_org_arrow_down -c8,8 qgn_indi_org_arrow_left -c8,8 qgn_indi_org_arrow_right -c8,8 qgn_indi_org_arrow_up
-END
-#endif
-
-#if defined(SBSV2) && defined(WINSCW)
-START EXTENSION general/copyheaderfile
-  SRCFILE foldersuite.rsg
-END
-
-START EXTENSION general/copyheaderfile
-  SRCFILE gridroot.mbg
-END
-
-START EXTENSION general/copyheaderfile
-  SRCFILE matrixmenudata.mbg
-END
-#ifndef __PEN_SUPPORT
-START EXTENSION general/copyheaderfile
-  SRCFILE move_indicator_icons.mbg
-END
-#endif
-#endif
\ No newline at end of file
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.flm	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-# copyheaderfile.flm
-#
-# Copyright (c) 2008-2009 Nokia Ltd. All rights reserved.
-#
-# Header file exporting Function Like Makefile (FLM)
-# The file destinations  relative to EPOCROOT
-
-## Inputs
-# SRCFILE
-
-CLEANTARGETS:=
-RELEASEABLES:=
-CREATABLEPATHS:=
-
-# Check if all the inputs are present
-$(if $(SRCFILE),,$(error Must define SRCFILE))
-
-ifeq ($(PLATFORM),WINSCW)
-TRGDIR:=$(EPOCROOT)/epoc32/release/winscw/$(CFG)/z/resource/apps
-TARGET:=$(TRGDIR)/$(SRCFILE)
-RSGFILE:=$(EPOCROOT)/epoc32/include/$(SRCFILE)
-CREATABLEPATHS:=$(TRGDIR)
-RELEASEABLES:=$(TARGET)
-CLEANTARGETS:=$(RELEASEABLES)
-
-define copyheaderfile
-$(GUARD)_$(CFG):=1
-ALL:: $(TARGET)
-
-$(TARGET) : $(RSGFILE)
-	$(call startrule,copyheaderfile,FORCESUCCESS) \
-	$(GNUCP) $$< $$@ && \
-	$(GNUCHMOD) a+rw "$$@" \
-	$(call endrule,copyheaderfile)
-endef
-
-ifeq ($($(GUARD)_$(CFG)),)
-$(eval -$(copyheaderfile))
-$(eval $(call makepath,$(CREATABLEPATHS)))
-$(eval $(call whatmacro,$(RELEASEABLES),WHATMAKEFILE))
-$(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS)))
-endif
-
-endif  
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.meta	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-# ============================================================================
-#  Name        : copyheaderfile.meta
-#  Part of     : foldersuite
-#  Description : 
-#  Version     : %version: 1 %
-#
-#  Copyright (c) 2008 Nokia Corporation.
-#  This material, including documentation and any related 
-#  computer programs, is protected by copyright controlled by 
-#  Nokia Corporation. All rights are reserved. Copying, 
-#  including reproducing, storing, adapting or translating, any 
-#  or all of this material requires the prior written consent of 
-#  Nokia Corporation. This material also contains confidential 
-#  information which may not be disclosed to others without the 
-#  prior written consent of Nokia Corporation.
-# ============================================================================
-
-platform	win32
-makefile 	gnumake
-techstream	s60
-
-
--- a/menufw/menusuites/foldersuite/group/copyheaderfile.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-# ============================================================================
-#  Name        : copyheaderfile.xml
-#  Part of     : mifconv_templates
-#  Description : 
-#  Version     : %version: 1 %
-#
-#  Copyright (c) 2008 Nokia Corporation.
-#  This material, including documentation and any related 
-#  computer programs, is protected by copyright controlled by 
-#  Nokia Corporation. All rights are reserved. Copying, 
-#  including reproducing, storing, adapting or translating, any 
-#  or all of this material requires the prior written consent of 
-#  Nokia Corporation. This material also contains confidential 
-#  information which may not be disclosed to others without the 
-#  prior written consent of Nokia Corporation.
-# ============================================================================
--->
-
-<build xmlns="http://symbian.com/xml/build" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build ../../schema/build/2_0.xsd">
-    <interface name="general.copyheaderfile" extends="Symbian.UserFLM" flm="copyheaderfile.flm">
-      <param name='SRCFILE' default=''/>
-    </interface>
-    
-</build>
--- a/menufw/menusuites/foldersuite/group/exportfoldersuite.mk	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# 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:  resource makefile for folder suite.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/Z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-FINAL :
-	echo Exporting .rsg files...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/foldersuite.rsg" "$(ZDIR)/resource/apps/foldersuite.rsg"
-	echo Exporting .mbg files...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/gridroot.mbg" "$(ZDIR)/resource/apps/gridroot.mbg"
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/matrixmenudata.mbg" "$(ZDIR)/resource/apps/matrixmenudata.mbg"
-  
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/foldersuite/group/exportmoveindicatoricons.mk	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-#
-# 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:  resource makefile for folder suite.
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/Z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-FINAL :
-	echo Exporting mbg file...
-	perl -S $(EPOCROOT)epoc32/tools/ecopyfile.pl "$(EPOCROOT)epoc32/include/move_indicator_icons.mbg" "$(ZDIR)/resource/apps/move_indicator_icons.mbg"
-  
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/foldersuite/group/foldersuite.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* 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:  Project definition file for project folder suite.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          dummyC.dll
-TARGETTYPE      dll
-
-UID             0x0 0x02349823
-CAPABILITY      CAP_GENERAL_DLL
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-SOURCE          dummyC.cpp
-
-SOURCEPATH      .
-USERINCLUDE     ../../../menufwui/matrixmenu/loc
-
-
-START RESOURCE  ../data/foldersuite.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-// End of file
--- a/menufw/menusuites/foldersuite/loc/matrixmenudata.loc	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Localization strings for project Menu Framework.
-*
-*/
-
-
-CHARACTER_SET UTF8
-
-//d: Name of the root level.
-//d: Displayed in move to folder popup.
-//l: list_single_graphic_pane_t1_cp2
-//r: 1.0
-#define qtn_fldr_root_level "Root level"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_photos_grid "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_music_grid "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_videotv_grid "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in grid.
-//l: aagrid_cell_image_pane_t1/opt2
-//r: 1.0
-#define qtn_apps_games_grid "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_contacts_grid "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_office_grid "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_internet_grid "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_applications_grid "Applications"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_photos_list "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_music_list "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_videotv_list "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in list.
-//l: aalist_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_games_list "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_contacts_list "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_office_list "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_internet_list "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in list.
-//l: list_single_large_graphic_pane_t1
-//r: 1.0
-#define qtn_apps_applications_list "Applications"
-
-//d: Title of the Photos suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_photos_title "Photos"
-
-//d: Title of the Music suite.
-//d: Displayed as an item title in grid.
-//l: aagrid_cell_image_pane_t1/opt2
-//r: 1.0
-#define qtn_apps_music_title "Music"
-
-//d: Title of the Video & TV suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_videotv_title "Video & TV"
-
-//d: Title of the Games suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_games_title "Games"
-
-//d: Title of the Contacts suite.
-//d: Displayed as an item title in grid.
-//l: cell_app_pane_t1
-//r: 1.0
-#define qtn_apps_phonebook_title "Contacts"
-
-//d: Title of the Office suite.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_office_title "Office"
-
-//d: Title of the Internet folder.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_browserng_title "Internet"
-
-//d: Title of the Applications folder.
-//d: Displayed as an item title in grid.
-//l: title_pane_t2/opt9
-//r: 1.0
-#define qtn_apps_appsfolder_title "Applications"
-
-// end of file
--- a/menufw/menusuites/foldersuite/src/dummyC.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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:
-*
-*/
-
-#include <e32def.h>
-
-EXPORT_C int E32Main()
-{
-	return 0;
-}
--- a/menufw/menusuites/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-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:  Build information file for project menusuites
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../foldersuite/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/menusuites.iby           CORE_APP_LAYER_IBY_EXPORT_PATH(menusuites.iby)
-../rom/menusuites_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(menusuites_resources.iby)
-
-../data/mmenuschema.xsd z:/private/101F4CD2/import/suites/mmenuschema.xsd
-
-PRJ_MMPFILES
-#ifndef SBSV2
-#ifdef WINSCW
-gnumakefile validateNewMenuFw.mk
-#endif
-#endif
-
-#ifdef _MATRIX_MENU_INCLUDE_TEST_CONTENT
-#include "../internal/test/group/bld.inf"
-#endif
--- a/menufw/menusuites/group/build.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<project name="menufw" default="validate" basedir=".">
-    <description>
-        this script validates MenuFw suites definitiona against XML Scheme 
-    </description>
-    
-  <echo>VALIDATION SCRIPT: This script validates files in ${xmllocation} againsts XML shema</echo>
-
-  <target name="validate" >
-    <xmlvalidate  failonerror="true">
-        <attribute name="http://xml.org/sax/features/validation" value="true"/>
-        <attribute name="http://apache.org/xml/features/validation/schema" value="true"/>
-        <attribute name="http://xml.org/sax/features/namespaces" value="true"/>
-        
-        <fileset dir="${xmllocation}" includes="**/*.xml" excludes="*.xml"/>
-    </xmlvalidate >
-  </target>
-
-</project>
\ No newline at end of file
--- a/menufw/menusuites/group/validate.mk	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-#
-# 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:  scalable icon makefile for project
-#
-	
-
-FINAL :
-	echo VALIDATE
-	ant -q -Dxmllocation="\epoc32\release\winscw\udeb\Z\private\20012474\import\suites\"
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/group/validateNewMenuFw.mk	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# 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:  scalable icon makefile for project
-#
-
-FINAL :
-	echo VALIDATE
-	ant -q -Dxmllocation="\epoc32\release\winscw\udeb\Z\private\101F4CD2\import\suites\"
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/menufw/menusuites/rom/menusuites.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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:  IBY file for the menusuites subsystem
-*
-*/
-
-
-#ifndef MENUSUITES_IBY
-#define MENUSUITES_IBY
-
-
-data=\epoc32\data\z\resource\apps\gridroot.mif        resource\apps\gridroot.mif 
-data=\epoc32\include\gridroot.mbg                     resource\apps\gridroot.mbg
-
-data=\epoc32\data\z\resource\apps\matrixmenudata.mif        resource\apps\matrixmenudata.mif 
-data=\epoc32\include\matrixmenudata.mbg                     resource\apps\matrixmenudata.mbg
-
-data=\epoc32\data\Z\private\200113DD\content\matrixmenudata.xml private\200113DD\content\matrixmenudata.xml
-
-#ifndef __PEN_SUPPORT
-data=\epoc32\data\z\resource\apps\move_indicator_icons.mif       resource\apps\move_indicator_icons.mif
-data=\epoc32\data\z\resource\apps\move_indicator_icons.mbg       resource\apps\move_indicator_icons.mbg
-#endif
-
-// FOLDER SUITE
-
-#ifdef __PEN_SUPPORT
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_touch\suite.xml private\101F4CD2\import\suites\foldersuite\suite.xml
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_touch\items.xml private\101F4CD2\import\suites\foldersuite\items.xml
-#else 
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_nontouch\suite.xml private\101F4CD2\import\suites\foldersuite\suite.xml
-data=/epoc32/data/z/private/101F4CD2/import/suites/foldersuite_nontouch\items.xml private\101F4CD2\import\suites\foldersuite\items.xml
-#endif
-
-/* File containing localization strings */
-data=\epoc32\include\foldersuite.rsg                     resource\apps\foldersuite.rsg
-
-#endif // MENUSUITES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/menusuites/rom/menusuites_resources.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  IBY file for the menusuites subsystem
-*
-*/
-
-
-#ifndef MENUSUITES_RESOURCES_IBY
-#define MENUSUITES_RESOURCES_IBY
-
-data=\epoc32\data\z\resource\apps\foldersuite.rsc        resource\apps\foldersuite.rsc
-data=\epoc32\data\Z\private\200113DD\content\01\matrixmenudata.dtd private\200113DD\content\01\matrixmenudata.dtd
-
-#endif // MENUSUITES_RESOURCES_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/rom/menufw_stub.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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:  
-*
-*/
-
-
-#ifndef MENUFW_STUB_IBY
-#define MENUFW_STUB_IBY
-
-data=\epoc32\data\z\system\install\menufw_stub.sis system\install\menufw_stub.sis
-
-#endif // MENUFW_STUB_IBY
-
-//  End of File  
\ No newline at end of file
--- a/menufw/sis/menufw_SA_RU.pkg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-;
-; Copyright (c) 2002-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:  
-;
-
-;Languages
-&EN
-
-;Header
-#{"MenuFW"},(0x101f4cd2),2,0,0, TYPE=SA, RU
-; Supports Series 60 v5.0
-(0x1028315F), 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files to install
-
-;hierarchynavigator
-"\epoc32\release\armv5\urel\hnengine.dll" -"!:\sys\bin\hnengine.dll"
-"\epoc32\release\armv5\urel\hnpresentationmodel.dll" -"!:\sys\bin\hnpresentationmodel.dll"
-"\epoc32\release\armv5\urel\hnmetadatamodel.dll" -"!:\sys\bin\hnmetadatamodel.dll"
-"\epoc32\release\armv5\urel\hnutilities.dll" -"!:\sys\bin\hnutilities.dll"
-
-;menufwui
-"\epoc32\release\armv5\urel\mmextensionmanager.dll" -"!:\sys\bin\mmextensionmanager.dll"
-"\epoc32\release\armv5\urel\mmfolderuiextensionplugin.dll" -"!:\sys\bin\mmfolderuiextensionplugin.dll"
-"\epoc32\data\z\resource\plugins\mmfolderuiextensionplugin.rsc" -"!:\resource\plugins\mmfolderuiextensionplugin.rsc"
-"\epoc32\data\z\resource\apps\mmfolderuiextplugin.rsc" -"!:\resource\apps\mmfolderuiextplugin.rsc"
-
-;matrixmenu
-"\epoc32\release\armv5\urel\matrixmenu.exe" -"!:\sys\bin\matrixmenu.exe"
-"\epoc32\data\z\private\10003a3f\apps\matrixmenu_reg.rsc" -"c:\private\10003a3f\import\apps\matrixmenu_reg.rsc"
-"\epoc32\data\z\resource\apps\matrixmenu.mif" -"!:\resource\apps\matrixmenu.mif"
-"\epoc32\data\z\resource\apps\matrixmenu.rsc" -"!:\resource\apps\matrixmenu.rsc"
-
-"\epoc32\data\z\resource\apps\matrixmenu.r01" -"!:\resource\apps\matrixmenu.r01"
-"\epoc32\data\z\resource\apps\gridroot.mbg" -"!:\resource\apps\gridroot.mbg"
-"\epoc32\data\z\resource\apps\gridroot.mif" -"!:\resource\apps\gridroot.mif"
-
-"\epoc32\data\z\resource\apps\move_indicator_icons.mbg" -"!:\resource\apps\move_indicator_icons.mbg"
-"\epoc32\data\z\resource\apps\move_indicator_icons.mif" -"!:\resource\apps\move_indicator_icons.mif"
-
-;mmwidgets
-"\epoc32\release\armv5\urel\mmwidgets.dll" -"!:\sys\bin\mmwidgets.dll"
-
-;tamplates
-
-"\epoc32\data\z\resource\list\custom\akn_single_large_graphic_pane.xml" -"!:\resource\list\custom\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_1.xml" -"!:\resource\list\custom\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_2.xml" -"!:\resource\list\custom\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_3.xml" -"!:\resource\list\custom\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_4.xml" -"!:\resource\list\custom\akn_logical_template_4.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_5.xml" -"!:\resource\list\custom\akn_logical_template_5.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_6.xml" -"!:\resource\list\custom\akn_logical_template_6.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_7.xml" -"!:\resource\list\custom\akn_logical_template_7.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_8.xml" -"!:\resource\list\custom\akn_logical_template_8.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_10.xml" -"!:\resource\list\custom\akn_logical_template_10.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_11.xml" -"!:\resource\list\custom\akn_logical_template_11.xml"
-"\epoc32\data\z\resource\list\custom\akn_logical_template_12.xml" -"!:\resource\list\custom\akn_logical_template_12.xml"
-;"\epoc32\data\z\resource\list\custom\akn_logical_template_13.xml" -"!:\resource\list\custom\akn_logical_template_13.xml"
- 
-"\epoc32\data\z\resource\grid\custom\akn_single_large_graphic_pane.xml" -"!:\resource\grid\custom\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_1.xml" -"!:\resource\grid\custom\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_2.xml" -"!:\resource\grid\custom\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_3.xml" -"!:\resource\grid\custom\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\grid\custom\akn_logical_template_4.xml" -"!:\resource\grid\custom\akn_logical_template_4.xml"
- 
-
-;lct
-"\epoc32\data\z\resource\list\lct\akn_single_large_graphic_pane.xml" -"!:\resource\list\lct\akn_single_large_graphic_pane.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_1.xml" -"!:\resource\list\lct\akn_logical_template_1.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_2.xml" -"!:\resource\list\lct\akn_logical_template_2.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_3.xml" -"!:\resource\list\lct\akn_logical_template_3.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_4.xml" -"!:\resource\list\lct\akn_logical_template_4.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_5.xml" -"!:\resource\list\lct\akn_logical_template_5.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_6.xml" -"!:\resource\list\lct\akn_logical_template_6.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_7.xml" -"!:\resource\list\lct\akn_logical_template_7.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_8.xml" -"!:\resource\list\lct\akn_logical_template_8.xml"
-"\epoc32\data\z\resource\list\lct\akn_logical_template_12.xml" -"!:\resource\list\lct\akn_logical_template_12.xml"
-;suites
-"\epoc32\data\Z\private\101f4cd2\import\suites\foldersuite\suite.xml" -"!:\private\101f4cd2\import\suites\foldersuite\suite.xml"
-"\epoc32\data\Z\private\101f4cd2\import\suites\foldersuite\items.xml" -"!:\private\101f4cd2\import\suites\foldersuite\items.xml"
-"\epoc32\data\Z\resource\apps\foldersuite.rsc" -"!:\resource\apps\foldersuite.rsc"
-"\epoc32\data\Z\resource\apps\foldersuite.rsg" -"!:\resource\apps\foldersuite.rsg"
-
-
-;TEST CONTENT
-;removed
\ No newline at end of file
--- a/menufw/sis/menufw_stub.pkg	Thu Mar 18 14:45:17 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:
-;
-
-;Languages
-&EN
-
-;Header
-#{"MenuFW"},(0x101f4cd2),1,0,0, TYPE=SA
-; Supports Series 60 v5.0
-(0x1028315F), 0, 0, 0, {"Series60ProductID"}
-
-;Localised Vendor name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;Files
-
-;hierarchynavigator
-"" -"z:\sys\bin\hnengine.dll"
-"" -"z:\sys\bin\hnpresentationmodel.dll"
-"" -"z:\sys\bin\hnmetadatamodel.dll"
-"" -"z:\sys\bin\hnutilities.dll"
-
-;menufwui
-"" -"z:\sys\bin\mmextensionmanager.dll"
-"" -"z:\sys\bin\mmfolderuiextensionplugin.dll"
-"" -"z:\resource\plugins\mmfolderuiextensionplugin.rsc"
-"" -"z:\resource\apps\mmfolderuiextplugin.rsc"
-
-;matrixmenu
-"" -"z:\sys\bin\matrixmenu.exe"
-"" -"z:\private\10003a3f\import\apps\matrixmenu_reg.rsc"
-"" -"z:\resource\apps\matrixmenu.mif"
-"" -"z:\resource\apps\matrixmenu.r*"
-
-
-"" -"z:\resource\apps\gridroot.mbg"
-"" -"z:\resource\apps\gridroot.mif"
-
-"" -"z:\resource\apps\move_indicator_icons.mbg"
-"" -"z:\resource\apps\move_indicator_icons.mif"
-
-;mmwidgets
-"" -"z:\sys\bin\mmwidgets.dll"
-
-;tamplates
-
-"" -"z:\resource\list\custom\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\list\custom\akn_logical_template_1.xml"
-"" -"z:\resource\list\custom\akn_logical_template_2.xml"
-"" -"z:\resource\list\custom\akn_logical_template_3.xml"
-"" -"z:\resource\list\custom\akn_logical_template_4.xml"
-"" -"z:\resource\list\custom\akn_logical_template_5.xml"
-"" -"z:\resource\list\custom\akn_logical_template_6.xml"
-"" -"z:\resource\list\custom\akn_logical_template_7.xml"
-"" -"z:\resource\list\custom\akn_logical_template_8.xml"
-"" -"z:\resource\list\custom\akn_logical_template_10.xml"
-"" -"z:\resource\list\custom\akn_logical_template_11.xml"
-"" -"z:\resource\list\custom\akn_logical_template_12.xml"
-"" -"z:\resource\list\custom\akn_logical_template_13.xml"
-
-"" -"z:\resource\grid\custom\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_1.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_2.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_3.xml"
-"" -"z:\resource\grid\custom\akn_logical_template_4.xml"
-
-;lct
-"" -"z:\resource\list\lct\akn_single_large_graphic_pane.xml"
-"" -"z:\resource\list\lct\akn_logical_template_1.xml"
-"" -"z:\resource\list\lct\akn_logical_template_2.xml"
-"" -"z:\resource\list\lct\akn_logical_template_3.xml"
-"" -"z:\resource\list\lct\akn_logical_template_4.xml"
-"" -"z:\resource\list\lct\akn_logical_template_5.xml"
-"" -"z:\resource\list\lct\akn_logical_template_6.xml"
-"" -"z:\resource\list\lct\akn_logical_template_7.xml"
-"" -"z:\resource\list\lct\akn_logical_template_8.xml"
-"" -"z:\resource\list\lct\akn_logical_template_12.xml"
-;suites
-"" -"z:\private\101f4cd2\import\suites\foldersuite\suite.xml"
-"" -"z:\private\101f4cd2\import\suites\foldersuite\items.xml"
-"" -"z:\resource\apps\foldersuite.rsc"
-"" -"z:\resource\apps\foldersuite.rsg"
-
-
-;TEST CONTENT:
-;removed
--- a/taskswitcher/contextengine/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  Build info file for Context Services.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-
-// stub sis files
-../sis/stubs/tsctxsrv_stub.sis                          /epoc32/release/winscw/udeb/z/system/install/tsctxsrv_stub.sis
-
-// iby files
-../rom/tscontextservices.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(tscontextservices.iby)
-
-#include "../tsfswpreviewprovider/group/bld.inf"
-#include "../tsfswserver/group/bld.inf"
-
-#include "../tsctxutils/group/bld.inf"
--- a/taskswitcher/contextengine/rom/tscontextservices.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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:  Iby file for Context Services
-*
-*/
-
-#ifndef TSCONTEXTSERVICES_IBY
-#define TSCONTEXTSERVICES_IBY
-
-// Context Services binaries
-file=ABI_DIR/BUILD_DIR/tscontextservicesutils.dll    SHARED_LIB_DIR/tscontextservicesutils.dll
-
-// backup registration
-data=DATAZ_/private/20011417/backup_registration.xml    private/20011417/backup_registration.xml
-
-// stub sis
-data=ZSYSTEM/install/tsctxsrv_stub.sis    system/install/tsctxsrv_stub.sis
-
-#endif // TSCONTEXTSERVICES
--- a/taskswitcher/contextengine/sis/stubs/createstubs.bat	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-for %%f in (*.pkg) do makesis -s %%f
--- a/taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.pkg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-; ------------------------------------------------------------------------------
-; TS Context Services stub SIS package file.
-; Used to enable TS Context Services to be updated from ROM with a SIS package.
-; When you add new files into this stub, please remember to update
-; SIS stub with "makesis -s" command.
-; ------------------------------------------------------------------------------
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"tsctxutils"},(0x20019569),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-""-"Z:\sys\bin\tscontextservicesutils.dll"
Binary file taskswitcher/contextengine/sis/stubs/tsctxsrv_stub.sis has changed
--- a/taskswitcher/contextengine/trace/tslogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* 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:  Defines all available logging macros.
-*
-*/
-
-
-#ifndef TSLOGLOGUTILS_H
-#define TSLOGLOGUTILS_H
-
-/**
- * @file
- * 
- * TAKING LOGGING INTO USE:
- * 
- * This step is needed to do once per component.
- * 
- * For each component that uses these common logging macros should specify
- * their own logging configuration file, which includes this file. In that
- * configuration file, following constants and macros must be defined.
- *  For example:
- * @code
- * 
- * _LIT( KTsLogFile, "text_file_for_logging.txt" );
- * _LIT( KTsLogPath, "folder_for_text_file" );
- * #define _TSLOG_LOG_COMPONENT_ID <some unique number here>
- * 
- * #include "tslogging.h"
- * 
- * @/code
- * 
- * KTsLogFile   : This is the name of the file, where all the logs for
- *                this components are being written.
- * 
- * KTsLogPath   : This is the folder name under c:\logs, where the file
- *                is to be stored. For example, if KTsLogPath is "test",
- *                log file is created into folder c:\logs\test.
- * 
- * _TSLOG_LOG_COMPONENT_ID  : Unique number id of the component. This is 
- *                            for filtering purposes.
- * 
- * _TSLOG_RDEBUG    : When defined tracing instead of file logging. 
- *                    Default is for file logging.
- * 
- * --------------------------------------------------------------------------
- * 
- * USING LOGGING:
- * 
- * Basically the use is simple, register function use with TSLOG_CONTEXT, 
- * then log function enter by any TSLOG_IN -macro, then possibly use TSLOG
- * -macros for function logging and finally TSLOG_OUT -macros for returning
- * from the function.
- * 
- * @code
- * TInt CGood::Example( TInt aSomething )
- *     {
- *     // Create log context class, which is maintained for lifetime of the 
- *     // method. 
- *     TSLOG_CONTEXT( Example, TSLOG_LOCAL );
- * 
- *     // Indicate we are entering the function. 
- *     TSLOG_IN1( "aSomething contains value %d", aSomething );
- * 
- *     // Your buggy code...
- * 
- *     // Before leaving, indicate function execution has ended.
- *     TSLOG_OUT();
- * 
- *     return 0;
- *     }
- * @/code
- */
-
-#include <e32def.h>
-#include <e32std.h>
-
-#include "tslogutils.h"
-
-#define TSLOG_API 0
-#define TSLOG_LOCAL 1
-
-#define TSLOG_INFO 0
-#define TSLOG_WARNING 1
-#define TSLOG_ERROR 2
-
-#define TSLOG_ASSERT(_assertion)  __TSLOG_ASSERT_DBG(_assertion) 
-#define TSLOG_TRACE_ASSERT(_assertion) __ASSERT_DEBUG((_assertion), User::Invariant() )
-
-#ifdef _DEBUG
-            
-/*****************************************************************************
- LOGGING MACROS - LOGGING ON
-*****************************************************************************/             
-
-    /** 
-     * Context initialization 
-     * NOTE: TSLOG_STATIC_CONTEXT is meant for static methods.
-     * 
-     * @param _fn   Name of the function.
-     * @param _vis  Visibility for the client, use values TSLOG_API or TSLOG_LOCAL
-     * @param _thdId For static functions, thread id can be given here.
-     */
-    #define TSLOG_CONTEXT(_fn, _vis ) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, (TUint)this, RProcess().SecureId().iId )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, _thdId, RProcess().SecureId().iId )
-
-    /** 
-     * Entering function 
-     * 
-     * @param string    Custom text. Example: TSLOG_IN0( "Yeah!!!" );
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG_IN() do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG0_IN(string) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG1_IN(string, p1) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_ENTRY(); } while(0)
-    #define TSLOG2_IN(string, p1, p2) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_ENTRY(); } while(0)
-    #define TSLOG3_IN(string, p1, p2, p3) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_ENTRY(); } while(0)
-    #define TSLOG4_IN(string, p1, p2, p3, p4) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_ENTRY(); } while(0)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_ENTRY(); } while(0)
-
-    /** Leaving function */
-    #define TSLOG_OUT() do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG0_OUT(string) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG1_OUT(string, p1) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_EXIT(); } while(0)
-    #define TSLOG2_OUT(string, p1, p2) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_EXIT(); } while(0)
-    #define TSLOG3_OUT(string, p1, p2, p3) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_EXIT(); } while(0)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_EXIT(); } while(0)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0)
-
-    /** Leaving function with return value */
-    #define TSLOG0_RET(val, fmtstr) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG1_RET(val, fmtstr, p1) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG2_RET(val, fmtstr, p1, p2) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0); return val;} while(0)
-
-    /** 
-     * General log lines 
-     * 
-     * @param level     This can be used as internal information 
-     *                  field, such as info, error, warning etc.
-     * @param string    Custom string
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG0(level, string) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); } while(0)
-    #define TSLOG1(level, string, p1) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); } while(0)
-    #define TSLOG2(level, string, p1, p2) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); } while(0)
-    #define TSLOG3(level, string, p1, p2, p3) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); } while(0)
-    #define TSLOG4(level, string, p1, p2, p3, p4) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); } while(0)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); } while(0)
-
-    /** Error logging */
-    #define __TSLOG_ASSERT_DBG( _assertion ) do { if( _assertion ) { break; } TFileName file; file.Copy( _L8( __FILE__ ) );   _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s Assert:%S:%d:" L ## #_assertion) , _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, &file, __LINE__ ); User::Invariant(); } while( 0 )
-    #define __TSLOG_TRACE_ASSERT_DBG(_assertion, _textToPrint, _panicCode)  do { if (_assertion) { break; } _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s ASSERTION FAILED!!! %s file: %s, line: %s"), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, _textToPrint, __FILE__, __LINE__); User::Panic(_L("AssertionFailed"), _panicCode} while(0)
-    #define TSLOG_TRAPHANDLER() _TTsLogTrapHandler _traceTrapHandler; _traceTrapHandler.oldHandler = User::SetTrapHandler(&_traceTrapHandler)
-
-/*****************************************************************************
- LOGGING MACROS - NO LOGGING
-*****************************************************************************/ 
-#else // _DEBUG
-
-    #define TSLOG_CONTEXT(_fn, _vis )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId)
-
-    #define TSLOG_IN()
-    #define TSLOG0_IN(string)
-    #define TSLOG1_IN(string, p1)
-    #define TSLOG2_IN(string, p1, p2)
-    #define TSLOG3_IN(string, p1, p2, p3)
-    #define TSLOG4_IN(string, p1, p2, p3, p4)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG_OUT()
-    #define TSLOG0_OUT(string)
-    #define TSLOG1_OUT(string, p1)
-    #define TSLOG2_OUT(string, p1, p2)
-    #define TSLOG3_OUT(string, p1, p2, p3)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG0_RET(val, fmtstr) return val
-    #define TSLOG1_RET(val, fmtstr, p1) return val
-    #define TSLOG2_RET(val, fmtstr, p1, p2) return val
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) return val
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) return val
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) return val
-
-    #define TSLOG0(level, string)
-    #define TSLOG1(level, string, p1)
-    #define TSLOG2(level, string, p1, p2)
-    #define TSLOG3(level, string, p1, p2, p3)
-    #define TSLOG4(level, string, p1, p2, p3, p4)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5)
-    
-    #define BIND_TRACE_TRAPHANDLER()
-    #define TRACE_DECL() TInt _iTraceThreadId
-    #define TRACE_FAST_CREATE(_thdId) _thdId++;
-    #define TRACE_CREATE()
-
-    #define __TSLOG_ASSERT_DBG(_assertion)
-    #define __TRACE_ASSERT_DBG(_assertion, _message, _panicCode )
-
-#endif // _DEBUG
-
-#endif      // TSLOGLOGUTILS_H
-            
-// End of File
--- a/taskswitcher/contextengine/trace/tslogutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-/*
-* 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:  Logging behavior
-*
-*/
-
-
-#ifndef TSLOGUTILS_H
-#define TSLOGUTILS_H
-
-/**
- * NOTE: This file contains the logic related to logging. Change only if you
- * know what you're doing.
- */
-
-
-
-
-
-
-
-
-
-
-#ifdef _DEBUG
-
-#include <e32debug.h>
-#include <e32std.h>
-
-static const TUint TSLOGERR   = 2;  /**< Used to create an error message */
-
-// These macros are real macros, that should be used. For temporary purposes, these
-// are left out and the logging is done by simple entry logging
-#define _TSLOG_UNCONTROLLED_INPUT_MSG  L"%s%d[%x:%x:%x]>%s UNCONTROLLED ENTRY!"
-#define _TSLOG_MULTIPLE_ENTRY_MSG      L"%s%d[%x:%x:%x]%s  ADDITIONAL ENTRY!"
-#define _TSLOG_UNCONTROLLER_EXIT_MSG   L"%s%d[%x:%x:%x]<%s UNCONTROLLED EXIT!"
-#define _TSLOG_MULTIPLE_EXIT_MSG       L"%s%d[%x:%x:%x]%s  ADDITIONAL EXIT!"
-#define _TSLOG_TRAP_HARNESS_ENTRY      L"_D%d[%x:%x:%x]TraceFramework: Entering trap harness"
-#define _TSLOG_TRAP_HARNESS_EXIT       L"_D%d[%x:%x:%x]TraceFramework: Exiting trap harness"
-#define _TSLOG_TRAP_HARNESS_LEAVE      L"_D%d[%x:%x:%x]TraceFramework: ---------- LEAVE OCCURRED !!! ---------- "
-#define _TSLOG_API_PREFIX              L"_A"
-#define _TSLOG_LOCAL_PREFIX            L"_L"
-
-/**
-* @file 
-* trace_utils.h contains definitions needed for advanced tracing features.
-* Tracing can be customized using the following compile time flags:
-* - <b>_DEBUG</b>
-*   - With this flag undefined, all traces are disabled
-* - <b>__KERNEL_MODE__</b>
-*   - if kernel mode flag is defined, kernel macro variants are used (no unicode or shared heap related stuff, faster)
-* - <b>DISABLE_SYNTAX_CHECK</b>
-*   - If this flag is defined, runtime syntax checking features are disabled from traces
-*/
-#ifndef DISABLE_SYNTAX_CHECK
-    #define _MARK_ENTRY() _dc.inOk=ETrue
-    #define _DOINCHK() _dc.DoInChk()
-    #define _CHK_MULTIIN() _dc.ChkMultiIn()
-    #define _CHK_MULTIOUT() _dc.ChkMultiOut()
-    #define _MARK_EXIT() _dc.outOk=ETrue
-#else
-    #define _MARK_ENTRY()
-    #define _DOINCHK()
-    #define _CHK_MULTIIN()
-    #define _CHK_MULTIOUT()
-    #define _MARK_EXIT()
-#endif // DISABLE_SYNTAX_CHECK
-    
-/** For tracing */
-#ifdef _TSLOG_RDEBUG
-    #define _IT(a) (TPtrC((const TText *)(a)))
-    #define _TSLOGPRINTER RDebug::Print        
-        
-/** For filedebug */
-#else   // _TSLOG_RDEBUG
-
-    /** Includes */
-    #include <e32base.h>
-    #include <e32std.h>
-    #include <e32def.h>
-    #include <e32svr.h>
-
-// both of headers defines KLogBufferSize
-#ifndef __COMMSDEBUGUTILITY_H__
-    #include <flogger.h>
-#endif
-
-    #define _IT(a) KTsLogPath, KTsLogFile, EFileLoggingModeAppend, (TPtrC((const TText *)(a)))    
-    #define _TSLOGPRINTER RFileLogger::WriteFormat    
-#endif // _TSLOG_RDEBUG    
-
-class _TTsLogContext
-    {
-    public:
-        _TTsLogContext(
-            const TText* _fn, 
-            const TUint _id, 
-            const TUint _vis, 
-            const TUint _addr, 
-            const TUint _thdId, 
-            const TUint _category=0 )
-            : 
-            iFn(_fn), 
-            iId(_id), 
-            iApi((TBool)_vis), 
-            iAddr(_addr), 
-            iThdId(_thdId), 
-            iVis((_vis == 0 ? (TText*)_TSLOG_API_PREFIX : (TText*)_TSLOG_LOCAL_PREFIX)),
-            iCategory(_category)            
-        #ifndef DISABLE_SYNTAX_CHECK
-            ,outOk(EFalse), inOk(EFalse)
-        #endif
-            {
-            }
-        ~_TTsLogContext() 
-            {
-            #ifndef DISABLE_SYNTAX_CHECK
-                do
-                    {                   
-                    DoInChk();
-                    if (!outOk)
-                        {
-                        _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLER_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                        }
-                    } while (0);
-            #endif // DISABLE_SYNTAX_CHECK
-            }
-
-        const TText* iFn;
-        const TUint iId;
-        const TText* iVis;
-        const TUint iAddr;
-        const TInt iThdId;
-        const TBool iApi;
-        const TUint iCategory;
-        
-        #ifndef DISABLE_SYNTAX_CHECK
-            inline void DoInChk()
-                {
-                if (!inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLED_INPUT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                    inOk = ETrue;
-                    }
-                }
-                        
-            inline void ChkMultiIn()
-                {
-                if (inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_ENTRY_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                
-                    }
-                }
-    
-            inline void ChkMultiOut()
-                {
-                if (outOk)
-                    {           
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                                        
-                    }
-                }
-
-            TBool inOk;
-            TBool outOk;
-        #endif // DISABLE_SYNTAX_CHECK
-    };
-    
-class _TTsLogTrapHandler: public TTrapHandler
-    {
-    public:
-
-        _TTsLogTrapHandler(_TTsLogContext& _context) : _dc( _context ) 
-            {
-            RThread me;
-            iThdId = (TInt)me.Id();
-            }
-    	void Trap() 
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_ENTRY), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Trap();
-    	    } 
-    	void UnTrap()
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_EXIT), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->UnTrap();
-    	    }	
-    	void Leave(TInt aValue)
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_LEAVE), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Leave(aValue);
-    	    }	
-    	TTrapHandler* oldHandler;
-    private:
-        _TTsLogContext& _dc;
-        TInt iThdId;
-    };
-    
-#endif // _DEBUG    
-
-#endif // TSLOGUTILS_H
--- a/taskswitcher/contextengine/tsctxutils/bwins/tscontextservicesutilsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?NewLC@CTsCenrepListener@@SAPAV1@ABVTUid@@KAAVMTsCenrepChangeObserver@@@Z @ 1 NONAME ; class CTsCenrepListener * CTsCenrepListener::NewLC(class TUid const &, unsigned long, class MTsCenrepChangeObserver &)
-	??0CTsPropertyListener@@QAE@VTUid@@IAAVMTsPropertyChangeObserver@@@Z @ 2 NONAME ; CTsPropertyListener::CTsPropertyListener(class TUid, unsigned int, class MTsPropertyChangeObserver &)
-	??1CTsCenrepListener@@UAE@XZ @ 3 NONAME ; CTsCenrepListener::~CTsCenrepListener(void)
-	?Value@CTsCenrepListener@@QAEHXZ @ 4 NONAME ; int CTsCenrepListener::Value(void)
-	?NewL@CTsCenrepListener@@SAPAV1@ABVTUid@@KAAVMTsCenrepChangeObserver@@@Z @ 5 NONAME ; class CTsCenrepListener * CTsCenrepListener::NewL(class TUid const &, unsigned long, class MTsCenrepChangeObserver &)
-	??1CTsPropertyListener@@UAE@XZ @ 6 NONAME ; CTsPropertyListener::~CTsPropertyListener(void)
-
--- a/taskswitcher/contextengine/tsctxutils/eabi/tscontextservicesutilsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_ZN17CTsCenrepListener4NewLERK4TUidmR23MTsCenrepChangeObserver @ 1 NONAME
-	_ZN17CTsCenrepListener5NewLCERK4TUidmR23MTsCenrepChangeObserver @ 2 NONAME
-	_ZN17CTsCenrepListener5ValueEv @ 3 NONAME
-	_ZN17CTsCenrepListenerD0Ev @ 4 NONAME
-	_ZN17CTsCenrepListenerD1Ev @ 5 NONAME
-	_ZN17CTsCenrepListenerD2Ev @ 6 NONAME
-	_ZN19CTsPropertyListenerC1E4TUidjR25MTsPropertyChangeObserver @ 7 NONAME
-	_ZN19CTsPropertyListenerC2E4TUidjR25MTsPropertyChangeObserver @ 8 NONAME
-	_ZN19CTsPropertyListenerD0Ev @ 9 NONAME
-	_ZN19CTsPropertyListenerD1Ev @ 10 NONAME
-	_ZN19CTsPropertyListenerD2Ev @ 11 NONAME
-
--- a/taskswitcher/contextengine/tsctxutils/group/bld.inf	Thu Mar 18 14:45:17 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: 
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/tsproplistener.h         |../../inc/tsproplistener.h
-../inc/tscenreplistener.h       |../../inc/tscenreplistener.h
-
-PRJ_MMPFILES
-tscontextservicesutils.mmp
-
-PRJ_TESTMMPFILES
-
--- a/taskswitcher/contextengine/tsctxutils/group/tscontextservicesutils.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET          tscontextservicesutils.dll
-TARGETTYPE      dll
-UID             0x1000008d
-
-CAPABILITY       CAP_GENERAL_DLL  
-VENDORID         VID_DEFAULT
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../trace
-
-SOURCEPATH      ../src
-SOURCE          tsproplistener.cpp
-SOURCE          tscenreplistener.cpp
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib  
-LIBRARY         centralrepository.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/contextengine/tsctxutils/inc/tscenreplistener.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +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: 
-*
-*/
-
-#ifndef CTSCENREPLISTENER_H
-#define CTSCENREPLISTENER_H
-
-#include <e32base.h>
-
-class CRepository;
-
-/**
- * Observer interface for getting notifications about a cenrep key change.
- */
-class MTsCenrepChangeObserver
-    {
-public:
-    virtual void CenrepChanged( TUint32 aKey, TInt aNewValue ) = 0;
-    };
-
-/**
- * Class to get notifications about changes to a cenrep key.
- */
-NONSHARABLE_CLASS( CTsCenrepListener ) : public CActive
-    {
-public:
-    /**
-     * Fist step constructor
-     */
-    IMPORT_C static CTsCenrepListener* NewL(const TUid& aRep, TUint32 aKey,
-                                            MTsCenrepChangeObserver& aObserver);
-    
-    /**
-     * Fist step constructor
-     */
-    IMPORT_C static CTsCenrepListener* NewLC(const TUid& aRep, TUint32 aKey,
-                                             MTsCenrepChangeObserver& aObserver);
-    
-    /**
-     * Destructor.
-     */
-    IMPORT_C ~CTsCenrepListener();
-    
-    /**
-     * Returns the current value of the watched key.
-     */
-    IMPORT_C TInt Value();
-    
-private:
-    /**
-     * Constructor.
-     * Starts listening for the key.
-     */
-    CTsCenrepListener(TUint32 aKey,
-        MTsCenrepChangeObserver& aObserver );
-    
-    /**
-     * Second step constructor 
-     */
-    void ConstructL(const TUid& aRep);
-    
-    void DoCancel();
-    void RunL(); 
-    TInt RunError( TInt aError );
-    
-    MTsCenrepChangeObserver& iObserver;
-    CRepository* iRep;
-    TUint32 iKey;
-    };
-    
-#endif /*CTSCENREPLISTENER_H*/
--- a/taskswitcher/contextengine/tsctxutils/inc/tsproplistener.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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: 
-*
-*/
-
-#ifndef CTSPROPERTYLISTENER_H
-#define CTSPROPERTYLISTENER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-/**
- * Observer interface for getting notifications about a P&S property change.
- */
-class MTsPropertyChangeObserver
-    {
-public:
-    virtual void PropertyChanged( TUid aCategory, TUint aKey ) = 0;
-    };
-
-/**
- * Class to get notifications about changes to a P&S property.
- */
-NONSHARABLE_CLASS( CTsPropertyListener ) : public CActive
-    {
-public:
-    /**
-     * Constructor.
-     * Starts listening for the property with the given category/key.
-     */
-    IMPORT_C CTsPropertyListener( TUid aCategory,
-        TUint aKey, MTsPropertyChangeObserver& aObserver );
-        
-    /**
-     * Destructor.
-    */
-    IMPORT_C ~CTsPropertyListener();
-    
-private:
-    void DoCancel();
-    void RunL(); 
-    TInt RunError( TInt aError );
-
-    MTsPropertyChangeObserver& iObserver;
-    RProperty iProperty;
-    TUid iCategory;
-    TUint iKey;
-    };
-
-#endif /*CTSPROPERTYLISTENER_H*/
-
-// End of file
--- a/taskswitcher/contextengine/tsctxutils/src/tscenreplistener.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include <e32cmn.h>
-#include <centralrepository.h>
-
-#include "tscenreplistener.h"
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::NewL
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener* CTsCenrepListener::NewL(const TUid& aRep, TUint32 aKey,
-                                   MTsCenrepChangeObserver& aObserver)
-    {
-    CTsCenrepListener* self = CTsCenrepListener::NewLC(aRep, aKey, aObserver);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::NewLC
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener* CTsCenrepListener::NewLC(const TUid& aRep, TUint32 aKey,
-                                       MTsCenrepChangeObserver& aObserver)
-    {
-    CTsCenrepListener *self = new(ELeave) CTsCenrepListener(aKey, aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL(aRep);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::CTsCenrepListener
-// -----------------------------------------------------------------------------
-CTsCenrepListener::CTsCenrepListener(TUint32 aKey, 
-                                     MTsCenrepChangeObserver& aObserver)
-: CActive( CActive::EPriorityStandard ), iObserver( aObserver ), iKey( aKey )
-    {
-    CActiveScheduler::Add(this);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::ConstructL
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::ConstructL(const TUid& aRep)
-    {
-    iRep = CRepository::NewL( aRep );
-    iRep->NotifyRequest( iKey, iStatus );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::~CTsCenrepListener
-// -----------------------------------------------------------------------------
-EXPORT_C CTsCenrepListener::~CTsCenrepListener()
-    {
-    Cancel();
-    delete iRep;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::DoCancel
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::DoCancel()
-    {
-    iRep->NotifyCancelAll();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::RunL
-// -----------------------------------------------------------------------------
-void CTsCenrepListener::RunL()
-    {
-    if ( iStatus.Int() != KErrCancel )
-        {
-        iObserver.CenrepChanged( iKey, Value() );
-        iRep->NotifyRequest( iKey, iStatus );
-        SetActive();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::RunError
-// -----------------------------------------------------------------------------
-TInt CTsCenrepListener::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsCenrepListener::Value
-// -----------------------------------------------------------------------------
-EXPORT_C TInt CTsCenrepListener::Value()
-    {
-    TInt val = 0;
-    iRep->Get( iKey, val );
-    return val;
-    }
-
-// end of file
--- a/taskswitcher/contextengine/tsctxutils/src/tsproplistener.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +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: 
-*
-*/
-
-#include <e32cmn.h>
-#include "tsproplistener.h"
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsPropertyListener::CTsPropertyListener(
-        TUid aCategory, TUint aKey, MTsPropertyChangeObserver& aObserver )
-    : CActive( CActive::EPriorityStandard),
-        iObserver( aObserver ), iCategory( aCategory ), iKey( aKey )
-    {
-    CActiveScheduler::Add( this );
-    TInt err = iProperty.Attach( iCategory, iKey );
-    if ( err == KErrNone )
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::~CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsPropertyListener::~CTsPropertyListener()
-    {
-    Cancel();
-    iProperty.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::RunL()
-    {
-    if ( iStatus.Int() != KErrCancel ) // when cancelling the subscribe it completes with KErrCancel
-        {
-        iObserver.PropertyChanged( iCategory, iKey );
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    }    
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunError
-// --------------------------------------------------------------------------
-//
-TInt CTsPropertyListener::RunError( TInt /*aError*/ )
-    {
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    return KErrNone;
-    }
-    
-// end of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/bwins/tspreviewprovideru.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	??1CTsFastSwapPreviewProvider@@UAE@XZ @ 1 NONAME ; CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider(void)
-	?TakePreview@CTsFastSwapPreviewProvider@@QAEHXZ @ 2 NONAME ; int CTsFastSwapPreviewProvider::TakePreview(void)
-	?AckPreview@CTsFastSwapPreviewProvider@@QAEXH@Z @ 3 NONAME ; void CTsFastSwapPreviewProvider::AckPreview(int)
-	?ChangeScreen@CTsFastSwapPreviewProvider@@QAEHH@Z @ 4 NONAME ; int CTsFastSwapPreviewProvider::ChangeScreen(int)
-	?NewL@CTsFastSwapPreviewProvider@@SAPAV1@AAVMTsFastSwapPreviewObserver@@@Z @ 5 NONAME ; class CTsFastSwapPreviewProvider * CTsFastSwapPreviewProvider::NewL(class MTsFastSwapPreviewObserver &)
-	?Register@CTsFastSwapPreviewProvider@@QAEHH@Z @ 6 NONAME ; int CTsFastSwapPreviewProvider::Register(int)
-	?SetPreviewParam@CTsFastSwapPreviewProvider@@QAEHABVTSize@@W4TDisplayMode@@@Z @ 7 NONAME ; int CTsFastSwapPreviewProvider::SetPreviewParam(class TSize const &, enum TDisplayMode)
-	?Unregister@CTsFastSwapPreviewProvider@@QAEHH@Z @ 8 NONAME ; int CTsFastSwapPreviewProvider::Unregister(int)
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/eabi/tspreviewprovideru.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	_ZN26CTsFastSwapPreviewProvider10AckPreviewEi @ 1 NONAME
-	_ZN26CTsFastSwapPreviewProvider10UnregisterEi @ 2 NONAME
-	_ZN26CTsFastSwapPreviewProvider11TakePreviewEv @ 3 NONAME
-	_ZN26CTsFastSwapPreviewProvider12ChangeScreenEi @ 4 NONAME
-	_ZN26CTsFastSwapPreviewProvider15SetPreviewParamERK5TSize12TDisplayMode @ 5 NONAME
-	_ZN26CTsFastSwapPreviewProvider4NewLER26MTsFastSwapPreviewObserver @ 6 NONAME
-	_ZN26CTsFastSwapPreviewProvider8RegisterEi @ 7 NONAME
-	_ZN26CTsFastSwapPreviewProviderD0Ev @ 8 NONAME
-	_ZN26CTsFastSwapPreviewProviderD1Ev @ 9 NONAME
-	_ZN26CTsFastSwapPreviewProviderD2Ev @ 10 NONAME
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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:  bld.inf
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/tsfastswappreviewprovider.iby    CORE_MW_LAYER_IBY_EXPORT_PATH(tsfastswappreviewprovider.iby)
-../inc/tspreviewprovider.h |../../inc/tspreviewprovider.h
-../inc/tspreviewobserver.h |../../inc/tspreviewobserver.h
-
-PRJ_MMPFILES
-previewprovider.mmp
-
-#include "../wsplugin/group/bld.inf"
--- a/taskswitcher/contextengine/tsfswpreviewprovider/group/previewprovider.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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:  MMP file for tspreviewprovider dll
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <defaultcaps.hrh>
-
-TARGET         tspreviewprovider.dll
-TARGETTYPE     DLL 
-UID            0x1000008D 0x20016BEB
-CAPABILITY     CAP_CLIENT_DLL
-VENDORID       VID_DEFAULT
-
-USERINCLUDE    ../inc
-USERINCLUDE    ../../trace
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH     ../src
-SOURCE         tspreviewprovider.cpp
-SOURCE         tspreviewproviderclient.cpp
-SOURCE         tspropertylistener.cpp
-
-LIBRARY        euser.lib
-LIBRARY        ws32.lib
-LIBRARY        estor.lib 
-DEBUGLIBRARY   flogger.lib
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* 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:  Message types for preview plugin
-*
-*/
-
-
-#ifndef PREVIEWMSG_H
-#define PREVIEWMSG_H
-
-namespace NPreviewMsg
-    {
-    /**
-     * Messages that are sent between PreviewProviderClient and PreviewProvider
-     * ECOM plugin via window server. 
-     */
-    enum 
-        {
-        // From PreviewProviderClient to PreviewProvider ECOM plugin. 
-        ENone,
-        ERegister,
-        EUnregister,
-        EChangeScreen,
-        ESetPreviewParam,
-        ETakePreview,
-        
-        // From PreviewProvider ECOM plugin to PreviewProviderClient. 
-        EPreviewReady,
-        EAckPreviewReady,
-        EUnregisterReady
-        };
-    }
-
-#endif // PREVIEWMSG_H
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewproviderlogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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:  Header file used for logging
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERLOGGING_H
-#define PREVIEWPROVIDERLOGGING_H
-
-_LIT( KTsLogFile, "tspreviewprovider.txt" );
-_LIT( KTsLogPath, "tspreviewprovider" );
-#define _TSLOG_LOG_COMPONENT_ID 6715359
-//#define _TSLOG_RDEBUG
-
-#include <e32debug.h>
-#include "tslogging.h"
-
-#endif // PREVIEWPROVIDERLOGGING_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tsfastswappreviewproviderlogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for tsfastswappreviewprovider
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfastswappreviewprovider.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x20016BEC
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* 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:  Preview provider API
-*
-*/
-
-
-#ifndef TSPREVIEWOBSERVER_H
-#define TSPREVIEWOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * Observer for preview screenshot changes. Client must implement this and 
- * register itself when calling CTsFastSwapPreviewProvider::NewL. Callback
- * methods are called whenever there is a new preview screenshot taken from
- * the applications or when an application is exited.
- *
- * @see CTsFastSwapPreviewProvider
- */
-class MTsFastSwapPreviewObserver
-    {
-public:
-
-    /**
-     * Called when application has changed and screenshot has been taken. 
-     * New sceenshots will be taken and provided to the client via this 
-     * callback every time the application goes to background.
-     *
-     * @param aWgId Window group id of the application.
-     * @param aFbsHandle Handle to screenshot CFbsBitmap.
-     */         
-    virtual void HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle ) = 0;
-    
-    /**
-     * Called when application has been exited. Client can free the resources
-     * related to aWgId (for example a copied bitmap) since the application is
-     * no more running.
-     *
-     * @param aWgId Window group id of the application.
-     */         
-    virtual void HandleFswPpApplicationUnregistered( TInt aWgId ) = 0;    
-    };
-
-#endif // TSPREVIEWOBSERVER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewprovider.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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:  Preview provider API
-*
-*/
-
-
-#ifndef TSFASTSWAPPREVIEWPROVIDER_H
-#define TSFASTSWAPPREVIEWPROVIDER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <gdi.h>
-
-// FORWARD DECLARATIONS
-class CTsFastSwapPreviewProviderClient;
-class MTsFastSwapPreviewObserver;
-
-/**
- * Preview provider API class. Applications (window groups) must be
- * registered before screenshots can be received. Also, closed apps
- * should be unregistered to save resources.
- * TakePreview() can be called to take a screenshot right away.
- * A client needing notifications has to create an instance
- * so that screenshots can be delivered to it via MTsFastSwapPreviewObserver.
- *
- * @see MTsFastSwapPreviewObserver
- * @lib tspreviewprovider.lib
- */
-NONSHARABLE_CLASS( CTsFastSwapPreviewProvider ) : public CBase
-    {
-public:
-
-    /**
-     * Two phased constructor.
-     * @see MTsFastSwapPreviewObserver
-     *
-     * @param aObs Observer.     
-     */   
-    IMPORT_C static CTsFastSwapPreviewProvider* NewL(
-        MTsFastSwapPreviewObserver& aObs );
-    
-    /**
-     * Destructor.
-     */   
-    IMPORT_C ~CTsFastSwapPreviewProvider();
-    
-    /**
-     * Registers window group for screenshots.
-     *
-     * @param aWgId Window group id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt Register( TInt aWgId );
-    
-    /**
-     * Unregisters window group.
-     *
-     * @param aWgId Window group id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt Unregister( TInt aWgId );
-    
-    /**
-     * Change screen.
-     *
-     * @param aScreenId Screen id.
-     * @return Error code.     
-     */       
-    IMPORT_C TInt ChangeScreen( TInt aScreenId );
-    
-    /**
-     * Defines the dimensions and format of the screenshots.
-     * @see TDisplayMode.
-     *
-     * @param aSize Size to be used for the preview screenshots.
-     * @param aMode Color depth to be used for the preview screenshots.
-     * @return Error code.
-     */       
-    IMPORT_C TInt SetPreviewParam( const TSize& aSize, TDisplayMode aMode );
-    
-    /**
-     * Takes a screenshot.
-     * 
-     * @return Error code.     
-     */       
-    IMPORT_C TInt TakePreview();
-    
-    /**
-     * Ack preview ready message
-     */
-    IMPORT_C void AckPreview( TInt aPreviewId );
-    
-private:
-
-    /**
-     * C++ constructor.
-     */   
-    CTsFastSwapPreviewProvider();
-    
-    /**
-     * 2nd phase constructor.
-     *
-     * @param aObs Observer.
-     */       
-    void ConstructL( MTsFastSwapPreviewObserver& aObs );
-       
-private:    
-
-    /**
-     * Implementation class.
-     */   
-    CTsFastSwapPreviewProviderClient* iClient;
-    };
-
-#endif // TSFASTSWAPPREVIEWPROVIDER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewproviderclient.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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".
-*/
-
-#ifndef TSFASTSWAPPREVIEWPROVIDERCLIENT_H
-#define TSFASTSWAPPREVIEWPROVIDERCLIENT_H
-
-#include <e32base.h>
-#include <w32std.h>
-#include "tspreviewobserver.h"
-
-class CTsPropertyListener;
-
-/**
- * CTsFastSwapPreviewProviderClient
- */
-NONSHARABLE_CLASS( CTsFastSwapPreviewProviderClient ) : public CWsGraphic
-    {
-public:
-    CTsFastSwapPreviewProviderClient( MTsFastSwapPreviewObserver& aObs );
-    void ConstructL();
-    void Register( TInt aWgId );
-    void Unregister( TInt aWgId );
-    void ChangeScreen( TInt aScreenNo );
-    void SetPreviewParam( const TSize& aSize, TDisplayMode aMode );
-    void TakePreview();
-    void AckPreview( TInt aPreviewId );
-    virtual ~CTsFastSwapPreviewProviderClient();
-private:
-    void HandleMessage( const TDesC8& aData );
-    void OnReplace();
-private:
-    void DoHandleMessageL( const TDesC8& aData );
-    void SetProperties( TInt aHandle, TInt aWgId, TInt aOp );
-private:
-    MTsFastSwapPreviewObserver& iObs;
-    CTsPropertyListener* iListener;
-    };
-
-#endif // TSPREVIEWPROVIDERCLIENT_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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".
-*/
-
-
-#ifndef TSPROPERTYLISTENER_H
-#define TSPROPERTYLISTENER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-#include "tspreviewobserver.h"
-
-// Publish & subscribe UID (akncapserver.exe SID so that it can define the keys)
-const TUid KPSUidPreviewProvider = { 0x10207218 };
-
-// P&S keys
-const TUint32 KPSKeyWgId = 0x20016BE1;
-const TUint32 KPSKeyFbsBitmapId = 0x20016BE2;
-const TUint32 KPSKeyOperation = 0x20016BE3;
-/**
- * Operation which will be done after P&S keys have changed.
- */
-enum TPreviewOperation
-    {
-    EOperationNone,
-    EOperationUnregister,
-    EOperationBitmapUpdated
-    };
-
-/**
- * CPropertyListener
- */
-NONSHARABLE_CLASS( CTsPropertyListener ) : public CActive
-    {
-public:
-    static CTsPropertyListener* NewL( MTsFastSwapPreviewObserver& aObs );
-    virtual ~CTsPropertyListener();
-    
-protected:
-    CTsPropertyListener( MTsFastSwapPreviewObserver& aObs );
-    void ConstructL();  
-
-private: // From CActive
-    void RunL();
-    void DoCancel();
-    
-private:    
-    void ReadPropertiesL();
-    void DefinePropertyL( TInt aPSKey ); 
-    void Subscribe();
-
-private:
-    MTsFastSwapPreviewObserver& iObs;
-    RProperty iProperty;
-   
-    TInt iWgId;
-    TInt iFbsBitmapId;
-    
-    TPreviewOperation iOperation;
-    };
-
-#endif // TSPROPERTYLISTENER_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/rom/tsfastswappreviewprovider.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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:  IBY file
-*
-*/
-
-
-#ifndef TSFASTSWAPPREVIEWPROVIDER_IBY
-#define TSFASTSWAPPREVIEWPROVIDER_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-// fsw preview
-ECOM_PLUGIN( 20016BEC.DLL, 20016BEC.rsc )
-file=ABI_DIR/BUILD_DIR/tspreviewprovider.dll    SHARED_LIB_DIR/tspreviewprovider.dll
-
-#endif // TSFASTSWAPPREVIEWPROVIDER_IBY
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewprovider.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* 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:  Preview provider API
-*
-*/
-
-
-#include "tspreviewprovider.h"
-#include "previewproviderlogging.h"
-#include "tspreviewproviderclient.h"
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFastSwapPreviewProvider* CTsFastSwapPreviewProvider::NewL(
-        MTsFastSwapPreviewObserver& aObs)
-    {
-    CTsFastSwapPreviewProvider* p = new (ELeave) CTsFastSwapPreviewProvider();
-    CleanupStack::PushL( p );
-    p->ConstructL( aObs );
-    CleanupStack::Pop( p );
-    return p;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFastSwapPreviewProvider::~CTsFastSwapPreviewProvider()
-    {
-    if ( iClient )
-        {
-        iClient->Destroy();
-        }
-    delete iClient;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::Register
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::Register( TInt aWgId )
-    {
-    iClient->Register( aWgId );
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::Unregister
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::Unregister( TInt aWgId )    
-    {
-    iClient->Unregister( aWgId );
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::ChangeScreen
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::ChangeScreen( TInt aScreenId )
-    {
-    iClient->ChangeScreen( aScreenId );
-    return KErrNone;
-    }    
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::SetPreviewParam
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFastSwapPreviewProvider::SetPreviewParam(const TSize& aSize,
-        TDisplayMode aMode)
-    {
-    TSLOG_CONTEXT( SetPreviewParam, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt error( KErrNone );
-    
-    if ( aMode == ENone || aMode == EColor64K )
-        {
-        iClient->SetPreviewParam( aSize, aMode );        
-        }
-    else
-        {
-        error = KErrNotSupported;
-        }
-   
-    TSLOG_OUT();
-    return error;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::TakePreview
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TInt CTsFastSwapPreviewProvider::TakePreview()
-    {
-    // Reset timer for screensaver (dismiss screensaver)
-    User::ResetInactivityTime(); 
-           
-    iClient->TakePreview();
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::AckPreview
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFastSwapPreviewProvider::AckPreview( TInt aPreviewId )
-    {
-    iClient->AckPreview( aPreviewId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//    
-CTsFastSwapPreviewProvider::CTsFastSwapPreviewProvider()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProvider::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProvider::ConstructL( MTsFastSwapPreviewObserver& aObs )
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    iClient = new ( ELeave ) CTsFastSwapPreviewProviderClient( aObs );
-    iClient->ConstructL();
-    
-    TSLOG_OUT();
-    }
-
-// End of file
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* 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".
-*
-*/
-
-#include "tspreviewproviderclient.h"
-#include "previewproviderlogging.h"
-#include "tspropertylistener.h"
-#include "previewmsg.h"
-
-#include <s32mem.h>
-
-#define SZ( x ) ( sizeof( x ) / sizeof( TInt ) )
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::CTsFastSwapPreviewProviderClient
-// --------------------------------------------------------------------------
-//
-CTsFastSwapPreviewProviderClient::CTsFastSwapPreviewProviderClient(
-        MTsFastSwapPreviewObserver& aObs ) : iObs( aObs )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::~CTsFastSwapPreviewProviderClient
-// --------------------------------------------------------------------------
-//
-CTsFastSwapPreviewProviderClient::~CTsFastSwapPreviewProviderClient()
-    {
-    delete iListener;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::ConstructL()
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    const TUid id = { 0x20016BEC };
-    BaseConstructL( id, KNullDesC8 );
-    iListener = CTsPropertyListener::NewL( iObs );
-    
-    TSLOG_OUT();        
-    }    
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::Register
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::Register( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Register, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::ERegister,
-        aWgId
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::Unregister
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::Unregister( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Unregister, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    const TInt msg[] = {
-        NPreviewMsg::EUnregister,
-        aWgId
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::ChangeScreen
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::ChangeScreen( TInt aScreenNo )
-    {
-    TSLOG_CONTEXT( ChangeScreen, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::EChangeScreen,
-        aScreenNo
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();     
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::SetPreviewParam
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::SetPreviewParam(const TSize& aSize,
-        TDisplayMode aMode)
-    {
-    TSLOG_CONTEXT( SetPreviewParam, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-        NPreviewMsg::ESetPreviewParam,
-        aSize.iWidth,
-        aSize.iHeight,
-        static_cast<TInt>(aMode)
-        };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::TakePreview 
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::TakePreview()
-    {
-    TSLOG_CONTEXT( TakePreview, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TPckgC<TInt> buf(NPreviewMsg::ETakePreview);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();      
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::AckPreview 
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::AckPreview( TInt aPreviwId )
-    {
-    TSLOG_CONTEXT( TakePreview, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = { NPreviewMsg::EAckPreviewReady,
-                         aPreviwId };
-    TPckgC<TInt[SZ(msg)]> buf(msg);
-    SendMessage(buf);
-    Flush();
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::HandleMessage
-// --------------------------------------------------------------------------
-//    
-void CTsFastSwapPreviewProviderClient::HandleMessage( const TDesC8& aData )
-    {
-    TRAP_IGNORE(DoHandleMessageL(aData));
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::DoHandleMessageL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::DoHandleMessageL( const TDesC8& aData )
-    {
-    TSLOG_CONTEXT( DoHandleMessageL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    RDesReadStream in( aData );
-    TInt message = in.ReadInt32L();
-    switch ( message )
-        {
-        case NPreviewMsg::EPreviewReady:
-            {
-            const TInt id = in.ReadInt32L();
-            const TInt handle = in.ReadInt32L();    
-            SetProperties( handle, id, EOperationBitmapUpdated );
-            }
-            break;
-        case NPreviewMsg::EUnregisterReady:
-            {
-            const TInt id = in.ReadInt32L();
-            const TInt handle = in.ReadInt32L();
-            SetProperties( handle, id, EOperationUnregister );
-            }
-            break;
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::SetProperties
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::SetProperties(TInt aHandle, TInt aWgId,
-        TInt aOp)
-    {
-    // Notify CPropertyListener via P&S
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyFbsBitmapId, aHandle );
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyOperation, aOp );
-    // KPSKeyWgId should be notified first since that is being listened 
-    // by CPropertyListener 
-    RProperty::Set( KPSUidPreviewProvider, KPSKeyWgId, aWgId );    
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapPreviewProviderClient::OnReplace
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapPreviewProviderClient::OnReplace()
-    {
-    }
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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".
-*/
-
-#include "tspropertylistener.h"
-#include "previewproviderlogging.h"
-
-
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::~CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener::~CTsPropertyListener()
-    {
-    Cancel();
-    iProperty.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::CTsPropertyListener
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener::CTsPropertyListener( MTsFastSwapPreviewObserver& aObs ) : 
-    CActive( CActive::EPriorityHigh ), iObs( aObs )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::NewL
-// --------------------------------------------------------------------------
-//
-CTsPropertyListener* CTsPropertyListener::NewL( MTsFastSwapPreviewObserver& aObs )
-    {
-    CTsPropertyListener* self = new ( ELeave ) CTsPropertyListener( aObs );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::RunL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::RunL()
-    {
-    // Resubscribe before processing new value to prevent missing updates
-    Subscribe();
-    
-    // Read all properties to member variables
-    ReadPropertiesL();
-    
-    // Do the callback
-    switch( iOperation )
-        {
-        case EOperationUnregister:
-            {
-            iObs.HandleFswPpApplicationUnregistered( iWgId );
-            break;            
-            }        
-        case EOperationBitmapUpdated:
-            {
-            iObs.HandleFswPpApplicationChange( iWgId, iFbsBitmapId );
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::ReadProperties
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::ReadPropertiesL()
-    {
-    // Read all properties
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyWgId, iWgId ) );
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyFbsBitmapId, iFbsBitmapId ) );
-    TInt operation( 0 );
-    User::LeaveIfError( iProperty.Get( KPSUidPreviewProvider, KPSKeyOperation, operation ) );
-    iOperation = static_cast<TPreviewOperation>( operation );    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::DefinePropertyL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::DefinePropertyL( TInt aPSKey )
-    {
-    TInt err = RProperty::Define( KPSUidPreviewProvider, aPSKey, RProperty::EInt );
-    // Don't mind the already exists error
-    if ( err != KErrAlreadyExists && err != KErrPermissionDenied )
-        {
-        User::LeaveIfError( err );
-        }    
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::Subscribe
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::Subscribe()
-    {
-    iProperty.Subscribe( iStatus );
-    SetActive();  
-    }
-
-// --------------------------------------------------------------------------
-// CTsPropertyListener::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsPropertyListener::ConstructL()
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    DefinePropertyL( KPSKeyWgId );
-    DefinePropertyL( KPSKeyFbsBitmapId );
-    DefinePropertyL( KPSKeyOperation );
-    
-    User::LeaveIfError( iProperty.Attach( KPSUidPreviewProvider, KPSKeyWgId ) );
-    CActiveScheduler::Add( this );
-    
-    // initial subscription
-    Subscribe();
-    
-    TSLOG_OUT();
-    }
-
-// End of file
-
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* 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:  bld.inf
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-previewprovidercrp.mmp
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/group/previewprovidercrp.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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:  MMP file for preview provider ECOM plugin
-*
-*/
-
-#include <platform_paths.hrh>
-#include <defaultcaps.hrh>
-
-TARGET          20016BEC.DLL
-TARGETTYPE      PLUGIN 
-UID             0x10009D8D 0x20016BEC
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-OPTION_REPLACE  ARMCC --arm -O3 --cpu 6
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../trace
-
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../src
-SOURCE          previewprovidercrp.cpp
-
-RESOURCE        20016BEC.rss
-
-LIBRARY         ecom.lib
-LIBRARY         euser.lib
-LIBRARY         wsgraphicdrawer.lib
-LIBRARY         fbscli.lib
-LIBRARY         estor.lib 
-LIBRARY         gdi.lib 
-DEBUGLIBRARY    flogger.lib
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-/*
-* 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:  Preview provider ECOM plugin
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERCRP_H
-#define PREVIEWPROVIDERCRP_H
-
-// INCLUDES
-#include <w32std.h>
-#include <graphics/wsgraphicdrawerinterface.h>
-#include <graphics/wsgraphicdrawer.h>
-
-// Number of screenshots used at the same time,
-// each window group change will cause a screenshot
-// to one of these, the index for the current one is
-// switched after each screenshot capture. (this is needed
-// to prevent overwriting screenshots before the client could
-// make a copy of them)
-const TInt KMaxShots = 4;
-
-/**
- * Preview provider window server ECOM plugin class.
- */
-NONSHARABLE_CLASS( CPreviewProviderCRP ) : public CWsGraphicDrawer, 
-                                           public MWsEventHandler 
-    {
-public:
-
-    /**
-     * Creates a new instance of the plguin.
-     *
-     * @return Created instance.
-     */ 
-    static CWsGraphicDrawer* CreateL();
-    
-    /**
-     * Destructor
-     */ 
-    ~CPreviewProviderCRP();
-    
-private:
-
-    /**
-     * From CWsGraphicDrawer.
-     *
-     * @param aGc
-     * @param aRect
-     * @param aData
-     */ 
-    void DoDraw( MWsGc& aGc, const TRect& aRect, const TDesC8& aData ) const;
-    
-    /**
-     * Handles message from PreviewProviderClient.
-     *
-     * @param aData Message data.
-     */ 
-    void HandleMessage( const TDesC8& aData );
-
-    /**
-     * 2nd phase constructor.
-     *
-     * @param aEnv
-     * @param aId
-     * @param aOwner
-     * @param aData
-     */     
-    void ConstructL( MWsGraphicDrawerEnvironment& aEnv, 
-                     const TGraphicDrawerId& aId, 
-                     MWsClient& aOwner, 
-                     const TDesC8& aData );
-    
-    /**
-     * From MWsEventHandler.
-     * 
-     * Observer for TWservCrEvent::EWindowGroupChanged to take the screenshot
-     * when application changes.
-     *
-     * @param aEvent
-     */     
-    void DoHandleEvent( const TWservCrEvent& aEvent );
-    
-private:
-
-    /**
-     * 2nd phase constructor.
-     */ 
-    void ConstructL();
-    
-    /**
-     * Handles application registration.
-     *
-     * @param aWgId Window group id.
-     */ 
-    void Register( TInt aWgId );
-    
-    /**
-     * Handler application unregistration.
-     *
-     * @param aWgId Window group id.
-     */     
-    void Unregister( TInt aWgId );
-    
-    /*
-     * Allocate resources and take screenshot
-     */
-    void ScreenshotL();
-    
-    /**
-     * Takes the screenshot.
-     */     
-    void ScreenshotL( CFbsBitmap& aBitmap );
-    
-    /**
-     * Remove bitmap reference fom list
-     */
-    void RemoveScreenshot( TInt aBitmapHandle );
-    
-    /**
-     * Remove all bitmaps overflow
-     */
-    void CheckOverflow();
-    
-    /**
-     * Handles message from PreviewProviderClient.
-     *
-     * @param aData Message data.
-     */     
-    void DoHandleMessageL( const TDesC8& aData );
-    
-    /**
-     * Notifies the PreviewProviderClient when screenshot is ready for copying.
-     */     
-    void ScaleCompleteL(const CFbsBitmap& aBitmap);
-    
-    /**
-     * Notifies the PreviewProviderClient when an application has been exited.
-     */
-    void UnregisterComplete( TInt aWgId );
-    
-    /**
-     * Uses window server front buffer to create a screenshot.
-     * @param aFront preallocated destination bitmap
-     * @param aFront Front buffer. 
-     * @param aSrcSize Size of the source front buffer in pixels.
-     * @param aSrcStride Source stride.
-     */
-    void FrontBufferScreenShot(
-        CFbsBitmap& aBitmap,
-        MWsFrontBuffer& aFront, const TSize& aSrcSize, TInt aSrcStride );  
-    
-private:
-    TInt iScreen;
-    TInt iPrevId;
-    TInt iPrevReg; // to work around the problem with wgid not set when app brought 
-                   // to foreground first time
-    RPointerArray<CFbsBitmap> iScreenshots;
-    TSize iScreenshotSize;
-    TDisplayMode iScreenshotMode;
-    RArray<TInt> iWgIds;
-    };
-
-#endif // PREVIEWPROVIDERCRP_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrplogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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:  Header file used for logging
-*
-*/
-
-
-#ifndef PREVIEWPROVIDERCRPLOGGING_H
-#define PREVIEWPROVIDERCRPLOGGING_H
-
-_LIT( KTsLogFile, "tspreviewprovidercrp.txt" );
-_LIT( KTsLogPath, "tspreviewprovider" );
-#define _TSLOG_LOG_COMPONENT_ID 6715358
-//#define _TSLOG_RDEBUG
-
-#include <e32debug.h>
-#include "tslogging.h"
-
-#endif // PREVIEWPROVIDERCRPLOGGING_H
-
-// End of file
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/20016BEC.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* 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:  ECOM registration file
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid = 0x20016BEC;
-	interfaces =
-		{
-		INTERFACE_INFO
-			{
-			interface_uid = 0x10281924;
-			implementations =
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid = 0x20016BEC;
-					version_no = 1;
-					display_name = "previewprovider";
-					default_data = "";
-					opaque_data = "";
-					}
-				};
-			}
-		};
-	}
--- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-/*
-* 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:  Preview provider ECOM plugin
-*
-*/
-
-
-#include <bldvariant.hrh>
-#ifdef SYMBIAN_BUILD_GCE
-#define NGA
-#endif
-
-#include "previewprovidercrp.h"
-#include "previewmsg.h"
-#include "previewprovidercrplogging.h"
-#include <ecom/implementationproxy.h>
-#include <s32mem.h> //RDesReadStream
-
-#ifdef NGA
-#include <graphics/wsscreendevice.h>
-#endif
-
-// CONSTANTS
-const TInt KImpId( 0x20016BEC );
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::CreateL
-// --------------------------------------------------------------------------
-//
-CWsGraphicDrawer* CPreviewProviderCRP::CreateL()
-    {
-    CPreviewProviderCRP* crp = new (ELeave) CPreviewProviderCRP();
-    CleanupStack::PushL( crp );
-    crp->ConstructL();
-    CleanupStack::Pop( crp );
-    return crp;
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ConstructL()
-    { 
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::~CPreviewProviderCRP
-// --------------------------------------------------------------------------
-//    
-CPreviewProviderCRP::~CPreviewProviderCRP()    
-    {
-    Env().UnregisterEventHandler( this );
-    iScreenshots.ResetAndDestroy();
-    iWgIds.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoDraw
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::DoDraw( MWsGc& /*aGc*/, const TRect& /*aRect*/, 
-    const TDesC8& /*aData*/) const
-    {
-    //draws nothing
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::HandleMessage
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::HandleMessage( const TDesC8& aData )
-    {
-    TRAP_IGNORE( DoHandleMessageL( aData ) );
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoHandleMessageL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::DoHandleMessageL( const TDesC8& aData )
-    {  
-    TSLOG_CONTEXT( DoHandleMessageL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    RDesReadStream in( aData );
-    switch( in.ReadInt32L() )
-        {
-        case NPreviewMsg::ERegister:
-            {
-            const TInt id = in.ReadInt32L();
-            Register( id );
-            }
-            break;
-        case NPreviewMsg::EUnregister:
-            {
-            const TInt id = in.ReadInt32L();
-            Unregister( id );
-            }
-            break;
-        case NPreviewMsg::EChangeScreen:
-            {
-            const TInt screen = in.ReadInt32L();
-            if ( Env().ScreenCount() )
-                {
-                iScreen = screen;
-                }
-            }
-            break;
-        case NPreviewMsg::ESetPreviewParam:
-            iScreenshotSize.iWidth = in.ReadInt32L();
-            iScreenshotSize.iHeight = in.ReadInt32L();
-            iScreenshotMode = static_cast<TDisplayMode>( in.ReadInt32L() );
-            break;
-        case NPreviewMsg::ETakePreview:
-            ScreenshotL();
-            break;
-        case NPreviewMsg::EAckPreviewReady:
-            RemoveScreenshot( in.ReadInt32L() );
-            break;
-        }
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ConstructL( MWsGraphicDrawerEnvironment& aEnv,
-    const TGraphicDrawerId& aId, MWsClient& aOwner, const TDesC8& /*aData*/ )
-    {
-    TSLOG_CONTEXT( ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    BaseConstructL( aEnv, aId, aOwner );
-    aEnv.RegisterEventHandler( this, this, TWservCrEvent::EWindowGroupChanged );
-    
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::DoHandleEvent
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::DoHandleEvent( const TWservCrEvent& aEvent )
-    {
-    TSLOG_CONTEXT( DoHandleEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( aEvent.Type() == TWservCrEvent::EWindowGroupChanged )
-        {
-        const TInt wgId = aEvent.WindowGroupIdentifier();
-        if ( iWgIds.FindInOrder( iPrevId ) >= 0 ||
-            ( iPrevId == 0 &&  iPrevReg != 0 ) )
-            {
-            TRAP_IGNORE( ScreenshotL() );
-            iPrevReg = 0;
-            }
-        iPrevId = wgId;
-        }
-    
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScaleComplete
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::ScaleCompleteL( const CFbsBitmap& aBitmap )
-    {
-    TSLOG_CONTEXT( ScaleComplete, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-            NPreviewMsg::EPreviewReady,
-            iPrevId?iPrevId:iPrevReg,
-            aBitmap.Handle()
-            };
-    TPckgC<TInt[sizeof(msg) / sizeof(TInt)]> buf(msg);
-    User::LeaveIfError( SendMessage( buf ) );
-    TSLOG3( TSLOG_INFO, "size = %dx%d handle = %d",
-        aBitmap.SizeInPixels().iWidth,
-        aBitmap.SizeInPixels().iHeight,
-        aBitmap.Handle() );
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::UnregisterComplete
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::UnregisterComplete( TInt aWgId )
-    {
-    TSLOG_CONTEXT( UnregisterComplete, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt msg[] = {
-            NPreviewMsg::EUnregisterReady,
-            aWgId,
-            0
-            };
-    TPckgC<TInt[sizeof(msg) / sizeof(TInt)]> buf(msg);
-    SendMessage(buf);
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::Register
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::Register( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Register, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    iPrevReg = aWgId;
-    iWgIds.InsertInOrder( aWgId );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::Unregister
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::Unregister( TInt aWgId )
-    {
-    TSLOG_CONTEXT( Unregister, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TInt index = iWgIds.FindInOrder( aWgId );
-    if ( index >= 0 )
-        {
-        iWgIds.Remove( index );
-        }
-    
-    UnregisterComplete( aWgId );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScreenShotL
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::ScreenshotL()
-    {
-    CFbsBitmap* screenshot = new (ELeave)CFbsBitmap();
-    CleanupStack::PushL( screenshot );
-    ScreenshotL( *screenshot );
-    ScaleCompleteL( *screenshot );
-    iScreenshots.InsertL( screenshot, iScreenshots.Count() );
-    CleanupStack::Pop( screenshot );
-    CheckOverflow();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::ScreenShotL
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::ScreenshotL(CFbsBitmap& aBitmap)
-    {
-    TSLOG_CONTEXT( ScreenShot, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if( 0 > iScreen || Env().ScreenCount() <= iScreen )
-        {
-        //screen offset out of range. skip request
-        User::Leave(KErrArgument);
-        }
-    // Find the screen resolution
-    MWsScreenConfig* screenConfig = 
-        Env().Screen( iScreen )->ObjectInterface<MWsScreenConfig>();    
-    
-    const TSize sz = screenConfig->ScreenModeSizeInPixels();
-
-    // Get the screen buffer (containing screenshot data)
-    MWsFrontBuffer* screenFront = 
-        Env().Screen( iScreen )->ObjectInterface<MWsFrontBuffer>();
-    
-    // With NGA we do not support downscaling of the screenshots.
-    // So use the size of the screen if no screenshot size has been explicitly
-    // set or if the old method for taking screenshots is not available.
-    if ( iScreenshotSize.iWidth == 0 || 
-         iScreenshotSize.iHeight == 0 || 
-         !screenFront )
-        {
-        iScreenshotSize = sz;
-        }
-    // Use the the same DisplayMode as for the source image
-    // so override the display mode, ignoring any requests.
-    iScreenshotMode = screenConfig->DisplayMode();
-    
-    TSLOG3( TSLOG_INFO, "iShotSize: %dx%d mode: %d",
-        iScreenshotSize.iWidth, iScreenshotSize.iHeight, iScreenshotMode );
-    
-    aBitmap.Reset();
-    User::LeaveIfError( aBitmap.Create( iScreenshotSize, iScreenshotMode ) );
-  
-    // Check if front buffer is available.
-    // Will always be NULL with NGA.
-    if ( screenFront )
-        {
-        TSLOG0( TSLOG_INFO, "non-NGA, using front buffer" );
-        FrontBufferScreenShot( aBitmap, *screenFront, sz, screenConfig->Stride() );
-        }
-#ifdef NGA
-    else
-        {
-        TSLOG0( TSLOG_INFO, "NGA, using CopyScreenToBitmapL" );
-        MWsScreenDevice* screenDevice = static_cast<MWsScreenDevice*>(
-            Env().Screen( iScreen )->ResolveObjectInterface(
-                MWsScreenDevice::EWsObjectInterfaceId ) );
-        User::LeaveIfNull( screenDevice );
-        screenDevice->CopyScreenToBitmapL( &aBitmap, iScreenshotSize );
-        }
-#endif
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::RemoveScreenshot
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::RemoveScreenshot( TInt aBitmapHandle )
-    {
-    for( int iter(0); iter < iScreenshots.Count(); ++iter )
-        {
-        if( iScreenshots[iter]->Handle() == aBitmapHandle )
-            {
-            delete iScreenshots[iter];
-            iScreenshots.Remove(iter);
-            break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::CheckOverflow
-// --------------------------------------------------------------------------
-//
-void CPreviewProviderCRP::CheckOverflow()
-    {
-    TInt overflow( iScreenshots.Count() - KMaxShots);
-    while( 0 < overflow-- )
-        {
-        delete iScreenshots[0];
-        iScreenshots.Remove(0);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CPreviewProviderCRP::FrontBufferScreenShot
-// --------------------------------------------------------------------------
-//    
-void CPreviewProviderCRP::FrontBufferScreenShot( CFbsBitmap& aBitmap, 
-                                                 MWsFrontBuffer& aFront, 
-                                                 const TSize& aSrcSize, 
-                                                 TInt aSrcStride )
-    {
-    TSLOG_CONTEXT( CPreviewProviderCRP::FrontBufferScreenShot, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    const TUint8* src = static_cast<const TUint8*> ( aFront.GetBits() );
-    TSLOG1( TSLOG_INFO, "src address = [%d]", src );
-        
-    TInt srcstride( aSrcStride );
-    TInt srcwidth( aSrcSize.iWidth );
-    TInt srcheight( aSrcSize.iHeight ); 
-    TInt dststride( aBitmap.DataStride() );
-    TInt dstheight( iScreenshotSize.iHeight );
-    TInt dstwidth( iScreenshotSize.iWidth );
-    TInt stepdst( dststride / dstwidth );
-    TInt stepsrc( srcstride / srcwidth );
-    // scale must be TInt type
-    TInt scaleX( aSrcSize.iWidth / iScreenshotSize.iWidth );
-    TInt scaleY( aSrcSize.iHeight / iScreenshotSize.iHeight );
-    
-    aBitmap.LockHeap();
-    
-    TUint8* dst = ( TUint8* ) aBitmap.DataAddress();
-    
-    TInt minWidth = Min( srcwidth, dstwidth );
-    TInt minHeight = Min( srcheight, dstheight );
-    TInt minStep = Min( stepsrc, stepdst );
-    
-    for ( TInt y = minHeight; y > 0; y-- )
-         {
-         for ( TInt x = minWidth; x > 0; x-- )
-             {
-             Mem::Copy( dst, src, minStep );
-             dst += stepdst;
-             src += scaleX*stepdst;
-             }
-         src += srcstride - scaleX * stepdst * minWidth;
-         src += ( scaleY - 1 ) * srcstride;
-         }
-         
-    aBitmap.UnlockHeap();
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// KImplementationTable
-// --------------------------------------------------------------------------
-//    
-LOCAL_C const TImplementationProxy KImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(KImpId, CPreviewProviderCRP::CreateL)
-    };
-
-// --------------------------------------------------------------------------
-// ImplementationGroupProxy
-// --------------------------------------------------------------------------
-//    
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = (sizeof(KImplementationTable) / sizeof(TImplementationProxy));
-    return KImplementationTable;
-    }
-
-
-// End of file
--- a/taskswitcher/contextengine/tsfswserver/client/bwins/tsfswclientu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?SwitchToApp@CTsFswClient@@QAEXH@Z @ 1 NONAME ; void CTsFswClient::SwitchToApp(int)
-	?GetContentL@CTsFswClient@@QAEXAAV?$RPointerArray@VCTsFswEntry@@@@@Z @ 2 NONAME ; void CTsFswClient::GetContentL(class RPointerArray<class CTsFswEntry> &)
-	?ForegroundAppUid@CTsFswClient@@QAE?AVTUid@@W4TTsFswFgAppType@1@@Z @ 3 NONAME ; class TUid CTsFswClient::ForegroundAppUid(enum CTsFswClient::TTsFswFgAppType)
-	?Subscribe@CTsFswClient@@QAEXAAVMTsFswObserver@@@Z @ 4 NONAME ; void CTsFswClient::Subscribe(class MTsFswObserver &)
-	?NewLC@CTsFswClient@@SAPAV1@XZ @ 5 NONAME ; class CTsFswClient * CTsFswClient::NewLC(void)
-	?CloseApp@CTsFswClient@@QAEXH@Z @ 6 NONAME ; void CTsFswClient::CloseApp(int)
-	?NewL@CTsFswClient@@SAPAV1@XZ @ 7 NONAME ; class CTsFswClient * CTsFswClient::NewL(void)
-	?CancelSubscribe@CTsFswClient@@QAEXXZ @ 8 NONAME ; void CTsFswClient::CancelSubscribe(void)
-
--- a/taskswitcher/contextengine/tsfswserver/client/eabi/tsfswclientu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	_ZN12CTsFswClient11GetContentLER13RPointerArrayI11CTsFswEntryE @ 1 NONAME
-	_ZN12CTsFswClient11SwitchToAppEi @ 2 NONAME
-	_ZN12CTsFswClient15CancelSubscribeEv @ 3 NONAME
-	_ZN12CTsFswClient16ForegroundAppUidENS_15TTsFswFgAppTypeE @ 4 NONAME
-	_ZN12CTsFswClient4NewLEv @ 5 NONAME
-	_ZN12CTsFswClient5NewLCEv @ 6 NONAME
-	_ZN12CTsFswClient8CloseAppEi @ 7 NONAME
-	_ZN12CTsFswClient9SubscribeER14MTsFswObserver @ 8 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/client/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* 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:  build info file for client dll
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswclient.h |../../../inc/tsfswclient.h
-../inc/tsfswclientobserver.h |../../../inc/tsfswclientobserver.h
-
-PRJ_MMPFILES
-tsfswclient.mmp
--- a/taskswitcher/contextengine/tsfswserver/client/group/tsfswclient.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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:  client dll
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswclient.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE          tsfswclient.cpp
-SOURCE          tsfswclientimpl.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../trace
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-
-LIBRARY tsfswutils.lib
-
-DEBUGLIBRARY flogger.lib
--- a/taskswitcher/contextengine/tsfswserver/client/inc/clientlogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for client
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswclient.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-#endif
-
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclient.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENT_H
-#define TSFSWCLIENT_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-class CTsFswClientImpl;
-
-/**
- * Client API for the Huriganes Fast Swap Server.
- */    
-NONSHARABLE_CLASS( CTsFswClient ) : public CBase
-    {
-public:
-    /**
-     * Possible values for aType argument of ForegroundAppUid().
-     */
-    enum TTsFswFgAppType
-        {
-        /**
-         * Means that even when the foreground app has another app embedded
-         * into it the uid of the container application will be returned.
-         */
-        EUseStandaloneUid,
-        /**
-         * Means that if the foreground app has another app embedded
-         * into it then the returned uid will be the uid of the embedded
-         * app.
-         */
-        EUseEmbeddedUid
-        };
-
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewL();
-    
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewLC();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswClient();
-    
-    /**
-     * Queries the fast swap content from the server and
-     * copies it into the given array.
-     * Previous content of the array is removed (by using ResetAndDestroy).
-     * @param   aDst    array to which data is stored
-     * @capability LocalServices
-     */
-    IMPORT_C void GetContentL( RTsFswArray& aDst );
-    
-    /**
-     * Subscribes for continuous notifications about changes in the
-     * fast swap content.
-     * The notifications are generated until CancelSubscribe is called
-     * or the instance is destroyed.
-     * @capability LocalServices
-     */
-    IMPORT_C void Subscribe( MTsFswObserver& aObserver );
-    
-    /**
-     * Cancels the subscription for change notifications.
-     * @capability LocalServices
-     */
-    IMPORT_C void CancelSubscribe();
-    
-    /**
-     * Tries to close the application with the given id.
-     * @capability LocalServices
-     */
-    IMPORT_C void CloseApp( TInt aWgId );
-    
-    /**
-     * Brings the application with the given id into foreground.
-     * @capability LocalServices
-     */
-    IMPORT_C void SwitchToApp( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid if something goes wrong.
-     *
-     * Will never return hidden apps, only those which can also be seen in the
-     * array returned by GetContentL.
-     *
-     * However the handling of embedded applications might be different:
-     * (as opposed to GetContentL)
-     * If aType == EUseEmbeddedUid:
-     *   This function will always return the embedded application's uid, unlike
-     *   GetContentL which will always refer to the container app (except for the
-     *   screenshot of course). This means that the returned uid is simply the
-     *   uid belonging to the first (non-hidden, etc.) window group from the window group list.
-     * If aType == EUseStandaloneUid:
-     *   Embedded applications are ignored and the returned uid is the app uid belonging
-     *   to the first parentless window group.
-     */
-    IMPORT_C TUid ForegroundAppUid( TTsFswFgAppType aType );
-
-private:
-    CTsFswClient();
-    void ConstructL();
-
-    CTsFswClientImpl* iImpl;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientimpl.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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:  Client API, private implementation
- *
-*/
-
-
-#ifndef TSFSWCLIENTIMPL_H
-#define TSFSWCLIENTIMPL_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-    
-NONSHARABLE_CLASS( CTsFswClientImpl ) : public CActive
-    {
-public:
-    static CTsFswClientImpl* NewL();
-    static CTsFswClientImpl* NewLC();
-    ~CTsFswClientImpl();
-    
-    void GetContentL( RTsFswArray& aDst );
-    
-    void Subscribe( MTsFswObserver& aObserver );
-    void CancelSubscribe();
-    
-    void CloseApp( TInt aWgId );
-    void SwitchToApp( TInt aWgId );
-
-    TUid ForegroundAppUid( TInt aType );
-
-private:
-    void RunL();
-    void DoCancel();
-
-private:
-    CTsFswClientImpl();
-    void ConstructL();
-
-    NONSHARABLE_CLASS( RTsFswClient ) : public RSessionBase
-        {
-    public:
-        TInt Connect();
-        void Subscribe( TRequestStatus& aStatus );
-        void CancelSubscribe();
-        void GetContentL( RTsFswArray& aDst );
-        void CloseApp( TInt aWgId );
-        void SwitchToApp( TInt aWgId );
-        TUid ForegroundAppUid( TInt aType );
-        };
-    RTsFswClient iClient;
-    
-    MTsFswObserver* iObserver; // not own
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/inc/tsfswclientobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENTOBSERVER_H
-#define TSFSWCLIENTOBSERVER_H
-
-#include <e32base.h>
-
-/**
- * Observer interface for getting notifications about fast swap content changes.
- */
-class MTsFswObserver
-    {
-public:
-    /**
-     * Called when there is a change in the fast swap content.
-     * The data can be queried via CTsFswClient::GetContentL
-     */
-    virtual void HandleFswContentChanged() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/client/src/tsfswclient.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +0,0 @@
-/*
-* 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:  Client API
- *
-*/
-
-
-#include "tsfswclient.h"
-#include "tsfswclientimpl.h"
-
-// --------------------------------------------------------------------------
-// CTsFswClient::NewL
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFswClient* CTsFswClient::NewL()
-    {
-    CTsFswClient* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::NewLC
-// --------------------------------------------------------------------------
-//    
-EXPORT_C CTsFswClient* CTsFswClient::NewLC()
-    {
-    CTsFswClient* self = new ( ELeave ) CTsFswClient;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CTsFswClient
-// --------------------------------------------------------------------------
-//    
-CTsFswClient::CTsFswClient()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::~CTsFswClient
-// --------------------------------------------------------------------------
-//    
-CTsFswClient::~CTsFswClient()
-    {
-    delete iImpl;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CTsFswClient::ConstructL()
-    {
-    iImpl = CTsFswClientImpl::NewL();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::GetContentL
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::GetContentL( RTsFswArray& aDst )
-    {
-    iImpl->GetContentL( aDst );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::Subscribe
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::Subscribe( MTsFswObserver& aObserver )
-    {
-    iImpl->Subscribe( aObserver );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CancelSubscribe
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::CancelSubscribe()
-    {
-    iImpl->CancelSubscribe();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::CloseApp
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::CloseApp( TInt aWgId )
-    {
-    iImpl->CloseApp( aWgId );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClient::SwitchToApp
-// --------------------------------------------------------------------------
-//    
-EXPORT_C void CTsFswClient::SwitchToApp( TInt aWgId )
-    {
-    iImpl->SwitchToApp( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClient::ForegroundAppUid
-// --------------------------------------------------------------------------
-//    
-EXPORT_C TUid CTsFswClient::ForegroundAppUid( TTsFswFgAppType aType )
-    {
-    return iImpl->ForegroundAppUid( aType );
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/client/src/tsfswclientimpl.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*
-* 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:  Client API, private implementation
- *
-*/
-
-
-#include "tsfswclientimpl.h"
-#include "tsfswclientobserver.h"
-#include "tsfswcommon.h"
-#include <s32mem.h>
-
-#include "clientlogging.h"
-
-// --------------------------------------------------------------------------
-// StartServer
-// --------------------------------------------------------------------------
-//   
-static TInt StartServer()
-    {
-    RProcess server;
-    const TUidType uid( KNullUid, KNullUid, KTsFswServerUid );
-    TInt err = server.Create( KTsFswServerImg, KNullDesC, uid );
-    if ( err != KErrNone )
-        {
-        return err;
-        }
-    TRequestStatus stat;
-    server.Rendezvous( stat );
-    if ( stat != KRequestPending )
-        {
-        server.Kill( 0 );
-        }
-    else
-        {
-        server.Resume();
-        }
-    User::WaitForRequest( stat );
-    err = server.ExitType() == EExitPanic ? KErrGeneral : stat.Int();
-    server.Close();
-    return err;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::Connect
-// --------------------------------------------------------------------------
-//
-TInt CTsFswClientImpl::RTsFswClient::Connect()
-    {
-    const TInt KAsyncMessageSlots = 4;
-    const TInt KMaxRetry = 4;
-    
-    TInt retry = KMaxRetry;
-    for ( ; ; )
-        {
-        TInt err = CreateSession( KTsFswServerName, TVersion( 0, 0, 0 ), KAsyncMessageSlots );
-        if ( err != KErrNotFound && err != KErrServerTerminated )
-            {
-            return err;
-            }
-        if ( !--retry )
-            {
-            return err;
-            }
-        err = StartServer();
-        if ( err != KErrNone && err != KErrAlreadyExists )
-            {
-            return err;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::Subscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::Subscribe( TRequestStatus& aStatus )
-    {
-    SendReceive( ETsFswSubscribe, aStatus );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::CancelSubscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::CancelSubscribe()
-    {
-    SendReceive( ETsFswCancel );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::GetContentL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::GetContentL( RTsFswArray& aDst )
-    {
-    TSLOG_CONTEXT( GetContentL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    for ( ; ; )
-        {
-        TPckgBuf<TInt> bufSize;
-        User::LeaveIfError( SendReceive( ETsFswGetBufferSize,
-            TIpcArgs( &bufSize ) ) );
-        HBufC8* buf = HBufC8::NewLC( bufSize() );
-        TPtr8 p( buf->Des() );
-        TInt err = SendReceive( ETsFswGetBuffer,
-            TIpcArgs( &p, bufSize() ) );
-        if ( err == KErrNone )
-            {
-            RDesReadStream strm( p );
-            CleanupClosePushL( strm );
-            CTsFswEntry::InternalizeArrayL( strm, aDst );
-            CleanupStack::PopAndDestroy( &strm );
-            }
-        else if ( err != KErrArgument )
-            {
-            User::Leave( err );
-            }
-        CleanupStack::PopAndDestroy( buf );
-        if ( err == KErrNone )
-            {
-            break;
-            }
-        // If result was KErrArgument then the size received from GetBufferSize is
-        // not valid anymore so restart the whole procedure.
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::CloseApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::CloseApp( TInt aWgId )
-    {
-    SendReceive( ETsFswCloseApp, TIpcArgs( aWgId ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::SwitchToApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RTsFswClient::SwitchToApp( TInt aWgId )
-    {
-    SendReceive( ETsFswSwitchToApp, TIpcArgs( aWgId ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RTsFswClient::ForegroundAppUid
-// --------------------------------------------------------------------------
-//   
-TUid CTsFswClientImpl::RTsFswClient::ForegroundAppUid( TInt aType )
-    {
-    TUid result = KNullUid;
-    TPckgBuf<TInt> uidBuf;
-    if ( SendReceive( ETsFswForegroundAppUid,
-            TIpcArgs( &uidBuf, &aType ) ) == KErrNone )
-        {
-        result = TUid::Uid( uidBuf() );
-        }
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::NewL
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl* CTsFswClientImpl::NewL()
-    {
-    CTsFswClientImpl* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::NewLC()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl* CTsFswClientImpl::NewLC()
-    {
-    CTsFswClientImpl* self = new ( ELeave ) CTsFswClientImpl;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CTsFswClientImpl()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl::CTsFswClientImpl()
-        : CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::~CTsFswClientImpl()
-// --------------------------------------------------------------------------
-//   
-CTsFswClientImpl::~CTsFswClientImpl()
-    {
-    Cancel();
-    iClient.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::ConstructL()
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::ConstructL()
-    {
-    User::LeaveIfError( iClient.Connect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::GetContentL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::GetContentL( RTsFswArray& aDst )
-    {
-    iClient.GetContentL( aDst );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::Subscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::Subscribe( MTsFswObserver& aObserver )
-    {
-    Cancel();
-    iObserver = &aObserver;
-    iClient.Subscribe( iStatus );
-    SetActive();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CancelSubscribe
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::CancelSubscribe()
-    {
-    Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::CloseApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::CloseApp( TInt aWgId )
-    {
-    iClient.CloseApp( aWgId );
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::SwitchToApp
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::SwitchToApp( TInt aWgId )
-    {
-    iClient.SwitchToApp( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::ForegroundAppUid
-// --------------------------------------------------------------------------
-//   
-TUid CTsFswClientImpl::ForegroundAppUid( TInt aType )
-    {
-    return iClient.ForegroundAppUid( aType );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::RunL
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::RunL()
-    {
-    TSLOG_CONTEXT( RunL, TSLOG_LOCAL );
-    TSLOG1_IN( "%d", iStatus.Int() );
-
-    if ( iStatus == KErrNone && iObserver )
-        {
-        iClient.Subscribe( iStatus );
-        SetActive();
-        iObserver->HandleFswContentChanged();
-        }
-
-    TSLOG_OUT();
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswClientImpl::DoCancel
-// --------------------------------------------------------------------------
-//   
-void CTsFswClientImpl::DoCancel()
-    {
-    iClient.CancelSubscribe();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/bwins/tsfswengineu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?NewLC@CTsFswEngine@@SAPAV1@AAVMTsFswEngineObserver@@@Z @ 1 NONAME ; class CTsFswEngine * CTsFswEngine::NewLC(class MTsFswEngineObserver &)
-	?FswDataL@CTsFswEngine@@QAEABV?$RPointerArray@VCTsFswEntry@@@@XZ @ 2 NONAME ; class RPointerArray<class CTsFswEntry> const & CTsFswEngine::FswDataL(void)
-	?CloseAppL@CTsFswEngine@@QAEXH@Z @ 3 NONAME ; void CTsFswEngine::CloseAppL(int)
-	?NewL@CTsFswEngine@@SAPAV1@AAVMTsFswEngineObserver@@@Z @ 4 NONAME ; class CTsFswEngine * CTsFswEngine::NewL(class MTsFswEngineObserver &)
-	?ForegroundAppUidL@CTsFswEngine@@QAE?AVTUid@@H@Z @ 5 NONAME ; class TUid CTsFswEngine::ForegroundAppUidL(int)
-	?SwitchToAppL@CTsFswEngine@@QAEXH@Z @ 6 NONAME ; void CTsFswEngine::SwitchToAppL(int)
-
--- a/taskswitcher/contextengine/tsfswserver/engine/eabi/tsfswengineu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN12CTsFswEngine12SwitchToAppLEi @ 1 NONAME
-	_ZN12CTsFswEngine17ForegroundAppUidLEi @ 2 NONAME
-	_ZN12CTsFswEngine4NewLER20MTsFswEngineObserver @ 3 NONAME
-	_ZN12CTsFswEngine5NewLCER20MTsFswEngineObserver @ 4 NONAME
-	_ZN12CTsFswEngine8FswDataLEv @ 5 NONAME
-	_ZN12CTsFswEngine9CloseAppLEi @ 6 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/engine/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* 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:  build info file for engine component
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswengine.h        |../../../inc/tsfswengine.h
-../inc/tsfswobservers.h     |../../../inc/tsfswobservers.h
-
-PRJ_MMPFILES
-tsfswengine.mmp
--- a/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* 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:  engine component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswengine.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE          tsfswengine.cpp
-SOURCE          tsfshiddenapplist.cpp
-SOURCE          tsfsalwaysshownapplist.cpp
-SOURCE          tsfswidgetlist.cpp
-SOURCE          tsfswiconcache.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../../trace
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY cone.lib
-LIBRARY apparc.lib
-LIBRARY ws32.lib
-LIBRARY apgrfx.lib
-LIBRARY fbscli.lib
-LIBRARY bitgdi.lib
-LIBRARY aknicon.lib
-LIBRARY aknskins.lib
-LIBRARY egul.lib
-LIBRARY widgetregistryclient.lib
-LIBRARY featmgr.lib
-
-LIBRARY tspreviewprovider.lib
-LIBRARY tsfswutils.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/enginelogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for engine
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswengine.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-#endif
-
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfsalwaysshownapplist.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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:  Non-closeable app list class
- *
-*/
-
-
-#ifndef TSFSALWAYSSHOWNAPPLIST_H
-#define TSFSALWAYSSHOWNAPPLIST_H
-
-#include <e32base.h>
-#include <apgcli.h>
-
-/**
- * List of always shown applications.
- */
-NONSHARABLE_CLASS( CTsFsAlwaysShownAppList ) : public CBase
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aParent
-     */
-    static CTsFsAlwaysShownAppList* NewL();
-
-    /*
-     * Default C++ constructor
-     */
-    CTsFsAlwaysShownAppList();
-
-    /*
-     * Destructor
-     */
-    ~CTsFsAlwaysShownAppList();
-
-    /**
-     * Initializes the list that stores applications that are always
-     * shown in the fast swap provided they have been installed
-     * in the phone rom
-     * @return   -
-     */
-    void InitializeAlwaysShownListL();
-
-    /**
-     * If application uid exists in the always shown application list
-     * @return   ETrue  application uid exists in the list
-     *           EFalse application uid doesn't exist in the list
-     * @param    TUid aAppUid the application uid
-     */
-    TBool IsAlwaysShownApp( TUid aAppUid );
-
-    /**
-     * Returning reference to iAppList
-     */
-    RArray<TUid>& AppList() { return iAppList; }
-
-private:    
-    void ConstructL();
-    RArray<TUid> iAppList;
-    RApaLsSession iAppArcSession;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfshiddenapplist.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* 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:  Class that checks if chosen applications should be hidden
-*                from the task swap.
-*
-*/
-
-
-#ifndef TSFSHIDDENAPPLIST_H_
-#define TSFSHIDDENAPPLIST_H_
-
-#include <e32base.h>    // For CActive, link against: euser.lib
-#include <e32std.h>     // For RTimer, link against: euser.lib
-#include <e32property.h>// For RProperty
-#include "tsfswobservers.h"
-
-//FORWARD DECLARATIONS
-class RWsSession;
-
-/**
- * This class is handling the application which are hidden
- * from fast swap feature.
- */
-NONSHARABLE_CLASS( CTsFsHiddenAppList ) : public CActive
-    {
-public:
-
-    /**
-     * Symbian based two phased constructor.
-     */
-    static CTsFsHiddenAppList* NewL( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Symbian based two phased constructor.
-     */
-    static CTsFsHiddenAppList* NewLC( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Destructor
-     */
-    ~CTsFsHiddenAppList();
-
-    /**
-     * Whether application is hidden from FSW.
-     */
-    TBool IsHiddenL( TUid aAppUid, const RWsSession& aWsSession, TInt aWgId );
-
-    /**
-     * Updating application list
-     */
-    void UpdateListL();
-
-protected:
-    /**
-     * Default constructor.
-     */
-    CTsFsHiddenAppList( MTsFsHiddenAppListObserver& aObserver );
-
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-
-    /**
-     * Reset application array list.
-     */
-    void ResetArray();
-
-    /**
-     * Derived from CActive
-     */
-    virtual void DoCancel();
-
-    /**
-     * Derived from CActive
-     */
-    virtual void RunL();
-
-private:
-    /**
-     * Property reader for reading Hiden app list from FSW
-     */
-    RProperty iProperty;
-
-    /**
-     * Hidden App list
-     */
-    CArrayFixFlat<TInt>* iHiddenAppList;
-
-    /**
-     * hidden apps list observer
-     */
-    MTsFsHiddenAppListObserver& iObserver;
-    };
-
-#endif /*TSFSHIDDENAPPLIST_H_*/
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
-* 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:  Task monitor engine
- *
-*/
-
-
-#ifndef TSFSWENGINE_H
-#define TSFSWENGINE_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-#include <s32strm.h>
-#include <fbs.h>
-#include <eikenv.h>
-#include <w32std.h>
-#include <e32hashtab.h>
-#include <apgcli.h>
-#include <e32property.h>
-#include "tspreviewobserver.h"
-#include "tsfswentry.h"
-#include "tsfswobservers.h"
-
-class CTsFsAlwaysShownAppList;
-class CTsFsHiddenAppList;
-class CTsFsWidgetList;
-class MTsFswEngineObserver;
-class CTsFswIconCache;
-class CTsFastSwapPreviewProvider;
-class CApaWindowGroupName;
-
-// descriptor big enough to store hex repr of 32-bit integer plus 0x prefix
-typedef TBuf<10> TAppUidHexString;
-
-/**
- * Engine for fast swap server.
- * Performs task monitoring, notifications about wg changes are
- * received from the appui.
- */
-NONSHARABLE_CLASS( CTsFswEngine ) : public CActive,
-        public MTsFswTaskListObserver,
-        public MTsFswResourceObserver,
-        public MTsFsHiddenAppListObserver,
-        public MTsFastSwapPreviewObserver
-    {
-public:
-    /**
-     * Creates a new instance.
-     * @param   aObserver   ref to observer
-     */
-    IMPORT_C static CTsFswEngine* NewL( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * @copydoc NewL
-     */
-    IMPORT_C static CTsFswEngine* NewLC( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswEngine();
-
-    /**
-     * Returns a reference to the current content.
-     * Also performs sanity checks, e.g. associates application icons
-     * when no screenshot has been received.
-     * @return  ref to content array
-     */
-    IMPORT_C const RTsFswArray& FswDataL();
-    
-    /**
-     * Tries to close the given app.
-     * @param   aWgId   value given by WgId() for an entry in iData
-     */
-    IMPORT_C void CloseAppL( TInt aWgId );
-    
-    /**
-     * Brings the given app to foreground.
-     * @param   aWgId   value given by WgId() for an entry in iData
-     */
-    IMPORT_C void SwitchToAppL( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid.
-     * Will never return hidden apps, only those which can
-     * also be seen in the array returned by FswDataL.
-     *
-     * In case of embedded apps the behaviour is controlled
-     * by aType: it will return either the uid of the embedded
-     * application or the container app.
-     *
-     * @param   aType   @see CTsFswClient::TTsFswFgAppType
-     */
-    IMPORT_C TUid ForegroundAppUidL( TInt aType );
-
-private:
-    // from CActive
-    void RunL();
-    TInt RunError( TInt aError );
-    void DoCancel();
-
-    // from MTsFswTaskListObserver
-    void UpdateTaskList();
-    
-    // from MTsFswResourceObserver
-    void HandleResourceChange( TInt aType );
-
-    // from MTsFsHiddenAppListObserver
-    void HiddenAppListUpdated();
-
-    // from MTsFastSwapPreviewObserver
-    void HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle );
-    void HandleFswPpApplicationUnregistered( TInt aWgId );
-
-private:
-    /**
-     * Constructor.
-     */
-    CTsFswEngine( MTsFswEngineObserver& aObserver );
-    
-    /**
-     * Performs 2nd phase construction.
-     */
-    void ConstructL();
-    
-    /**
-     * Gets the window group list and reconstructs the fsw content.
-     * @return   TBool   ETrue if the list has been modified
-     */
-    TBool CollectTasksL();
-    
-    /**
-     * Called from CollectTasksL for each entry in the task list.
-     * @param   aWgId       window group id
-     * @param   aAppUid     application uid
-     * @param   aWgName     window group name or NULL
-     * @param   aNewList    list to add to
-     * @param   aIsWidget   true if the entry corresponds to a web widget
-     * @return  TBool   ETrue if it was really a new entry in the list
-     */
-    TBool AddEntryL( TInt aWgId, const TUid& aAppUid,
-        CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
-        TBool aIsWidget );
-
-    /**
-     * Checks if there is an entry for same app in the content list.
-     * If yes then it takes some of the data for the entry that
-     * will correspond to the same app in the refreshed content list.
-     * @param   aEntry      new entry in content list
-     * @param   aAppUid     application uid
-     * @param   aChanged    ref to change-flag, set to ETrue if it is sure
-     * that the new content list will be different from the previous one
-     * @param   aNewList    ref to new content list
-     * @return  ETrue if app was found
-     */
-    TBool CheckIfExistsL( CTsFswEntry& aEntry,
-        const TUid& aAppUid,
-        TBool& aChanged,
-        RTsFswArray& aNewList );
-
-    /**
-     * Adds running widgets to the list.
-     * @param   aNewList    array to add to
-     */
-    void CheckWidgetsL( RTsFswArray& aNewList );
-
-    /**
-     * Finds out the app uid for the given window group id.
-     * @param   aWgId   a valid window group id
-     * @return  application uid
-     */
-    TUid AppUidForWgIdL( TInt aWgId );
-    
-    /**
-     * Returns the parent's wg id or KErrNotFound.
-     * @param   aWgId   a valid window group id
-     * @return parent wg id or KErrNotFound if there is no parent
-     */
-    TInt FindParentWgId( TInt aWgId );
-    
-    /**
-     * Finds out the application name.
-     * @param   aWindowName window group name or NULL
-     * @param   aAppUId     application uid
-     * @param   aWgId       window group id
-     * @return  application name, ownership transferred to caller
-     */
-    HBufC* FindAppNameLC( CApaWindowGroupName* aWindowName,
-        const TUid& aAppUid, TInt aWgId );
-
-    /**
-     * Makes a copy of the bitmap with the given handle.
-     * @param   aFbsHandle          bitmap handle
-     * @param   aKeepAspectRatio    if true then aspect ratio is kept
-     * @return  CFbsBitmap*     the copy, ownership transferred to caller
-     */
-    CFbsBitmap* CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio );
-    
-    /**
-     * Checks if the app to which the screenshot belongs is in the task list
-     * and updates the entry when found. Also triggers change notification
-     * to observer when data is modified.
-     * @param   aWgIdForScreenshot  wgid for the screenshot 
-     * @param   aBitmapHandle       handle for screenshot bitmap
-     */
-    void AssignScreenshotHandle( TInt aWgIdForScreenshot, TInt aBitmapHandle );
-    
-    /**
-     * Returns the bitmap handle for the screenshot belonging to the given app
-     * or 0 if not (yet) found.
-     * @param   aWgIdForApp     a window group id (from the window group list)
-     * @return  bitmap handle or 0
-     */
-    TInt LookupScreenshotHandle( TInt aWgIdForApp );
-    
-    /**
-     * Callback for the iUpdateStarter timer.
-     * Calls CollectTasksL and notifies the observer if the task list
-     * has really been modified.
-     */
-    static TInt UpdateStarterCallback( TAny* aParam );
-
-    /**
-     * Brings the given web widget to foreground.
-     * @param   aWidgetIndex    index in the list of running widgets
-     */
-    void SwitchToWidgetL( TInt aWidgetIndex );
-
-    /**
-     * Configues the preview provider with current screen size.
-     */
-    void SetPreviewParams();
-
-    /**
-     * Registers and unregisters window groups to iPreviewProvider
-     * if the window group list has been changed.
-     */
-    void UpdatePreviewContent();
-
-    /**
-     * Gets and publishes the foreground app uid to CFW.
-     */
-    void PublishFgAppUidL();
-
-    /**
-     * Helper function to publish something to CFW.
-     * @param   aType   context type
-     * @param   aValue  value to publish
-     */
-    //void PublishContextL( const TDesC& aType, const TDesC& aValue );
-
-private: // data    
-    MTsFswEngineObserver& iObserver;
-    RTsFswArray iData; // current fsw content, i.e. the task list
-    CEikonEnv* iEnv; // not own
-
-    // always shown app list, own    
-    CTsFsAlwaysShownAppList* iAlwaysShownAppList;
-    
-    // hidden app list, own
-    CTsFsHiddenAppList* iHiddenAppList;
-    
-    // web widget list, own
-    CTsFsWidgetList* iWidgetList;
-
-    // window server session
-    RWsSession iWsSession;
-    
-    // apparc session
-    RApaLsSession iAppArcSession;
-
-    /**
-     * Hash table storing the screenshots.
-     * Key: window group id for the screenshot
-     * (the one received in ApplicationChange)
-     * Value: CFbsBitmap*, pointers owned
-     */    
-    RHashMap<TInt, CFbsBitmap*> iScreenshots;
-    
-    // preview provider instance, own
-    CTsFastSwapPreviewProvider* iPreviewProvider;
-    
-    // timer to defer content refresh
-    CPeriodic* iUpdateStarter;
-    
-    // app icon provider/container instance, own
-    CTsFswIconCache* iAppIcons;
-    
-    // true if web widgets are supported by the system
-    TBool iWidgetsSupported;
-    // wgid of widget appui is saved here
-    TInt iWidgetAppUiWgId;
-
-    // PS property to listen for swi status changes
-    RProperty iSwiProp;
-    // when true CollectTasksL will call GetAllApps etc.
-    // which is slow and need not be done normally, except
-    // during startup and perhaps when new applications are installed
-    TBool iAppDataRefreshNeeded;
-
-    // window group ids returned by last WindowGroupList call
-    RArray<TInt> iWgIds;
-    
-    // Dirty flag, indicates that iData is not up-to-date because
-    // there were no subscribed clients during a previous possible
-    // change of the task list.
-    TBool iTaskListDirty;
-
-    // For publishing the foreground app uid to Context Framework    
-    TAppUidHexString iFgAppUidStr;
-    TUid iFgAppUid;
-
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswiconcache.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* 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:  Icon cache
-*
-*/
-
-
-#ifndef TSFSWICONCACHE_H_
-#define TSFSWICONCACHE_H_
-
-#include <e32base.h>
-#include <e32hashtab.h>
-
-class CFbsBitmap;
-class CGulIcon;
-
-/**
- * App icon cache.
- */
-NONSHARABLE_CLASS( CTsFswIconCache ) : public CBase
-    {
-public:
-
-    /**
-     * Two phased constructor.
-     */
-    static CTsFswIconCache* NewL();
-
-    /**
-     * Two phased constructor.
-     */
-    static CTsFswIconCache* NewLC();
-
-    /**
-     * Destructor
-     */
-    ~CTsFswIconCache();
-
-    /**
-     * Gets the bitmaps associated with the given app from the cache.
-     * If not found then creates the app icon, stores it to the cache,
-     * and returns that.
-     * @param   aAppUid application uid
-     * @param   aBitmap bitmap ptr, ownership NOT transferred to caller, or NULL
-     * @param   aMask   mask ptr, ownership NOT transferred to caller, or NULL
-     */
-    void GetIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-    /**
-     * Sets the ptrs to the default icon.
-     * Ownership not transferred to caller.
-     */
-    void DefaultIcon( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-private:
-    /**
-     * Default constructor.
-     */
-    CTsFswIconCache();
-
-    /**
-     * Second phase construction
-     */
-    void ConstructL();
-
-    /**
-     * Retrieves the bitmap/mask for the icon of the given app.
-     * @param   aAppUid application uid
-     * @param   aBitmap bitmap ptr, ownership transferred to caller, or NULL
-     * @param   aMask   mask ptr, ownership transferred to caller, or NULL
-     */
-    void GetAppIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask );
-
-private:
-    struct STsBitmapPair
-        {
-        STsBitmapPair( CFbsBitmap* aBitmap, CFbsBitmap* aMask )
-            : iBitmap( aBitmap ), iMask( aMask ) { }
-        CFbsBitmap* iBitmap;
-        CFbsBitmap* iMask;
-        };
-    RHashMap<TInt, STsBitmapPair> iAppIcons;
-    
-    CGulIcon* iDefaultIcon;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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:  web widget list
- *
-*/
-
-
-#ifndef TSFSWIDGETLIST_H_
-#define TSFSWIDGETLIST_H_
-
-#include <e32base.h>
-#include <widgetregistryclient.h>
-
-const TUint32 KWidgetAppUidValue = 0x10282822;
-
-/**
- * class handling the list of running wrt widgets
- */
-NONSHARABLE_CLASS(CTsFsWidgetList) : public CBase
-    {
-public:
-    static CTsFsWidgetList* NewL();
-
-    /** Destructor */
-    ~CTsFsWidgetList();
-
-    /**
-     * Initializes the list that stores widgets.
-     * @return   -
-     */        
-    void InitializeWidgetListL();
-
-    /**
-     * Returns a ref to the list of running widgets.
-     */
-    const RWidgetInfoArray& RunningWidgets() const { return iRunningWidgets; }
-
-private:
-    /** Constructor */
-    CTsFsWidgetList();
-    void ResetArrayOfWidgetInfo( RWidgetInfoArray& aWidgetInfoArr );
-    
-    static void CleanupConnect( TAny* aThis );
-
-private:
-    /** Contains list of widgets that are currently running */
-    RWidgetInfoArray iRunningWidgets;
-    RWidgetRegistryClientSession iWidgetRegistryClientSession;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswobservers.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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:  Observer interfaces to get notifications from appui and from engine
- *
-*/
-
-
-#ifndef TSFSWOBSERVERS_H
-#define TSFSWOBSERVERS_H
-
-/**
- * Interface to get notifications from appui when window groups
- * have changed.
- */
-class MTsFswTaskListObserver
-    {
-public:
-    /**
-     * Function called by AppUi to notify about possible
-     * changes in task list
-     */
-    virtual void UpdateTaskList() = 0;
-    };
-
-/**
- * Interface to get notifications from appui's HandleResourceChangeL.
- */
-class MTsFswResourceObserver
-    {
-public:
-    /**
-     * Function called by AppUi to notify about resource changes.
-     */
-    virtual void HandleResourceChange( TInt aType ) = 0;
-    };
-
-/**
- * Observer interface to get notifications from engine
- * when fsw content has changed.
- */
-class MTsFswEngineObserver
-    {
-public:
-    /**
-     * Called when there is a change in the task list.
-     */
-    virtual void FswDataChanged() = 0;
-
-    /**
-     * Called to find out how many clients are subscribed
-     * for fsw content change notifications.
-     */
-    virtual TInt FswDataListenerCount() = 0;
-    };
-
-/**
- * This class is interface for CTsFsHiddenAppList
- * to notify about list change
- */
-class MTsFsHiddenAppListObserver
-    {
-public:
-    /**
-     * This function is called by CTsFsHiddenAppList when list is changed.
-     */
-    virtual void HiddenAppListUpdated() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* 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:  File containing application list classes
- *
-*/
-
-
-//INCLUDES:
-#include <apaid.h>
-#include "tsfsalwaysshownapplist.h"
-
-//CONSTANTS:
-/* Array for all application uid that need to be always displayed (if they are running).
-   Also, there will be no Close option for such apps. */
-const TUint32 KTsFsUidArray[] =
-    {
-    0x102750F0 // Idle App Uid
-    ,0x0EFC346A //Search App Uid
-/* never show menu app */    //,0x101F4CD2 // Menu App Uid
-    };
-
-// ================= MEMBER FUNCTIONS =======================
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::NewL
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList* CTsFsAlwaysShownAppList::NewL()
-    {
-    CTsFsAlwaysShownAppList* self =
-        new (ELeave) CTsFsAlwaysShownAppList;
-    CleanupStack::PushL (self );
-    self->ConstructL ( );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList::CTsFsAlwaysShownAppList()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList
-// --------------------------------------------------------------------------
-//
-CTsFsAlwaysShownAppList::~CTsFsAlwaysShownAppList( )
-    {
-    iAppList.Close();
-    iAppArcSession.Close();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFsAlwaysShownAppList::ConstructL( )
-    {
-    User::LeaveIfError( iAppArcSession.Connect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::InitializeAlwaysShownListL
-// Applications that are always shown in fast swap are stored
-// in different their own list whether they exist
-// in the phone rom or not
-// --------------------------------------------------------------------------
-//
-void CTsFsAlwaysShownAppList::InitializeAlwaysShownListL( )
-    {
-    iAppList.Reset();
-    // order of always shown applications
-    TApaAppInfo applicationInfo;
-    for (TInt index = 0,
-            sizeOfArray = ( sizeof(KTsFsUidArray) / sizeof( TUint32 ) );
-            index < sizeOfArray; index++ )
-        {
-        // if exists in phone rom
-        if ( iAppArcSession.GetAppInfo( applicationInfo,
-                TUid::Uid( KTsFsUidArray[index] ) )!= KErrNotFound )
-            {
-            iAppList.AppendL( TUid::Uid( KTsFsUidArray[index] ) );
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsAlwaysShownAppList::IsAlwaysShownApp
-// If application uid exists in the always shown application list
-// --------------------------------------------------------------------------
-//
-TBool CTsFsAlwaysShownAppList::IsAlwaysShownApp( TUid aAppUid )
-    {
-    for ( TInt index = 0, count = iAppList.Count ( ); index < count; index++ )
-        {
-        if ( iAppList[index] == aAppUid )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/*
-* 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:  Class that checks if chosen applications should be hidden
-*                from the task swap.
-*
-*/
-
-
-// INCLUDES
-#include "tsfshiddenapplist.h"
-#include <apgwgnam.h>
-
-#include <eikenv.h>
-
-// the maximum size of array (25 32-bit UIDs equal 100 bytes)
-const TInt KMaxHiddenApps = 25;
-
-/**
- * Category id for the hidden application list.
- */
-const TUid KPSUidUikon = { 0x101F8773 };
-const TUint32 KUikAppHiddenList  = 0x00000010;
-
-/**
- * Apps that are always hidden, no matter what settings the system reports.
- */
-const TUint32 KTsFsAlwaysHiddenUidArray[] =
-    {
-    0x100056CF // screensaver
-    };
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::NewL
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList* CTsFsHiddenAppList::NewL(
-        MTsFsHiddenAppListObserver& aObserver )
-    {
-    CTsFsHiddenAppList* self =
-        new ( ELeave ) CTsFsHiddenAppList( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList* CTsFsHiddenAppList::NewLC(
-        MTsFsHiddenAppListObserver& aObserver )
-    {
-    CTsFsHiddenAppList* self = CTsFsHiddenAppList::NewL( aObserver );
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::~CTsFsHiddenAppList
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList::~CTsFsHiddenAppList()
-    {
-    Cancel();
-
-    ResetArray();
-    delete iHiddenAppList;
-
-    iProperty.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::IsHiddenL
-// -----------------------------------------------------------------------------
-//
-TBool CTsFsHiddenAppList::IsHiddenL( TUid aAppUid,
-                                     const RWsSession& aWsSession,
-                                     TInt aWgId )
-    {
-    TBool ret = EFalse;
-
-    CApaWindowGroupName* windowName =
-                        CApaWindowGroupName::NewLC( aWsSession, aWgId );
-
-    if ( windowName->Hidden() )
-        {
-        ret = ETrue;
-        }
-    else
-        {
-        for ( TInt i = 0, ie = iHiddenAppList->Count(); i != ie; ++i )
-            {
-            if ( aAppUid.iUid == iHiddenAppList->At( i ) )
-                {
-                ret = ETrue;
-                break;
-                }
-            }
-        if ( !ret )
-            {
-            for ( TInt i = 0,
-                    arrCnt = sizeof( KTsFsAlwaysHiddenUidArray ) / sizeof( TUint32 );
-                    i != arrCnt; ++i )
-                {
-                if ( KTsFsAlwaysHiddenUidArray[i] == aAppUid.iUid )
-                    {
-                    ret = ETrue;
-                    break;
-                    }
-                }
-            }
-        }
-
-    CleanupStack::PopAndDestroy( windowName );
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::CTsFsHiddenAppList
-// -----------------------------------------------------------------------------
-//
-CTsFsHiddenAppList::CTsFsHiddenAppList(
-        MTsFsHiddenAppListObserver& aObserver )
-            :CActive( CActive::EPriorityHigh ), iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::ConstructL()
-    {
-    const TInt KMaxGranularity = 4;
-    CActiveScheduler::Add( this );
-
-    iHiddenAppList = new (ELeave) CArrayFixFlat<TInt>( KMaxGranularity );
-    User::LeaveIfError( iProperty.Attach( KPSUidUikon, KUikAppHiddenList, EOwnerThread ) );
-
-    // must not call RunL directly from here as things are not fully initialized yet
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::ResetArray
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::ResetArray()
-    {
-    if ( iHiddenAppList )
-        {
-        iHiddenAppList->Reset();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::UpdateListL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::UpdateListL()
-    {
-    ResetArray();
-
-    // hidden list array
-    TBuf16 <2*KMaxHiddenApps> hiddenList;
-    iProperty.Get( hiddenList );
-
-    for ( TInt i = 0; i < hiddenList.Length(); i = i + 2 )
-        {
-        TUint32 uid = 0x00000000;
-        uid = hiddenList[i];
-        uid = uid << 16; // codescanner::magicnumbers
-        uid |= hiddenList[i+1];
-
-        if ( uid != 0 )
-            {
-            iHiddenAppList->AppendL( uid );
-            }
-        else
-            {
-            break;
-            }
-        }
-
-    iObserver.HiddenAppListUpdated();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFsHiddenAppList::RunL
-// -----------------------------------------------------------------------------
-//
-void CTsFsHiddenAppList::RunL()
-    {
-    if ( !IsActive() )
-        {
-        iProperty.Subscribe( iStatus );
-        SetActive();
-        }
-    UpdateListL();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1043 +0,0 @@
-/*
-* 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:  Task monitor engine
- *
-*/
-
-
-#include "tsfswengine.h"
-#include "tsfsalwaysshownapplist.h"
-#include "tsfshiddenapplist.h"
-#include "tsfswidgetlist.h"
-#include "tsfswiconcache.h"
-#include "tspreviewprovider.h"
-#include "tsfswclient.h"
-#include <apgtask.h>
-#include <AknDef.h>
-#include <apgwgnam.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h> // for CleanupResetAndDestroyPushL
-#include <featmgr.h>
-#include <swi/swispubsubdefs.h>
-
-#include "enginelogging.h"
-
-// time to wait before refreshing content
-const TInt KContentRefreshDelay = 500000; // 0.5 sec
-
-// for screenshots, they are scaled down to (screensize/this_factor).
-const TInt KScreenSizeFactor = 2;
-
-// format to get a lowercase hex string prefixed with 0x
-_LIT( KHexFmt, "0x%x" );
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEngine* CTsFswEngine::NewL( MTsFswEngineObserver& aObserver )
-    {
-    CTsFswEngine* self = NewLC( aObserver );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::NewLC
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEngine* CTsFswEngine::NewLC( MTsFswEngineObserver& aObserver )
-    {
-    CTsFswEngine* self = new ( ELeave ) CTsFswEngine( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CTsFswEngine
-// --------------------------------------------------------------------------
-//
-CTsFswEngine::CTsFswEngine( MTsFswEngineObserver& aObserver )
-        : CActive( EPriorityStandard ), iObserver( aObserver )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::ConstructL()
-    {
-    iEnv = CEikonEnv::Static();
-
-    User::LeaveIfError( iWsSession.Connect() );
-    User::LeaveIfError( iAppArcSession.Connect() );
-
-    iHiddenAppList = CTsFsHiddenAppList::NewL( *this );
-    iAlwaysShownAppList = CTsFsAlwaysShownAppList::NewL();
-
-    iWidgetsSupported = FeatureManager::FeatureSupported( KFeatureIdWebWidgets );
-    if ( iWidgetsSupported )
-        {
-        iWidgetList = CTsFsWidgetList::NewL();
-        }
-
-    // create app icon retriever instance
-    iAppIcons = CTsFswIconCache::NewL();
-
-    // get an initial list of tasks
-    iAppDataRefreshNeeded = ETrue;
-    CollectTasksL();
-
-    // listen for app screenshots
-    iPreviewProvider = CTsFastSwapPreviewProvider::NewL( *this );
-    SetPreviewParams();
-    UpdatePreviewContent();
-
-    iUpdateStarter = CPeriodic::NewL( CActive::EPriorityStandard );
-    
-    // start listening for swi ps property
-    if ( iSwiProp.Attach( KUidSystemCategory,
-            Swi::KUidSoftwareInstallKey ) == KErrNone )
-        {
-        iSwiProp.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::~CTsFswEngine
-// --------------------------------------------------------------------------
-//
-CTsFswEngine::~CTsFswEngine()
-    {
-    Cancel();
-    iSwiProp.Close();
-
-    delete iUpdateStarter;
-    delete iPreviewProvider;
-
-    // delete the bitmaps as the hash map cannot do that
-    THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
-    while ( const TInt* key = iter.NextKey() )
-        {
-        CFbsBitmap** value = iter.CurrentValue();
-        delete *value;
-        }
-    iScreenshots.Close();
-    delete iAppIcons;
-
-    iData.ResetAndDestroy();
-    iWgIds.Close();
-
-    delete iHiddenAppList;
-    delete iAlwaysShownAppList;
-    delete iWidgetList;
-    iAppArcSession.Close();
-    iWsSession.Close();
-
-//    delete iContextUtility;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FswDataL
-// --------------------------------------------------------------------------
-//
-EXPORT_C const RTsFswArray& CTsFswEngine::FswDataL()
-    {
-    TSLOG_CONTEXT( FswDataL, TSLOG_LOCAL );
-    TSLOG1_IN( "dirty flag = %d", iTaskListDirty );
-
-    // check the dirty flag and refresh if needed
-    if ( iTaskListDirty )
-        {
-        CollectTasksL();
-        // dirty flag is cleared in the above call
-        }
-
-    // Get app icon for entries without screenshot,
-    // do this only here as the app icon is not needed in case a screenshot
-    // is already available.
-    for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
-        {
-        if ( !iData[i]->ScreenshotHandle() )
-            {
-            CFbsBitmap* bmp;
-            CFbsBitmap* mask;
-            TUid appUid = iData[i]->AppUid();
-            // this will leave with -46 in case of widgets if we do not have AllFiles cap
-            TRAPD( err, iAppIcons->GetIconL( appUid, bmp, mask ) );
-            if ( err == KErrNone && bmp )
-                {
-                iData[i]->SetAppIconHandles( bmp->Handle(),
-                    mask ? mask->Handle() : 0 );
-                }
-            else
-                {
-                iAppIcons->DefaultIcon( bmp, mask );
-                iData[i]->SetAppIconHandles( bmp->Handle(),
-                    mask ? mask->Handle() : 0 );
-                }
-            }
-        }
-
-    TSLOG_OUT();
-    return iData;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CloseAppL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEngine::CloseAppL( TInt aWgId )
-    {
-    TSLOG_CONTEXT( CloseAppL, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    if ( iWidgetsSupported && aWgId < 0 && iWidgetAppUiWgId )
-        {
-        // for widgets clients see a wgid that is -1*(index+1)
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        // convert aWgId to an index in the list of running widgets
-        TInt idx = -aWgId - 1;
-        // if index is valid then handle the widget specially
-        if ( idx >= 0 && idx < arr.Count() )
-            {
-            TWsEvent event;
-            event.SetType( EEventUser );
-            TUint8* eventData = event.EventData();
-            // Fill bits 0-31 with widget application uid.
-            reinterpret_cast<TUint32&>( *eventData ) = KWidgetAppUidValue;
-            eventData += sizeof( TUint32 );
-            // Fill bits 32-63 with uid of the widget that should be closed.
-            reinterpret_cast<TUint32&>( *eventData ) = arr[idx]->iUid.iUid;
-            // Send the event to Widget AppUi.
-            iEnv->WsSession().SendEventToWindowGroup(
-                iWidgetAppUiWgId, event );
-            // closing a widget may not cause a window group change so trigger
-            // the update manually
-            UpdateTaskList();
-            TSLOG0_OUT( "widget processing finished" );
-            return;
-            }
-        }
-
-    TUid appUid = AppUidForWgIdL( aWgId );
-    if ( !iAlwaysShownAppList->IsAlwaysShownApp( appUid ) )
-        {
-        // send window group event to kill the app
-        TWsEvent event;
-        event.SetTimeNow();
-        event.SetType( KAknShutOrHideApp );
-        iEnv->WsSession().SendEventToWindowGroup( aWgId, event );
-        TSLOG0( TSLOG_INFO, "event sent to wg" );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SwitchToAppL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEngine::SwitchToAppL( TInt aWgId )
-    {
-    TSLOG_CONTEXT( SwitchToAppL, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    if ( iWidgetsSupported && aWgId < 0 )
-        {
-        // for widgets clients see a wgid that is -1*(index+1)
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        // convert aWgId to an index in the list of running widgets
-        TInt idx = -aWgId - 1;
-        // if index is valid then handle the widget specially
-        if ( idx >= 0 && idx < arr.Count() )
-            {
-            SwitchToWidgetL( idx );
-            TSLOG1_OUT( "switched to widget %d", idx );
-            return;
-            }
-        }
-
-    TApaTask task( iEnv->WsSession() );
-    task.SetWgId( aWgId );
-    task.BringToForeground();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SwitchToWidgetL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::SwitchToWidgetL( TInt aWidgetIndex )
-    {
-    const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-    RApaLsSession ls;
-    User::LeaveIfError( ls.Connect() );
-    CleanupClosePushL( ls );
-    CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
-    cmdLine->SetCommandL( EApaCommandRun );
-    TApaAppInfo info;
-    iAppArcSession.GetAppInfo( info, arr[aWidgetIndex]->iUid ); // codescanner::accessArrayElementWithoutCheck2 (aWidgetIndex checked in SwitchToAppL())
-    cmdLine->SetExecutableNameL( info.iFullName );
-    ls.StartApp( *cmdLine );
-    CleanupStack::PopAndDestroy( 2, &ls );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdateTaskList
-// Callback from appui
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::UpdateTaskList()
-    {
-    TSLOG_CONTEXT( UpdateTaskList, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // If no clients are subscribed for fsw content change notifications
-    // then there is no need to waste time with rebuilding the task list,
-    // just set the dirty flag.
-    TInt listenerCount = iObserver.FswDataListenerCount();
-    TSLOG1( TSLOG_INFO, "listener count = %d", listenerCount );
-    if ( listenerCount > 0 )
-        {
-        // There can be many calls in a row, use a timer to prevent degrading
-        // device performance.
-        if ( !iUpdateStarter->IsActive() )
-            {
-            iUpdateStarter->Start( KContentRefreshDelay, 0,
-                TCallBack( UpdateStarterCallback, this ) );
-            }
-        }
-    else
-        {
-        iTaskListDirty = ETrue;
-        }
-
-    // screenshot taking support - call Register and Unregister when needed
-    UpdatePreviewContent();
-
-    // get the foreground app uid and publish it to CFW if different than before
-    TRAP_IGNORE( PublishFgAppUidL() );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::ForegroundAppUidL
-// --------------------------------------------------------------------------
-//
-EXPORT_C TUid CTsFswEngine::ForegroundAppUidL( TInt aType )
-    {
-    // Do not use GetFocusWindowGroup or others.
-    // We want to see only "real" application uids in FgApp,
-    // i.e. stuff that would also be shown in the task swapper
-    // area of Taskswitcher.
-
-    TUid result = KNullUid;
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    CleanupClosePushL( allWgIds );
-    User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
-    TInt count = allWgIds.Count();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        // Depending on aType we may not need to bother with iParentId here.
-        // If aType == EUseEmbeddedUid => embedded apps are treated as others.
-        // If aType == EUseStandaloneUid => embedded apps must be ignored.
-        if ( allWgIds[i].iParentId > 0
-                && aType == CTsFswClient::EUseStandaloneUid )
-            {
-            continue;
-            }
-
-        CApaWindowGroupName* wgn = CApaWindowGroupName::NewLC(
-            iWsSession, allWgIds[i].iId );
-        TUid newUid = wgn->AppUid();
-        TBool hidden = wgn->Hidden() || iHiddenAppList->IsHiddenL(
-            newUid, iWsSession, allWgIds[i].iId );
-        CleanupStack::PopAndDestroy( wgn );
-
-        if ( !hidden && newUid.iUid )
-            {
-            result = newUid;
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( &allWgIds );
-    
-    return result;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::PublishFgAppUidL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::PublishFgAppUidL()
-    {
-    TSLOG_CONTEXT( PublishFgAppUidL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TUid newUid = ForegroundAppUidL( CTsFswClient::EUseEmbeddedUid );
-    TSLOG2( TSLOG_INFO, "ws says: %x we have: %x", newUid.iUid, iFgAppUid.iUid );
-    if ( iFgAppUid != newUid && newUid.iUid )
-        {
-        iFgAppUid = newUid;
-        iFgAppUidStr.Format( KHexFmt, iFgAppUid.iUid );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdateStarterCallback
-// Callback for the timer
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::UpdateStarterCallback( TAny* aParam )
-    {
-    CTsFswEngine* self = static_cast<CTsFswEngine*>( aParam );
-    self->iUpdateStarter->Cancel();
-    // get list of tasks and notify observer if there is a change in the list
-    TBool changed = EFalse;
-    TRAPD( err, changed = self->CollectTasksL() );
-    if ( err == KErrNone && changed )
-        {
-        self->iObserver.FswDataChanged();
-        }
-    return 0;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CollectTasksL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::CollectTasksL()
-    {
-    TSLOG_CONTEXT( CollectTasksL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // clear dirty flag
-    iTaskListDirty = EFalse;
-
-    TBool changed = EFalse;
-    RTsFswArray newList;
-    CleanupResetAndDestroyPushL( newList );
-
-    // update app data if needed
-    // (usually on startup and when new apps might have been installed)
-    if ( iAppDataRefreshNeeded )
-        {
-        TSLOG0( TSLOG_INFO, "refreshing app data" );
-        iAppArcSession.GetAllApps();
-        iAlwaysShownAppList->InitializeAlwaysShownListL();
-        iAppDataRefreshNeeded = EFalse;
-        }
-
-    // get all window groups
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    CleanupClosePushL( allWgIds );
-    User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
-    TInt count = allWgIds.Count();
-
-    for ( TInt i = 0; i < count; ++i )
-        {
-        // ignore uninteresting entries (e.g. embedded apps)
-        if ( allWgIds[i].iParentId > 0 )
-            {
-            continue;
-            }
-
-        // get window group name
-        TInt wgId = allWgIds[i].iId;
-        CApaWindowGroupName* windowName =
-            CApaWindowGroupName::NewLC( iWsSession, wgId );
-        TUid appUid = windowName->AppUid();
-
-        // ignore entries with null uid
-        if ( !appUid.iUid )
-            {
-            CleanupStack::PopAndDestroy( windowName );
-            continue;
-            }
-
-        // will append the task to our own list only if it is not hidden
-        TBool onHiddenList = iHiddenAppList->IsHiddenL(
-            appUid, iWsSession, wgId );
-
-        // if this is the widget app then save wgid for later use
-        // and ignore it, but include running widgets instead
-        if ( iWidgetsSupported && appUid.iUid == KWidgetAppUidValue )
-            {
-            iWidgetAppUiWgId = wgId;
-            onHiddenList = ETrue;
-            CheckWidgetsL( newList );
-            }
-
-        // get screen number (-1=console, 0=main screen, 1=cover ui)
-        TInt appScreen = 0;
-        TInt scrNumErr = iAppArcSession.GetDefaultScreenNumber( appScreen, appUid );
-
-        // check if it is on always-shown list
-        TBool mustShow = iAlwaysShownAppList->IsAlwaysShownApp( appUid );
-
-#ifdef _DEBUG
-        const TDesC& captionDbg( windowName->Caption() );
-        TSLOG4( TSLOG_INFO, "[%d] wgid=%d appuid=%x (%S)", i, wgId,
-            appUid.iUid, &captionDbg );
-        TSLOG4( TSLOG_INFO, "hidden=%d onhiddenlist=%d mustshow=%d scrno=%d",
-            windowName->Hidden(), onHiddenList, mustShow, appScreen );
-#endif
-
-        // add item to task list if it is always-shown OR it is not hidden
-        // and it is not on cover ui
-        if ( mustShow
-                || ( !onHiddenList
-                    && !windowName->Hidden()
-                    && ( appScreen == 0 || appScreen == -1 )
-                    && scrNumErr == KErrNone ) )
-            {
-            if ( AddEntryL( wgId, appUid, windowName, newList, EFalse ) )
-                {
-                changed = ETrue;
-                }
-            }
-        CleanupStack::PopAndDestroy( windowName );
-        }
-    CleanupStack::PopAndDestroy( &allWgIds );    
-
-    // if counts for old and new lists do not match then there is a change for sure,
-    // probably an app has been closed
-    if ( iData.Count() != newList.Count() )
-        {
-        changed = ETrue;
-        }
-
-    // move pointers from the temporary list into the real one
-    iData.ResetAndDestroy();
-    TInt newListCount = newList.Count();
-    TSLOG1( TSLOG_INFO, "new list count = %d", newListCount );
-    for ( TInt i = 0; i < newListCount; ++i )
-        {
-        TSLOG3( TSLOG_INFO, "[%d] %S wgid=%d",
-            i, &newList[i]->AppName(), newList[i]->WgId() );
-        iData.AppendL( newList[i] );
-        newList[i] = 0;
-        }
-    CleanupStack::PopAndDestroy( &newList );
-    
-    TSLOG1_OUT( "change flag = %d", changed );
-    return changed;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AddEntryL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::AddEntryL( TInt aWgId, const TUid& aAppUid,
-        CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
-        TBool aIsWidget )
-    {
-    TBool changed = EFalse;
-    CTsFswEntry* entry = CTsFswEntry::NewLC();
-    entry->SetWgId( aWgId );
-    entry->SetAppUid( aAppUid );
-    entry->SetWidget( aIsWidget );
-
-    // check if present in old list and if yes then take some of the old data
-    TBool found = CheckIfExistsL( *entry, aAppUid, changed, aNewList );
-
-    // if not present previously then find out app name
-    // and check if screenshot is already available
-    if ( !found )
-        {
-        // when adding a new entry to the list it is changed for sure
-        changed = ETrue;
-        HBufC* name = FindAppNameLC( aWgName, aAppUid, aWgId );
-        if ( name )
-            {
-            entry->SetAppNameL( *name );
-            }
-        CleanupStack::PopAndDestroy( name );
-        TInt h = LookupScreenshotHandle( aWgId );
-        if ( h )
-            {
-            entry->SetScreenshotHandle( h );
-            }
-        entry->SetAlwaysShown( iAlwaysShownAppList->IsAlwaysShownApp( aAppUid ) );
-        if ( aWgName )
-            {
-            entry->SetSystemApp( aWgName->IsSystem() );
-            }
-        }
-
-    // add to new list, ownership is transferred
-    aNewList.AppendL( entry );
-    CleanupStack::Pop( entry );
-    return changed;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckIfExistsL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::CheckIfExistsL( CTsFswEntry& aEntry,
-        const TUid& aAppUid,
-        TBool& aChanged,
-        RTsFswArray& aNewList )
-    {
-    for ( TInt entryIdx = 0, oldCount = iData.Count();
-            entryIdx < oldCount; ++entryIdx )
-        {
-        // Enough to check appuid, no need to bother with wgid as the
-        // screenshot handle is up-to-date or will be updated later anyway.
-        if ( iData[entryIdx]->AppUid() == aAppUid )
-            {
-            // if positions do not match then the list is different than before
-            if ( entryIdx != aNewList.Count() )
-                {
-                aChanged = ETrue;
-                }
-            CTsFswEntry* oldEntry = iData[entryIdx];
-            aEntry.SetAppNameL( oldEntry->AppName() );
-            aEntry.SetScreenshotHandle( oldEntry->ScreenshotHandle() );
-            aEntry.SetAlwaysShown( oldEntry->AlwaysShown() );
-            aEntry.SetSystemApp( oldEntry->SystemApp() );
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-    
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckWidgetsL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::CheckWidgetsL( RTsFswArray& aNewList )
-    {
-    if ( iWidgetsSupported )
-        {
-        iWidgetList->InitializeWidgetListL();
-        const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
-        for ( TInt i = 0, ie = arr.Count(); i != ie; ++i )
-            {
-            // wgid will be a special negative value
-            // windowgroupname is not needed here so pass NULL
-            AddEntryL( -(i+1), arr[i]->iUid, 0, aNewList, ETrue );
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HiddenAppListUpdated
-// Callback from the hidden app list watcher
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HiddenAppListUpdated()
-    {
-    UpdateTaskList();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AppUidForWgIdL
-// --------------------------------------------------------------------------
-//
-TUid CTsFswEngine::AppUidForWgIdL( TInt aWgId )
-    {
-    CApaWindowGroupName* windowName =
-        CApaWindowGroupName::NewLC( iWsSession, aWgId );
-    TUid appUid = windowName->AppUid();
-    CleanupStack::PopAndDestroy( windowName );
-    return appUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindParentWgId
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::FindParentWgId( TInt aWgId )
-    {
-    TInt parent( KErrNotFound );
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    // Ask for window group list from RWsSession
-    TInt error = iWsSession.WindowGroupList( 0, &allWgIds );
-    if ( !error )
-        {
-        TInt count( allWgIds.Count() );
-        for ( TInt i( 0 ); i < count; i++ )
-            {
-            RWsSession::TWindowGroupChainInfo info = allWgIds[i];
-            if ( info.iId == aWgId )
-                {
-                parent = info.iParentId;
-                break;
-                }
-            }
-        }
-    allWgIds.Close();
-    return parent;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindAppNameLC
-// --------------------------------------------------------------------------
-//
-HBufC* CTsFswEngine::FindAppNameLC( CApaWindowGroupName* aWindowName,
-                                  const TUid& aAppUid,
-                                  TInt aWgId )
-    {
-    //Retrieve the app name
-    TApaAppInfo info;
-    iAppArcSession.GetAppInfo( info, aAppUid );
-    TPtrC caption = info.iShortCaption;
-
-    HBufC* tempName = 0;
-    if ( !caption.Length() && aWindowName ) // if not set - use thread name instead
-        {
-        if ( aWindowName->Caption().Length() )
-            {
-            tempName = aWindowName->Caption().AllocL();
-            //put on cleanupstack after the if
-            }
-        else
-            {
-            TThreadId threadId;
-            TInt err = iWsSession.GetWindowGroupClientThreadId(
-                    aWgId, threadId );
-            if ( err == KErrNone )
-                {
-                RThread thread;
-                CleanupClosePushL( thread );
-                err = thread.Open ( threadId );
-                if ( err==KErrNone )
-                    {
-                    tempName = thread.Name().AllocL(); // codescanner::forgottoputptroncleanupstack
-                    // tempName put on cleanupstack after the if
-                    }
-                CleanupStack::PopAndDestroy( &thread );
-                }
-            }
-        }
-    else
-        {
-        tempName = caption.AllocL();
-        //put on cleanupstack after the if
-        }
-    CleanupStack::PushL( tempName );
-    return tempName;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CopyBitmapL
-// --------------------------------------------------------------------------
-//
-CFbsBitmap* CTsFswEngine::CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio )
-    {
-    CFbsBitmap* ret = new (ELeave) CFbsBitmap;
-    CleanupStack::PushL( ret );
-    CFbsBitmap* bmp = new (ELeave) CFbsBitmap;
-    CleanupStack::PushL( bmp );
-    User::LeaveIfError( bmp->Duplicate( aFbsHandle ) );
-
-    //Make bitmap width and height equal so that it will look better in FSW control.
-    TSize size  = bmp->SizeInPixels();
-
-    if ( !aKeepAspectRatio )
-        {
-        if ( size.iHeight > size.iWidth )
-            {
-            size.iHeight = size.iWidth;
-            }
-        else
-            {
-            size.iWidth = size.iHeight;
-            }
-        }
-
-    // preserve size and mode
-    User::LeaveIfError( ret->Create( size, EColor64K ) );
-
-    CFbsBitmapDevice* doubleBufferDev = CFbsBitmapDevice::NewL( ret );
-    CleanupStack::PushL( doubleBufferDev );
-
-    CFbsBitGc* doubleBufferGc = 0;
-    User::LeaveIfError( doubleBufferDev->CreateContext( doubleBufferGc ) );
-    CleanupStack::PushL( doubleBufferGc );
-
-    // preserve size
-    doubleBufferGc->BitBlt( TPoint( 0, 0 ), bmp, TRect(size) );
-
-    CleanupStack::PopAndDestroy( doubleBufferGc );
-    CleanupStack::PopAndDestroy( doubleBufferDev );
-    CleanupStack::PopAndDestroy( bmp );
-    CleanupStack::Pop( ret );
-
-    return ret;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::UpdatePreviewContent
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::UpdatePreviewContent()
-    {
-    TSLOG_CONTEXT( UpdatePreviewContent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
-    if ( iWsSession.WindowGroupList( 0, &allWgIds ) == KErrNone )
-        {
-        // check window groups that do not exist anymore
-        for ( TInt i = 0, ie = iWgIds.Count(); i != ie; ++i )
-            {
-            TInt wgid = iWgIds[i];
-            TBool present = EFalse;
-            for ( TInt j = 0, je = allWgIds.Count(); j != je; ++j )
-                {
-                if ( allWgIds[j].iId == wgid )
-                    {
-                    present = ETrue;
-                    break;
-                    }
-                }
-            if ( !present )
-                {
-                TSLOG1( TSLOG_INFO, "unregister: %d", wgid );
-                iPreviewProvider->Unregister( wgid );
-                }
-            }
-        // check topmost window group
-        if ( allWgIds.Count() )
-            {
-            if ( !iWgIds.Count() || allWgIds[0].iId != iWgIds[0] )
-                {
-                TInt wgid = allWgIds[0].iId;
-                TSLOG1( TSLOG_INFO, "registering %d", wgid );
-                iPreviewProvider->Register( wgid );
-                }
-            }
-        // store the new list
-        iWgIds.Reset();
-        for ( TInt i = 0, ie = allWgIds.Count(); i != ie; ++i )
-            {
-            iWgIds.Append( allWgIds[i].iId );
-            }
-        }
-    allWgIds.Close();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleFswPpApplicationChange
-// Callback from CTsFastSwapPreviewProvider
-// Note: aWgId is for the window group for which the screenshot is taken,
-// it may not be the same as the application's wgid (in case of embedded apps)
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle )
-    {
-    TSLOG_CONTEXT( HandleFswPpApplicationChange, TSLOG_LOCAL );
-    TSLOG2_IN( "aWgId = %d aFbsHandle = %d", aWgId, aFbsHandle );
-
-    CFbsBitmap* bmp = 0;
-    TRAPD( err, bmp = CopyBitmapL( aFbsHandle, EFalse ) );
-    iPreviewProvider->AckPreview(aFbsHandle);
-    if ( err == KErrNone )
-        {
-        CFbsBitmap** oldbmp = iScreenshots.Find( aWgId );
-        if ( oldbmp )
-            {
-            delete *oldbmp;
-            }
-        if ( iScreenshots.Insert( aWgId, bmp ) != KErrNone )
-            {
-            delete bmp;
-            iScreenshots.Remove( aWgId );
-            }
-        else
-            {
-            AssignScreenshotHandle( aWgId, bmp->Handle() );
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleFswPpApplicationUnregistered
-// Callback from CTsFastSwapPreviewProvider
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleFswPpApplicationUnregistered( TInt aWgId )
-    {
-    TSLOG_CONTEXT( HandleFswPpApplicationUnregistered, TSLOG_LOCAL );
-    TSLOG1_IN( "aWgId = %d", aWgId );
-
-    CFbsBitmap** bmp = iScreenshots.Find( aWgId );
-    if ( bmp )
-        {
-        delete *bmp;
-        iScreenshots.Remove( aWgId );
-        AssignScreenshotHandle( aWgId, 0 );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AssignScreenshotHandle
-// Called when a screenshot arrives to check if there is a corresponding
-// application in the task list.
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::AssignScreenshotHandle( TInt aWgIdForScreenshot,
-        TInt aBitmapHandle )
-    {
-    TBool changed = EFalse;
-    TInt parentWgId = FindParentWgId( aWgIdForScreenshot );
-    // now parentWgId is a valid wgid or KErrNotFound (-1)
-    for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
-        {
-        if ( iData[i]->Widget() )
-            {
-            // Do not do anything for now => no screenshot for widgets.
-            continue;
-            }
-        TInt appWgId = iData[i]->WgId();
-        if ( appWgId == aWgIdForScreenshot || appWgId == parentWgId )
-            {
-            iData[i]->SetScreenshotHandle( aBitmapHandle );
-            changed = ETrue;
-            break;
-            }
-        }
-    if ( changed )
-        {
-        iObserver.FswDataChanged();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::LookupScreenshotHandle
-// Called to check if there is a screenshot already stored for the given
-// app. (or a screenshot with a wgid for which aWgIdForApp is the parent)
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::LookupScreenshotHandle( TInt aWgIdForApp )
-    {
-    CFbsBitmap** bmp = iScreenshots.Find( aWgIdForApp );
-    if ( bmp )
-        {
-        // there is a screenshot stored for this wgid
-        return (*bmp)->Handle();
-        }
-    else if ( aWgIdForApp > 0 )
-        {
-        // must check if there is a screenshot for which aWgIdForApp is the parent
-        THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
-        while ( const TInt* wgid = iter.NextKey() )
-            {
-            if ( FindParentWgId( *wgid ) == aWgIdForApp )
-                {
-                CFbsBitmap** bmp = iter.CurrentValue();
-                return (*bmp)->Handle();
-                }
-            }
-        }
-    else if ( aWgIdForApp < 0 )
-        {
-        // Must be a widget, wgid is useless in this case.
-        // Do not do anything for now => no screenshot for widgets.
-        }
-    return 0;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::RunL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::RunL()
-    {
-    if ( iStatus != KErrCancel ) // when cancelling the subscribe it completes with KErrCancel
-        {
-        TInt value = 0;
-        if ( iSwiProp.Get( value ) == KErrNone )
-            {
-            TInt operationStatus( value & Swi::KSwisOperationStatusMask );
-            // When an (un)installation has finished change the flag to
-            // refresh the app list during the next task list update.
-            if ( operationStatus == Swi::ESwisStatusSuccess )
-                {
-                iAppDataRefreshNeeded = ETrue;
-                }
-            }
-        iSwiProp.Subscribe( iStatus );
-        SetActive();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::DoCancel
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::DoCancel()
-    {
-    iSwiProp.Cancel();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::RunError
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::HandleResourceChange
-// callback from appui's HandleResourceChangeL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::HandleResourceChange( TInt aType )
-    {
-    TSLOG_CONTEXT( HandleResourceChange, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( iPreviewProvider && aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetPreviewParams();
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::SetPreviewParams
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::SetPreviewParams()
-    {
-    TSize screenSize = iEnv->ScreenDevice()->SizeInPixels();
-    iPreviewProvider->SetPreviewParam(
-        TSize( screenSize.iWidth / KScreenSizeFactor,
-            screenSize.iHeight / KScreenSizeFactor ),
-        EColor64K ); // displaymode is ignored
-    }
-
-    
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswiconcache.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* 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:  Icon cache
- *
-*/
-
-
-#include "tsfswiconcache.h"
-#include <fbs.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <avkon.mbg>
-
-// size for the created app icons
-const TInt KAppIconWidth = 96;
-const TInt KAppIconHeight = 96;
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::NewL
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache* CTsFswIconCache::NewL()
-    {
-    CTsFswIconCache* self = new (ELeave) CTsFswIconCache;
-    CleanupStack::PushL (self );
-    self->ConstructL ( );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::CTsFswIconCache
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache::CTsFswIconCache()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::~CTsFswIconCache
-// --------------------------------------------------------------------------
-//
-CTsFswIconCache::~CTsFswIconCache( )
-    {
-    THashMapIter<TInt, STsBitmapPair> iter( iAppIcons );
-    while ( const TInt* key = iter.NextKey() )
-        {
-        STsBitmapPair* value = iter.CurrentValue();
-        delete value->iBitmap;
-        delete value->iMask;
-        }
-    iAppIcons.Close();
-    delete iDefaultIcon;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::ConstructL()
-    {
-    iDefaultIcon = AknsUtils::CreateGulIconL( 
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnMenuUnknownCxt,
-        AknIconUtils::AvkonIconFileName(),
-        EMbmAvkonQgn_menu_unknown_cxt,
-        EMbmAvkonQgn_menu_unknown_cxt_mask );
-    TSize sz( KAppIconWidth, KAppIconHeight );
-    AknIconUtils::SetSize( iDefaultIcon->Bitmap(), sz );
-    AknIconUtils::SetSize( iDefaultIcon->Mask(), sz );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::GetAppIconL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::GetAppIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = aMask = 0;
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-    if ( skinInstance )
-        {
-        AknsUtils::CreateAppIconLC( skinInstance, aAppUid, EAknsAppIconTypeList,
-            aBitmap, aMask );
-        // The CreateAppIconLC method leaves both the bitmaps in the cleanup stack.
-        // The order in which they are pushed into the stack and types of 
-        // the items in the stack are both undefined.
-        CleanupStack::Pop( 2 ); // codescanner::cleanup
-        TSize sz( KAppIconWidth, KAppIconHeight );
-        AknIconUtils::SetSize( aBitmap, sz );
-        AknIconUtils::SetSize( aMask, sz );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::GetIconL
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::GetIconL( const TUid& aAppUid,
-        CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = aMask = 0;
-    STsBitmapPair* bp = iAppIcons.Find( aAppUid.iUid );
-    if ( bp )
-        {
-        // ownership stays with the hash table
-        aBitmap = bp->iBitmap;
-        aMask = bp->iMask;
-        }
-    else
-        {
-        GetAppIconL( aAppUid, aBitmap, aMask ); // ownership of the bitmap is ours
-        // insert to hash table and pass ownership
-        iAppIcons.InsertL( aAppUid.iUid, STsBitmapPair( aBitmap, aMask ) );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswIconCache::DefaultIcon
-// --------------------------------------------------------------------------
-//
-void CTsFswIconCache::DefaultIcon( CFbsBitmap*& aBitmap, CFbsBitmap*& aMask )
-    {
-    aBitmap = iDefaultIcon->Bitmap();
-    aMask = iDefaultIcon->Mask();
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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:  web widget list
- *
-*/
-
-
-#include "tsfswidgetlist.h"
-#include <widgetregistrydata.h>
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::NewL
-// --------------------------------------------------------------------------
-//
-CTsFsWidgetList* CTsFsWidgetList::NewL()
-    {
-    return new (ELeave) CTsFsWidgetList;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::CTsFsWidgetList
-// --------------------------------------------------------------------------
-//   
-CTsFsWidgetList::CTsFsWidgetList()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::~CTsFsWidgetList
-// --------------------------------------------------------------------------
-//
-CTsFsWidgetList::~CTsFsWidgetList()
-    {
-    ResetArrayOfWidgetInfo( iRunningWidgets );        
-    iRunningWidgets.Reset();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::CleanupConnect
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::CleanupConnect( TAny* aThis )
-    {
-    CTsFsWidgetList* self = static_cast<CTsFsWidgetList*>( aThis );
-    self->iWidgetRegistryClientSession.Disconnect();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::InitializeWidgetListL
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::InitializeWidgetListL()
-    {
-    ResetArrayOfWidgetInfo( iRunningWidgets );
-    iRunningWidgets.Reset();
-    User::LeaveIfError( iWidgetRegistryClientSession.Connect() );
-    CleanupStack::PushL( TCleanupItem( CleanupConnect, this) );
-    iWidgetRegistryClientSession.RunningWidgetsL(iRunningWidgets);
-    CleanupStack::Pop(); // clean WidgetRegistryClientSession item
-    iWidgetRegistryClientSession.Disconnect();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFsWidgetList::ResetArrayOfWidgetInfo
-// --------------------------------------------------------------------------
-//
-void CTsFsWidgetList::ResetArrayOfWidgetInfo( 
-        RWidgetInfoArray& aWidgetInfoArr )
-    {
-    for ( TInt i = 0; i < aWidgetInfoArr.Count(); i++ )
-        {
-        CWidgetInfo *item = aWidgetInfoArr[i];
-        delete item;
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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:  main build info file
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../rom/tsfswserver.iby CORE_MW_LAYER_IBY_EXPORT_PATH(tsfswserver.iby)
-
-#include "../utils/group/bld.inf"
-#include "../engine/group/bld.inf"
-#include "../server/group/bld.inf"
-#include "../client/group/bld.inf"
-
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswclient.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,131 +0,0 @@
-/*
-* 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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENT_H
-#define TSFSWCLIENT_H
-
-#include <e32std.h>
-#include "tsfswentry.h"
-
-class MTsFswObserver;
-class CTsFswClientImpl;
-
-/**
- * Client API for the Huriganes Fast Swap Server.
- */    
-NONSHARABLE_CLASS( CTsFswClient ) : public CBase
-    {
-public:
-    /**
-     * Possible values for aType argument of ForegroundAppUid().
-     */
-    enum TTsFswFgAppType
-        {
-        /**
-         * Means that even when the foreground app has another app embedded
-         * into it the uid of the container application will be returned.
-         */
-        EUseStandaloneUid,
-        /**
-         * Means that if the foreground app has another app embedded
-         * into it then the returned uid will be the uid of the embedded
-         * app.
-         */
-        EUseEmbeddedUid
-        };
-
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewL();
-    
-    /**
-     * Creates a new instance.
-     * @capability LocalServices
-     */
-    IMPORT_C static CTsFswClient* NewLC();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsFswClient();
-    
-    /**
-     * Queries the fast swap content from the server and
-     * copies it into the given array.
-     * Previous content of the array is removed (by using ResetAndDestroy).
-     * @param   aDst    array to which data is stored
-     * @capability LocalServices
-     */
-    IMPORT_C void GetContentL( RTsFswArray& aDst );
-    
-    /**
-     * Subscribes for continuous notifications about changes in the
-     * fast swap content.
-     * The notifications are generated until CancelSubscribe is called
-     * or the instance is destroyed.
-     * @capability LocalServices
-     */
-    IMPORT_C void Subscribe( MTsFswObserver& aObserver );
-    
-    /**
-     * Cancels the subscription for change notifications.
-     * @capability LocalServices
-     */
-    IMPORT_C void CancelSubscribe();
-    
-    /**
-     * Tries to close the application with the given id.
-     * @capability LocalServices
-     */
-    IMPORT_C void CloseApp( TInt aWgId );
-    
-    /**
-     * Brings the application with the given id into foreground.
-     * @capability LocalServices
-     */
-    IMPORT_C void SwitchToApp( TInt aWgId );
-
-    /**
-     * Returns the uid of the foreground app or KNullUid if something goes wrong.
-     *
-     * Will never return hidden apps, only those which can also be seen in the
-     * array returned by GetContentL.
-     *
-     * However the handling of embedded applications might be different:
-     * (as opposed to GetContentL)
-     * If aType == EUseEmbeddedUid:
-     *   This function will always return the embedded application's uid, unlike
-     *   GetContentL which will always refer to the container app (except for the
-     *   screenshot of course). This means that the returned uid is simply the
-     *   uid belonging to the first (non-hidden, etc.) window group from the window group list.
-     * If aType == EUseStandaloneUid:
-     *   Embedded applications are ignored and the returned uid is the app uid belonging
-     *   to the first parentless window group.
-     */
-    IMPORT_C TUid ForegroundAppUid( TTsFswFgAppType aType );
-
-private:
-    CTsFswClient();
-    void ConstructL();
-
-    CTsFswClientImpl* iImpl;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswclientobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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:  Client API
- *
-*/
-
-
-#ifndef TSFSWCLIENTOBSERVER_H
-#define TSFSWCLIENTOBSERVER_H
-
-#include <e32base.h>
-
-/**
- * Observer interface for getting notifications about fast swap content changes.
- */
-class MTsFswObserver
-    {
-public:
-    /**
-     * Called when there is a change in the fast swap content.
-     * The data can be queried via CTsFswClient::GetContentL
-     */
-    virtual void HandleFswContentChanged() = 0;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/inc/tsfswcommon.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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:  common constants
- *
-*/
-
-
-#ifndef TSFSWCOMMON_H
-#define TSFSWCOMMON_H
-
-#include <e32std.h>
-
-_LIT( KTsFswServerName, "tsfswserver" );
-_LIT( KTsFswServerImg, "tsfswserver" );
-
-const TUid KTsFswServerUid = { 0x2001CBE1 };
-
-enum TTsFswServerMessages
-    {
-    ETsFswSubscribe,
-    ETsFswCancel,
-    ETsFswGetBufferSize,
-    ETsFswGetBuffer, // there must be a GetBufferSize request before GetBuffer
-    ETsFswCloseApp,
-    ETsFswSwitchToApp,
-    ETsFswForegroundAppUid
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/rom/tsfswserver.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* 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:  Iby file for fast swap server
-*
-*/
-
-
-#ifndef TSFSWSERVER_IBY
-#define TSFSWSERVER_IBY
-
-file=ABI_DIR/BUILD_DIR/tsfswclient.dll                                     SHARED_LIB_DIR/tsfswclient.dll
-file=ABI_DIR/BUILD_DIR/tsfswutils.dll                                      SHARED_LIB_DIR/tsfswutils.dll
-file=ABI_DIR/BUILD_DIR/tsfswengine.dll                                     SHARED_LIB_DIR/tsfswengine.dll
-file=ABI_DIR/BUILD_DIR/tsfswserver.exe                                     SHARED_LIB_DIR/tsfswserver.exe
-
-#endif 
--- a/taskswitcher/contextengine/tsfswserver/server/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/*
-* 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:  server component build info file
- *
-*/
-
-
-PRJ_MMPFILES
-tsfswserver.mmp
--- a/taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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:  server component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET tsfswserver.exe
-TARGETTYPE EXE
-UID 0x0 0x2001CBE1
-// AllFiles cap needed to get icon for wrt widgets
-CAPABILITY CAP_SERVER AllFiles
-
-SOURCEPATH ../src
-SOURCE          tsfswserver.cpp
-SOURCE          tsfswsession.cpp
-SOURCE          tsfswappui.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDe     ../../../inc
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY eikcore.lib
-LIBRARY cone.lib
-LIBRARY ws32.lib
-LIBRARY apgrfx.lib
-LIBRARY fbscli.lib
-LIBRARY avkon.lib
-
-LIBRARY tsfswengine.lib
-LIBRARY tsfswutils.lib
--- a/taskswitcher/contextengine/tsfswserver/server/inc/serverlogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for server
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswserver.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x2001CBE1
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswappui.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* 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:  appui for server
- *
-*/
-
-
-#ifndef TSFSWAPPUI_H
-#define TSFSWAPPUI_H
-
-#include <aknappui.h>
-
-class MTsFswTaskListObserver;
-class MTsFswResourceObserver;
-
-/**
- * Appui for the fsw server.
- * Reimplements HandleWsEventL from base class to get notifications about
- * window group changes.
- */
-class CTsFswAppUi : public CAknAppUi
-    {
-public:
-    ~CTsFswAppUi();
-    void ConstructL();
-
-    /**
-     * Setter function.
-     *
-     * @param aTaskListObserver Observer to be notified if task list
-     *                     has changed
-     */
-    void SetTaskListObserver( MTsFswTaskListObserver& aTaskListObserver );
-
-    /**
-     * Setter function.
-     *
-     * @param aResourceObserver Observer to be notified when resources are changed.
-     */
-    void SetResourceObserver( MTsFswResourceObserver& aResourceObserver );
-
-private:
-    // from CEikAppUi
-    void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
-    void HandleResourceChangeL( TInt aType );
-            
-private:
-    MTsFswTaskListObserver* iTaskListObserver; // not own
-    MTsFswResourceObserver* iResourceObserver; // not own
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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:  server class
- *
-*/
-
-
-#ifndef TSFSWSERVER_H
-#define TSFSWSERVER_H
-
-#include <e32base.h>
-#include "tsfswcommon.h"
-#include "tsfswobservers.h"
-
-/**
- * Possible panic reasons.
- */
-enum TTsFswPanic
-    {
-    EPanicBadDescriptor,
-    EPanicIllegalFunction,
-    EPanicAccessDenied
-    };
-
-/**
- * Panic name.
- */
-_LIT( KTsFswPanicName, "tsfsw" );
-
-class CTsFswEngine;
-class CTsFswAppUi;
-
-/**
- * Ts FastSwap Server.
- */
-class CTsFswServer : public CServer2, public MTsFswEngineObserver
-    {
-public:
-    static CTsFswServer* NewLC( CTsFswAppUi& aAppUi );
-    ~CTsFswServer();
-    void AddSession();
-    void DropSession();
-
-    void SerializeAndGetBufferSizeL( const RMessage2& aMessage );
-    void GetBufferL( const RMessage2& aMessage );
-    void CloseAppL( TInt aWgId );
-    void SwitchToAppL( TInt aWgId );
-    void ForegroundAppUidL( const RMessage2& aMessage );
-
-private:
-    CTsFswServer( TInt aPriority, CTsFswAppUi& aAppUi );
-    void ConstructL();
-    CSession2* NewSessionL( const TVersion& aVersion,
-        const RMessage2& aMessage ) const;
-        
-    // from MTsFswEngineObserver
-    void FswDataChanged();
-    TInt FswDataListenerCount();
-
-private:
-    TInt iSessionCount;
-    CTsFswEngine* iEngine;
-    CBufFlat* iBuffer;
-    CTsFswAppUi& iAppUi;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/inc/tsfswsession.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* 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:  session class for server
- *
-*/
-
-
-#ifndef TSFSWSESSION_H
-#define TSFSWSESSION_H
-
-#include "tsfswserver.h"
-#include "tsfswentry.h"
-
-/**
- * Session class.
- */
-class CTsFswSession : public CSession2
-    {
-public:
-    CTsFswSession();
-    void CreateL();
-    
-    /**
-     * Called from the server when fsw content has changed.
-     */
-    void FswDataChanged();
-    
-    /**
-     * Returns true if there is a pending subscribe request to this session.
-     */
-    TBool IsListening();
-
-private:
-    ~CTsFswSession();
-    CTsFswServer& Server();
-    void ServiceL( const RMessage2& aMessage );
-    void ServiceError( const RMessage2& aMessage, TInt aError );
-    void CompleteSubscribe( TInt aError );
-
-    RArray<RMessage2> iSubscribeRequests; // non-completed ETsFswSubscribe messages
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswappui.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* 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:  appui implementation
- *
-*/
-
-
-#include "tsfswappui.h"
-#include "tsfswobservers.h"
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::~CTsFswAppUi
-// --------------------------------------------------------------------------
-//
-CTsFswAppUi::~CTsFswAppUi()
-    {
-    // empty
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::ConstructL()
-    {
-    CAknAppUi::BaseConstructL( ENoAppResourceFile | EAknEnableSkin );
-    RWindowGroup& windowGroup = CCoeEnv::Static()->RootWin();
-    windowGroup.EnableFocusChangeEvents();
-    windowGroup.EnableGroupListChangeEvents();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::SetTaskListObserver
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::SetTaskListObserver( MTsFswTaskListObserver& aTaskListObserver )
-    {
-    iTaskListObserver = &aTaskListObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::SetResourceObserver
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::SetResourceObserver( MTsFswResourceObserver& aResourceObserver )
-    {
-    iResourceObserver = &aResourceObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::HandleWsEventL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination )
-    {
-    TInt eventType = aEvent.Type();
-
-    if ( eventType == EEventFocusGroupChanged
-            || eventType == EEventWindowGroupListChanged )
-        {
-        if ( iTaskListObserver )
-            {
-            iTaskListObserver->UpdateTaskList();
-            }
-        }
-
-    CAknAppUi::HandleWsEventL( aEvent, aDestination );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswAppUi::HandleResourceChangeL
-// --------------------------------------------------------------------------
-//
-void CTsFswAppUi::HandleResourceChangeL( TInt aType ) // codescanner::LFunctionCantLeave (virtual)
-    {
-    if ( iResourceObserver )
-        {
-        iResourceObserver->HandleResourceChange( aType );
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswserver.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* 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:  server implementation
- *
-*/
-
-
-#include "tsfswserver.h"
-#include "tsfswsession.h"
-#include "tsfswappui.h"
-#include "tsfswengine.h"
-
-#include <s32mem.h>
-#include <eikenv.h>
-#include <apgwgnam.h>
-
-// --------------------------------------------------------------------------
-// CTsFswServer::CTsFswServer
-// --------------------------------------------------------------------------
-//
-CTsFswServer::CTsFswServer( TInt aPriority, CTsFswAppUi& aAppUi )
-        : CServer2( aPriority ), iAppUi( aAppUi )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::NewLC
-// --------------------------------------------------------------------------
-//
-CTsFswServer* CTsFswServer::NewLC( CTsFswAppUi& aAppUi )
-    {
-    CTsFswServer* self = new ( ELeave ) CTsFswServer(
-        EPriorityNormal, aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::ConstructL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::ConstructL()
-    {
-    StartL( KTsFswServerName );
-    iEngine = CTsFswEngine::NewL( *this );
-    iAppUi.SetTaskListObserver( *iEngine );
-    iAppUi.SetResourceObserver( *iEngine );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::~CTsFswServer
-// --------------------------------------------------------------------------
-//
-CTsFswServer::~CTsFswServer()
-    {
-    delete iBuffer;
-    delete iEngine;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::NewSessionL
-// --------------------------------------------------------------------------
-//
-CSession2* CTsFswServer::NewSessionL( const TVersion&,
-        const RMessage2& ) const
-    {
-    return new ( ELeave ) CTsFswSession;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::AddSession
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::AddSession()
-    {
-    ++iSessionCount;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::DropSession
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::DropSession()
-    {
-    --iSessionCount;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::SerializeAndGetBufferSizeL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::SerializeAndGetBufferSizeL( const RMessage2& aMessage )
-    {
-    const TInt KBufferExpandSize = 128;
-    const RTsFswArray& array( iEngine->FswDataL() );
-    delete iBuffer; iBuffer = NULL;
-    iBuffer = CBufFlat::NewL( KBufferExpandSize );
-    RBufWriteStream ws;
-    CleanupClosePushL( ws );
-    ws.Open( *iBuffer );
-    CTsFswEntry::ExternalizeArrayL( ws, array );
-    CleanupStack::PopAndDestroy( &ws );
-    TPtr8 p( iBuffer->Ptr( 0 ) );
-    TPckg<TInt> size( p.Length() );
-    aMessage.WriteL( 0, size );
-    aMessage.Complete( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::GetBufferL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::GetBufferL( const RMessage2& aMessage )
-    {
-    if ( !iBuffer )
-        {
-        User::Leave( KErrGeneral );
-        }
-    TPtr8 p( iBuffer->Ptr( 0 ) );
-    // If the size expected by the client does not match indicate it with a leave
-    // so the client can recognize it by checking the return value of SendReceive
-    // and can request the buffer size again.
-    if ( p.Length() != aMessage.Int1() )
-        {
-        User::Leave( KErrArgument );
-        }
-    aMessage.WriteL( 0, p );
-    aMessage.Complete( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::CloseAppL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::CloseAppL( TInt aWgId )
-    {
-    iEngine->CloseAppL( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::SwitchToAppL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::SwitchToAppL( TInt aWgId )
-    {
-    iEngine->SwitchToAppL( aWgId );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::ForegroundAppUidL
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::ForegroundAppUidL( const RMessage2& aMessage )
-    {
-    TUid uid = iEngine->ForegroundAppUidL( aMessage.Int1() );
-    TPckg<TInt> uidPckg( uid.iUid );
-    aMessage.WriteL( 0, uidPckg );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::FswDataChanged
-// callback from engine
-// --------------------------------------------------------------------------
-//
-void CTsFswServer::FswDataChanged()
-    {
-    // notify all sessions about the change
-    iSessionIter.SetToFirst();
-    while ( CTsFswSession* session = static_cast<CTsFswSession*>( iSessionIter++ ) )
-        {
-        if ( session->IsListening() )
-            {
-            session->FswDataChanged();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswServer::FswDataListenersCount
-// callback from engine
-// --------------------------------------------------------------------------
-//
-TInt CTsFswServer::FswDataListenerCount()
-    {
-    TInt n = 0;
-    iSessionIter.SetToFirst();
-    while ( CTsFswSession* session = static_cast<CTsFswSession*>( iSessionIter++ ) )
-        {
-        if ( session->IsListening() )
-            {
-            ++n;
-            }
-        }
-    return n;
-    }
-
-// --------------------------------------------------------------------------
-// RunServerL
-// --------------------------------------------------------------------------
-//
-static void RunServerL( CTsFswAppUi& aAppUi, CEikonEnv& aEnv )
-    {
-    // change thread name
-    User::LeaveIfError( RThread::RenameMe( KTsFswServerName ) );
-
-    // set app as hidden
-    CApaWindowGroupName* wgName =
-        CApaWindowGroupName::NewL( aEnv.WsSession(),
-            aEnv.RootWin().Identifier() );
-    wgName->SetHidden( ETrue );
-    wgName->SetWindowGroupName( aEnv.RootWin() );
-    delete wgName;
-
-    // start server
-    CTsFswServer* server = CTsFswServer::NewLC( aAppUi );
-    RProcess::Rendezvous( KErrNone );
-    CActiveScheduler::Start();
-    CleanupStack::PopAndDestroy( server );
-    }
-
-// --------------------------------------------------------------------------
-// E32Main
-// --------------------------------------------------------------------------
-//
-TInt E32Main()
-    {
-    __UHEAP_MARK;
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-    TInt err = KErrNoMemory;
-    if ( cleanup )
-        {
-        CEikonEnv* env = new CEikonEnv;
-        if ( env )
-            {
-            TRAP( err, env->ConstructL() );
-            if ( err == KErrNone )
-                {
-                env->DisableExitChecks( ETrue );
-                CTsFswAppUi* ui = new CTsFswAppUi;
-                if ( ui )
-                    {
-                    TRAP( err, ui->ConstructL() );
-                    if ( err == KErrNone )
-                        {
-                        // hide from tasklist and prevent from coming foreground
-                        env->RootWin().SetOrdinalPosition( 0,
-                            ECoeWinPriorityNeverAtFront );
-                        // set as system app so will not be closed when memory is low
-                        env->SetSystem( ETrue );
-                        
-                        RFbsSession::Connect();
-                        
-                        TRAP( err, RunServerL( *ui, *env ) );
-                        
-                        RFbsSession::Disconnect();
-                        
-                        ui->PrepareToExit();
-                        }
-                    }
-                }
-            env->DestroyEnvironment();
-            }
-        delete cleanup;
-        }
-    __UHEAP_MARKEND;
-    return err;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/server/src/tsfswsession.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* 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:  session implementation
- *
-*/
-
-
-#include "tsfswsession.h"
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CTsFswSession
-// --------------------------------------------------------------------------
-//
-CTsFswSession::CTsFswSession()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::Server
-// --------------------------------------------------------------------------
-//
-CTsFswServer& CTsFswSession::Server()
-    {
-    return *static_cast<CTsFswServer*>(
-        const_cast<CServer2*>( CSession2::Server() ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CreateL
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::CreateL() // codescanner::LFunctionCantLeave (virtual)
-    {
-    Server().AddSession();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::~CTsFswSession
-// --------------------------------------------------------------------------
-//
-CTsFswSession::~CTsFswSession()
-    {
-    CompleteSubscribe( KErrCancel );
-    iSubscribeRequests.Close();
-    Server().DropSession();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::CompleteSubscribe
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::CompleteSubscribe( TInt aError )
-    {
-    for ( TInt i = 0, ie = iSubscribeRequests.Count(); i != ie; ++i )
-        {
-        iSubscribeRequests[i].Complete( aError );
-        }
-    iSubscribeRequests.Reset();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::ServiceL
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::ServiceL( const RMessage2& aMessage )
-    {
-    if ( !aMessage.HasCapability( ECapabilityLocalServices ) )
-        {
-        aMessage.Panic( KTsFswPanicName, EPanicAccessDenied );
-        return;
-        }
-
-    switch ( aMessage.Function() )
-        {
-    case ETsFswSubscribe:
-        iSubscribeRequests.AppendL( aMessage );
-        break;
-
-    case ETsFswCancel:
-        CompleteSubscribe( KErrCancel );
-        aMessage.Complete( KErrNone );
-        break;
-
-    case ETsFswGetBufferSize:
-        Server().SerializeAndGetBufferSizeL( aMessage );
-        break;
-
-    case ETsFswGetBuffer:
-        Server().GetBufferL( aMessage );
-        break;
-
-    case ETsFswCloseApp:
-        Server().CloseAppL( aMessage.Int0() );
-        aMessage.Complete( KErrNone );
-        break;
-
-    case ETsFswSwitchToApp:
-        Server().SwitchToAppL( aMessage.Int0() );
-        aMessage.Complete( KErrNone );
-        break;
-        
-    case ETsFswForegroundAppUid:
-        Server().ForegroundAppUidL( aMessage );
-        aMessage.Complete( KErrNone );
-        break;
-
-    default:
-        aMessage.Panic( KTsFswPanicName, EPanicIllegalFunction );
-        break;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::ServiceError
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::ServiceError( const RMessage2& aMessage,
-        TInt aError )
-    {
-    if ( aError == KErrBadDescriptor )
-        {
-        aMessage.Panic( KTsFswPanicName, EPanicBadDescriptor );
-        }
-    CSession2::ServiceError( aMessage, aError );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::FswDataChanged
-// called by server when notification is received from engine
-// --------------------------------------------------------------------------
-//
-void CTsFswSession::FswDataChanged()
-    {
-    CompleteSubscribe( KErrNone );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswSession::IsListening
-// --------------------------------------------------------------------------
-//
-TBool CTsFswSession::IsListening()
-    {
-    return iSubscribeRequests.Count() > 0;
-    }
-
-
-// end of file
--- a/taskswitcher/contextengine/tsfswserver/utils/bwins/tsfswutilsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?ScreenshotHandle@CTsFswEntry@@QBEHXZ @ 1 NONAME ; int CTsFswEntry::ScreenshotHandle(void) const
-	?AlwaysShown@CTsFswEntry@@QBEHXZ @ 2 NONAME ; int CTsFswEntry::AlwaysShown(void) const
-	?SystemApp@CTsFswEntry@@QBEHXZ @ 3 NONAME ; int CTsFswEntry::SystemApp(void) const
-	?SetAppNameL@CTsFswEntry@@QAEXABVTDesC16@@@Z @ 4 NONAME ; void CTsFswEntry::SetAppNameL(class TDesC16 const &)
-	?ExternalizeL@CTsFswEntry@@QAEXAAVRWriteStream@@@Z @ 5 NONAME ; void CTsFswEntry::ExternalizeL(class RWriteStream &)
-	?ExternalizeArrayL@CTsFswEntry@@SAXAAVRWriteStream@@ABV?$RPointerArray@VCTsFswEntry@@@@@Z @ 6 NONAME ; void CTsFswEntry::ExternalizeArrayL(class RWriteStream &, class RPointerArray<class CTsFswEntry> const &)
-	?AppName@CTsFswEntry@@QBEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & CTsFswEntry::AppName(void) const
-	?AppUid@CTsFswEntry@@QBE?AVTUid@@XZ @ 8 NONAME ; class TUid CTsFswEntry::AppUid(void) const
-	?AppIconMaskHandle@CTsFswEntry@@QBEHXZ @ 9 NONAME ; int CTsFswEntry::AppIconMaskHandle(void) const
-	?SetAppIconHandles@CTsFswEntry@@QAEXHH@Z @ 10 NONAME ; void CTsFswEntry::SetAppIconHandles(int, int)
-	?SetAlwaysShown@CTsFswEntry@@QAEXH@Z @ 11 NONAME ; void CTsFswEntry::SetAlwaysShown(int)
-	?NewLC@CTsFswEntry@@SAPAV1@XZ @ 12 NONAME ; class CTsFswEntry * CTsFswEntry::NewLC(void)
-	?NewL@CTsFswEntry@@SAPAV1@XZ @ 13 NONAME ; class CTsFswEntry * CTsFswEntry::NewL(void)
-	?WgId@CTsFswEntry@@QBEHXZ @ 14 NONAME ; int CTsFswEntry::WgId(void) const
-	?SetWidget@CTsFswEntry@@QAEXH@Z @ 15 NONAME ; void CTsFswEntry::SetWidget(int)
-	?SetAppUid@CTsFswEntry@@QAEXABVTUid@@@Z @ 16 NONAME ; void CTsFswEntry::SetAppUid(class TUid const &)
-	?SetWgId@CTsFswEntry@@QAEXH@Z @ 17 NONAME ; void CTsFswEntry::SetWgId(int)
-	?SetScreenshotHandle@CTsFswEntry@@QAEXH@Z @ 18 NONAME ; void CTsFswEntry::SetScreenshotHandle(int)
-	?InternalizeL@CTsFswEntry@@QAEXAAVRReadStream@@@Z @ 19 NONAME ; void CTsFswEntry::InternalizeL(class RReadStream &)
-	?AppIconBitmapHandle@CTsFswEntry@@QBEHXZ @ 20 NONAME ; int CTsFswEntry::AppIconBitmapHandle(void) const
-	?SetSystemApp@CTsFswEntry@@QAEXH@Z @ 21 NONAME ; void CTsFswEntry::SetSystemApp(int)
-	?Widget@CTsFswEntry@@QBEHXZ @ 22 NONAME ; int CTsFswEntry::Widget(void) const
-	?InternalizeArrayL@CTsFswEntry@@SAXAAVRReadStream@@AAV?$RPointerArray@VCTsFswEntry@@@@@Z @ 23 NONAME ; void CTsFswEntry::InternalizeArrayL(class RReadStream &, class RPointerArray<class CTsFswEntry> &)
-
--- a/taskswitcher/contextengine/tsfswserver/utils/eabi/tsfswutilsu.def	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	_ZN11CTsFswEntry11SetAppNameLERK7TDesC16 @ 1 NONAME
-	_ZN11CTsFswEntry12ExternalizeLER12RWriteStream @ 2 NONAME
-	_ZN11CTsFswEntry12InternalizeLER11RReadStream @ 3 NONAME
-	_ZN11CTsFswEntry12SetSystemAppEi @ 4 NONAME
-	_ZN11CTsFswEntry14SetAlwaysShownEi @ 5 NONAME
-	_ZN11CTsFswEntry17ExternalizeArrayLER12RWriteStreamRK13RPointerArrayIS_E @ 6 NONAME
-	_ZN11CTsFswEntry17InternalizeArrayLER11RReadStreamR13RPointerArrayIS_E @ 7 NONAME
-	_ZN11CTsFswEntry17SetAppIconHandlesEii @ 8 NONAME
-	_ZN11CTsFswEntry19SetScreenshotHandleEi @ 9 NONAME
-	_ZN11CTsFswEntry4NewLEv @ 10 NONAME
-	_ZN11CTsFswEntry5NewLCEv @ 11 NONAME
-	_ZN11CTsFswEntry7SetWgIdEi @ 12 NONAME
-	_ZN11CTsFswEntry9SetAppUidERK4TUid @ 13 NONAME
-	_ZN11CTsFswEntry9SetWidgetEi @ 14 NONAME
-	_ZNK11CTsFswEntry11AlwaysShownEv @ 15 NONAME
-	_ZNK11CTsFswEntry16ScreenshotHandleEv @ 16 NONAME
-	_ZNK11CTsFswEntry17AppIconMaskHandleEv @ 17 NONAME
-	_ZNK11CTsFswEntry19AppIconBitmapHandleEv @ 18 NONAME
-	_ZNK11CTsFswEntry4WgIdEv @ 19 NONAME
-	_ZNK11CTsFswEntry6AppUidEv @ 20 NONAME
-	_ZNK11CTsFswEntry6WidgetEv @ 21 NONAME
-	_ZNK11CTsFswEntry7AppNameEv @ 22 NONAME
-	_ZNK11CTsFswEntry9SystemAppEv @ 23 NONAME
-
--- a/taskswitcher/contextengine/tsfswserver/utils/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/*
-* 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:  build info file for utility component
- *
-*/
-
-
-PRJ_EXPORTS
-../inc/tsfswentry.h     |../../../inc/tsfswentry.h
-
-PRJ_MMPFILES
-tsfswutils.mmp
--- a/taskswitcher/contextengine/tsfswserver/utils/group/tsfswutils.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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:  utility component
- *
-*/
-
-
-#include <platform_paths.hrh>
-
-TARGET  tsfswutils.dll
-TARGETTYPE DLL
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH      ../src
-SOURCE          tsfswentry.cpp
-
-MW_LAYER_SYSTEMINCLUDE
-USERINCLUDE     ../inc
-
-LIBRARY euser.lib
-LIBRARY estor.lib
--- a/taskswitcher/contextengine/tsfswserver/utils/inc/tsfswentry.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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:  Task list entry
- *
-*/
-
-
-#ifndef TSFSWENTRY_H
-#define TSFSWENTRY_H
-
-#include <e32base.h>
-#include <e32cmn.h>
-
-class CTsFswEntry;
-class RReadStream;
-class RWriteStream;
-
-typedef RPointerArray<CTsFswEntry> RTsFswArray;
-
-/**
- * An entry in the task list.
- */
-NONSHARABLE_CLASS( CTsFswEntry ) : public CBase
-    {
-public:
-    IMPORT_C static CTsFswEntry* NewL();
-    IMPORT_C static CTsFswEntry* NewLC();
-    ~CTsFswEntry();
-
-    /**
-     * Window group id.
-     * In case of wrt widgets this is negative and is not a valid window group id.
-     * Use this when calling CloseApp or SwitchToApp. (these work with widgets too)
-     */
-    IMPORT_C TInt WgId() const;
-    
-    /**
-     * Application uid.
-     */
-    IMPORT_C TUid AppUid() const;
-    
-    /**
-     * Application name.
-     */
-    IMPORT_C const TDesC& AppName() const;
-    
-    /**
-     * Bitmap handle to the screenshot or 0 if not available.
-     */
-    IMPORT_C TInt ScreenshotHandle() const;
-    
-    /**
-     * ETrue if the application is always shown in the fast swapper.
-     * (no use to call CloseApp for such an application)
-     */
-    IMPORT_C TBool AlwaysShown() const;
-
-    /**
-     * ETrue if the application is a system application.
-     * (no use to call CloseApp for such an application)
-     */
-    IMPORT_C TBool SystemApp() const;
-
-    /**
-     * ETrue if this is a wrt widget.
-     */
-    IMPORT_C TBool Widget() const;
-    
-    /**
-     * Application icon bitmap handle or 0.
-     * If may not be set if the screenshot is available, i.e. it is
-     * only guaranteed to be non-zero when ScreenshotHandle() returns 0.
-     */
-    IMPORT_C TInt AppIconBitmapHandle() const;
-    
-    /**
-     * Application icon mask handle.
-     * @see AppIconBitmapHandle
-     * The mask handle may be 0 even when the bitmap handle is non-zero.
-     */
-    IMPORT_C TInt AppIconMaskHandle() const;
-
-
-    IMPORT_C void SetWgId( TInt aWgId );
-    IMPORT_C void SetAppUid( const TUid& aUid );
-    IMPORT_C void SetAppNameL( const TDesC& aAppName );
-    IMPORT_C void SetScreenshotHandle( TInt aHandle );
-    IMPORT_C void SetAlwaysShown( TBool aValue );
-    IMPORT_C void SetSystemApp( TBool aValue );
-    IMPORT_C void SetWidget( TBool aValue );
-    IMPORT_C void SetAppIconHandles( TInt aBitmapHandle, TInt aMaskHandle );
-
-    IMPORT_C void ExternalizeL( RWriteStream& aStream );
-    IMPORT_C void InternalizeL( RReadStream& aStream );
-
-    IMPORT_C static void ExternalizeArrayL( RWriteStream& aStream,
-        const RTsFswArray& aArray );
-    IMPORT_C static void InternalizeArrayL( RReadStream& aStream,
-        RTsFswArray& aArray );
-
-private:
-    TInt iWgId;
-    TUid iAppUid;
-    HBufC* iAppName;
-    TInt iScreenshotHandle;
-    TBool iAlwaysShown;
-    TBool iSystemApp;
-    TBool iWidget;
-    TInt iAppIconBitmapHandle;
-    TInt iAppIconMaskHandle;
-    
-    TInt iReserved0;
-    TInt iReserved1;
-    TInt iReserved2;
-    TInt iReserved3;
-    };
-
-#endif
--- a/taskswitcher/contextengine/tsfswserver/utils/inc/utilslogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for utils
-*
-*/
-
-
-#ifdef _DEBUG // codescanner::ifpreprocessor
-_LIT( KTsLogFile, "tsfswutils.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID 0x0000000
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/contextengine/tsfswserver/utils/src/tsfswentry.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* 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:  Task list entry
- *
-*/
-
-
-#include "tsfswentry.h"
-#include <s32strm.h>
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::NewL
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEntry* CTsFswEntry::NewL()
-    {
-    CTsFswEntry* self = NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::NewLC
-// --------------------------------------------------------------------------
-//
-EXPORT_C CTsFswEntry* CTsFswEntry::NewLC()
-    {
-    CTsFswEntry* self = new ( ELeave ) CTsFswEntry;
-    CleanupStack::PushL( self );
-    return self;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::~CTsFswEntry
-// --------------------------------------------------------------------------
-//
-CTsFswEntry::~CTsFswEntry()
-    {
-    delete iAppName;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetWgId
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetWgId( TInt aWgId )
-    {
-    iWgId = aWgId;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppUid
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppUid( const TUid& aUid )
-    {
-    iAppUid = aUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppNameL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppNameL( const TDesC& aAppName )
-    {
-    delete iAppName; iAppName = 0;
-    iAppName = aAppName.AllocL();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetScreenshotHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetScreenshotHandle( TInt aHandle )
-    {
-    iScreenshotHandle = aHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAlwaysShown
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAlwaysShown( TBool aValue )
-    {
-    iAlwaysShown = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetSystemApp
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetSystemApp( TBool aValue )
-    {
-    iSystemApp = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetWidget
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetWidget( TBool aValue )
-    {
-    iWidget = aValue;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SetAppIconHandles
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::SetAppIconHandles( TInt aBitmapHandle, TInt aMaskHandle )
-    {
-    iAppIconBitmapHandle = aBitmapHandle;
-    iAppIconMaskHandle = aMaskHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::WgId
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::WgId() const
-    {
-    return iWgId;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppUid
-// --------------------------------------------------------------------------
-//
-EXPORT_C TUid CTsFswEntry::AppUid() const
-    {
-    return iAppUid;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppName
-// --------------------------------------------------------------------------
-//
-EXPORT_C const TDesC& CTsFswEntry::AppName() const
-    {
-    return iAppName ? *iAppName : KNullDesC();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ScreenshotHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::ScreenshotHandle() const
-    {
-    return iScreenshotHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AlwaysShown
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::AlwaysShown() const
-    {
-    return iAlwaysShown;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::SystemApp
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::SystemApp() const
-    {
-    return iSystemApp;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::Widget
-// --------------------------------------------------------------------------
-//
-EXPORT_C TBool CTsFswEntry::Widget() const
-    {
-    return iWidget;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppIconBitmapHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::AppIconBitmapHandle() const
-    {
-    return iAppIconBitmapHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::AppIconMaskHandle
-// --------------------------------------------------------------------------
-//
-EXPORT_C TInt CTsFswEntry::AppIconMaskHandle() const
-    {
-    return iAppIconMaskHandle;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ExternalizeL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::ExternalizeL( RWriteStream& aStream )
-    {
-    aStream.WriteInt32L( iWgId );
-    aStream.WriteInt32L( iAppUid.iUid );
-    aStream << AppName();
-    aStream.WriteInt32L( iScreenshotHandle );
-    aStream.WriteInt32L( iAlwaysShown );
-    aStream.WriteInt32L( iSystemApp );
-    aStream.WriteInt32L( iWidget );
-    aStream.WriteInt32L( iAppIconBitmapHandle );
-    aStream.WriteInt32L( iAppIconMaskHandle );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::InternalizeL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::InternalizeL( RReadStream& aStream )
-    {
-    iWgId = aStream.ReadInt32L();
-    iAppUid = TUid::Uid( aStream.ReadInt32L() );
-    delete iAppName; iAppName = 0;
-    iAppName = HBufC::NewL( aStream, KMaxTInt );
-    iScreenshotHandle = aStream.ReadInt32L();
-    iAlwaysShown = aStream.ReadInt32L();
-    iSystemApp = aStream.ReadInt32L();
-    iWidget = aStream.ReadInt32L();
-    iAppIconBitmapHandle = aStream.ReadInt32L();
-    iAppIconMaskHandle = aStream.ReadInt32L();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::ExternalizeArrayL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::ExternalizeArrayL( RWriteStream& aStream,
-        const RTsFswArray& aArray )
-    {
-    TInt count = aArray.Count();
-    aStream.WriteInt32L( count );
-    for ( TInt i = 0; i < count; ++i )
-        {
-        aArray[i]->ExternalizeL( aStream );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFswEntry::InternalizeArrayL
-// --------------------------------------------------------------------------
-//
-EXPORT_C void CTsFswEntry::InternalizeArrayL( RReadStream& aStream,
-        RTsFswArray& aArray )
-    {
-    aArray.ResetAndDestroy();
-    TInt count = aStream.ReadInt32L();
-    for ( TInt i = 0; i < count; ++i )
-        {
-        CTsFswEntry* entry = CTsFswEntry::NewLC();
-        entry->InternalizeL( aStream );
-        aArray.AppendL( entry );
-        CleanupStack::Pop( entry );
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* 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:  Build info file for Taskswitcher
-*
-*/
-
-
-#include "../contextengine/group/bld.inf"
-#include "../taskswitcherui/group/bld.inf"
-
--- a/taskswitcher/taskswitcherui/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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: 
-*
-*/
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-// iby file
-../rom/taskswitcher.iby             CORE_MW_LAYER_IBY_EXPORT_PATH(taskswitcher.iby)
-../rom/taskswitcherresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(taskswitcherresources.iby)
-
-// stub sis
-../sis/stubs/taskswitcher_stub.sis                  /epoc32/data/z/system/install/taskswitcher_stub.sis
-../sis/stubs/taskswitcher_stub.sis                  /epoc32/release/winscw/udeb/z/system/install/taskswitcher_stub.sis
-
-#include "../taskswitcherappecom/group/bld.inf"
-#include "../taskswitcherapp/group/bld.inf"
-
-PRJ_MMPFILES
--- a/taskswitcher/taskswitcherui/rom/taskswitcher.iby	Thu Mar 18 14:45:17 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: 
-*
-*/
-#ifndef TASKSWITCHER_IBY
-#define TASKSWITCHER_IBY
-
-// AknCapServer alternate fast swap plugin
-ECOM_PLUGIN( tsappecom.dll, tsappecom.rsc )
-
-data=DATAZ_/private/10003a3f/apps/tstaskswitcher_reg.rsc                          private/10003a3f/import/apps/tstaskswitcher_reg.rsc
-file=ABI_DIR/BUILD_DIR/taskswitcher.exe                                           PROGRAMS_DIR/hgteleport.exe
-
-// backup registration
-data=DATAZ_/private/20016BF0/backup_registration.xml                            private/20016BF0/backup_registration.xml
-
-// stub sis
-data=ZSYSTEM/install/taskswitcher_stub.sis                  system/install/taskswitcher_stub.sis
-
-#endif 
--- a/taskswitcher/taskswitcherui/rom/taskswitcherresources.iby	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +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: 
-*
-*/
-#ifndef TASKSWITCHERRES_IBY
-#define TASKSWITCHERRES_IBY
-
-// resources for taskswitcher app
-data=DATAZ_/APP_RESOURCE_DIR/tstaskswitcher.rsc    APP_RESOURCE_DIR/hgteleport.rsc
-
-#endif 
--- a/taskswitcher/taskswitcherui/sis/stubs/createstubs.bat	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-for %%f in (*.pkg) do makesis -s %%f
--- a/taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.pkg	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-; ------------------------------------------------------------------------------
-; Taskswitcher stub SIS package file.
-; Used to enable Taskswitcher to be updated from ROM with a SIS package.
-; When you add new files into this stub, please remember to update
-; SIS stub with "makesis -s" command.
-; ------------------------------------------------------------------------------
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"taskswitcher"},(0x20016BF0),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-""-"Z:\sys\bin\hgteleport.exe"
-""-"Z:\resource\apps\hgteleport.r??"
-""-"Z:\private\10003a3f\import\apps\tstaskswitcher_reg.rsc"
-
-""-"Z:\sys\bin\tsappecom.dll"
-""-"Z:\resource\plugins\tsappecom.rsc"
Binary file taskswitcher/taskswitcherui/sis/stubs/taskswitcher_stub.sis has changed
--- a/taskswitcher/taskswitcherui/sis/taskswitcher.pkg	Thu Mar 18 14:45:17 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: 
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"taskswitcher"},(0x20016BF0),1,0,0,TYPE=SA, RU
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-"/epoc32/release/armv5/urel/taskswitcher.exe" - "!:\sys\bin\hgteleport.exe"
-"/epoc32/data/z/resource/apps/tstaskswitcher.rsc" - "!:\resource\apps\hgteleport.rsc"
-"/epoc32/data/z/private/10003a3f/apps/tstaskswitcher_reg.rsc" - "!:\private\10003a3f\import\apps\tstaskswitcher_reg.rsc"
-
-"/epoc32/release/armv5/urel/tsappecom.dll" - "!:\sys\bin\tsappecom.dll"
-"/epoc32/data/z/resource/plugins/tsappecom.rsc" - "!:\resource\plugins\tsappecom.rsc"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* 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 files for task switcher app
-*
-*/
-
-
-NAME HGTL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <appinfo.rh>
-
-#include <avkon.loc>
-#include <taskswitcher.loc>
-
-#include "tscommands.hrh"
-
-// ---------------------------------------------------------
-//   
-//    Define the resource file signature 
-//    This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// ---------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-// ---------------------------------------------------------
-//   
-//    Define default menu and CBA key.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_ts_menubar;
-    cba = r_ts_cba_nontouch;
-    }
-
-// ---------------------------------------------------------
-//   
-//    CBA for non-touch.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_ts_cba_nontouch
-	{
-	flags = 0;
-	buttons = 
-    	{
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;}, // left softkey
-    	CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;}, // right softkey
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;} // middle softkey, same as lsk, label is not shown in touch
-    	};
-	}
-
-// ---------------------------------------------------------
-//   
-//    CBA for touch.
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_ts_cba_touch
-	{
-	flags = 0;
-	buttons = 
-    	{
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_empty;}, // left softkey, no label
-    	CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;}, // right softkey
-    	CBA_BUTTON {id=EAknSoftkeySelect; txt=text_softkey_select;} // middle softkey, same as lsk, label is not shown in touch
-    	};
-	}
-
-
-// ---------------------------------------------------------
-//   
-//   r_ts_menubar
-//   Menubar for ts
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_ts_menubar
-    {
-    titles =
-        {
-        MENU_TITLE {menu_pane = r_ts_menu;}
-        };
-    }
-
-
-// ---------------------------------------------------------
-//   
-//   r_ts_menu
-//   Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_ts_menu
-    {
-    items = 
-        {
-        MENU_ITEM { command = ETsCmdHelp; 	 txt = qtn_options_help; },
-        MENU_ITEM { command = EAknSoftkeyExit;   	txt = text_softkey_exit; }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_panel__name
-//   task switcher panel name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_ts_panel_name
-    {
-    buf="Task Switcher";
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_okcancel
-//   message dialog with ok and cancel softkeys labels
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_okcancel
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_yesno
-//   message dialog with yes and no softkeys labels
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_yesno
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_YES_NO;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_message_dialog_ok
-//   message dialog with ok softkey label
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_message_dialog_ok
-    {
-	flags = EGeneralQueryFlags;
-	buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-	items =
-	    {
-		DLG_LINE
-		    {
-			type = EAknCtPopupHeadingPane;
-			id = EAknMessageQueryHeaderId;
-			control = AVKON_HEADING
-			    {
-			    headinglayout = 0;			
-			    };
-		    },
-		DLG_LINE
-	    	{
-			type = EAknCtMessageQuery;
-			id = EAknMessageQueryContentId;
-			control = AVKON_MESSAGE_QUERY { };
-		    }
-	    };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_ts_fsw_confirm_close_query
-//   shown when Clear key is pressed in FSW
-//
-// ---------------------------------------------------------
-//
-RESOURCE DIALOG r_ts_fsw_confirm_close_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-
-
-RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
-	{
-	short_caption = "Task Switcher";
-	caption_and_icon =
-		{
-		CAPTION_AND_ICON_INFO 
-			{
-			caption="Task Switcher";
-			}
-		};
-	}
-
-
-RESOURCE TBUF r_ts_title { buf = "Task Switcher"; }
-
-RESOURCE TBUF r_ts_fsw_activate { buf = qtn_task_switcher_popup_open_app; }
-RESOURCE TBUF r_ts_fsw_close { buf = qtn_task_switcher_popup_close_app; }
-RESOURCE TBUF r_ts_fsw_close_all { buf = qtn_task_switcher_popup_close_all; }
-RESOURCE TBUF r_ts_fsw_confirm_close { buf = qtn_memlo_confirm_close; }
-
-RESOURCE TBUF r_task_switcher_heading_applications { buf = qtn_task_switcher_heading_applications; }
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/data/tstaskswitcher_reg.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008-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:  task switcher application's registration resource file 
-*
-*/
-
-
-#include <appinfo.rh>
-#include <tstaskswitcher.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x20016BF0
-
-RESOURCE APP_REGISTRATION_INFO 
-	{
-	app_file="hgteleport";
-	localisable_resource_file="\\resource\\apps\\hgteleport";
-	localisable_resource_id = R_LOCALISABLE_APP_INFO;
-	}
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/backup_registration.xml	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-
-  <passive_backup>
-    <!-- backup all private data -->
-    <include_directory name = "\" />
-  </passive_backup>
-  
-  <!-- backup executables and resources from SIS files -->
-  <system_backup />
-
-  <!-- backup cenrep data -->  
-  <proxy_data_manager sid = "0x10202BE9" />
-
-  <!-- backup sqlite data -->
-  <proxy_data_manager sid = "0x10281E17" />
-  
-  <restore requires_reboot = "no"/>
-
-</backup_registration>
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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:  Build information file for task switcher
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../loc/taskswitcher.loc       MW_LAYER_LOC_EXPORT_PATH(taskswitcher.loc)
-backup_registration.xml     /epoc32/data/z/private/20016BF0/backup_registration.xml
-backup_registration.xml     /epoc32/release/winscw/udeb/z/private/20016BF0/backup_registration.xml
-../inc/tsuid.hrh    |../../inc/tsuid.hrh
-
-PRJ_MMPFILES
-tsapp.mmp
-
-PRJ_TESTMMPFILES
--- a/taskswitcher/taskswitcherui/taskswitcherapp/group/tsapp.mmp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* 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:  mmp file for taskswitcher application
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-#include "../inc/tsuid.hrh"
-
-EPOCHEAPSIZE    0x100000 0xa00000  // 1 Mb - 10 Mb
-EPOCSTACKSIZE   0x5000 // 20KB
-
-TARGET          taskswitcher.exe
-TARGETTYPE      exe
-UID             0x100039CE KTsAppUidValue
-CAPABILITY      CAP_APPLICATION NetworkControl PowerMgmt
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          tsappui.cpp
-SOURCE          tsapplication.cpp
-SOURCE          tsdocument.cpp
-SOURCE          tstaskswitcher.cpp 
-SOURCE          tsappview.cpp
-SOURCE          tsfastswaparea.cpp
-SOURCE          tsfastswapgrid.cpp
-SOURCE          tsdevicestate.cpp
-SOURCE          tseventcontroler.cpp
-SOURCE          tsphysicsengine.cpp
-SOURCE          tsphysics.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../trace
-USERINCLUDE     ../../../contextengine/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY         euser.lib
-LIBRARY         apparc.lib
-LIBRARY         cone.lib
-LIBRARY         eikcore.lib
-LIBRARY         avkon.lib
-LIBRARY         apgrfx.lib
-LIBRARY         ws32.lib
-LIBRARY         aknskins.lib
-LIBRARY         egul.lib
-LIBRARY         eikcoctl.lib
-LIBRARY         fbscli.lib
-LIBRARY         aknskinsrv.lib
-LIBRARY		    commonengine.lib
-LIBRARY		    efsrv.lib
-LIBRARY		    estor.lib
-LIBRARY         aknnotify.lib
-LIBRARY         hlplch.lib
-LIBRARY         aknicon.lib
-LIBRARY         bitgdi.lib
-LIBRARY         gdi.lib
-LIBRARY         cdlengine.lib
-LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         oommonitor.lib
-LIBRARY         hal.lib
-LIBRARY         gfxtrans.lib
-LIBRARY         akntransitionutils.lib
-LIBRARY         bafl.lib
-LIBRARY         akntouchgesturefw.lib
-LIBRARY         aknphysics.lib
-LIBRARY         touchfeedback.lib
-
-DEBUGLIBRARY    flogger.lib
-
-LIBRARY         tscontextservicesutils.lib
-LIBRARY         tsfswclient.lib
-LIBRARY         tsfswutils.lib
-
-SOURCEPATH      ../data
-START RESOURCE  tstaskswitcher.rss
-HEADER
-TARGETPATH      APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-SOURCEPATH      ../data
-START RESOURCE  tstaskswitcher_reg.rss
-DEPENDS tstaskswitcher.rsg
-TARGETPATH      /private/10003a3f/apps
-END
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplication.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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:  Application class
- *
-*/
-
-
-#ifndef TSAPPLICATION_H
-#define TSAPPLICATION_H
-
-#include <e32base.h> 
-#include <aknapp.h>
-
-class CTsApplication : public CAknApplication
-    {
-public:
-    // from CAknApplication
-    /**
-     * Returns the application DLL UID value
-     *
-     * @since S60 v5.0
-     * @return the UID of this Application/Dll
-     */
-    TUid AppDllUid( ) const;
-
-protected:
-    // from CAknApplication
-    /**
-     * Create a CApaDocument object and return a pointer to it
-     *
-     * @since S60 v5.0
-     * a pointer to the created document
-     */
-    CApaDocument* CreateDocumentL( );
-    };
-
-#endif // TSAPPLICATION_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsapplogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +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:  Defines logs for tsapp
-*
-*/
-
-
-#ifdef _DEBUG
-#include "../inc/tsuid.hrh"
-_LIT( KTsLogFile, "tsapp.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID KTsAppUidValue
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* 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:  appui
- *
-*/
-
-
-#ifndef TSAPPUI_H
-#define TSAPPUI_H
-
-#include <e32base.h> 
-#include <aknappui.h>
-
-#include <gfxtranseffect/gfxtranseffect.h>
-#include <akntransitionutils.h>
-
-#include "tsproplistener.h"
-#include "tscenreplistener.h"
-
-// FORWARD DECLARATIONS
-class CTsAppView;
-class CTsActionUtility;
-class CTsDeviceState;
-
-/**
- * CTsAppUi
- * Appui for tsak swicher app
- */
-class CTsAppUi : public CAknAppUi, 
-                         public MTsPropertyChangeObserver,
-                         public MTsCenrepChangeObserver,
-                         public MGfxTransEffectObserver
-    {
-
-public:
-    /**
-     * Perform the second phase construction of a CTsAppUi object
-     * this needs to be public due to the way the framework constructs the AppUi
-     */
-    void ConstructL();
-
-    /**
-     * Perform the first phase of two phase construction.
-     * This needs to be public due to the way the framework constructs the AppUi
-     */
-    CTsAppUi();
-
-    /**
-     * Destroy the object and release all memory objects
-     */
-    ~CTsAppUi();
-
-public: //effects
-    /**
-     * @return value of theme effects enabled flag
-     */
-    TBool EffectsEnabled() const;
-    
-    /**
-     * Function start transition  
-     */
-    void StartTransion( TUint aTransitionType );
-    
-    /**
-     * from MGfxTransEffectObserver
-     */
-    void TransitionFinished(const CCoeControl* aControl, TUint aAction);
-    
-    void MoveAppToForeground( TUint aTransitionType );
-    void MoveAppToBackground( TUint aTransitionType );
-    
-public:
-    /**
-     * From MTsCenrepChangeObserver
-     */
-    void CenrepChanged( TUint32 aKey, TInt aNewValue );
-    
-
-private:
-
-    // From MTsPropertyChangeObserver
-    void PropertyChanged( TUid aCategory, TUint aKey );
-
-    // From CEikAppUi
-    void HandleResourceChangeL( TInt aType );
-    void HandleForegroundEventL( TBool aForeground );
-    void HandleCommandL( TInt aCommand );
-    
-    void StartTransition( TUint aTranstionId,
-                          TBool aVisibility,
-                          TBool aLayers, 
-                          TUint aSubCom );
-
-private: // New functions
-    
-    /**
-     * Called from HandleForegroundEventL if the app came to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from HandleForegroundEventL if the app went to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * Sets P&S property which is used to monitor and set Taskswitcher to 
-     * background/foreground and short/long app key press.
-     * 
-     * @param aValue Property value. 
-     */
-    void SetTaskswitcherStateProperty( TInt aValue );
-    
-    /**
-     * Sends request for close some 
-     * other apps to free memory for 
-     * task switcher app
-     */
-    void FreeMemoryRequest();
-
-    static TInt GoToBackgroundTimerCallback( TAny* aParam );
-
-private:
-
-    // Taskswitcher application view, owned
-    CTsAppView* iAppView;
-    
-    // Listener for app key long press P&S, owned
-    CTsPropertyListener* iPropListener;
-    
-    // Tells if Taskswitcher is in foreground or in background
-    TBool iForeground;
-    
-    // Application arch task which refers to our own app
-    TApaTask iApplicationTask;
-
-    // Device state
-    CTsDeviceState* iDeviceState;
-
-    // Buffer to keeping some memory allocation while being in background.    
-    TUint8* iMemAllocBuf;
-
-    CPeriodic* iGoToBackgroundTimer;
-    
-    TBool iEffectsEnabled;
-    
-    /**
-     * Cenrep listener for the tfxserver enabled/disabled key.
-     */    
-    CTsCenrepListener* iThemeEffectsEnabledWatcher;
-    };
-
-#endif // TSAPPUI_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* 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:  appui
- *
-*/
-
-
-#ifndef TSAPPVIEW_H
-#define TSAPPVIEW_H
-
-#include <e32base.h> 
-#include <coecntrl.h>
-#include <AknPopupFader.h>
-#include "tsdevicestate.h"
-#include "tsdatachangeobserver.h"
-#include "tseventcontrolerobserver.h"
-
-// FORWARD DECLARATIONS
-class CAknsFrameBackgroundControlContext;
-class CTsFastSwapArea;
-class CAknPopupHeadingPane;
-class CTsEventControler;
-
-/**
- * Taskswitcher applicatio view class.
- */
-class CTsAppView : public CCoeControl, public MCoeControlObserver,
-        public MTsDeviceStateObserver,
-        public MAknFadedComponent,
-        public MTsDataChangeObserver,
-        public MTsEventControlerObserver
-    {
-public:
-
-    /**
-     * Two-phase constructor.
-     * 
-     * @param aRect Area where view should draw itself.
-     */
-    static CTsAppView* NewL(const TRect& aRect,
-            CTsDeviceState& aDeviceState);
-
-    /**
-     * @copydoc NewL
-     */
-    static CTsAppView* NewLC(const TRect& aRect,
-            CTsDeviceState& aDeviceState);
-
-    /**
-     * Destructor.
-     */
-    ~CTsAppView();
-
-    /**
-     * Called from appui if the app came to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from appui if the app went to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * From CCoeControl      Method handling the pointer events while the fsw is used.
-     *
-     * @param aPointerEvent  Information about the event.
-     */
-    void HandlePointerEventL( const TPointerEvent &aPointerEvent );
-
-public:
-    // from CCoeControl
-    void Draw( const TRect& aRect ) const;
-    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    void SizeChanged();
-    
-    //Own
-    /*
-     * Forward app key handling to fasswaparea control.
-     */
-    void HandleAppKey(TInt aType);
-
-protected:
-    // from MCoeControlObserver
-    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
-
-    // from MTsDeviceStateObserver
-    void HandleDeviceStateChanged( TChangeType aChangeType );
-
-protected: // from MAknFadedComponent
-    TInt CountFadedComponents();
-    CCoeControl* FadedComponent( TInt aIndex );
-
-protected: // from MTsCenrepChangeObserver
-    void CenrepChanged( TUint32 aKey, TInt aNewValue );
-
-protected: // from MTsDataChangeObserver
-    void DataChanged( CCoeControl* aWhere, TInt aNewCount );
-
-private:
-
-    /**
-     * @copydoc NewL
-     */
-    void ConstructL( const TRect& aRect );
-
-    /**
-     * C++ constructor.
-     */
-    CTsAppView( CTsDeviceState& aDeviceState );
-
-    /**
-     * Updates the internal state for currently focused control.
-     * @param   aNewFocusedControl  ptr to new focused control, ownership not taken
-     */    
-    void ChangeFocus( CCoeControl* aNewFocusedControl );
-    
-    /**
-     * Creates components.
-     */
-    void CreateControlsL();
-    
-    /**
-     * Appends component rects to the given array.
-     * @param   aRects  array
-     */
-    void GetRects( RArray<TRect>& aRects );
-    
-    /**
-     * Handles key event according to the portrait-style (vertical) layout.
-     */
-    TKeyResponse OfferKeyEventPortraitStyleL( const TKeyEvent& aKeyEvent, TEventCode aType);
-
-    /**
-     * Calculates and returns the following:
-     *   - the rectangle for main_tport_pane
-     *   - the outer rectangle for the frame
-     *   - the inner rectangle for the frame
-     */
-    void UpdatePopupRects(  );
-
-    /**
-     * Updates the text in the applications and suggestions heading panes.
-     */
-    void UpdateHeadingsL();
-    
-    /**
-     * Disables transition animations for taskswitcher app.
-     * (the automatic effects that are applied when coming/leaving foreground)
-     */
-    void DisableAppSwitchEffects();
-    
-    
-public://From MTsEventControlerObserver
-    /**
-     * Declare drag gesture handling.
-     * @param aOffset - drag distance
-     */
-    virtual void MoveOffset(const TPoint& aOffset);
-    
-    /**
-     * Declare tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void TapL(const TPoint& aPoint);
-    
-    /**
-     * Declare long tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void LongTapL(const TPoint& aPoint);
-    
-    /**
-     * 
-     */
-    virtual void Drag(
-        const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Declare animation stop handling
-     */
-    virtual void Stop();
-    
-    /**
-     * Declare getter for view position
-     */
-    virtual TPoint ViewPos() const;
-        
-private: // Data
-
-    // Ref to container for commonly used instances
-    CTsDeviceState& iDeviceState;
-
-    // Background context, owned
-    CAknsFrameBackgroundControlContext* iBgContext;
-    
-    // Fast Swap area, owned
-    CTsFastSwapArea* iFastSwapArea;
-
-    /**
-     * Heading pane, own
-     */
-    CAknPopupHeadingPane* iAppsHeading;
-
-    /**
-     * Currently focused control, not own
-     */
-    CCoeControl* iFocused;
-    
-    /**
-     * Rectangle of the control.
-     */
-    TRect iViewRect;
-    
-    /**
-     * Popup fader instance.
-     */
-    TAknPopupFader iPopupFader;
-    
-    /**
-     * Pointer for background image, owned
-     */
-    TRect iBgContextOuterRect;
-    TRect iBgContextInnerRect;
-    CTsEventControler* iEvtHandler; //own
-    };
-
-#endif // TSAPPVIEW_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tscommands.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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:  command ids
-*
-*/
-
-
-#ifndef __TSCOMMANDS_HRH__
-#define __TSCOMMANDS_HRH__
-
-enum
-	{
-	ETsCmdBase = 20000,
-	ETsCmdHelp
-	};
-
-#endif //__TSCOMMANDS_HRH__
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdatachangeobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* 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: 
- *
-*/
-
- 
-#ifndef TSDATACHANGEINTERFACE_H
-#define TSDATACHANGEINTERFACE_H
-
-#include <e32base.h>
-
-class CCoeControl;
-
-/**
- * Callback mixin class to move the whole app to background or foreground.
- */
-class MTsDataChangeObserver
-    {
-public:
-    virtual void DataChanged( CCoeControl* aWhere, TInt aNewCount ) = 0;
-    };
-
-#endif // TSDATACHANGEINTERFACE_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdevicestate.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,227 +0,0 @@
-/*
-* 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:  Device state (touch mode, screen orientation) handler
- *
-*/
-
-
-#ifndef TSDEVICESTATE_H_
-#define TSDEVICESTATE_H_
-
-#include <e32base.h>
-#include "tsappui.h"
-#include "tsproplistener.h"
-
-/**
- * Interface for getting notifications about screen orientation
- * and/or touch state etc. changes.
- */
-class MTsDeviceStateObserver
-    {
-public:
-    /**
-     * Type of change.
-     */
-    enum TChangeType
-        {
-        // screen orientation (portrait <=> landscape) has changed
-        EOrientation = 0x01,
-        // touch enabled/disabled status has changed
-        ETouchState = 0x02,
-        // skin has changed
-        ESkin = 0x04,
-        // input device mode change
-        EDeviceType = 0x08,
-        // all of the above
-        EAny = 0xFF
-        };
-
-    /**
-     * Called when a change, to which the observer is registered,
-     * has happened.
-     */
-    virtual void HandleDeviceStateChanged( TChangeType aChangeType ) = 0;
-    };
-
-/**
- * Class for keeping track of screen orientation and touch enabled/disabled changes.
- */
-class CTsDeviceState :
-    public CBase,
-    public MTsPropertyChangeObserver
-    {
-public:
-    /**
-     * Enumeration for TouchState().
-     */
-    enum TTouchState
-        {
-        ETouchEnabled,
-        ETouchDisabled
-        };
-
-    /**
-     * Enumeration for Orientation().
-     */
-    enum TOrientation
-        {
-        EPortrait,
-        ELandscape
-        };
-
-    /**
-     * Enumeration for DeviceType().
-     */
-    enum TDeviceType
-        {
-        EHybrid = 0,
-        EFullTouch  = 1
-        };
-
-    /**
-     * Creates a new instance.
-     */
-    static CTsDeviceState* NewL();
-
-    /**
-     * Destructor.
-     */
-    ~CTsDeviceState();
-
-    /**
-     * Returns the current state of touch awareness.
-     */
-    TTouchState TouchState() const;
-
-    /**
-     * Returns the current screen orientation.
-     */
-    TOrientation Orientation() const;
-
-    /**
-     * Returns the current device input type.
-     */
-    TDeviceType DeviceType() const;
-
-    /**
-     * Registers an observer.
-     * @param   aObserver   ref to observer
-     * (same observer can be added several times with different mask if needed)
-     * @param   aMask       bitmask composed from TChangeType values
-     * (when to notify the observer)
-     */
-    void AddObserverL( MTsDeviceStateObserver& aObserver, TInt aMask );
-
-    /**
-     * Deregisters the given observer.
-     * @param   aObserver   ref to observer
-     */
-    void RemoveObserver( MTsDeviceStateObserver& aObserver );
-
-    /**
-     * Called from appui.
-     */
-    void HandleResourceChange( TInt aType );
-    
-    //From MTsPropertyChangeObserver
-public:
-    /**
-     * Observer interface for getting notifications about a P&S property change.
-     */
-	virtual void PropertyChanged( TUid aCategory, TUint aKey );
-private:
-    /**
-     * Constructor.
-     */
-    CTsDeviceState();
-    
-    /**
-     * Performs 2nd phase construction.
-     */
-    void ConstructL();
-
-    /**
-     * Checks if touch is enabled or not and performs
-     * appropriate actions.
-     */
-    void CheckTouchState();
-
-    /**
-     * Checks the screen orientation and performs
-     * appropriate actions.
-     */
-    void CheckOrientation();
-    
-    /**
-     * Checks the device input type.
-     */
-    void CheckDeviceType();
-    
-    /**
-     * Notifies all observers that are registered for the given type.
-     */
-    void NotifyObservers( MTsDeviceStateObserver::TChangeType aType );
-
-    class SObserver;
-
-    /**
-     * Identity function to perform comparison between observer array items.
-     */
-    static TBool ObserverIdentity( const SObserver& aA, const SObserver& aB );
-
-private:
-    /**
-     * Current touch enabled/disabled state.
-     */
-    TTouchState iTouchState;
-    
-    /**
-     * Current screen orientation.
-     */
-    TOrientation iOrientation;
-    
-    /**
-     * Current the device input type.
-     */
-    TDeviceType iDeviceType;
-    
-    /**
-     * Observer array entry struct.
-     */
-    struct SObserver
-        {
-        TInt iMask;
-        MTsDeviceStateObserver* iObserver; // not owned
-        SObserver( TInt aMask, MTsDeviceStateObserver* aObserver )
-            : iMask( aMask ), iObserver( aObserver ) { }
-        };
-        
-    /**
-     * Observer array.
-     */
-    RArray<SObserver> iObservers;
-
-    /**
-     * Counter to indicate that we have not yet returned
-     * from a previous HandleResourceChange.
-     */
-    TInt iResChangeActiveCount;
-    
-    /**
-     * Flip status change observer.
-     */
-    CTsPropertyListener* iFlipStatusObserver;
-    };
-
-#endif // TSDEVICESTATE_H_
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsdocument.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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:  Document class
- *
-*/
-
-
-#ifndef TSDOCUMENT_H
-#define TSDOCUMENT_H
-
-#include <e32base.h> 
-#include <AknDoc.h>
-
-class CTsDocument : public CAknDocument
-    {
-public:
-    /**
-     * Construct a CTsDocument for the AVKON application aApp
-     * using two phase construction, and return a pointer to the created object
-     * aApp application creating this document
-     *
-     * @since S60 v5.0
-     * @return a pointer to the created instance of CTsDocument
-     */
-    static CTsDocument* NewL( CEikApplication& aApp );
-
-    /**
-     * Construct a CTsDocument for the AVKON application aApp
-     * using two phase construction, and return a pointer to the created object
-     *
-     * @since S60 v5.0
-     * @param aApp application creating this document
-     * @return a pointer to the created instance of CTsDocument
-     */
-    static CTsDocument* NewLC( CEikApplication& aApp );
-
-    /**
-     * Destroy the object and release all memory objects
-     *
-     * @since S60 v5.0
-     */
-    ~CTsDocument( );
-
-    /**
-     * Makes Startup-application hidden in menu shell and fastswap window
-     *
-     * @since S60 v5.0
-     * @param aWgName application windows group name
-     */
-    void UpdateTaskNameL( CApaWindowGroupName* aWgName );
-
-public:
-    // from CAknDocument
-    /**
-     * Create a CTsAppUi object and return a pointer to it
-     *
-     * @since S60 v5.0
-     * @return a pointer to the created instance of the AppUi created
-     */
-    CEikAppUi* CreateAppUiL( );
-
-private:
-    /**
-     * Perform the second phase construction of a CTsDocument object
-     *
-     * @since S60 v5.0
-     */
-    void ConstructL( );
-
-    /**
-     * Perform the first phase of two phase construction
-     *
-     * @since S60 v5.0
-     * @param aApp application creating this document
-     */
-    CTsDocument( CEikApplication& aApp );
-    };
-
-#endif // TSDOCUMENT_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* 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:  Gesture and physics helper declaration
- *
-*/
-
-
-#ifndef TSEVENTCONTROLER_H
-#define TSEVENTCONTROLER_H
-
-#include "tseventcontrolerobserver.h"
-#include <akntouchgesturefw.h>
-#include <aknphysicsobserveriface.h>
-
-class CTsPhysicsEngine;
-using namespace AknTouchGestureFw;
-/**
- * CTsEventControler
- * Input events handler. Class analyse pointer events and translate it to gesture. Procerss animations physics
- */
-NONSHARABLE_CLASS(CTsEventControler): 
-    public CBase,
-    public MAknTouchGestureFwObserver,
-    public MAknPhysicsObserver
-    {
-public:
-    /**
-     * Two phase constructor. Instance is pushed on cleanup stack.
-     * @param aObs - reference to controler observer
-     * @param aEventSrc - reference to control which provide pointer events
-     * @return address of controler instance
-     */
-    static CTsEventControler* NewLC(MTsEventControlerObserver& aObs, 
-                                            CCoeControl& aEventSrc);
-    
-    /**
-     * Two phase constructor.
-     * @param aObs - reference to control observer
-     * @param aEventSrc - reference to control which provide pointer events
-     * @return address of controler instance
-     */
-    static CTsEventControler* NewL(MTsEventControlerObserver& aObs, 
-                                           CCoeControl& aEventSrc);
-    
-    /**
-     * Destructor
-     */
-    ~CTsEventControler();
-
-private:
-    /**
-     * First phase construction
-     */
-    CTsEventControler(MTsEventControlerObserver& aObserver);
-    
-    /**
-     * Second phase construction
-     * @param aEventSrc - control that provides pointer ivents to handler
-     */
-    void ConstructL(CCoeControl& aEventSrc);
-    
-    /**
-     * Implements gesture handling
-     * @param aEvent - gesture event
-     * @see MAknTouchGestureFwObserver
-     */
-    void HandleTouchGestureL(MAknTouchGestureFwEvent& aEvent);
-    
-    /**
-     * Implements tap gesture handling ( short tap, double tap, long tap )
-     * @param aEvent - tap event
-     */
-    void HandleTapEventL(MAknTouchGestureFwTapEvent& aEvent);
-    
-    /**
-     * Implements drag gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleDragEventL(MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Implements flick gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleFlickEventL(MAknTouchGestureFwFlickEvent& aEvent);
-    
-    //From MAknPhysicsObserver
-public:
-    /**
-     * Physics emulation has moved the view.
-     * 
-     * When this method is called client should update its visual and logical
-     * states to reflect the changes caused by view move. Note that if the
-     * parameter @c aDrawNow is @c EFalse client is not allowed to redraw the
-     * display but should only update its logical state.
-     * Physics engine will ensure that the last frame is always drawn.
-     *
-     * @since S60 v5.0
-     *
-     * @param  aNewPosition  The new position of the view.
-     * @param  aDrawNow      @c ETrue if client should redraw the screen,
-     *                       otherwise @c EFalse.
-     * @param  aFlags        Additional flags, not used currently.
-     */
-    virtual void ViewPositionChanged( const TPoint& aNewPosition,
-                              TBool aDrawNow,
-                              TUint aFlags );
-        
-    /**
-     * Physics emulation has stopped moving the view
-     *
-     * @since S60 v5.0
-     */
-    virtual void PhysicEmulationEnded();
-
-    /**
-     * Returns the observer's view position.
-     *
-     * @since S60 v5.0
-     *
-     * @return Physics observer's view position.
-     */
-    virtual TPoint ViewPosition() const;
-    
-public:
-    
-    /**
-     * Initialize animation between current position and destination point
-     * @param aPoint - destination point 
-     */
-    void Animate(const TPoint& aPoint);
-
-    /**
-     * 
-     * @param aWorldSize Physics world size.
-     * @param aViewSize Physics (visible) view size.
-     * @param aLandscape ETrue if physics should work in landscape.     
-     **/
-    void ReInitPhysicsL(const TSize& aWorldSize, 
-                        const TSize& aViewSize,
-                        TBool aLandscape);
-    
-    /**
-     * Stops currently ongoing animation
-     */
-    void StopAnimation();
-    
-private:
-    /**
-     * Controler observer. Not own
-     */
-    MTsEventControlerObserver& iObserver;
-    
-    /**
-     * Gesture recognition helper. Own
-     */
-    CAknTouchGestureFw* iGestureHelper;
-    
-    /**
-     * Physics helper. Own
-     */
-    CTsPhysicsEngine* iPhysicsHelper;
-    };
-
-#endif // TSEVENTCONTROLER_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontrolerobserver.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
-* 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:  Define gesture observer interface
- *
-*/
-
-
-#ifndef TSGESTUREOBSERVER_H
-#define TSGESTUREOBSERVER_H
-
-#include <e32base.h>
-#include <akntouchgesturefw.h>
-
-/**
- * MTsGestureObserver
- * Define gesture observer interface
- */
-NONSHARABLE_CLASS(MTsEventControlerObserver)
-    {
-public:
-    /**
-     * Declare drag gesture handling.
-     * @param aOffset - drag distance
-     */
-    virtual void MoveOffset(const TPoint& aOffset)=0;
-    
-    /**
-     * Declare tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void TapL(const TPoint& aPoint)=0;
-    
-    /**
-     * Declare long tap gesture handling.
-     * @param aPoint - tap position
-     */
-    virtual void LongTapL(const TPoint& aPoint)=0;
-    
-    /**
-     * Declare drag gesture handling.
-     * @param aEvent - drag event
-     */
-    virtual void Drag(const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent) =0;
-    
-    /**
-     * Declare animation stop handling
-     */
-    virtual void Stop()=0;
-    
-    /**
-     * Declare getter for view position
-     */
-    virtual TPoint ViewPos() const =0;
-    };
-
-#endif // TSGESTUREOBSERVER_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* 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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-#ifndef TSFASTSWAPAREA_H
-#define TSFASTSWAPAREA_H
-
-#include <e32base.h>
-#include <eikmobs.h>
-#include "tsdevicestate.h"
-#include "tsfswclientobserver.h"
-#include "tsfastswapgrid.h"
-#include "tseventcontrolerobserver.h"
-
-
-// FORWARD DECLARATIONS
-class CTsFswClient;
-class CTsFswEntry;
-class CAknStylusPopUpMenu;
-class CAknQueryDialog;
-class CTsEventControler;
-class MTsDataChangeObserver;
-
-/**
- * Taskswitcher Fast Swap area UI.
- */
-class CTsFastSwapArea: public CCoeControl,
-                               public MEikMenuObserver,
-                               public MTsFswObserver,
-                               public MEikListBoxObserver,
-                               public MTsFastSwapGridObserver,
-                               private MTsEventControlerObserver,
-                               public MTsDeviceStateObserver,
-                               public MTsFastSwapTimerObserver
-    {
-public:
-    /**
-     * Two-phase constructor.
-     * 
-     * @param aRect Area where fast swap info & list should draw itself.
-     * @param aParent Parent CoeControl. 
-     */
-    static CTsFastSwapArea* NewL( const TRect& aRect,
-            CCoeControl& aParent, CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-
-    /**
-     * @copydoc NewL
-     */
-    static CTsFastSwapArea* NewLC( const TRect& aRect,
-            CCoeControl& aParent, CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-
-    /**
-     * Destructor.
-     */
-    ~CTsFastSwapArea();
-
-    /**
-     * Called from appview when coming to foreground.
-     */
-    void HandleSwitchToForegroundEvent();
-    
-    /**
-     * Called from appview when going to background.
-     */
-    void HandleSwitchToBackgroundEvent();
-
-    /**
-     * Called after construction to set up additional properties,
-     * like the control observer.
-     */
-    void Setup( MCoeControlObserver& aControlObserver );
-
-    /**
-     * Saves the index of the currently selected (highlighted) item.
-     */
-    void SaveSelectedIndex();
-    
-    /**
-     * Restores the selection (highlight) position.
-     */
-    void RestoreSelectedIndex();
-
-    // Functions to perform activate, close, close others operations.
-    // They are public so same functionality can be implemented in the
-    // Options menu (appui) for example.
-    
-    /**
-     * Index of highlighted item or KErrNotFound.
-     */
-    TInt SelectedIndex() const;
-    
-    /**
-     * Brings the app corresponding to the item at given index into foreground.
-     */
-    void SwitchToApp( TInt aIndex );
-    
-    /**
-     * Sends close msg to given app.
-     * @param   aIndex      index
-     * @param   aSuppressRendering  content is not refreshed if ETrue
-     */
-    void TryCloseAppL( TInt aIndex, TBool aSuppressRendering = EFalse );
-    
-    /**
-     * Tries to Close all applications that cn be closed
-     */
-    void TryCloseAllL();
-    
-    /**
-     * True if it is allowed to ask the given app to close.
-     * @param   aIndex  index
-     */
-    TBool CanClose( TInt aIndex ) const;
-    
-    /**
-     * @param  aSelectedItem  item for which pop up is shown
-     * 
-     * @return ETrue, when number of closable apps is >= 2 or there is at least
-     *                one closable item and non closable item is selected.
-     * @return EFalse, when number of closable apps is < 2.
-     */
-    TBool CanCloseAll( TInt aSelectedItem ) const;
-
-    /**
-     * Returns the number of items in the list.
-     */
-    TInt Count() const;
-
-    /**
-     * Returns the underlying Ganes control pointer.
-     */
-    CCoeControl* GetChildControl() { return iGrid; }
-
-    /**
-     * Sets the data-changed observer.
-     */
-    void SetDataChangeObserver( MTsDataChangeObserver* aDcObserver );
-
-    /*
-     * Handling short/long app key.
-     */
-    void HandleAppKey(TInt aType);
-
-private:
-
-    /**
-     * @copydoc NewL
-     */
-    void ConstructL( const TRect& aRect );
-
-    /**
-     * C++ constructor.
-     */
-    CTsFastSwapArea(CCoeControl& aParent,
-            CTsDeviceState& aDeviceState,
-            CTsEventControler& aEventHandler);
-    
-    // From MEikListBoxObserver
-    void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-    
-public:
-    /**
-     * Implements drag gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void MoveOffset(const TPoint&);
-
-    /**
-     * Implements tap gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void TapL(const TPoint&);
-
-    /**
-     * Implements long tap gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void LongTapL(const TPoint&);
-
-    /**
-     * Implements drag gesture handling
-     * @see MTsEventControlerObserver
-     */
-    void Drag(const AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     * Implements animation stop handling
-     * @see MTsEventControlerObserver
-     */
-    void Stop();
-    
-    /**
-     * Implements view position getter. Returns point in the middle of the
-     * grid view window.
-     * 
-     * @see MTsEventControlerObserver
-     */
-    TPoint ViewPos()const;
-    
-public:    
-    // from CCoeControl    
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl(TInt aIndex) const;
-    void FocusChanged( TDrawNow aDrawNow );
-    void SizeChanged();
-    void Draw( const TRect& aRect ) const;
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-    
-private:
-    // From MTsFswObserver     
-    void HandleFswContentChanged();
-    
-    // From MEikMenuObserver
-    void ProcessCommandL( TInt aCommandId );
-	void SetEmphasis( CCoeControl*, TBool ) { }
-	
-	// From MTsFastSwapGridObserver
-	void HandleCloseEventL(TInt aItemIdx);
-	
-	// From MTsDeviceStateObserver
-	void HandleDeviceStateChanged( TChangeType aChangeType );
-
-    // From MTsFastSwapTimerObserver
-    void TimerCompletedL( CTsFastSwapTimer* aSource );
-	
-// new functions    
-
-    /**
-     * Makes a copy of the given bitmap.
-     * Also scaled to the given size, but maintains aspect ratio,
-     * so the size of the returned bitmap may be less then aSize.
-     */
-    CFbsBitmap* CopyBitmapL( TInt aFbsHandle, TSize aSize );
-
-    /**
-     * Called from HandleFswContentChanged.
-     */    
-    void HandleFswContentChangedL();
-    
-    /**
-     * Shows the content from iArray on the screen.
-     */
-    void RenderContentL();
-    
-    /**
-     * Creates the ganes grid control.
-     */
-    void ReCreateGridL();
-    
-    /**
-     * Returns rectangles for fast swap area controls
-     */
-    void GetFastSwapAreaRects( RArray<TAknLayoutRect>& aRects );
-
-    /**
-     * Creates a stylus popup instance (iPopup) if not yet done.
-     */
-    void PreCreatePopupL();
-
-    /**
-     * Shows the stylus popup menu if not yet visible.
-     * @param   aIndex  index of item in the grid
-     * @param   aPoint  position for the popup
-     */
-    TBool ShowPopupL( TInt aIndex, const TPoint& aPoint );
-
-    /**
-     * Sends the data-changed notification.
-     */   
-    void NotifyChange();
-
-    /**
-     * Chage application order.
-     * move Homescreen to first left position.
-     */   
-    void SwapApplicationOrder( RPointerArray<CTsFswEntry>& aArray );
-    
-    /**
-     * Retrieves and returns size for image graphics.
-     */
-    TSize PreferredImageSize();
-    
-    /**
-     * Retrieves number of items in grid
-     */
-    TInt GridItemCount();
-    
-    /**
-     * Calculates the correct size if aspect ratio needs to be preserved.
-     */
-    TSize CalculateSizePreserveRatio(const TSize& aTargetAreaSize,
-            const TSize& aSourceSize);
-    
-    /**
-     * Selects next item in grid
-     */
-    void SelectNextItem();
-    
-    /**
-     * Highlight current grid'd item and redraw
-     */
-    void ShowHighlight();
-    
-    /**
-     * Centralise most centered item so it was most exposed on the view.
-     * Centered element is being selected by grid.
-     * Animation to the centered element is made after aRedrawDelay time.
-     * 
-     * @param aRedrawDelay - animation delay.
-     */
-    void CenterItem( TInt aRedrawDelay);
-    
-    /**
-     * Returns full grid view size.
-     */
-    TSize GridWorldSize();
-    
-    /**
-     * Updates grid, called for manual grid scroll update
-     * 
-     * @param  aForceRedraw    if set to ETrue - redraw will be forced
-     * @param  aAnimate        set to ETrue to enable animation
-     */
-    void UpdateGrid( TBool aForceRedraw = EFalse,
-                     TBool aAnimate = ETrue );
-    
-    /**
-     * Returns grid view size
-     */
-    TSize ViewSize();
-    
-    /**
-     * Returns the position of the given item inside grid world rect.
-     * Returns point in the middle of the view rectangle.
-     * 
-     * @param  aItemIdx  index of the item for which calculation will be done
-     */
-    TPoint ItemViewPosition( TInt aItemIdx );
-    
-    /**
-     * Returns index of the shown item, based on the logical
-     * position of the grids view. Item that is closest to the
-     * middle of screen is returned.
-     * 
-     * @param  aViewPos  grids view position. This must be point in
-     *                   the middle of the view rectangle
-     * @return  index of the item
-     */
-    TInt ViewToVisibleItem( const TPoint aViewPos );
-    
-    /**
-     * Launches increasing pop-up feedback.
-     */
-    void LaunchPopupFeedback();
-    
-    /**
-     * Show highlight when disabled and 
-     * consume EEventKeyUp that follows after event that swiched on the highlight.
-     */
-    TKeyResponse ShowHighlightOnKeyEvent(const TKeyEvent& aKeyEvent, TEventCode aType);
-
-private: // Data
-    
-    // parent control
-    CCoeControl& iParent;
-    
-    // device state
-    // not own 
-    CTsDeviceState& iDeviceState;
-
-    // grid, own
-    CTsFastSwapGrid* iGrid;
-        
-    // fsw client, own
-    CTsFswClient* iFSClient;
-    // fsw content, ptrs owned
-    RPointerArray<CTsFswEntry> iArray;
-    
-    // index of selected (highlighted) item in the grid
-    // when the fsw was last focused
-    TInt iSavedSelectedIndex;
-    
-    // fsw popup (activate, close, etc.), own
-    CAknStylusPopUpMenu* iPopup;
-    // the aIndex argument of ShowPopupL is stored here
-    TInt iAppIndexForPopup;
-
-    // Timestamp of the last application close operation
-    TTime iTimeOfLastClose;
-    
-    // Observer ptr, may be NULL, not owned
-    MTsDataChangeObserver* iDcObserver;
-    
-    //Input events handler
-    CTsEventControler& iEvtHandler;
-    
-    TInt iMaxItemsOnScreen;
-    TInt iPreviousNoOfItems;
-    
-    // Tap event
-    TPointerEvent iTapEvent;
-    CTsFastSwapTimer* iHighlightTimer;
-    
-    // Grid scrolling
-    TInt iGridItemWidth;
-    TInt iGridItemGap;
-    
-    CTsFastSwapTimer* iRedrawTimer; // owned
-    
-    CTsFastSwapTimer* iUpdateGridTimer;//owned
-    
-    // Key event handling
-    TBool iConsumeEvent;
-    TBool iKeyEvent;
-    };
-
-#endif // TSFASTSWAPAREA_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#ifndef TSFASTSWAPGRID_H_
-#define TSFASTSWAPGRID_H_
-
-#include <AknGrid.h>
-#include <aknconsts.h>
-#include "tsdevicestate.h"
-
-class CAknsFrameBackgroundControlContext;
-class CTsFastSwapTimer;
-
-/**
- * Observer for handling fast swap grid events
- */
-class MTsFastSwapGridObserver
-    {
-public:
-    /**
-     * Called when close icon is tapped on the grid item.
-     * 
-     * @param  aItemIdx  index of the the item for which close icon
-     *                   has been tapped
-     */
-    virtual void HandleCloseEventL( TInt aItemIdx ) = 0;
-    };
-
-
-class MTsFastSwapTimerObserver
-    {
-public:
-    /**
-     * Called when timer is completed
-     */
-    virtual void TimerCompletedL( CTsFastSwapTimer* aSource ) = 0;
-    };
-
-
-/**
- * Avkon grid implementing custom item drawer
- */
-class CTsFastSwapGrid: 
-    public CAknGrid,
-    public MTsDeviceStateObserver,
-    public MTsFastSwapTimerObserver
-    {
-public: // enums
-    enum TFastSwapGridBehaviour
-        {
-        // Highlight always visible
-        EHybrid,
-        
-        // Touch only highlight handling
-        ETouchOnly
-        };
-    
-public: // Constructor and destructor
-    CTsFastSwapGrid();
-    ~CTsFastSwapGrid();
-    void ConstructL( const CCoeControl* aParent );
-    
-public: // From CCoeControl
-    void HandlePointerEventL( const TPointerEvent &aPointerEvent );
-    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-    void HandleResourceChange( TInt aType );
-    void SizeChanged();
-    
-public: //From MTsDeviceStateObserver
-    /**
-     * Called when a change, to which the observer is registered,
-     * has happened.
-     */
-    virtual void HandleDeviceStateChanged( TChangeType aChangeType );
-    
-public: // New functions
-
-    /**
-     * Sets fast swap grid observer
-     */
-    void SetFastSwapGridObserver( MTsFastSwapGridObserver* aObserver  );
-
-    /**
-     * Set indexes of items which can be closed.
-     * Copies item index array.
-     */
-    void SetCloseItemsL( RArray<TInt>& aItemIndex );
-
-    /**
-     * Checks if the item of given index is closable
-     */
-    TBool CanCloseItem( TInt aItemIndex );
-
-    /**
-     * Checks if the given item's close icon has been tapped.
-     */
-    TBool IsItemCloseHit( TInt aItemIndex );
-
-    /**
-     * Resets index of the item that has been close icon hit
-     */
-    void ResetCloseHit();
-    
-    /**
-     * Sets grid behaviour
-     * 
-     * @param  aBehaviour  behaviour to be set
-     */
-    void SetGridBehaviour( TFastSwapGridBehaviour aBehaviour );
-    
-    /**
-     * Getter for grid behaviour
-     * 
-     * @return  girds behaviour
-     */
-    TFastSwapGridBehaviour GridBehaviour();
-    
-    /**
-     * Shows highlight. In touch only behaviour highlight
-     * will be shown only for ammount of time.
-     */
-    void ShowHighlight();
-    
-    /**
-     * Hides highlight.
-     */
-    void HideHighlight();
-    
-    /**
-     * Checks if the highlight is currently visible.
-     * 
-     * @return  ETrue  if highlight is visible
-     *          EFalse if highlight is not visible
-     */
-    TBool IsHighlightVisible();
-    
-    /**
-     * Sets visible view, items outside of view will not be drawn
-     */
-    void SetVisibleViewRect( const TRect aRect );
-    
-    /**
-     * Returns visible view. Items outside of visible rectangle are not drawn.
-     */
-    TRect VisibleViewRect();
-    
-    /**
-     * Launch tactile ETouchFeedbackSensitive feedback.
-     */
-    void LaunchTactileFeedback();
-    
-    /**
-     * Set tactile feedback support.
-     * 
-     * @param aSupport new support value 
-     */
-    void SetTactileFeedbackSupport(TBool aSupport);
-    
-    /**
-     * Remove item from iFullyVisibleItems and iPartialVisibleItems arrays 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was removed
-     *          EFalse if item was not found
-     */
-    TBool RemoveFromVisibleItems(TInt aItem) const;
-
-    /**
-     * Add item to iFullyVisibleItems array 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was added
-     *          EFalse if item was not added because it was there before
-     */
-    TBool AddToFullyVisibleItems(TInt aItem) const;
-
-    /**
-     * Remove item from iPartialVisibleItems array 
-     * 
-     * @param   aItem  idem index 
-     * @return  ETrue  if item was removed
-     *          EFalse if item was not removed because it was not found
-     */
-    TBool MoveToPartialVisibleItems(TInt aItem) const;
-
-private: // From CAknGrid
-    virtual void CreateItemDrawerL();
-
-private: // From MTsFastSwapTimerObserver
-    void TimerCompletedL( CTsFastSwapTimer* aSource );
-    
-private: // New functions
-    
-    /**
-     * Loads close icon bitmap and mask
-     */
-    void LoadCloseIcon();
-    
-    /**
-     * Redraws grid and parent controls
-     */
-    void Redraw();
-    
-private: // Data
-    
-    // Grid's parent
-    const CCoeControl* iParent;
-    
-    // Background context for grid
-    CAknsFrameBackgroundControlContext* iBgContext;
-    
-    // Close icon handling
-    RArray<TInt> iCloseItems;
-    TInt iCloseIconHitIdx;
-    MTsFastSwapGridObserver* iFastSwapGridObserver;
-    CTsFastSwapTimer* iCloseIconRedrawTimer;
-
-    // Highlight handling
-    TFastSwapGridBehaviour iBehaviour;
-    TBool iHighlightVisible;
-    
-    // Visible view rectangle (horizontal scrolling support)
-    TRect iVisibleViewRect;
-    
-    // Feedback support
-    TBool iTactileFeedbackSupport;
-    
-    mutable RArray<TInt> iFullyVisibleItems;
-    mutable RArray<TInt> iPartialVisibleItems;
-    };
-
-
-
-/**
- * Custom item drawer for drawing grid items
- */
-class CTsGridItemDrawer: public CFormattedCellListBoxItemDrawer
-    {
-
-public: // Constructor and destructor
-    CTsGridItemDrawer( CTsFastSwapGrid* aGrid,
-                               CFormattedCellListBoxData* aData );
-    ~CTsGridItemDrawer();
-
-public: // New functions
-
-    /**
-     * Sets close icon drawn for items that can be closed.
-     * Ownership transferred.
-     */
-    void SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask );
-
-    /**
-     * Initializes close icon rectangles.
-     * 
-     * @param  aButtonRect  rectangle for the button, coordinates must be relative to the grid item
-     * @param  aIconRect    rectangle for the icon, coordinates must be relative to the grid item
-     */
-    void SetCloseIconRect( const TRect& aButtonRect, const TRect& aIconRect );
-    
-    /**
-     * Returns current close icon coordinates for the given item rectangle
-     * 
-     * @param  aItemRect  rectangle of the item for which close button coordinates
-     *                    are to be returned
-     */
-    TRect GetCloseButtonRect( const TRect& aItemRect ) const;
-    
-    /**
-     * Sets screen offset for the item drawer to not draw items on the
-     * grid edges
-     */
-    void SetEdgeOffset( TInt aLeftOffset, TInt aRightOffset );
-    
-    /**
-     * Enables/Disables item drawer background redrawing
-     * 
-     * @param  aEnable  if set to ETrue, background will be redrawn by item drawer
-     *                  if set to EFalse, background will not be redrawn
-     */
-    void SetRedrawBackground( TBool aEnable );
-
-private: // From CFormattedCellListBoxItemDrawer
-    void DrawActualItem( TInt aItemIndex, const TRect& aActualItemRect,
-                         TBool aItemIsCurrent, TBool aViewIsEmphasized,
-                         TBool aViewIsDimmed, TBool aItemIsSelected ) const;
-private: // New functions
-    /**
-     * Checks if the item rectangle is visible in the view.
-     * 
-     * @param   aItemRect  rectangle of the item to be checked 
-     * @return  ETrue      if rectangle is fully or partially visible
-     *          EFalse     if rectangle is not visible
-     */
-    TBool IsItemRectVisible( const TRect& aItemRect ) const;
-    
-    /**
-     * Checks if the aRectContained rectancle is contained by aRectContainig 
-     * 
-     * @param   aRectContained  rectangle that is suppose to be contained 
-     * @param   aRectContainig  rectangle that is suppose to be containing 
-     * @return  ETrue      if rectangle is fully contained 
-     *          EFalse     if rectangle is not fully contained
-     */
-    TBool IsRectContained(const TRect& aRectContained,
-            const TRect& aRectContainig) const;
-
-    /**
-     * Calculates current inner button rectangle for close icon
-     */
-    TRect CalculateInnerButtonRect( const TRect& aOuterRect ) const; 
-    
-private: // Data
-    // Not owned
-    CTsFastSwapGrid* iGrid;
-    // Owned
-    CFbsBitmap* iCloseIcon;
-    CFbsBitmap* iCloseIconMask;
-    
-    TRect iScreenRect;
-    TInt iLeftOffset;
-    TInt iRightOffset;
-    
-    // Layout data
-    TRect iCloseIconRect;
-    TRect iCloseButtonRect;
-	
-    TBool iRedrawBackground;
-    };
-
-
-
-/**
- * Timer class for handling highlight bevaiour
- */
-class CTsFastSwapTimer : public CTimer
-    {
-public:
-    // Constructor
-    CTsFastSwapTimer( MTsFastSwapTimerObserver& aObserver );
-    // Destructor
-    ~CTsFastSwapTimer();
-    // 2nd phase constructor
-    void ConstructL();
-    
-private: // From CTimer
-    void RunL();
-    
-private: // Data
-    MTsFastSwapTimerObserver* iObserver; // not own
-    };
-
-#endif /* TSFASTSWAPGRID_H_ */
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysics.h	Thu Mar 18 14:45:17 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:  Application class
- *
-*/
-
-
-#ifndef TSPHYSICS_H
-#define TSPHYSICS_H
-
-#include <e32base.h>
-#include <e32std.h>
-
-class MAknPhysicsObserver;
-
-/**
- * Simple physics for grid animation
- */
-class CTsPhysics : public CActive
-    {
-public:
-    /*
-     * Destructor
-     */
-    ~CTsPhysics();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysics* NewL( MAknPhysicsObserver& aObserver );
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysics* NewLC( MAknPhysicsObserver& aObserver );
-
-public: // New functions
-    
-    /**
-     * Starts animation
-     * 
-     * @param  aDrag       next drag point
-     * @param  aStartTime  when animation should be started
-     */
-    void StartPhysics( const TPoint& aTarget );
-
-    /**
-     * Stops animation
-     */
-    void StopPhysics();
-    
-private:
-    
-    /**
-     * C++ constructor
-     */
-    CTsPhysics( MAknPhysicsObserver& aObserver );
-
-    /**
-     * Second-phase constructor
-     */
-    void ConstructL();
-
-private: // From CActive
-    
-    /**
-     * Handles completion
-     */
-    void RunL();
-
-    /**
-     * Called when cancelled
-     */
-    void DoCancel();
-
-    /**
-     * Hanldes error
-     */
-    TInt RunError( TInt aError );
-    
-private: // New functions
-    
-    /**
-     * Calculates animation steps
-     */
-    TInt CalculateAnimationSteps( const TPoint& aTarget );
-
-private:
-
-    enum TPhysicsStatus
-        {
-        EStopped,
-        ERunning,
-        EFinished
-        };
-    
-    /**
-     * Observer
-     */
-    MAknPhysicsObserver& iObserver;
-    
-    /**
-     * Animation timer
-     */
-    RTimer iTimer;
-    
-    /**
-     * Animation state
-     */
-    TPhysicsStatus iPhysicsState;
-    
-    /**
-     * Controls animation refresh rate
-     */
-    TTimeIntervalMicroSeconds32 iAnimationTickTime;
-    
-    /**
-     * Animation ticks counter
-     */
-    TInt iAnimationTicks;
-    
-    /**
-     * Offset of how much view should be moved
-     */
-    RArray<TPoint> iAnimationSteps;
-
-    };
-
-#endif // TSPHYSICS_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +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:  Taskswitcher physic engine
- *
-*/
-
-
-#ifndef TSPHYSICSENGINE_H_
-#define TSPHYSICSENGINE_H_
-
-#include <e32base.h>
-#include <akntouchgesturefw.h>
-// CLASS DECLARATION
-class CAknPhysics;
-class CTsPhysics;
-/**
- * Taskswitcher physic engine implementation
- */
-class CTsPhysicsEngine: public CBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Destructor.
-     */
-    ~CTsPhysicsEngine();
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysicsEngine* NewL(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-
-    /**
-     * Two-phased constructor.
-     */
-    static CTsPhysicsEngine* NewLC(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-
-private:
-
-    /**
-     * Constructor for performing 1st stage construction
-     */
-    CTsPhysicsEngine();
-
-    /**
-     * EPOC default constructor for performing 2nd stage construction
-     */
-    void ConstructL(MAknPhysicsObserver& aPhysicObserver,
-            CCoeControl& aViewControl);
-    
-    
-public:
-    /**
-     * Implements drag gesture handling
-     * @param aEvent - drag event
-     */
-    void HandleDragEvent(AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent);
-    
-    /**
-     */
-    TBool IsRunning() const;
-    
-    /**
-     */
-    void Stop();
-    
-    /**
-     * Initialize animation between current position and destination point
-     * @param aPoint - destination point 
-     */
-    void AnimateToTarget(const TPoint& aPoint);
-    
-    /**
-     * 
-     * @param aWorldSize Physics world size.
-     * @param aViewSize Physics (visible) view size.
-     * @param aLandscape ETrue if physics should work in landscape.     
-     **/
-    void ReInitPhysicsL(const TSize& aWorldSize, 
-                        const TSize& aViewSize,
-                        TBool aLandscape);
-    
-private:
-    /**
-     * Physics. 
-     * Own.
-     */
-    CAknPhysics* iPhysics;
-
-    /**
-     * Drag start time
-     */
-    TTime iStartTime;
-    
-    /**
-     * Taskswitcher physics for item switch animation
-     */
-    CTsPhysics* iTaskswitcherPhysics;
-
-    };
-
-#endif /* TSPHYSICSENGINE_H_*/
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsuid.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* 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:  Taskswitcher application's UID3
- *
-*/
-
-
-#ifndef TSAPPUID_HRH
-#define TSAPPUID_HRH
-
-#define KTsAppUidValue      0x20016BF0
-
-#endif
--- a/taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:  Task Switcher application's localization texts
-*
-*/
-
-
-//d:Popup menu item text
-//d:Activate selected application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_open_app "Activate"
-
-//d:Popup menu item text
-//d:Close selected application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_close_app "Close"
-
-//d:Popup menu item text
-//d:Close all application
-//l:list_single_touch_menu_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_popup_close_all "Close all"
-
-//d:Text for heading pane above the task swapper
-//l:heading_pane_t1
-//r:5.0
-//
-#define qtn_task_switcher_heading_applications "Open applications"
-
-//d:Text for appliactions that has no name
-//l:none
-//r:5.0
-//
-#define qtn_task_switcher_default_task_name "No name"
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsapplication.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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:  Application class
- *
-*/
-
-
-#include "tsdocument.h"
-#include "tsapplication.h"
-#include "tsuid.hrh"
-
-// UID for the application, this should correspond
-// to the uid defined in the mmp file
-static const TUid KUidTsApp = { KTsAppUidValue };
-
-// -----------------------------------------------------------------------------
-// CTsApplication::CreateDocumentL( )
-// Create a CApaDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CApaDocument* CTsApplication::CreateDocumentL( )
-    {
-    CApaDocument* document = CTsDocument::NewL( *this );
-    return document;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsApplication::AppDllUid( )
-// Returns the application DLL UID value
-// -----------------------------------------------------------------------------
-//
-TUid CTsApplication::AppDllUid( ) const
-    {
-    // Return the UID for the task switcher application
-    return KUidTsApp;
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +0,0 @@
-/*
-* 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:  AppUi class
- *
-*/
-
-
-#include "tsappui.h"
-#include "tsappview.h"
-#include "tsapplogging.h"
-#include "tsdevicestate.h"
-#include "tsuid.hrh"
-#include "tscommands.hrh"
-#include <akntitle.h>
-#include <hlplch.h>
-#include <avkon.rsg>
-#include <bautils.h>
-#include <AknUtils.h>
-#include <tstaskswitcher.rsg>
-#include <pslninternalcrkeys.h>
-#include <oommonitorsession.h>
-#include <hal.h>
-#include <hal_data.h>
-#include <akntranseffect.h>
-
-
-// AknCapServer UID, used for P&S category
-const TUid KTaskswitcherStateCategory = { 0x10207218 };
-
-// Taskswitcher UI, used as P&S key
-const TInt KTaskswitcherStateKey = KTsAppUidValue;
-
-// Values for Taskswitcher launching P&S
-const TInt KTaskswitcherBackgroundValue = 1;
-const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
-const TInt KTaskswitcherShortAppKeyPressed = KTaskswitcherForegroundValue << 1;
-const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherShortAppKeyPressed << 1;
-
-//short/long App key values 
-const TInt KAppKeyTypeShort = 1;
-const TInt KAppKeyTypeLong = 2;
-
-//values for checking the OOM
-const TInt KMemoryRequestAmountInBytes = 524288;
-const TInt KMinMemoryAmountInBytes = 524288;
-const TInt KMemoryToBeReservedInBytes = 524288; // 512 KB
-
-// time to wait before sending the task to background
-// (must give time to animation)
-const TInt KWaitBeforeGoingToBackground = 100000;
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::ConstructL()
-// ConstructL is called by the application framework
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::ConstructL()
-    {
-    TSLOG_CONTEXT( CTsAppUi::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-#ifdef _DEBUG
-    // create log folder
-	_LIT( KLogPath, "c:\\logs\\taskswitcher\\" );
-	RFs fs;
-	if ( fs.Connect() == KErrNone )
-		{
-		fs.MkDirAll( KLogPath );
-		fs.Close();
-		}
-#endif
-
-    // Initialise app UI with standard value.
-    BaseConstructL( CAknAppUi::EAknEnableSkin | CAknAppUi::EAknEnableMSK );
-
-#ifndef _DEBUG
-    // set as system application (in release build) so we never get closed
-    iEikonEnv->SetSystem( ETrue );
-#endif
-
-    //Initialize effects change observation
-    iThemeEffectsEnabledWatcher =
-        CTsCenrepListener::NewL( KCRUidThemes, KThemesTransitionEffects, *this );
-    CenrepChanged( KThemesTransitionEffects, iThemeEffectsEnabledWatcher->Value() );
-    
-    // Hide status pane
-    StatusPane()->MakeVisible( EFalse );
-
-    // Change CBA if needed, default is non-touch in rss
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        Cba()->SetCommandSetL( R_TS_CBA_TOUCH );
-        }
-    Cba()->MakeVisible(EFalse);
-
-    // Create timer
-    iGoToBackgroundTimer = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    // Create commonly used instances (device state only?)
-    iDeviceState = CTsDeviceState::NewL();
-
-    // Create UI
-    iAppView = CTsAppView::NewL( ApplicationRect(), *iDeviceState );
-    AddToStackL( iAppView );
-    
-    //Enable effects
-    GfxTransEffect::Enable();
-    GfxTransEffect::Register(iAppView,TUid::Uid(KTsAppUidValue));
-    GfxTransEffect::SetTransitionObserver(this);
-
-    // Listen for change in the value of the ts state property.
-    iPropListener = new ( ELeave ) CTsPropertyListener(
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, *this );
-
-    // Initialise the application task object with the window group id of
-    // our application ( so that it represent our app )
-    iApplicationTask.SetWgId( iCoeEnv->RootWin().Identifier() );
-
-    // And finally, go to background.
-    MoveAppToBackground( AknTransEffect::ENone );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::CTsAppUi()
-// Perform the first phase of two phase construction
-// -----------------------------------------------------------------------------
-//
-CTsAppUi::CTsAppUi(): iForeground( ETrue ),
-                                      iApplicationTask( iCoeEnv->WsSession() )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::~CTsAppUi()
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CTsAppUi::~CTsAppUi()
-    {
-    if( GfxTransEffect::IsRegistered( iAppView ) )
-        {
-        GfxTransEffect::Deregister(iAppView);
-        
-        }
-    GfxTransEffect::SetTransitionObserver(0);
-    
-    delete iGoToBackgroundTimer;
-    delete iPropListener;
-
-    // destroy UI first
-    if ( iAppView )
-        {
-        RemoveFromStack( iAppView );
-        delete iAppView;
-        }
-
-    delete iDeviceState;
-    delete iMemAllocBuf;
-    delete iThemeEffectsEnabledWatcher;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::EffectsEnabled
-// -----------------------------------------------------------------------------
-//
-TBool CTsAppUi::EffectsEnabled() const
-    {
-    return iEffectsEnabled;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::StartTransion
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::StartTransion( TUint aTransitionType )
-    {
-    if( !EffectsEnabled() )
-        {
-        return;
-        }
-    switch(aTransitionType)
-        {
-    case AknTransEffect::EApplicationStart:
-        StartTransition( aTransitionType, 
-                         ETrue, 
-                         EFalse, 
-                         CAknTransitionUtils::EForceVisible);
-        break;
-    case AknTransEffect::EApplicationExit:
-        StartTransition( aTransitionType, 
-                         EFalse, 
-                         EFalse, 
-                         CAknTransitionUtils::EForceInvisible );
-        break;
-    case AknTransEffect::EApplicationStartRect:
-        StartTransition( aTransitionType, 
-                         EFalse, 
-                         ETrue, 
-                         CAknTransitionUtils::EForceInvisible );
-        break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::StartTransition
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::StartTransition( TUint aTranstionId,
-                                TBool aVisibility,
-                                TBool /*aLayers*/, 
-                                TUint aSubCom )
-    {
-    const TDesC8* ptr = reinterpret_cast<const TDesC8*>(iAppView);
-    GfxTransEffect::Abort(iAppView);
-    GfxTransEffect::Begin( iAppView, aTranstionId );
-    GfxTransEffect::SetDemarcation( iAppView, iAppView->Rect() );
-    GfxTransEffect::NotifyExternalState( ECaptureComponentsBegin, ptr );
-    iAppView->MakeVisible( aVisibility );
-    CAknTransitionUtils::MakeVisibleSubComponents( 
-        iAppView,
-        static_cast<CAknTransitionUtils::TMakeVisibleSubComponentsInfo>(aSubCom) );
-    GfxTransEffect::NotifyExternalState( ECaptureComponentsEnd, ptr );
-    GfxTransEffect::End( iAppView );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::TransitionFinished
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::TransitionFinished(const CCoeControl* /*aControl*/, 
-                                  TUint /*aAction*/)
-    {
-    /*if( aControl == iAppView )
-        {
-		@TODO IMPLEMENT
-        }*/
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleCommandL()
-// Takes care of command handling.
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknCmdExit:
-        case EEikCmdExit:
-            Exit();
-            break;
-
-        case EAknSoftkeyExit:
-        case EAknSoftkeyBack:
-            // RSK => just hide
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            break;
-
-        case ETsCmdHelp:
-            {
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            CArrayFix<TCoeHelpContext>* buf = CCoeAppUi::AppHelpContextL();
-            HlpLauncher::LaunchHelpApplicationL( iCoeEnv->WsSession(), buf );
-            }
-            break;
-
-        case EAknSoftkeySelect:
-            {
-            // select is generated by lsk and msk (see the resource file)
-            // Simulate a middle key press to the controls.
-            // Note that SimulateKeyEventL must not be used here or else it
-            // will end up in an infinite loop.
-            TKeyEvent keyEvent;
-            keyEvent.iCode = EKeyOK;
-            keyEvent.iScanCode = EStdKeyDevice3;
-            keyEvent.iModifiers = keyEvent.iRepeats = 0;
-            iAppView->OfferKeyEventL( keyEvent, EEventKeyDown );
-            iAppView->OfferKeyEventL( keyEvent, EEventKey );
-            iAppView->OfferKeyEventL( keyEvent, EEventKeyUp );
-            }
-            break;
-
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleForegroundEventL
-// Called by the system when the app is moved to foreground or background.
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    TSLOG_CONTEXT( HandleForegroundEventL, TSLOG_LOCAL );
-    TSLOG1_IN( "aForeground = %d", aForeground );
-
-    // These calls may be redundant but the functions will do nothing if the
-    // state has already been changed.
-    // Both this function and the 'manual' MoveAppTo functions must fire the events
-    // because in some cases only one of them will run (e.g. when bringing to foreground
-    // not with the hw key but by other means etc.)
-    if ( aForeground )
-        {
-        HandleSwitchToForegroundEvent();
-        }
-    else
-        {
-        HandleSwitchToBackgroundEvent();
-        }
-
-    // Call Base class method
-    CAknAppUi::HandleForegroundEventL( aForeground );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::PropertyChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::PropertyChanged( TUid aCategory, TUint aKey )
-    {
-    TSLOG_CONTEXT( PropertyChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt value( 0 );
-
-    if ( RProperty::Get( aCategory, aKey, value ) == KErrNone )
-        {
-        if ( iForeground && (value & KTaskswitcherBackgroundValue) )
-            {
-            MoveAppToBackground( AknTransEffect::EApplicationExit );
-            }
-        else if ( !iForeground && (value & KTaskswitcherForegroundValue) )
-            {
-            MoveAppToForeground( AknTransEffect::EApplicationStart );
-            }
-        else if( value & KTaskswitcherLongAppKeyPressed )
-            {
-            if(!iForeground)
-                {
-                MoveAppToBackground( AknTransEffect::EApplicationExit );
-                }
-            else
-                {
-                iAppView->HandleAppKey(KAppKeyTypeLong);
-                }
-            }
-        else if(  value & KTaskswitcherShortAppKeyPressed )
-            {
-            iAppView->HandleAppKey(KAppKeyTypeShort);
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleResourceChangeL
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleResourceChangeL( TInt aType )
-    {
-    // Must call base class implementation first,
-    // sizes from LayoutMetricsRect etc. will only be correct after this.
-    CAknAppUi::HandleResourceChangeL( aType );
-    if( aType == KEikDynamicLayoutVariantSwitch && iAppView )
-        {
-        iAppView->SetRect( ApplicationRect() );
-        }
-    // forward event
-    iDeviceState->HandleResourceChange( aType );
-    if ( iAppView )
-        {
-        iAppView->HandleResourceChange( aType );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::MoveAppToBackground()
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::MoveAppToBackground( TUint aTransitionType )
-    {
-    TSLOG_CONTEXT( MoveAppToBackground, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( AknTransEffect::ENone == aTransitionType || !EffectsEnabled() )
-        {
-        GoToBackgroundTimerCallback( this );
-        }
-    else
-        {
-        StartTransion(AknTransEffect::EApplicationExit);
-        iGoToBackgroundTimer->Cancel();
-        iGoToBackgroundTimer->Start( 
-                KWaitBeforeGoingToBackground, 
-                0,
-                TCallBack( GoToBackgroundTimerCallback, this ) );
-        }
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::CenrepChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::CenrepChanged( TUint32 /*aKey*/, TInt aNewValue )
-    {
-    iEffectsEnabled = !(aNewValue & AknTransEffect::EFullScreenTransitionsOff);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::GoToBackgroundTimerCallback
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppUi::GoToBackgroundTimerCallback( TAny* aParam )
-    {
-    CTsAppUi* self = static_cast<CTsAppUi*>( aParam );
-    if ( self->iGoToBackgroundTimer )
-        {
-        self->iGoToBackgroundTimer->Cancel();
-        }
-
-    // Request window server to bring our application
-    // to background
-    self->iApplicationTask.SendToBackground();
-
-    // Notify
-    self->HandleSwitchToBackgroundEvent();
-
-    return 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::MoveAppToForeground()
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::MoveAppToForeground( TUint  /*aTransitionType*/ )
-    {
-    TSLOG_CONTEXT( MoveAppToForeground, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Request window server to bring our application
-    // to foreground
-    iApplicationTask.BringToForeground();
-
-    // Notify
-    HandleSwitchToForegroundEvent();
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleSwitchToBackgroundEvent()
-    {
-    TSLOG_CONTEXT( HandleSwitchToBackgroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // must not do anything if iForeground is already up-to-date
-    // exclude cases with dialogs like power menu, memory card
-    if( iForeground && !IsFaded() )  
-        {
-        iForeground = EFalse;
-        SetTaskswitcherStateProperty( KTaskswitcherBackgroundValue );
-
-        //allocating extra memory space
-        if ( !iMemAllocBuf )
-            {
-            iMemAllocBuf =
-                (TUint8*) User::Alloc( KMemoryToBeReservedInBytes );
-            }
-
-        // notify view
-        iAppView->HandleSwitchToBackgroundEvent();
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::HandleSwitchToForegroundEvent()
-    {
-    TSLOG_CONTEXT( HandleSwitchToForegroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // must not do anything if iForeground is already up-to-date
-    if ( !iForeground )
-        {
-        //freeing extra memory space
-        delete iMemAllocBuf;
-        iMemAllocBuf = NULL;
-
-        TInt freeRamMemory;
-        HAL::Get( HALData::EMemoryRAMFree, freeRamMemory );
-        if ( freeRamMemory <= KMinMemoryAmountInBytes )
-            {
-            FreeMemoryRequest();
-            }
-
-        iForeground = ETrue;
-        SetTaskswitcherStateProperty( KTaskswitcherForegroundValue );
-
-        // notify view
-        iAppView->HandleSwitchToForegroundEvent();
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::SetTaskswitcherShowProperty
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::SetTaskswitcherStateProperty( TInt aValue )
-    {
-    TSLOG_CONTEXT( CTsAppUi::SetTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    if ( RProperty::Set(
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue ) != KErrNone )
-        {
-        TInt error = RProperty::Define(
-                KTaskswitcherStateCategory, KTaskswitcherStateKey, RProperty::EInt );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Define Error: %d", error );
-            }
-
-        error = RProperty::Set( KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Set Error: %d", error );
-            }
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppUi::FreeMemoryRequest
-// -----------------------------------------------------------------------------
-//
-void CTsAppUi::FreeMemoryRequest()
-    {
-    TSLOG_CONTEXT( CTsAppUi::FreeMemoryRequest, TSLOG_LOCAL );
-    TSLOG_IN();
-    ROomMonitorSession oomMs;
-    TInt error = oomMs.Connect();
-    if ( error != KErrNone)
-        {
-        TSLOG1( TSLOG_INFO, "Could not connect to ROomMonitorSession, %d", error );
-        }
-    else
-        {
-        oomMs.RequestFreeMemory( KMemoryRequestAmountInBytes );
-        oomMs.Close();
-        }
-    TSLOG_OUT();
-    }
-
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,731 +0,0 @@
-/*
-* 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:  Taskswitcher view class
- *
-*/
-
-
-#include <AknUtils.h>
-#include <AknsUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <eikmenub.h>
-#include <gfxtranseffect/gfxtranseffect.h>
-#include <akntransitionutils.h>
-#include <akntranseffect.h>
-#include <aknPopupHeadingPane.h>
-#include <StringLoader.h>
-#include <tstaskswitcher.rsg>
-#include <touchfeedback.h>
-
-#include "tsappview.h"
-#include "tsappui.h"
-#include "tsapplogging.h"
-#include "tsfastswaparea.h"
-#include "tseventcontroler.h"
-#include "tsuid.hrh"
-
-// -----------------------------------------------------------------------------
-// CTsAppView::NewL
-// -----------------------------------------------------------------------------
-//
-CTsAppView* CTsAppView::NewL( const TRect& aRect,
-        CTsDeviceState& aDeviceState )
-    {
-    CTsAppView* self = CTsAppView::NewLC( aRect, aDeviceState );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsAppView* CTsAppView::NewLC( const TRect& aRect,
-        CTsDeviceState& aDeviceState )
-    {
-    CTsAppView* self = new (ELeave) CTsAppView( aDeviceState );
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CTsAppView
-// -----------------------------------------------------------------------------
-//
-CTsAppView::CTsAppView(CTsDeviceState& aDeviceState)
-        : iDeviceState( aDeviceState )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// InvalidateWindows
-// -----------------------------------------------------------------------------
-//
-static void InvalidateWindows( CCoeControl* aControl )
-    {
-    if ( aControl )
-        {
-        if ( aControl->OwnsWindow() )
-            {
-            static_cast<RWindow*>( aControl->DrawableWindow() )->ClearRedrawStore();
-            }
-
-        for ( TInt i = aControl->CountComponentControls() - 1; i >= 0; --i )
-            {
-            InvalidateWindows( aControl->ComponentControl( i ) );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::~CTsAppView
-// -----------------------------------------------------------------------------
-//
-CTsAppView::~CTsAppView()
-    {
-    GfxTransEffect::SetTransitionObserver( 0 );
-    if ( GfxTransEffect::IsRegistered( this ) )
-        {
-        MakeVisible( EFalse ); 
-        CAknTransitionUtils::MakeVisibleSubComponents( this,
-            CAknTransitionUtils::EForceInvisible );
-        GfxTransEffect::Deregister( this );
-        }
-    delete iBgContext;
-    delete iFastSwapArea;
-    delete iAppsHeading;
-    
-    delete iEvtHandler;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::ConstructL( const TRect& aRect )
-    {
-    TSLOG_CONTEXT( CTsAppView::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Create a window for this application view
-    CreateWindowL();
-
-    // Store rect
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    TAknLayoutRect mainView;
-    mainView.LayoutRect( aRect,
-            AknLayoutScalable_Apps::main_tport_pane( variety ) );
-    iViewRect = mainView.Rect();
-
-    // Background control context is for a frame
-    UpdatePopupRects();
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-               KAknsIIDQsnFrPopup,
-               iBgContextOuterRect,
-               iBgContextInnerRect,
-               ETrue );
-    iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
-    iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
-
-    TSLOG4( TSLOG_INFO, "view rect = %d %d %d %d",
-        iViewRect.iTl.iX, iViewRect.iTl.iY,
-        iViewRect.iBr.iX, iViewRect.iBr.iY );
-
-    // Create components
-    CreateControlsL();
-
-    // Hide 'active applications' item in Options menu
-    CEikMenuBar* menub = iEikonEnv->AppUiFactory()->MenuBar();
-    if ( menub )
-        {
-        menub->SetMenuType( CEikMenuBar::EMenuOptionsNoTaskSwapper );
-        }
-
-    // Register for notifications about orientation etc. changes
-    iDeviceState.AddObserverL( *this, MTsDeviceStateObserver::EAny );
-    SetRect( iViewRect );
-    //SetExtentToWholeScreen();
-    iViewRect = Rect();
-    // try to enable window transparency
-    if( CAknEnv::Static()->TransparencyEnabled() )
-        {
-        Window().SetRequiredDisplayMode( EColor16MA );
-        if ( Window().SetTransparencyAlphaChannel() == KErrNone )
-            {
-            Window().SetBackgroundColor( ~0 );
-            }
-        }
-    
-    DrawableWindow()->EnableBackup(EWindowBackupFullScreen);
-    Window().SetOrdinalPosition( 0, ECoeWinPriorityNormal );
-    SetComponentsToInheritVisibility(ETrue);
-    MakeVisible(ETrue);
-    // Ready to be drawn
-    ActivateL();
-    
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::DisableAppSwitchEffects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::DisableAppSwitchEffects()
-    {
-    TInt flags = AknTransEffect::TParameter::ENoEffects;
-    GfxTransEffect::BeginFullScreen(
-        AknTransEffect::ENone,
-        TRect(0,0,0,0),
-        AknTransEffect::EParameterType,
-        AknTransEffect::GfxTransParam( TUid::Uid(KTsAppUidValue), flags ) );
-    }
-        
-// -----------------------------------------------------------------------------
-// CTsAppView::GetPopupRects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::UpdatePopupRects(  )
-    {
-    TSLOG_CONTEXT( UpdatePopupRects, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    TAknLayoutRect bgTport;
-    bgTport.LayoutRect( iViewRect,
-        AknLayoutScalable_Apps::bg_popup_window_pane_cp01( variety ) );
-    iBgContextOuterRect = bgTport.Rect();
-    bgTport.LayoutRect( iBgContextOuterRect,
-        AknLayoutScalable_Avkon::aid_inside_area_window_primary( variety ) );
-    iBgContextInnerRect = bgTport.Rect();
-    TSLOG4( TSLOG_INFO, "outer rect for popup = %d %d %d %d",
-            iBgContextOuterRect.iTl.iX, iBgContextOuterRect.iTl.iY,
-            iBgContextOuterRect.iBr.iX, iBgContextOuterRect.iBr.iY );
-    TSLOG4( TSLOG_INFO, "inner rect for popup = %d %d %d %d",
-            iBgContextInnerRect.iTl.iX, iBgContextInnerRect.iTl.iY,
-            iBgContextInnerRect.iBr.iX, iBgContextInnerRect.iBr.iY );
-   
-#ifdef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    if ( iFastSwapArea )
-        {
-        iBgContextOuterRect = iFastSwapArea->Rect();
-        iBgContextInnerRect = iFastSwapArea->Rect();
-        }
-#endif
-    
-    TSLOG_OUT();
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsAppView::CreateControlsL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::CreateControlsL()
-    {
-    RArray<TRect> rects;
-    CleanupClosePushL( rects );
-    rects.ReserveL( 2 ); // so appending in GetRects cannot fail
-    GetRects( rects );
-
-    iEvtHandler = CTsEventControler::NewL(*this, *this);
-    iFastSwapArea = CTsFastSwapArea::NewL(rects[1], *this,
-            iDeviceState, *iEvtHandler);
-    iAppsHeading = new ( ELeave ) CAknPopupHeadingPane;
-
-    iFastSwapArea->SetMopParent( this );
-    iFastSwapArea->SetFocusing( ETrue );
-    iFastSwapArea->Setup( *this );
-    iFastSwapArea->SetDataChangeObserver( this );
-    
-    iAppsHeading->SetContainerWindowL( *this );
-    iAppsHeading->ConstructL( KNullDesC() );
-    iAppsHeading->SetLayout( CAknPopupHeadingPane::EListHeadingPane ); 
-
-    //TODO: check why we need to set rect (set already in contructL)
-    iFastSwapArea->SetRect( rects[1] ); // cannot be before iAppsHeading constructL
-    iAppsHeading->SetRect( rects[0] );
-    
-    CleanupStack::PopAndDestroy( &rects );
-    
-    UpdateHeadingsL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::GetRects
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::GetRects( RArray<TRect>& aRects )
-    {
-    TSLOG_CONTEXT( CTsAppView::GetRects, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-#ifndef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    TAknLayoutRect appsLabel;
-    TAknLayoutRect fastSwapAreaPane;
-
-    appsLabel.LayoutRect( iViewRect,
-            AknLayoutScalable_Apps::heading_pane_cp07( variety ) );
-    TSLOG4( TSLOG_INFO, "apps heading rect = %d %d %d %d",
-            appsLabel.Rect().iTl.iX, appsLabel.Rect().iTl.iY,
-            appsLabel.Rect().iBr.iX, appsLabel.Rect().iBr.iY );
-
-    
-    fastSwapAreaPane.LayoutRect( iViewRect,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    TSLOG4( TSLOG_INFO, "fsw rect = %d %d %d %d",
-            fastSwapAreaPane.Rect().iTl.iX, fastSwapAreaPane.Rect().iTl.iY,
-            fastSwapAreaPane.Rect().iBr.iX, fastSwapAreaPane.Rect().iBr.iY );
-
-    aRects.Append( appsLabel.Rect() );
-    aRects.Append( fastSwapAreaPane.Rect() );
-#else
-    TRect tempRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, tempRect);
-    tempRect.iTl = TPoint(0,0);
-    TRect fastSwapRect, headingRect;
-    fastSwapRect.iTl = TPoint(KFswBorderSize, (tempRect.Height() - KFswItemHeight - KFswHeadingHeight) / 2 + KFswHeadingHeight);
-    fastSwapRect.iBr = TPoint(tempRect.iBr.iX - KFswBorderSize, fastSwapRect.iTl.iY + KFswItemHeight);
-    headingRect.iTl = TPoint(KFswBorderSize, fastSwapRect.iTl.iY - KFswHeadingHeight);
-    headingRect.iBr = TPoint(fastSwapRect.iBr.iX, fastSwapRect.iTl.iY);
-    aRects.Append( headingRect );
-    aRects.Append( fastSwapRect );
-#endif
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::SizeChanged()
-    {
-    TSLOG_CONTEXT( CTsAppView::SizeChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-    UpdatePopupRects();
-    iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
-    if ( iFastSwapArea && iAppsHeading  )
-        {
-        RArray<TRect> rects;
-        // make sure that appending in GetRect cannot fail
-        if ( rects.Reserve( 2 ) == KErrNone )
-            {
-            GetRects( rects );
-            iAppsHeading->SetRect( rects[0] );
-            iFastSwapArea->SetRect( rects[1] );
-            
-            DrawDeferred();
-            }
-        rects.Close();
-
-        // Focus jumps back to fsw
-        ChangeFocus( iFastSwapArea );
-        }
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Draw
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsDrawUtils::DrawFrame( skin,
-           gc,
-           iBgContextOuterRect,
-           iBgContextInnerRect,
-           KAknsIIDQsnFrPopup,
-           KAknsIIDQsnFrPopupCenter );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CTsAppView::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsAppView::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType )
-    {
-    TSLOG_CONTEXT( OfferKeyEventL, TSLOG_LOCAL );
-    TSLOG2_IN( "iCode = %d type = %d", aKeyEvent.iCode, aType );
-
-    TKeyResponse result = EKeyWasNotConsumed;
-
-    // Always use the portrait version, the layout in landscape is now
-    // similar to portrait.
-    result = OfferKeyEventPortraitStyleL( aKeyEvent, aType );
-
-    // handle some other keys
-    if ( result == EKeyWasNotConsumed && aType == EEventKey )
-        {
-        switch ( aKeyEvent.iCode )
-            {
-            case EKeyYes: // send (green) key
-                result = EKeyWasConsumed;
-                break;
-            }
-        }
-
-    // forward to focused control if not yet handled
-    if ( result == EKeyWasNotConsumed && iFocused )
-        {
-        result = iFocused->OfferKeyEventL( aKeyEvent, aType );
-        }
-
-    TSLOG1_OUT( "response = %d", result );
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::OfferKeyEventPortraitStyleL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsAppView::OfferKeyEventPortraitStyleL(
-        const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/)
-    {
-    TKeyResponse result = EKeyWasNotConsumed;
-    return result;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CountComponentControls
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppView::CountComponentControls() const
-    {
-    return 2;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ComponentControl
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CTsAppView::ComponentControl( TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iFastSwapArea;
-        case 1:
-            return iAppsHeading;
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleSwitchToBackgroundEvent()
-    {
-    // Stop animation and unfade
-    GfxTransEffect::Abort();
-    iPopupFader.FadeBehindPopup( this, NULL, EFalse );
-    
-    GfxTransEffect::Begin( this, 5);
-    // Forward event to interested controls
-    iFastSwapArea->HandleSwitchToBackgroundEvent();
-
-    // Hide
-    MakeVisible( EFalse );
-    //GfxTransEffect::NotifyExternalState( ENotifyGlobalAbort );
-    CAknTransitionUtils::MakeVisibleSubComponents( this,
-        CAknTransitionUtils::EForceInvisible );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleSwitchToForegroundEvent()
-    {
-    Window().Invalidate(Rect());
-    
-    // Fade behind the pop-up
-    iPopupFader.FadeBehindPopup( this, NULL, ETrue );
-
-    DrawDeferred(); // otherwise some parts may not be drawn properly
-
-    // Focus jumps back to fsw
-    ChangeFocus( iFastSwapArea );
-
-    // Forward event to interested controls
-    iFastSwapArea->HandleSwitchToForegroundEvent();
-
-    // Start animation
-    CTsAppUi* appui =
-        static_cast<CTsAppUi*>( iEikonEnv->AppUi() );
-    if ( appui->EffectsEnabled() )
-        {
-        InvalidateWindows( this );
-        appui->StartTransion(AknTransEffect::EApplicationStart);
-        }
-    else
-        {
-        CAknTransitionUtils::MakeVisibleSubComponents( this,
-            CAknTransitionUtils::EForceVisible );
-        MakeVisible( ETrue );
-        }
-    
-    DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ChangeFocus
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::ChangeFocus( CCoeControl* aNewFocusedControl )
-    {
-    if ( iFocused != aNewFocusedControl )
-        {
-        if ( iFocused )
-            {
-            iFocused->SetFocus( EFalse, EDrawNow );
-            }
-        iFocused = aNewFocusedControl;
-        if ( iFocused )
-            {
-            iFocused->SetFocus( ETrue, EDrawNow );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleControlEventL
-// EEventRequestFocus must be handled to have proper focus change also with
-// pointer events.
-// Observed controls are the ganes list and grid.
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleControlEventL( CCoeControl* aControl,
-        TCoeEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventRequestFocus:
-            // must use the parent because aControl is the ganes control
-            ChangeFocus( aControl->Parent() );
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleDeviceStateChanged
-// Called when screen orientation, touch awareness, or the skin has been changed.
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleDeviceStateChanged( TChangeType /*aChangeType*/ )
-    {
-    TSLOG_CONTEXT( HandleDeviceStateChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // Just set all the sizes, even when there is a skin change, because this will
-    // guarantee proper redraw also with the ganes controls.
-
-    iViewRect = Rect();
-    TSLOG4( TSLOG_INFO, "setting rect %d %d %d %d",
-        iViewRect.iTl.iX, iViewRect.iTl.iY,
-        iViewRect.iBr.iX, iViewRect.iBr.iY );
-    SetRect( iViewRect );
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::CountFadedComponents
-// -----------------------------------------------------------------------------
-//
-TInt CTsAppView::CountFadedComponents()
-    {
-    return 3;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::FadedComponent
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CTsAppView::FadedComponent( TInt aIndex )
-    {
-    // well, these are in fact the components that will _not_ be faded...
-    // Must return the bottom-level controls here, e.g. the ganes controls, not the wrappers over them.
-    switch ( aIndex )
-        {
-        case 0:
-            return this;
-        case 1:
-            return iFastSwapArea->GetChildControl();
-        case 2:
-            return iAppsHeading;
-//        case 3:
-//            return iEikonEnv->AppUiFactory()->Cba();
-        default:
-            return NULL;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandlePointerEventL( const TPointerEvent &aPointerEvent )
-    {
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if(0 != feedback &&
-       (TPointerEvent::EButton1Down == aPointerEvent.iType || 
-       TPointerEvent::EButton1Up == aPointerEvent.iType))
-        {
-        feedback->InstantFeedback(this,
-                                  ETouchFeedbackBasic, 
-                                  ETouchFeedbackVibra, 
-                                  aPointerEvent);
-        } 
-    iFastSwapArea->HandlePointerEventL(aPointerEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::DataChanged
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::DataChanged( CCoeControl* /*aWhere*/, TInt /*aNewCount*/ )
-    {
-    TRAP_IGNORE( UpdateHeadingsL() );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::UpdateHeadingsL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::UpdateHeadingsL()
-    {
-#ifndef TASKSWITCHER_USE_CUSTOM_LAYOUT
-    HBufC* text = StringLoader::LoadLC(
-        R_TASK_SWITCHER_HEADING_APPLICATIONS );
-#else
-    _LIT( KTitle, "Task switcher" );
-    HBufC* text = KTitle().AllocLC();
-#endif
-    iAppsHeading->SetTextL( *text );
-    iAppsHeading->DrawDeferred();
-    CleanupStack::PopAndDestroy( text );
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsAppView::HandleAppKey
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::HandleAppKey(TInt aType)
-    {
-    iFastSwapArea->HandleAppKey(aType);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::MoveOffset
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::MoveOffset(const TPoint& aOffset)
-    {
-    iFastSwapArea->MoveOffset(aOffset);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::TapL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::TapL(const TPoint& aPoint)
-    {
-    if(iFastSwapArea->Rect().Contains(aPoint))
-        {
-        iFastSwapArea->TapL(aPoint);
-        DrawNow();
-        }
-    else if( !iAppsHeading->Rect().Contains(aPoint))
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::LongTapL
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::LongTapL(const TPoint& aPoint)
-    {
-    if(iFastSwapArea->Rect().Contains(aPoint))
-        {
-        iFastSwapArea->LongTapL(aPoint);
-        }
-    else if( !iAppsHeading->Rect().Contains(aPoint))
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Drag()
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Drag(const MAknTouchGestureFwDragEvent& aEvent)
-    {
-    iFastSwapArea->Drag(aEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsAppView::Stop()
-    {
-    iFastSwapArea->Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsAppView::ViewPos
-// -----------------------------------------------------------------------------
-//
-TPoint CTsAppView::ViewPos() const
-    {
-    return iFastSwapArea->ViewPos();
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsdevicestate.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* 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:  Device state (touch mode, screen orientation) handler
- *
-*/
-
-
-#include "tsdevicestate.h"
-#include "tsapplogging.h"
-
-#include <AknUtils.h>
-#include <hwrmdomainpskeys.h>
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::NewL
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState* CTsDeviceState::NewL()
-    {
-    CTsDeviceState* self = new ( ELeave ) CTsDeviceState;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::CTsDeviceState
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState::CTsDeviceState()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsDeviceState::ConstructL()
-    {
-    iFlipStatusObserver = new ( ELeave ) CTsPropertyListener(KPSUidHWRM,	
-		KHWRMFlipStatus, *this);
-    // check if touch is enabled or not
-    CheckTouchState();
-    // are we in portrait or landscape
-    CheckOrientation();
-    // checks the qwerty input mode.
-    CheckDeviceType();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDeviceState::~CTsDeviceState
-// -----------------------------------------------------------------------------
-//
-CTsDeviceState::~CTsDeviceState()
-    {
-    iObservers.Close();
-    delete iFlipStatusObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::HandleResourceChange
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::HandleResourceChange( TInt aType )
-    {
-    TSLOG_CONTEXT( HandleResourceChange, TSLOG_LOCAL );
-    TSLOG2_IN( "aType = %d (active count = %d)", aType, iResChangeActiveCount );
-
-    // increase function entrance count
-    ++iResChangeActiveCount;
-    // if we are still in a previous call then do nothing else
-    if ( iResChangeActiveCount == 1 )
-        {
-        // the active count may increase during execution of the body of the loop
-        // (if some observers have active scheduler waits, for example)
-        while ( iResChangeActiveCount > 0 )
-            {
-            if ( aType == KEikDynamicLayoutVariantSwitch )
-                {
-                TSLOG0( TSLOG_INFO, "dyn layout var switch" );
-                // This might be a screen orientation or touch-nontouch switch,
-                // so let's check the situation and notify observers if needed.
-                CheckTouchState();
-                CheckOrientation();
-                }
-            else if ( aType == KAknsMessageSkinChange )
-                {
-                TSLOG0( TSLOG_INFO, "skin change" );
-                NotifyObservers( MTsDeviceStateObserver::ESkin );
-                }
-            --iResChangeActiveCount;
-            }
-        }
-        
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::PropertyChanged
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::PropertyChanged(TUid aCategory, TUint aKey)
-    {
-    TSLOG_CONTEXT( PropertyChanged, TSLOG_LOCAL );
-    TSLOG2_IN( "aKey = %d aNewValue = %d", aCategory, aKey );
-    CheckDeviceType();
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::CheckTouchState
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckTouchState()
-    {
-    TSLOG_CONTEXT( CheckTouchState, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TTouchState oldValue = iTouchState;
-    iTouchState = AknLayoutUtils::PenEnabled() ? ETouchEnabled : ETouchDisabled;
-    if ( iTouchState != oldValue )
-        {
-        NotifyObservers( MTsDeviceStateObserver::ETouchState );
-        }
-
-    TSLOG1_OUT( "new value for iTouchState: %d", iTouchState );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::CheckOrientation
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckOrientation()
-    {
-    TSLOG_CONTEXT( CheckOrientation, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TRect rect;
-    AknLayoutUtils::LayoutMetricsRect ( AknLayoutUtils::EScreen, rect );
-    TOrientation oldValue = iOrientation;
-    iOrientation = rect.Width() > rect.Height() ? ELandscape : EPortrait;
-    if ( iOrientation != oldValue )
-        {
-        NotifyObservers( MTsDeviceStateObserver::EOrientation );
-        }
-
-    TSLOG1_OUT( "new value for iOrientation: %d", iOrientation );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::DeviceType
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::CheckDeviceType()
-    {
-    TSLOG_CONTEXT( CheckQwerty, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TInt oldDeviceType = iDeviceType;
-    TInt value( 0 );
-    if( RProperty::Get( KPSUidHWRM, KHWRMFlipStatus, value ) == KErrNone )
-    	{
-    	iDeviceType = (value == EPSHWRMFlipOpen ? EHybrid : EFullTouch);
-    	}
-    
-    if( iDeviceType != oldDeviceType )
-        {
-        NotifyObservers( MTsDeviceStateObserver::EDeviceType);
-        }
-
-    TSLOG1_OUT( "new value for iDeviceType: %d", iDeviceType );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::TouchState
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TTouchState CTsDeviceState::TouchState() const
-    {
-    return iTouchState;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::Orientation
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TOrientation CTsDeviceState::Orientation() const
-    {
-    return iOrientation;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::Qwerty
-// --------------------------------------------------------------------------
-//
-CTsDeviceState::TDeviceType CTsDeviceState::DeviceType() const
-    {
-    return iDeviceType;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::ObserverIdentity
-// --------------------------------------------------------------------------
-//
-TBool CTsDeviceState::ObserverIdentity( const SObserver& aA,
-        const SObserver& aB )
-    {
-    return aA.iObserver == aB.iObserver;
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::AddDeviceStateObserverL
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::AddObserverL( MTsDeviceStateObserver& aObserver,
-        TInt aMask )
-    {
-    iObservers.AppendL( SObserver( aMask, &aObserver ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::RemoveObserver
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::RemoveObserver( MTsDeviceStateObserver& aObserver )
-    {
-    for ( ; ; )
-        {
-        TInt pos = iObservers.Find( SObserver( MTsDeviceStateObserver::EAny,
-            &aObserver ), ObserverIdentity );
-        if ( pos >= 0 )
-            {
-            iObservers.Remove( pos );
-            }
-        else
-            {
-            break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsDeviceState::NotifyObservers
-// --------------------------------------------------------------------------
-//
-void CTsDeviceState::NotifyObservers(
-        MTsDeviceStateObserver::TChangeType aType )
-    {
-    for ( TInt i = 0, ie = iObservers.Count(); i != ie; ++i )
-        {
-        const SObserver& obs( iObservers[i] );
-        if ( obs.iMask & aType )
-            {
-            obs.iObserver->HandleDeviceStateChanged( aType );
-            }
-        }
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsdocument.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* 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:  Document class
- *
-*/
-
-
-#include <apgwgnam.h>
-
-#include "tsappui.h"
-#include "tsdocument.h"
-
-// -----------------------------------------------------------------------------
-// CTsDocument::NewLC( )
-// Create a CTsDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CTsDocument* CTsDocument::NewL( CEikApplication& aApp )
-    {
-    CTsDocument* self = NewLC ( aApp );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::NewLC( )
-// Create a CTsDocument object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CTsDocument* CTsDocument::NewLC( CEikApplication& aApp )
-    {
-    CTsDocument* self = new ( ELeave ) CTsDocument( aApp );
-    CleanupStack::PushL ( self );
-    self->ConstructL ( );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::ConstructL( )
-// Second phase constructor
-// -----------------------------------------------------------------------------
-//
-void CTsDocument::ConstructL( )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::~CTsDocument( )
-// First phase constructor
-// -----------------------------------------------------------------------------
-//
-CTsDocument::CTsDocument( CEikApplication& aApp ) :
-    CAknDocument( aApp )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::~CTsDocument( )
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CTsDocument::~CTsDocument( )
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::CreateAppUiL( )
-// Create a CTsAppUi object and return a pointer to it
-// -----------------------------------------------------------------------------
-//
-CEikAppUi* CTsDocument::CreateAppUiL( )
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CEikAppUi* appUi = new ( ELeave ) CTsAppUi;
-    return appUi;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsDocument::UpdateTaskNameL( )
-// Makes app hidden in fastswap window
-// -----------------------------------------------------------------------------
-//
-void CTsDocument::UpdateTaskNameL( CApaWindowGroupName* aWgName )
-    {
-    CEikDocument::UpdateTaskNameL ( aWgName );
-    aWgName->SetHidden ( ETrue );
-    }
-
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,194 +0,0 @@
-/*
-* 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:  Gesture and physics helper declaration
- *
-*/
-
-#include "tseventcontroler.h"
-#include "tsphysicsengine.h"
-
-// -----------------------------------------------------------------------------
-// NewLC
-// -----------------------------------------------------------------------------
-//
-CTsEventControler* CTsEventControler::NewLC(
-    MTsEventControlerObserver& aObserver,
-    CCoeControl& aEventSrc)
-    {
-    CTsEventControler* self = 
-        new(ELeave)CTsEventControler(aObserver);
-    CleanupStack::PushL(self);
-    self->ConstructL(aEventSrc);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// NewL
-// -----------------------------------------------------------------------------
-//
-CTsEventControler* CTsEventControler::NewL(
-    MTsEventControlerObserver& aObserver,
-    CCoeControl& aEventSrc)
-    {
-    CTsEventControler* self = 
-        CTsEventControler::NewLC(aObserver, aEventSrc);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// ~CTsPointerHandler
-// -----------------------------------------------------------------------------
-//
-CTsEventControler::~CTsEventControler()
-    {
-    delete iGestureHelper;
-    delete iPhysicsHelper;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPointerHandler
-// -----------------------------------------------------------------------------
-//
-CTsEventControler::CTsEventControler(
-    MTsEventControlerObserver& aObserver)
-    :
-    CBase(),
-    iObserver(aObserver)
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ConstructL(CCoeControl& aEventSrc)
-    {
-    iGestureHelper = 
-        AknTouchGestureFw::CAknTouchGestureFw::NewL(*this, aEventSrc);
-    iGestureHelper->SetGestureInterestL(EAknTouchGestureFwAll);
-    iPhysicsHelper = CTsPhysicsEngine::NewL(*this, aEventSrc);
-    }
-
-// -----------------------------------------------------------------------------
-// HandleTouchGestureL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleTouchGestureL(
-    AknTouchGestureFw::MAknTouchGestureFwEvent& aEvent)
-    {
-    if (AknTouchGestureFwEventDrag(aEvent))
-        {
-        HandleDragEventL(*AknTouchGestureFwEventDrag(aEvent));
-        }
-    else if (AknTouchGestureFwEventTap(aEvent))
-        {
-        HandleTapEventL(*AknTouchGestureFwEventTap(aEvent));
-        }
-    //ignore flick and pinch events
-    }
-
-// -----------------------------------------------------------------------------
-// HandleTapEventL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleTapEventL(
-    MAknTouchGestureFwTapEvent& aEvent)
-    {
-    if(EAknTouchGestureFwLongTap == aEvent.Type())
-        {
-        iObserver.LongTapL(aEvent.Position());
-        }
-    else if(EAknTouchGestureFwTap == aEvent.Type())
-        {
-        if( iPhysicsHelper->IsRunning())
-            {
-            iPhysicsHelper->Stop();
-            }
-        else
-            {
-            iObserver.TapL(aEvent.Position());
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// HandleDragEventL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::HandleDragEventL(
-    MAknTouchGestureFwDragEvent& aEvent)
-    {
-    iObserver.Drag(aEvent);
-    iPhysicsHelper->HandleDragEvent(aEvent);
-    }
-
-// -----------------------------------------------------------------------------
-// PhysicEmulationEnded
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ViewPositionChanged(const TPoint& aNewPosition,
-    TBool /*aDrawNow*/,
-    TUint /*aFlags*/)
-    {
-    iObserver.MoveOffset(aNewPosition);
-    }
-
-// -----------------------------------------------------------------------------
-// PhysicEmulationEnded
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::PhysicEmulationEnded()
-    {
-    iObserver.Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// ViewPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CTsEventControler::ViewPosition() const
-    {
-    return iObserver.ViewPos();
-    }
-
-// -----------------------------------------------------------------------------
-// Animate
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::Animate(const TPoint& aPoint)
-    {
-    iPhysicsHelper->AnimateToTarget(aPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// ReInitPhysicL
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::ReInitPhysicsL(const TSize& aWorldSize,
-        const TSize& aViewSize, TBool aLandscape)
-    {
-    iPhysicsHelper->ReInitPhysicsL( aWorldSize, aViewSize, aLandscape);
-    }
-
-// -----------------------------------------------------------------------------
-// StopAnimation
-// -----------------------------------------------------------------------------
-//
-void CTsEventControler::StopAnimation()
-    {
-    iPhysicsHelper->Stop();
-    }
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1599 +0,0 @@
-/*
-* 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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#include <gulicon.h>
-#include <eikenv.h>
-#include <AknUtils.h>
-#include <AknIconUtils.h>
-#include <AknIconArray.h>
-#include <aknstyluspopupmenu.h>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-#include <tstaskswitcher.rsg>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <aknlists.h>
-#include <touchfeedback.h>
-#include <akntransitionutils.h>
-#include <akntranseffect.h>
-
-#include "tsfastswaparea.h"
-#include "tsapplogging.h"
-#include "tsfswclient.h"
-#include "tsappui.h"
-#include "tsdatachangeobserver.h"
-#include "tseventcontroler.h"
-
-/** command ids for the fsw popup */
-enum TPopupCommands
-    {
-    EFswCmdClose = 10000,
-    EFswCmdCloseAll
-    };
-
-/** Number of closable applications, to show "close all" option. */
-const TInt KTsMaxClosableApps = 2;
-
-/** Interval until which no change in the fsw content is rendered
-    after starting the closing of an application. */
-const TInt KRefreshDelayAfterClose = 2; // seconds
-
-/** Uid of Active Idle application. 
-    Used when movind Ai to specified position.*/
-const TUid KAiUid = TUid::Uid( 0x102750F0 );
-    
-/** Position of Ai in fsw grid.*/
-const TInt KAiPosition = 0;
-
-/** Default grid item to highlight.*/
-const TInt KItemToHighlight = 3;
-
-const TInt KAppKeyTypeShort = 1;
-const TInt KAppKeyTypeLong = 2;
-
-const TInt KLayoutItemCount = 4;
-
-const TInt KRedrawTime = 250000; // 0.25 sec
-const TInt KHighlighActivationTime = 100000; // 100 ms
-const TInt KUpdateGridTime = 1000000; // 1 s
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NewL
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea* CTsFastSwapArea::NewL( const TRect& aRect,
-    CCoeControl& aParent, CTsDeviceState& aDeviceState, 
-    CTsEventControler& aEventHandler )
-    {
-    CTsFastSwapArea* self = CTsFastSwapArea::NewLC(aRect,
-            aParent, aDeviceState, aEventHandler);
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea* CTsFastSwapArea::NewLC( const TRect& aRect,
-    CCoeControl& aParent, CTsDeviceState& aDeviceState,
-    CTsEventControler& aEventHandler)
-    {
-    CTsFastSwapArea* self = new (ELeave) CTsFastSwapArea(
-            aParent, aDeviceState, aEventHandler);
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::CTsFastSwapArea
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea::CTsFastSwapArea(CCoeControl& aParent,
-    CTsDeviceState& aDeviceState,
-    CTsEventControler& aEventHandler) :
-    iParent(aParent), iDeviceState(aDeviceState), iEvtHandler(aEventHandler),
-    iPreviousNoOfItems(0)
-    {
-    // no implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::~CTsFastSwapArea
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapArea::~CTsFastSwapArea()
-    {
-    iArray.ResetAndDestroy();
-    delete iGrid;
-    delete iFSClient;
-    delete iPopup;
-    delete iHighlightTimer;
-    delete iRedrawTimer;
-    delete iUpdateGridTimer;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ConstructL( const TRect& aRect )
-    {
-    SetContainerWindowL( iParent );
-
-    SetRect( aRect );
-
-    // setup ganes grid
-    ReCreateGridL();
-
-    // create stylus popup instance
-    PreCreatePopupL();
-
-    // connect to fsw server
-    iFSClient = CTsFswClient::NewL();
-    
-    iEvtHandler.ReInitPhysicsL(GridWorldSize(), ViewSize(), ETrue);
-    
-    // add self to device state observer
-    iDeviceState.AddObserverL( *this, EDeviceType );
-    
-    iHighlightTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iHighlightTimer->ConstructL();
-    
-    iRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iRedrawTimer->ConstructL();
-
-    iUpdateGridTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iUpdateGridTimer->ConstructL();
-    
-    ActivateL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ReCreateGridL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ReCreateGridL()
-    {
-    MCoeControlObserver* obs = NULL;
-    TBool wasHighlight = iDeviceState.DeviceType() == 
-                             CTsDeviceState::EHybrid ? ETrue : EFalse;
-    if ( iGrid )
-        {
-        obs = iGrid->Observer();
-        iDeviceState.RemoveObserver(*iGrid);
-        wasHighlight = iGrid->IsHighlightVisible();
-        delete iGrid;
-        iGrid = NULL;
-        }
-    
-    iGrid = new( ELeave ) CTsFastSwapGrid;
-    iGrid->ConstructL( this );
-    iDeviceState.AddObserverL(*iGrid, MTsDeviceStateObserver::ESkin);
-    
-    AknListBoxLayouts::SetupStandardGrid( *iGrid );
-    
-    RArray<TAknLayoutRect> rects;
-    CleanupClosePushL(rects);
-    rects.ReserveL(KLayoutItemCount);
-    GetFastSwapAreaRects(rects);
-    TAknLayoutRect gridAppPane = rects[0];
-    TAknLayoutRect gridItem = rects[1];
-    TAknLayoutRect gridImage = rects[2];
-    TAknLayoutRect gridNextItem = rects[3];
-    CleanupStack::PopAndDestroy(&rects);
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    iGrid->SetRect(gridAppPane.Rect());
-    iGrid->SetVisibleViewRect(gridAppPane.Rect());
-    TAknLayoutScalableParameterLimits gridParams = 
-        AknLayoutScalable_Apps::cell_tport_appsw_pane_ParamLimits( variety );
-    TPoint empty( ELayoutEmpty, ELayoutEmpty );
-    
-    AknListBoxLayouts::SetupFormGfxCell( *iGrid, iGrid->ItemDrawer(), 0,
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ).LayoutLine(),
-            empty, empty );
-
-    // Setup text layout
-    TAknLayoutText textLayout;
-    textLayout.LayoutText(
-            Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_t1( variety ).LayoutLine() );
-    
-    // Because textLayout.BaselineOffset() does not work (missing lib entry),
-    // we need to calculate offset ourselves
-    TInt baselineOffset = textLayout.TextRect().iBr.iY - textLayout.TextRect().iTl.iY;
-    AknListBoxLayouts::SetupFormTextCell( *iGrid, iGrid->ItemDrawer(), 1 /*Column index*/,
-                                          textLayout.Font() /*Font type*/,
-                                          NULL /*color*/,
-                                          textLayout.TextRect().iTl.iX /*Left margin*/, 0 /*unused*/,
-                                          baselineOffset /*Baseline*/, 0 /*Text width*/,
-                                          textLayout.Align() /*Text alignment*/,
-                                          TPoint(0,0) /*Start pos*/,
-                                          TPoint(0,0) /*End pos*/);
-    // Text colors
-    TRgb textColor;
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor,
-            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
-    TRgb highlightTextColor;
-    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), highlightTextColor,
-            KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
-    CFormattedCellListBoxData::TColors colors;
-    colors.iText = textColor;
-    colors.iBack = iGrid->ItemDrawer()->BackColor();
-    colors.iHighlightedText = highlightTextColor;
-    colors.iHighlightedBack = iGrid->ItemDrawer()->HighlightedBackColor();
-    iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL(1, colors);
-    
-    // Setup grid observers
-    if ( obs )
-        {
-        iGrid->SetObserver( obs );
-        }
-    iGrid->SetListBoxObserver(this);
-    iGrid->SetFastSwapGridObserver(this);
-    iGrid->SetContainerWindowL(*this);
-    
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iGridItemGap = gridItem.Rect().iTl.iX - gridNextItem.Rect().iBr.iX;
-        }
-    else
-        {
-        iGridItemGap = gridNextItem.Rect().iTl.iX - gridItem.Rect().iBr.iX;
-        }
-    iMaxItemsOnScreen = Rect().Width() / gridItem.Rect().Width();
-    if ( iMaxItemsOnScreen > 1 )
-        {
-        TInt widthWithGaps =
-            (iMaxItemsOnScreen - 1) * iGridItemGap + iMaxItemsOnScreen * gridItem.Rect().Width();
-        if ( widthWithGaps > Rect().Width() )
-            {
-            iMaxItemsOnScreen--;
-            }
-        }
-    iGridItemWidth = gridItem.Rect().Width();
-    
-    iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(EFalse);
-    
-    // Update state
-    HandleDeviceStateChanged( EDeviceType );
-    if( wasHighlight )
-        {
-        iGrid->ShowHighlight();
-        }
-    else
-        {
-        iGrid->HideHighlight();
-        }
-    
-    // Make sure that there is an ActivateL call even when we are not
-    // called from ConstructL. (in order to have the grid's parent ptr set properly)
-    ActivateL();
-    }
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::GetFastSwapAreaRects
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::GetFastSwapAreaRects( RArray<TAknLayoutRect>& aRects )
-    {
-    TAknLayoutRect gridAppPane;
-    TAknLayoutRect gridItem;
-    TAknLayoutRect gridImage;
-    TAknLayoutRect gridNextItem;
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    
-    gridAppPane.LayoutRect( Rect(), 
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    aRects.Append(gridAppPane);
-    
-    gridItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane( variety, 0, 0 ) );
-    aRects.Append(gridItem);
-    
-    gridImage.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ) ); 
-    aRects.Append(gridImage);
-    gridNextItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_cp03( variety ) );
-    aRects.Append(gridNextItem);
-    }
-
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Setup
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Setup( MCoeControlObserver& aControlObserver )
-    {
-    iGrid->SetObserver( &aControlObserver );
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SizeChanged()
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::SizeChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( iGrid )
-        {
-        // Grid needs to be recreated to proper reinitilize
-        // data with new layout values
-        TInt selIdx = SelectedIndex();
-        TRAPD(err, 
-              ReCreateGridL();
-              iEvtHandler.ReInitPhysicsL(GridWorldSize(), ViewSize(), ETrue););
-        if ( err != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "ReCreateGridL leaves with %d", err );
-            }
-        HandleFswContentChanged();
-        iGrid->SetCurrentDataIndex(selIdx);
-        UpdateGrid(ETrue, EFalse);
-        DrawDeferred();
-        }
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Draw
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Draw( const TRect& /*aRect*/ ) const
-    {
-    CWindowGc& gc = SystemGc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin,
-           cc,
-           this,
-           gc,
-           Rect() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::SwitchToApp
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SwitchToApp( TInt aIndex )
-    {
-    if ( aIndex >= 0 && aIndex < iArray.Count() )
-        {
-        TInt wgId = iArray[aIndex]->WgId();
-        // Move other app to foreground and then move ourselves to background.
-        // Order is important and cannot be reversed.
-        iFSClient->SwitchToApp( wgId );
-        // We do not want to come back to ts if the activated app is closed.
-        // Therefore ts must be moved to background.
-        CTsAppUi* appui =
-            static_cast<CTsAppUi*>( iEikonEnv->AppUi() );
-        appui->MoveAppToBackground( AknTransEffect::EApplicationStartRect );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::TryCloseAppL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TryCloseAppL( TInt aIndex,
-        TBool aSuppressRendering )
-    {
-    TSLOG_CONTEXT( TryCloseAppL, TSLOG_LOCAL );
-    TSLOG2_IN( "%d %d", aIndex, aSuppressRendering );
-
-    if ( aIndex >= 0 && aIndex < iArray.Count() && CanClose( aIndex ) )
-        {
-        TInt wgId = iArray[aIndex]->WgId();
-        iFSClient->CloseApp( wgId );
-        // The fsw content will change sooner or later
-        // but the updated content (without the closed app) will not
-        // come very fast. It looks better to the user if the item
-        // in the grid is removed right here, right now.
-        // If the app does not close for some reason then this is
-        // not fully correct but the app will then reappear on the next
-        // content-changed notification anyway.
-        delete iArray[aIndex];
-        iArray.Remove( aIndex );
-        NotifyChange();
-        if ( !aSuppressRendering )
-            {
-            RenderContentL();
-            }
-        // Update item selection on the screen if last item was deleted
-        TInt newItemCount = GridItemCount();
-        if ( aIndex == newItemCount )
-            {
-            newItemCount--;
-            iGrid->SetCurrentDataIndex(newItemCount);
-            }
-        iTimeOfLastClose.HomeTime();
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::TryCloseAllL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TryCloseAllL()
-    {
-    // note the direction of the loop, this is needed because
-    // TryCloseAppL may modify the array
-    TBool changed = EFalse;
-    for ( TInt i = iArray.Count() - 1; i >= 0; --i )
-        {
-        if ( CanClose( i ) )
-            {
-            TryCloseAppL( i, ETrue );
-            changed = ETrue;
-            }
-        }
-    if ( changed )
-        {
-        RenderContentL();
-        RestoreSelectedIndex();
-        iGrid->DrawNow();
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CanClose
-// --------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::CanClose( TInt aIndex ) const
-    {
-    CTsFswEntry* e = iArray[aIndex];
-    return !e->AlwaysShown() && !e->SystemApp();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CanCloseOthers
-// --------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::CanCloseAll( TInt aSelectedItem ) const
-    {
-    TInt count( 0 );
-
-    // Count number of closable applications and if number exceeds 2 finish
-    // counting, because it is already enough to show the option.
-    for ( TInt i = iArray.Count(); --i >= 0 && count < KTsMaxClosableApps; )
-        {
-        if ( CanClose( i ) )
-            {
-            count++;
-            }
-        }
-    return ( count >= KTsMaxClosableApps ) ||
-           ( count && !CanClose( aSelectedItem ) );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleFswContentChanged
-// From MTsFswObserver
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleFswContentChanged()
-    {
-    TSLOG_CONTEXT( HandleFswContentChanged, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TRAPD( err, HandleFswContentChangedL() );
-    if ( err != KErrNone )
-        {
-        TSLOG1( TSLOG_INFO, "leave occured: %d", err );
-        }
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleFswContentChangedL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleFswContentChangedL()
-    {
-    TSLOG_CONTEXT( HandleFswContentChangedL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    // If there was an app close operation started during the last
-    // few seconds then stop, to prevent flickering.
-    TTime now;
-    now.HomeTime();
-    TTimeIntervalSeconds iv;
-    if ( now.SecondsFrom( iTimeOfLastClose, iv ) == KErrNone
-            && iv.Int() <= KRefreshDelayAfterClose )
-        {
-        TSLOG1_OUT( "difference since last close is only %d sec, stop", iv.Int() );
-        return;
-        }
-
-    // get current content from fastswap server
-    iFSClient->GetContentL( iArray );
-    SwapApplicationOrder( iArray );
-
-#ifdef _DEBUG
-    for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
-        {
-        CTsFswEntry* e = iArray[i];
-        const TDesC& name( e->AppName() );
-        TSLOG4( TSLOG_INFO, "[%d]: %d %d %S", i, e->WgId(), e->AppUid(), &name );
-        }
-#endif
-
-    // draw
-    RenderContentL();
-
-    // notify observer, if present
-    NotifyChange();
-
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::RenderContentL
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::RenderContentL()
-    {
-    TSLOG_CONTEXT( RenderContentL, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    _LIT(KSeparator, "\t");
-    
-    CArrayPtr<CGulIcon>* iconArray = new ( ELeave ) CAknIconArray( iArray.Count() );
-    CleanupStack::PushL( iconArray );
-    CDesCArrayFlat* textArray = new ( ELeave ) CDesCArrayFlat( iArray.Count() );
-    CleanupStack::PushL( textArray );
-    RArray<TInt> closeItemArray;
-    CleanupClosePushL(closeItemArray);
-    
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    RArray<TAknLayoutRect> rects;
-    CleanupClosePushL(rects);
-    rects.ReserveL(KLayoutItemCount);
-    GetFastSwapAreaRects(rects);
-    TAknLayoutRect gridItem = rects[1];
-    CleanupStack::PopAndDestroy(&rects);
-    if ( AknLayoutUtils::LayoutMirrored() )
-        {
-        iGrid->SetLayoutL( EFalse, EFalse, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
-        }
-    else
-        {
-        iGrid->SetLayoutL( EFalse, ETrue, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
-        }
-    
-    for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
-        {
-        const TDesC& appName( iArray[i]->AppName() );
-        const TInt formatLen = 3 + 2;
-        RBuf formAppName;
-        CleanupClosePushL(formAppName);
-        formAppName.CreateL(appName.Length() + formatLen);
-        formAppName.AppendNum(i);
-        formAppName.Append(KSeparator);
-        formAppName.Append(appName);
-        textArray->AppendL(formAppName);
-        CleanupStack::PopAndDestroy(&formAppName);
-        TSize sz = PreferredImageSize();
-
-        // take the screenshot or appicon+mask and make a copy and scale
-        CFbsBitmap* bitmap = 0;
-        TInt h = iArray[i]->ScreenshotHandle();
-        TSLOG2( TSLOG_INFO, "'%S' screenshot handle %d", &appName, h );
-        TInt maskh = 0;
-        CFbsBitmap* mask = 0;
-        if ( !h )
-            {
-            h = iArray[i]->AppIconBitmapHandle();
-            maskh = iArray[i]->AppIconMaskHandle();
-            TSLOG1( TSLOG_INFO, "using appicon, handle = %d", h );
-            }
-        __ASSERT_DEBUG( h, User::Invariant() );
-        bitmap = CopyBitmapL( h, sz );
-        CleanupStack::PushL( bitmap );
-        if ( maskh )
-            {
-            mask = CopyBitmapL( maskh, sz );
-            }
-        CleanupStack::PushL( mask );
-
-        CGulIcon* icon = CGulIcon::NewL( bitmap, mask );
-        CleanupStack::PushL(icon);
-        iconArray->AppendL(icon);
-        CleanupStack::Pop( 3, bitmap ); // mask, bitmap, icon
-        
-        // Check if item can be closed
-        if ( CanClose(i) && AknLayoutUtils::PenEnabled() )
-            {
-            closeItemArray.AppendL(i);
-            }
-        }
-    // Setup grid
-    iGrid->Model()->SetItemTextArray(textArray);
-    CArrayPtr<CGulIcon>* oldIconArray =
-        iGrid->ItemDrawer()->FormattedCellData()->IconArray();
-    if(oldIconArray)
-        {
-        delete oldIconArray;
-        oldIconArray = NULL;
-        }
-    iGrid->ItemDrawer()->FormattedCellData()->SetIconArrayL(iconArray);
-    iGrid->SetCloseItemsL(closeItemArray);
-    
-    // Cleanup
-    CleanupStack::PopAndDestroy(&closeItemArray);
-    CleanupStack::Pop(textArray);
-    CleanupStack::Pop(iconArray);
-    
-    iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
-                CEikScrollBarFrame::EOff, CEikScrollBarFrame::EOff);
-    
-    // refresh the items in the grid
-    if(iPreviousNoOfItems < iArray.Count())
-        {
-        iGrid->HandleItemAdditionL();
-        }
-    else if(iPreviousNoOfItems > iArray.Count())
-        {
-        iGrid->HandleItemRemovalL();
-        }
-    iPreviousNoOfItems = iArray.Count();
-    iEvtHandler.ReInitPhysicsL( GridWorldSize(), ViewSize(), ETrue );
-    UpdateGrid( ETrue );
-    
-    TSLOG_OUT();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CopyBitmapL
-// Copy and scale.
-// --------------------------------------------------------------------------
-//
-CFbsBitmap* CTsFastSwapArea::CopyBitmapL( TInt aFbsHandle, TSize aSize )
-    {
-    CFbsBitmap* ret = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( ret );
-
-    CFbsBitmap* bmp = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( bmp );
-    User::LeaveIfError( bmp->Duplicate( aFbsHandle ) );
-
-    // do not always use aSize, preserving the aspect ratio is quite
-    // important when showing app icons instead of screenshots
-    TSize sz = CalculateSizePreserveRatio( aSize, bmp->SizeInPixels() );
-
-    User::LeaveIfError( ret->Create( sz, bmp->DisplayMode() ) );
-
-    AknIconUtils::ScaleBitmapL( sz, ret, bmp );
-
-    CleanupStack::PopAndDestroy( bmp );
-    CleanupStack::Pop( ret );
-
-    return ret;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CountComponentControls
-// --------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::CountComponentControls() const
-    {
-    return 1;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::ComponentControl
-// --------------------------------------------------------------------------
-//
-CCoeControl* CTsFastSwapArea::ComponentControl( TInt aIndex ) const
-    {
-    if ( aIndex == 0 )
-        {
-        return iGrid;
-        }
-    return NULL;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleSwitchToBackgroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleSwitchToBackgroundEvent()
-    {
-    // stop listening for changes in fsw content
-    iFSClient->CancelSubscribe();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleSwitchToForegroundEvent
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleSwitchToForegroundEvent()
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::HandleSwitchToForegroundEvent, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    // get the current task list
-    HandleFswContentChanged();
-    // and then start listening for changes
-    iFSClient->Subscribe( *this );
-    
-    if ( iDeviceState.DeviceType() == CTsDeviceState::EFullTouch )
-        {
-        iGrid->HideHighlight();
-        }
-    else
-        {
-        iGrid->ShowHighlight();
-        }
-    
-    RestoreSelectedIndex();
-    UpdateGrid(ETrue, EFalse);
-    
-    iRedrawTimer->Cancel();
-    iRedrawTimer->After(KRedrawTime);
-    
-    // give feedback
-    LaunchPopupFeedback();
-
-    TSLOG_OUT();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::FocusChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::FocusChanged( TDrawNow /*aDrawNow*/ )
-    {
-    if ( IsFocused() )
-        {
-        // if in non-touch mode then select (highlight) some item
-        if ( !AknLayoutUtils::PenEnabled()
-            && SelectedIndex() == KErrNotFound
-            && GridItemCount() )
-            {
-            RestoreSelectedIndex();
-            }
-        }
-    else
-        {
-        // store the currently selected index if there is one
-        SaveSelectedIndex();
-        }
-    iGrid->DrawDeferred();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::OfferKeyEventL
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsFastSwapArea::OfferKeyEventL(
-        const TKeyEvent& aKeyEvent,
-        TEventCode aType )
-    {
-    iKeyEvent = ETrue;
-    iGrid->SetTactileFeedbackSupport(EFalse);
-    // handle the 'clear' key
-    if ( aType == EEventKey && aKeyEvent.iCode == EKeyBackspace )
-        {
-        TInt idx = SelectedIndex();
-        if ( idx >= 0 )
-            {
-            TryCloseAppL( idx );
-            }
-        return EKeyWasConsumed;
-        }
-    
-    //do not forward the event until item is higlighted
-    TKeyResponse response = ShowHighlightOnKeyEvent(aKeyEvent, aType);
-    if( response == EKeyWasConsumed )
-    	{
-    	return EKeyWasConsumed;
-    	}
-    
-    // pass the event to grid
-    // do not pass down and up arrow key events
-    if ( aKeyEvent.iScanCode != EStdKeyUpArrow &&
-         aKeyEvent.iScanCode != EStdKeyDownArrow )
-        {
-        TBool animate(ETrue);
-        TBool redraw(EFalse);
-        TInt prevItem = SelectedIndex();
-        TKeyResponse response = iGrid->OfferKeyEventL( aKeyEvent, aType );
-        if ( prevItem != SelectedIndex() && // item changed
-             ( ( prevItem == 0 &&
-                 SelectedIndex() == GridItemCount() - 1 &&
-                 GridItemCount() > iMaxItemsOnScreen + 1 ) || // loop from first to last item
-               ( prevItem == GridItemCount() - 1 &&
-                 SelectedIndex() == 0 &&
-                 GridItemCount() > iMaxItemsOnScreen + 1) // loop from last to first item
-              ) // loop
-            )
-            {
-            // Loop occured
-            animate = EFalse;
-            }
-        if ( prevItem != SelectedIndex() )
-            {
-            redraw = ETrue;
-            iGrid->ShowHighlight();
-            }
-        UpdateGrid( redraw, animate );
-        return response;
-        }
-    
-    return EKeyWasNotConsumed;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::CatchKeyEvent
-// -----------------------------------------------------------------------------
-//
-TKeyResponse CTsFastSwapArea::ShowHighlightOnKeyEvent(
-		const TKeyEvent& aKeyEvent, TEventCode aType)
-	{
-	TKeyResponse retVal(EKeyWasNotConsumed);
-	
-	if (aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-		aKeyEvent.iScanCode == EStdKeyRightArrow)
-		{
-		if (!iGrid->IsHighlightVisible())
-			{
-			if (aType == EEventKey)
-				{
-				ShowHighlight();
-				iConsumeEvent = ETrue;
-				}
-			retVal = EKeyWasConsumed;
-			}
-		else if (iConsumeEvent)
-			{
-			if (aType == EEventKeyUp)
-				{
-				retVal = EKeyWasConsumed;
-				}
-			else
-				{
-				iConsumeEvent = EFalse;
-				}
-			}
-		}
-	return retVal;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-    iKeyEvent = EFalse;
-    iGrid->SetTactileFeedbackSupport(ETrue);
-    if(aPointerEvent.iType == TPointerEvent::EButton1Down)
-        {
-        iTapEvent = aPointerEvent;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SelectedIndex
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::SelectedIndex() const
-    {
-    return iGrid->CurrentDataIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SaveSelectedIndex
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SaveSelectedIndex()
-    {
-    iSavedSelectedIndex = SelectedIndex();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::RestoreSelectedIndex
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::RestoreSelectedIndex()
-    {
-    iSavedSelectedIndex = KErrNotFound;
-    if ( GridItemCount() )
-        {
-        // highlight second recent item (that has index 2) if possible
-        TInt highlightItem = 0;
-        TInt count = GridItemCount();
-        while( highlightItem < count 
-            && highlightItem < KItemToHighlight )
-            {
-            ++highlightItem;
-            }
-        iSavedSelectedIndex = highlightItem - 1;//count from 0
-        iGrid->SetCurrentDataIndex( iSavedSelectedIndex );
-        TBool forceRedraw(ETrue);
-        UpdateGrid(forceRedraw);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ProcessCommandL
-// Handle fsw popup commands
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ProcessCommandL( TInt aCommandId )
-    {
-    switch ( aCommandId )
-        {
-        case EFswCmdClose:
-            TryCloseAppL( iAppIndexForPopup );
-            break;
-
-        case EFswCmdCloseAll:
-            TryCloseAllL();
-            break;
-
-        case KErrCancel:
-            // popup dismisses automatically when tapping outside or when switching to other app
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleCloseEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleCloseEventL(TInt aItemIdx)
-    {
-    TryCloseAppL( aItemIdx );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleDeviceStateChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleDeviceStateChanged( TChangeType aChangeType )
-    {
-    if ( aChangeType == EDeviceType )
-        {
-        CTsDeviceState::TDeviceType state = iDeviceState.DeviceType();
-        switch ( state )
-            {
-            case CTsDeviceState::EHybrid:
-                {
-                iGrid->SetGridBehaviour( CTsFastSwapGrid::EHybrid );
-                }
-                break;
-            case CTsDeviceState::EFullTouch:
-                {
-                iGrid->SetGridBehaviour( CTsFastSwapGrid::ETouchOnly );
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::TimerCompletedL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TimerCompletedL( CTsFastSwapTimer* aSource )
-    {
-    if(aSource == iHighlightTimer)
-        {
-        iTapEvent.iType = TPointerEvent::EButton1Up;
-        iGrid->HandlePointerEventL(iTapEvent);
-        }
-    else if(aSource == iRedrawTimer)
-        {
-        DrawNow();
-        }
-    else if( aSource == iUpdateGridTimer )
-        {
-        UpdateGrid(ETrue, ETrue);
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::PreCreatePopupL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::PreCreatePopupL()
-    {
-    if ( !iPopup )
-        {
-        iPopup = CAknStylusPopUpMenu::NewL( this, Rect().iTl );
-        HBufC* text = StringLoader::LoadLC( R_TS_FSW_CLOSE );
-        iPopup->AddMenuItemL( *text, EFswCmdClose );
-        CleanupStack::PopAndDestroy( text );
-        text = StringLoader::LoadLC( R_TS_FSW_CLOSE_ALL );
-        iPopup->AddMenuItemL( *text, EFswCmdCloseAll );
-        CleanupStack::PopAndDestroy( text );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ShowPopupL
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapArea::ShowPopupL( TInt aIndex, const TPoint& aPoint )
-    {
-    TBool showPopUp(EFalse);
-    TBool showPopupItem;
-    // hide 'close' if app cannot be closed
-    showPopupItem = CanClose( aIndex );
-    iPopup->SetItemDimmed( EFswCmdClose, !showPopupItem );
-    showPopUp = showPopUp || showPopupItem;
-    // hide 'close all' if there are no applications to close.
-    showPopupItem = CanCloseAll( aIndex );
-    iPopup->SetItemDimmed( EFswCmdCloseAll, !showPopupItem );
-    showPopUp = showPopUp || showPopupItem;
-
-    if(showPopUp)
-        {
-        // give feedback
-        LaunchPopupFeedback();
-        // save index for later use & show popup
-        iAppIndexForPopup = aIndex;
-        iPopup->SetPosition( aPoint, CAknStylusPopUpMenu::EPositionTypeLeftBottom );
-        iPopup->ShowMenu();
-        }
-    return showPopUp;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Count
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::Count() const
-    {
-    return iArray.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SetDataChangeObserver
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SetDataChangeObserver(
-        MTsDataChangeObserver* aDcObserver )
-    {
-    iDcObserver = aDcObserver;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::NotifyChange
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::NotifyChange()
-    {
-    if ( iDcObserver )
-        {
-        iDcObserver->DataChanged( this, Count() );
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SwapApplicationOrder
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SwapApplicationOrder( 
-    RPointerArray<CTsFswEntry>& aArray )
-    {
-    for ( TInt i = 0; i < aArray.Count(); ++i )
-        {
-        if( aArray[i]->AppUid() == KAiUid )
-            {
-            CTsFswEntry* homescreenEntry(0);
-            homescreenEntry = aArray[i];
-            aArray.Remove(i);
-            aArray.Insert(homescreenEntry, KAiPosition);
-            break;
-            }
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::PreferredImageSize
-// -----------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::PreferredImageSize()
-    {
-    TAknLayoutRect gridImage;
-    TRAP_IGNORE(
-        RArray<TAknLayoutRect> rects;
-        CleanupClosePushL(rects);
-        rects.ReserveL(KLayoutItemCount);
-        GetFastSwapAreaRects(rects);
-        gridImage = rects[2];
-        CleanupStack::PopAndDestroy(&rects);
-        );
-    return gridImage.Rect().Size();
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::GridItemCount
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::GridItemCount()
-    {
-    return iGrid->Model()->ItemTextArray()->MdcaCount();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::HandleListBoxEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
-    {
-    if ( aListBox == iGrid )
-        {
-        switch ( aEventType )
-            {
-            case EEventEnterKeyPressed:
-            case EEventItemClicked:
-                {
-                SwitchToApp(SelectedIndex());
-                }
-                break;
-            case EEventPenDownOnItem:
-                {
-                iGrid->ShowHighlight();
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CalculateSizePreserveRatio
-// --------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::CalculateSizePreserveRatio(
-        const TSize& aTargetAreaSize,
-        const TSize& aSourceSize )
-    {
-    TSize sz;
-    if ( aSourceSize.iWidth > aSourceSize.iHeight )
-        {
-        sz.iWidth = aTargetAreaSize.iWidth;
-        TReal ratio = aSourceSize.iWidth / (TReal) aSourceSize.iHeight;
-        sz.iHeight = sz.iWidth / ratio;
-        }
-    else
-        {
-        sz.iHeight = aTargetAreaSize.iHeight;
-        TReal ratio = aSourceSize.iHeight / (TReal) aSourceSize.iWidth;
-        sz.iWidth = sz.iHeight / ratio;
-        }
-    return sz;
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::SelectNextItem
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SelectNextItem()
-    {
-    iKeyEvent = ETrue;
-    iGrid->SetTactileFeedbackSupport(EFalse);
-    TBool forceRedraw(ETrue);
-    TBool animate(ETrue);
-    TInt selectedItem = SelectedIndex();
-    selectedItem++;
-    if ( selectedItem == GridItemCount() )
-        {
-        // Last item is selected, move to first one
-        selectedItem = 0;
-        animate = EFalse;
-        }
-    iGrid->SetCurrentDataIndex(selectedItem);
-    UpdateGrid(forceRedraw, animate);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::ShowHiglight
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::ShowHighlight()
-    {
-    iGrid->ShowHighlight();
-    UpdateGrid(ETrue, EFalse);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::CenterItem
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::CenterItem(TInt aRedrawDelay)
-    {
-    if( iMaxItemsOnScreen < GridItemCount() )
-        {
-        TInt visibleItem = ViewToVisibleItem( ViewPos() );
-        if(iKeyEvent)
-            {
-            visibleItem = SelectedIndex();
-            }
-        if(visibleItem != SelectedIndex())
-            {
-            iGrid->SetCurrentDataIndex( visibleItem );
-            DrawNow();
-            }
-        }
-
-    iUpdateGridTimer->Cancel();
-    iUpdateGridTimer->After(aRedrawDelay);
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::GridWorldSize
-// --------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::GridWorldSize()
-    {
-    return TSize( GridItemCount() * iGridItemWidth + (GridItemCount() - 1) * iGridItemGap, Rect().Height() );
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::UpdateGrid
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::UpdateGrid( TBool aForceRedraw, TBool aAnimate )
-    {
-    TPoint targetPoint = ItemViewPosition( SelectedIndex() );
-    if ( aForceRedraw || targetPoint.iX != ViewPos().iX )
-        {
-        if ( aAnimate )
-            {
-            iEvtHandler.Animate( targetPoint );
-            }
-        else
-            {
-            MoveOffset(targetPoint);
-            iEvtHandler.StopAnimation();
-            }
-        if ( aForceRedraw )
-            {
-            iGrid->DrawNow();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::HandleAppKey
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::HandleAppKey(TInt aType)
-    {
-    if( aType == KAppKeyTypeShort )
-        {
-        if(iGrid->IsHighlightVisible())
-            {
-            SelectNextItem();
-            }
-        else
-            {
-            ShowHighlight();
-            }
-        }
-    else if( aType == KAppKeyTypeLong )
-        {
-        SwitchToApp( SelectedIndex() );
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::MoveOffset
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::MoveOffset(const TPoint& aPoint)
-    {
-    TSLOG_CONTEXT( CTsFastSwapArea::MoveOffset, TSLOG_LOCAL );
-    TSLOG2_IN("Old position x: %d, y:%d", ViewPos().iX, ViewPos().iY);
-    TSLOG2_IN("New position x: %d, y:%d", aPoint.iX, aPoint.iY);
-    TSLOG_OUT();
-    
-    TInt currentXPos = aPoint.iX;
-    currentXPos -= Rect().Width() / 2;
-    TRect gridViewRect = Rect();
-    gridViewRect.iTl.iX = -currentXPos;
-    // Take edge offset into account
-    gridViewRect.iTl.iX += Rect().iTl.iX;
-    if(GridItemCount() <= iMaxItemsOnScreen)
-        {
-        // Center view
-        gridViewRect.iTl.iX += ( Rect().Width() - GridItemCount() * iGridItemWidth ) / 2;
-        }
-    iGrid->SetRect( gridViewRect );
-    DrawNow();
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Tap
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::TapL(const TPoint& aPoint)
-    {
-    if(iGrid->Rect().Contains(aPoint))
-        {
-        //provide tap pointer event to grid
-        iGrid->HandlePointerEventL(iTapEvent);
-        iHighlightTimer->Cancel();
-        iHighlightTimer->After(KHighlighActivationTime);
-        }
-    else
-        {
-        //move task switcher to background
-        iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::LongTap
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::LongTapL(const TPoint& aPoint)
-    {
-    TInt index(KErrNotFound);
-    if( iGrid->GridView()->XYPosToItemIndex(aPoint,index) )
-        {
-        iGrid->SetCurrentItemIndex(index);
-        SaveSelectedIndex();
-        if ( !ShowPopupL(iSavedSelectedIndex, aPoint) )
-            {
-            TapL(aPoint);
-            }
-        else
-            {
-            iGrid->ShowHighlight();
-            DrawNow();
-            }
-        }
-    else
-        {
-        TapL(aPoint);
-        }
-    }
-
-// --------------------------------------------------------------------------
-// CTsFastSwapArea::Drag
-// --------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Drag(
-    const MAknTouchGestureFwDragEvent& /*aEvent*/)
-    {
-    iGrid->SetTactileFeedbackSupport(ETrue);
-    iGrid->HideHighlight();
-    CenterItem( KUpdateGridTime );
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewSize
-// -----------------------------------------------------------------------------
-//
-TSize CTsFastSwapArea::ViewSize()
-    {
-    return TSize(Rect().Width(), Rect().Height());  
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::Stop()
-    {    
-    CenterItem( KUpdateGridTime );
-    DrawNow();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewSize
-// -----------------------------------------------------------------------------
-//
-TPoint CTsFastSwapArea::ViewPos() const
-    {
-    TPoint retVal;
-    retVal.iY = iGrid->Rect().iTl.iY + Rect().Height() / 2;
-    retVal.iX = - (iGrid->Rect().iTl.iX - Rect().iTl.iX) + Rect().Width() / 2 ;
-    TInt gridItemCount = iGrid->Model()->ItemTextArray()->MdcaCount();
-    if( gridItemCount <= iMaxItemsOnScreen)
-        {
-        // View centered
-        retVal.iX += ( Rect().Width() - gridItemCount * iGridItemWidth ) / 2;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ItemPosition
-// -----------------------------------------------------------------------------
-//
-TPoint CTsFastSwapArea::ItemViewPosition( TInt aItemIdx )
-    {
-    TPoint retVal = Rect().iTl;
-    if ( aItemIdx == 0 )
-        {
-        // First item
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            if ( GridItemCount() > iMaxItemsOnScreen )
-                {
-                retVal.iX = GridWorldSize().iWidth - Rect().Width();
-                }
-            else
-                {
-                retVal.iX = 0;
-                }
-            }
-        else // normal layout
-            {
-            retVal.iX = 0;
-            }
-        }
-    else if ( aItemIdx == GridItemCount() - 1 )
-        {
-        // Last item selected
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            retVal.iX = 0;
-            }
-        else // normal layout
-            {
-            if ( GridItemCount() > iMaxItemsOnScreen )
-                {
-                retVal.iX = GridWorldSize().iWidth - Rect().Width();
-                }
-            else
-                {
-                retVal.iX = 0;
-                }
-            }
-        }
-    else
-        {
-        // Middle item
-        TInt screenMiddleItemOffset = ( Rect().Width() - iGridItemWidth ) / 2;
-        if( AknLayoutUtils::LayoutMirrored() )
-            {
-            retVal.iX = iGridItemWidth * ( GridItemCount() - 1 - aItemIdx ) - screenMiddleItemOffset;
-            retVal.iX += ( GridItemCount() - 1 - aItemIdx ) * iGridItemGap;
-            }
-        else // normal layout
-            {
-            retVal.iX = iGridItemWidth * aItemIdx - screenMiddleItemOffset;
-            retVal.iX += iGridItemGap * aItemIdx;
-            }
-        if ( retVal.iX < 0 )
-            {
-            retVal.iX = 0;
-            }
-        else if ( retVal.iX + Rect().Width() > GridWorldSize().iWidth )
-            {
-            retVal.iX = GridWorldSize().iWidth - Rect().Width();
-            }
-        }
-    
-    // Return middle of the view rectangle
-    retVal.iX += Rect().Width() / 2;
-    
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::ViewToVisibleItem
-// -----------------------------------------------------------------------------
-//
-TInt CTsFastSwapArea::ViewToVisibleItem( const TPoint aViewPos )
-    {
-    TInt retVal(0);
-    TPoint absViewPos = aViewPos;
-    absViewPos.iX -= Rect().Width() / 2;
-    if ( absViewPos.iX < 0 )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            // View crossed left border of grid world rect, last item selected
-            retVal = GridItemCount() - 1;
-            }
-        else // normal layout
-            {
-            // View crossed left border of grid world rect, first item selected
-            retVal = 0;
-            }
-        }
-    else if ( absViewPos.iX + Rect().Width() > GridWorldSize().iWidth )
-        {
-        if ( AknLayoutUtils::LayoutMirrored() )
-            {
-            // View crossed right border of grid world rect, first item selected
-            retVal = 0;
-            }
-        else // normal layout
-            {
-            // View crossed right border of grid world rect, last item selected
-            retVal = GridItemCount() - 1;
-            }
-        }
-    else
-        {
-        TInt offsetCheck = GridWorldSize().iWidth;
-        // View inside of grid world rect
-        for ( TInt i = 0 ; i < GridItemCount(); i++ )
-            {
-            TInt offset = aViewPos.iX - ItemViewPosition( i ).iX;
-            if ( Abs( offset ) <= offsetCheck )
-                {
-                offsetCheck = Abs( offset );
-                retVal = i;
-                }
-            else
-                {
-                break;
-                }
-            }
-        }
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapArea::LaunchPopupFeedback
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::LaunchPopupFeedback()
-    {
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        MTouchFeedback* feedback = MTouchFeedback::Instance();
-        if ( feedback )
-            {
-            TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp;
-            if ( CAknTransitionUtils::TransitionsEnabled(
-                 AknTransEffect::EComponentTransitionsOff ) )
-                {
-                fbLogicalType = ETouchFeedbackIncreasingPopUp;
-                }
-            feedback->InstantFeedback( this,
-                                       fbLogicalType,
-                                       ETouchFeedbackVibra,
-                                       TPointerEvent() );
-            }
-        }
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,863 +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:  Taskswitcher Fast Swap area UI
- *
-*/
-
-
-#include <avkon.mbg>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <touchfeedback.h>
-
-#include "tsfastswapgrid.h"
-
- /* ================================================================================
-  * CTsFastSwapGrid
-  * ================================================================================
-  */
-
-const TInt KCloseIconRedrawTime = 300000; // 0.3 second
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CTsFastSwapGrid
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::CTsFastSwapGrid()
-: CAknGrid(),
-  iCloseIconHitIdx( KErrNotFound ),
-  iBehaviour( ETouchOnly ),
-  iHighlightVisible( EFalse )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::~CTsFastSwapGrid
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::~CTsFastSwapGrid()
-    {
-    iCloseItems.Close();
-    delete iBgContext;
-    delete iCloseIconRedrawTimer;
-    iFullyVisibleItems.Close();
-    iPartialVisibleItems.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ConstructL( const CCoeControl* aParent )
-    {
-    iParent = aParent;
-    CAknGrid::ConstructL( aParent, EAknListBoxSelectionGrid );
-    SetPrimaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
-    SetSecondaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
-    iBgContext = CAknsFrameBackgroundControlContext::NewL(
-               KAknsIIDQsnFrPopup,
-               TRect(),
-               TRect(),
-               ETrue );
-    iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
-    iVisibleViewRect = TRect( 0, 0, 0, 0 );
-    iCloseIconRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
-    iCloseIconRedrawTimer->ConstructL();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandlePointerEventL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandlePointerEventL( const TPointerEvent &aPointerEvent )
-    {
-    TBool eventHandled( EFalse );
-    if ( aPointerEvent.iType == TPointerEvent::EButton1Up ||
-         aPointerEvent.iType == TPointerEvent::EButton1Down )
-        {
-        // Check if close icon has been hit
-        // Find hit item
-        TInt hitItem( KErrNotFound );
-        for ( TInt i = 0; i < Model()->NumberOfItems(); i++ )
-            {
-            if ( GridView()->XYPosToItemIndex( aPointerEvent.iParentPosition, i ) )
-                {
-                hitItem = i;
-                break;
-                }
-            }
-        if ( hitItem != KErrNotFound )
-            {
-            // Item found, check if close icon has been hit
-            TPoint itemPos = GridView()->ItemPos( hitItem );
-            TSize itemSize = GridView()->ItemSize( hitItem );
-            TRect itemRect( itemPos, itemSize );
-            CTsGridItemDrawer* itemDrawer =
-                static_cast<CTsGridItemDrawer*>( ItemDrawer() );
-            TRect closeIconRect = itemDrawer->GetCloseButtonRect( itemRect );
-            if ( closeIconRect.Contains( aPointerEvent.iParentPosition ) )
-                {
-                // Close icon hit
-                if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-                    {
-                    // pointer down - finish processing but do not forward to grid
-                    eventHandled = ETrue;
-                    }
-                else
-                    {
-                    // Pointer up
-                    TInt hitDataIdx(hitItem);
-                    if ( AknLayoutUtils::LayoutMirrored() )
-                        {
-                        // Calculate logical item index
-                        hitDataIdx = Model()->ItemTextArray()->MdcaCount() - 1 - hitItem;
-                        }
-                    iCloseIconHitIdx = hitDataIdx;
-                    eventHandled = ETrue;
-                    // Hide highlight to mark close icon
-                    HideHighlight();
-                    // Update current item and redraw grid
-                    SetCurrentItemIndex( hitItem );
-                    DrawNow();
-                    if ( iFastSwapGridObserver )
-                        {
-                        MTouchFeedback* feedback = MTouchFeedback::Instance();
-                        feedback->InstantFeedback(this,
-                                                  ETouchFeedbackBasicButton, 
-                                                  ETouchFeedbackVibra, 
-                                                  aPointerEvent);
-                        iCloseIconRedrawTimer->Cancel();
-                        iCloseIconRedrawTimer->After(KCloseIconRedrawTime);
-                        }
-                    if ( GridBehaviour() == EHybrid )
-                        {
-                        ShowHighlight();
-                        }
-                    else
-                        {
-                        Redraw();
-                        }
-                    }
-                }
-            }
-        }
-    
-    if ( !eventHandled )
-        {
-        CTsGridItemDrawer* itemDrawer =
-            static_cast<CTsGridItemDrawer*>( ItemDrawer() );
-        if( aPointerEvent.iType == TPointerEvent::EButton1Down )
-            {
-            itemDrawer->SetRedrawBackground( ETrue );
-            }
-        else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-            {
-            itemDrawer->SetRedrawBackground( EFalse );
-            }
-        CAknGrid::HandlePointerEventL( aPointerEvent );
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandleDeviceStateChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandleDeviceStateChanged( TChangeType aChangeType )
-    {
-    if ( aChangeType == ESkin )
-        {
-        LoadCloseIcon();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CTsFastSwapGrid::MopSupplyObject( TTypeUid aId )
-    {
-    if ( aId.iUid == MAknsControlContext::ETypeId )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
-        }
-    return CCoeControl::MopSupplyObject( aId );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HandleResourceChange
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HandleResourceChange( TInt aType )
-    {
-    if ( aType != KEikDynamicLayoutVariantSwitch )
-        {
-        CAknGrid::HandleResourceChange( aType );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SizeChanged
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SizeChanged()
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetFastSwapGridObserver
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetFastSwapGridObserver( MTsFastSwapGridObserver* aObserver )
-    {
-    iFastSwapGridObserver = aObserver;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CreateItemDrawerL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::CreateItemDrawerL()
-    {
-    TRect availableRect;
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, availableRect);
-    TAknLayoutRect fastSwapAreaPane;
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    fastSwapAreaPane.LayoutRect( availableRect,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    const TInt leftOffset = fastSwapAreaPane.Rect().iTl.iX;
-    const TInt rightOffset = availableRect.Width() - fastSwapAreaPane.Rect().iBr.iX;
-    
-    CFormattedCellGridData* data = CFormattedCellGridData::NewL();
-    CleanupStack::PushL( data );
-    CTsGridItemDrawer* itemDrawer =
-        new ( ELeave ) CTsGridItemDrawer( this, data );
-    CleanupStack::PushL( itemDrawer );
-    itemDrawer->SetEdgeOffset( leftOffset, rightOffset );
-    iItemDrawer = itemDrawer;
-    CleanupStack::Pop( itemDrawer );
-    CleanupStack::Pop( data );
-    LoadCloseIcon();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::TimerCompletedL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::TimerCompletedL( CTsFastSwapTimer* aSource )
-    {
-    if ( aSource == iCloseIconRedrawTimer )
-        {
-        iFastSwapGridObserver->HandleCloseEventL( iCloseIconHitIdx );
-        ResetCloseHit();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetCloseItemsL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetCloseItemsL( RArray<TInt>& aItemIndex )
-    {
-    iCloseItems.Close();
-    for ( TInt i = 0; i < aItemIndex.Count(); i++ )
-        {
-        iCloseItems.AppendL( aItemIndex[i] );
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::CanCloseItem
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::CanCloseItem( TInt aItemIndex )
-    {
-    return iCloseItems.Find(aItemIndex) != KErrNotFound;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ItemCloseHit
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::IsItemCloseHit( TInt aItemIndex )
-    {
-    return iCloseIconHitIdx == aItemIndex;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ResetCloseHit
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ResetCloseHit()
-    {
-    iCloseIconHitIdx = KErrNotFound;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetBehaviour
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetGridBehaviour( TFastSwapGridBehaviour aBehaviour )
-    {
-    iBehaviour = aBehaviour;
-    switch ( iBehaviour )
-        {
-        case ETouchOnly:
-            {
-            HideHighlight();
-            }
-            break;
-        default:
-            {
-            ShowHighlight();
-            }
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::GridBehaviour
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapGrid::TFastSwapGridBehaviour CTsFastSwapGrid::GridBehaviour()
-    {
-    return iBehaviour;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::ShowHighlight
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::ShowHighlight()
-    {
-    if ( !iHighlightVisible )
-        {
-        // Draw highlight
-        iHighlightVisible = ETrue;
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::HideHighlight
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::HideHighlight()
-    {
-    if ( iHighlightVisible )
-        {
-        iHighlightVisible = EFalse;
-        Redraw();
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::IsHighlightVisible
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::IsHighlightVisible()
-    {
-    return iHighlightVisible;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetVisibleViewRect
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetVisibleViewRect( const TRect aRect )
-    {
-    iVisibleViewRect = aRect;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::VisibleViewRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsFastSwapGrid::VisibleViewRect()
-    {
-    TRect retVal;
-    TRect emptyRect = TRect( 0, 0, 0, 0 );
-    if ( iVisibleViewRect == emptyRect )
-        {
-        retVal = Rect();
-        }
-    else
-        {
-        retVal = iVisibleViewRect;
-        }
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LoadCloseIconL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::LoadCloseIcon()
-    {
-    // Load and set close icon
-    CFbsBitmap* icon = NULL;
-    CFbsBitmap* mask = NULL;
-
-    TRAP_IGNORE(AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
-                KAknsIIDQgnIndiItutListCollapse,
-                KAknsIIDQsnTextColors,    // we use text color here, eventhough this is an icon
-                EAknsCIQsnTextColorsCG13, // softkey text color
-                icon,
-                mask,
-                KAvkonBitmapFile,
-                EMbmAvkonQgn_indi_button_preview_close,
-                EMbmAvkonQgn_indi_button_preview_close_mask,
-                KRgbWhite
-                );
-                CleanupStack::Pop( 2 ); // codescanner::cleanup
-                );
-
-    TAknLayoutRect gridAppPane;
-    TAknLayoutRect gridItem;
-    TAknLayoutRect gridCloseButton;
-    TAknLayoutRect gridCloseIcon;
-    TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
-    TRect source = iParent ? iParent->Rect() : Rect();
-    gridAppPane.LayoutRect( source,
-            AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
-    gridItem.LayoutRect( gridAppPane.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane( variety, 0, 0 ) );
-    gridCloseButton.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::bg_button_pane_cp16( variety, 0, 0 ));
-    gridCloseIcon.LayoutRect( gridItem.Rect(),
-            AknLayoutScalable_Apps::cell_tport_appsw_pane_g3( variety, 0, 0 ));
-    AknIconUtils::SetSize( icon, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
-    AknIconUtils::SetSize( mask, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
-    CTsGridItemDrawer* itemDrawer =
-        static_cast<CTsGridItemDrawer*>(iItemDrawer);
-    itemDrawer->SetCloseIcon( icon, mask );
-    TRect relGridCloseButton = TRect( TPoint( gridCloseButton.Rect().iTl.iX - gridItem.Rect().iTl.iX,
-                                              gridCloseButton.Rect().iTl.iY - gridItem.Rect().iTl.iY),
-                                      gridCloseButton.Rect().Size() );
-    TRect relGridCloseIconRect = TRect( TPoint( gridCloseIcon.Rect().iTl.iX - gridItem.Rect().iTl.iX,
-                                                gridCloseIcon.Rect().iTl.iY - gridItem.Rect().iTl.iY),
-                                        gridCloseIcon.Rect().Size() );
-    itemDrawer->SetCloseIconRect( relGridCloseButton, relGridCloseIconRect );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::Redraw
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::Redraw()
-    {
-    DrawDeferred();
-    CCoeControl* ctrlToRedraw = Parent();
-    if ( ctrlToRedraw )
-        {
-        ctrlToRedraw->DrawDeferred();
-        ctrlToRedraw = ctrlToRedraw->Parent();
-        if ( ctrlToRedraw )
-            {
-            ctrlToRedraw->DrawNow();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LaunchTactileFeedback
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::LaunchTactileFeedback()
-    {
-    if( !iTactileFeedbackSupport )
-        {
-        return;
-        }
-    
-    MTouchFeedback* feedback = MTouchFeedback::Instance();
-    if (feedback)
-        {
-        feedback->InstantFeedback(ETouchFeedbackSensitive);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetTactileFeedbackSupport
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetTactileFeedbackSupport(TBool aSupport)
-    {
-    iTactileFeedbackSupport = aSupport;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::RemoveFromVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::RemoveFromVisibleItems(TInt aItem) const
-    {
-    TBool retVal(EFalse);
-    TInt idx(0);
-    idx = iFullyVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iFullyVisibleItems.Remove(idx);
-        retVal = ETrue;
-        }
-    idx = iPartialVisibleItems.Find( aItem );
-    if( idx >= 0)
-        {
-        iPartialVisibleItems.Remove(idx);
-        retVal = ETrue;
-        }
-    return retVal;    
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::AddToFullyVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::AddToFullyVisibleItems( TInt aItem ) const
-    {
-    TBool retVal(EFalse);
-    TInt idx(0);
-
-    idx = iPartialVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iPartialVisibleItems.Remove(idx);
-        }
-    idx = iFullyVisibleItems.Find( aItem );
-    if( idx == KErrNotFound )
-        {
-        iFullyVisibleItems.Append(aItem);
-        retVal = ETrue; 
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MoveToPartialVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::MoveToPartialVisibleItems( TInt aItem ) const
-    {
-    TInt idx(0);
-    idx = iFullyVisibleItems.Find(aItem); 
-    if(  idx >= 0)
-        {
-        iFullyVisibleItems.Remove(idx);
-        }
-    idx = iPartialVisibleItems.Find( aItem );
-    if( idx == KErrNotFound )
-        {
-        iPartialVisibleItems.Append(aItem);
-        }
-    return EFalse;
-    }
-
-/* ================================================================================
- * CTsGridItemDrawer
- * ================================================================================
- */
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::CTsGridItemDrawer
-// -----------------------------------------------------------------------------
-//
-CTsGridItemDrawer::CTsGridItemDrawer(
-        CTsFastSwapGrid* aGrid,
-        CFormattedCellListBoxData* aData )
-: CFormattedCellListBoxItemDrawer( aGrid->Model(),
-        NULL,
-        aData ),
-  iGrid( aGrid )
-    {
-    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, iScreenRect);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::~CTsGridItemDrawer
-// -----------------------------------------------------------------------------
-//
-CTsGridItemDrawer::~CTsGridItemDrawer()
-    {
-    delete iCloseIcon;
-    delete iCloseIconMask;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetCloseIcon
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask )
-    {
-    delete iCloseIcon;
-    iCloseIcon = aBmp;
-    delete iCloseIconMask;
-    iCloseIconMask = aMask;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetCloseIconRect
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetCloseIconRect( const TRect& aButtonRect, const TRect& aIconRect )
-    {
-    iCloseButtonRect = aButtonRect;
-    iCloseIconRect = aIconRect;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::GetCloseButtonRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsGridItemDrawer::GetCloseButtonRect( const TRect& aItemRect ) const
-    {
-    TRect retVal;
-    retVal = TRect( TPoint(aItemRect.iTl.iX + iCloseButtonRect.iTl.iX,
-                           aItemRect.iTl.iY + iCloseButtonRect.iTl.iY),
-                    iCloseButtonRect.Size() );
-    return retVal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::SetEdgeOffset
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetEdgeOffset( TInt aLeftOffset, TInt aRightOffset )
-    {
-    iLeftOffset = aLeftOffset;
-    iRightOffset = aRightOffset;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsTeleportGridItemDrawer::SetRedrawBackground
-// -----------------------------------------------------------------------------
-//
-void CTsGridItemDrawer::SetRedrawBackground( TBool aEnable )
-    {
-    iRedrawBackground = aEnable;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::DrawActualItem
-// -----------------------------------------------------------------------------
-//
- void CTsGridItemDrawer::DrawActualItem( TInt aItemIndex, const TRect& aActualItemRect,
-                                                 TBool aItemIsCurrent, TBool aViewIsEmphasized,
-                                                 TBool aViewIsDimmed, TBool aItemIsSelected ) const
-    {
-    TBool feedbackNeed(EFalse);//feedback when item disappear or fully appear
-    
-    if (IsItemRectVisible(aActualItemRect))
-        {
-        // Calculate offset of the visible rectangle
-        TRect drawRect = aActualItemRect;
-        if ( drawRect.iTl.iX < iLeftOffset )
-            {
-            drawRect.iTl.iX = iLeftOffset;
-            }
-        if ( iScreenRect.Width() - drawRect.iBr.iX < iRightOffset )
-            {
-            drawRect.iBr.iX = iScreenRect.Width() - iRightOffset;
-            }
-        iGc->SetClippingRect(drawRect);
-                
-		if(IsRectContained( aActualItemRect, drawRect ))
-            {
-            feedbackNeed = iGrid->AddToFullyVisibleItems( aItemIndex );
-            }
-        else
-            {
-            feedbackNeed = iGrid->MoveToPartialVisibleItems( aItemIndex );
-            }
-			
-        // Check for item highlight
-        TBool itemIsCurrent = !iGrid->IsHighlightVisible() ? EFalse : aItemIsCurrent;
-        
-        // Draw background if necessary
-        if ( iRedrawBackground )
-            {
-            CCoeControl* targetCtrlCtx = iGrid->Parent();
-            if(targetCtrlCtx)
-                {
-                MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-                MAknsControlContext* cc = AknsDrawUtils::ControlContext( targetCtrlCtx );
-                AknsDrawUtils::Background( skin,
-                       cc,
-                       targetCtrlCtx,
-                       *iGc,
-                       drawRect );
-                }
-            }
-        
-        // Draw item
-        CFormattedCellListBoxItemDrawer::DrawActualItem(aItemIndex, aActualItemRect,
-                itemIsCurrent, aViewIsEmphasized, aViewIsDimmed, aItemIsSelected );
-        
-        if ( iGrid->CanCloseItem( aItemIndex ) && iCloseIcon && iCloseIconMask )
-            {
-            TRect closeIconRect = GetCloseButtonRect( aActualItemRect );
-            // Draw frame
-            TRect outerRect = closeIconRect;
-            TRect innerRect = CalculateInnerButtonRect( outerRect );
-            MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-            if ( iGrid->IsItemCloseHit( aItemIndex ) )
-                {
-                AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
-                        KAknsIIDQgnFrSctrlButtonPressed, KAknsIIDQgnFrSctrlButtonCenterPressed);
-                }
-            else
-                {
-                AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
-                        KAknsIIDQgnFrSctrlButton, KAknsIIDQgnFrSctrlButtonCenter);
-                }
-            // Draw close icon
-            TRect sourceRect( TPoint(0,0), iCloseIcon->SizeInPixels() );
-            iGc->DrawBitmapMasked( innerRect, iCloseIcon, sourceRect, iCloseIconMask, ETrue );
-            }
-        }
-    else
-        {
-        feedbackNeed = iGrid->RemoveFromVisibleItems(aItemIndex);
-        }
-    if(feedbackNeed)
-        {
-        iGrid->LaunchTactileFeedback();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::DrawActualItem
-// -----------------------------------------------------------------------------
-//
-TBool CTsGridItemDrawer::IsItemRectVisible( const TRect& aItemRect ) const
-    {
-    TBool retVal( EFalse );
-    TRect viewRect = iGrid->VisibleViewRect();
-    if ( // left edge of item rectangle on screen
-         ( aItemRect.iTl.iX >= viewRect.iTl.iX && aItemRect.iTl.iX <= viewRect.iBr.iX ) ||
-         // right edge of item rectangle on screen
-         ( aItemRect.iBr.iX >= viewRect.iTl.iX && aItemRect.iBr.iX <= viewRect.iBr.iX )
-        )
-        {
-        retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::IsRectContained
-// -----------------------------------------------------------------------------
-//
-TBool CTsGridItemDrawer::IsRectContained(
-        const TRect& aRectContained, const TRect& aRectContainig) const
-    {
-    TBool retVal(EFalse);
-    TRect intersectionRect(aRectContainig);
-    intersectionRect.Intersection( aRectContained );
-    if( intersectionRect == aRectContained)
-        {
-        retVal = ETrue;
-        }
-    return retVal;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsGridItemDrawer::CalculateInnerButtonRect
-// -----------------------------------------------------------------------------
-//
-TRect CTsGridItemDrawer::CalculateInnerButtonRect( const TRect& aOuterRect ) const
-    {
-    TRect retVal(aOuterRect);
-    retVal.iTl.iX += iCloseIconRect.iTl.iX - iCloseButtonRect.iTl.iX;
-    retVal.iTl.iY += iCloseIconRect.iTl.iY - iCloseButtonRect.iTl.iY;
-    retVal.iBr.iX -= iCloseButtonRect.iBr.iX - iCloseIconRect.iBr.iX;
-    retVal.iBr.iY -= iCloseButtonRect.iBr.iY - iCloseIconRect.iBr.iY;
-    return retVal;
-    }
- 
- 
- 
- /* ================================================================================
-  * CTsGridHighlightTimer
-  * ================================================================================
-  */
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapTimer::CTsFastSwapTimer( MTsFastSwapTimerObserver& aObserver )
-: CTimer( EPriorityStandard ),
-  iObserver( &aObserver )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-CTsFastSwapTimer::~CTsFastSwapTimer()
-    {
-    Cancel();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapTimer::ConstructL()
-    {
-    CTimer::ConstructL();
-    CActiveScheduler::Add( this );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsGridHighlightTimer::CTsGridHighlightTimer
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapTimer::RunL()
-    {
-    iObserver->TimerCompletedL(this);
-    }
- 
- // End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysics.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +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:  Application class
- *
-*/
-
-
-#include <aknphysicsobserveriface.h>
-
-#include "tsphysics.h"
-
-const TInt KSingleItemChangeAnimTime = 1000000; // 1 second
-const TInt KAnimationFrameCount = 15; // 15 frames per second
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::CTsPhysics
-// -----------------------------------------------------------------------------
-//
-CTsPhysics::CTsPhysics( MAknPhysicsObserver& aObserver ) :
-    CActive( EPriorityStandard ), iObserver( aObserver )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsPhysics* CTsPhysics::NewLC( MAknPhysicsObserver& aObserver )
-    {
-    CTsPhysics* self = new ( ELeave ) CTsPhysics( aObserver );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::NewL
-// -----------------------------------------------------------------------------
-//
-CTsPhysics* CTsPhysics::NewL( MAknPhysicsObserver& aObserver )
-    {
-    CTsPhysics* self = CTsPhysics::NewLC( aObserver );
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::ConstructL()
-    {
-    User::LeaveIfError( iTimer.CreateLocal() );
-    CActiveScheduler::Add( this );
-    // Animation parameters
-    const TInt KInitValue = 0;
-    iAnimationTickTime = KSingleItemChangeAnimTime / KSingleItemChangeAnimTime;
-    iPhysicsState = EStopped;
-    iAnimationTicks = KInitValue;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::~CTsPhysics
-// -----------------------------------------------------------------------------
-//
-CTsPhysics::~CTsPhysics()
-    {
-    Cancel();
-    iTimer.Close();
-    iAnimationSteps.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::DoCancel()
-    {
-    iTimer.Cancel();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::StartPhysics
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::StartPhysics( const TPoint& aTarget )
-    {
-    Cancel();
-    // Setup animation
-    TPoint currentPoint = iObserver.ViewPosition();
-    if ( currentPoint.iX != aTarget.iX )
-        {
-        iAnimationTicks = 0;
-        if ( CalculateAnimationSteps( aTarget ) == KErrNone )
-            {
-            // Request
-            iTimer.After( iStatus, 0 );
-            SetActive();
-            }
-        else
-            {
-            // If calculation failes (no memory) or there is
-            // only a small step, set view to target
-            iObserver.ViewPositionChanged( aTarget, ETrue, 0);
-            iObserver.PhysicEmulationEnded();
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::StopPhysics
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::StopPhysics()
-    {
-    Cancel();
-    if ( iPhysicsState == ERunning || iPhysicsState == EFinished )
-        {
-        iObserver.PhysicEmulationEnded();
-        }
-    iPhysicsState = EStopped;
-    iAnimationTicks = 0;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::RunL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysics::RunL()
-    {
-    if ( iPhysicsState == EStopped )
-        {
-        // Start animation
-        iPhysicsState = ERunning;
-        iTimer.After( iStatus, iAnimationTickTime );
-        SetActive();
-        }
-    else if ( iPhysicsState == ERunning )
-        {
-        // Ongoing animation
-        if ( iAnimationTicks >= 0 && iAnimationTicks < KAnimationFrameCount )
-            {
-            iObserver.ViewPositionChanged( iObserver.ViewPosition()+iAnimationSteps[iAnimationTicks], ETrue, 0 );
-            }
-        iAnimationTicks++;
-        if ( iAnimationTicks >= KAnimationFrameCount )
-            {
-            iPhysicsState = EFinished;
-            }
-        iTimer.After( iStatus, iAnimationTickTime );
-        SetActive();
-        }
-    else if ( iPhysicsState == EFinished )
-        {
-        iAnimationTicks = 0;
-        iPhysicsState = EStopped;
-        iObserver.PhysicEmulationEnded();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CTsPhysics::RunError( TInt /*aError*/ )
-    {
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysics::CalculateAnimationSteps
-// -----------------------------------------------------------------------------
-//
-TInt CTsPhysics::CalculateAnimationSteps( const TPoint& aTarget )
-    {
-    TInt retVal( KErrNone );
-    iAnimationSteps.Reset();
-    retVal = iAnimationSteps.Reserve( KAnimationFrameCount );
-    if ( retVal == KErrNone )
-        {
-        TInt yValue = aTarget.iY;
-        TPoint currentPos = iObserver.ViewPosition();
-        TInt moveLen = aTarget.iX - currentPos.iX;
-        if ( moveLen > KAnimationFrameCount || moveLen < -KAnimationFrameCount )
-            {
-            TInt singleStep = moveLen / KAnimationFrameCount;
-            for ( TInt i = 0; i < KAnimationFrameCount - 1; i++ )
-                {
-                iAnimationSteps.Append( TPoint( singleStep, yValue ) );
-                }
-            TInt lastStep = moveLen - ( ( KAnimationFrameCount - 1 ) * singleStep );
-            iAnimationSteps.Append( TPoint( lastStep, yValue ) );
-            }
-        else
-            {
-            retVal = KErrArgument;
-            }
-        }
-    return retVal;
-    }
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +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:  Taskswitcher physics
- *
-*/
-
-#include <aknphysics.h>
-
-#include "tsphysicsengine.h"
-#include "tsphysics.h"
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsHandler::CTsPhysicsHandler
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine::CTsPhysicsEngine()
-    {
-    // No implementation required
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::~CTsPhysicsEngine
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine::~CTsPhysicsEngine()
-    {
-    delete iTaskswitcherPhysics;
-    delete iPhysics;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::NewLC
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine* CTsPhysicsEngine::NewLC(
-        MAknPhysicsObserver& aPhysicObserver, CCoeControl& aViewControl)
-    {
-    CTsPhysicsEngine* self = new (ELeave) CTsPhysicsEngine();
-    CleanupStack::PushL(self);
-    self->ConstructL(aPhysicObserver, aViewControl);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::NewL
-// -----------------------------------------------------------------------------
-//
-CTsPhysicsEngine* CTsPhysicsEngine::NewL(
-        MAknPhysicsObserver& aPhysicObserver, CCoeControl& aViewControl)
-    {
-    CTsPhysicsEngine* self = CTsPhysicsEngine::NewLC(
-            aPhysicObserver, aViewControl);
-    CleanupStack::Pop(); // self;
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::ConstructL(MAknPhysicsObserver& aPhysicObserver,
-        CCoeControl& aViewControl)
-    {
-    iPhysics = CAknPhysics::NewL(aPhysicObserver, &aViewControl);//TODO:
-    iTaskswitcherPhysics = CTsPhysics::NewL(aPhysicObserver);
-    }
-
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::IsRunning
-// -----------------------------------------------------------------------------
-//
-TBool CTsPhysicsEngine::IsRunning() const
-    {
-    return iPhysics->OngoingPhysicsAction() != CAknPhysics::EAknPhysicsActionNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::HandleDragEvent
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::HandleDragEvent(
-        AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent)
-    {
-    if (AknTouchGestureFw::EAknTouchGestureFwStart == aEvent.State())
-        {
-        iPhysics->StopPhysics();
-        iStartTime.HomeTime();
-        }
-    else if (AknTouchGestureFw::EAknTouchGestureFwOn == aEvent.State())
-        {
-        TPoint deltaPoint(aEvent.PreviousPosition() - aEvent.CurrentPosition());
-        iPhysics->RegisterPanningPosition(deltaPoint);
-        }
-    else //AknTouchGestureFw::EAknTouchGestureFwStop
-        {
-        TPoint drag(aEvent.PreviousPosition() - aEvent.CurrentPosition());
-        iPhysics->StartPhysics(drag, iStartTime);
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::Stop
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::Stop()
-    {
-    iPhysics->StopPhysics();
-    iTaskswitcherPhysics->StopPhysics();
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::AnimateToTargetL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::AnimateToTarget(const TPoint& aPoint)
-    {
-    iTaskswitcherPhysics->StartPhysics(aPoint);
-    }
-
-// -----------------------------------------------------------------------------
-// CTsPhysicsEngine::ReInitPhysicsL
-// -----------------------------------------------------------------------------
-//
-void CTsPhysicsEngine::ReInitPhysicsL(const TSize& aWorldSize,
-        const TSize& aViewSize, TBool aLandscape)
-    {
-    iPhysics->InitPhysicsL(aWorldSize, aViewSize, aLandscape);
-    }
-
-//End file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tstaskswitcher.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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:  Main cpp of application. Definition of start function
- *
-*/
-
-
-#include <eikstart.h>
-
-#include "tsapplication.h"
-
-// -----------------------------------------------------------------------------
-// NewApplication
-// Create main class of application
-// -----------------------------------------------------------------------------
-//
-CApaApplication* NewApplication( )
-    {
-    return new CTsApplication;
-    }
-
-// -----------------------------------------------------------------------------
-// E32Main
-// Application enty point.
-// -----------------------------------------------------------------------------
-//
-TInt E32Main( )
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/data/tsappecom.rss	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Ecom registration file for alternate fast swap plugin
-*
-*/
-
-
-#include <ecom/registryinfo.rh>
-#include "tsappecomconst.hrh"
-#include "akncapserveralternatefspluginconst.hrh"
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    // UID for the DLL
-    dll_uid = KTsAppPluginDllUid;
-    // Declare array of interface info
-    interfaces = 
-        {
-        INTERFACE_INFO
-            {
-            // UID of interface that is implemented
-            interface_uid = KAknCapServerAlternateFsPluginInterfaceUid;
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = KTsAppPluginImplementationUid;
-                    version_no         = 1;
-                    display_name       = "";
-                    default_data       = "";
-                    opaque_data        = "";
-                    }
-                };
-            }
-        };
-    }
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/group/bld.inf	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-tsappecom.mmp
-
-PRJ_TESTMMPFILES
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/group/tsappecom.mmp	Thu Mar 18 14:45:17 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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include "../inc/tsappecomconst.hrh"
-
-TARGET          tsappecom.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D KTsAppPluginDllUid
-CAPABILITY      CAP_ECOM_PLUGIN
-
-SOURCEPATH      ../src
-SOURCE          proxy.cpp
-SOURCE          tsappecom.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../trace
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH      ../data
-START RESOURCE tsappecom.rss
-	TARGET tsappecom.rsc
-	TARGETPATH /resource/plugins
-END
-
-LIBRARY         euser.lib 
-LIBRARY         ecom.lib
-LIBRARY         apgrfx.lib
-LIBRARY         cone.lib
-
-DEBUGLIBRARY    flogger.lib
-
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecom.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-#ifndef TSAPPECOM_H
-#define TSAPPECOM_H
-
-#include <e32base.h>
-#include <akncapserveralternatefsplugin.h>
-
-/**
- * Taskswitcher ecom plugin which is loaded by AknCapServer as an alternate Fast 
- * Swap. Uses P&S to show/dismiss the Taskswitcher application. 
- */
-class CTsEcomPlugin : public CAknCapAppServerAlternateFs
-    {
-public:
-    
-    /**
-     * Symbian two phased constructors.
-     *
-     * @return CTsEcomPlugin pointer.
-     */
-    static CTsEcomPlugin* NewL();
-    
-    /**
-     * Destructor.
-     */
-    ~CTsEcomPlugin();
-    
-public: 
-    
-    // From CAknCapAppServerAlternateFs
-    /**
-     * Shows the alternate fast swap.
-     */
-    virtual void Show();
-
-    /**
-     * Dismisses the alternate fast swap.
-     */
-    virtual void Dismiss();
-
-    /**
-     * Checks if alternate fast swap is currently visible.
-     * 
-     * @return ETrue If alternate FS is visible.
-     */    
-    virtual TBool IsVisible();
-
-    /**
-     * Checks if alternate fast swap is ready to be shown.
-     * 
-     * @return ETrue If alternate FS is ready.
-     */    
-    virtual TBool IsReady();
-
-    /**
-     * Forward long app key to the alternate fast swap.
-     */
-    virtual void HandleLongAppKeyPress();
-
-    /**
-     * Forward short app key to the alternate fast swap.
-     */
-    virtual void HandleShortAppKeyPress();
-
-private:
-
-    /**
-     * Default constructor, implicitly called by NewL().
-     */
-    CTsEcomPlugin();
-    
-    /**
-     * 2nd phase construction, called by NewL().
-     */
-    void ConstructL();
-    
-    /**
-     * Sets the P&S property to given value.
-     * 
-     * @param aValue Value
-     */
-    void SetTaskswitcherStateProperty( TInt aValue );
-    
-    /**
-     * Defines the P&S property.
-     */
-    void DefineTaskswitcherStateProperty();
-
-    };
-    
-#endif // TSAPPECOM_H
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomconst.hrh	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Taskswitcher application ecom plugin UIDs
-*
-*/
-
-
-#ifndef TSAPPECOMCONST_HRH
-#define TSAPPECOMCONST_HRH
-                          
-#define KTsAppPluginDllUid 0x2001FD72
-#define KTsAppPluginImplementationUid 0x2001FD72
-
-#endif // TSAPPECOMCONST_HRH
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/inc/tsappecomlogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +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:  Defines logs for tsappecom
-*
-*/
-
-
-#ifdef _DEBUG
-_LIT( KTsLogFile, "tsappecom.txt" );
-_LIT( KTsLogPath, "taskswitcher" );
-#define _TSLOG_LOG_COMPONENT_ID KTsAppPluginDllUid
-
-#endif
-#include "tslogging.h"
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/src/proxy.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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:  Taskswitcher application ecom plugin
-*
-*/
-
-
-// INCLUDE FILES
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-#include "tsappecom.h"
-#include "tsappecomconst.hrh"
-
-// Provides a key value pair table, this is used to identify
-// the correct construction function for the requested interface.
-const TImplementationProxy ImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 
-        KTsAppPluginImplementationUid,
-        CTsEcomPlugin::NewL )
-    };
-
-// Function used to return an instance of the proxy table.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-    {
-    aTableCount 
-        = sizeof ( ImplementationTable ) / sizeof( TImplementationProxy );
-    return ImplementationTable;
-    }
-
-// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherappecom/src/tsappecom.cpp	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +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:  Taskswitcher application ecom plugin
- *
-*/
-
- 
-#include <e32property.h>
-#include <apgtask.h>
-#include <eikenv.h>
-
-#include "tsappecomconst.hrh"
-#include "tsappecom.h"
-
-#include "tsappecomlogging.h"
-
-// AknCapServer UID, used for P&S category
-const TUid KTaskswitcherStateCategory = { 0x10207218 };
-
-// Taskswitcher UI, used as P&S key
-const TInt KTaskswitcherStateKey = 0x20016BF0;
-
-// Values for Taskswitcher launching P&S
-const TInt KTaskswitcherBackgroundValue = 1;
-const TInt KTaskswitcherForegroundValue = KTaskswitcherBackgroundValue << 1;
-const TInt KTaskswitcherShortAppKeyPressed = KTaskswitcherForegroundValue << 1;
-const TInt KTaskswitcherLongAppKeyPressed = KTaskswitcherShortAppKeyPressed << 1;
-
-// Taskswitcher application UID, for checking if taskswitcher is running
-const TUid KTaskswitcherAppUidValue = { 0x20016BF0 };
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::CTsEcomPlugin()
-// Default constructor for first phase construction.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin::CTsEcomPlugin()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::NewL()
-// Standard NewL.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin* CTsEcomPlugin::NewL()
-    {
-    CTsEcomPlugin* self = new ( ELeave ) CTsEcomPlugin;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::ConstructL()
-// 2nd phase construction.
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::ConstructL()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::ConstructL, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    DefineTaskswitcherStateProperty();
-    
-    TSLOG_OUT();
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::~CTsEcomPlugin()
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CTsEcomPlugin::~CTsEcomPlugin()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::Show
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::Show()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Show, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherBackgroundValue;
-    value |= KTaskswitcherForegroundValue;
-    SetTaskswitcherStateProperty( value );  
-    
-    TSLOG_OUT();    
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::Dismiss
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::Dismiss()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Dismiss, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherForegroundValue;
-    value |= KTaskswitcherBackgroundValue;
-    SetTaskswitcherStateProperty( value );  
-    
-    TSLOG_OUT();     
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::HandleLongAppKeyPress
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::HandleLongAppKeyPress()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Show, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherShortAppKeyPressed;
-    value |= KTaskswitcherLongAppKeyPressed;
-    SetTaskswitcherStateProperty( value );    
-    
-    TSLOG_OUT();    
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::HandleShortAppKeyPress
-// ---------------------------------------------------------------------------
-//
-void CTsEcomPlugin::HandleShortAppKeyPress()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::Dismiss, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    value &= ~KTaskswitcherLongAppKeyPressed;
-    value |= KTaskswitcherShortAppKeyPressed;
-    SetTaskswitcherStateProperty( value ); 
-    
-    TSLOG_OUT();     
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::IsVisible
-// ---------------------------------------------------------------------------
-//
-TBool CTsEcomPlugin::IsVisible()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::IsVisible, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt value( 0 );
-    RProperty::Get( KTaskswitcherStateCategory, KTaskswitcherStateKey, value );
-    if ( value & KTaskswitcherForegroundValue )
-        {
-        TSLOG_OUT();
-        return ETrue;
-        }
-    TSLOG_OUT();
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CTsEcomPlugin::IsReady
-// ---------------------------------------------------------------------------
-//
-TBool CTsEcomPlugin::IsReady()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::IsReady, TSLOG_LOCAL );
-    TSLOG_IN();
-
-    TBool ret = EFalse;    
-    CEikonEnv* eikonEnv = CEikonEnv::Static();
-    
-    if ( eikonEnv )
-        {
-        TApaTaskList taskList( eikonEnv->WsSession() );
-        TApaTask task = taskList.FindApp( KTaskswitcherAppUidValue ); 
-    
-        if ( task.Exists() )
-            {
-            ret = ETrue;
-            }
-        }
-    
-    TSLOG1_OUT( "IsReady returns: %d", ret );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CTsEcomPlugin::SetTaskswitcherStateProperty
-// -----------------------------------------------------------------------------
-//
-void CTsEcomPlugin::SetTaskswitcherStateProperty( TInt aValue )
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::SetTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    if ( RProperty::Set( 
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue ) != KErrNone )
-        {
-        DefineTaskswitcherStateProperty();
-        TInt error = 
-            RProperty::Set( KTaskswitcherStateCategory, KTaskswitcherStateKey, aValue );
-        if ( error != KErrNone )
-            {
-            TSLOG1( TSLOG_INFO, "RProperty::Set Error: %d", error ); 
-            }        
-        }
-    
-    TSLOG_OUT();    
-    }
-
-// -----------------------------------------------------------------------------
-// CTsEcomPlugin::DefineTaskswitcherStateProperty
-// -----------------------------------------------------------------------------
-//
-void CTsEcomPlugin::DefineTaskswitcherStateProperty()
-    {
-    TSLOG_CONTEXT( CTsEcomPlugin::DefineTaskswitcherShowProperty, TSLOG_LOCAL );
-    TSLOG_IN();
-    
-    TInt error = RProperty::Define( 
-            KTaskswitcherStateCategory, KTaskswitcherStateKey, RProperty::EInt );
-    if ( error != KErrNone )
-        {
-        TSLOG1( TSLOG_INFO, "RProperty::Define Error: %d", error );
-        }              
-    
-    TSLOG_OUT();
-    }
-
-// End of file 
--- a/taskswitcher/taskswitcherui/trace/tslogging.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* 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:  Defines all available logging macros.
-*
-*/
-
-
-#ifndef TSLOGLOGUTILS_H
-#define TSLOGLOGUTILS_H
-
-/**
- * @file
- * 
- * TAKING LOGGING INTO USE:
- * 
- * This step is needed to do once per component.
- * 
- * For each component that uses these common logging macros should specify
- * their own logging configuration file, which includes this file. In that
- * configuration file, following constants and macros must be defined.
- *  For example:
- * @code
- * 
- * _LIT( KTsLogFile, "text_file_for_logging.txt" );
- * _LIT( KTsLogPath, "folder_for_text_file" );
- * #define _TSLOG_LOG_COMPONENT_ID <some unique number here>
- * 
- * #include "tslogging.h"
- * 
- * @/code
- * 
- * KTsLogFile   : This is the name of the file, where all the logs for
- *                this components are being written.
- * 
- * KTsLogPath   : This is the folder name under c:\logs, where the file
- *                is to be stored. For example, if KTsLogPath is "test",
- *                log file is created into folder c:\logs\test.
- * 
- * _TSLOG_LOG_COMPONENT_ID  : Unique number id of the component. This is 
- *                            for filtering purposes.
- * 
- * _TSLOG_RDEBUG    : When defined tracing instead of file logging. 
- *                    Default is for file logging.
- * 
- * --------------------------------------------------------------------------
- * 
- * USING LOGGING:
- * 
- * Basically the use is simple, register function use with TSLOG_CONTEXT, 
- * then log function enter by any TSLOG_IN -macro, then possibly use TSLOG
- * -macros for function logging and finally TSLOG_OUT -macros for returning
- * from the function.
- * 
- * @code
- * TInt CGood::Example( TInt aSomething )
- *     {
- *     // Create log context class, which is maintained for lifetime of the 
- *     // method. 
- *     TSLOG_CONTEXT( Example, TSLOG_LOCAL );
- * 
- *     // Indicate we are entering the function. 
- *     TSLOG_IN1( "aSomething contains value %d", aSomething );
- * 
- *     // Your buggy code...
- * 
- *     // Before leaving, indicate function execution has ended.
- *     TSLOG_OUT();
- * 
- *     return 0;
- *     }
- * @/code
- */
-
-#include <e32def.h>
-#include <e32std.h>
-
-#include "tslogutils.h"
-
-#define TSLOG_API 0
-#define TSLOG_LOCAL 1
-
-#define TSLOG_INFO 0
-#define TSLOG_WARNING 1
-#define TSLOG_ERROR 2
-
-#define TSLOG_ASSERT(_assertion)  __TSLOG_ASSERT_DBG(_assertion) 
-#define TSLOG_TRACE_ASSERT(_assertion) __ASSERT_DEBUG((_assertion), User::Invariant() )
-
-#ifdef _DEBUG
-            
-/*****************************************************************************
- LOGGING MACROS - LOGGING ON
-*****************************************************************************/             
-
-    /** 
-     * Context initialization 
-     * NOTE: TSLOG_STATIC_CONTEXT is meant for static methods.
-     * 
-     * @param _fn   Name of the function.
-     * @param _vis  Visibility for the client, use values TSLOG_API or TSLOG_LOCAL
-     * @param _thdId For static functions, thread id can be given here.
-     */
-    #define TSLOG_CONTEXT(_fn, _vis ) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, (TUint)this, RProcess().SecureId().iId )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId) _TTsLogContext _dc((TText*)L ## #_fn, _TSLOG_LOG_COMPONENT_ID, _vis, _thdId, RProcess().SecureId().iId )
-
-    /** 
-     * Entering function 
-     * 
-     * @param string    Custom text. Example: TSLOG_IN0( "Yeah!!!" );
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG_IN() do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG0_IN(string) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_ENTRY(); } while(0)
-    #define TSLOG1_IN(string, p1) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_ENTRY(); } while(0)
-    #define TSLOG2_IN(string, p1, p2) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_ENTRY(); } while(0)
-    #define TSLOG3_IN(string, p1, p2, p3) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_ENTRY(); } while(0)
-    #define TSLOG4_IN(string, p1, p2, p3, p4) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_ENTRY(); } while(0)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5) do { _CHK_MULTIIN(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]>%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_ENTRY(); } while(0)
-
-    /** Leaving function */
-    #define TSLOG_OUT() do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s "), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG0_OUT(string) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); _MARK_EXIT(); } while(0)
-    #define TSLOG1_OUT(string, p1) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); _MARK_EXIT(); } while(0)
-    #define TSLOG2_OUT(string, p1, p2) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); _MARK_EXIT(); } while(0)
-    #define TSLOG3_OUT(string, p1, p2, p3) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); _MARK_EXIT(); } while(0)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); _MARK_EXIT(); } while(0)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5) do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## string), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0)
-
-    /** Leaving function with return value */
-    #define TSLOG0_RET(val, fmtstr) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG1_RET(val, fmtstr, p1) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG2_RET(val, fmtstr, p1, p2) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4); _MARK_EXIT(); } while(0); return val;} while(0)
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) do { do { _DOINCHK(); _CHK_MULTIOUT(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s " L ## fmtstr), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, val, p1, p2, p3, p4, p5); _MARK_EXIT(); } while(0); return val;} while(0)
-
-    /** 
-     * General log lines 
-     * 
-     * @param level     This can be used as internal information 
-     *                  field, such as info, error, warning etc.
-     * @param string    Custom string
-     * @param p1 - p5   For multiple variables in same string.
-     */
-    #define TSLOG0(level, string) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn); } while(0)
-    #define TSLOG1(level, string, p1) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1); } while(0)
-    #define TSLOG2(level, string, p1, p2) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2); } while(0)
-    #define TSLOG3(level, string, p1, p2, p3) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3); } while(0)
-    #define TSLOG4(level, string, p1, p2, p3, p4) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4); } while(0)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5) do { _DOINCHK(); _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]%s " L ## string), _dc.iVis, level, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, p1, p2, p3, p4, p5); } while(0)
-
-    /** Error logging */
-    #define __TSLOG_ASSERT_DBG( _assertion ) do { if( _assertion ) { break; } TFileName file; file.Copy( _L8( __FILE__ ) );   _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s Assert:%S:%d:" L ## #_assertion) , _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, &file, __LINE__ ); User::Invariant(); } while( 0 )
-    #define __TSLOG_TRACE_ASSERT_DBG(_assertion, _textToPrint, _panicCode)  do { if (_assertion) { break; } _TSLOGPRINTER(_IT(L ## "%s%d[%x:%x:%x]<%s ASSERTION FAILED!!! %s file: %s, line: %s"), _dc.iVis, _dc.iCategory, _dc.iId, _dc.iThdId, _dc.iAddr, _dc.iFn, _textToPrint, __FILE__, __LINE__); User::Panic(_L("AssertionFailed"), _panicCode} while(0)
-    #define TSLOG_TRAPHANDLER() _TTsLogTrapHandler _traceTrapHandler; _traceTrapHandler.oldHandler = User::SetTrapHandler(&_traceTrapHandler)
-
-/*****************************************************************************
- LOGGING MACROS - NO LOGGING
-*****************************************************************************/ 
-#else // _DEBUG
-
-    #define TSLOG_CONTEXT(_fn, _vis )
-    #define TSLOG_STATIC_CONTEXT(_fn, _vis, _thdId)
-
-    #define TSLOG_IN()
-    #define TSLOG0_IN(string)
-    #define TSLOG1_IN(string, p1)
-    #define TSLOG2_IN(string, p1, p2)
-    #define TSLOG3_IN(string, p1, p2, p3)
-    #define TSLOG4_IN(string, p1, p2, p3, p4)
-    #define TSLOG5_IN(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG_OUT()
-    #define TSLOG0_OUT(string)
-    #define TSLOG1_OUT(string, p1)
-    #define TSLOG2_OUT(string, p1, p2)
-    #define TSLOG3_OUT(string, p1, p2, p3)
-    #define TSLOG4_OUT(string, p1, p2, p3, p4)
-    #define TSLOG5_OUT(string, p1, p2, p3, p4, p5)
-
-    #define TSLOG0_RET(val, fmtstr) return val
-    #define TSLOG1_RET(val, fmtstr, p1) return val
-    #define TSLOG2_RET(val, fmtstr, p1, p2) return val
-    #define TSLOG3_RET(val, fmtstr, p1, p2, p3) return val
-    #define TSLOG4_RET(val, fmtstr, p1, p2, p3, p4) return val
-    #define TSLOG5_RET(val, fmtstr, p1, p2, p3, p4, p5) return val
-
-    #define TSLOG0(level, string)
-    #define TSLOG1(level, string, p1)
-    #define TSLOG2(level, string, p1, p2)
-    #define TSLOG3(level, string, p1, p2, p3)
-    #define TSLOG4(level, string, p1, p2, p3, p4)
-    #define TSLOG5(level, string, p1, p2, p3, p4, p5)
-    
-    #define BIND_TRACE_TRAPHANDLER()
-    #define TRACE_DECL() TInt _iTraceThreadId
-    #define TRACE_FAST_CREATE(_thdId) _thdId++;
-    #define TRACE_CREATE()
-
-    #define __TSLOG_ASSERT_DBG(_assertion)
-    #define __TRACE_ASSERT_DBG(_assertion, _message, _panicCode )
-
-#endif // _DEBUG
-
-#endif      // TSLOGLOGUTILS_H
-            
-// End of File
--- a/taskswitcher/taskswitcherui/trace/tslogutils.h	Thu Mar 18 14:45:17 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-/*
-* 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:  Logging behavior
-*
-*/
-
-
-#ifndef TSLOGUTILS_H
-#define TSLOGUTILS_H
-
-/**
- * NOTE: This file contains the logic related to logging. Change only if you
- * know what you're doing.
- */
-
-
-
-
-
-
-
-
-
-
-#ifdef _DEBUG
-
-#include <e32debug.h>
-#include <e32std.h>
-
-static const TUint TSLOGERR   = 2;  /**< Used to create an error message */
-
-// These macros are real macros, that should be used. For temporary purposes, these
-// are left out and the logging is done by simple entry logging
-#define _TSLOG_UNCONTROLLED_INPUT_MSG  L"%s%d[%x:%x:%x]>%s UNCONTROLLED ENTRY!"
-#define _TSLOG_MULTIPLE_ENTRY_MSG      L"%s%d[%x:%x:%x]%s  ADDITIONAL ENTRY!"
-#define _TSLOG_UNCONTROLLER_EXIT_MSG   L"%s%d[%x:%x:%x]<%s UNCONTROLLED EXIT!"
-#define _TSLOG_MULTIPLE_EXIT_MSG       L"%s%d[%x:%x:%x]%s  ADDITIONAL EXIT!"
-#define _TSLOG_TRAP_HARNESS_ENTRY      L"_D%d[%x:%x:%x]TraceFramework: Entering trap harness"
-#define _TSLOG_TRAP_HARNESS_EXIT       L"_D%d[%x:%x:%x]TraceFramework: Exiting trap harness"
-#define _TSLOG_TRAP_HARNESS_LEAVE      L"_D%d[%x:%x:%x]TraceFramework: ---------- LEAVE OCCURRED !!! ---------- "
-#define _TSLOG_API_PREFIX              L"_A"
-#define _TSLOG_LOCAL_PREFIX            L"_L"
-
-/**
-* @file 
-* trace_utils.h contains definitions needed for advanced tracing features.
-* Tracing can be customized using the following compile time flags:
-* - <b>_DEBUG</b>
-*   - With this flag undefined, all traces are disabled
-* - <b>__KERNEL_MODE__</b>
-*   - if kernel mode flag is defined, kernel macro variants are used (no unicode or shared heap related stuff, faster)
-* - <b>DISABLE_SYNTAX_CHECK</b>
-*   - If this flag is defined, runtime syntax checking features are disabled from traces
-*/
-#ifndef DISABLE_SYNTAX_CHECK
-    #define _MARK_ENTRY() _dc.inOk=ETrue
-    #define _DOINCHK() _dc.DoInChk()
-    #define _CHK_MULTIIN() _dc.ChkMultiIn()
-    #define _CHK_MULTIOUT() _dc.ChkMultiOut()
-    #define _MARK_EXIT() _dc.outOk=ETrue
-#else
-    #define _MARK_ENTRY()
-    #define _DOINCHK()
-    #define _CHK_MULTIIN()
-    #define _CHK_MULTIOUT()
-    #define _MARK_EXIT()
-#endif // DISABLE_SYNTAX_CHECK
-    
-/** For tracing */
-#ifdef _TSLOG_RDEBUG
-    #define _IT(a) (TPtrC((const TText *)(a)))
-    #define _TSLOGPRINTER RDebug::Print        
-        
-/** For filedebug */
-#else   // _TSLOG_RDEBUG
-
-    /** Includes */
-    #include <e32base.h>
-    #include <e32std.h>
-    #include <e32def.h>
-    #include <e32svr.h>
-
-// both of headers defines KLogBufferSize
-#ifndef __COMMSDEBUGUTILITY_H__
-    #include <flogger.h>
-#endif
-
-    #define _IT(a) KTsLogPath, KTsLogFile, EFileLoggingModeAppend, (TPtrC((const TText *)(a)))    
-    #define _TSLOGPRINTER RFileLogger::WriteFormat    
-#endif // _TSLOG_RDEBUG    
-
-class _TTsLogContext
-    {
-    public:
-        _TTsLogContext(
-            const TText* _fn, 
-            const TUint _id, 
-            const TUint _vis, 
-            const TUint _addr, 
-            const TUint _thdId, 
-            const TUint _category=0 )
-            : 
-            iFn(_fn), 
-            iId(_id), 
-            iApi((TBool)_vis), 
-            iAddr(_addr), 
-            iThdId(_thdId), 
-            iVis((_vis == 0 ? (TText*)_TSLOG_API_PREFIX : (TText*)_TSLOG_LOCAL_PREFIX)),
-            iCategory(_category)            
-        #ifndef DISABLE_SYNTAX_CHECK
-            ,outOk(EFalse), inOk(EFalse)
-        #endif
-            {
-            }
-        ~_TTsLogContext() 
-            {
-            #ifndef DISABLE_SYNTAX_CHECK
-                do
-                    {                   
-                    DoInChk();
-                    if (!outOk)
-                        {
-                        _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLER_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                        }
-                    } while (0);
-            #endif // DISABLE_SYNTAX_CHECK
-            }
-
-        const TText* iFn;
-        const TUint iId;
-        const TText* iVis;
-        const TUint iAddr;
-        const TInt iThdId;
-        const TBool iApi;
-        const TUint iCategory;
-        
-        #ifndef DISABLE_SYNTAX_CHECK
-            inline void DoInChk()
-                {
-                if (!inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_UNCONTROLLED_INPUT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);
-                    inOk = ETrue;
-                    }
-                }
-                        
-            inline void ChkMultiIn()
-                {
-                if (inOk)
-                    {
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_ENTRY_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                
-                    }
-                }
-    
-            inline void ChkMultiOut()
-                {
-                if (outOk)
-                    {           
-                    _TSLOGPRINTER(_IT(_TSLOG_MULTIPLE_EXIT_MSG), iVis, iCategory, iId, iThdId, iAddr, iFn);                                        
-                    }
-                }
-
-            TBool inOk;
-            TBool outOk;
-        #endif // DISABLE_SYNTAX_CHECK
-    };
-    
-class _TTsLogTrapHandler: public TTrapHandler
-    {
-    public:
-
-        _TTsLogTrapHandler(_TTsLogContext& _context) : _dc( _context ) 
-            {
-            RThread me;
-            iThdId = (TInt)me.Id();
-            }
-    	void Trap() 
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_ENTRY), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Trap();
-    	    } 
-    	void UnTrap()
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_EXIT), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->UnTrap();
-    	    }	
-    	void Leave(TInt aValue)
-    	    {
-    	    _TSLOGPRINTER(_IT(_TSLOG_TRAP_HARNESS_LEAVE), 0, TSLOGERR, iThdId, this);
-    	    oldHandler->Leave(aValue);
-    	    }	
-    	TTrapHandler* oldHandler;
-    private:
-        _TTsLogContext& _dc;
-        TInt iThdId;
-    };
-    
-#endif // _DEBUG    
-
-#endif // TSLOGUTILS_H