Revision: 201033
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 02 Sep 2010 20:17:46 +0300
changeset 15 065198191975
parent 14 896e9dbc5f19
child 16 5723da102db1
Revision: 201033 Kit: 201035
internetradio2.0/cenrep/2000b499.txt
internetradio2.0/cenrep/2002ffac.txt
internetradio2.0/conf/internetradio_2000B499.crml
internetradio2.0/conf/internetradio_2002ffac.crml
internetradio2.0/group/backup_registration.xml
internetradio2.0/group/bld.inf
internetradio2.0/inc/irinternalcrkeys.h
internetradio2.0/inc/irpubsubkeys.h
internetradio2.0/inc/iruid3.hrh
internetradio2.0/install/cenrep.pkg
internetradio2.0/install/internetradiostub.pkg
internetradio2.0/install/ir_package.pkg
internetradio2.0/install/ir_package_deb.pkg
internetradio2.0/ircachemgmt/group/ircachemgmt.mmp
internetradio2.0/ircommon/group/ircommon.mmp
internetradio2.0/irdataprovider/group/irdataprovider.mmp
internetradio2.0/irfavoritesdb/group/irfavoritesdb.mmp
internetradio2.0/irfavoritesdb/src/irfavoritesdb.cpp
internetradio2.0/irfilerecognizer/group/irrecognizer.mmp
internetradio2.0/irfilerecognizer/inc/irrecognizer.h
internetradio2.0/irfilerecognizer/resources/2000b4a9.rss
internetradio2.0/irfilerecognizer/resources/2002ffb8.rss
internetradio2.0/irfilerecognizer/src/irrecognizer.cpp
internetradio2.0/irisdsclient/group/isdsclient.mmp
internetradio2.0/irnetworkcontroller/group/irnetworkcontroller.mmp
internetradio2.0/irpresetplugin/data/irpresetplugin.rss
internetradio2.0/irpresetplugin/group/irpresetplugin.mmp
internetradio2.0/irpresetplugin/inc/irpreset.h
internetradio2.0/irpresetplugin/src/irpresetpluginproxy.cpp
internetradio2.0/irrfsplugin/group/irrfsplugin.mmp
internetradio2.0/irrfsplugin/src/irrfsplugin.cpp
internetradio2.0/irrfsplugin/src/irrfspluginproxy.cpp
internetradio2.0/irsessionlog/group/irsessionlog.mmp
internetradio2.0/irsessionlog/inc/irsessionlogger.h
internetradio2.0/irsessionlog/src/irsessionlogger.cpp
internetradio2.0/irsettings/group/bld.inf
internetradio2.0/irsettings/group/irsettings.mmp
internetradio2.0/irsonghistory/src/irsonghistoryinfo.cpp
internetradio2.0/irxmlparser/group/irxmlparser.mmp
internetradio2.0/resources/2000b4a2.rss
internetradio2.0/resources/2000b4a9.rss
internetradio2.0/resources/2000b4ac.rss
internetradio2.0/resources/2002ffaf.rss
internetradio2.0/resources/internetradio_reg.rss
internetradio2.0/rom/internetradio.iby
internetradio2.0/rom/internetradiosettings.iby
qtinternetradio/common.pri
qtinternetradio/eabi/irqsonghistoryu.def
qtinternetradio/install/ir3_qtinternetradio_armv5_udeb.pkg
qtinternetradio/install/ir3_qtinternetradio_armv5_urel.pkg
qtinternetradio/irhswidgetplugin/irhswidgetplugin.pro
qtinternetradio/irhswidgetplugin/resource/irhswidgetplugin.manifest
qtinternetradio/irhswidgetplugin/resources.qrc
qtinternetradio/irhswidgetplugin/rom/irhswidgetplugin.iby
qtinternetradio/irhswidgetplugin/src/irappinspector.cpp
qtinternetradio/irhswidgetplugin/src/irhswidget.cpp
qtinternetradio/irhswidgetplugin/src/irhswidgetmetadatarow.cpp
qtinternetradio/irhswidgetplugin/src/irhswidgetplugin.cpp
qtinternetradio/irhswidgetplugin/src/irhswidgettitlerow.cpp
qtinternetradio/irhswidgetplugin/src/irserviceclient.cpp
qtinternetradio/irqcommon/inc/irquid3.hrh
qtinternetradio/irqcommon/inc/irservicedef.h
qtinternetradio/irqcommon/irqcommon.pro
qtinternetradio/irqfavoritesdb/irqfavoritesdb.pro
qtinternetradio/irqisdsclient/irqisdsclient.pro
qtinternetradio/irqlogger/irqlogger.pro
qtinternetradio/irqmediaplayer/irqmediaplayer.pro
qtinternetradio/irqnetworkcontroller/irqnetworkcontroller.pro
qtinternetradio/irqnwkinfoobserver/irqnwkinfoobserver.pro
qtinternetradio/irqsettings/irqsettings.pro
qtinternetradio/irqsonghistory/irqsonghistory.pro
qtinternetradio/irqstatisticsreporter/irqstatisticsreporter.pro
qtinternetradio/irqsystemeventhandler/irqsystemeventhandler.pro
qtinternetradio/ui/inc/irabstractlistviewbase.h
qtinternetradio/ui/inc/irapplication.h
qtinternetradio/ui/inc/irbaseview.h
qtinternetradio/ui/inc/ircategoryview.h
qtinternetradio/ui/inc/irchanneldataprovider.h
qtinternetradio/ui/inc/irfavoritesview.h
qtinternetradio/ui/inc/irmainview.h
qtinternetradio/ui/inc/irnowplayingview.h
qtinternetradio/ui/inc/iropenwebaddressview.h
qtinternetradio/ui/inc/irplsview.h
qtinternetradio/ui/inc/irsearchchannelsview.h
qtinternetradio/ui/inc/irstationsview.h
qtinternetradio/ui/resources/irui.qrc
qtinternetradio/ui/resources/splashscreen/internet_radio_normal.splashml
qtinternetradio/ui/resources/splashscreen/internet_radio_nowplaying.splashml
qtinternetradio/ui/resources/splashscreen/internet_radio_termscons.splashml
qtinternetradio/ui/src/irabstractlistviewbase.cpp
qtinternetradio/ui/src/irapplication.cpp
qtinternetradio/ui/src/irbaseview.cpp
qtinternetradio/ui/src/ircategoryview.cpp
qtinternetradio/ui/src/irchanneldataprovider.cpp
qtinternetradio/ui/src/ircontrolservice.cpp
qtinternetradio/ui/src/irfavoritesview.cpp
qtinternetradio/ui/src/irhistoryview.cpp
qtinternetradio/ui/src/irlastplayedstationinfo.cpp
qtinternetradio/ui/src/irmainview.cpp
qtinternetradio/ui/src/irmonitorservice.cpp
qtinternetradio/ui/src/irnowplayingview.cpp
qtinternetradio/ui/src/iropenwebaddressview.cpp
qtinternetradio/ui/src/irplsview.cpp
qtinternetradio/ui/src/irsearchchannelsview.cpp
qtinternetradio/ui/src/irsettingsview.cpp
qtinternetradio/ui/src/irsonghistoryview.cpp
qtinternetradio/ui/src/irstationdetailsview.cpp
qtinternetradio/ui/src/irstationsview.cpp
qtinternetradio/ui/src/irtermsconsview.cpp
qtinternetradio/ui/src/irviewmanager.cpp
qtinternetradio/ui/ui.pro
Binary file internetradio2.0/cenrep/2000b499.txt has changed
Binary file internetradio2.0/cenrep/2002ffac.txt has changed
Binary file internetradio2.0/conf/internetradio_2000B499.crml has changed
Binary file internetradio2.0/conf/internetradio_2002ffac.crml has changed
--- a/internetradio2.0/group/backup_registration.xml	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/group/backup_registration.xml	Thu Sep 02 20:17:46 2010 +0300
@@ -5,10 +5,10 @@
             <include_file name = "cacheDb.db"/>
             <include_file name = "iSdsResponse.xml"/>
             <include_file name = "Session"/>
+            <include_file name = "NmsLog"/>
             <include_file name = "RadioReport.xml"/>
             <include_file name = "LogUsage.gz"/>
 			<include_file name = "songhistoryDb.db"/>
-            <include_file name = "irsettings_backed_up.ini"/>
         </passive_backup> 
       <proxy_data_manager sid="0x10202BE9"/>
 	<restore requires_reboot = "no"/> 
--- a/internetradio2.0/group/bld.inf	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/group/bld.inf	Thu Sep 02 20:17:46 2010 +0300
@@ -33,7 +33,7 @@
 #include "../irxmlparser/group/bld.inf"
 
 PRJ_EXPORTS
-backup_registration.xml                         /epoc32/data/z/private/2000B499/backup_registration.xml
+backup_registration.xml                         /epoc32/data/z/private/2002ffac/backup_registration.xml
 
 //ROM Build
 // THESE COMMENTED IBYS SHOULD BE EXPORTED BY PRODUCTS
--- a/internetradio2.0/inc/irinternalcrkeys.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/inc/irinternalcrkeys.h	Thu Sep 02 20:17:46 2010 +0300
@@ -20,9 +20,10 @@
 #define IRINTERNALCRKEYS_H
 
 #include <e32cmn.h>
+#include "iruid3.hrh"
 
-/** The UID of the category we use. Must be the same as Visual Radio's UID3 (SID). */
-const TUid KCRUidInternetRadio = { 0x2000B499};
+/** The UID of the category we use. Must be the same as Internet Radio's UID3 (SID). */
+const TUid KCRUidInternetRadio = { UID3_INTERNET_RADIO_10_1_EXE};
 
 // Keys Definition
 const TUint32 KIRFavoritesMaxNum                        = { 0x00000001 };
--- a/internetradio2.0/inc/irpubsubkeys.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/inc/irpubsubkeys.h	Thu Sep 02 20:17:46 2010 +0300
@@ -54,15 +54,6 @@
     };
 
 /** 
- * Internet Radio application Uid
- */
- 
-//violates PC Lint Warning 569: Loss of information 
-//(initialization) (32 bits to 31 bits)
-
-const TUid KUidActiveInternetRadioApp = {0x2000B499};
-
-/** 
  * IR Publish and Subscribe keys base value
  */
 const TUint32 KIRPubSubBase = { 0x00000020 } ;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/inc/iruid3.hrh	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef	__IRUID3_H__
+#define	__IRUID3_H__
+
+//Duplicate with : 
+//irquid3.hrh	\qtinternetradio\irqcommon\inc
+#define UID3_INTERNET_RADIO_10_1_EXE        0x2002FFAC
+
+#define UID3_IRSETTINGS_DLL                 0x2002FFAE
+#define UID3_IRRFSPLUGIN_DLL                0x2002FFAF
+#define UID3_IRNETWORKCONTROLLER_DLL        0x2002FFB0
+#define UID3_IRDATASTRUCTURES_DLL           0x2002FFB1
+#define UID3_IRCACHEMGMT_DLL                0x2002FFB2
+#define UID3_IRXMLPARSER_DLL                0x2002FFB3
+#define UID3_IRFAVORITESDB_DLL              0x2002FFB4
+#define UID3_IRDATAPROVIDER_DLL             0x2002FFB5
+#define UID3_IRSESSIONLOG_DLL               0x2002FFB6
+#define UID3_ISDSCLIENTINTERFACE_DLL        0x2002FFB7
+#define UID3_IRFILERECOGNIZER_DLL           0x2002FFB8
+#define UID3_IRPRESETPLUGIN_DLL             0x2002FFC7
+
+#define STR_UID3_IRSETTINGS_DLL                 "2002FFAE"
+#define STR_UID3_IRRFSPLUGIN_DLL                "2002FFAF"
+#define STR_UID3_IRNETWORKCONTROLLER_DLL        "2002FFB0"
+#define STR_UID3_IRDATASTRUCTURES_DLL           "2002FFB1"
+#define STR_UID3_IRCACHEMGMT_DLL                "2002FFB2"
+#define STR_UID3_IRXMLPARSER_DLL                "2002FFB3"
+#define STR_UID3_IRFAVORITESDB_DLL              "2002FFB4"
+#define STR_UID3_IRDATAPROVIDER_DLL             "2002FFB5"
+#define STR_UID3_IRSESSIONLOG_DLL               "2002FFB6"
+#define STR_UID3_ISDSCLIENTINTERFACE_DLL        "2002FFB7"
+#define STR_UID3_IRFILERECOGNIZER_DLL           "2002FFB8"
+#define STR_UID3_IRPRESETPLUGIN_DLL             "2002FFC7"
+
+#define UID3_IRRFSPLUGIN_DLL_IMPLEMENTATION_UID 0x2002FFE1
+#define UID3_IRFILERECOGNIZER_DLL_IMPLEMENTATION_UID 0x2002FFE2
+#define UID3_IRPRESETPLUGIN_DLL_IMPLEMENTATION_UID 0x2002FFE3
+
+#endif	//__IRUID3_H__
+
--- a/internetradio2.0/install/cenrep.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/install/cenrep.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -28,4 +28,4 @@
 :"Symbian Software Ltd."
 
 ;Install KeySpace
-"..\cenrep\2000B499.txt"-"c:\private\10202be9\2000B499.txt"
+"..\cenrep\2002ffac.txt"-"c:\private\10202be9\2002ffac.txt"
--- a/internetradio2.0/install/internetradiostub.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/install/internetradiostub.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 &EN 
 
 ; Header
-#{"InternetRadio"},(0x2000B499),1,0,0, TYPE=SA,RU
+#{"InternetRadio"},(0x2002ffac),1,0,0, TYPE=SA,RU
 
 ; Localised Vendor name
 %{"Nokia"}
@@ -71,13 +71,13 @@
 
 
 ; Backup & Restore
-""-"z:\private\2000B499\backup_registration.xml"
+""-"z:\private\2002ffac\backup_registration.xml"
 
 
 ; Animation script files
 ""-"z:\resource\apps\qgn_ir_loading.svg"
 ""-"z:\resource\apps\qgn_ir_buffering_anim.svg"
-;""-"z:\private\2000B499\IRFontDef.txt"
+;""-"z:\private\2002ffac\IRFontDef.txt"
 
 
 ; Help
@@ -85,5 +85,5 @@
 
 
 ; Terms of service
-""-"z:\private\2000b499\terms_*.html"
+""-"z:\private\2002ffac\terms_*.html"
 
--- a/internetradio2.0/install/ir_package.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/install/ir_package.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -47,7 +47,7 @@
 "Radio Internet","Interneta radio", "Interneto radijas", "Radio Internet", 
 "Rádio na Internet", "Radio Internet", "Internet radio", "Radio de Internet", "Інтернет-радіо", 
 "انٹرنیٹ ریڈیو", "Radio internet","Internet irratia","Radio por Internet","Internet radio",
-"Internet radio","Internet radio"},(0x2000B499),1,1,0,TYPE=SA,RU
+"Internet radio","Internet radio"},(0x2002ffac),1,1,0,TYPE=SA,RU
 
 ; Properties describing the version number
 ;+(0=1, 1=1, 2=0)
@@ -252,7 +252,7 @@
 
 
 ; Backup & Restore
-;"..\group\backup_registration.xml"	-"!:\private\2000B499\backup_registration.xml"
+;"..\group\backup_registration.xml"	-"!:\private\2002ffac\backup_registration.xml"
 
 ; Animation script files
 ;"..\mbm\qgn_ir_loading.svg"		-"!:\resource\apps\qgn_ir_loading.svg"
@@ -262,60 +262,60 @@
 ;"..\help\iraap.hlp"			-"!:\resource\help\iraap.hlp"
 
 ; Terms of service
-;"\epoc32\data\z\private\2000b499\terms_01.html" -"!:\private\2000b499\terms_01.html"
-;"\epoc32\data\z\private\2000b499\terms_02.html" -"!:\private\2000b499\terms_02.html"
-;"\epoc32\data\z\private\2000b499\terms_03.html" -"!:\private\2000b499\terms_03.html"
-;"\epoc32\data\z\private\2000b499\terms_04.html" -"!:\private\2000b499\terms_04.html"
-;"\epoc32\data\z\private\2000b499\terms_05.html" -"!:\private\2000b499\terms_05.html"
-;"\epoc32\data\z\private\2000b499\terms_06.html" -"!:\private\2000b499\terms_06.html"
-;"\epoc32\data\z\private\2000b499\terms_07.html" -"!:\private\2000b499\terms_07.html"
-;"\epoc32\data\z\private\2000b499\terms_08.html" -"!:\private\2000b499\terms_08.html"
-;"\epoc32\data\z\private\2000b499\terms_09.html" -"!:\private\2000b499\terms_09.html"
-;"\epoc32\data\z\private\2000b499\terms_10.html" -"!:\private\2000b499\terms_10.html"
-;"\epoc32\data\z\private\2000b499\terms_13.html" -"!:\private\2000b499\terms_13.html"
-;"\epoc32\data\z\private\2000b499\terms_14.html" -"!:\private\2000b499\terms_14.html"
-;"\epoc32\data\z\private\2000b499\terms_15.html" -"!:\private\2000b499\terms_15.html"
-;"\epoc32\data\z\private\2000b499\terms_16.html" -"!:\private\2000b499\terms_16.html"
-;"\epoc32\data\z\private\2000b499\terms_17.html" -"!:\private\2000b499\terms_17.html"
-;"\epoc32\data\z\private\2000b499\terms_18.html" -"!:\private\2000b499\terms_18.html"
-;"\epoc32\data\z\private\2000b499\terms_25.html" -"!:\private\2000b499\terms_25.html"
-;"\epoc32\data\z\private\2000b499\terms_26.html" -"!:\private\2000b499\terms_26.html"
-;"\epoc32\data\z\private\2000b499\terms_27.html" -"!:\private\2000b499\terms_27.html"
-;"\epoc32\data\z\private\2000b499\terms_18.html" -"!:\private\2000b499\terms_28.html"
-;"\epoc32\data\z\private\2000b499\terms_29.html" -"!:\private\2000b499\terms_29.html"
-;"\epoc32\data\z\private\2000b499\terms_30.html" -"!:\private\2000b499\terms_30.html"
-;"\epoc32\data\z\private\2000b499\terms_31.html" -"!:\private\2000b499\terms_31.html"
-;"\epoc32\data\z\private\2000b499\terms_32.html" -"!:\private\2000b499\terms_32.html"
-;"\epoc32\data\z\private\2000b499\terms_33.html" -"!:\private\2000b499\terms_33.html"
-;"\epoc32\data\z\private\2000b499\terms_37.html" -"!:\private\2000b499\terms_37.html"
-;"\epoc32\data\z\private\2000b499\terms_39.html" -"!:\private\2000b499\terms_39.html"
-;"\epoc32\data\z\private\2000b499\terms_42.html" -"!:\private\2000b499\terms_42.html"
-;"\epoc32\data\z\private\2000b499\terms_44.html" -"!:\private\2000b499\terms_44.html"
-;"\epoc32\data\z\private\2000b499\terms_45.html" -"!:\private\2000b499\terms_45.html"
-;"\epoc32\data\z\private\2000b499\terms_49.html" -"!:\private\2000b499\terms_49.html"
-;"\epoc32\data\z\private\2000b499\terms_50.html" -"!:\private\2000b499\terms_50.html"
-;"\epoc32\data\z\private\2000b499\terms_51.html" -"!:\private\2000b499\terms_51.html"
-;"\epoc32\data\z\private\2000b499\terms_54.html" -"!:\private\2000b499\terms_54.html"
-;"\epoc32\data\z\private\2000b499\terms_57.html" -"!:\private\2000b499\terms_57.html"
-;"\epoc32\data\z\private\2000b499\terms_59.html" -"!:\private\2000b499\terms_59.html"
-;"\epoc32\data\z\private\2000b499\terms_67.html" -"!:\private\2000b499\terms_67.html"
-;"\epoc32\data\z\private\2000b499\terms_68.html" -"!:\private\2000b499\terms_68.html"
-;"\epoc32\data\z\private\2000b499\terms_70.html" -"!:\private\2000b499\terms_70.html"
-;"\epoc32\data\z\private\2000b499\terms_76.html" -"!:\private\2000b499\terms_76.html"
-;"\epoc32\data\z\private\2000b499\terms_78.html" -"!:\private\2000b499\terms_78.html"
-;"\epoc32\data\z\private\2000b499\terms_79.html" -"!:\private\2000b499\terms_79.html"
-;"\epoc32\data\z\private\2000b499\terms_83.html" -"!:\private\2000b499\terms_83.html"
-;"\epoc32\data\z\private\2000b499\terms_93.html" -"!:\private\2000b499\terms_93.html"
-;"\epoc32\data\z\private\2000b499\terms_94.html" -"!:\private\2000b499\terms_94.html"
-;"\epoc32\data\z\private\2000b499\terms_96.html" -"!:\private\2000b499\terms_96.html"
-;"\epoc32\data\z\private\2000b499\terms_157.html"-"!:\private\2000b499\terms_157.html"
-;"\epoc32\data\z\private\2000b499\terms_158.html"-"!:\private\2000b499\terms_158.html"
-;"\epoc32\data\z\private\2000b499\terms_159.html"-"!:\private\2000b499\terms_159.html"
-;"\epoc32\data\z\private\2000b499\terms_161.html"-"!:\private\2000b499\terms_161.html"
-;"\epoc32\data\z\private\2000b499\terms_326.html"-"!:\private\2000b499\terms_326.html"
-;"\epoc32\data\z\private\2000b499\terms_327.html"-"!:\private\2000b499\terms_327.html"
-;"\epoc32\data\z\private\2000b499\terms_401.html"-"!:\private\2000b499\terms_401.html"
-;"\epoc32\data\z\private\2000b499\terms_402.html"-"!:\private\2000b499\terms_402.html"
+;"\epoc32\data\z\private\2002ffac\terms_01.html" -"!:\private\2002ffac\terms_01.html"
+;"\epoc32\data\z\private\2002ffac\terms_02.html" -"!:\private\2002ffac\terms_02.html"
+;"\epoc32\data\z\private\2002ffac\terms_03.html" -"!:\private\2002ffac\terms_03.html"
+;"\epoc32\data\z\private\2002ffac\terms_04.html" -"!:\private\2002ffac\terms_04.html"
+;"\epoc32\data\z\private\2002ffac\terms_05.html" -"!:\private\2002ffac\terms_05.html"
+;"\epoc32\data\z\private\2002ffac\terms_06.html" -"!:\private\2002ffac\terms_06.html"
+;"\epoc32\data\z\private\2002ffac\terms_07.html" -"!:\private\2002ffac\terms_07.html"
+;"\epoc32\data\z\private\2002ffac\terms_08.html" -"!:\private\2002ffac\terms_08.html"
+;"\epoc32\data\z\private\2002ffac\terms_09.html" -"!:\private\2002ffac\terms_09.html"
+;"\epoc32\data\z\private\2002ffac\terms_10.html" -"!:\private\2002ffac\terms_10.html"
+;"\epoc32\data\z\private\2002ffac\terms_13.html" -"!:\private\2002ffac\terms_13.html"
+;"\epoc32\data\z\private\2002ffac\terms_14.html" -"!:\private\2002ffac\terms_14.html"
+;"\epoc32\data\z\private\2002ffac\terms_15.html" -"!:\private\2002ffac\terms_15.html"
+;"\epoc32\data\z\private\2002ffac\terms_16.html" -"!:\private\2002ffac\terms_16.html"
+;"\epoc32\data\z\private\2002ffac\terms_17.html" -"!:\private\2002ffac\terms_17.html"
+;"\epoc32\data\z\private\2002ffac\terms_18.html" -"!:\private\2002ffac\terms_18.html"
+;"\epoc32\data\z\private\2002ffac\terms_25.html" -"!:\private\2002ffac\terms_25.html"
+;"\epoc32\data\z\private\2002ffac\terms_26.html" -"!:\private\2002ffac\terms_26.html"
+;"\epoc32\data\z\private\2002ffac\terms_27.html" -"!:\private\2002ffac\terms_27.html"
+;"\epoc32\data\z\private\2002ffac\terms_18.html" -"!:\private\2002ffac\terms_28.html"
+;"\epoc32\data\z\private\2002ffac\terms_29.html" -"!:\private\2002ffac\terms_29.html"
+;"\epoc32\data\z\private\2002ffac\terms_30.html" -"!:\private\2002ffac\terms_30.html"
+;"\epoc32\data\z\private\2002ffac\terms_31.html" -"!:\private\2002ffac\terms_31.html"
+;"\epoc32\data\z\private\2002ffac\terms_32.html" -"!:\private\2002ffac\terms_32.html"
+;"\epoc32\data\z\private\2002ffac\terms_33.html" -"!:\private\2002ffac\terms_33.html"
+;"\epoc32\data\z\private\2002ffac\terms_37.html" -"!:\private\2002ffac\terms_37.html"
+;"\epoc32\data\z\private\2002ffac\terms_39.html" -"!:\private\2002ffac\terms_39.html"
+;"\epoc32\data\z\private\2002ffac\terms_42.html" -"!:\private\2002ffac\terms_42.html"
+;"\epoc32\data\z\private\2002ffac\terms_44.html" -"!:\private\2002ffac\terms_44.html"
+;"\epoc32\data\z\private\2002ffac\terms_45.html" -"!:\private\2002ffac\terms_45.html"
+;"\epoc32\data\z\private\2002ffac\terms_49.html" -"!:\private\2002ffac\terms_49.html"
+;"\epoc32\data\z\private\2002ffac\terms_50.html" -"!:\private\2002ffac\terms_50.html"
+;"\epoc32\data\z\private\2002ffac\terms_51.html" -"!:\private\2002ffac\terms_51.html"
+;"\epoc32\data\z\private\2002ffac\terms_54.html" -"!:\private\2002ffac\terms_54.html"
+;"\epoc32\data\z\private\2002ffac\terms_57.html" -"!:\private\2002ffac\terms_57.html"
+;"\epoc32\data\z\private\2002ffac\terms_59.html" -"!:\private\2002ffac\terms_59.html"
+;"\epoc32\data\z\private\2002ffac\terms_67.html" -"!:\private\2002ffac\terms_67.html"
+;"\epoc32\data\z\private\2002ffac\terms_68.html" -"!:\private\2002ffac\terms_68.html"
+;"\epoc32\data\z\private\2002ffac\terms_70.html" -"!:\private\2002ffac\terms_70.html"
+;"\epoc32\data\z\private\2002ffac\terms_76.html" -"!:\private\2002ffac\terms_76.html"
+;"\epoc32\data\z\private\2002ffac\terms_78.html" -"!:\private\2002ffac\terms_78.html"
+;"\epoc32\data\z\private\2002ffac\terms_79.html" -"!:\private\2002ffac\terms_79.html"
+;"\epoc32\data\z\private\2002ffac\terms_83.html" -"!:\private\2002ffac\terms_83.html"
+;"\epoc32\data\z\private\2002ffac\terms_93.html" -"!:\private\2002ffac\terms_93.html"
+;"\epoc32\data\z\private\2002ffac\terms_94.html" -"!:\private\2002ffac\terms_94.html"
+;"\epoc32\data\z\private\2002ffac\terms_96.html" -"!:\private\2002ffac\terms_96.html"
+;"\epoc32\data\z\private\2002ffac\terms_157.html"-"!:\private\2002ffac\terms_157.html"
+;"\epoc32\data\z\private\2002ffac\terms_158.html"-"!:\private\2002ffac\terms_158.html"
+;"\epoc32\data\z\private\2002ffac\terms_159.html"-"!:\private\2002ffac\terms_159.html"
+;"\epoc32\data\z\private\2002ffac\terms_161.html"-"!:\private\2002ffac\terms_161.html"
+;"\epoc32\data\z\private\2002ffac\terms_326.html"-"!:\private\2002ffac\terms_326.html"
+;"\epoc32\data\z\private\2002ffac\terms_327.html"-"!:\private\2002ffac\terms_327.html"
+;"\epoc32\data\z\private\2002ffac\terms_401.html"-"!:\private\2002ffac\terms_401.html"
+;"\epoc32\data\z\private\2002ffac\terms_402.html"-"!:\private\2002ffac\terms_402.html"
 
 ; Cenrep update
 @"cenrep.sis",(0x10202be9)
--- a/internetradio2.0/install/ir_package_deb.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/install/ir_package_deb.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -47,7 +47,7 @@
 "Radio Internet","Interneta radio", "Interneto radijas", "Radio Internet", 
 "Rádio na Internet", "Radio Internet", "Internet radio", "Radio de Internet", "Інтернет-радіо", 
 "انٹرنیٹ ریڈیو", "Radio internet","Internet irratia","Radio por Internet","Internet radio",
-"Internet radio","Internet radio"},(0x2000B499),1,1,0,TYPE=SA,RU
+"Internet radio","Internet radio"},(0x2002ffac),1,1,0,TYPE=SA,RU
 
 ; Properties describing the version number
 ;+(0=1, 1=1, 2=0)
@@ -252,7 +252,7 @@
 
 
 ; Backup & Restore
-;"..\group\backup_registration.xml"	-"!:\private\2000B499\backup_registration.xml"
+;"..\group\backup_registration.xml"	-"!:\private\2002ffac\backup_registration.xml"
 
 ; Animation script files
 ;"..\mbm\qgn_ir_loading.svg"		-"!:\resource\apps\qgn_ir_loading.svg"
@@ -262,60 +262,60 @@
 ;"..\help\iraap.hlp"			-"!:\resource\help\iraap.hlp"
 
 ; Terms of service
-;"\epoc32\data\z\private\2000b499\terms_01.html" -"!:\private\2000b499\terms_01.html"
-;"\epoc32\data\z\private\2000b499\terms_02.html" -"!:\private\2000b499\terms_02.html"
-;"\epoc32\data\z\private\2000b499\terms_03.html" -"!:\private\2000b499\terms_03.html"
-;"\epoc32\data\z\private\2000b499\terms_04.html" -"!:\private\2000b499\terms_04.html"
-;"\epoc32\data\z\private\2000b499\terms_05.html" -"!:\private\2000b499\terms_05.html"
-;"\epoc32\data\z\private\2000b499\terms_06.html" -"!:\private\2000b499\terms_06.html"
-;"\epoc32\data\z\private\2000b499\terms_07.html" -"!:\private\2000b499\terms_07.html"
-;"\epoc32\data\z\private\2000b499\terms_08.html" -"!:\private\2000b499\terms_08.html"
-;"\epoc32\data\z\private\2000b499\terms_09.html" -"!:\private\2000b499\terms_09.html"
-;"\epoc32\data\z\private\2000b499\terms_10.html" -"!:\private\2000b499\terms_10.html"
-;"\epoc32\data\z\private\2000b499\terms_13.html" -"!:\private\2000b499\terms_13.html"
-;"\epoc32\data\z\private\2000b499\terms_14.html" -"!:\private\2000b499\terms_14.html"
-;"\epoc32\data\z\private\2000b499\terms_15.html" -"!:\private\2000b499\terms_15.html"
-;"\epoc32\data\z\private\2000b499\terms_16.html" -"!:\private\2000b499\terms_16.html"
-;"\epoc32\data\z\private\2000b499\terms_17.html" -"!:\private\2000b499\terms_17.html"
-;"\epoc32\data\z\private\2000b499\terms_18.html" -"!:\private\2000b499\terms_18.html"
-;"\epoc32\data\z\private\2000b499\terms_25.html" -"!:\private\2000b499\terms_25.html"
-;"\epoc32\data\z\private\2000b499\terms_26.html" -"!:\private\2000b499\terms_26.html"
-;"\epoc32\data\z\private\2000b499\terms_27.html" -"!:\private\2000b499\terms_27.html"
-;"\epoc32\data\z\private\2000b499\terms_18.html" -"!:\private\2000b499\terms_28.html"
-;"\epoc32\data\z\private\2000b499\terms_29.html" -"!:\private\2000b499\terms_29.html"
-;"\epoc32\data\z\private\2000b499\terms_30.html" -"!:\private\2000b499\terms_30.html"
-;"\epoc32\data\z\private\2000b499\terms_31.html" -"!:\private\2000b499\terms_31.html"
-;"\epoc32\data\z\private\2000b499\terms_32.html" -"!:\private\2000b499\terms_32.html"
-;"\epoc32\data\z\private\2000b499\terms_33.html" -"!:\private\2000b499\terms_33.html"
-;"\epoc32\data\z\private\2000b499\terms_37.html" -"!:\private\2000b499\terms_37.html"
-;"\epoc32\data\z\private\2000b499\terms_39.html" -"!:\private\2000b499\terms_39.html"
-;"\epoc32\data\z\private\2000b499\terms_42.html" -"!:\private\2000b499\terms_42.html"
-;"\epoc32\data\z\private\2000b499\terms_44.html" -"!:\private\2000b499\terms_44.html"
-;"\epoc32\data\z\private\2000b499\terms_45.html" -"!:\private\2000b499\terms_45.html"
-;"\epoc32\data\z\private\2000b499\terms_49.html" -"!:\private\2000b499\terms_49.html"
-;"\epoc32\data\z\private\2000b499\terms_50.html" -"!:\private\2000b499\terms_50.html"
-;"\epoc32\data\z\private\2000b499\terms_51.html" -"!:\private\2000b499\terms_51.html"
-;"\epoc32\data\z\private\2000b499\terms_54.html" -"!:\private\2000b499\terms_54.html"
-;"\epoc32\data\z\private\2000b499\terms_57.html" -"!:\private\2000b499\terms_57.html"
-;"\epoc32\data\z\private\2000b499\terms_59.html" -"!:\private\2000b499\terms_59.html"
-;"\epoc32\data\z\private\2000b499\terms_67.html" -"!:\private\2000b499\terms_67.html"
-;"\epoc32\data\z\private\2000b499\terms_68.html" -"!:\private\2000b499\terms_68.html"
-;"\epoc32\data\z\private\2000b499\terms_70.html" -"!:\private\2000b499\terms_70.html"
-;"\epoc32\data\z\private\2000b499\terms_76.html" -"!:\private\2000b499\terms_76.html"
-;"\epoc32\data\z\private\2000b499\terms_78.html" -"!:\private\2000b499\terms_78.html"
-;"\epoc32\data\z\private\2000b499\terms_79.html" -"!:\private\2000b499\terms_79.html"
-;"\epoc32\data\z\private\2000b499\terms_83.html" -"!:\private\2000b499\terms_83.html"
-;"\epoc32\data\z\private\2000b499\terms_93.html" -"!:\private\2000b499\terms_93.html"
-;"\epoc32\data\z\private\2000b499\terms_94.html" -"!:\private\2000b499\terms_94.html"
-;"\epoc32\data\z\private\2000b499\terms_96.html" -"!:\private\2000b499\terms_96.html"
-;"\epoc32\data\z\private\2000b499\terms_157.html"-"!:\private\2000b499\terms_157.html"
-;"\epoc32\data\z\private\2000b499\terms_158.html"-"!:\private\2000b499\terms_158.html"
-;"\epoc32\data\z\private\2000b499\terms_159.html"-"!:\private\2000b499\terms_159.html"
-;"\epoc32\data\z\private\2000b499\terms_161.html"-"!:\private\2000b499\terms_161.html"
-;"\epoc32\data\z\private\2000b499\terms_326.html"-"!:\private\2000b499\terms_326.html"
-;"\epoc32\data\z\private\2000b499\terms_327.html"-"!:\private\2000b499\terms_327.html"
-;"\epoc32\data\z\private\2000b499\terms_401.html"-"!:\private\2000b499\terms_401.html"
-;"\epoc32\data\z\private\2000b499\terms_402.html"-"!:\private\2000b499\terms_402.html"
+;"\epoc32\data\z\private\2002ffac\terms_01.html" -"!:\private\2002ffac\terms_01.html"
+;"\epoc32\data\z\private\2002ffac\terms_02.html" -"!:\private\2002ffac\terms_02.html"
+;"\epoc32\data\z\private\2002ffac\terms_03.html" -"!:\private\2002ffac\terms_03.html"
+;"\epoc32\data\z\private\2002ffac\terms_04.html" -"!:\private\2002ffac\terms_04.html"
+;"\epoc32\data\z\private\2002ffac\terms_05.html" -"!:\private\2002ffac\terms_05.html"
+;"\epoc32\data\z\private\2002ffac\terms_06.html" -"!:\private\2002ffac\terms_06.html"
+;"\epoc32\data\z\private\2002ffac\terms_07.html" -"!:\private\2002ffac\terms_07.html"
+;"\epoc32\data\z\private\2002ffac\terms_08.html" -"!:\private\2002ffac\terms_08.html"
+;"\epoc32\data\z\private\2002ffac\terms_09.html" -"!:\private\2002ffac\terms_09.html"
+;"\epoc32\data\z\private\2002ffac\terms_10.html" -"!:\private\2002ffac\terms_10.html"
+;"\epoc32\data\z\private\2002ffac\terms_13.html" -"!:\private\2002ffac\terms_13.html"
+;"\epoc32\data\z\private\2002ffac\terms_14.html" -"!:\private\2002ffac\terms_14.html"
+;"\epoc32\data\z\private\2002ffac\terms_15.html" -"!:\private\2002ffac\terms_15.html"
+;"\epoc32\data\z\private\2002ffac\terms_16.html" -"!:\private\2002ffac\terms_16.html"
+;"\epoc32\data\z\private\2002ffac\terms_17.html" -"!:\private\2002ffac\terms_17.html"
+;"\epoc32\data\z\private\2002ffac\terms_18.html" -"!:\private\2002ffac\terms_18.html"
+;"\epoc32\data\z\private\2002ffac\terms_25.html" -"!:\private\2002ffac\terms_25.html"
+;"\epoc32\data\z\private\2002ffac\terms_26.html" -"!:\private\2002ffac\terms_26.html"
+;"\epoc32\data\z\private\2002ffac\terms_27.html" -"!:\private\2002ffac\terms_27.html"
+;"\epoc32\data\z\private\2002ffac\terms_18.html" -"!:\private\2002ffac\terms_28.html"
+;"\epoc32\data\z\private\2002ffac\terms_29.html" -"!:\private\2002ffac\terms_29.html"
+;"\epoc32\data\z\private\2002ffac\terms_30.html" -"!:\private\2002ffac\terms_30.html"
+;"\epoc32\data\z\private\2002ffac\terms_31.html" -"!:\private\2002ffac\terms_31.html"
+;"\epoc32\data\z\private\2002ffac\terms_32.html" -"!:\private\2002ffac\terms_32.html"
+;"\epoc32\data\z\private\2002ffac\terms_33.html" -"!:\private\2002ffac\terms_33.html"
+;"\epoc32\data\z\private\2002ffac\terms_37.html" -"!:\private\2002ffac\terms_37.html"
+;"\epoc32\data\z\private\2002ffac\terms_39.html" -"!:\private\2002ffac\terms_39.html"
+;"\epoc32\data\z\private\2002ffac\terms_42.html" -"!:\private\2002ffac\terms_42.html"
+;"\epoc32\data\z\private\2002ffac\terms_44.html" -"!:\private\2002ffac\terms_44.html"
+;"\epoc32\data\z\private\2002ffac\terms_45.html" -"!:\private\2002ffac\terms_45.html"
+;"\epoc32\data\z\private\2002ffac\terms_49.html" -"!:\private\2002ffac\terms_49.html"
+;"\epoc32\data\z\private\2002ffac\terms_50.html" -"!:\private\2002ffac\terms_50.html"
+;"\epoc32\data\z\private\2002ffac\terms_51.html" -"!:\private\2002ffac\terms_51.html"
+;"\epoc32\data\z\private\2002ffac\terms_54.html" -"!:\private\2002ffac\terms_54.html"
+;"\epoc32\data\z\private\2002ffac\terms_57.html" -"!:\private\2002ffac\terms_57.html"
+;"\epoc32\data\z\private\2002ffac\terms_59.html" -"!:\private\2002ffac\terms_59.html"
+;"\epoc32\data\z\private\2002ffac\terms_67.html" -"!:\private\2002ffac\terms_67.html"
+;"\epoc32\data\z\private\2002ffac\terms_68.html" -"!:\private\2002ffac\terms_68.html"
+;"\epoc32\data\z\private\2002ffac\terms_70.html" -"!:\private\2002ffac\terms_70.html"
+;"\epoc32\data\z\private\2002ffac\terms_76.html" -"!:\private\2002ffac\terms_76.html"
+;"\epoc32\data\z\private\2002ffac\terms_78.html" -"!:\private\2002ffac\terms_78.html"
+;"\epoc32\data\z\private\2002ffac\terms_79.html" -"!:\private\2002ffac\terms_79.html"
+;"\epoc32\data\z\private\2002ffac\terms_83.html" -"!:\private\2002ffac\terms_83.html"
+;"\epoc32\data\z\private\2002ffac\terms_93.html" -"!:\private\2002ffac\terms_93.html"
+;"\epoc32\data\z\private\2002ffac\terms_94.html" -"!:\private\2002ffac\terms_94.html"
+;"\epoc32\data\z\private\2002ffac\terms_96.html" -"!:\private\2002ffac\terms_96.html"
+;"\epoc32\data\z\private\2002ffac\terms_157.html"-"!:\private\2002ffac\terms_157.html"
+;"\epoc32\data\z\private\2002ffac\terms_158.html"-"!:\private\2002ffac\terms_158.html"
+;"\epoc32\data\z\private\2002ffac\terms_159.html"-"!:\private\2002ffac\terms_159.html"
+;"\epoc32\data\z\private\2002ffac\terms_161.html"-"!:\private\2002ffac\terms_161.html"
+;"\epoc32\data\z\private\2002ffac\terms_326.html"-"!:\private\2002ffac\terms_326.html"
+;"\epoc32\data\z\private\2002ffac\terms_327.html"-"!:\private\2002ffac\terms_327.html"
+;"\epoc32\data\z\private\2002ffac\terms_401.html"-"!:\private\2002ffac\terms_401.html"
+;"\epoc32\data\z\private\2002ffac\terms_402.html"-"!:\private\2002ffac\terms_402.html"
 
 ; Cenrep update
 @"cenrep.sis",(0x10202be9)
--- a/internetradio2.0/ircachemgmt/group/ircachemgmt.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/ircachemgmt/group/ircachemgmt.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -22,7 +22,7 @@
 
 TARGET                  ircachemgmt.dll
 TARGETTYPE              dll
-UID                     0x1000008d 0x2000B4A1
+UID                     0x1000008d 0x2002FFB2
 
 CAPABILITY              CAP_GENERAL_DLL
 VENDORID                VID_DEFAULT
@@ -57,3 +57,4 @@
 #else
 DEFFILE                 ../bmarm/ 
 #endif
+
--- a/internetradio2.0/ircommon/group/ircommon.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/ircommon/group/ircommon.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 
 TARGET        irdatastructures.dll
 TARGETTYPE    dll
-UID            0x1000008d 0x2000B49A
+UID            0x1000008d 0x2002FFB1
 
 PAGED
 
--- a/internetradio2.0/irdataprovider/group/irdataprovider.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irdataprovider/group/irdataprovider.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 
 TARGET        irdataprovider.dll
 TARGETTYPE    dll
-UID           0x1000008d 0x2000B49C
+UID           0x1000008d 0x2002FFB5
 
 PAGED
 
--- a/internetradio2.0/irfavoritesdb/group/irfavoritesdb.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irfavoritesdb/group/irfavoritesdb.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -18,7 +18,7 @@
 #include 		<platform_paths.hrh>
 TARGET        irfavoritesdb.dll
 TARGETTYPE    dll
-UID           0x1000008d 0x2000B4A0
+UID           0x1000008d 0x2002FFB4
 
 PAGED
 
--- a/internetradio2.0/irfavoritesdb/src/irfavoritesdb.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irfavoritesdb/src/irfavoritesdb.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -23,10 +23,13 @@
 #include "irisdspreset.h"
 #include "irpreset.h"
 #include "irsettings.h"
+#include "iruid3.hrh"
 
 const TInt KNullId = 0;
 const TInt KNineteen = 19;
 
+const TUid KIRPreset = { UID3_IRPRESETPLUGIN_DLL_IMPLEMENTATION_UID };
+
 namespace PresetHandler
     {
 //-------------------------------------------------------------------------------
--- a/internetradio2.0/irfilerecognizer/group/irrecognizer.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irfilerecognizer/group/irrecognizer.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -20,7 +20,7 @@
 
 TARGET          irfilerecognizer.dll
 TARGETTYPE      PLUGIN
-UID             0x10009D8D 0x2000B4A9
+UID             0x10009D8D 0x2002FFB8
 
 PAGED
 
@@ -30,7 +30,7 @@
 
 SOURCEPATH	../resources
 
-START RESOURCE  2000b4a9.rss
+START RESOURCE  2002ffb8.rss
 TARGET          irfilerecognizer.rsc
 END
 
--- a/internetradio2.0/irfilerecognizer/inc/irrecognizer.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irfilerecognizer/inc/irrecognizer.h	Thu Sep 02 20:17:46 2010 +0300
@@ -20,9 +20,10 @@
 #define IRRECOGNIZER_H
 
 #include <apmrec.h>
+#include "iruid3.hrh"
 
-const TInt KIRRecognizerImplementationUid = 0x2000B4DE;
-const TUid KIRRecognizerDllUid = {0x2000B4A9};
+const TInt KIRRecognizerImplementationUid = UID3_IRFILERECOGNIZER_DLL_IMPLEMENTATION_UID;
+const TUid KIRRecognizerDllUid = {UID3_IRFILERECOGNIZER_DLL};
 /**
  * Recognizer plug-in for .Pls files.
  * 
--- a/internetradio2.0/irfilerecognizer/resources/2000b4a9.rss	Wed Aug 18 09:40:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO r_registry
-{
-    dll_uid = 0x2000B4A9; // should match name of this file
-    interfaces =
-    {
-        INTERFACE_INFO
-        {
-            interface_uid = 0x101F7D87;  // const for all Data Recognizers
-            implementations =
-            {
-                IMPLEMENTATION_INFO
-                {
-                    implementation_uid = 0x2000B4DE; // unique implementation uid
-                    version_no = 1;
-                    display_name = "IRFileRecognizer";
-                    default_data = "";
-                    opaque_data = "";
-                }
-            };
-        }
-    };
-}
-
-// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/irfilerecognizer/resources/2002ffb8.rss	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <registryinfo.rh>
+#include "iruid3.hrh"
+
+RESOURCE REGISTRY_INFO r_registry
+{
+    dll_uid = UID3_IRFILERECOGNIZER_DLL; // should match name of this file
+    interfaces =
+    {
+        INTERFACE_INFO
+        {
+            interface_uid = 0x101F7D87;  // const for all Data Recognizers
+            implementations =
+            {
+                IMPLEMENTATION_INFO
+                {
+                    implementation_uid = UID3_IRFILERECOGNIZER_DLL_IMPLEMENTATION_UID; // unique implementation uid
+                    version_no = 1;
+                    display_name = "IRFileRecognizer";
+                    default_data = "";
+                    opaque_data = "";
+                }
+            };
+        }
+    };
+}
+
+// End of File
--- a/internetradio2.0/irfilerecognizer/src/irrecognizer.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irfilerecognizer/src/irrecognizer.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -23,10 +23,6 @@
 #include "irrecognizer.h"
 
 // CONSTANTS
-//voilate PC Lint Warning 569: Loss of information (initialization) 
-//(32 bits to 31 bits)
-// Uid of the recogniser
-//const TUid KUidIRRecognizer={0x2000B499}
 
 // If the file name length > 4, the file extension might be valid                  
 const TInt KPlsFileExtensionsMightBeValid = 4;  
--- a/internetradio2.0/irisdsclient/group/isdsclient.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irisdsclient/group/isdsclient.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 
 TARGET        isdsclientinterface.dll
 TARGETTYPE    dll
-UID           0x1000008d 0x2000B49E
+UID           0x1000008d 0x2002FFB7
 
 PAGED
 
--- a/internetradio2.0/irnetworkcontroller/group/irnetworkcontroller.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irnetworkcontroller/group/irnetworkcontroller.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 
 TARGET        irnetworkcontroller.dll
 TARGETTYPE    dll
-UID           0x1000008d 0x2000B4A2
+UID           0x1000008d 0x2002FFB0
 
 PAGED
 
--- a/internetradio2.0/irpresetplugin/data/irpresetplugin.rss	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irpresetplugin/data/irpresetplugin.rss	Thu Sep 02 20:17:46 2010 +0300
@@ -16,6 +16,7 @@
 */
 
 #include <registryinfo.rh>
+#include "iruid3.hrh"
 
 // ---------------------------------------------------------------------------
 // r_ir_preset_plugin_registry_info
@@ -24,7 +25,7 @@
 //
 RESOURCE REGISTRY_INFO r_ir_preset_plugin_registry_info
     {
-    dll_uid     = 0x2000B4AA;
+    dll_uid     = UID3_IRPRESETPLUGIN_DLL;
     interfaces  =
         {
         INTERFACE_INFO
@@ -35,7 +36,7 @@
                 IMPLEMENTATION_INFO
                     {
                     //implementation_uid  = 0xA0001D79;
-                    implementation_uid  = 0x10009DC1;
+                    implementation_uid  = UID3_IRPRESETPLUGIN_DLL_IMPLEMENTATION_UID;
 
                     version_no          = 1;
                     display_name        = "Internet Radio Preset Plugin";
--- a/internetradio2.0/irpresetplugin/group/irpresetplugin.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irpresetplugin/group/irpresetplugin.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -22,7 +22,7 @@
 
 TARGET                  irpresetplugin.dll
 TARGETTYPE              PLUGIN
-UID                     0x10009D8D 0X2000B4AA
+UID                     0x10009D8D 0X2002FFC7
 
 CAPABILITY              CAP_ECOM_PLUGIN
 VENDORID                VID_DEFAULT
--- a/internetradio2.0/irpresetplugin/inc/irpreset.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irpresetplugin/inc/irpreset.h	Thu Sep 02 20:17:46 2010 +0300
@@ -25,9 +25,6 @@
 class CIRIsdsPreset;
 class CIRChannelServerUrl;
 
-const TUid KIRPreset = { 0x10009DC1 };
-
-
 /**
  * preset abstract class to expose general apis to the app
  * it is the base class for IRPresetImpl,which is a plugin
--- a/internetradio2.0/irpresetplugin/src/irpresetpluginproxy.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irpresetplugin/src/irpresetpluginproxy.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -18,12 +18,13 @@
 #include <implementationproxy.h>
 
 #include "irpresetimpl.h"
+#include "iruid3.hrh"
 
 // The implementation proxy table that lists all interfaces and 
 // their implementations contained within this plugin.
 const TImplementationProxy KIRPresetPluginImplementationTable[] =
     {
-    IMPLEMENTATION_PROXY_ENTRY( 0x10009DC1, CIRPresetImpl:: NewL) 
+    IMPLEMENTATION_PROXY_ENTRY( UID3_IRPRESETPLUGIN_DLL_IMPLEMENTATION_UID, CIRPresetImpl:: NewL) 
     };
 
 
--- a/internetradio2.0/irrfsplugin/group/irrfsplugin.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irrfsplugin/group/irrfsplugin.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 
 TARGET                  irrfsplugin.dll
 TARGETTYPE              PLUGIN
-UID                     0x10009D8D 0x2000B4AC
+UID                     0x10009D8D 0x2002FFAF
 
 CAPABILITY              CAP_ECOM_PLUGIN
 VENDORID                VID_DEFAULT
@@ -31,11 +31,12 @@
 SOURCE                  irrfspluginproxy.cpp
 
 SOURCEPATH              ../../resources
-START RESOURCE          2000b4ac.rss
+START RESOURCE          2002ffaf.rss
 TARGET                  irrfsplugin.rsc
 END // RESOURCE
 
-USERINCLUDE             ../inc
+USERINCLUDE     	../inc
+USERINCLUDE 	  	../../inc
 
 // Default system include paths for application layer modules.
 APP_LAYER_SYSTEMINCLUDE
--- a/internetradio2.0/irrfsplugin/src/irrfsplugin.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irrfsplugin/src/irrfsplugin.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -20,20 +20,20 @@
 #include <apgcli.h>
 
 #include "irrfsplugin.h"
+#include "iruid3.hrh"
 
 // Files that are deleted upon RFS.
-_LIT( KIRLastPlayedFile, "c:\\private\\2000b499\\lastPlayed.dat" );
-_LIT( KIRCacheDatabaseFile, "c:\\private\\2000b499\\cacheDb.db" );
-_LIT( KIRSdsResponseFile, "c:\\private\\2000b499\\iSdsResponse.xml" );
-_LIT( KIRSessionFile, "c:\\private\\2000b499\\Session" );
-_LIT( KIRRadioReportFile, "c:\\private\\2000b499\\RadioReport.xml" );
-_LIT( KIRLogUsageFile, "c:\\private\\2000b499\\LogUsage.gz" );
-_LIT( KIRSettingsFile, "c:\\private\\2000b499\\irsettings.ini" );
-_LIT( KIRBackedUpSettingsFile, "c:\\private\\2000b499\\irsettings_backed_up.ini" );
-_LIT( KIRSettingscreFile, "c:\\private\\10202be9\\persists\\2000B499.cre" );
+_LIT( KIRLastPlayedFile, "c:\\private\\2002ffac\\lastPlayed.dat" );
+_LIT( KIRCacheDatabaseFile, "c:\\private\\2002ffac\\cacheDb.db" );
+_LIT( KIRSdsResponseFile, "c:\\private\\2002ffac\\iSdsResponse.xml" );
+_LIT( KIRSessionFile, "c:\\private\\2002ffac\\Session" );
+_LIT( KIRNmsLog, "c:\\private\\2002ffac\\NmsLog" );
+_LIT( KIRRadioReportFile, "c:\\private\\2002ffac\\RadioReport.xml" );
+_LIT( KIRLogUsageFile, "c:\\private\\2002ffac\\LogUsage.gz" );
+_LIT( KIRSettingscreFile, "c:\\private\\10202be9\\persists\\2002ffac.cre" );
 
 //for History Database Deletion
-_LIT(KSongHistoryDbFile,"songhistoryDb.db");
+_LIT(KSongHistoryDbFile,"c:\\private\\2002ffac\\songhistoryDb.db");
 
 // ======== LOCAL FUNCTIONS ========
 
@@ -83,31 +83,33 @@
 // ---------------------------------------------------------------------------
 //
 void CIRRfsPlugin::RestoreFactorySettingsL( const TRfsReason aType )
+{
+    if ( aType == ENormalRfs || aType == EDeepRfs )
     {
-    if ( aType == ENormalRfs )
-        {
         RFs fsSession;
         User::LeaveIfError( fsSession.Connect() );
 
-        fsSession.Delete( KIRLastPlayedFile );
-        fsSession.Delete( KIRCacheDatabaseFile );
-        fsSession.Delete( KIRSdsResponseFile );
-        fsSession.Delete( KIRSessionFile );
-        fsSession.Delete( KIRRadioReportFile );
-        fsSession.Delete( KIRLogUsageFile );
+        fsSession.Delete( KIRSettingscreFile );
 
-        fsSession.Delete( KIRSettingsFile );
-        fsSession.Delete( KIRBackedUpSettingsFile );
-        fsSession.Delete( KIRSettingscreFile );
-    	fsSession.Delete(KSongHistoryDbFile);
-        
-        fsSession.Close();
-        }
+		if ( aType == EDeepRfs )
+		{
+		    fsSession.Delete( KIRLastPlayedFile );
+		    fsSession.Delete( KIRCacheDatabaseFile );
+		    fsSession.Delete( KIRSdsResponseFile );
+		    fsSession.Delete( KIRSessionFile );
+		    fsSession.Delete( KIRNmsLog );
+		    fsSession.Delete( KIRRadioReportFile );
+		    fsSession.Delete( KIRLogUsageFile );
+			fsSession.Delete(KSongHistoryDbFile);
+		}
+				
+		fsSession.Close();
+   	}
     else
-        {
-        // RFS type not supported.
-        }
+    {
+    	// RFS type not supported.
     }
+}
 
 // ---------------------------------------------------------------------------
 // From base class CRFSPlugin
--- a/internetradio2.0/irrfsplugin/src/irrfspluginproxy.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irrfsplugin/src/irrfspluginproxy.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,12 +19,13 @@
 #include <implementationproxy.h>
 
 #include "irrfsplugin.h"
+#include "iruid3.hrh"
 
 // The implementation proxy table that lists all interfaces and their implementations contained within this plugin.
 const TImplementationProxy KIRRfsPluginImplementationTable[] =
     {
     /*lint -save -e611 (Warning -- Suspicious cast)*/
-    IMPLEMENTATION_PROXY_ENTRY( 0x2000B4DD, CIRRfsPlugin::NewL )
+    IMPLEMENTATION_PROXY_ENTRY( UID3_IRRFSPLUGIN_DLL_IMPLEMENTATION_UID, CIRRfsPlugin::NewL )
     /*lint -restore*/
     };
 
--- a/internetradio2.0/irsessionlog/group/irsessionlog.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsessionlog/group/irsessionlog.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,7 +19,7 @@
 
 TARGET        irsessionlog.dll
 TARGETTYPE    dll
-UID           0x1000008d 0x2000B4A6
+UID           0x1000008d 0x2002FFB6
 
 SOURCEPATH    ../src
 //CAPABILITY NetworkServices ProtServ ReadDeviceData ReadUserData SwEvent UserEnvironment WriteDeviceData WriteUserData TrustedUI
--- a/internetradio2.0/irsessionlog/inc/irsessionlogger.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsessionlog/inc/irsessionlogger.h	Thu Sep 02 20:17:46 2010 +0300
@@ -313,7 +313,7 @@
     
     /**
     * Function: WriteNmsLogData
-    * gathers Nmslog data and writes to XML file
+    * gathers NmsLog data and writes to XML file
     * @param position of the log in the log data array
     */      
     void WriteNmsLogData( TInt aIndex );
--- a/internetradio2.0/irsessionlog/src/irsessionlogger.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsessionlog/src/irsessionlogger.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -1085,7 +1085,7 @@
 
 // ---------------------------------------------------------------------------
 // Function: WriteNmsLogData
-// gathers Nmslog data and writes to XML file
+// gathers NmsLog data and writes to XML file
 // ---------------------------------------------------------------------------
 //
 void CIRReportGenerator::WriteNmsLogData(TInt aIndex)
--- a/internetradio2.0/irsettings/group/bld.inf	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsettings/group/bld.inf	Thu Sep 02 20:17:46 2010 +0300
@@ -21,11 +21,11 @@
 
 PRJ_EXPORTS
 // Cenrep
-../../cenrep/2000b499.txt                          /epoc32/data/z/private/10202be9/2000b499.txt
-../../cenrep/2000b499.txt                          /epoc32/release/winscw/udeb/z/private/10202be9/2000b499.txt
-../../cenrep/2000b499.txt                          /epoc32/release/winscw/urel/z/private/10202be9/2000b499.txt
+../../cenrep/2002ffac.txt                          /epoc32/data/z/private/10202be9/2002ffac.txt
+../../cenrep/2002ffac.txt                          /epoc32/release/winscw/udeb/z/private/10202be9/2002ffac.txt
+../../cenrep/2002ffac.txt                          /epoc32/release/winscw/urel/z/private/10202be9/2002ffac.txt
 #ifdef __WINS__
-../../cenrep/2000b499.txt  		        /epoc32/winscw/c/private/10202be9/2000b499.txt
+../../cenrep/2002ffac.txt  		        /epoc32/winscw/c/private/10202be9/2002ffac.txt
 #endif
 
 prj_mmpfiles
--- a/internetradio2.0/irsettings/group/irsettings.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsettings/group/irsettings.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 
 TARGET              irsettings.dll
 TARGETTYPE          DLL
-UID                 0x1000008D 0x2000B4A3
+UID                 0x1000008D 0x2002FFAE
 
 
 VENDORID            VID_DEFAULT
--- a/internetradio2.0/irsonghistory/src/irsonghistoryinfo.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irsonghistory/src/irsonghistoryinfo.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -304,7 +304,7 @@
  // ---------------------------------------------------------------------------
  //
  
-const RBuf& CIRSongHistoryInfo::GetGenreName() const 
+ EXPORT_C const RBuf& CIRSongHistoryInfo::GetGenreName() const 
  {
     return iGenreName;
  }
@@ -314,7 +314,7 @@
 // Get channel country name
 // ---------------------------------------------------------------------------
 //
-const RBuf& CIRSongHistoryInfo::GetCountryName() const 
+ EXPORT_C const RBuf& CIRSongHistoryInfo::GetCountryName() const 
  {
     return iCountryName;
  }
@@ -324,7 +324,7 @@
 // Get channel language name
 // ---------------------------------------------------------------------------
 //
-const RBuf& CIRSongHistoryInfo::GetLanguageName() const 
+ EXPORT_C const RBuf& CIRSongHistoryInfo::GetLanguageName() const 
  {
     return iLanguageName;
  }
--- a/internetradio2.0/irxmlparser/group/irxmlparser.mmp	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/irxmlparser/group/irxmlparser.mmp	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 
 TARGET                  irxmlparser.dll
 TARGETTYPE              dll
-UID                     0x1000008d 0x2000B49D
+UID                     0x1000008d 0x2002FFB3
 
 CAPABILITY              CAP_GENERAL_DLL
 VENDORID                VID_DEFAULT
--- a/internetradio2.0/resources/2000b4a2.rss	Wed Aug 18 09:40:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-NAME IRNC
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <avkon.rsg>
-
-
-RESOURCE RSS_SIGNATURE
-{
-}
-
-RESOURCE DIALOG r_irnc_connecting_dialog
-{
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-    {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = 1;
-            control= AVKON_NOTE 
-                { 
-                layout = EWaitLayout;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-    };
-}
-
-//TODO: localization
-#define qtn_ir_connecting_note   "Connecting to server..."
-
-RESOURCE TBUF r_irapp_connecting_note {buf = qtn_ir_connecting_note;}
--- a/internetradio2.0/resources/2000b4a9.rss	Wed Aug 18 09:40:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO r_registry
-{
-    dll_uid = 0x2000B4A9; // should match name of this file
-    interfaces =
-    {
-        INTERFACE_INFO
-        {
-            interface_uid = 0x101F7D87;  // const for all Data Recognizers
-            implementations =
-            {
-                IMPLEMENTATION_INFO
-                {
-                    implementation_uid = 0x2000B4DE; // unique implementation uid
-                    version_no = 1;
-                    display_name = "IRFileRecognizer";
-                    default_data = "";
-                    opaque_data = "";
-                }
-            };
-        }
-    };
-}
-
-// End of File
--- a/internetradio2.0/resources/2000b4ac.rss	Wed Aug 18 09:40:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 Internet Radio RFS plugin
-*
-*/
-
-
-#include <registryinfo.rh>
-
-// ---------------------------------------------------------------------------
-// r_ps_rfs_plugin_registry_info
-// Registry info for the Internet Radio RFS ECOM plugin.
-// ---------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO r_ps_rfs_plugin_registry_info
-    {
-    dll_uid = 0x2000B4AC;
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = 0x102073BB;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = 0x2000B4DD;
-                    version_no = 1;
-                    display_name = "Internet Radio RFS Plugin";
-                    default_data = "N"; // Normal RFS.
-                    opaque_data = "";
-                    }
-                };
-            }
-        };
-    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/resources/2002ffaf.rss	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 Internet Radio RFS plugin
+*
+*/
+
+
+#include <registryinfo.rh>
+#include "iruid3.hrh"
+
+// ---------------------------------------------------------------------------
+// r_ps_rfs_plugin_registry_info
+// Registry info for the Internet Radio RFS ECOM plugin.
+// ---------------------------------------------------------------------------
+//
+RESOURCE REGISTRY_INFO r_ps_rfs_plugin_registry_info
+    {
+    dll_uid = UID3_IRRFSPLUGIN_DLL;
+    interfaces =
+        {
+        INTERFACE_INFO
+            {
+            interface_uid = 0x102073BB;
+            implementations =
+                {
+                IMPLEMENTATION_INFO
+                    {
+                    implementation_uid = UID3_IRRFSPLUGIN_DLL_IMPLEMENTATION_UID;
+                    version_no = 1;
+                    display_name = "Internet Radio RFS Plugin";
+                    default_data = "N"; // Normal RFS.
+                    opaque_data = "";
+                    }
+                };
+            }
+        };
+    }
--- a/internetradio2.0/resources/internetradio_reg.rss	Wed Aug 18 09:40:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2006-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:  ?Description
-*
-*/
-
-
-#include <bldvariant.hrh>
-#include <appinfo.rh>
-#include "internetradio.loc"
-#include <internetradio.rsg>
-#include "ir.hrh"
-
-
-UID2 KUidAppRegistrationResourceFile
-
-UID3 0x2000B499 
-
-#define STRING_InternetRadio_loc_resource_file_1 "\\resource\\apps\\InternetRadio"
-
-RESOURCE APP_REGISTRATION_INFO
-
-    {
-#ifndef __DISABLE_RADIO_LAUNCHER
-    // hidden=KAppIsHidden;
-    hidden=KAppNotHidden;
-#endif
-    app_file = "InternetRadio";
-
-    localisable_resource_file = STRING_InternetRadio_loc_resource_file_1;
-
-    localisable_resource_id = R_INTERNETRADIO_LOCALISABLE_APP_INFO;
-
-    embeddability=KAppNotEmbeddable;
-    newfile=KAppDoesNotSupportNewFile;
-    datatype_list= 
-	    {
-	    DATATYPE { priority=EDataTypePriorityHigh; type="audio/x-scpls"; }
-	    };
-    }
--- a/internetradio2.0/rom/internetradio.iby	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/rom/internetradio.iby	Thu Sep 02 20:17:46 2010 +0300
@@ -19,11 +19,11 @@
 #ifndef __INTERNETRADIO_IBY__
 #define __INTERNETRADIO_IBY__
 
-ECOM_PLUGIN(irfilerecognizer.dll, 2000B4A9.rsc)
-ECOM_PLUGIN(irpresetplugin.dll, 2000B4AA.rsc)
-ECOM_PLUGIN(irrfsplugin.dll, 2000b4ac.rsc)
+ECOM_PLUGIN(irfilerecognizer.dll, 2002ffb8.rsc)
+ECOM_PLUGIN(irpresetplugin.dll, 2002ffc7.rsc)
+ECOM_PLUGIN(irrfsplugin.dll, 2002ffaf.rsc)
 
-data=ZPRIVATE\2000B499\backup_registration.xml                  private\2000B499\backup_registration.xml
+data=ZPRIVATE\2002ffac\backup_registration.xml                  private\2002ffac\backup_registration.xml
 
 file=ABI_DIR\BUILD_DIR\irdatastructures.dll                      SHARED_LIB_DIR\irdatastructures.dll
 file=ABI_DIR\BUILD_DIR\irdataprovider.dll			 SHARED_LIB_DIR\irdataprovider.dll
--- a/internetradio2.0/rom/internetradiosettings.iby	Wed Aug 18 09:40:26 2010 +0300
+++ b/internetradio2.0/rom/internetradiosettings.iby	Thu Sep 02 20:17:46 2010 +0300
@@ -20,6 +20,6 @@
 #define __INTERNETRADIOSETTINGS_IBY__
 
 //Cenrep additon....
-data=\epoc32\data\Z\private\10202BE9\2000B499.txt		private\10202BE9\2000B499.txt
+data=\epoc32\data\Z\private\10202BE9\2002ffac.txt		private\10202BE9\2002ffac.txt
 
 #endif  // __INTERNETRADIOSETTINGS_IBY__
--- a/qtinternetradio/common.pri	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/common.pri	Thu Sep 02 20:17:46 2010 +0300
@@ -17,6 +17,7 @@
 #DEFINES += ADV_ENABLED
 DEFINES += HS_WIDGET_ENABLED
 #DEFINES += STATISTIC_REPORT_TEST_ENABLED
+#DEFINES += TERMS_CONDITIONS_VIEW_ENABLED
 
 # ##########################################################
 # Logging flag definitions
--- a/qtinternetradio/eabi/irqsonghistoryu.def	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/eabi/irqsonghistoryu.def	Thu Sep 02 20:17:46 2010 +0300
@@ -35,23 +35,26 @@
 	_ZNK18CIRSongHistoryInfo11GetImageUrlEv @ 34 NONAME
 	_ZNK18CIRSongHistoryInfo11GetSongInfoEv @ 35 NONAME
 	_ZNK18CIRSongHistoryInfo12GetChannelIdEv @ 36 NONAME
-	_ZNK18CIRSongHistoryInfo12GetStreamUrlEv @ 37 NONAME
-	_ZNK18CIRSongHistoryInfo13GetArtistInfoEv @ 38 NONAME
-	_ZNK18CIRSongHistoryInfo14GetChannelDescEv @ 39 NONAME
-	_ZNK18CIRSongHistoryInfo14GetChannelNameEv @ 40 NONAME
-	_ZNK18CIRSongHistoryInfo14GetChannelTypeEv @ 41 NONAME
-	_ZNK18CIRSongHistoryInfo21GetChannelMusicStatusEv @ 42 NONAME
-	_ZNK18IRQSongHistoryInfo10getBitrateEv @ 43 NONAME
-	_ZNK18IRQSongHistoryInfo11getImageUrlEv @ 44 NONAME
-	_ZNK18IRQSongHistoryInfo11getSongNameEv @ 45 NONAME
-	_ZNK18IRQSongHistoryInfo12getChannelIdEv @ 46 NONAME
-	_ZNK18IRQSongHistoryInfo12getGenreNameEv @ 47 NONAME
-	_ZNK18IRQSongHistoryInfo12getStreamUrlEv @ 48 NONAME
-	_ZNK18IRQSongHistoryInfo13getArtistNameEv @ 49 NONAME
-	_ZNK18IRQSongHistoryInfo14getChannelDescEv @ 50 NONAME
-	_ZNK18IRQSongHistoryInfo14getChannelNameEv @ 51 NONAME
-	_ZNK18IRQSongHistoryInfo14getChannelTypeEv @ 52 NONAME
-	_ZNK18IRQSongHistoryInfo14getCountryNameEv @ 53 NONAME
-	_ZNK18IRQSongHistoryInfo15getLanguageNameEv @ 54 NONAME
-	_ZNK18IRQSongHistoryInfo19getMusicStoreStatusEv @ 55 NONAME
+	_ZNK18CIRSongHistoryInfo12GetGenreNameEv @ 37 NONAME
+	_ZNK18CIRSongHistoryInfo12GetStreamUrlEv @ 38 NONAME
+	_ZNK18CIRSongHistoryInfo13GetArtistInfoEv @ 39 NONAME
+	_ZNK18CIRSongHistoryInfo14GetChannelDescEv @ 40 NONAME
+	_ZNK18CIRSongHistoryInfo14GetChannelNameEv @ 41 NONAME
+	_ZNK18CIRSongHistoryInfo14GetChannelTypeEv @ 42 NONAME
+	_ZNK18CIRSongHistoryInfo14GetCountryNameEv @ 43 NONAME
+	_ZNK18CIRSongHistoryInfo15GetLanguageNameEv @ 44 NONAME
+	_ZNK18CIRSongHistoryInfo21GetChannelMusicStatusEv @ 45 NONAME
+	_ZNK18IRQSongHistoryInfo10getBitrateEv @ 46 NONAME
+	_ZNK18IRQSongHistoryInfo11getImageUrlEv @ 47 NONAME
+	_ZNK18IRQSongHistoryInfo11getSongNameEv @ 48 NONAME
+	_ZNK18IRQSongHistoryInfo12getChannelIdEv @ 49 NONAME
+	_ZNK18IRQSongHistoryInfo12getGenreNameEv @ 50 NONAME
+	_ZNK18IRQSongHistoryInfo12getStreamUrlEv @ 51 NONAME
+	_ZNK18IRQSongHistoryInfo13getArtistNameEv @ 52 NONAME
+	_ZNK18IRQSongHistoryInfo14getChannelDescEv @ 53 NONAME
+	_ZNK18IRQSongHistoryInfo14getChannelNameEv @ 54 NONAME
+	_ZNK18IRQSongHistoryInfo14getChannelTypeEv @ 55 NONAME
+	_ZNK18IRQSongHistoryInfo14getCountryNameEv @ 56 NONAME
+	_ZNK18IRQSongHistoryInfo15getLanguageNameEv @ 57 NONAME
+	_ZNK18IRQSongHistoryInfo19getMusicStoreStatusEv @ 58 NONAME
 
--- a/qtinternetradio/install/ir3_qtinternetradio_armv5_udeb.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/install/ir3_qtinternetradio_armv5_udeb.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 &EN
 
 ; SIS header: name, uid, version
-#{"QtInternetRadio"},(0xE28364bb),1,0,0
+#{"QtInternetRadio"},(0x2002FFAC),1,0,0
 
 ; Localised Vendor name
 %{"Nokia, Qt Software"}
@@ -39,7 +39,7 @@
 
 
 ;internetradio 2.0 sis file
-@"ir_package_deb.sis",(0x2000B499)
+@"ir_package_deb.sis",(0x2002ffac)
 
 ;preset server
 @"package_Inc6.sis",(0x10281CB5)
--- a/qtinternetradio/install/ir3_qtinternetradio_armv5_urel.pkg	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/install/ir3_qtinternetradio_armv5_urel.pkg	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 &EN
 
 ; SIS header: name, uid, version
-#{"QtInternetRadio"},(0xE28364bb),1,0,0
+#{"QtInternetRadio"},(0x2002FFAC),1,0,0
 
 ; Localised Vendor name
 %{"Nokia, Qt Software"}
@@ -40,7 +40,7 @@
 
 
 ;internetradio 2.0 sis file
-@"IR_package.sis",(0x2000B499)
+@"IR_package.sis",(0x2002ffac)
 
 ;preset server
 @"package_Inc6.sis",(0x10281CB5)
--- a/qtinternetradio/irhswidgetplugin/irhswidgetplugin.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/irhswidgetplugin.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -33,7 +33,10 @@
 INCLUDEPATH += ../irqcommon/inc
 INCLUDEPATH += ../irqlogger/inc 
 
-UID = E257CD03
+DOCML += resource/irhswidgetmetadatarow.docml
+DOCML += resource/irhswidgettitlerow.docml
+
+UID = 2002FFE4
 RESOURCES = resources.qrc
 
 symbian: {
--- a/qtinternetradio/irhswidgetplugin/resource/irhswidgetplugin.manifest	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/resource/irhswidgetplugin.manifest	Thu Sep 02 20:17:46 2010 +0300
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <hswidgetmanifest>
     <uri>irhswidgetplugin</uri>
-    <title>txt_iradhswidget_list_fm_radio_homescreen_widget</title>
+    <title>txt_iradhswidget_list_internet_radio_widget</title>
     <description>txt_iradhswidget_list_quick_access_for_internet_radio</description>
     <icon>qtg_large_internet_radio</icon>
     <previewimage>qtg_large_internet_radio</previewimage>
--- a/qtinternetradio/irhswidgetplugin/resources.qrc	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/resources.qrc	Thu Sep 02 20:17:46 2010 +0300
@@ -1,7 +1,7 @@
 <RCC>
-    <qresource>
-        <file>resource/irhswidgetmetadatarow.docml</file>
-        <file>resource/irhswidgettitlerow.docml</file>
+    <qresource prefix="/">
+        <file alias="resource/irhswidgetmetadatarow.docml">resource/irhswidgetmetadatarow.docml.bin</file>
+        <file alias="resource/irhswidgettitlerow.docml">resource/irhswidgettitlerow.docml.bin</file>
     </qresource>
     
     <qresource>
--- a/qtinternetradio/irhswidgetplugin/rom/irhswidgetplugin.iby	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/rom/irhswidgetplugin.iby	Thu Sep 02 20:17:46 2010 +0300
@@ -19,9 +19,9 @@
 #define __IRHSWIDGETPLUGIN_IBY__
 
 file=ABI_DIR\BUILD_DIR\irhswidgetplugin.dll                                            SHARED_LIB_DIR\irhswidgetplugin.dll
-data=ZPRIVATE\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.qtplugin        private\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.qtplugin
-data=ZPRIVATE\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.manifest        private\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.manifest
-data=ZPRIVATE\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.xml             private\20022f35\import\widgetregistry\E257CD03\irhswidgetplugin.xml
+data=ZPRIVATE\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.qtplugin        private\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.qtplugin
+data=ZPRIVATE\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.manifest        private\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.manifest
+data=ZPRIVATE\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.xml             private\20022f35\import\widgetregistry\2002ffe4\irhswidgetplugin.xml
 
 
 #endif //__IRHSWIDGETPLUGIN_IBY__
--- a/qtinternetradio/irhswidgetplugin/src/irappinspector.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irappinspector.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -23,6 +23,7 @@
 // User includes
 #include "irappinspector.h"
 #include "irservicedef.h"
+#include "irqlogger.h"
 
 // Constructor
 IrAppInspector::IrAppInspector(QObject *aParent) :
@@ -32,6 +33,7 @@
                         KInternetRadioPSUid,
                         KInternetRadioStartupKey)   
 {   
+    LOG_METHOD;
     QObject::connect(mSettingsManager, SIGNAL(itemDeleted(XQSettingsKey)),
         this, SLOT(handleIrExit(XQSettingsKey)));
     QObject::connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
@@ -41,6 +43,7 @@
 // Destructor 
 IrAppInspector::~IrAppInspector()
 {
+    LOG_METHOD;
     stopInspectingIrRunningStatus();
 }
 
@@ -51,9 +54,11 @@
  */
 void IrAppInspector::handleIrExit(const XQSettingsKey &aKey)
 {
+    LOG_METHOD;
     if (KInternetRadioPSUid == aKey.uid()
          && KInternetRadioStartupKey == aKey.key())
     {
+        LOG("Internet Radio exits");
         emit irRunningStatusChanged(Exiting);
         
         // since the P&S key has been deleted, should re-start the inspecting
@@ -65,6 +70,7 @@
 void IrAppInspector::handleIrRunningStatusChanged(const XQSettingsKey &aKey,
                                                  const QVariant &aValue)
 {
+    LOG_METHOD;
     if (KInternetRadioPSUid == aKey.uid()
          && KInternetRadioStartupKey == aKey.key())
     {
@@ -72,6 +78,7 @@
         {
             if (aValue.canConvert(QVariant::Int))
             {
+                LOG("Internet Radio StartingUp");
                 emit irRunningStatusChanged(StartingUp);
             }
         }
@@ -80,16 +87,19 @@
 
 bool IrAppInspector::startInspectingIrRunningStatus()
 {
+    LOG_METHOD;
     return mSettingsManager->startMonitoring(mIrRunningStatusKey);
 }
 
 void IrAppInspector::stopInspectingIrRunningStatus()
 {
+    LOG_METHOD;
     mSettingsManager->stopMonitoring(mIrRunningStatusKey);
 }
 
 bool IrAppInspector::isIrRunning()
 {
+    LOG_METHOD;
     QVariant value = mSettingsManager->readItemValue(mIrRunningStatusKey);
     if (value.isValid())
     {
--- a/qtinternetradio/irhswidgetplugin/src/irhswidget.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irhswidget.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -46,6 +46,7 @@
       mIrState(IrAppState::Unknown),
       mIrHsWidgetState(EUnknown)
 {
+    LOG_METHOD;
     setupUi();
     initHomeSreenWidget();
     
@@ -56,6 +57,7 @@
 // Destructor
 IrHsWidget::~IrHsWidget()
 {
+    LOG_METHOD;
     if (mServiceClient)
     {
         mServiceClient->closeInstance();
@@ -72,6 +74,7 @@
 // called by kqti fw when widget is added to home screen
 void IrHsWidget::onInitialize()
 {    
+    LOG_METHOD;
     mServiceClient->startMonitoringIrState();    
 }
 
@@ -79,11 +82,13 @@
 // called by kqti fw when widget is removed from home screen
 void IrHsWidget::onUninitialize()
 {
+    LOG_METHOD;
 }
 
 // Called when widget is shown in the home screen
 void IrHsWidget::onShow()
 { 
+    LOG_METHOD;
     if (mRowLayout->count() == 2)
     {
         mMetaDataRow->startMetaDataMarquee();
@@ -93,6 +98,7 @@
 // Called when widget is hidden from the home screen
 void IrHsWidget::onHide()
 {
+    LOG_METHOD;
     if (mRowLayout->count() == 2)
     {
         mMetaDataRow->stopMetaDataMarquee();
@@ -102,6 +108,7 @@
 
 void IrHsWidget::setupUi()
 {
+    LOG_METHOD;
     setContentsMargins( KIrHsWidgetContentsMargin, KIrHsWidgetContentsMargin,
             KIrHsWidgetContentsMargin, KIrHsWidgetContentsMargin);
     
@@ -121,6 +128,7 @@
 
 void IrHsWidget::initHomeSreenWidget()
 {
+    LOG_METHOD;
     mTitleRow = new IrHsWidgetTitleRow(); 
     mMetaDataRow = new IrHsWidgetMetaDataRow();
     
@@ -149,6 +157,7 @@
 
 void IrHsWidget::resizeHomeScreenWidget()
 {
+    LOG_METHOD;
     //resize here so homescreen will place widget correctly on screen
     setPreferredSize( mRowLayout->preferredSize() );
     if (parentWidget())
@@ -160,6 +169,7 @@
     
 void IrHsWidget::setupConnection()
 {
+    LOG_METHOD;
     // signal - slot for service event
     QObject::connect(mServiceClient, SIGNAL(stationNameUpdated(QString)),
         this, SLOT(handleStationNameUpdated(QString)));
@@ -177,12 +187,15 @@
 
 void IrHsWidget::launchNowplayingView()
 {
+    LOG_METHOD;
     mServiceClient->launchIrNowPlaying();  
 }
 
 // ================ handle user press event ===============
 void IrHsWidget::handleCommonAreaAction()
 {
+    LOG_METHOD;
+    LOG_FORMAT("mIrState = %d", mIrState);
     switch (mIrState)
     {
         case IrAppState::NoRunInit:
@@ -205,7 +218,8 @@
 
 void IrHsWidget::handleControlAreaAction()
 {
-    LOG("IrHsWidget::handleControlAreaAction()");
+    LOG_METHOD;
+    LOG_FORMAT("mIrState = %d", mIrState);
     //here, for we will control the application by homescreen, 
     //to avoid repeat actions, we disable all control event here
     //and enable them when state changed or failed.      
@@ -238,7 +252,8 @@
 
 void IrHsWidget::handleControlFailed()
 { 
-    LOG("handleControlFailed()");
+    LOG_METHOD;
+    LOG_FORMAT("mIrHsWidgetState = %d", mIrHsWidgetState);
     enableUserAction();
     switch (mIrHsWidgetState)
     {
@@ -267,30 +282,39 @@
 // ======== for service notification ========
 void IrHsWidget::handleStationNameUpdated(const QString &aStationName)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aStationName = %s", STRING2CHAR(aStationName));
     mTitleRow->setStationName(aStationName);
 }
 
 void IrHsWidget::handleStationLogoUpdated(bool aLogoAvailable)
 {    
+    LOG_METHOD;
     if (aLogoAvailable)
     {
+        LOG( "aLogoAvailable = true" );
         mTitleRow->loadStationLogo();
     }
     else
     {
+        LOG( "aLogoAvailable = false" );
         mTitleRow->setDefaultLogo();
     }
 }
 
 void IrHsWidget::handleMetaDataUpdated(const QString &aMetaData)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aMetaData = %s", STRING2CHAR(aMetaData));
     mMetaDataRow->setMetaData(aMetaData); 
 }
 
 
 void IrHsWidget::handleIrStateUpdated(IrAppState::Type aNewState)
 {
-    LOG("IrHsWidget::handleIrStateUpdated()");
+    LOG_METHOD;
+    LOG_FORMAT("mIrState = %d", mIrState);
+    LOG_FORMAT("aNewState = %d", aNewState);
     enableUserAction();
     if (aNewState == mIrState)
     {
@@ -325,6 +349,9 @@
 
 void IrHsWidget::handleHsWidgetStateChange(IrHsWidgetState aNewState)
 {
+    LOG_METHOD;
+    LOG_FORMAT("mIrHsWidgetState = %d", mIrHsWidgetState);
+    LOG_FORMAT("aNewIrHsWidgetState = %d", aNewState);    
     if (aNewState == mIrHsWidgetState)
     {
         return;
@@ -356,6 +383,7 @@
 // LAF == [logo][go to interneat radio]
 void IrHsWidget::loadInitLayout()
 {
+    LOG_METHOD;
     if (mRowLayout->count() == 2)
     {
         mRowLayout->removeItem(mMetaDataRow);
@@ -368,6 +396,7 @@
 // LAF == [logo][StationInfo][Play]
 void IrHsWidget::loadStoppedLayout()
 {
+    LOG_METHOD;
     if (mRowLayout->count() == 1)
     {
         mRowLayout->addItem(mMetaDataRow);
@@ -380,6 +409,7 @@
 // LAF == [logo][StationInfo][Stop]
 void IrHsWidget::loadPlayingLayout()
 {
+    LOG_METHOD;
     if (mRowLayout->count() == 1)
     {
         mRowLayout->addItem(mMetaDataRow);
@@ -392,6 +422,7 @@
 // LAF == [logo][StationInfo][Loading]
 void IrHsWidget::loadLoadingLayout()
 {
+    LOG_METHOD;
     if (mRowLayout->count() == 1)
     {
         mRowLayout->addItem(mMetaDataRow);
@@ -405,6 +436,7 @@
 
 void IrHsWidget::enableUserAction()
 {
+    LOG_METHOD;
     if (!mUserActionEnabled)
     {
         mUserActionEnabled = true;
@@ -420,6 +452,7 @@
 
 void IrHsWidget::disableUserAction()
 {
+    LOG_METHOD;
     if (mUserActionEnabled)
     {    
         mUserActionEnabled = false;
--- a/qtinternetradio/irhswidgetplugin/src/irhswidgetmetadatarow.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irhswidgetmetadatarow.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -28,6 +28,7 @@
 // User includes
 #include "irhswidgetmetadatarow.h"
 #include "irhswidgetuiloader.h"
+#include "irqlogger.h"
 
 // Constants
 static const QString KIrHsWidgetMetaDataRowDocML       = ":/resource/irhswidgetmetadatarow.docml";
@@ -57,6 +58,7 @@
     mControlLayout(NULL),
     mControlLabel(NULL)
 {
+    LOG_METHOD;
     HbStyleLoader::registerFilePath(KIrHsWidgetCss);
     
     loadUi();
@@ -67,11 +69,13 @@
 
 IrHsWidgetMetaDataRow::~IrHsWidgetMetaDataRow()
 {
+    LOG_METHOD;
     HbStyleLoader::unregisterFilePath(KIrHsWidgetCss);
 }
 
 void IrHsWidgetMetaDataRow::loadUi()
 {
+    LOG_METHOD;
     IRHsWidgetUiLoader loader;
     loader.load(KIrHsWidgetMetaDataRowDocML);
 
@@ -93,7 +97,9 @@
 }
 
 void IrHsWidgetMetaDataRow::setMetaData(const QString &aMetaData)
-{      
+{
+    LOG_METHOD;
+    LOG_FORMAT("aMetaData = %s", STRING2CHAR(aMetaData));
     if (mMetaData->text() != aMetaData)
     {
         mMetaData->setText(aMetaData);
@@ -110,6 +116,7 @@
 
 void IrHsWidgetMetaDataRow::startMetaDataMarquee()
 {    
+    LOG_METHOD;
     if (!mMetaData->text().isEmpty())
     {
         mMetaData->startAnimation();        
@@ -118,26 +125,31 @@
     
 void IrHsWidgetMetaDataRow::stopMetaDataMarquee()
 {
+    LOG_METHOD;
     mMetaData->stopAnimation(); 
 }   
 
 void IrHsWidgetMetaDataRow::setPlayIcon()
 {
+    LOG_METHOD;
     mControlLabel->setIcon(KPlayButtonIcon);
 }
     
 void IrHsWidgetMetaDataRow::setStopIcon()
 {
+    LOG_METHOD;
     mControlLabel->setIcon(KStopButtonIcon);
 }
     
 void IrHsWidgetMetaDataRow::setLoadingIcon()
 {
+    LOG_METHOD;
     mControlLabel->setIcon(mLoadingIcon);
 }    
     
 void IrHsWidgetMetaDataRow::createLoadingIcon()
 {
+    LOG_METHOD;
     HbIconAnimationManager *animationManager = HbIconAnimationManager::global();
     HbIconAnimationDefinition animationDefinition;
     HbIconAnimationDefinition::AnimationFrame animationFrame;
@@ -162,6 +174,7 @@
 
 void IrHsWidgetMetaDataRow::gestureEvent(QGestureEvent *aEvent)
 {
+    LOG_METHOD;
     HbTapGesture *tapGesture = qobject_cast<HbTapGesture *>(aEvent->gesture(Qt::TapGesture));
     if (!tapGesture)
     {
@@ -175,10 +188,12 @@
         QPointF tapLocalPoint = mControlLayout->sceneTransform().inverted().map(tapScenePoint);
         if (mControlLayout->contains(tapLocalPoint))
         {
+            LOG("emit controlAreaClicked()");
             emit controlAreaClicked();
         }
         else
         {
+            LOG("emit metaDataAreaClicked()");
             emit metaDataAreaClicked();
         }
     }
@@ -189,6 +204,7 @@
 //
 void IrHsWidgetMetaDataRow::changeEvent(QEvent *event)
 {
+    LOG_METHOD;
     if (HbEvent::ThemeChanged == event->type())
     {
         // get the text color from theme and 
--- a/qtinternetradio/irhswidgetplugin/src/irhswidgetplugin.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irhswidgetplugin.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -21,7 +21,7 @@
 
 #include "irhswidgetplugin.h"
 #include "irhswidget.h"
-
+#include "irqlogger.h"
 
 /*!
     Initialize plugin for Internet Radio home screen widget. Contains necessary information about
@@ -31,6 +31,7 @@
                                              QServiceContext *aContext,
                                              QAbstractSecuritySession *aSession)
 {
+    LOG_METHOD;
     Q_UNUSED(aContext);
     Q_UNUSED(aSession);
 
--- a/qtinternetradio/irhswidgetplugin/src/irhswidgettitlerow.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irhswidgettitlerow.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -28,6 +28,7 @@
 #include "irhswidgettitlerow.h"
 #include "irservicedef.h"
 #include "irhswidgetuiloader.h"
+#include "irqlogger.h"
 
 // Constants
 static const QString KIrHsWidgetTitleRowDocML       = ":/resource/irhswidgettitlerow.docml";
@@ -46,16 +47,19 @@
     mStationLogo(NULL), 
     mStationName(NULL)
 {
+    LOG_METHOD;
     loadUi();
     grabGesture(Qt::TapGesture);
 }
 
 IrHsWidgetTitleRow::~IrHsWidgetTitleRow()
 {
+    LOG_METHOD;
 }
 
 void IrHsWidgetTitleRow::loadUi()
 {
+    LOG_METHOD;
     IRHsWidgetUiLoader loader;
     loader.load(KIrHsWidgetTitleRowDocML);
 
@@ -77,6 +81,7 @@
 
 void IrHsWidgetTitleRow::setDefaultTitle()
 {
+    LOG_METHOD;
 #ifdef SUBTITLE_STR_BY_LOCID 
     mStationName->setPlainText(hbTrId("txt_ir_list_internet_radio"));
 #else
@@ -86,6 +91,8 @@
 
 void IrHsWidgetTitleRow::setStationName(const QString& aStationName)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aStationName = %s", STRING2CHAR(aStationName));
     if (mStationName->plainText() != aStationName)
     {
         mStationName->setPlainText(aStationName);
@@ -94,6 +101,7 @@
     
 void IrHsWidgetTitleRow::loadStationLogo()
 {
+    LOG_METHOD;
     QSettings settings(KIrSettingOrganization, KIrSettingApplication);
     if (settings.value(KIrSettingStationLogo).canConvert<QPixmap>())
     {
@@ -101,18 +109,21 @@
         QPixmap newLogoPixmap = 
              logoPixmap.scaled(QSize(KIrHsWidgetLogoSize,KIrHsWidgetLogoSize),Qt::KeepAspectRatio);
         QIcon logoQIcon(newLogoPixmap);
-        HbIcon logoHbIcon(logoQIcon);            
+        HbIcon logoHbIcon(logoQIcon); 
+        LOG("station logo loaded succesfully");
         mStationLogo->setIcon(logoHbIcon);
     }  
 }
 
 void IrHsWidgetTitleRow::setDefaultLogo()
 {
+    LOG_METHOD;
     mStationLogo->setIcon(KDefaultStationLogo);
 }
 
 void IrHsWidgetTitleRow::gestureEvent(QGestureEvent *aEvent)
 {
+    LOG_METHOD;
     HbTapGesture *tapGesture = qobject_cast<HbTapGesture *>(aEvent->gesture(Qt::TapGesture));
     if (!tapGesture)
     {
@@ -122,6 +133,7 @@
     if (Qt::GestureFinished == tapGesture->state()
         && HbTapGesture::Tap == tapGesture->tapStyleHint())
     {
+        LOG("emit titleRowClicked()");
         emit titleRowClicked();
     }
 }
@@ -131,6 +143,7 @@
 //
 void IrHsWidgetTitleRow::changeEvent(QEvent *event)
 {
+    LOG_METHOD;
     if (HbEvent::ThemeChanged == event->type())
     {
         // get the text color from theme and 
--- a/qtinternetradio/irhswidgetplugin/src/irserviceclient.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irhswidgetplugin/src/irserviceclient.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -27,6 +27,7 @@
 // User includes
 #include "irserviceclient.h"
 #include "irservicedata.h"
+#include "irqlogger.h"
 
 // Constants
 // For services via Qt HighWay
@@ -49,6 +50,7 @@
 // Static function to get a singleton instance of IrServiceClient
 IrServiceClient* IrServiceClient::openInstance()
 {
+    LOG_METHOD;
     mMutex.lock();
     if (NULL == mInstatnce)
     {
@@ -65,6 +67,7 @@
 // Close a singleton instance of IrServiceClient
 void IrServiceClient::closeInstance()
 {
+    LOG_METHOD;
     if (mInstatnce != NULL)
     {
         mMutex.lock();
@@ -90,6 +93,7 @@
     mRefreshRequest(NULL),
     mControlRequest(NULL)
 {
+    LOG_METHOD;
     mIrAppInspector = new IrAppInspector(this);
     
     QObject::connect(mIrAppInspector, SIGNAL(irRunningStatusChanged(IrAppInspector::IrRunningStatus)),
@@ -99,6 +103,7 @@
 // Destructor
 IrServiceClient::~IrServiceClient()
 {   
+    LOG_METHOD;
     delete mMonitorRequest;
     mMonitorRequest = NULL;
     
@@ -111,6 +116,7 @@
 
 bool IrServiceClient::startMonitoringIrState()
 {
+    LOG_METHOD;
     if (mMonitoringStarted)
     {
         refreshAllActiveHsWidgets();
@@ -142,6 +148,7 @@
 
 void IrServiceClient::initHsWidgetNoRunStopped()
 {    
+    LOG_METHOD;
     QString stationName;
     if (loadStationName(stationName))
     {
@@ -163,6 +170,7 @@
 
 void IrServiceClient::refreshAllActiveHsWidgets()
 {
+    LOG_METHOD;
     emit stationNameUpdated(mStationName);
     emit stationLogoUpdated(mStationLogoAvailable);
     emit metaDataUpdated(mMetaData);
@@ -174,6 +182,7 @@
 *******************************************************************/
 bool IrServiceClient::doSendMonitorRequest()
 {
+    LOG_METHOD;
     if(mMonitorReqOngoing)
     {
         return false;
@@ -191,6 +200,7 @@
 
 bool IrServiceClient::createMonitorServiceRequest()
 {
+    LOG_METHOD;
     bool retVal = false;
 
     if (NULL == mMonitorRequest)
@@ -224,6 +234,7 @@
 // ==================== Refresh Service Request ===========================
 bool IrServiceClient::doSendRefreshRequest()
 {
+    LOG_METHOD;
     if(mMonitorReqOngoing)
     {
         return false;
@@ -241,6 +252,7 @@
 
 bool IrServiceClient::createRefreshServiceRequest()
 {
+    LOG_METHOD;
     bool retVal = false;
 
     if (NULL == mRefreshRequest)
@@ -273,6 +285,7 @@
 
 void IrServiceClient::handleMonitorRequestOk(const QVariant &aRetValue)
 {
+    LOG_METHOD;
     mMonitorReqOngoing = false;
     
     doSendMonitorRequest();
@@ -291,6 +304,9 @@
 
 void IrServiceClient::handleMonitorRequestError(int aErrCode, const QString &aErrMessage)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aErrCode = %d", aErrCode);
+    LOG_FORMAT("aErrMessage = %s", STRING2CHAR(aErrMessage));
     mMonitorReqOngoing = false;
     
     Q_UNUSED(aErrCode);
@@ -302,6 +318,7 @@
 *******************************************************************/
 bool IrServiceClient::bringIrForeground()
 {
+    LOG_METHOD;
     QVariant commandArgument(QVariant::Int);
     commandArgument.setValue((int)IrServiceCmd::Foreground);
     return doSendControlRequest(commandArgument, true, ToForeground);
@@ -316,6 +333,7 @@
 
 bool IrServiceClient::launchIrNowPlaying()
 {
+    LOG_METHOD;
     QVariant commandArgument(QVariant::Int);
     commandArgument.setValue((int)IrServiceCmd::LaunchNowPlayingView);
     return doSendControlRequest(commandArgument, false, ToBackground);
@@ -324,6 +342,7 @@
 
 bool IrServiceClient::startPlaying()
 {
+    LOG_METHOD;
     QVariant commandArgument(QVariant::Int);
     commandArgument.setValue((int)IrServiceCmd::Play);
     return doSendControlRequest(commandArgument, true, DoNotChange);
@@ -332,6 +351,7 @@
 
 bool IrServiceClient::stopPlaying()
 {
+    LOG_METHOD;
     QVariant commandArgument(QVariant::Int);
     commandArgument.setValue((int)IrServiceCmd::Stop);
     return doSendControlRequest(commandArgument, true, DoNotChange);
@@ -339,6 +359,7 @@
 
 bool IrServiceClient::cancelLoading()
 {
+    LOG_METHOD;
     QVariant commandArgument(QVariant::Int);
     commandArgument.setValue((int)IrServiceCmd::Cancel);
     return doSendControlRequest(commandArgument, true, DoNotChange);
@@ -346,6 +367,7 @@
 
 bool IrServiceClient::doSendControlRequest(const QVariant &aArgument, bool aIsSync, IrAppVisibilty aVisibility)
 {
+    LOG_METHOD;
     if(mControlReqOngoing)
     {
         return false;
@@ -368,6 +390,7 @@
 
 bool IrServiceClient::createControlServiceRequest()
 {
+    LOG_METHOD;
     bool retVal = false;
 
     if (NULL == mControlRequest)
@@ -399,6 +422,7 @@
 
 void IrServiceClient::handleControlRequestOk(const QVariant &aRetValue)
 {
+    LOG_METHOD;
     mControlReqOngoing = false;    
     
     if (aRetValue.isValid()
@@ -413,6 +437,10 @@
 
 void IrServiceClient::handleControlRequestError(int aErrCode, const QString &aErrMessage)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aErrCode = %d", aErrCode);
+    LOG_FORMAT("aErrMessage = %s", STRING2CHAR(aErrMessage));  
+    
     mControlReqOngoing = false;
     
     emit controlFailed();
@@ -427,6 +455,8 @@
 // used to monitor the startup / exit of IR
 void IrServiceClient::handleIrRunningStatusChanged(IrAppInspector::IrRunningStatus aNewStatus)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aNewIrRunningStatusStatus = %d", aNewStatus);
     switch (aNewStatus)
     {
         case IrAppInspector::StartingUp :
@@ -458,6 +488,7 @@
 
 void IrServiceClient::clearMonitorServiceRequest()
 {
+    LOG_METHOD;
     delete mMonitorRequest;
     mMonitorRequest = NULL;
 
@@ -468,6 +499,7 @@
 // used to process service data sent from IR app.
 void IrServiceClient::processNotificationData(const IrServiceData &aServiceData)
 {
+    LOG_METHOD;
     QVariant data = aServiceData.mData;
     if (!data.isValid())
     {
@@ -476,6 +508,7 @@
     switch (aServiceData.mType)
     {
         case IrServiceNotification::StationName:
+            LOG("aServiceData = StationName");
             if (data.canConvert(QVariant::String))
             {
                 notifyStationNameUpdated(data.toString());
@@ -483,6 +516,7 @@
             break;
 
         case IrServiceNotification::MetaData:
+            LOG("aServiceData = MetaData");
             if (data.canConvert(QVariant::String))
             {
                 notifyMetaDataUpdated(data.toString());
@@ -490,6 +524,7 @@
             break;
 
         case IrServiceNotification::StationLogo:
+            LOG("aServiceData = StationLogo");
             if (data.canConvert(QVariant::Bool))
             {
                 notifyStationLogoUpdated(data.toBool());
@@ -497,6 +532,7 @@
             break;
 
         case IrServiceNotification::IrState:
+            LOG("aServiceData = IrState");
             if (data.canConvert(QVariant::Int))
             {
                 notifyIrStateChanged((IrAppState::Type)data.toInt());
@@ -512,6 +548,8 @@
 // prepare the request send to IR app, including control request, refresh request, monitor request.
 void IrServiceClient::prepareRequestInfo(XQAiwRequest *aRequest, IrAppVisibilty aVisibility)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aVisibility = %d", aVisibility);
     if (NULL == aRequest)
     {
         return;
@@ -537,30 +575,39 @@
 
 void IrServiceClient::notifyStationNameUpdated(const QString &aStationName)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aStationName = %s", STRING2CHAR(aStationName));
     mStationName = aStationName;
     emit stationNameUpdated(mStationName);
 }
 
 void IrServiceClient::notifyStationLogoUpdated(bool aIsLogoAvailable)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aIsLogoAvailable = %d", aIsLogoAvailable);
     mStationLogoAvailable = aIsLogoAvailable;
     emit stationLogoUpdated(mStationLogoAvailable);    
 }
 
 void IrServiceClient::notifyMetaDataUpdated(const QString &aMetaData)
 {
+    LOG_METHOD;
+    LOG_FORMAT("aMetaData = %s", STRING2CHAR(aMetaData));
     mMetaData = aMetaData;
     emit metaDataUpdated(mMetaData);    
 }
 
 void IrServiceClient::notifyIrStateChanged(IrAppState::Type aNewState)
 {
+    LOG_METHOD;
+    LOG_FORMAT("mIrHsWidgetState = %d", aNewState);
     mIrState = aNewState;
     emit irStateChanged(mIrState);    
 }       
         
 bool IrServiceClient::isStationPlayed()
 {
+    LOG_METHOD;
     QSettings settings(KIrSettingOrganization, KIrSettingApplication);
     QString stationName = settings.value(KIrSettingStationName,KIrDefaultStationName).toString();
     return stationName != KIrDefaultStationName;
@@ -568,14 +615,17 @@
 
 bool IrServiceClient::loadStationLogoFlag()
 {
+    LOG_METHOD;
     QSettings settings(KIrSettingOrganization, KIrSettingApplication);
     return settings.value(KIrSettingStationLogoAvailable,false).toBool();
 }
 
 bool IrServiceClient::loadStationName(QString &aStationName)
 {
+    LOG_METHOD;
     QSettings settings(KIrSettingOrganization, KIrSettingApplication);
     aStationName = settings.value(KIrSettingStationName,KIrDefaultStationName).toString();
+    LOG_FORMAT("aStationName = %s", STRING2CHAR(aStationName));
     if(aStationName != KIrDefaultStationName)
     {
         return true;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/irqcommon/inc/irquid3.hrh	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef	__IRQUID3_H__
+#define	__IRQUID3_H__
+
+#define UID3_INTERNET_RADIO_10_1_EXE        0x2002FFAC
+#define UID3_IRQUTILITY_DLL                 0x2002FFBB
+#define UID3_IRQFAVORITES_DLL               0x2002FFBC
+#define UID3_IRQISDSCLIENT_DLL              0x2002FFBD
+#define UID3_IRQLOGGER_DLL                  0x2002FFBE
+#define UID3_IRQMEDIAPLAYER_DLL             0x2002FFBF
+#define UID3_IRQNETWORKCONTROLLER_DLL       0x2002FFC0
+#define UID3_IRQNWKINFOOBSERVER_DLL         0x2002FFC1
+#define UID3_IRQSETTINGS_DLL                0x2002FFC2
+#define UID3_IRQSONGHISTORY_DLL             0x2002FFC3
+#define UID3_IRQSTATISTICSREPORTER_DLL      0x2002FFC4
+#define UID3_IRQSYSTEMEVENTHANDLER_DLL      0x2002FFC5  
+#define UID3_IRHSWIDGETPLUGIN_DLL      		0x2002FFE4
+
+
+#define STR_UID3_INTERNET_RADIO_10_1_EXE        "2002FFAC"
+#define STR_UID3_IRQUTILITY_DLL                 "2002FFBB"
+#define STR_UID3_IRQFAVORITES_DLL               "2002FFBC"
+#define STR_UID3_IRQISDSCLIENT_DLL              "2002FFBD"
+#define STR_UID3_IRQLOGGER_DLL                  "2002FFBE"
+#define STR_UID3_IRQMEDIAPLAYER_DLL             "2002FFBF"
+#define STR_UID3_IRQNETWORKCONTROLLER_DLL       "2002FFC0"
+#define STR_UID3_IRQNWKINFOOBSERVER_DLL         "2002FFC1"
+#define STR_UID3_IRQSETTINGS_DLL                "2002FFC2"
+#define STR_UID3_IRQSONGHISTORY_DLL             "2002FFC3"
+#define STR_UID3_IRQSTATISTICSREPORTER_DLL      "2002FFC4"
+#define STR_UID3_IRQSYSTEMEVENTHANDLER_DLL      "2002FFC5"  
+#define STR_UID3_IRHSWIDGETPLUGIN_DLL      		"2002FFE4"
+
+
+
+#endif //__IRQUID3_H__
+
--- a/qtinternetradio/irqcommon/inc/irservicedef.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqcommon/inc/irservicedef.h	Thu Sep 02 20:17:46 2010 +0300
@@ -19,6 +19,8 @@
 #define IRSERVICEDEF_H
 
 #include <QString>
+#include "irquid3.hrh"
+
 
 // For settings via QSetting
 static const QString KIrSettingOrganization = "nokia.s60.mymex";
@@ -30,7 +32,7 @@
  
 
 // For P&S XQSettingsManager
-const long int KInternetRadioPSUid = 0xE28364bb;   // Internet Radio's UID3
+const long int KInternetRadioPSUid = UID3_INTERNET_RADIO_10_1_EXE;   // Internet Radio's UID3
 const unsigned long int KInternetRadioStartupKey = 0x00000035;  // a empty slot in internetradio2.0\include\irpubsubkeys.h
 
 
--- a/qtinternetradio/irqcommon/irqcommon.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqcommon/irqcommon.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -39,7 +39,7 @@
         -lpsclient100
         
 symbian{
-  TARGET.UID3 = 0xef3c4675
+  TARGET.UID3 = 0x2002FFBB
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqfavoritesdb/irqfavoritesdb.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqfavoritesdb/irqfavoritesdb.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -39,7 +39,7 @@
         -lpsclient100
 
 symbian{
-  TARGET.UID3 = 0xecbde2d8
+  TARGET.UID3 = 0x2002FFBC
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqisdsclient/irqisdsclient.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqisdsclient/irqisdsclient.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -60,7 +60,7 @@
   
 
 symbian{
-  TARGET.UID3 = 0xec6ecb67
+  TARGET.UID3 = 0x2002FFBD
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqlogger/irqlogger.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqlogger/irqlogger.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -33,7 +33,7 @@
 LIBS += -lflogger
         
 symbian{
-  TARGET.UID3 = 0xEc6eac02
+  TARGET.UID3 = 0x2002FFBE
   TARGET.EPOCALLOWDLLDATA = 1
   TARGET.CAPABILITY += CAP_GENERAL_DLL
   MMP_RULES += SMPSAFE
--- a/qtinternetradio/irqmediaplayer/irqmediaplayer.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqmediaplayer/irqmediaplayer.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -37,7 +37,7 @@
 MOC_DIR = moc
 
 symbian{
-  TARGET.UID3 = 0xea3ed061
+  TARGET.UID3 = 0x2002FFBF
   TARGET.EPOCALLOWDLLDATA = 1
   TARGET.VID = VID_DEFAULT
   MMP_RULES += SMPSAFE
--- a/qtinternetradio/irqnetworkcontroller/irqnetworkcontroller.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqnetworkcontroller/irqnetworkcontroller.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -33,7 +33,7 @@
 LIBS += -lirnetworkcontroller -lnetmeta
 
 symbian{
-  TARGET.UID3 = 0xe71db754
+  TARGET.UID3 = 0x2002FFC0
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqnwkinfoobserver/irqnwkinfoobserver.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqnwkinfoobserver/irqnwkinfoobserver.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -25,7 +25,7 @@
 INCLUDEPATH += inc
 
 symbian{
-  TARGET.UID3 = 0xe906e618
+  TARGET.UID3 = 0x2002FFC1
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqsettings/irqsettings.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqsettings/irqsettings.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -29,7 +29,7 @@
 LIBS += -lxqsettingsmanager
 
 symbian{
-  TARGET.UID3 = 0xe7437cbb
+  TARGET.UID3 = 0x2002FFC2
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqsonghistory/irqsonghistory.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqsonghistory/irqsonghistory.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -31,7 +31,7 @@
 MOC_DIR = moc
 
 symbian{
-  TARGET.UID3 = 0xe009dfe1
+  TARGET.UID3 = 0x2002FFC3
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 }
--- a/qtinternetradio/irqstatisticsreporter/irqstatisticsreporter.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqstatisticsreporter/irqstatisticsreporter.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -20,7 +20,7 @@
 defFilePath = ..
 
 symbian{
-  TARGET.UID3 = 0xe3801560
+  TARGET.UID3 = 0x2002FFC4
   TARGET.EPOCALLOWDLLDATA = 1
   TARGET.CAPABILITY = CAP_GENERAL_DLL
   SYMBIAN_PLATFORMS = WINSCW ARMV5
--- a/qtinternetradio/irqsystemeventhandler/irqsystemeventhandler.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/irqsystemeventhandler/irqsystemeventhandler.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -48,7 +48,7 @@
            src/irqsystemeventhandler_p.cpp         
 
 symbian{
-  TARGET.UID3 = 0xEa421d0b
+  TARGET.UID3 = 0x2002FFC5
   TARGET.EPOCALLOWDLLDATA = 1
   MMP_RULES += SMPSAFE
 } 
--- a/qtinternetradio/ui/inc/irabstractlistviewbase.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irabstractlistviewbase.h	Thu Sep 02 20:17:46 2010 +0300
@@ -60,9 +60,7 @@
 
     //from base
     TIRHandleResult handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason);
-
-    void lazyInit();
-    
+   
 protected slots:
     virtual void handleOrientationChanged(Qt::Orientation aOrientation);
     
--- a/qtinternetradio/ui/inc/irapplication.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irapplication.h	Thu Sep 02 20:17:46 2010 +0300
@@ -99,14 +99,17 @@
     
 signals:
     void quit();
-
+    void applicationReady();
+    
 private slots:
     //connect to signal 'networkEventNotified' from IRQNetworkController
     void networkEventNotified(IRQNetworkEvent aEvent);
     void cancelConnect();
     void loadGenre();     
     void handleDiskSpaceLow(qint64 aCriticalLevel);
+#ifdef TERMS_CONDITIONS_VIEW_ENABLED    
     void handleTermsConsAccepted();
+#endif    
     void handleCallActivated();
     void handleCallDeactivated();
     void handleHeadsetConnected();
--- a/qtinternetradio/ui/inc/irbaseview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irbaseview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -58,9 +58,7 @@
     void setUseNetworkReason(TIRUseNetworkReason aReason);
         
     TIRUseNetworkReason getUseNetworkReason() const;
-        
-    virtual void lazyInit();
-    
+            
 protected:
     IRBaseView(IRApplication *aApplication, TIRViewId aViewId);
 
@@ -68,10 +66,6 @@
 
     void popupNote(const QString &aNote, const HbMessageBox::MessageBoxType &aNoteType) const;
     
-    void setInitCompleted(bool aFlag);
-    
-    bool initCompleted() const;
-    
 protected:
     IRApplication* iApplication;
     
@@ -87,7 +81,6 @@
     TViewFlags     iFlags;
     TIRViewId      iViewId;
     TIRUseNetworkReason iUseNetworkReason;
-    bool iInitCompleted;
 };
 
 Q_DECLARE_OPERATORS_FOR_FLAGS(IRBaseView::TViewFlags)
--- a/qtinternetradio/ui/inc/ircategoryview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/ircategoryview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -67,10 +67,6 @@
     
     void disconnectIsdsClient();
     
-    void lazyInit();
-    
-    void normalInit();
-    
 private:
     int iLastSelectItem;
     IRCategoryModel *iModel;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/inc/irchanneldataprovider.h	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef IRCHANNELDATAPROVIDER_H
+#define IRCHANNELDATAPROVIDER_H
+
+#include <hgwidgets/hgdataprovidermodel.h>
+
+class IRQChannelItem;
+class IRQPreset;
+class IRQIsdsClient;
+
+const int KCacheSize = 50;
+const int KCacheThreshold = 20;
+
+class IRChannelDataProvider : public HgDataProviderModel
+{
+Q_OBJECT
+    
+public:
+    IRChannelDataProvider(QObject *aParent);
+    ~IRChannelDataProvider();
+    
+    void activate();
+    void deactivate();
+    IRQChannelItem* getChannelItemByIndex(int aIndex);
+    
+signals:
+    void dataAvailable();
+
+protected:
+    //from HgDataProviderModel
+    void doReleaseData(QList<int> aList, bool aSilent);
+    void doRequestData(QList<int> aList, bool aSilent);  
+    QVariant defaultIcon() const;  
+    void doResetModel();
+    
+private slots:
+    void updateData(QList<IRQChannelItem*> *aPushItemsList);
+    void presetLogoDownload(IRQPreset* aPreset);
+    void presetLogoDownloadError();
+    void downloadNextLogo();
+    
+private:
+    void startDownloading(int aIndex);
+    void clearAndDestroyItems();
+    void clearAndDestroyLogos();
+    
+private:
+    QList<IRQChannelItem*> *iChannelList;
+    QVariant iDefaultLogo;
+    QMap<int, HbIcon*>     iLogos;  //save the downloaded logos
+    QList<int> iRequestedItems; //save the indexes of requested items
+    IRQPreset *iLogoPreset;
+    QTimer *iLogoDownloadTimer;
+    IRQIsdsClient *iIsdsClient;
+    
+    bool iActivated;
+};
+
+#endif
--- a/qtinternetradio/ui/inc/irfavoritesview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irfavoritesview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -75,10 +75,6 @@
     
     void initToolBar();
     
-    void lazyInit();
-    
-    void normalInit();
-    
 private:
     
     IRStationShare    *iStationShare;
--- a/qtinternetradio/ui/inc/irmainview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irmainview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -55,11 +55,7 @@
  
     //from base class IRBaseView
     void updateView();
-    
-    void lazyInit();
-    
-    void normalInit();
-    
+
 private:
     IRMainModel *iMainModel;
 
--- a/qtinternetradio/ui/inc/irnowplayingview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irnowplayingview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -63,6 +63,7 @@
     
     // slots for orientation change
     void handleOrientationChanged(Qt::Orientation);    
+    void handleGeometryChanged();
     
     // slots for play controller
     void handlePlayStarted();
@@ -90,13 +91,7 @@
     // so make it as slot connected to a single timer.
     void updateAdvImage();
 #endif
-    
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-    void handleDummySongIdentify();
-    void handleDummyGoToNms();
-    void handleDummyFindInNms();
-#endif
-    
+   
 private:
     void initialize();
     void initMenu();
@@ -110,9 +105,7 @@
     
     void updateStationLogo();	
     void loadStationLogo();
-    
-    void lazyInit();
-    void normalInit();
+
     
 #ifdef ADV_ENABLED
     void mousePressEvent(QGraphicsSceneMouseEvent *aEvent);
--- a/qtinternetradio/ui/inc/iropenwebaddressview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/iropenwebaddressview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -53,6 +53,10 @@
     bool eventFilter(QObject *object, QEvent *event);
     void hideVkb();
 
+private:
+    // from HbWidgetBase
+    void gestureEvent(QGestureEvent *aEvent);
+    
 private slots:
     // play this station
     void play();
--- a/qtinternetradio/ui/inc/irplsview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irplsview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -35,15 +35,14 @@
     
 private slots:
     void networkRequestNotified(IRQNetworkEvent aEvent);
-    void actionClicked(HbAction *aAction);
     
 private:
     //from base class IrAbstractListViewBase
 #ifdef HS_WIDGET_ENABLED	
     void itemAboutToBeSelected(bool &aNeedNetwork);    
 #endif
-    void handleItemSelected();
-    void listViewLongPressed(HbAbstractViewItem *aItem, const QPointF &aCoords);    
+    void handleItemSelected();   
+    void prepareMenu();
     
 private:
     IRPlsModel *iPlsModel;
--- a/qtinternetradio/ui/inc/irsearchchannelsview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irsearchchannelsview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -52,9 +52,7 @@
     void switch2InitState();  
     void loadLayout();
     void handleItemSelected();    
-    void normalInit();
     void initMenu();
-    void lazyInit();
     void startConvert(int aIndex);   
     void initTimer();
     bool eventFilter(QObject *object, QEvent *event);
@@ -74,6 +72,7 @@
     void presetLogoDownload(IRQPreset* aPreset);
     void presetLogoDownloadError();
     void hideVkb();
+    void showVkb();
 
 public slots:    
     //this slot is used to back to previouse view or minimize the search widget
--- a/qtinternetradio/ui/inc/irstationsview.h	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/inc/irstationsview.h	Thu Sep 02 20:17:46 2010 +0300
@@ -22,7 +22,7 @@
 #include "irqevent.h"
  
 class IRQPreset;
-class IrChannelModel;
+class IRChannelDataProvider;
 class QTimer;
 
 class IRStationsView : public IrAbstractListViewBase
@@ -46,11 +46,7 @@
     
 private slots:  
     void presetResponse(IRQPreset *aPreset);
-    
-    void presetLogoDownload(IRQPreset* aPreset);
-    
-    void presetLogoDownloadError();
-    
+   
     void networkRequestNotified(IRQNetworkEvent aEvent);
     
     void dataChanged();
@@ -58,9 +54,6 @@
     //used for connect signal from isds client
     void operationException(IRQError aError);
     
-    //to start the convertion 
-    void convertAnother();
-    
     void connectTimeOut(); 
   
     void cancelRequest();
@@ -70,22 +63,15 @@
     void storeCurrentItem();
     void handleItemSelected();
     
-    void startConvert(int aIndex); 
-    
-    void cleanupResource();   
-    
     void connectToIsdsClient();
     
     void disconnectIsdsClient();
     
 private:
-    IRQPreset *iLogoPreset;
     IRQPreset *iPreset; //the object is created by IsdsClient, but application is responsible for free
     int iLastSelectitem;
     
-    //the following are used to support the img
-    QList<int> iIconIndexArray;
-    IrChannelModel *iChannelModel;
+    IRChannelDataProvider *iDataProvider;
     QTimer *iConnectTimer;
     
     friend class IRViewManager;
--- a/qtinternetradio/ui/resources/irui.qrc	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/resources/irui.qrc	Thu Sep 02 20:17:46 2010 +0300
@@ -1,12 +1,15 @@
 <!DOCTYPE RCC><RCC version="1.0">
 
-<qresource>
-    <file>layout/abstractlistviewbase.docml</file>
-    <file>layout/searchchannelsview.docml</file>
-    <file>layout/openwebaddressview.docml</file>
-    <file>layout/nowplayingview.docml</file>
-    <file>layout/stationdetailsview.docml</file>    
-    <file>layout/termsconsview.docml</file>
+<qresource prefix="/">
+    <file alias="layout/abstractlistviewbase.docml">layout/abstractlistviewbase.docml.bin</file>
+    <file alias="layout/searchchannelsview.docml">layout/searchchannelsview.docml.bin</file>
+    <file alias="layout/openwebaddressview.docml">layout/openwebaddressview.docml.bin</file>
+    <file alias="layout/nowplayingview.docml">layout/nowplayingview.docml.bin</file>
+    <file alias="layout/stationdetailsview.docml">layout/stationdetailsview.docml.bin</file>    
+    <file alias="layout/termsconsview.docml">layout/termsconsview.docml.bin</file>
+</qresource>    
+    
+<qresource>    
     <file>layout/customizer.hbpushbutton.widgetml</file>
     <file>layout/pushbutton.css</file>
 </qresource>
--- a/qtinternetradio/ui/resources/splashscreen/internet_radio_normal.splashml	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/resources/splashscreen/internet_radio_normal.splashml	Thu Sep 02 20:17:46 2010 +0300
@@ -1,7 +1,7 @@
 <hbsplash version="1">
     <docml>internet_radio_normal.docml</docml>
     <widget>internet_radio_normalview</widget>
-    <appuid>0xe28364bb</appuid>
+    <appuid>0x2002FFAC</appuid>
     <tsappname>internet_radio_10_1</tsappname>    
     <screenid>normal_screen</screenid> 
 </hbsplash>
--- a/qtinternetradio/ui/resources/splashscreen/internet_radio_nowplaying.splashml	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/resources/splashscreen/internet_radio_nowplaying.splashml	Thu Sep 02 20:17:46 2010 +0300
@@ -1,7 +1,7 @@
 <hbsplash version="1">
     <docml>internet_radio_nowplaying.docml</docml>
     <widget>internet_radio_nowplayingview</widget>
-    <appuid>0xe28364bb</appuid>
+    <appuid>0x2002FFAC</appuid>
     <tsappname>internet_radio_10_1</tsappname>    
     <screenid>nowplaying_screen</screenid> 
 </hbsplash>
--- a/qtinternetradio/ui/resources/splashscreen/internet_radio_termscons.splashml	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/resources/splashscreen/internet_radio_termscons.splashml	Thu Sep 02 20:17:46 2010 +0300
@@ -1,7 +1,7 @@
 <hbsplash version="1">
     <docml>internet_radio_termscons.docml</docml>
     <widget>internet_radio_termsconsview</widget>
-    <appuid>0xe28364bb</appuid>
+    <appuid>0x2002FFAC</appuid>
     <tsappname>internet_radio_10_1</tsappname>    
     <screenid>termscons_screen</screenid>
     <use-section when="portrait">prt_section</use-section>
--- a/qtinternetradio/ui/src/irabstractlistviewbase.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irabstractlistviewbase.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -72,7 +72,18 @@
 #else
     setTitle("Internet radio");      
 #endif
-   
+
+    initMenu();
+    initContentWidget();
+    initScrollBar();
+    initToolBar();
+    
+    connect(iListView, SIGNAL(activated(const QModelIndex&)), this, SLOT(clickItem(const QModelIndex&)));
+    connect(iListView, SIGNAL(longPressed(HbAbstractViewItem *,const QPointF&)), this, SLOT(listViewLongPressed(HbAbstractViewItem *,const QPointF&)));
+    connect(iPlayController, SIGNAL(metaDataAvailable(IRQMetaData*)), this, SLOT(metaDataAvailable(IRQMetaData*)));
+    connect(iPlayController, SIGNAL(playingStopped()), this, SLOT(removeBanner()));
+    connect(getViewManager(), SIGNAL(orientationChanged(Qt::Orientation)),
+            this, SLOT(handleOrientationChanged(Qt::Orientation)));
 }
 
 IrAbstractListViewBase::~IrAbstractListViewBase()
@@ -215,11 +226,6 @@
 {
     Q_UNUSED(aReason);
     TIRHandleResult ret = EIR_DoDefault;
-
-    if (!initCompleted())
-    {
-        return ret;
-    }
     
     switch (aCommand)
     {
@@ -260,26 +266,6 @@
     updateBanner(aOrientation);
 }
 
-void IrAbstractListViewBase::lazyInit()
-{
-    if (!initCompleted())
-    {
-        IRBaseView::lazyInit();
-        
-        initMenu();
-        initContentWidget();
-        initScrollBar();
-        initToolBar();
-        
-        connect(iListView, SIGNAL(activated(const QModelIndex&)), this, SLOT(clickItem(const QModelIndex&)));
-        connect(iListView, SIGNAL(longPressed(HbAbstractViewItem *,const QPointF&)), this, SLOT(listViewLongPressed(HbAbstractViewItem *,const QPointF&)));
-        connect(iPlayController, SIGNAL(metaDataAvailable(IRQMetaData*)), this, SLOT(metaDataAvailable(IRQMetaData*)));
-        connect(iPlayController, SIGNAL(playingStopped()), this, SLOT(removeBanner()));
-        connect(getViewManager(), SIGNAL(orientationChanged(Qt::Orientation)),
-                this, SLOT(handleOrientationChanged(Qt::Orientation)));
-    }
-}
-
 void IrAbstractListViewBase::collectionsActionClicked()
 {
     getViewManager()->activateView(EIRView_MainView);
--- a/qtinternetradio/ui/src/irapplication.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irapplication.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -111,7 +111,7 @@
     iSettings->getGlobalAdvFlag(iEnableGlobalAdv);
     setupConnection();
     
-    if ( !iIsEmbedded )
+    if ( !XQServiceUtil::isService() )
     {
         setLaunchView();
     }
@@ -174,6 +174,7 @@
  */
 void IRApplication::setLaunchView()
 {
+    LOG_METHOD;
     //get starting view id according to activate reason
     TIRViewId viewId = EIRView_CategoryView;
     HbApplication *hbApp = qobject_cast<HbApplication*>(qApp);
@@ -217,6 +218,7 @@
  */
 bool IRApplication::verifyNetworkConnectivity(const QString &aConnectingText)
 {
+    LOG_METHOD;
     Q_ASSERT(iNetworkController);
     
     bool ret = true;
@@ -238,7 +240,7 @@
 
 void IRApplication::startLoadingAnimation(const QObject *aReceiver, const char *aFunc)
 {
-    LOG_METHOD_ENTER;
+    LOG_METHOD;;
     
     //for downloading logos in stations view, favorites view and history view, network connection
     //is initiated by low layer, we don't show any dialog
@@ -295,7 +297,7 @@
 
 void IRApplication::stopLoadingAnimation()
 {
-    LOG_METHOD_ENTER;
+    LOG_METHOD;;
 
     // this function is the endpoint of cancel loading actions for all views
 	// so we can do cleanup action here, including player stop action.
@@ -328,6 +330,7 @@
  */
 IRQNetworkController* IRApplication::getNetworkController()
 {
+    LOG_METHOD;
     if(NULL == iNetworkController)
     {
         iNetworkController = IRQNetworkController::openInstance(); 
@@ -344,6 +347,7 @@
  */
 IRQIsdsClient* IRApplication::getIsdsClient()
 {
+    LOG_METHOD;
     if(NULL == iIsdsClient)
     {
         iIsdsClient = IRQIsdsClient::openInstance(); 
@@ -358,6 +362,7 @@
  */
 IRPlayController* IRApplication::getPlayController()
 {
+    LOG_METHOD;
     if(NULL == iPlayController)
     {
         iPlayController = new IRPlayController(this);
@@ -367,6 +372,7 @@
 
 IRLastPlayedStationInfo* IRApplication::getLastPlayedStationInfo()
 {
+    LOG_METHOD;
     if( iIsEmbedded )
     {
         return NULL;
@@ -381,6 +387,7 @@
 
 IRQFavoritesDB* IRApplication::getFavoritesDB()
 {
+    LOG_METHOD;
     if(NULL == iFavPresets)
     {
         iFavPresets = new IRQFavoritesDB();
@@ -390,6 +397,7 @@
 
 IRQSettings * IRApplication::getSettings()
 {
+    LOG_METHOD;
     if(NULL == iSettings)
     {
         iSettings = IRQSettings::openInstance();
@@ -399,6 +407,7 @@
 
 IRMediaKeyObserver* IRApplication::getMediaKeyObserver()
 {
+    LOG_METHOD;
     if(NULL == iMediaKeyObserver)
     {
     iMediaKeyObserver = new IRMediaKeyObserver(this);
@@ -409,6 +418,7 @@
 
 IRQAdvClient* IRApplication::getAdvClient()
 {
+    LOG_METHOD;
     if(iEnableGlobalAdv && (NULL == iAdvertisementClient))
     {
         //iAdvertisementClient = IRQAdvClient::openInstance();
@@ -419,6 +429,7 @@
 
 IRPlayList* IRApplication::getPlayList() const
 {
+    LOG_METHOD;
     if (NULL == iFileViewService)
     {
         return NULL;
@@ -435,6 +446,7 @@
  */
 void IRApplication::createComponents()
 {
+    LOG_METHOD;
     getSettings();
 #ifdef HS_WIDGET_ENABLED    
     if( !iIsEmbedded )
@@ -453,6 +465,7 @@
  */
 void IRApplication::destroyComponents()
 {	
+    LOG_METHOD;
     delete iPlayController;
     iPlayController = NULL;
     
@@ -494,11 +507,13 @@
 
 void IRApplication::setupConnection()
 {
+    LOG_METHOD;
     connect(this, SIGNAL(quit()), qApp, SLOT(quit()));
 }
 
 void IRApplication::cancelConnect()
 {
+    LOG_METHOD;
     if (iConnectingCanceled)
     {
         return;
@@ -522,7 +537,9 @@
 //connect to signal 'networkEventNotified' from IRQNetworkController
 void IRApplication::networkEventNotified(IRQNetworkEvent aEvent)
 {
+    LOG_METHOD;
     LOG_SLOT_CALLER;
+    LOG_FORMAT("IRQNetworkEvent = %d", aEvent);
     switch (aEvent)
     {
         case EIRQNetworkConnectionConnecting :
@@ -583,6 +600,7 @@
 
 void IRApplication::loadGenre()
 {
+    LOG_METHOD;
     LOG_SLOT_CALLER;
     bool hasCache = iIsdsClient->isdsIsCategoryCached(IRQIsdsClient::EGenre);
 
@@ -602,12 +620,12 @@
 
 void IRApplication::initApp()
 {
+    LOG_METHOD;
     getNetworkController();    
     
     IRBaseView *view = static_cast<IRBaseView*> (iViewManager->currentView());
     if (view)
     {
-        view->lazyInit();
         view->launchAction();
     }
     getMediaKeyObserver();	
@@ -629,13 +647,16 @@
             settingsManager.writeItemValue(irStartupKey, (int)QDateTime::currentDateTime().toTime_t());
         } 
     }
-#endif        
+#endif
+
+    emit applicationReady();
 }
 
 bool IRApplication::event(QEvent* e)
 {
     if(e->type() == iInitEvent)
     {
+        LOG_METHOD;
         initApp();
         return true;        
     }
@@ -645,6 +666,7 @@
 
 TIRHandleResult IRApplication::handleConnectionEstablished()
 {
+    LOG_METHOD;
     TIRHandleResult retVal = EIR_DoDefault;
     switch (iUseNetworkReason)
     {
@@ -670,34 +692,37 @@
     return retVal;
 }
 
+#ifdef TERMS_CONDITIONS_VIEW_ENABLED 
 void IRApplication::handleTermsConsAccepted()
 {
+    LOG_METHOD;
     iSettings->reSetFlagTermsAndConditions();
     IRBaseView * termsConsView = iViewManager->getView(EIRView_TermsConsView);
     iViewManager->removeView(termsConsView);
     termsConsView->deleteLater();
     
     iViewManager->activateView(iStartingViewId); 
-    QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
     QEvent* initEvent = new QEvent(iInitEvent);
     QCoreApplication::postEvent(this, initEvent, Qt::HighEventPriority); 	 
 }
+#endif
 
 void IRApplication::launchStartingView(TIRViewId aViewId)
 {
+    LOG_METHOD;
     iStartingViewId = aViewId;
-    /* bool isFirstTimeUsage = false;
+#ifdef TERMS_CONDITIONS_VIEW_ENABLED     
+    bool isFirstTimeUsage = false;
     iSettings->isFlagTermsAndConditions(isFirstTimeUsage);
     
     if(isFirstTimeUsage)
     {
         iViewManager->activateView(EIRView_TermsConsView);  
-		QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);    
     }
-    else*/
+    else
+#endif    
     {
         iViewManager->activateView(iStartingViewId);
-        QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
         QEvent* initEvent = new QEvent(iInitEvent);
         QCoreApplication::postEvent(this, initEvent, Qt::HighEventPriority);         
     }
@@ -716,6 +741,7 @@
 }
 void IRApplication::setExitingView()
 {  
+    LOG_METHOD;
     TIRViewId viewId = iViewManager->getExitingView();
     if(EIRView_InvalidId != viewId)
     {
@@ -727,6 +753,7 @@
 #ifdef HS_WIDGET_ENABLED
 bool IRApplication::startPlaying()
 {
+    LOG_METHOD;
     // if any loading is in progress, disallow to play
     if (iLoadingNote && iLoadingNote->isVisible())
     {
@@ -756,6 +783,7 @@
 
 void IRApplication::cancelPlayerLoading()
 {
+    LOG_METHOD;
     if (IRPlayController::EConnecting == getPlayController()->state() 
         || IRPlayController::EBuffering == getPlayController()->state())
     {       
--- a/qtinternetradio/ui/src/irbaseview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irbaseview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -26,9 +26,13 @@
  */
 IRBaseView::IRBaseView(IRApplication* aApplication, TIRViewId aViewId) : iApplication(aApplication),
                                                                          iViewId(aViewId),
-                                                                         iUseNetworkReason(EIR_UseNetwork_NoReason),
-                                                                         iInitCompleted(false)
+                                                                         iUseNetworkReason(EIR_UseNetwork_NoReason)
 {
+    iNetworkController = iApplication->getNetworkController();        
+    iPlayController = iApplication->getPlayController();
+    iIsdsClient = iApplication->getIsdsClient();
+    iFavorites = iApplication->getFavoritesDB();
+    iSettings = iApplication->getSettings();
 }
 
 TIRViewId IRBaseView::id() const
@@ -108,17 +112,6 @@
     return iUseNetworkReason;
 }
  
-void IRBaseView::lazyInit()
-{
-    if (!initCompleted())
-    {
-        iNetworkController = iApplication->getNetworkController();        
-        iPlayController = iApplication->getPlayController();
-        iIsdsClient = iApplication->getIsdsClient();
-        iFavorites = iApplication->getFavoritesDB();
-        iSettings = iApplication->getSettings();
-    }
-}
 
 /*
  * Description : return the pointer to the view manager object owned by application
@@ -147,12 +140,3 @@
     }
 }
 
-void IRBaseView::setInitCompleted(bool aFlag)
-{
-    iInitCompleted = aFlag;
-}
-
-bool IRBaseView::initCompleted() const
-{
-    return iInitCompleted;
-}
--- a/qtinternetradio/ui/src/ircategoryview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/ircategoryview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -39,11 +39,14 @@
     setViewParameter(EIRViewPara_Genre);
     setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
     
-    //if this view is not starting view, finish all initialization in constructor
-    if (getViewManager()->views().count() > 0)
-    {
-        normalInit();
-    }
+    iModel = new IRCategoryModel(this);
+    iListView->setModel(iModel);
+    
+    connect(iModel, SIGNAL(dataChanged()), this, SLOT(dataChanged()));
+    
+    connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)), this,
+        SLOT(networkRequestNotified(IRQNetworkEvent)));
+
 }
 
 /*
@@ -60,12 +63,7 @@
  * see also    : IRBaseView::handleCommand
  */
 TIRHandleResult IRCategoryView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
-{
-    if (!initCompleted())
-    {
-        return EIR_DoDefault;
-    }
-    
+{    
     Q_UNUSED(aReason);
     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
     
@@ -450,33 +448,3 @@
     }
 }
 
-void IRCategoryView::lazyInit()
-{  
-    if (!initCompleted())
-    {
-        normalInit();
-
-        //initialization from handleCommand()
-        handleCommand(EIR_ViewCommand_TOBEACTIVATED, EIR_ViewCommandReason_Show);
-        handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show);
-        
-        emit applicationReady();
-    }
-}
-
-void IRCategoryView::normalInit()
-{
-    if (!initCompleted())
-    {
-        IrAbstractListViewBase::lazyInit();
-        iModel = new IRCategoryModel(this);
-        iListView->setModel(iModel);
-
-        connect(iModel, SIGNAL(dataChanged()), this, SLOT(dataChanged()));
-
-        connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)), this,
-                SLOT(networkRequestNotified(IRQNetworkEvent)));
-    
-        setInitCompleted(true);
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qtinternetradio/ui/src/irchanneldataprovider.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -0,0 +1,275 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <HbIcon>
+#include <QTimer>
+
+#include "irchanneldataprovider.h"
+#include "irqisdsdatastructure.h"
+#include "irqisdsclient.h"
+#include "irsearchresultdb.h"
+
+const int KBitmapSize = 59;
+const int KDownloadLogoInterval = 10; //msec
+
+IRChannelDataProvider::IRChannelDataProvider(QObject *aParent) : HgDataProviderModel(aParent),
+                       iChannelList(NULL), iLogoPreset(NULL), iActivated(false)
+{
+    iDefaultLogo = HbIcon("qtg_large_internet_radio");
+    
+    iLogoDownloadTimer = new QTimer(this);
+    iLogoDownloadTimer->setInterval(KDownloadLogoInterval);
+    connect(iLogoDownloadTimer, SIGNAL(timeout()), this, SLOT(downloadNextLogo()));
+    
+    iIsdsClient = IRQIsdsClient::openInstance();
+}
+
+IRChannelDataProvider::~IRChannelDataProvider()
+{
+    if (iIsdsClient)
+    {
+        iIsdsClient->closeInstance();
+        iIsdsClient = NULL;
+    }
+    
+    delete iLogoPreset;
+    iLogoPreset = NULL;
+    
+    clearAndDestroyItems();
+    clearAndDestroyLogos();
+}
+
+void IRChannelDataProvider::activate()
+{
+    iActivated = true;
+    connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
+            this, SLOT(presetLogoDownload(IRQPreset* )));
+    connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
+            this, SLOT(presetLogoDownloadError()));
+    
+    if (iRequestedItems.count() > 0)
+    {
+        iLogoDownloadTimer->start();
+    }
+}
+
+void IRChannelDataProvider::deactivate()
+{
+    iActivated = false;
+    disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
+               this, SLOT(presetLogoDownload(IRQPreset* )));
+    disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
+               this, SLOT(presetLogoDownloadError()));
+    
+    iRequestedItems.clear();
+    iIsdsClient->isdsLogoDownCancelTransaction();
+    iLogoDownloadTimer->stop();
+}
+
+IRQChannelItem* IRChannelDataProvider::getChannelItemByIndex(int aIndex)
+{
+    if( aIndex < 0 || aIndex >= iChannelList->count() )
+    {
+        return NULL;
+    }
+    
+    return iChannelList->at(aIndex);
+}
+
+void IRChannelDataProvider::doReleaseData(QList<int> aList, bool aSilent)
+{
+    Q_UNUSED(aSilent);
+    iIsdsClient->isdsLogoDownCancelTransaction();
+    iLogoDownloadTimer->stop();
+    
+    int count = aList.count();
+    int index = 0;
+    for (int idx = 0; idx < count; ++idx)
+    {
+        index = aList[idx];
+        releasePixmap(index);
+        //if the index is saved in iRequestedItems, remove it
+        iRequestedItems.removeOne(index);
+    }
+}
+
+void IRChannelDataProvider::doRequestData(QList<int> aList, bool aSilent)
+{
+    Q_UNUSED(aSilent);
+    int count = aList.count();
+    int index = 0;
+    for (int idx = 0; idx < count; ++idx)
+    {
+        index = aList[idx];
+        if (index < iChannelList->count())
+        {
+            if (iChannelList->at(index)->imageURL != "")
+            {
+                if (NULL == iLogos[index])
+                {
+                    //logo is not downloaded, add to requested items
+                    iRequestedItems.append(index);
+                }
+                else
+                {
+                    //logo is already downloaded, update icon
+                    updateIcon(index, *iLogos[index]);
+                }
+            }
+        }
+    }
+    
+    if (iActivated && iRequestedItems.count() > 0)
+    {
+        iLogoDownloadTimer->start();
+    }
+}
+
+QVariant IRChannelDataProvider::defaultIcon() const
+{
+    return iDefaultLogo;
+}
+
+void IRChannelDataProvider::doResetModel()
+{
+    int count = iChannelList->count();
+    for (int i = 0; i < count; ++i)
+    {
+        QList< QPair< QVariant, int > > item;
+        QVariantList list;
+        list.append(iChannelList->at(i)->channelName);
+        QString tempDes = iChannelList->at(i)->shortDescription;        
+        if( 0 == tempDes.length() )
+        {
+            tempDes = " ";
+        }
+        list.append(tempDes); 
+        item.append( QPair<QVariant, int>(list, Qt::DisplayRole));
+        
+        newItem(&item);
+    }
+}
+
+//data received from ISDS server, add items
+void IRChannelDataProvider::updateData(QList<IRQChannelItem*> *aPushItemsList)
+{
+    if (NULL == aPushItemsList)
+    {
+        return;
+    }
+    
+    if (iChannelList != aPushItemsList)
+    {
+        clearAndDestroyItems();
+        clearAndDestroyLogos();
+        
+        iChannelList = aPushItemsList;
+        iRequestedItems.clear();
+        clearCache();
+        resetModel();
+        emit dataAvailable();
+    }
+}
+
+void IRChannelDataProvider::presetLogoDownload(IRQPreset* aPreset)
+{
+    if( NULL == aPreset )
+    {
+        presetLogoDownloadError();
+        return;
+    } 
+    
+    delete iLogoPreset;            
+    iLogoPreset = aPreset;    
+
+    if (iLogoPreset->logoData != KNullDesC8)
+    {         
+        QPixmap tempMap;  
+        const unsigned char * logoData = iLogoPreset->logoData.Ptr();     
+        bool ret = tempMap.loadFromData(logoData, iLogoPreset->logoData.Length());
+       
+        if( ret )
+        {            
+            QIcon convertIcon(tempMap);
+            HbIcon *hbIcon = new HbIcon(convertIcon);
+            int index = iRequestedItems[0];
+            iLogos[index] = hbIcon;
+            updateIcon(index, *hbIcon);
+            iRequestedItems.removeAt(0); 
+            if ( iRequestedItems.count() > 0 )
+            {
+                iLogoDownloadTimer->start();  
+            }
+            return;
+        }     
+    }    
+    
+    presetLogoDownloadError(); 
+}
+
+void IRChannelDataProvider::presetLogoDownloadError()
+{
+    // if the logo download fails, try to download the next
+    iRequestedItems.removeAt(0);
+    if ( iRequestedItems.count() > 0 )
+    {
+        iLogoDownloadTimer->start();
+    }   
+}
+
+void IRChannelDataProvider::downloadNextLogo()
+{
+    iLogoDownloadTimer->stop();
+    
+    if (iRequestedItems.count() > 0)
+    {
+        startDownloading(iRequestedItems[0]);   
+    }
+}
+
+void IRChannelDataProvider::startDownloading(int aIndex)
+{
+    QString url = iChannelList->at(aIndex)->imageURL;
+    IRQPreset tempPreset;
+    tempPreset.imgUrl = url;
+    tempPreset.type = IRQPreset::EIsds;
+    
+    iIsdsClient->isdsLogoDownSendRequest(&tempPreset, 0, KBitmapSize, KBitmapSize); 
+}
+
+void IRChannelDataProvider::clearAndDestroyItems()
+{
+    if (iChannelList)
+    {
+        for (QList<IRQChannelItem*>::iterator it = iChannelList->begin(); it != iChannelList->end(); ++it)
+        {
+            delete *it;
+        }
+        delete iChannelList;
+        iChannelList = NULL;
+    }
+}
+
+void IRChannelDataProvider::clearAndDestroyLogos()
+{
+    for (QMap<int, HbIcon*>::iterator it = iLogos.begin(); it != iLogos.end(); ++it)
+    {
+        delete it.value();
+    }
+    
+    iLogos.clear();
+}
--- a/qtinternetradio/ui/src/ircontrolservice.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/ircontrolservice.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -32,18 +32,21 @@
     XQServiceProvider(IR_CONTROL_SERVICE_NAME, aParent),
     mIrApp(aIrApp)
 {
+    LOG_METHOD;
     publishAll();
 }
 
 // Destructor
 IrControlService::~IrControlService()
 {
+    LOG_METHOD;
 }
 
 // service interface, called via Qt Highway
 int IrControlService::handleCmd(int aCmdId)
 {
-    LOG_FORMAT( "IrControlService::handleCmd, the command is %d",  aCmdId);
+    LOG_METHOD;
+    LOG_FORMAT( "command = %d",  aCmdId);
     IrServiceResult::Type result = IrServiceResult::Fail;
         
     switch (aCmdId)
@@ -88,6 +91,7 @@
 
 IrServiceResult::Type IrControlService::handleLaunchNowPlayingViewCmd()
 {
+    LOG_METHOD;
     if (!mIrApp->isAppFullyStarted())
     {
         mIrApp->launchStartingView(EIRView_PlayingView);
@@ -97,6 +101,7 @@
 
 IrServiceResult::Type IrControlService::handleLaunchNormallyCmd()
 {
+    LOG_METHOD;
     if (!mIrApp->isAppFullyStarted())
     {
         mIrApp->setLaunchView();
@@ -105,7 +110,8 @@
 }
 
 IrServiceResult::Type IrControlService::handlePlayCmd()
-{           
+{      
+    LOG_METHOD;     
 #ifdef HS_WIDGET_ENABLED    
     LOG( "IrControlService::handlePlayCmd");
     bool ret = mIrApp->startPlaying();
@@ -119,6 +125,7 @@
 
 IrServiceResult::Type IrControlService::handleStopCmd()
 {
+    LOG_METHOD;
     if (mIrApp->getPlayController()->isPlaying())
     {
         mIrApp->getPlayController()->stop(EIRQUserTerminated);
@@ -128,6 +135,7 @@
 
 IrServiceResult::Type IrControlService::handleCancelCmd()
 {
+    LOG_METHOD;
 #ifdef HS_WIDGET_ENABLED       
     mIrApp->cancelPlayerLoading();
 #endif     
--- a/qtinternetradio/ui/src/irfavoritesview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irfavoritesview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -62,11 +62,18 @@
 {    
     setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
     
-    //if this view is not starting view, finish all initialization in constructor
-    if (getViewManager()->views().count() > 0)
-    {
-        normalInit();
-    }
+	initToolBar();
+    iModel = new IRFavoritesModel(iFavorites, this);
+    iListView->setModel(iModel);
+    
+    iConvertTimer = new QTimer(this);
+    iConvertTimer->setInterval(10);
+    
+    connect(iModel, SIGNAL(modelChanged()), this, SLOT(modelChanged()));
+    connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
+            this, SLOT(networkRequestNotified(IRQNetworkEvent))); 
+    connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
+
 }
 
 /*
@@ -88,11 +95,6 @@
 {
     Q_UNUSED(aReason);
     
-    if (!initCompleted())
-    {
-        return EIR_DoDefault;
-    }
-    
     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
     int leftCount = 0;
     
@@ -143,40 +145,6 @@
     return ret;
 }
 
-void IRFavoritesView::lazyInit()
-{
-    if (!initCompleted())
-    {
-        normalInit();
-        
-        //initialization from handleCommand()
-        handleCommand(EIR_ViewCommand_TOBEACTIVATED, EIR_ViewCommandReason_Show);
-        handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show);
-        emit applicationReady();
-    }
-}
-
-void IRFavoritesView::normalInit()
-{
-    if (!initCompleted())
-    {
-        IrAbstractListViewBase::lazyInit();
-        initToolBar();
-        
-        iModel = new IRFavoritesModel(iFavorites, this);
-        iListView->setModel(iModel);
-        
-        iConvertTimer = new QTimer(this);
-        iConvertTimer->setInterval(10);
-        
-        connect(iModel, SIGNAL(modelChanged()), this, SLOT(modelChanged()));
-        connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
-                this, SLOT(networkRequestNotified(IRQNetworkEvent))); 
-        connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
-        
-        setInitCompleted(true);
-    }
-}
 
 #ifdef HS_WIDGET_ENABLED
 void IRFavoritesView::itemAboutToBeSelected(bool &aNeedNetwork)
@@ -481,7 +449,7 @@
 #endif
     action->setObjectName(KActionDetailsName);
     
-    contextMenu->setPos(aCoords);
+    contextMenu->setPreferredPos(aCoords);
     contextMenu->open();         
 } 
 
--- a/qtinternetradio/ui/src/irhistoryview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irhistoryview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -50,11 +50,7 @@
 IRHistoryView::IRHistoryView(IRApplication *aApplication, TIRViewId aViewId) :
     IrAbstractListViewBase(aApplication, aViewId), iClearHistoryAction(NULL),
     iLogoPreset(NULL)
-{
-    //this view won't be starting view, don't need lazy init
-    IrAbstractListViewBase::lazyInit();
-    setInitCompleted(true);
-    
+{   
     iModel = new IRHistoryModel(this);
     iListView->setModel(iModel);
     iListView->setCurrentIndex(iModel->index(0));
@@ -484,6 +480,7 @@
 #endif
     action->setObjectName(KActionDetailsName);
     
+    contextMenu->setPreferredPos(aCoords);
     contextMenu->open();
 }
 
--- a/qtinternetradio/ui/src/irlastplayedstationinfo.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irlastplayedstationinfo.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -23,8 +23,9 @@
 
 #include "irqisdsdatastructure.h"
 #include "irlastplayedstationinfo.h"
+#include "irquid3.hrh"
 
-const QString KFileName("C:\\Private\\E28364bb\\lastPlayed.dat");
+const QString KFileName(QString("C:\\Private\\")+QString(STR_UID3_INTERNET_RADIO_10_1_EXE)+QString("\\lastPlayed.dat"));
 
 IRLastPlayedStationInfo::IRLastPlayedStationInfo() : iLastPlayedStation(NULL), iUpdated(false),
                                                      iConnectedFrom(EIRQIsds)
--- a/qtinternetradio/ui/src/irmainview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irmainview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -39,11 +39,15 @@
     setFlag(EViewFlag_ClearStackWhenActivate|EViewFlag_StickyViewEnabled);
 	iLoader.load(ABSTRACT_LIST_VIEW_BASE_LAYOUT_FILENAME, ABSTRACT_LIST_VIEW_BASE_WITH_TOOLBAR_SECTION);
 	
-	//if this view is not starting view, finish all initialization in constructor
-	if (getViewManager()->views().count() > 0)
-	{
-	    normalInit();
-	}
+    setCheckedAction();
+    
+    connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
+            this, SLOT(networkRequestNotified(IRQNetworkEvent)));
+    
+    iMainModel = new IRMainModel(iApplication->getPlayList(), this);
+    iMainModel->checkUpdate();
+    iListView->setModel(iMainModel);
+
 }
 
 /*
@@ -174,11 +178,6 @@
 //from base class IRBaseView
 TIRHandleResult IRMainView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
 {
-    if (!initCompleted())
-    {
-        return EIR_DoDefault;
-    }
-    
     Q_UNUSED(aReason);
     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
     
@@ -195,33 +194,3 @@
     return ret;
 }
 
-void IRMainView::lazyInit()
-{
-    if (!initCompleted())
-    {
-        normalInit();
-        
-        //initialization from handleCommand()
-        handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show);
-        emit applicationReady();
-    }
-}
-
-void IRMainView::normalInit()
-{
-    if (!initCompleted())
-    {
-        IrAbstractListViewBase::lazyInit();
-        
-        setCheckedAction();
-        
-        connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
-                this, SLOT(networkRequestNotified(IRQNetworkEvent)));
-        
-        iMainModel = new IRMainModel(iApplication->getPlayList(), this);
-        iMainModel->checkUpdate();
-        iListView->setModel(iMainModel);
-        
-        setInitCompleted(true);
-    }
-}
--- a/qtinternetradio/ui/src/irmonitorservice.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irmonitorservice.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -50,6 +50,7 @@
     mIrApp(aIrApp),
     mPlayController(NULL)
 {   
+    LOG_METHOD;
     publishAll();
     mPlayController = mIrApp->getPlayController();
     setupConnection();
@@ -58,10 +59,12 @@
 // Destructor
 IrMonitorService::~IrMonitorService()
 {
+    LOG_METHOD;
 }
 
 void IrMonitorService::setupConnection()
 {
+    LOG_METHOD;
     // meta data update
     connect(mPlayController, SIGNAL(metaDataAvailable(IRQMetaData*)), 
         this, SLOT(updateMetaData(IRQMetaData*)));
@@ -91,6 +94,7 @@
 // service interface, called via Qt Highway
 void IrMonitorService::registerNotifications()
 {
+    LOG_METHOD;
     mRequestList.append(setCurrentRequestAsync());
     
     if (ANY_READY())
@@ -102,10 +106,13 @@
 // service interface, called via Qt Highway
 void IrMonitorService::refreshAllData()
 {
+    LOG_METHOD;
     IrServiceDataList notificationList;
     
     IRQPreset * currentPreset = mPlayController->getNowPlayingPreset();    
     
+    LOG_FORMAT("mPlayController->state() = %d", mPlayController->state());
+    
     switch (mPlayController->state())
     {
         case IRPlayController::EIdle:
@@ -160,6 +167,7 @@
 
 void IrMonitorService::updateMetaData(IRQMetaData* aMetaData)
 {    
+    LOG_METHOD;
     if (aMetaData)
     {
         SET_FLAG(MetaData);
@@ -171,6 +179,7 @@
  
 void IrMonitorService::handleStationLogoUpdated(bool aLogoAvailable)
 {
+    LOG_METHOD;
     mStationLogoAvailable = aLogoAvailable;
     SET_FLAG(StationLogo);
     
@@ -179,6 +188,7 @@
  
 void IrMonitorService::handleLoadingStarted(const QString &aStationName)
 {
+    LOG_METHOD;
     mMetaData.clear();
     SET_FLAG(MetaData);
     
@@ -193,6 +203,7 @@
 
 void IrMonitorService::handleLoadingCancelled(const QString &aStationName)
 {
+    LOG_METHOD;
     mMetaData.clear();
     SET_FLAG(MetaData);
     
@@ -214,6 +225,7 @@
 
 void IrMonitorService::handlePlayStarted()
 {
+    LOG_METHOD;
     mMetaData.clear();
     SET_FLAG(MetaData);
     
@@ -229,6 +241,7 @@
 
 void IrMonitorService::handlePlayStopped()
 {
+    LOG_METHOD;
     mMetaData.clear();
     SET_FLAG(MetaData);
 
@@ -245,6 +258,7 @@
  */
 void IrMonitorService::notifyAll()
 {
+    LOG_METHOD;
     IrServiceDataList notificationList;
     
     if(IS_READY(StationName))
@@ -275,6 +289,7 @@
 
 bool IrMonitorService::notifyList(const IrServiceDataList &aDataList)
 {
+    LOG_METHOD;
     bool retVal = true;
     
     if (mRequestList.count() > 0
--- a/qtinternetradio/ui/src/irnowplayingview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irnowplayingview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -30,10 +30,6 @@
 #include <hbframeitem.h>
 #endif
 
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-#include <hbmenu.h>
-#endif
-    
 #include "irviewmanager.h"
 #include "irapplication.h"
 #include "irplaycontroller.h"
@@ -77,6 +73,10 @@
 static const QString KLcdGraphics("qtg_fr_lcd");
 #endif
 
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+static const int KDummySongRecognitionUid = 0xE4EF7D71;
+static const int KDummyMusicStoreUid = 0xE609761B;
+#endif
 
 static void saveStationLogo(const QPixmap &aStationLogo);
 
@@ -88,7 +88,6 @@
     iStatisticsReporter(NULL),
     iStationShare(NULL),
     iPlayStopAction(NULL),
-    iLaunchActionNeeded(false),
     iLogoDownloadState(EIdle),    
     iSongNameLabel(NULL),
     iSongNameMarquee(NULL),
@@ -105,13 +104,25 @@
 #endif
 {
     LOG_METHOD;
+    
+    iLaunchActionNeeded = (0 == getViewManager()->views().count()); // this is the starting view
+        
     initialize();
     
-    //if this view is not starting view, finish all initialization in constructor
-    if (getViewManager()->views().count() > 0)
-    {
-        normalInit();
-    }
+    iStatisticsReporter = IRQStatisticsReporter::openInstance();
+        
+    connect(iPlayController, SIGNAL(metaDataAvailable(IRQMetaData*)), this, SLOT(updateMetaData(IRQMetaData*)));
+    connect(iPlayController, SIGNAL(playingStarted()), this, SLOT(handlePlayStarted()));
+    connect(iPlayController, SIGNAL(playingStopped()), this, SLOT(handlePlayStopped()));
+
+    connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
+            this, SLOT(handleNetworkEvent(IRQNetworkEvent)));
+    connect(iApplication->getMediaKeyObserver(), SIGNAL(playPausePressed()), 
+            this, SLOT(handlePlayPauseMediaKey()));
+    connect(iApplication->getMediaKeyObserver(), SIGNAL(stopPressed()), 
+            this, SLOT(handleStopMediaKey()));
+    connect( getViewManager(), SIGNAL( orientationChanged(Qt::Orientation) ),
+             this, SLOT( handleOrientationChanged(Qt::Orientation) ) );
     
     setFlag(EViewFlag_StickyViewEnabled);
 }
@@ -150,10 +161,10 @@
     initWidget();    
 #ifdef SUBTITLE_STR_BY_LOCID
     setTitle(hbTrId("txt_irad_title_internet_radio"));
-         
 #else
     setTitle("Internet radio");      
 #endif
+    handleOrientationChanged(getViewManager()->orientation());
 }
 
 /*
@@ -192,17 +203,7 @@
     connect(shareStationAction, SIGNAL(triggered()), this, SLOT(handleShareStationAction()));
     connect(settings, SIGNAL(triggered()), this, SLOT(handleSettingAction()));
     connect(exitAction, SIGNAL(triggered()), iApplication, SIGNAL(quit()));  
-    connect(songRecAction, SIGNAL(triggered()), this, SLOT(handleIdentifySongAction()));    
-    
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-    HbAction *dummySongIdentifyAction = menu()->addAction("Dummy Identify Song");
-    HbAction *dummyGoToNmsAction = menu()->addAction("Dummy Go to Music Store");
-    HbAction *dummyFindInNmsAction = menu()->addAction("Dummy Find in Music Store");
-    
-    connect(dummySongIdentifyAction, SIGNAL(triggered()), this, SLOT(handleDummySongIdentify()));   
-    connect(dummyGoToNmsAction, SIGNAL(triggered()), this, SLOT(handleDummyGoToNms()));
-    connect(dummyFindInNmsAction, SIGNAL(triggered()), this, SLOT(handleDummyFindInNms()));    
-#endif
+    connect(songRecAction, SIGNAL(triggered()), this, SLOT(handleIdentifySongAction()));
 }
 
 /*
@@ -236,6 +237,8 @@
     updateSongName(QString(""));
     iArtistName->setPlainText("");    
     
+    connect(iSongNameLabel, SIGNAL(geometryChanged()), this, SLOT(handleGeometryChanged()));
+    
     iArtistName->setTextColor(HbColorScheme::color(KArtistColor));
     iSongNameLabel->setTextColor(HbColorScheme::color(KSongColor));
     iSongNameMarquee->setTextColor(HbColorScheme::color(KSongColor));
@@ -396,10 +399,6 @@
 {
     LOG_METHOD;
 	LOG_FORMAT("aCommand = %d", (int)aCommand);
-    if (!initCompleted())
-    {
-        return EIR_NoDefault;
-    }
     
     Q_UNUSED(aReason);
     TIRHandleResult ret = EIR_DoDefault;
@@ -460,48 +459,6 @@
     iLaunchActionNeeded = false;
 }
 
-void IRNowPlayingView::lazyInit()
-{
-    LOG_METHOD;
-    iLaunchActionNeeded = true;
-    
-    if (!initCompleted())
-    {       
-        normalInit();
-        
-        //initization from handleCommand()
-        handleCommand(EIR_ViewCommand_TOBEACTIVATED, EIR_ViewCommandReason_Show);
-        handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show);
-        
-        emit applicationReady();
-    }
-}
-
-void IRNowPlayingView::normalInit()
-{
-    LOG_METHOD;
-    if (!initCompleted())
-    {
-        IRBaseView::lazyInit();
-        
-        iStatisticsReporter = IRQStatisticsReporter::openInstance();
-            
-        connect(iPlayController, SIGNAL(metaDataAvailable(IRQMetaData*)), this, SLOT(updateMetaData(IRQMetaData*)));
-        connect(iPlayController, SIGNAL(playingStarted()), this, SLOT(handlePlayStarted()));
-        connect(iPlayController, SIGNAL(playingStopped()), this, SLOT(handlePlayStopped()));
-
-        connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
-                this, SLOT(handleNetworkEvent(IRQNetworkEvent)));
-        connect(iApplication->getMediaKeyObserver(), SIGNAL(playPausePressed()), 
-                this, SLOT(handlePlayPauseMediaKey()));
-        connect(iApplication->getMediaKeyObserver(), SIGNAL(stopPressed()), 
-                this, SLOT(handleStopMediaKey()));
-        connect( getViewManager(), SIGNAL( orientationChanged(Qt::Orientation) ),
-                 this, SLOT( handleOrientationChanged(Qt::Orientation) ) );
-        
-        setInitCompleted(true);
-    }
-}
 
 void IRNowPlayingView::updateForLauchAction()
 {
@@ -709,8 +666,11 @@
     }
     // re-load only update the size of the widget, the rect of the widget will get updated only after re-layout.
     updateGeometry();
-    QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
-    // re-select between label and marquee.
+}
+
+void IRNowPlayingView::handleGeometryChanged()
+{
+    LOG_METHOD;
     updateSongName(iSongNameLabel->plainText());
 }
 
@@ -777,39 +737,64 @@
 void IRNowPlayingView::handleMusicStoreAction()
 {
     LOG_METHOD;
+   
     if(!iFindinNmsAllowed)
     {
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+    if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+    {
+        iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
+    }
+#else // STATISTIC_REPORT_TEST_ENABLED
 #ifdef SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("txt_irad_info_not_allowed_by_this_station"), HbMessageBox::MessageTypeInformation);
-#else
+#else  // SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("Not allowed by station"), HbMessageBox::MessageTypeInformation);        
-#endif
+#endif // SUBTITLE_STR_BY_LOCID
+#endif // STATISTIC_REPORT_TEST_ENABLED        
         return;        
     }
     
     if(!iSongNameAvailable)
     {
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+    if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+    {
+        iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);
+    }
+#else // STATISTIC_REPORT_TEST_ENABLED        
 #ifdef SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("txt_irad_info_no_song_info"), HbMessageBox::MessageTypeInformation);
-#else
+#else // SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("No song info"), HbMessageBox::MessageTypeInformation);        
-#endif        
+#endif // SUBTITLE_STR_BY_LOCID
+#endif // STATISTIC_REPORT_TEST_ENABLED        
         return;        
     }
     
-    // Need to log the find song in NMS event, iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,channelId); 
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+    if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+    {
+        iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,iPlayController->getNowPlayingPreset()->presetId);
+    }
+#else // STATISTIC_REPORT_TEST_ENABLED     
 #ifdef SUBTITLE_STR_BY_LOCID
     popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
-#else
+#else  // SUBTITLE_STR_BY_LOCID
     popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);    
-#endif
+#endif // SUBTITLE_STR_BY_LOCID
+#endif // STATISTIC_REPORT_TEST_ENABLED 
 }
 
 void IRNowPlayingView::handleIdentifySongAction()
 {
     LOG_METHOD;
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+    if(IRQUtility::launchAppByUid(KDummySongRecognitionUid))
+#else
     if(IRQUtility::launchAppByUid(iSettings->getSongRecognitionAppUid()))
-    {
+#endif         
+    {       
         iStatisticsReporter->logSongRecogEvent();
     }
 }
@@ -944,28 +929,7 @@
     IRQUtility::openAdvLink(iAdvUrl);
 }
 #endif
-
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-void IRNowPlayingView::handleDummySongIdentify()
-{
-    iStatisticsReporter->logSongRecogEvent();   
-    popupNote("Identify Song ...", HbMessageBox::MessageTypeInformation);
-}
-
-void IRNowPlayingView::handleDummyGoToNms()
-{
-    iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,iPlayController->getNowPlayingPreset()->presetId);     
-    popupNote("Go to Music Store ...", HbMessageBox::MessageTypeInformation);
-}
-
-void IRNowPlayingView::handleDummyFindInNms()
-{
-    iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,iPlayController->getNowPlayingPreset()->presetId);  
-    popupNote("Find in Music Store ...", HbMessageBox::MessageTypeInformation);
-}
-
-#endif
-    
+   
 void IRNowPlayingView::loadStationLogo()
 {
     LOG_METHOD;
--- a/qtinternetradio/ui/src/iropenwebaddressview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/iropenwebaddressview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -25,6 +25,8 @@
 #include <hbaction.h>
 #include <qinputcontext.h>
 #include <qapplication.h>
+#include <hbtapgesture.h>
+#include <hbinputvkbhostbridge.h>
 
 #include "irviewmanager.h"
 #include "irapplication.h"
@@ -49,10 +51,6 @@
     iNameEditorPtr(NULL),
     iPlayButton(NULL)
 {
-    //this view won't be starting view, don't need lazy init
-    IRBaseView::lazyInit();
-    setInitCompleted(true);
-    
     // Listen to the orientation change event
     connect( getViewManager(), SIGNAL( orientationChanged(Qt::Orientation) ),
              this, SLOT( handleOrientationChanged(Qt::Orientation) ) );
@@ -75,6 +73,7 @@
     initDataForm();
     initDetails();
     iForm->setModel(iModel);
+    iForm->installEventFilter(this);
     initMenu();
 
     // get a new instance different from the base class. Because it's used in destructor and 
@@ -96,7 +95,6 @@
     HbDataFormViewItem* dataformviewitemUrl = static_cast<HbDataFormViewItem *>(viewItemUrl);
     HbWidget *widgetUrl = dataformviewitemUrl->dataItemContentWidget();
     iUrlEditorPtr = static_cast<HbLineEdit *>(widgetUrl);
-    iUrlEditorPtr->installEventFilter(this);
     
     // Find the play button objects
     iPlayButton = qobject_cast<HbPushButton *>(iLoader.findObject(OPEN_WEB_ADDRESS_VIEW_OBJECT_PLAY_BUTTON));
@@ -109,6 +107,8 @@
 
     // TODO: te be deleted if there's no difference between the landscape and portrait.
 //    handleOrientationChanged(getViewManager()->orientation());
+ 
+    grabGesture(Qt::TapGesture); 
 }
 
 IROpenWebAddressView::~IROpenWebAddressView()
@@ -403,10 +403,11 @@
             iName->setContentWidgetData(QString("text"), QString(""));
         }
     }
-    else if( (object == iUrlEditorPtr || object == iNameEditorPtr)
-        && event->type() == QEvent::FocusOut )
+    else if( object == iForm && 
+             event->type() == QEvent::GestureOverride)
     {
-        hideVkb();
+        QGestureEvent *e = static_cast<QGestureEvent *>(event);
+        gestureEvent(e);
     }
     
     return false;
@@ -421,3 +422,26 @@
         delete event;
     }
 }
+
+void IROpenWebAddressView::gestureEvent(QGestureEvent *aEvent)
+{
+    HbTapGesture *tapGesture = qobject_cast<HbTapGesture *>(aEvent->gesture(Qt::TapGesture));
+    if (!tapGesture)
+    {
+        return;
+    }
+    
+    if (Qt::GestureStarted == tapGesture->state())
+    {
+        QPointF tapScenePoint = tapGesture->scenePosition();
+        QPointF tapLocalPointUrl = iUrlEditorPtr->sceneTransform().inverted().map(tapScenePoint);
+        QPointF tapLocalPointName = iNameEditorPtr->sceneTransform().inverted().map(tapScenePoint);
+
+        if (!iUrlEditorPtr->contains(tapLocalPointUrl) && 
+            !iNameEditorPtr->contains(tapLocalPointName) &&
+            HbVkbHost::HbVkbStatusOpened == HbVkbHostBridge::instance()->keypadStatus())
+        {
+            hideVkb();
+        }
+    }
+}
--- a/qtinternetradio/ui/src/irplsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irplsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -27,15 +27,11 @@
 #include "irqisdsdatastructure.h"
 #include "irplaycontroller.h"
 #include "irplaylist.h"
-
-const QString KActionDeleteName("delete");
+#include "iruidefines.h"
 
 IRPlsView::IRPlsView(IRApplication* aApplication, TIRViewId aViewId) : 
                      IrAbstractListViewBase(aApplication, aViewId), iPlsModel(NULL)
 {
-    //this view won't be starting view, don't need lazy init
-    IrAbstractListViewBase::lazyInit();
-    setInitCompleted(true);
     setFlag(EViewFlag_ClearStackWhenActivate);
     
     connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
@@ -105,34 +101,13 @@
     iPlayController->connectToChannel(&preset, EIRQAdhocExternal);
 }
 
-void IRPlsView::listViewLongPressed(HbAbstractViewItem *aItem, const QPointF &aCoords)
+void IRPlsView::prepareMenu()
 {
-    Q_UNUSED(aItem);
-    Q_UNUSED(aCoords);
+    HbMenu *viewMenu = menu();
     
-    HbMenu *contextMenu = new HbMenu;
-    contextMenu->setAttribute(Qt::WA_DeleteOnClose);
-#ifdef SUBTITLE_STR_BY_LOCID
-    HbAction *action = contextMenu->addAction(hbTrId("txt_common_menu_delete"));
-#else
-    HbAction *action = contextMenu->addAction(hbTrId("Delete"));    
-#endif
-    action->setObjectName(KActionDeleteName);
-    contextMenu->open();
-    connect(contextMenu, SIGNAL(triggered(HbAction*)), this, SLOT(actionClicked(HbAction*)));
+    HbAction *openWebAddressAction = qobject_cast<HbAction *>(iLoader.findObject(GO_TO_STATION_ACTION));
+    HbAction *settings = qobject_cast<HbAction *>(iLoader.findObject(SETTINGS_ACTION));
+    viewMenu->removeAction(openWebAddressAction);
+    viewMenu->removeAction(settings);
 }
 
-
-void IRPlsView::actionClicked(HbAction *aAction)
-{
-    if (aAction)
-    {
-        QString name = aAction->objectName();
-        if (KActionDeleteName == name)
-        {
-            IRPlayList *playList = iApplication->getPlayList();
-            playList->deleteItem(iListView->currentIndex().row());
-            iListView->reset();
-        }
-    }
-}
--- a/qtinternetradio/ui/src/irsearchchannelsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irsearchchannelsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -51,38 +51,11 @@
 {
     LOG_METHOD;
     iSettings = IRQSettings::openInstance();    
-    //if this view is not starting view, finish all initialization in constructor
-    if (getViewManager()->views().count() > 0)
-    {
-        if (!initCompleted())
-        {            
-            normalInit();             
-        }
-    }
-}
-
-void IRSearchChannelsView::lazyInit()
-{
-    LOG_METHOD;
-    if (!initCompleted())
-    {
-        normalInit();                     
-    }        
-}
-
-void IRSearchChannelsView::normalInit()
-{
-    LOG_METHOD;
-    if (!initCompleted())
-    { 
-        IRBaseView::lazyInit();
-        loadLayout();
-        connectWidget();  
-        switch2InitState();       
-        initMenu();        
-        initTimer();
-        setInitCompleted(true);
-    }
+    loadLayout();
+    connectWidget();  
+    switch2InitState();       
+    initMenu();        
+    initTimer();
 }
 
 void IRSearchChannelsView::initMenu()
@@ -540,7 +513,13 @@
     case EIR_ViewCommand_ACTIVATED:         
         iIconIndexArray.clear();        
         iListView->clearFocus();
+        iSearchPanelWidget->setFocusDelegation(FocusDelegationFirstChild);  
         iSearchPanelWidget->setFocus();        
+        if( (0 == iChannelModel->rowCount()) 
+            && iKeyText.isEmpty() )
+        {
+            showVkb();
+        }
         connectIsdsClient();
         break;
         
@@ -569,6 +548,18 @@
   
     return false;
 }
+
+void IRSearchChannelsView::showVkb()
+{
+    QInputContext *ic = qApp->inputContext(); 
+    if (ic)
+    {
+        QEvent *event = new QEvent(QEvent::RequestSoftwareInputPanel);
+        ic->filterEvent(event);
+        delete event;
+    }
+}
+
 void IRSearchChannelsView::hideVkb()
 {
     QInputContext *ic = qApp->inputContext(); 
--- a/qtinternetradio/ui/src/irsettingsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irsettingsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -29,9 +29,6 @@
 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) :
     IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL)
 {
-    //this view won't be starting view, don't need lazy init
-    IRBaseView::lazyInit();
-    setInitCompleted(true);
     
     setFlag(EViewFlag_UnStackable);
     
--- a/qtinternetradio/ui/src/irsonghistoryview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irsonghistoryview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -29,11 +29,16 @@
 #include "irqenums.h"
 #include "irqstatisticsreporter.h"
 #include "irqsettings.h"
+#include "irqutility.h"
 #include "iruidefines.h"
 
 const QString KActionSearchInMusicStoreName("SearchInMusicStore");
 const QString KActionDeleteName("Delete");
 
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+static const int KDummyMusicStoreUid = 0xE609761B;
+#endif
+
 //                                         public functions
 
 /*
@@ -43,9 +48,6 @@
     IrAbstractListViewBase(aApplication, aViewId), iClearSongHistoryAction(NULL),
     iShowPrompt(false)
 {         
-    //this view won't be starting view, don't need lazy init
-    IrAbstractListViewBase::lazyInit();
-    setInitCompleted(true);
         
     iModel = new IRSongHistoryModel(this);
     iModel->setOrientation(getViewManager()->orientation());
@@ -131,21 +133,24 @@
  */
 void IRSongHistoryView::handleItemSelected()
 {     
-#ifdef STATISTIC_REPORT_TEST_ENABLED
-    // TODO : have to save preset id related to the song
-    iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,0);  
-    popupNote("Find in Music Store ...", HbMessageBox::MessageTypeInformation);
-#else
+    // TODO : NEED preset id related to the song
     int index = iListView->currentIndex().row();
     IRQSongInfo *hisInfo = iModel->getSongHistoryInfo(index); 
 
     if( hisInfo && ( 0 != hisInfo->getMusicshopStatus().compare("yes",Qt::CaseInsensitive) ) )
     {
+#ifdef STATISTIC_REPORT_TEST_ENABLED
+        if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+        {
+            iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
+        }    
+#else // STATISTIC_REPORT_TEST_ENABLED        
 #ifdef SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("txt_irad_info_not_allowed_by_this_station"), HbMessageBox::MessageTypeInformation);
-#else
+#else  // SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("Not allowed by station"), HbMessageBox::MessageTypeInformation);        
-#endif
+#endif // SUBTITLE_STR_BY_LOCID
+#endif // STATISTIC_REPORT_TEST_ENABLED 
         return;
     }
     
@@ -155,19 +160,31 @@
         )
       )
     {
+#ifdef STATISTIC_REPORT_TEST_ENABLED
+        // TODO : have to save preset id related to the song
+        if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+        {
+            iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsLaunch,0);
+        }    
+#else // STATISTIC_REPORT_TEST_ENABLED         
 #ifdef SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("txt_irad_info_no_song_info"), HbMessageBox::MessageTypeInformation);
-#else
+#else  // SUBTITLE_STR_BY_LOCID
         popupNote(hbTrId("No song info"), HbMessageBox::MessageTypeInformation);        
-#endif  
+#endif // SUBTITLE_STR_BY_LOCID
+#endif // STATISTIC_REPORT_TEST_ENABLED 
         return;
     }
 
-    // TODO : Add the report in future. Add the channel id in the song info db
-    // iStatisticsReporter->logNmsEvents(EIRQFind,channelId);
+#ifdef STATISTIC_REPORT_TEST_ENABLED    
+    if(IRQUtility::launchAppByUid(KDummyMusicStoreUid))
+    {
+        iStatisticsReporter->logNmsEvent(IRQStatisticsReporter::EIRNmsFind,0);
+    }
+#else // STATISTIC_REPORT_TEST_ENABLED 
 #ifdef SUBTITLE_STR_BY_LOCID
     popupNote(hbTrId("txt_irad_info_music_store_not_available"), HbMessageBox::MessageTypeInformation);
-#else
+#else  // SUBTITLE_STR_BY_LOCID
     popupNote(hbTrId("Music store not ready"), HbMessageBox::MessageTypeInformation);    
 #endif // SUBTITLE_STR_BY_LOCID
 #endif // STATISTIC_REPORT_TEST_ENABLED
@@ -279,7 +296,7 @@
     action = contextMenu->addAction(hbTrId("Delete"));    
 #endif
     action->setObjectName(KActionDeleteName);
-
+    contextMenu->setPreferredPos(aCoords);
     contextMenu->open();
 }
 
--- a/qtinternetradio/ui/src/irstationdetailsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irstationdetailsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -39,14 +39,10 @@
                                     iCountry(NULL),iBitRate(NULL),
                                     iNowPlayingUrl(NULL)
 {
-    //this view won't be starting view, don't need lazy init
-    IRBaseView::lazyInit();
-    setInitCompleted(true);
     
     createDetails();
     connect( getViewManager(), SIGNAL( orientationChanged(Qt::Orientation) ),
              this, SLOT( handleOrientationChanged(Qt::Orientation) ) );
-    handleOrientationChanged(getViewManager()->orientation());                 
 }
 
 IRStationDetailsView::~IRStationDetailsView()
@@ -75,6 +71,7 @@
         iNowPlayingUrl->setPlainText(urlList->at(KChannelURLIndex));
     }
     delete urlList;
+    handleOrientationChanged(getViewManager()->orientation());
 }
 
 /*
@@ -90,6 +87,7 @@
     iBitRate->setPlainText(QString::number(iPlayController->getNowPlayingBitRate()) + QString("kbps"));
     iDescription->setPlainText(nowPlayingPreset->description);
     iNowPlayingUrl->setPlainText(iPlayController->getNowPlayingUrl());
+    handleOrientationChanged(getViewManager()->orientation());
 }
 
 /*
--- a/qtinternetradio/ui/src/irstationsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irstationsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -19,6 +19,7 @@
 #include <hbaction.h>
 #include <QTimer>
 #include <hbscrollbar.h>
+#include <hgwidgets/hgcacheproxymodel.h>
 
 #include "irviewmanager.h"
 #include "irstationsview.h"
@@ -27,11 +28,11 @@
 #include "irqisdsclient.h"
 #include "irqenums.h"
 #include "irqutility.h"
-#include "irchannelmodel.h"
+#include "irchanneldataprovider.h"
 #include "irqisdsdatastructure.h"
 #include "irqnetworkcontroller.h"
 
-const int KBitmapSize = 59; 
+ 
 const uint KConnectTimeOut = 15000; //if the connecting take more than 15 seconds, we will show a pop up
 
 //                                      public functions
@@ -41,29 +42,22 @@
  */
 IRStationsView::IRStationsView(IRApplication* aApplication, TIRViewId aViewId) 
                                : IrAbstractListViewBase(aApplication, aViewId),
-                               iLogoPreset(NULL),  iPreset(NULL), 
+                               iPreset(NULL), 
                                iLastSelectitem(0)                        
 {       
-    //this view won't be starting view, don't need lazy init
-    IrAbstractListViewBase::lazyInit();
-    setInitCompleted(true);
-        
-    iIconIndexArray.clear();
-    iChannelModel = new IrChannelModel(this);
-    iListView->setModel(iChannelModel);
     
+    iDataProvider = new IRChannelDataProvider(this);
+    HgCacheProxyModel *model = new HgCacheProxyModel(this);
+    model->setDataProvider(iDataProvider, KCacheSize, KCacheThreshold);
+    iListView->setModel(model);
     
     iConnectTimer = new QTimer(this);
     iConnectTimer->setInterval(KConnectTimeOut);     
-    
-    iConvertTimer = new QTimer(this);
-    iConvertTimer->setInterval(10);    
-    
-    connect(iChannelModel, SIGNAL(dataAvailable()), this, SLOT(dataChanged()));    
+     
+    connect(iDataProvider, SIGNAL(dataAvailable()), this, SLOT(dataChanged()));    
     connect(iNetworkController, SIGNAL(networkRequestNotified(IRQNetworkEvent)),
             this, SLOT(networkRequestNotified(IRQNetworkEvent)));    
     connect(iConnectTimer, SIGNAL(timeout()), this, SLOT(connectTimeOut()));
-    connect(iConvertTimer, SIGNAL(timeout()), this, SLOT(convertAnother()));
 }
 
 /*
@@ -73,9 +67,6 @@
 {
     delete iPreset;
     iPreset = NULL;
-
-    delete iLogoPreset;
-    iLogoPreset = NULL;
 }
 
 void IRStationsView::loadCategoryStations(int aIndex, const QString &aHeadingText)
@@ -112,42 +103,24 @@
 TIRHandleResult IRStationsView::handleCommand(TIRViewCommand aCommand, TIRViewCommandReason aReason)
 {
     TIRHandleResult ret = IrAbstractListViewBase::handleCommand(aCommand, aReason);
-    int leftCount = 0;
     
     switch (aCommand)
     {   
     case EIR_ViewCommand_ACTIVATED:
         connect(iIsdsClient, SIGNAL(presetResponse(IRQPreset *)),
                 this, SLOT(presetResponse(IRQPreset *)));
-        connect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset* )),
-                this, SLOT(presetLogoDownload(IRQPreset* )));
-        connect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
-                this, SLOT(presetLogoDownloadError()));
         
-        leftCount = iIconIndexArray.count();
-        if( leftCount > 0 )
-        {
-            iConvertTimer->start();
-        }
+        iDataProvider->activate();
+        
         ret = EIR_NoDefault;
         break;
         
     case EIR_ViewCommand_DEACTIVATE:
-        if (aReason == EIR_ViewCommandReason_Back)
-        {
-            cleanupResource();
-        }
-        
-        iConnectTimer->stop();
-        iConvertTimer->stop();
-        iIsdsClient->isdsLogoDownCancelTransaction();         
+        iConnectTimer->stop();       
+        iDataProvider->deactivate();
         
         disconnect(iIsdsClient, SIGNAL(presetResponse(IRQPreset *)),
-                   this, SLOT(presetResponse(IRQPreset *)));
-        disconnect(iIsdsClient, SIGNAL(presetLogoDownloaded(IRQPreset*)),
-                   this, SLOT(presetLogoDownload(IRQPreset* )));
-        disconnect(iIsdsClient, SIGNAL(presetLogoDownloadError()),
-                   this, SLOT(presetLogoDownloadError()));        
+                   this, SLOT(presetResponse(IRQPreset *)));       
         ret = EIR_NoDefault;
         break;
 
@@ -164,7 +137,7 @@
     aNeedNetwork =  true;
     
     int index = iListView->currentIndex().row();
-    iPlayController->setConnectingStationName(iChannelModel->getChannelItemByIndex(index)->channelName);
+    iPlayController->setConnectingStationName(iDataProvider->getChannelItemByIndex(index)->channelName);
 }
 #endif
 
@@ -213,26 +186,16 @@
     iConnectTimer->stop();
     
     disconnectIsdsClient();
-    cleanupResource();
 
     iListView->reset();
-    iListView->setCurrentIndex(iChannelModel->index(iLastSelectitem));
-    iListView->scrollTo(iChannelModel->index(iLastSelectitem));
+    iListView->setCurrentIndex(iDataProvider->index(iLastSelectitem, 0));
+    iListView->scrollTo(iDataProvider->index(iLastSelectitem, 0));
     qreal value = 0.0;
     if (iListView->model()->rowCount() > 0)
     {
         value = iLastSelectitem / iListView->model()->rowCount();
     }
     iListView->verticalScrollBar()->setValue(value);
-    
-    //initialize the iconindices
-    for (int i = 0; i < iChannelModel->rowCount(); ++i)
-    {
-        if (iChannelModel->imageUrl(i) != "")
-        {
-            iIconIndexArray.append(i);
-        }
-    }
 
     getViewManager()->activateView(this);
     iApplication->stopLoadingAnimation();
@@ -305,76 +268,6 @@
     iApplication->stopLoadingAnimation();
 }
 
-void IRStationsView::startConvert(int aIndex)
-{
-    QString url = iChannelModel->imageUrl(aIndex);
- 
-    IRQPreset tempPreset;
-    tempPreset.imgUrl = url;
-    tempPreset.type = IRQPreset::EIsds;
-    
-    iIsdsClient->isdsLogoDownSendRequest(&tempPreset, 0, KBitmapSize, KBitmapSize); 
-}
-
- 
-//if the logo is downloaded ok
-void IRStationsView::presetLogoDownload(IRQPreset* aPreset)
-{
-    if( NULL == aPreset )
-    {
-        presetLogoDownloadError();
-        return;
-    } 
-    
- 
-    delete iLogoPreset;            
-    iLogoPreset = aPreset;    
-
-    if (iLogoPreset->logoData != KNullDesC8)
-    {         
-        QPixmap tempMap;  
-        const unsigned char * logoData = iLogoPreset->logoData.Ptr();     
-        bool ret = tempMap.loadFromData(logoData, iLogoPreset->logoData.Length());
-        QIcon convertIcon(tempMap);
-       
-        if( ret )
-        {            
-            HbIcon *hbIcon = new HbIcon(convertIcon);
-            int index = iIconIndexArray[0];
-            iChannelModel->setLogo(hbIcon, index);
-            iIconIndexArray.removeAt(0);     
-            int leftCount = iIconIndexArray.count(); 
-            if( leftCount > 0 )
-            {
-                iConvertTimer->start();  
-            }
-            return;
-        }     
-    }    
-    
-    presetLogoDownloadError(); 
-}
-
-//if the logo download fails
-void IRStationsView::presetLogoDownloadError()
-{
-    // if the logo download fails, try to download the next
-    iIconIndexArray.removeAt(0);
-    int leftCount = iIconIndexArray.count();
-    if( leftCount > 0 )
-    {
-        iConvertTimer->start();
-    }    
-}
-
-void IRStationsView::cleanupResource()
-{
-    iIconIndexArray.clear();
-
-    //destroy icons in time to save memory
-    iChannelModel->clearAndDestroyLogos();
-}
-
 void IRStationsView::networkRequestNotified(IRQNetworkEvent aEvent)
 {
     if (getViewManager()->currentView() != this)
@@ -388,11 +281,6 @@
         if (EIR_UseNetwork_SelectItem == getUseNetworkReason())
         {
             handleItemSelected();
-            int leftCount = iIconIndexArray.count();
-            if(0 != leftCount)
-            {
-                iConvertTimer->start();
-            }
         }
         
         break;
@@ -408,7 +296,7 @@
 void IRStationsView::connectToIsdsClient()
 {
     connect(iIsdsClient, SIGNAL(channelItemsChanged(QList<IRQChannelItem *> *)),
-            iChannelModel, SLOT(updateData(QList<IRQChannelItem *> *)));
+            iDataProvider, SLOT(updateData(QList<IRQChannelItem *> *)));
     
     connect(iIsdsClient, SIGNAL(operationException(IRQError)),
             this, SLOT(operationException(IRQError)));
@@ -417,23 +305,12 @@
 void IRStationsView::disconnectIsdsClient()
 {
     disconnect(iIsdsClient, SIGNAL(channelItemsChanged(QList<IRQChannelItem *> *)),
-               iChannelModel, SLOT(updateData(QList<IRQChannelItem *> *)));
+               iDataProvider, SLOT(updateData(QList<IRQChannelItem *> *)));
     
     disconnect(iIsdsClient, SIGNAL(operationException(IRQError)),
                this, SLOT(operationException(IRQError)));
 }
 
-void IRStationsView::convertAnother()
-{
-    iConvertTimer->stop();
-    int leftCount = iIconIndexArray.count();
-    
-    if(0 != leftCount)
-    {
-        startConvert(iIconIndexArray[0]);   
-    }
-}
-
 void IRStationsView::connectTimeOut()
 {    
     iConnectTimer->stop();
--- a/qtinternetradio/ui/src/irtermsconsview.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irtermsconsview.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -28,7 +28,6 @@
 {
     // This view need not to be stacked.
     setFlag(EViewFlag_UnStackable);
-    setInitCompleted(true);
     initViewContents();            
 }
 
--- a/qtinternetradio/ui/src/irviewmanager.cpp	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/src/irviewmanager.cpp	Thu Sep 02 20:17:46 2010 +0300
@@ -317,8 +317,8 @@
     IRBaseView *viewToHide = static_cast<IRBaseView*>(currentView());
     if( viewToHide )
     {
-        if( (EIRView_StationDetailsView == aView->id() && EIRView_PlayingView == viewToHide->id())
-          ||(EIRView_StationDetailsView == viewToHide->id() && EIRView_PlayingView == aView->id())
+        if( (EIRView_StationDetailsView == aView->id()) ||
+            (EIRView_StationDetailsView == viewToHide->id())
           )
         {
             setCurrentView(aView,true,Hb::ViewSwitchUseAltEvent); 
@@ -485,7 +485,7 @@
 
 void IRViewManager::handleViewReady()
 {    
-    IRBaseView *topView = static_cast<IRBaseView*>(currentView());
+    IRBaseView *topView = dynamic_cast<IRBaseView*>(currentView());
     if (topView)
     {
         topView->handleCommand(EIR_ViewCommand_ACTIVATED, EIR_ViewCommandReason_Show); 
@@ -583,7 +583,7 @@
 
 void IRViewManager::updateSoftkey()
 {
-    IRBaseView *topView = static_cast<IRBaseView*>(currentView());
+    IRBaseView *topView = dynamic_cast<IRBaseView*>(currentView());
     if (topView)
     {
         if (topView->testFlag(IRBaseView::EViewFlag_ClearStackWhenActivate))
--- a/qtinternetradio/ui/ui.pro	Wed Aug 18 09:40:26 2010 +0300
+++ b/qtinternetradio/ui/ui.pro	Thu Sep 02 20:17:46 2010 +0300
@@ -85,10 +85,11 @@
         -lirqsystemeventhandler \
         -lxqsettingsmanager \
         -lxqservice \
-        -lxqserviceutil
+        -lxqserviceutil \
+        -lhgcacheproxymodel
         	
 symbian{
-  TARGET.UID3 = 0xE28364bb
+  TARGET.UID3 = 0x2002FFAC
   TARGET.EPOCHEAPSIZE = 0x020000 0x2000000
   TARGET.VID = VID_DEFAULT
   SKINICON = qtg_large_internet_radio
@@ -110,6 +111,7 @@
            inc/irplaycontroller.h \
            inc/ircategorymodel.h \
            inc/irchannelmodel.h \
+           inc/irchanneldataprovider.h \
            inc/irabstractlistviewbase.h \
            inc/irfavoritesview.h \
            inc/irfavoritesmodel.h \
@@ -149,6 +151,7 @@
            irplaycontroller.cpp \
            ircategorymodel.cpp \
            irchannelmodel.cpp \
+           irchanneldataprovider.cpp \
            irabstractlistviewbase.cpp \
            irfavoritesview.cpp \
            irfavoritesmodel.cpp \
@@ -174,7 +177,15 @@
            irsearchresultdb.cpp \
            irfileviewservice.cpp \
            irplayingbanner.cpp
-          	   
+
+#docml      
+DOCML += resources/layout/abstractlistviewbase.docml \
+         resources/layout/nowplayingview.docml \
+         resources/layout/openwebaddressview.docml \
+         resources/layout/searchchannelsview.docml \
+         resources/layout/stationdetailsview.docml \
+         resources/layout/termsconsview.docml
+               	   
 #resource
 RESOURCES += resources/irui.qrc