201019_1
authorhgs
Mon, 17 May 2010 11:03:15 +0300
changeset 52 831068540b07
parent 51 e7f64b6bf69e
child 53 ff06ad965fd1
201019_1
layers.sysdef.xml
package_definition.xml
tsrc/group/bld.inf
usbengines/usbotgwatcher/src/cusbnotenotifier.cpp
usbengines/usbwatcher/group/bld.inf
usbengines/usbwatcher/group/usbwatcherserver.mmp
usbengines/usbwatcher/inc/cusbindicatorhandler.h
usbengines/usbwatcher/inc/cusbwatcher.h
usbengines/usbwatcher/loc/usbman.loc
usbengines/usbwatcher/rom/mtp_symbian_temp.iby
usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp
usbengines/usbwatcher/src/cusbactivestate.cpp
usbengines/usbwatcher/src/cusbindicatorhandler.cpp
usbengines/usbwatcher/src/cusbwatcher.cpp
usbengines/usbwatcher/src/tusbindicatorhandler.cpp
usbengines/usbwatcher/src/usbman_pcs.rss
usbengines/usbwatcher/src/usbman_pcsmtp.rss
usbengines/usbwatcher/src/usbman_pcsmtppam.rss
usbengines/usbwatcher/src/usbman_pcspam.rss
usbuis/group/bld.inf
usbuis/imageprintui/src/settingscontainer.cpp
usbuis/usbindicatorplugin/inc/usbaddressedindicator.h
usbuis/usbindicatorplugin/inc/usbindicator.h
usbuis/usbindicatorplugin/inc/usbindicatorplugin.h
usbuis/usbindicatorplugin/rom/usbindicatorplugin.iby
usbuis/usbindicatorplugin/rom/usbindicatorpluginresources.iby
usbuis/usbindicatorplugin/src/usbaddressedindicator.cpp
usbuis/usbindicatorplugin/src/usbindicator.cpp
usbuis/usbindicatorplugin/src/usbindicatorplugin.cpp
usbuis/usbindicatorplugin/usbindicatorplugin.pro
usbuis/usbsettingsapp/USBSettingsApp.pro
usbuis/usbsettingsapp/inc/ui_USBSettingsApp.h
usbuis/usbsettingsapp/inc/usbdebug.h
usbuis/usbsettingsapp/inc/usbsettingsapp.h
usbuis/usbsettingsapp/inc/usbuimodelactive.h
usbuis/usbsettingsapp/inc/usbuisettingmodel.h
usbuis/usbsettingsapp/rom/usbsettingsapp.iby
usbuis/usbsettingsapp/rom/usbsettingsappresources.iby
usbuis/usbsettingsapp/src/USBSettingsApp.ui
usbuis/usbsettingsapp/src/hblistviewitem.css
usbuis/usbsettingsapp/src/hblistviewitem.widgetml
usbuis/usbsettingsapp/src/main.cpp
usbuis/usbsettingsapp/src/usbsettinglayout.qrc
usbuis/usbsettingsapp/src/usbsettingsapp.cpp
usbuis/usbsettingsapp/src/usbsettingsapp.docml
usbuis/usbsettingsapp/src/usbsettingsapp.qrc
usbuis/usbsettingsapp/src/usbsettingsapp.ts
usbuis/usbsettingsapp/src/usbuimodelactive.cpp
usbuis/usbsettingsapp/src/usbuisettingmodel.cpp
usbuis/usbuinotif/data/102068DC.rss
usbuis/usbuinotif/data/usbuinotif.rss
usbuis/usbuinotif/group/bld.inf
usbuis/usbuinotif/group/localization.mk
usbuis/usbuinotif/group/usbuinotif.mmp
usbuis/usbuinotif/inc/usbnotifier.h
usbuis/usbuinotif/inc/usbuincableconnectednotifier.h
usbuis/usbuinotif/inc/usbuinotifmsmmerror.h
usbuis/usbuinotif/inc/usbuinotifotgerror.h
usbuis/usbuinotif/inc/usbuinotifotgwarning.h
usbuis/usbuinotif/inc/usbuinqueriesnotifier.h
usbuis/usbuinotif/inc/usbuinqueriesnotifiermdrv.h
usbuis/usbuinotif/rom/usbuinotifresources.iby
usbuis/usbuinotif/src/usbnotifier.cpp
usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp
usbuis/usbuinotif/src/usbuinmain.cpp
usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp
usbuis/usbuinotif/src/usbuinotifotgerror.cpp
usbuis/usbuinotif/src/usbuinotifotgwarning.cpp
usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp
usbuis/usbuinotif/tsrc/usbuinotifapitest/conf/ui_usbuinotifapitest.cfg
usbuis/usbuinotif/tsrc/usbuinotifapitest/group/usbuinotifapitest.mmp
usbuis/usbuinotif/tsrc/usbuinotifapitest/inc/usbuinotifapitest.h
usbuis/usbuinotif/tsrc/usbuinotifapitest/inc/usbuinotifapitestdebug.inl
usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest.ini
usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest_phone.ini
usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitest.cpp
usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitestblocks.cpp
--- a/layers.sysdef.xml	Sun May 02 21:57:48 2010 +0300
+++ b/layers.sysdef.xml	Mon May 17 11:03:15 2010 +0300
@@ -15,9 +15,10 @@
         <unit unitID="lcdo.usbservices.usbclasses.usbhidclassdriver" mrp="" bldFile="&layer_real_source_path;/usbclasses/usbhidclassdriver/group" filter="!sf_build" name="usbservices_usbclasses_usbhidclassdriver" />
         <unit unitID="lcdo.usbservices.usbuis.rndisui" mrp="" bldFile="&layer_real_source_path;/usbuis/rndisui/group" filter="!sf_build" name="usbservices_usbuis_rndisui" />
       </module>
-      <module name="usbuiqt">
-        <unit unitID="lcdo.usbservices.usbclasses.usbuiqt" mrp="" bldFile="&layer_real_source_path;/usbuis/usbuiqt" name="usbservices_usbuis_usbapplication" proFile="usbapplication.pro" qmakeArgs="" />
-      </module>
+      <module name="usbqtui">
+        <unit unitID="lcdo.usbservices.usbuis.usbsettingsapp" mrp="" bldFile="&layer_real_source_path;/usbuis/usbsettingsapp" name="usbservices_usbuis_usbsettingsapp" proFile="USBSettingsApp.pro" qmakeArgs="-r" />
+        <unit unitID="lcdo.usbservices.usbuis.usbindicatorplugin" mrp="" bldFile="&layer_real_source_path;/usbuis/usbindicatorplugin" name="usbservices_usbuis_usbindicatorplugin" proFile="usbindicatorplugin.pro" qmakeArgs="-r" />
+     </module>
     </layer>
     <layer name="api_test_layer">
       <module name="usbservices_test">
--- a/package_definition.xml	Sun May 02 21:57:48 2010 +0300
+++ b/package_definition.xml	Mon May 17 11:03:15 2010 +0300
@@ -36,9 +36,6 @@
       </component>
     </collection>
     <collection id="usbuis" name="USB UIs" level="specific">
-      <component id="usbui" filter="s60" name="USB UI">
-        <unit bldFile="usbuis/usbui/group"/>
-      </component>
       <component id="usbuinotif" filter="s60" name="USB UI Notifiers">
         <unit bldFile="usbuis/usbuinotif/group"/>
       </component>
--- a/tsrc/group/bld.inf	Sun May 02 21:57:48 2010 +0300
+++ b/tsrc/group/bld.inf	Mon May 17 11:03:15 2010 +0300
@@ -24,7 +24,6 @@
 
 //build files for usb
 #include "../../usbclasses/msmmplugin/tsrc/MsmmPluginTest/group/bld.inf"
-#include "../../usbuis/usbui/tsrc/USBUiApiTest/group/bld.inf"
 #include "../../usbuis/usbuinotif/tsrc/USBUiNotifApiTest/group/bld.inf"
 #include "../../usbclasses/usbhidclassdriver/tsrc/UsbHidClassDriverTest/group/bld.inf"
 
--- a/usbengines/usbotgwatcher/src/cusbnotenotifier.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbotgwatcher/src/cusbnotenotifier.cpp	Mon May 17 11:03:15 2010 +0300
@@ -130,14 +130,15 @@
 
     LOG1( "iStatus = %d" , iStatus.Int());
 
-    // if error occured, deal with it in RunError
-    LEAVEIFERROR(iStatus.Int());
+    // if iStatus contains some other than KErrNone code
+    // do not perform any special actions, 
+    // just forward the error code to caller
 
     iNotifier.CancelNotifier(iUsbNoteNotifier.iCat);
 
     // report to owner that show is over
     iUsbNoteNotifier.iNotifManager.NotifierShowCompletedL(iUsbNoteNotifier,
-            KErrNone, iRes());
+            iStatus.Int(), iRes());
     }
 
 // ---------------------------------------------------------------------------
@@ -159,8 +160,6 @@
 
     LOG1("aError = %d" , aError);
 
-    iNotifier.CancelNotifier(iUsbNoteNotifier.iCat);
-
     // try to continue  
     return KErrNone;
     }
--- a/usbengines/usbwatcher/group/bld.inf	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/group/bld.inf	Mon May 17 11:03:15 2010 +0300
@@ -33,7 +33,6 @@
 backup_registration.xml  /epoc32/release/winscw/udeb/z/private/101F9696/backup_registration.xml
 backup_registration.xml  /epoc32/release/winscw/urel/z/private/101F9696/backup_registration.xml
 
-../loc/usbman.loc MW_LAYER_LOC_EXPORT_PATH(usbman.loc)
 ../rom/usbwatcher.iby CORE_MW_LAYER_IBY_EXPORT_PATH(usbwatcher.iby)
 // This file contains actual personality rss data
 ../rom/usbwatcher_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(usbwatcher_resources.iby)
@@ -46,6 +45,5 @@
 ../conf/usbwatcher_101F8801.crml MW_LAYER_CRML(usbwatcher_101F8801.crml)
 
 ../rom/mtp_symbian_temp.iby CORE_MW_LAYER_IBY_EXPORT_PATH(mtp_symbian_temp.iby)
-
 // End of file
 
--- a/usbengines/usbwatcher/group/usbwatcherserver.mmp	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/group/usbwatcherserver.mmp	Mon May 17 11:03:15 2010 +0300
@@ -37,7 +37,7 @@
 SOURCE      cusbdevicelock.cpp
 SOURCE      cusbdevconstarter.cpp
 SOURCE      cusbglobalsystemstateobserver.cpp
-SOURCE      tusbindicatorhandler.cpp
+SOURCE      cusbindicatorhandler.cpp
 
 
 USERINCLUDE   ../inc
@@ -45,6 +45,7 @@
 MW_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE ../../usbotgwatcher/inc
 SYSTEMINCLUDE   /epoc32/include/usb
+SYSTEMINCLUDE   /epoc32/include/mw/hb/hbcore
 
 
 START RESOURCE usbman_pcsmtp.rss
@@ -84,5 +85,6 @@
 LIBRARY       centralrepository.lib // Central Repository (USB Personality API)
 LIBRARY       featmgr.lib
 LIBRARY       usbotgwatcher.lib  //OTG
+LIBRARY       hbcore.lib
 
 DEBUGLIBRARY  flogger.lib            // File logging
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbengines/usbwatcher/inc/cusbindicatorhandler.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2009-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:  Header file for class CUsbIndicatorHandler
+*
+*/
+
+
+#ifndef CUSBINDICATORHANDLER_H
+#define CUSBINDICATORHANDLER_H
+
+#include <bldvariant.hrh>
+#include <usbstates.h>
+#include <e32std.h>
+#include <e32base.h>
+
+class CHbIndicatorSymbian;
+class CHbSymbianVariant;
+
+/**
+*  USB indicator handler class for device side.
+*
+*  This class shows USB indicator when device state changes to Configured, 
+*  and hides USB indicator when device leaves Configured state. Suspended 
+ * state does not change the indicator.
+*
+*  @since TB9.2
+*/
+NONSHARABLE_CLASS( CUsbIndicatorHandler ) : public CBase
+    {
+    friend class CtTUsbIndicatorHandler;
+
+public:
+    // Constructors and destructor
+
+    /**
+     * Destructor.
+     */
+    ~CUsbIndicatorHandler();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CUsbIndicatorHandler* NewL();
+
+    /**
+     * Two-phased constructor.
+     */
+    static CUsbIndicatorHandler* NewLC();
+
+private:
+
+    /**
+     * Constructor for performing 1st stage construction
+     */
+    CUsbIndicatorHandler();
+
+    /**
+     * EPOC default constructor for performing 2nd stage construction
+     */
+    void ConstructL();
+
+
+public:
+        
+	/**
+     * Set USB indicator (On/Off, maybe more in future) according to 
+     * the change of USB device state
+     *
+     * @param aStateOld previous USB device state
+     * @param aStateNew current USB device state
+     */
+    void HandleDeviceStateChangeL( TUsbDeviceState aStateOld, 
+            TUsbDeviceState aStateNew, TInt aPersonality );
+            
+private:
+	/**
+     * Show USB connected indicator (On/Off, maybe more in future)
+     *
+     * @since TB9.2
+     * @param aActivate activate or deactivate the indicator
+     * @param aPersonality the personality id
+     */
+    void ShowUsbConnectedIndicatorL( TBool aActivate, TInt aPersonality );
+
+	/**
+     * Show USB addressed state indicator (On/Off, maybe more in future)
+     *
+     * @since TB9.2
+     * @param aActivate activate or deactivate the indicator
+     */    
+    void ShowUsbAddressedIndicator( TBool aActivate );
+	
+private:
+    /**
+     * The device state before suspend.
+     * Used to filter out suspend from others;
+     */
+    TUsbDeviceState iDevStateB4Suspend;
+    
+    CHbIndicatorSymbian* iSymbianIndicator;
+    
+    CHbSymbianVariant* iIndicatorParameters;
+    
+    // remember whether indicators are active or not
+    // simplifies little bit the state handling in HandleDeviceStateChange 
+    TBool iAddressedIndicatorActive;
+    TBool iConnectedIndicatorActive;
+  
+    };
+    
+
+#endif   // CUSBINDICATORHANDLER_H
+
+// End of File
--- a/usbengines/usbwatcher/inc/cusbwatcher.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/inc/cusbwatcher.h	Mon May 17 11:03:15 2010 +0300
@@ -30,7 +30,7 @@
 #include "debug.h"
 #include "musbwatchernotify.h"
 #include "cusbwatchersession.h"
-#include "tusbindicatorhandler.h"
+#include "cusbindicatorhandler.h"
 
 
 class CUsbActiveState;
@@ -180,7 +180,7 @@
      * @param aStateOld old device state
      * @param aStateNew new device state
      */
-    void StateChangeNotify( TUsbDeviceState aStateOld, 
+    void StateChangeNotifyL( TUsbDeviceState aStateOld, 
             TUsbDeviceState aStateNew );
     
    
@@ -442,7 +442,7 @@
     /*
      * USB indicator handler to handle device side indicator
      */
-    TUsbIndicatorHandler iUsbIndicatorHandler;
+    CUsbIndicatorHandler* iUsbIndicatorHandler;
     
     /*
      * Starting mode is normal?
--- a/usbengines/usbwatcher/loc/usbman.loc	Sun May 02 21:57:48 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project usbwatcher
-*
-*/
-
-
-//d: List item text of USBUI Setting view
-//d: for "Ovi suite". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_ovisuite "Ovi Suite"
-
-//d: List item text of USBUI Setting view
-//d: for "Mass storage". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_mass_storage "Mass storage"
-
-//d: List item text of USBUI Setting view
-//d: for "Image print". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_ptp "Image print"
-
-//d: List item text of USBUI Setting view
-//d: for "Media transfer". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_mtp "Media transfer"
-
-//d: List item text of USBUI Setting view
-//d: for "Ovi Suite". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_ovisuite_mtp "Ovi Suite"
-
-//d: List item text of USBUI Setting view
-//d: for "Connect to internet". 
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_quickconnect "Connect PC to Web"
-
-//d: List item text of USBUI Setting view, not to be localized
-//d: for "RNDIS"
-//d: This text is also used in USB connected popup
-//l: list_double_large_graphic_pane_t1_cp2
-//w:
-//r: 5.2
-//
-#define qtn_usb_mode_rndis "Connect PC with RNDIS"
-
-//d: text describing the mass storage mode, shown in preview pop up in USB UI Setting 
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_mass_storage "Access your phone’s memory card from the device you are connected to."
-
-//d: text describing the ovi suite mode, shown in preview pop up in USB UI setting
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_ovi_suite "Manage your phone with Ovi Suite and sync your media content."
-
-//d: text describing the media transfer mode, shown in preview pop up in USB UI setting
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_mtp "Sync your media content with Windows Media Player or Nokia Ovi Player, or connect to compatible stereos."
-
-//d: text describing the picture transfer mode, shown in preview pop up in USB UI setting
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_ptp "Print pictures with a compatible printer."
-
-//d: text describing the Phone as modem mode, shown in preview pop up in USB UI setting
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_pam "Use your mobile phone as a modem"
-
-//d: text describing the Phone as RNDIS mode, shown in preview pop up in USB UI setting, not to be localized
-//l: popup_preview_text_window/opt6
-//r: 5.2
-#define qtn_usb_mode_msg_rndis "Use your mobile phone as RNDIS"
--- a/usbengines/usbwatcher/rom/mtp_symbian_temp.iby	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/rom/mtp_symbian_temp.iby	Mon May 17 11:03:15 2010 +0300
@@ -122,7 +122,6 @@
 ECOM_PLUGIN(mtpmetadataservice.dll, mtpmetadataservice.rsc)
 // MTP plugin registration resource file
 data=EPOCROOT##epoc32\data\Z\resource\mtp\2001A9A3.rsc  resource\mtp\2001A9A3.rsc
-data=EPOCROOT##epoc32\data\Z\deviceexperiences\default\en-us\A42998DC-D9BD-4287-A2EA-46116889443C.devicemetadata-ms deviceexperiences\default\en-us\A42998DC-D9BD-4287-A2EA-46116889443C.devicemetadata-ms
 #endif // SYMBIAN_EXCLUDE_MTP
 #endif // MTP_METADATASERVICE_IBY
 
--- a/usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/cusbactivepersonalityhandler.cpp	Mon May 17 11:03:15 2010 +0300
@@ -270,12 +270,9 @@
     iDeviceState = aStateNew;        
     switch ( aStateNew )
         {
-        case EUsbDeviceStateAddress:
+        case EUsbDeviceStateConfigured:
             {
-            if( iAskOnConnectionSetting &&
-                    ( aStateOld != EUsbDeviceStateSuspended ) &&
-                    ( aStateOld != EUsbDeviceStateConfigured ) 
-                     )
+            if( aStateOld != EUsbDeviceStateSuspended ) 
                 {
                 iPersonalityParams->PersonalityNotifier().ShowQuery(
                         KCableConnectedNotifierUid, iDummy,
--- a/usbengines/usbwatcher/src/cusbactivestate.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/cusbactivestate.cpp	Mon May 17 11:03:15 2010 +0300
@@ -56,7 +56,7 @@
     // start USB if cable is pluged-in at bootup
     if( EUsbDeviceStateUndefined != iCurrentState )
         {
-        iOwner.StateChangeNotify( iPreviousState, iCurrentState );
+        iOwner.StateChangeNotifyL( iPreviousState, iCurrentState );
         iPreviousState = iCurrentState;
         }
     iUsbMan.DeviceStateNotification( KUsbAllStates, iCurrentState, iStatus );
@@ -106,7 +106,7 @@
         {
         LOG2( "USB device state changed: %d ==> %d", iPreviousState,
             newState );
-        iOwner.StateChangeNotify( iPreviousState, newState );
+        iOwner.StateChangeNotifyL( iPreviousState, newState );
         iPreviousState = newState;
         }
      else
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbengines/usbwatcher/src/cusbindicatorhandler.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,209 @@
+/*
+* Copyright (c) 2009-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:  This implements TUsbIndicatorHandler class.
+*
+*/
+
+#include <e32std.h>
+#include <hbindicatorsymbian.h>
+#include <hbsymbianvariant.h>
+#include <usbman.h>
+#include "debug.h"
+#include "cusbindicatorhandler.h"
+
+
+// ---------------------------------------------------------------------------
+// C++ Constructor 
+// ---------------------------------------------------------------------------
+//
+
+CUsbIndicatorHandler::CUsbIndicatorHandler()
+    {
+    // No implementation required
+    }
+
+CUsbIndicatorHandler::~CUsbIndicatorHandler()
+    {
+    delete iSymbianIndicator;  
+
+    }
+
+CUsbIndicatorHandler* CUsbIndicatorHandler::NewLC()
+    {
+    CUsbIndicatorHandler* self = new (ELeave) CUsbIndicatorHandler();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    return self;
+    }
+
+CUsbIndicatorHandler* CUsbIndicatorHandler::NewL()
+    {
+    CUsbIndicatorHandler* self = CUsbIndicatorHandler::NewLC();
+    CleanupStack::Pop(); // self;
+    return self;
+    }
+
+void CUsbIndicatorHandler::ConstructL()
+    {
+     LOG_FUNC    
+        
+    iDevStateB4Suspend = EUsbDeviceStateUndefined;
+    iSymbianIndicator = CHbIndicatorSymbian::NewL();
+    }
+
+// ---------------------------------------------------------------------------
+// Change USB Indicator 
+// ---------------------------------------------------------------------------
+//
+void CUsbIndicatorHandler::HandleDeviceStateChangeL( TUsbDeviceState aStateOld, 
+            TUsbDeviceState aStateNew, TInt aPersonality )
+    {
+    LOG_FUNC
+
+    LOG2( "USB device state changed: %d ==> %d", aStateOld, aStateNew );
+    
+    if ( EUsbDeviceStateAddress == aStateNew ) // Entering addressed state
+        {
+       // going down configured -> addressed     
+       if( ( EUsbDeviceStateConfigured == aStateOld ) ||
+            ( ( EUsbDeviceStateSuspended == aStateOld ) &&
+              ( EUsbDeviceStateConfigured == iDevStateB4Suspend ) ) ) 
+            {
+            ShowUsbConnectedIndicatorL( EFalse, aPersonality );
+            }
+        
+        // connecting indicator will be shown when addressed state is entered going up or down
+        // note that when disconnecting the cable (no need to show connecting indicator)
+        // the state change is CONFIGURED => SUSPENDED => POWERED => UNDEFINED    
+        // filter out case of addressed -> suspended -> addressed
+        if ( ( EUsbDeviceStateSuspended != aStateOld ) || 
+             ( EUsbDeviceStateAddress != iDevStateB4Suspend) )
+            {
+            ShowUsbAddressedIndicator( ETrue );
+            }
+        }
+    
+    else if ( EUsbDeviceStateConfigured == aStateNew ) // Entering configured state 
+        {
+        // filter out case of configed -> suspended -> configed
+        if ( ( EUsbDeviceStateSuspended != aStateOld ) || 
+             ( EUsbDeviceStateConfigured != iDevStateB4Suspend) )
+            {
+            ShowUsbAddressedIndicator( EFalse );    
+            ShowUsbConnectedIndicatorL( ETrue, aPersonality );
+            }
+        }
+     
+    else if ( EUsbDeviceStateUndefined == aStateNew ) // Entering undefined
+        {
+        ShowUsbAddressedIndicator( EFalse );
+        ShowUsbConnectedIndicatorL( EFalse, aPersonality );
+        }   
+        
+        
+    else if ( EUsbDeviceStateSuspended == aStateNew )
+    // If current state is suspend, we do not change the indicator, but save
+    // the previous state
+        {
+        iDevStateB4Suspend = aStateOld;
+        }
+    else // New device state is not configured, nor suspended, nor addressed
+        {
+        ShowUsbConnectedIndicatorL( EFalse, aPersonality );       
+        } 
+  
+    }
+    
+// ---------------------------------------------------------------------------
+// Show USB Indicator
+// ---------------------------------------------------------------------------
+//
+void CUsbIndicatorHandler::ShowUsbConnectedIndicatorL( TBool aActivate, TInt aPersonality )
+    {
+     LOG_FUNC    
+     TBool success = EFalse;
+     _LIT(KUsbIndicator, "com.nokia.hb.indicator.usb.device.connected/1.0");  
+     
+     if (aActivate)
+        {
+        RUsb usbman;
+        User::LeaveIfError(usbman.Connect());
+        CleanupClosePushL(usbman);
+        HBufC* description = NULL;
+        User::LeaveIfError(usbman.GetDescription(aPersonality,
+             description));
+        CleanupStack::PopAndDestroy(&usbman);
+        CleanupStack::PushL(description);
+        CHbSymbianVariant* parameters = CHbSymbianVariant::NewL(description, CHbSymbianVariant::EDes);
+        CleanupStack::PopAndDestroy(description);       
+        success = iSymbianIndicator->Activate(KUsbIndicator, parameters);   
+        LOG1( "calling CHbIndicatorSymbian::Activate(), returned %d", success);
+        if (!success)
+            {
+            TInt indicatorerror = iSymbianIndicator->Error();
+            LOG1( "activating the indicator failed with %d", indicatorerror);
+            }
+        else
+            {
+            iConnectedIndicatorActive = ETrue;    
+            }    
+        delete parameters;  
+        }    
+     else if (iConnectedIndicatorActive)
+        {
+        success = iSymbianIndicator->Deactivate(KUsbIndicator); 
+        LOG1( "calling CHbIndicatorSymbian::Deactivate(), returned %d", success);
+        if (success)
+            {
+            iConnectedIndicatorActive = EFalse;    
+            }        
+        LOG( "calling CHbIndicatorSymbian::Deactivate()");
+        }
+   
+   }
+
+void CUsbIndicatorHandler::ShowUsbAddressedIndicator( TBool aActivate  )
+    {
+     LOG_FUNC    
+     TBool success = EFalse;
+     _LIT(KUsbIndicator, "com.nokia.hb.indicator.usb.device.inprogress/1.0");  
+     if (aActivate)
+        {
+        success = iSymbianIndicator->Activate(KUsbIndicator);   
+        LOG1( "calling CHbIndicatorSymbian::Activate(), returned %d", success);
+        if (!success)
+            {
+            TInt indicatorerror = iSymbianIndicator->Error();
+            LOG1( "activating the indicator failed with %d", indicatorerror);
+            }
+        else
+            {
+            iAddressedIndicatorActive = ETrue;    
+            }
+        }    
+     else if (iAddressedIndicatorActive)
+        {
+        success = iSymbianIndicator->Deactivate(KUsbIndicator); 
+        LOG1( "calling CHbIndicatorSymbian::Deactivate(), returned %d", success);
+        if (success)
+            {
+            iAddressedIndicatorActive = EFalse;    
+            }
+        LOG( "calling CHbIndicatorSymbian::Deactivate()");
+        }
+   }
+   
+
+
+// End of file
--- a/usbengines/usbwatcher/src/cusbwatcher.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/cusbwatcher.cpp	Mon May 17 11:03:15 2010 +0300
@@ -106,6 +106,7 @@
     iGlobalStateObserver = CUsbGlobalSystemStateObserver::NewL( *this );
     iUsbDevConStarter = CUsbDevConStarter::NewL();
     iActiveState = CUsbActiveState::NewL( iUsbMan, *this );
+    iUsbIndicatorHandler   = CUsbIndicatorHandler::NewL();
     }
 
 // ----------------------------------------------------------------------------
@@ -147,6 +148,7 @@
     delete iUsbDeviceLock;
     delete iGlobalStateObserver;
     iSupportedPersonalities.Close();
+    delete iUsbIndicatorHandler;
     }
 
 // ----------------------------------------------------------------------------
@@ -217,7 +219,7 @@
 // This method notifies CUsbWatcher class about USB state changes.
 // ----------------------------------------------------------------------------
 //
-void CUsbWatcher::StateChangeNotify( TUsbDeviceState aStateOld,  
+void CUsbWatcher::StateChangeNotifyL( TUsbDeviceState aStateOld,  
         TUsbDeviceState aStateNew )
     {
     LOG_FUNC
@@ -226,7 +228,7 @@
     // Not show USB indicator in charging mode
     if ( iNormalStart ) 
         {
-        iUsbIndicatorHandler.HandleDeviceStateChange( aStateOld, aStateNew );
+        iUsbIndicatorHandler->HandleDeviceStateChangeL( aStateOld, aStateNew, iPersonalityId );
         }
         
     if ( IsDeviceA() ) // Will be handled by UsbOtgWatcher
--- a/usbengines/usbwatcher/src/tusbindicatorhandler.cpp	Sun May 02 21:57:48 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This implements TUsbIndicatorHandler class.
-*
-*/
-
-
-#include <e32std.h>
-#include <AknNotifySignature.h> // SAknNotifierPackage
-#include <avkon.hrh> //EAknIndicatorUSBConnection
-#include "tusbindicatorhandler.h"
-#include "debug.h"
-
-// ---------------------------------------------------------------------------
-// C++ Constructor 
-// ---------------------------------------------------------------------------
-//
-TUsbIndicatorHandler::TUsbIndicatorHandler() 
-    : iDevStateB4Suspend( EUsbDeviceStateUndefined )
-    , iUsbIndicator(EFalse)
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Change USB Indicator 
-// ---------------------------------------------------------------------------
-//
-void TUsbIndicatorHandler::HandleDeviceStateChange( TUsbDeviceState aStateOld, 
-            TUsbDeviceState aStateNew )
-    {
-    LOG_FUNC
-
-    LOG2( "USB device state changed: %d ==> %d", aStateOld, aStateNew );
-    
-    if ( EUsbDeviceStateConfigured == aStateNew ) // Entering configed state 
-        {
-        // filter out case of configed -> suspended -> configed
-        if ( ( EUsbDeviceStateSuspended != aStateOld ) || 
-             ( EUsbDeviceStateConfigured != iDevStateB4Suspend) )
-            {
-            ShowUsbIndicator( ETrue );
-            }
-        }
-    else if ( EUsbDeviceStateSuspended == aStateNew )
-    // If current state is suspend, we do not change the indicator, but save
-    // the previous state
-        {
-        iDevStateB4Suspend = aStateOld;
-        }
-    else // New device state is not configured, nor suspended
-        {
-        // Hide USB indicator if previous state is either configured, or
-        // suspended AND state before is not configured
-        if( ( EUsbDeviceStateConfigured == aStateOld ) ||
-            ( ( EUsbDeviceStateSuspended == aStateOld ) &&
-              ( EUsbDeviceStateConfigured == iDevStateB4Suspend ) ) ) 
-            {
-            ShowUsbIndicator( EFalse );
-            }
-        } 
-    }
-    
-// ---------------------------------------------------------------------------
-// Show USB Indicator
-// ---------------------------------------------------------------------------
-//
-void TUsbIndicatorHandler::ShowUsbIndicator( TInt aUsbIndicatorState )
-    {
-    LOG_FUNC
-    
-    iUsbIndicator = aUsbIndicatorState;
-    LOG1( "USB indicator state %d", aUsbIndicatorState );
-    RNotifier notifier;
-    TInt err = notifier.Connect();
-    if ( KErrNone == err )
-        {
-        TPckgBuf< SAknNotifierPackage<SAknSmallIndicatorParams> > pckg;
-        pckg().iParamData.iSmallIndicatorUid =
-            TUid::Uid( EAknIndicatorUSBConnection );
-        pckg().iParamData.iValue = aUsbIndicatorState ? 
-            EAknIndicatorStateOn : EAknIndicatorStateOff ;
-        notifier.StartNotifier( KAknSmallIndicatorUid, pckg );
-        notifier.Close();
-        }
-    else
-        {
-        LOG1( "RNotifier::Connect error: %d", err );
-        }
-    }
-
-// End of file
--- a/usbengines/usbwatcher/src/usbman_pcs.rss	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/usbman_pcs.rss	Mon May 17 11:03:15 2010 +0300
@@ -21,7 +21,6 @@
 #include <badef.rh>
 #include <bldvariant.hrh>
 #include <usbpersonalityids.h>
-#include <usbman.loc>
 #include "usbman.rh"
 #include "usbvariation.rh"
 
@@ -52,7 +51,7 @@
             product = per_product;
             id = KUsbPersonalityIdPCSuite;
             class_uids = "101fbf22, 101fbf24, 10281F2A, 101FB43A";
-            description = qtn_usb_mode_ovisuite;
+            description = "ovi suite";
             detailedDescription = qtn_usb_mode_msg_ovi_suite;
             property = 0x00000000;
 			
@@ -72,7 +71,7 @@
             product = per_product;
             id = KUsbPersonalityIdMS;
             class_uids = "10204bbc";
-            description = qtn_usb_mode_mass_storage;
+            description = "mass storage";
             detailedDescription = qtn_usb_mode_msg_mass_storage;
             property = 0x00000000;
 			
--- a/usbengines/usbwatcher/src/usbman_pcsmtp.rss	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/usbman_pcsmtp.rss	Mon May 17 11:03:15 2010 +0300
@@ -21,7 +21,6 @@
 #include <badef.rh>
 #include <bldvariant.hrh>
 #include <usbpersonalityids.h>
-#include <usbman.loc>
 #include "usbman.rh"
 #include "usbvariation.rh"
 
@@ -54,7 +53,7 @@
             product = per_product;
             id = KUsbPersonalityIdPCSuiteMTP;
             class_uids = "102827B3, 101fbf22, 101fbf24, 10281F2A, 101FB43A";
-            description = qtn_usb_mode_ovisuite_mtp;
+            description = "ovi suite";
             detailedDescription = qtn_usb_mode_msg_ovi_suite;
             property = 0x00000000;
             }
@@ -72,7 +71,7 @@
             product = per_product;
             id = KUsbPersonalityIdMS;
             class_uids = "10204bbc";
-            description = qtn_usb_mode_mass_storage;
+            description = "mass storage";
             detailedDescription = qtn_usb_mode_msg_mass_storage;
             property = 0x00000000;
             }
@@ -90,7 +89,7 @@
             product = per_product;
             id = KUsbPersonalityIdMTP;
             class_uids = "102827B3";
-            description = qtn_usb_mode_mtp;
+            description = "media transfer";
             detailedDescription = qtn_usb_mode_msg_mtp;
             property = 0x00000000;
             }
--- a/usbengines/usbwatcher/src/usbman_pcsmtppam.rss	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/usbman_pcsmtppam.rss	Mon May 17 11:03:15 2010 +0300
@@ -21,7 +21,6 @@
 #include <badef.rh>
 #include <bldvariant.hrh>
 #include <usbpersonalityids.h>
-#include <usbman.loc>
 #include "usbman.rh"
 #include "usbvariation.rh"
 
@@ -53,7 +52,7 @@
             product = per_product;
             id = KUsbPersonalityIdPCSuiteMTP;
             class_uids = "102827B3, 101fbf22, 101fbf24, 10281F2A, 101FB43A";
-            description = qtn_usb_mode_ovisuite_mtp;
+            description = "ovi suite";
             detailedDescription = qtn_usb_mode_msg_ovi_suite;
             property = 0x00000000;
 			
@@ -73,7 +72,7 @@
             product = per_product;
             id = KUsbPersonalityIdMS;
             class_uids = "10204bbc";
-            description = qtn_usb_mode_mass_storage;
+            description = "mass storage";
             detailedDescription = qtn_usb_mode_msg_mass_storage;
             property = 0x00000000;
 			
@@ -115,7 +114,7 @@
             product = per_product;
             id = KUsbPersonalityIdMTP;
             class_uids = "102827B3";
-            description = qtn_usb_mode_mtp;
+            description = "media transfer";
             detailedDescription = qtn_usb_mode_msg_mtp;
             property = 0x00000000;
 			
@@ -135,7 +134,7 @@
             product = per_product;
             id = KUsbPersonalityIdModemInst;                   
             class_uids = "2000FDA9";            
-            description = qtn_usb_mode_quickconnect;
+            description = "phone as modem";
             detailedDescription = qtn_usb_mode_msg_pam;
             property = 0x00000000;
             }
--- a/usbengines/usbwatcher/src/usbman_pcspam.rss	Sun May 02 21:57:48 2010 +0300
+++ b/usbengines/usbwatcher/src/usbman_pcspam.rss	Mon May 17 11:03:15 2010 +0300
@@ -21,7 +21,6 @@
 #include <badef.rh>
 #include <bldvariant.hrh>
 #include <usbpersonalityids.h>
-#include <usbman.loc>
 #include "usbman.rh"
 #include "usbvariation.rh"
 
@@ -52,7 +51,7 @@
             product = per_product;
             id = KUsbPersonalityIdPCSuite;
             class_uids = "101fbf22, 101fbf24, 10281F2A, 101FB43A";
-            description = qtn_usb_mode_ovisuite;
+            description = "ovi suite";
             detailedDescription = qtn_usb_mode_msg_ovi_suite;
             property = 0x00000000;
 			
@@ -72,7 +71,7 @@
             product = per_product;
             id = KUsbPersonalityIdMS;
             class_uids = "10204bbc";
-            description = qtn_usb_mode_mass_storage;
+            description = "mass storage";
             detailedDescription = qtn_usb_mode_msg_mass_storage;
             property = 0x00000000;
 			
@@ -114,7 +113,7 @@
             product = per_product;
             id = KUsbPersonalityIdModemInst;                   
             class_uids = "2000FDA9";            
-            description = qtn_usb_mode_quickconnect;
+            description = "phone as modem";
             detailedDescription = qtn_usb_mode_msg_pam;
             property = 0x00000000;
             }
--- a/usbuis/group/bld.inf	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/group/bld.inf	Mon May 17 11:03:15 2010 +0300
@@ -15,8 +15,6 @@
 *
 */
 
-
-#include "../usbui/group/bld.inf"
 #include "../usbuinotif/group/bld.inf"
 #include "../imageprintuiprovider/group/bld.inf"
 #include "../imageprintui/group/bld.inf"
\ No newline at end of file
--- a/usbuis/imageprintui/src/settingscontainer.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/imageprintui/src/settingscontainer.cpp	Mon May 17 11:03:15 2010 +0300
@@ -36,7 +36,7 @@
 #include "settingsitems.h"
 #include "settingstables.h"
 #ifdef __SERIES60_HELP
-#include <csxhelp/usb.hlp.hrh>   // Help id
+//#include <csxhelp/usb.hlp.hrh>   // Help id
 #endif
 
 
@@ -254,10 +254,12 @@
 //
 void CSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const
 	{
+ /*
     FLOG(_L("[IMAGEPRINTUI]\t CSettingsContainer::GetHelpContext"));
 	aContext.iMajor = KUidUSB; 
 	aContext.iContext = KUSB_HLP_PRINT_SETTINGS;
     FLOG(_L("[IMAGEPRINTUI]\t CSettingsContainer::GetHelpContext complete"));
+*/
 	}
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/inc/usbaddressedindicator.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* 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 USBADDRESSEDINDICATOR_H
+#define USBADDRESSEDINDICATOR_H
+
+
+#include <hbindicatorinterface.h>
+
+/**
+ * USB indicator class. 
+ * Handles client request and showing the indications. 
+ */
+class UsbAddressedIndicator : public HbIndicatorInterface
+{
+    friend class TestUsbIndicatorPlugin;
+
+public:
+    /**
+     * Constructor
+     */
+    UsbAddressedIndicator(const QString &indicatorType);
+    
+    /**
+     * Destructor
+     */
+    ~UsbAddressedIndicator();
+    
+    /**
+     * @see HbIndicatorInterface
+     */
+    bool handleInteraction(InteractionType type);
+    
+    /**
+     * @see HbIndicatorInterface
+     */
+    QVariant indicatorData(int role) const;
+    
+    
+protected:
+    /**
+     * @see HbIndicatorInterface
+     */
+    bool handleClientRequest(RequestType type, const QVariant &parameter);
+    
+private: 
+
+    QString mSecDisplayName;
+    
+};
+
+#endif /* USBADDRESSEDINDICATOR_H */
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/inc/usbindicator.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* 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: USB Indicator Class
+*
+*/
+
+#ifndef USBINDICATOR_H
+#define USBINDICATOR_H
+
+#include "usbindicatorplugin.h"
+#include <hbindicatorinterface.h>
+
+#define KUsbIconFile "qtg_large_usb"
+
+/**
+ * USB indicator class. 
+ * Handles client request and showing the indications. 
+ */
+class USBIndicator : public HbIndicatorInterface
+{
+    friend class TestUsbIndicatorPlugin;
+    
+public:
+    /**
+     * Constructor
+     */
+    USBIndicator(const QString &indicatorType);
+    
+    /**
+     * Destructor
+     */
+    ~USBIndicator();
+    
+    /**
+     * @see HbIndicatorInterface
+     */
+    bool handleInteraction(InteractionType type);
+    
+    /**
+     * @see HbIndicatorInterface
+     */
+    QVariant indicatorData(int role) const;
+    
+protected:
+    /**
+     * @see HbIndicatorInterface
+     */
+    bool handleClientRequest(RequestType type, const QVariant &parameter);
+    
+private: 
+
+    QString mSecDisplayName;
+};
+
+#endif /* USBINDICATOR_H*/
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/inc/usbindicatorplugin.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* 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: USB Indicator Plugin Class
+*
+*/
+
+#ifndef USBINDICATORPLUGIN_H
+#define USBINDICATORPLUGIN_H
+
+
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+#include <QTranslator>
+
+const QString ConnectedIndicator = ("com.nokia.hb.indicator.usb.device.connected/1.0");
+const QString AddressedIndicator = ("com.nokia.hb.indicator.usb.device.inprogress/1.0" );
+
+_LIT(KUSBExe, "USBSettingsApp.exe");
+const TInt KUSBUIUid = 0x2002E70C;
+
+/*!
+   USB indicator plugin class. 
+   Main class of USB indicator plugin. 
+ */
+class UsbIndicatorPlugin : public QObject, public HbIndicatorPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbIndicatorPluginInterface)
+
+public:
+    /*!
+       Constructor
+     */
+    UsbIndicatorPlugin();
+     
+     /*!
+        Destructor
+      */
+    ~UsbIndicatorPlugin();
+    
+    /*!
+       @see HbIndicatorPluginInterface
+     */
+    QStringList indicatorTypes() const;
+    
+    /*!
+       @see HbIndicatorPluginInterface
+     */
+    inline bool accessAllowed(const QString &indicatorType,
+            const QVariantMap &securityInfo) const;   
+    /*!
+       @see HbIndicatorPluginInterface
+     */
+    HbIndicatorInterface* createIndicator(const QString &indicatorType);
+    
+    /*!
+       @see HbIndicatorPluginInterface
+     */
+    inline int error() const;
+    
+private:
+    Q_DISABLE_COPY(UsbIndicatorPlugin)
+    
+    /*!
+       Error value
+     */
+    int mError;
+    
+    /*!
+       Indicator types 
+       supported indicator types. 
+     */
+    QStringList mIndicatorTypes;
+    
+    bool mTranslatorLoaded;
+    
+    QTranslator mTranslator;
+};
+
+// ----------------------------------------------------------------------------
+// UsbIndicatorPlugin::accessAllowed
+// ----------------------------------------------------------------------------
+bool UsbIndicatorPlugin::accessAllowed(const QString &indicatorType,
+    const QVariantMap &securityInfo) const
+{
+    Q_UNUSED(indicatorType)
+    Q_UNUSED(securityInfo)
+
+    // This plugin doesn't perform operations that may compromise security.
+    // All clients are allowed to use.
+    return true;
+}
+
+// ----------------------------------------------------------------------------
+// UsbIndicatorPlugin::error
+// ----------------------------------------------------------------------------
+inline int UsbIndicatorPlugin::error() const
+{
+    return mError;
+}
+
+
+#endif /* USBIndicatorPlugin_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/rom/usbindicatorplugin.iby	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __USBINDICATORPLUGIN_IBY__
+#define __USBINDICATORPLUGIN_IBY__
+
+REM DLL
+
+#ifdef __USB
+file=ABI_DIR\UREL\USBIndicatorPlugin.dll               SHARED_LIB_DIR\USBIndicatorPlugin.dll UNPAGED
+data=\epoc32\data\z\pluginstub\USBIndicatorPlugin.qtplugin   \resource\plugins\indicators\USBIndicatorPlugin.qtplugin
+#endif
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/rom/usbindicatorpluginresources.iby	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* 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 USBINDICATORPLUGINRESOURCES_IBY
+#define USBINDICATORPLUGINRESOURCES_IBY
+// Use standard macros
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_\QT_TRANSLATIONS_DIR\usbindimenu.qm QT_TRANSLATIONS_DIR\usbindimenu.qm
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/src/usbaddressedindicator.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* 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: 
+*
+*/
+#include "usbaddressedindicator.h" 
+#include <QVariant.h>
+#include <e32uid.h>
+#include <apadef.h>
+#include <usbpersonalityids.h>
+#include "usbindicatorplugin.h"
+#include "usbindicator.h"
+
+
+/*!
+   UsbAddressedIndicator::UsbAddressedIndicator
+*/ 
+UsbAddressedIndicator::UsbAddressedIndicator(const QString &indicatorType) :
+HbIndicatorInterface(indicatorType,
+        HbIndicatorInterface::ProgressCategory,
+        InteractionActivated)
+    {
+    }
+
+/*!
+   UsbAddressedIndicator::~UsbAddressedIndicator
+*/
+UsbAddressedIndicator::~UsbAddressedIndicator()
+    {
+    }
+
+
+/*!
+   UsbAddressedIndicator::handleInteraction
+*/
+bool UsbAddressedIndicator::handleInteraction(InteractionType type)
+    { 
+    bool handled = false;
+    TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),
+                            TUid::Uid(KUSBUIUid));    
+    if (type == InteractionActivated) 
+        {
+        RProcess usbUiProcess;                
+        TInt result = usbUiProcess.Create(KUSBExe(), KNullDesC, uidtype);
+        if (result == KErrNone) {
+            usbUiProcess.Resume();
+        }
+        usbUiProcess.Close();         
+        handled = true;                
+        }
+    return handled;
+    }
+
+/*!
+   UsbAddressedIndicator::indicatorData
+   returns the data and icon that needs to be displayed in the universal pop up and indicator menu 
+*/
+QVariant UsbAddressedIndicator::indicatorData(int role) const
+{
+    switch(role)
+    {
+    case PrimaryTextRole: 
+        {
+        QString text = QString(hbTrId("txt_usb_dblist_usb_connecting"));
+        return text;
+        }
+    case DecorationNameRole:
+        {
+        QString iconName(KUsbIconFile);
+        return iconName;
+        }
+    default: 
+        return QVariant();      
+     }
+}
+
+/*!
+   UsbAddressedIndicator::handleClientRequest
+   handles client's activate and deactivate request
+*/
+bool UsbAddressedIndicator::handleClientRequest( RequestType type, 
+        const QVariant &parameter)
+{ 
+    switch (type) {
+        case RequestActivate:
+            {
+            emit dataChanged();
+            }
+
+            break;
+        default:
+            emit deactivate();
+            break;
+    }
+    //request always handled
+    return true;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/src/usbindicator.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* 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: 
+*
+*/
+#include "usbindicator.h" 
+#include <QVariant.h>
+#include <e32uid.h>
+#include <apadef.h>
+
+
+const QString TextIdPrefix = ("txt_usb_dblist_usb_connected_val_");
+/*!
+   USBIndicator::USBIndicator
+*/ 
+USBIndicator::USBIndicator(const QString &indicatorType) :
+HbIndicatorInterface(indicatorType,
+        HbIndicatorInterface::SettingCategory,
+        InteractionActivated)
+{
+}
+
+/*!
+   USBIndicator::~USBIndicator
+*/
+USBIndicator::~USBIndicator()
+{
+}
+
+
+/*!
+   USBIndicator::handleInteraction
+*/
+bool USBIndicator::handleInteraction(InteractionType type)
+{
+    bool handled = false;
+    TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),
+                            TUid::Uid(KUSBUIUid));    
+    if (type == InteractionActivated) {
+        RProcess usbUiProcess;                
+        TInt result = usbUiProcess.Create(KUSBExe(), KNullDesC, uidtype);
+        if (result == KErrNone) {
+            usbUiProcess.Resume();
+        }
+        usbUiProcess.Close();         
+        handled = true;                
+    }
+    return handled;
+}
+
+/*!
+   USBIndicator::indicatorData
+   returns the data and icon that needs to be displayed in the universal pop up and indicator menu 
+*/
+QVariant USBIndicator::indicatorData(int role) const
+{
+    switch(role) {
+    case PrimaryTextRole: 
+        {
+        QString text = QString(hbTrId("txt_usb_dblist_usb_connected"));
+        return text;
+        }
+    case SecondaryTextRole:
+        {
+        return mSecDisplayName;
+        }
+    case DecorationNameRole:
+        {
+        QString iconName(KUsbIconFile);
+        return iconName;
+        }
+    default: 
+        return QVariant();      
+    }
+}
+
+/*!
+   USBIndicator::handleClientRequest
+   handles client's activate and deactivate request
+*/
+bool USBIndicator::handleClientRequest( RequestType type, 
+        const QVariant &parameter)
+{ 
+    switch (type) {
+        case RequestActivate:
+            {
+            QString friendlyName = parameter.toString();
+            friendlyName.replace( QChar(' '), QChar('_') );
+            QString textId = TextIdPrefix + friendlyName;
+            mSecDisplayName = hbTrId(textId.toAscii());  
+            emit dataChanged();
+            }
+            break;
+        default:
+            mSecDisplayName.clear();
+            emit deactivate();
+            break;
+    }
+    //request always handled
+    return true;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/src/usbindicatorplugin.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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: 
+*
+*/
+#include "usbindicatorplugin.h"
+#include <QString>
+#include <QLocale>
+#include <QApplication>
+#include "usbindicator.h"
+#include "usbaddressedindicator.h"
+
+Q_EXPORT_PLUGIN(UsbIndicatorPlugin)
+
+/*!
+   UsbIndicatorPlugin::UsbIndicatorPlugin
+*/
+UsbIndicatorPlugin::UsbIndicatorPlugin() : mError(0), mTranslatorLoaded(0)
+{
+}
+
+/*!
+   UsbIndicatorPlugin::~UsbIndicatorPlugin
+*/
+UsbIndicatorPlugin::~UsbIndicatorPlugin()
+{
+    if (mTranslatorLoaded) {
+        QApplication::removeTranslator(&mTranslator); 
+    }
+}
+
+/*!
+   UsbIndicatorPlugin::indicatorTypes
+   Return notification types this plugin implements
+*/
+QStringList UsbIndicatorPlugin::indicatorTypes() const
+{
+    QStringList types; 
+    types << ConnectedIndicator;
+    types << AddressedIndicator;
+    return types;
+}
+
+
+
+/*!
+   UsbIndicatorPlugin::createIndicator
+   Creates and returns the HbIndicatorInterface
+*/
+HbIndicatorInterface* UsbIndicatorPlugin::createIndicator(const QString &indicatorType)
+{  
+    if (!mTranslatorLoaded) {
+        // add translator for application library
+        QString locale = QLocale::system().name();
+        QString filename = QString("usbindimenu_") + locale;             
+        bool success = mTranslator.load(filename, QString("z:/resource/qt/translations"));
+        QApplication::installTranslator(&mTranslator);
+        mTranslatorLoaded = true;    
+    }
+        
+    HbIndicatorInterface *indicator = NULL;    
+    if (indicatorType == ConnectedIndicator) {
+        indicator  = new USBIndicator(indicatorType);
+    }
+    else if (indicatorType == AddressedIndicator) {
+        indicator = new UsbAddressedIndicator(indicatorType); 
+    }
+    return indicator;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbindicatorplugin/usbindicatorplugin.pro	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,26 @@
+TEMPLATE = lib
+TARGET = usbindicatorplugin
+CONFIG += plugin
+CONFIG += hb
+HEADERS += inc/usbindicatorplugin.h \
+    inc/usbindicator.h \
+    inc/usbaddressedindicator.h
+	
+SOURCES += src/usbindicatorplugin.cpp \
+    src/usbindicator.cpp \
+    src/usbaddressedindicator.cpp
+
+TRANSLATIONS = usbindimenu.ts	
+
+symbian { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0x2002E70D
+    pluginstub.sources = usbindicatorplugin.dll
+    pluginstub.path = /resource/plugins/indicators
+    DEPLOYMENT += pluginstub
+}
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+    "qmakepluginstubs/usbindicatorplugin.qtplugin /epoc32/data/z/pluginstub/usbindicatorplugin.qtplugin" \
+    "rom/usbindicatorplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(usbindicatorplugin.iby)" \
+     "rom/usbindicatorpluginresources.iby   LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(usbindicatorpluginresources.iby)"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/USBSettingsApp.pro	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,28 @@
+TEMPLATE = app
+TARGET = USBSettingsApp
+QT += core \
+    gui
+HEADERS += inc/usbsettingsapp.h \
+    inc/usbuimodelactive.h \
+    inc/usbuisettingmodel.h
+SOURCES += src/usbuimodelactive.cpp \
+    src/usbuisettingmodel.cpp \
+    src/main.cpp \
+    src/usbsettingsapp.cpp
+LIBS += -lusbwatcher
+LIBS += -lxqsettingsmanager
+LIBS += -lusbman
+FORMS += src/USBSettingsApp.ui
+CONFIG += hb
+TRANSLATIONS = usbview.ts
+RESOURCES += src/usbsettinglayout.qrc \
+    src/usbsettingsapp.qrc
+symbian: { 
+    TARGET.UID3 = 0x2002E70C
+    TARGET.CAPABILITY = LocalServices WriteDeviceData
+    RSS_RULES = "hidden = KAppIsHidden;"
+}
+
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+        "rom/usbsettingsapp.iby   CORE_MW_LAYER_IBY_EXPORT_PATH(usbsettingsapp.iby)" \
+        "rom/usbsettingsappresources.iby   LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(usbsettingsappresources.iby)"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/inc/ui_USBSettingsApp.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,66 @@
+/********************************************************************************
+** Form generated from reading UI file 'USBSettingsApp.ui'
+**
+** Created: Fri Mar 5 17:51:29 2010
+**      by: Qt User Interface Compiler version 4.6.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_USBSETTINGSAPP_H
+#define UI_USBSETTINGSAPP_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QHeaderView>
+#include <QtGui/QMainWindow>
+#include <QtGui/QMenuBar>
+#include <QtGui/QStatusBar>
+#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_USBSettingsApp
+{
+public:
+    QWidget *centralwidget;
+    QMenuBar *menubar;
+    QStatusBar *statusbar;
+
+    void setupUi(QMainWindow *USBSettingsApp)
+    {
+        if (USBSettingsApp->objectName().isEmpty())
+            USBSettingsApp->setObjectName(QString::fromUtf8("USBSettingsApp"));
+        USBSettingsApp->resize(800, 600);
+        centralwidget = new QWidget(USBSettingsApp);
+        centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
+        USBSettingsApp->setCentralWidget(centralwidget);
+        menubar = new QMenuBar(USBSettingsApp);
+        menubar->setObjectName(QString::fromUtf8("menubar"));
+        menubar->setGeometry(QRect(0, 0, 800, 21));
+        USBSettingsApp->setMenuBar(menubar);
+        statusbar = new QStatusBar(USBSettingsApp);
+        statusbar->setObjectName(QString::fromUtf8("statusbar"));
+        USBSettingsApp->setStatusBar(statusbar);
+
+        retranslateUi(USBSettingsApp);
+
+        QMetaObject::connectSlotsByName(USBSettingsApp);
+    } // setupUi
+
+    void retranslateUi(QMainWindow *USBSettingsApp)
+    {
+        USBSettingsApp->setWindowTitle(QApplication::translate("USBSettingsApp", "USBSettingsApp", 0, QApplication::UnicodeUTF8));
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class USBSettingsApp: public Ui_USBSettingsApp {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_USBSETTINGSAPP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/inc/usbdebug.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+#ifndef USBDEBUG_H
+#define USBDEBUG_H
+
+#include <QtDebug>
+
+#if defined(_DEBUG)
+    inline QDebug myDebug()
+    {
+        return qDebug();
+    }
+#else
+    inline QNoDebug myDebug()
+    {
+        return QNoDebug();
+    }
+#endif
+
+
+#endif // MYDEBUG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/inc/usbsettingsapp.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* 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 USBSETTINGSAPP_H
+#define USBSETTINGSAPP_H
+
+#include <QObject>
+#include <hbmainwindow.h>
+
+const int KUSBPortrateMinLine = 4;
+const int KUSBPortrateMaxLine = 4;
+const int KUSBLandscapeMinLine = 2;
+const int KUSBLandscapeMaxLine = 2;
+
+class UsbUiSettingModel;
+class QItemSelectionModel;
+class HbView;
+class HbDocumentLoader;
+class HbListViewItem;
+
+class USBSettingsApp : public HbMainWindow
+{
+    Q_OBJECT
+
+public:
+	USBSettingsApp(QWidget *parent = 0);
+    ~USBSettingsApp();
+
+public slots:
+		/*
+		 * Handles the orientation change
+		 * @param orientation is teh new orientation to be set
+     */
+    void setOrientation(Qt::Orientation orientation);
+
+private:
+		/*
+		 * Loads the DOCML and build the view by finding the widgets from it 
+		 * @param Orientation at loading time
+		 */
+    void load(Qt::Orientation);
+
+private:
+		// pointer to the HbDocumentLoader to load the DOCML owned by this class
+    HbDocumentLoader *mDocumentLoader;
+    // Pointer to the view, owned
+    HbView *mView;
+    //Pointer to model, owned
+    UsbUiSettingModel *mModel;
+    //Pointer to selection model, owned
+    QItemSelectionModel *mSelectionModel;
+    HbListViewItem *mListViewItem;
+};
+
+#endif // USBSETTINGSAPP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/inc/usbuimodelactive.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,128 @@
+/*
+* 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 USBUIMODELACTIVE_H
+#define USBUIMODELACTIVE_H
+
+#include <QObject>
+#include <e32base.h>
+#include <usbwatcher.h>
+
+class UsbUiModelActivePrivate;
+
+/*!
+    \class UsbUiModelActive
+    \brief Helper class for using active objects in Qt classes.
+
+    UsbUiModelActive is a helper class for using active objects 
+    from any Qt class. It wraps a CActive-derived class in an interface
+    that uses Qt's signal-slot mechanism for communicating status changes 
+    of the active object.
+
+ */
+class UsbUiModelActive : public QObject
+{
+    Q_OBJECT
+    friend class UsbUiModelActivePrivate;
+
+public:
+    explicit UsbUiModelActive( int priority = CActive::EPriorityStandard, 
+            QObject *parent = NULL );
+    ~UsbUiModelActive();
+
+    inline TRequestStatus &RequestStatus();
+    inline void SetActive();
+    inline void Cancel();
+    inline bool IsActive();
+    
+public:
+    /*
+     * Sets the the selected personality through usbwatcher
+     * @param personality is the personality to be set
+     */
+    void SetUsbPersonality(int personality);
+    /*
+     * cancels the personality set in usbwatcher
+     */
+    void CancelSetPersonality();
+    
+signals:
+    void requestCompleted( int status );
+
+private:
+   /*!
+    * emits a signal when the request is completed
+    * @param status is the error
+    */
+    void emitRequestCompleted( int status );
+
+private:
+    UsbUiModelActivePrivate *d;
+     
+    /** Handle to USBWatcher for setting the personality */
+    RUsbWatcher iUsbWatcher; 
+};
+
+
+/*!
+    \class UsbUiModelActivePrivate
+    \brief Private class of UsbUiModelActive, for using active objects in Qt classes.
+
+    UsbUiModelActivePrivate is a helper class for using active objects 
+    from any Qt class. It derives from CActive and allows other classes to use 
+    it for passing to asynchronous function calls through its RequestStatus method.
+
+ */
+class UsbUiModelActivePrivate : public CActive
+{
+    friend class UsbUiModelActive;
+
+public:
+    explicit UsbUiModelActivePrivate( UsbUiModelActive *parent, int priority );
+    ~UsbUiModelActivePrivate();
+
+private:
+    virtual void RunL();
+    virtual void DoCancel();
+    virtual TInt RunError( TInt aError );
+
+private:
+    UsbUiModelActive *q;
+
+};
+
+inline bool UsbUiModelActive::IsActive()
+{
+    return d->IsActive();
+}
+
+inline TRequestStatus &UsbUiModelActive::RequestStatus()
+{
+    return d->iStatus;
+}
+
+inline void UsbUiModelActive::SetActive()
+{
+    d->SetActive();
+}
+
+inline void UsbUiModelActive::Cancel()
+{
+    d->Cancel();
+}
+
+#endif /* USBUIMODELACTIVE_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/inc/usbuisettingmodel.h	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2009-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 USBUISETTINGMODEL_H
+#define USBUISETTINGMODEL_H
+
+
+#include <e32base.h>
+#include <e32property.h>
+#include <QStringList>
+#include <QAbstractItemModel>
+#include <XQSettingsManager>
+
+typedef QList< QMap< int, QVariant > > UsbUiModelDataSource;
+
+class RUsb;
+class UsbUiModelActive;
+class QItemSelection;
+class QItemSelectionModel;
+
+class UsbUiSettingModel : public QAbstractItemModel
+{
+    Q_OBJECT
+    friend class TestUsbUiModelActive;
+ 
+public:
+    UsbUiSettingModel( QObject *parent = 0);
+    virtual ~UsbUiSettingModel();
+
+    /*
+     *  Returns the index of the item in the model specified by the given row, column and parent index.
+     *  @param row is the row number of the specified item
+     *  @param column is the column number of the specified item
+     *  @param parent QModelIndex parent
+     */   
+    virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;
+    /*
+     * Returns QModelIndex() because this model item has no parent
+     * @param child is the index of item model, the parent of which is going to be returned
+     * @param child is not used in here
+     */
+    virtual QModelIndex parent( const QModelIndex &child ) const;
+    /*
+     * Returns the number of rows under the given parent
+     * @param parent QModelIndex parent
+     */
+    virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const;
+    /*
+     * Returns the number of columns for the children of the given parent.
+     * @param parent QModelIndex parent
+     */
+    virtual int columnCount( const QModelIndex &parent = QModelIndex() ) const;
+    /*
+     *Returns the data stored under the given role for the item referred to by the index. 
+     */
+    virtual QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
+
+    const QModelIndex* sourceData() const;
+   
+    /*
+     * informs the model of the changes in selectionModel and the new mode 
+     * will be Handeled by the Model
+     */
+    void  setSelectionModel(QItemSelectionModel *selectionModel);
+
+public slots:
+    /*
+     * Provides notification of changes in selected usb mode
+     * @param key is not used 
+     * @param value is the value read from cenrep key 
+     */
+    void cenrepChanged( const XQSettingsKey &key, const QVariant &value );
+    
+    /*
+     * it checks the response from usbwatcher to see if the new mode change has been successful
+     * it will go back to the previous personality if it has not been successful
+     * @param status is the error code returned from usbwatcher
+     */
+    void personalitySetCompleted (int status );
+    
+    /**
+     * This slot handles selection change from the selection model.
+     * The personality is set according to the selection.
+     * @param selected Item selection of selected items
+     * @param deselected Item selection of deselected items
+     */
+    void handleSelectionChange(const QItemSelection &selected, 
+            const QItemSelection &deselected );
+    
+private:
+	/*
+	 * Get the translated mode name
+	 * @param friendlyName is the usb personality friendly name
+	 */   
+    QString modeName( QString &friendlyName );
+
+    /*
+     * Get the current USB personality ID
+     * Returns 0, if the key is missing or the value cannot be converted 
+     * to integer.
+     * @return The current personality id
+     */
+    int currentMode(); 
+
+    /**
+     * Initialize the model data
+     * @param modeId The current mode ID
+     */
+    void initializeModelData( int modeId );
+
+    /**
+     * Update the selection model
+     * @param newPersonality is the new personality id
+     */
+    void updateSelectionModel(int newPersonality);
+	
+    /**
+     * Check from the USB Manager if the USB personality is hidden.
+     * @param usbman Already opened USB Manager session
+     * @param personalityId The ID of the personality to be checked.
+     * @return For hidden personality, true is returned.
+     */
+    bool isPersonalityHidden(RUsb &usbman, TInt personalityId);
+    
+    /**
+     * Get the personality friendly name from USB Manager
+     * The friendly name can be used in text IDs.
+     * @param usbman The open USB Manager session
+     * @param personalityId The ID of the personality
+     * @return Friendly name for personality
+     */
+    QString getFriendlyName(RUsb &usbman, TInt personalityId);
+    
+private:
+       
+    UsbUiModelDataSource mSettingsList;
+ 
+    // current USB personality
+    int mCurrentMode;
+
+    //variable to access central repository
+    XQSettingsManager mSettingsManager;
+    
+    QList<int> mPersonalityIds;
+    //owned by the class
+    // modelactive is used for the interaction with the usbwatcher
+    UsbUiModelActive *mModelActive;
+    
+    QItemSelectionModel *mSelectionModel;
+};
+
+#endif // USBUISETTINGMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/rom/usbsettingsapp.iby	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* 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 USBSETTINGSAPP_IBY
+#define USBSETTINGSAPP_IBY
+// Use standard macros
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __USB
+file=/epoc32/release/armv5/urel/usbsettingsapp.exe      PROGRAMS_DIR/usbsettingsapp.exe
+data=/epoc32/data/z/private/10003a3f/import/apps/usbsettingsapp_reg.rsc /private/10003a3f/import/apps/usbsettingsapp_reg.rsc
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/rom/usbsettingsappresources.iby	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* 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 USBSETTINGSAPPRESOURCES_IBY
+#define USBSETTINGSAPPRESOURCES_IBY
+// Use standard macros
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __USB
+S60_APP_RESOURCE(usbsettingsapp)
+data=DATAZ_\QT_TRANSLATIONS_DIR\usbview.qm QT_TRANSLATIONS_DIR\usbview.qm
+#endif
+
+#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/USBSettingsApp.ui	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,30 @@
+<ui version="4.0" >
+ <class>USBSettingsApp</class>
+ <widget class="QMainWindow" name="USBSettingsApp" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>USBSettingsApp</string>
+  </property>
+  <widget class="QWidget" name="centralwidget" />
+  <widget class="QMenuBar" name="menubar" >
+   <property name="geometry" >
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>21</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar" />
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/hblistviewitem.css	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,125 @@
+
+/*
+    Layout selection
+*/
+
+HbListViewItem[layoutName="usb"]{
+	layout:usb-1;
+}
+
+HbListViewItem[layoutName="usb"][modelItemType="SeparatorItem"]{
+	layout:separator-1;
+}
+
+/*
+    Standard primitive properties
+*/
+
+HbListViewItem::selection-icon{
+	fixed-height: var(hb-param-graphic-size-primary-small);
+	fixed-width: var(hb-param-graphic-size-primary-small);
+}
+
+HbListViewItem::selection-icon[graphicsSize="Image"][!selectionMode][icon-1]{
+        left: 0;
+}
+
+HbListViewItem::multiselection-toucharea{
+	fixed-width: 6.0un;
+}
+
+HbListViewItem::icon-1{
+	fixed-height: var(hb-param-graphic-size-primary-medium);
+	fixed-width: var(hb-param-graphic-size-primary-medium);
+}
+
+HbListViewItem::icon-1[graphicsSize="SmallIcon"]{
+	fixed-height: var(hb-param-graphic-size-primary-small);
+	fixed-width: var(hb-param-graphic-size-primary-small);
+}
+
+HbListViewItem::icon-1[graphicsSize="LargeIcon"]{
+	fixed-height: var(hb-param-graphic-size-primary-large);
+	fixed-width: var(hb-param-graphic-size-primary-large);
+}
+
+HbListViewItem::icon-1[graphicsSize="Image"]:portrait{
+	fixed-height: var(hb-param-graphic-size-image-portrait);
+	fixed-width: var(hb-param-graphic-size-image-portrait);
+}
+
+HbListViewItem::icon-1[graphicsSize="Image"]:landscape{
+	fixed-height: var(hb-param-graphic-size-image-landscape);
+	fixed-width: var(hb-param-graphic-size-image-landscape);
+}
+
+HbListViewItem::text-1{
+	text-height: var(hb-param-text-height-primary);
+	font-variant: primary;
+	pref-width:-1;
+	text-align: left;
+}
+
+HbListViewItem::text-1[modelItemType="StandardItem"][stretchingStyle="StretchLandscape"]:landscape{
+	pref-width: 30.0un;
+}
+
+HbListViewItem::text-1[modelItemType="SeparatorItem"]{
+	text-height: var(hb-param-text-height-secondary);
+	font-variant: secondary;
+	text-align: right;
+}
+
+HbListViewItem::text-2{
+	text-height: var(hb-param-text-height-secondary);
+	font-variant: secondary;
+	pref-width:-1;
+	text-align: left top;
+}
+
+ HbListViewItem::text-2[stretchingStyle="StretchLandscape"]:landscape{
+ 	pref-width: 30.0un;
+ }
+
+HbListViewItem::text-3{
+	text-height: var(hb-param-text-height-secondary);
+	fixed-width: 18.0un;
+	font-variant: secondary;
+	text-align: right;
+}
+
+HbListViewItem::frame{
+	border-width: var(hb-param-background-list-main);
+}
+
+HbListViewItem::frame[insidePopup]{
+	border-width: var(hb-param-background-list-popup);
+}
+
+HbListViewItem::text-2[modelItemType="SeparatorItem"]{
+	minimum-height: 0.0un;
+	minimum-width: 0.0un;
+	fixed-height: 0.0un;
+	fixed-width: 0.0un;
+}
+
+HbListViewItem::text-3[modelItemType="SeparatorItem"]{
+	minimum-height: 0.0un;
+	minimum-width: 0.0un;
+	fixed-height: 0.0un;
+	fixed-width: 0.0un;
+}
+
+HbListViewItem::icon-1[modelItemType="SeparatorItem"]{
+	minimum-height: 0.0un;
+	minimum-width: 0.0un;
+	fixed-height: 0.0un;
+	fixed-width: 0.0un;
+}
+
+HbListViewItem::icon-2[modelItemType="SeparatorItem"]{
+	minimum-height: 0.0un;
+	minimum-width: 0.0un;
+	fixed-height: 0.0un;
+	fixed-width: 0.0un;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/hblistviewitem.widgetml	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,55 @@
+<hbwidget version="0.1" type="HbListViewItem">
+
+<!-- usb-1 -->
+    <!--
+        Required items: 
+            text-1
+            
+        Items from left to right:
+            <- icon-1 <- text-1 -> selection icon ->
+                         text-2 ->
+                                         
+        Other:
+            icon-1: TOP aligned with item TOP
+            selection icon: connected from TOP to item TOP
+            
+            text-1: connected from TOP to item TOP and BOTTOM to text-2 TOP
+            text-2: connected BOTTOM to BOTTOM
+    -->
+    <layout name="usb-1" type="mesh">
+      <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)" />
+      <meshitem src="icon-1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)" />
+      
+      <meshitem src="text-1" srcEdge="LEFT" dst="icon-1" dstEdge="RIGHT" spacing="-2.0un" />
+      <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)"/>
+      <meshitem src="text-1" srcEdge="RIGHT" dst="selection-icon" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" />
+      <meshitem src="text-1" srcEdge="BOTTOM" dst="text-2" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" />
+      
+      <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+      <meshitem src="text-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)" />
+      <meshitem src="text-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-middle-vertical)" />
+      
+      <meshitem src="selection-icon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)" />
+      <meshitem src="selection-icon" srcEdge="TOP" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)" />
+    
+      <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+      <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" />
+      <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+      <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+  
+      <meshitem src="frame" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+      <meshitem src="frame" srcEdge="TOP" dst="" dstEdge="TOP" />
+      <meshitem src="frame" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+      <meshitem src="frame" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+      
+      <meshitem src="focus-indicator" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+      <meshitem src="focus-indicator" srcEdge="TOP" dst="" dstEdge="TOP" />
+      <meshitem src="focus-indicator" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+      <meshitem src="focus-indicator" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+
+      <meshitem src="multiselection-toucharea" srcEdge="CENTERH" dst="selection-icon" dstEdge="CENTERH" />
+      <meshitem src="multiselection-toucharea" srcEdge="TOP" dst="" dstEdge="TOP" />
+      <meshitem src="multiselection-toucharea" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    </layout>
+        
+</hbwidget>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/main.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include <QTranslator>
+#include <QString>
+#include <QLocale>
+#include "usbsettingsapp.h"
+#include <hbapplication.h>
+
+int main(int argc, char *argv[])
+{
+    HbApplication usbApp(argc, argv);
+    QTranslator translator;
+    
+     // add translator for application library
+    QString locale = QLocale::system().name();
+    QString filename = QString("usbview_") + locale; 
+    bool success = translator.load( filename, QString("/resource/qt/translations") ); 
+    if (success)
+        {
+        usbApp.installTranslator(&translator);
+        }
+  
+    USBSettingsApp settingsapp;
+    settingsapp.show();
+
+    return usbApp.exec();
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbsettinglayout.qrc	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/">
+        <file>hblistviewitem.widgetml</file>
+        <file>hblistviewitem.css</file>
+</qresource></RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbsettingsapp.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,131 @@
+/*
+* 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: 
+*
+*/
+#include "usbsettingsapp.h"
+#include <hblistviewitem.h>
+#include <QItemSelectionModel>
+#include <hbstyleloader.h>
+#include <hbdocumentloader.h>
+#include <hbview.h>
+#include <hblistview.h>
+#include <hbgroupbox.h>
+#include "usbuisettingmodel.h"
+#include "usbdebug.h"
+
+#define DOCML ":/xml/usbsettingsapp.docml"
+
+USBSettingsApp::USBSettingsApp(QWidget *parent)
+    : HbMainWindow(parent), mView(NULL), mListViewItem(NULL)
+{
+    myDebug() << ">>> USBSettingsApp::USBSettingsApp";
+    //Init the document loader and we load the view
+    mModel = new UsbUiSettingModel(this);
+    mSelectionModel = new QItemSelectionModel(mModel);
+    mDocumentLoader = new HbDocumentLoader();
+    connect(this, SIGNAL(orientationChanged(Qt::Orientation)),
+    					this,SLOT(setOrientation(Qt::Orientation)));
+    load(orientation());
+    myDebug() << "<<< USBSettingsApp::USBSettingsApp";
+}
+
+USBSettingsApp::~USBSettingsApp()
+{
+    myDebug() << ">>> USBSettingsApp::~USBSettingsApp";
+    delete mView;
+    delete mModel;
+    delete mDocumentLoader;
+    myDebug() << "<<< USBSettingsApp::~USBSettingsApp";
+}
+/*!
+loads the DOCML and build the view by finding the widgets from it 
+*/
+void USBSettingsApp::load(Qt::Orientation orientation) 
+{
+    myDebug() << ">>> USBSettingsApp::load";
+    bool loaded = true;
+ 
+   //Sets loader to initial state
+    mDocumentLoader->reset();
+    //Load the common section
+    mDocumentLoader->load(DOCML, &loaded);
+   
+    //Loads the view
+    if ( loaded ) {
+        myDebug() << "    USBSettingsApp::load DOCML loaded";
+        QGraphicsWidget *widget = mDocumentLoader->findWidget(QString("view"));
+        if (widget) {
+            myDebug() << "    USBSettingsApp::load view found";
+            mView = qobject_cast<HbView*>(widget);
+            this->addView(mView);
+            this->setCurrentView(mView);
+        }
+        QGraphicsWidget *listViewWidget = mDocumentLoader->findWidget(QString("listView"));
+        if (listViewWidget) {
+            myDebug() << "    USBSettingsApp::load listView found";
+            HbListView *listView = qobject_cast<HbListView*>(listViewWidget);
+            listView->setModel(mModel);
+            listView->setSelectionMode(HbAbstractItemView::SingleSelection);
+            listView->setSelectionModel(mSelectionModel);
+            mModel -> setSelectionModel(mSelectionModel);
+            HbStyleLoader::registerFilePath(":/");
+            listView->setLayoutName("usb");
+            //scroll to the selected index, if not hidden personality
+            QModelIndexList indexList = mSelectionModel->selectedIndexes();
+            if ( !indexList.isEmpty() ) {
+                myDebug() << "    USBSettingsApp::load scrollTo " << indexList[0].row();
+                myDebug() << "    USBSettingsApp::load scrollTo disabled";
+                //listView->scrollTo(indexList[0]);
+            }
+        }
+
+        QGraphicsWidget *listViewItemWidget = mDocumentLoader->findWidget(QString("listItemPrototype"));
+        if (listViewItemWidget) {
+            myDebug() << "    USBSettingsApp::load mListViewItem found";
+            mListViewItem = qobject_cast<HbListViewItem*>(listViewItemWidget);
+            mListViewItem->setGraphicsSize(HbListViewItem::LargeIcon);
+            setOrientation(orientation);
+        }
+        
+        QGraphicsWidget *groupBoxWidget = mDocumentLoader->findWidget(QString("groupBox"));
+        if (groupBoxWidget) {
+            myDebug() << "    USBSettingsApp::load groupBox found";
+            HbGroupBox *groupBox = qobject_cast<HbGroupBox*>(groupBoxWidget);
+            groupBox->setHeading(QString(hbTrId("txt_usb_subhead_select_connection_type")));
+        }        
+    }  
+    myDebug() << "<<< USBSettingsApp::load";
+}
+/*!
+	Handles the orientation change
+*/
+void USBSettingsApp::setOrientation(Qt::Orientation orientation)
+{
+    myDebug() << ">>> USBSettingsApp::setOrientation";
+    if (mListViewItem) {
+        switch (orientation) {
+            case Qt::Horizontal:
+                mListViewItem->setSecondaryTextRowCount(KUSBLandscapeMinLine, KUSBLandscapeMaxLine);
+                break;
+            case Qt::Vertical:
+                mListViewItem->setSecondaryTextRowCount(KUSBPortrateMinLine, KUSBPortrateMaxLine);
+                break;
+            default:
+            		break;
+        }               
+    }    
+    myDebug() << "<<< USBSettingsApp::setOrientation";
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbsettingsapp.docml	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="qtl_toolbar_tiny1_4_left" type="HbAction">
+        <icon iconName="qgn_indi_nslider_muted" name="icon"/>
+        <string name="text"/>
+    </object>
+    <object name="qtl_toolbar_tiny1_4_middleLeft" type="HbAction">
+        <icon iconName="hb_vol_slider_unmuted" name="icon"/>
+        <string name="text"/>
+    </object>
+    <object name="qtl_toolbar_tiny1_4_middleRight" type="HbAction">
+        <icon iconName="qgn_indi_nslider_zoom_in" name="icon"/>
+        <string name="text"/>
+    </object>
+    <object name="qtl_toolbar_tiny1_4_Right" type="HbAction">
+        <icon iconName="qgn_indi_nslider_zoom_in_pressed" name="icon"/>
+        <string name="text"/>
+    </object>
+    <widget name="view" type="HbView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="listView" type="HbListView">
+                <widget name="listItemPrototype" role="HbAbstractView:prototype" type="HbListViewItem">
+                    <string name="state" value="normal"/>
+                </widget>
+                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+            </widget>
+            <widget name="groupBox" type="HbGroupBox">
+                <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value="Group Box"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout orientation="Vertical" spacing="0un" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+                <linearitem itemname="groupBox"/>
+                <linearitem itemname="listView"/>
+            </layout>
+        </widget>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+            <enums name="orientation" value="Horizontal"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+        </widget>
+        <string locid="txt_usb_dblist_usb" name="title" value="USB"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+        <resource location="TemplateIcons.qrc"/>
+        <uistate name="Common ui state" sections="#common"/>
+        <dummydata objectName="listView" section="#common" value="1"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbsettingsapp.qrc	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/xml">
+        <file>usbsettingsapp.docml</file>
+    </qresource>
+</RCC>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbsettingsapp.ts	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="txt_usb_dblist_usb_disconnecting">
+    <comment>The second line contains the progress indicator</comment>        
+    <source>USB disconnecting</source>
+    <translation variants="no">USB disconnecting</translation>
+    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_05</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_unable_to_eject_the_usb_device_some">
+    <comment></comment>        
+    <source>Unable to eject the USB device. Some of the applicatios may still be using it.</source>
+    <translation variants="no">Unable to eject the USB device. Some of the applicatios may still be using it.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_modelistname_2">
+    <comment></comment>        
+    <source>Mass storage</source>
+    <translation variants="no">Mass storage</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic_add</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_2</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_5">
+    <comment>Note this is continuation from the heading. Tells which interface we show to the host device</comment>        
+    <source>to OVI suite</source>
+    <translation variants="no">to OVI suite</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_memory_full_close_some_applications">
+    <comment></comment>        
+    <source>Memory full. Close some applications and try to connect USB cable again.</source>
+    <translation variants="no">Memory full. Close some applications and try to connect USB cable again.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_problem_val_not_enough_memory">
+    <comment>When the selected UBS mode can&apos;t be loaded, because there is not enough memory</comment>        
+    <source>Not enough memory</source>
+    <translation variants="no">Not enough memory</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_2_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connected_val_5">
+    <comment></comment>        
+    <source>to OVI suite</source>
+    <translation variants="no">to OVI suite</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_description_6">
+    <comment></comment>        
+    <source>Use this phone to connect the other device to the Internet</source>
+    <translation variants="no">Use this phone to connect the other device to the Internet</translation>
+    <extra-loc-layout_id>txt_usb_dblist_usb_connected_val_access_this_phone</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_4_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connected">
+    <comment></comment>        
+    <source>USB connected</source>
+    <translation variants="no">USB connected</translation>
+    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_2">
+    <comment>Note this is continuation from the heading. Tells which interface we show to the host device</comment>        
+    <source>as mass storage</source>
+    <translation variants="no">as mass storage</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_unsupported_usb_device_disconnect_de">
+    <comment>Either the device uses too much power (always, nothing can be done to make it work) or the device is unsupported otherways (like wants to use interface we don&apos;t have)</comment>        
+    <source>Unsupported USB device. Disconnect device.</source>
+    <translation variants="no">Unsupported USB device. Disconnect device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_remove_usb_cable_or_connect_a_device">
+    <comment>There is only the USB cable, but no device in the other end.</comment>        
+    <source>Remove USB cable or connect a device.</source>
+    <translation variants="no">Remove USB cable or connect a device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_modelistname_5">
+    <comment></comment>        
+    <source>OVI suite</source>
+    <translation variants="no">OVI suite</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic_add</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_subhead_select_connection_type">
+    <comment></comment>        
+    <source>Select connection type</source>
+    <translation variants="no">Select connection type</translation>
+    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>subhead</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_partially_supported_usb_device_connec">
+    <comment>There is some parts of the USB device the phone doesn&apos;t recognize, but the device can still be used for some purposes</comment>        
+    <source>Partially supported USB device connected. All functionality might not work.</source>
+    <translation variants="no">Partially supported USB device connected. All functionality might not work.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_error_in_usb_connection_disconnect_d">
+    <comment>The USB device can&apos;t be used this time, but there is possibility that if one reconnects the cables that the device can be used.</comment>        
+    <source>Error in USB connection. Disconnect device.</source>
+    <translation variants="no">Error in USB connection. Disconnect device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_safe_to_remove">
+    <comment></comment>        
+    <source>Safe to remove</source>
+    <translation variants="no">Safe to remove</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_problem">
+    <comment></comment>        
+    <source>USB problem</source>
+    <translation variants="no">USB problem</translation>
+    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_2</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_description_2">
+    <comment></comment>        
+    <source>Use this phone like a memory stick on the other device</source>
+    <translation variants="no">Use this phone like a memory stick on the other device</translation>
+    <extra-loc-layout_id>txt_usb_dblist_usb_connected_val_access_this_phone</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_2_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connected_val_4">
+    <comment></comment>        
+    <source>as media transfer</source>
+    <translation variants="no">as media transfer</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_click_to_eject">
+    <comment>Tapping this item will start the safe removal process</comment>        
+    <source>Click to eject</source>
+    <translation variants="no">Click to eject</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_06</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connecting">
+    <comment>The second line contains the progress indicator</comment>        
+    <source>USB connecting</source>
+    <translation variants="no">USB connecting</translation>
+    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_05</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_unable_to_use_file_system_in_device">
+    <comment>The file system of the other device is recognized and accepted, but the file system may be e.g. corrupted, so it can&apos;t be used.</comment>        
+    <source>Unable to use file system in device. Disconnect device.</source>
+    <translation variants="no">Unable to use file system in device. Disconnect device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connected_val_2">
+    <comment></comment>        
+    <source>as mass storage</source>
+    <translation variants="no">as mass storage</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpophead_usb_connected">
+    <comment></comment>        
+    <source>USB connected</source>
+    <translation variants="no">USB connected</translation>
+    <extra-loc-layout_id>qtl_notifdialog_pri_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpophead</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb">
+    <comment>The name of the USB item in control panel connectivity section</comment>        
+    <source>USB</source>
+    <translation variants="no">USB</translation>
+    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
+    <extra-loc-viewid>usb</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_description_5">
+    <comment>Layout ID parent. There should be maximum of 4 lines of text and each line has the constraints same as qtl_list_sec_large_graphic</comment>        
+    <source>Access this phone’s information from OVI Suite</source>
+    <translation variants="no">Access this phone’s information from OVI Suite</translation>
+    <extra-loc-layout_id>txt_usb_dblist_usb_connected_val_access_this_phone</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_4">
+    <comment>Note this is continuation from the heading. Tells which interface we show to the host device</comment>        
+    <source>as media transfer</source>
+    <translation variants="no">as media transfer</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_modelistname_6">
+    <comment></comment>        
+    <source>Web connection</source>
+    <translation variants="no">Web connection</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic_add</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_4</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_headset_in_use">
+    <comment>%1 is the type of the USB device, only in OTG</comment>        
+    <source>headset in use</source>
+    <translation variants="no">headset in use</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_description_4">
+    <comment></comment>        
+    <source>Use this phone as a music or image source to the other device</source>
+    <translation variants="no">Use this phone as a music or image source to the other device</translation>
+    <extra-loc-layout_id>txt_usb_dblist_usb_connected_val_access_this_phone</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_3_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_hubs_are_not_supported_disconnect_us">
+    <comment>The USB hubs can&apos;t be used with the phone</comment>        
+    <source>Hubs are not supported. Disconnect device.</source>
+    <translation variants="no">Hubs are not supported. Disconnect device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_connected_val_6">
+    <comment></comment>        
+    <source>as web connection</source>
+    <translation variants="no">as web connection</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpophead_usb_disconnected">
+    <comment>When use rhas selected to eject the other device and everythign has worked well, only in OTG</comment>        
+    <source>USB disconnected</source>
+    <translation variants="no">USB disconnected</translation>
+    <extra-loc-layout_id>qtl_notifdialog_pri_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpophead</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_modelistname_4">
+    <comment></comment>        
+    <source>Media transfer</source>
+    <translation variants="no">Media transfer</translation>
+    <extra-loc-layout_id>qtl_list_pri_large_graphic_add</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_03</extra-loc-viewid>
+    <extra-loc-positionid>dblist_3</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_unknown_file_system_disconnect_devic">
+    <comment>The USB device uses file system that we don&apos;t support</comment>        
+    <source>Unknown file system. Disconnect device.</source>
+    <translation variants="no">Unknown file system. Disconnect device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_info_unable_to_show_a_memory_to_other_devi">
+    <comment>When the memory can&apos;t be unmounted from the phone and shown to the other device (e.g. PC). This may be due the corruption of the memory</comment>        
+    <source>Unable to show a memory to other device.</source>
+    <translation variants="no">Unable to show a memory to other device.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5_larger_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_04</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dblist_usb_problem_val_connection_type_not">
+    <comment>When the host doesn&apos;t recognize the interface we are offering to it</comment>        
+    <source>Connection type not supported</source>
+    <translation variants="no">Connection type not supported</translation>
+    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_02</extra-loc-viewid>
+    <extra-loc-positionid>dblist_2_val</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_usb_dpinfo_6">
+    <comment>Note this is continuation from the heading. Tells which interface we show to the host device</comment>        
+    <source>as web connection</source>
+    <translation variants="no">as web connection</translation>
+    <extra-loc-layout_id>qtl_notifdialog_sec_medium_graphics</extra-loc-layout_id>    
+    <extra-loc-viewid>usb_01</extra-loc-viewid>
+    <extra-loc-positionid>dpinfo</extra-loc-positionid>
+    <extra-loc-feature>us</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbuimodelactive.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,134 @@
+/*
+* 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: 
+*
+*/
+
+#include "usbuimodelactive.h"
+#include "usbdebug.h"
+
+
+
+/*!
+    Constructor.
+ */
+UsbUiModelActive::UsbUiModelActive( int priority, QObject *parent )
+:   QObject( parent )
+{
+    myDebug() << ">>> UsbUiModelActive::UsbUiModelActive";
+    d = new UsbUiModelActivePrivate( this, priority );
+    int err= iUsbWatcher.Connect();    
+    myDebug() << "iUsbWatcher.Connect() returned ";
+    myDebug() << err;  
+    myDebug() << "<<< UsbUiModelActive::UsbUiModelActive";
+}
+
+/*!
+    Destructor.
+ */
+UsbUiModelActive::~UsbUiModelActive()
+{        
+    myDebug() << ">>> UsbUiModelActive::~UsbUiModelActive";
+    delete d;
+    iUsbWatcher.Close(); 
+    myDebug() << "<<< UsbUiModelActive::~UsbUiModelActive";
+}
+/*!
+ * emits a signal when the request is completed
+ */
+void UsbUiModelActive::emitRequestCompleted( int status )
+{
+    myDebug() << ">>> UsbUiModelActive::emitRequestCompleted status: ";
+    myDebug() << status; 
+    emit requestCompleted( status );
+    myDebug() << "<<< UsbUiModelActive::emitRequestCompleted";
+}
+
+/*!
+ * Sets the the selected personality through usbwatcher
+ */
+void UsbUiModelActive::SetUsbPersonality(int personality)
+    {
+    myDebug() << ">>> UsbUiModelActive::SetUsbPersonality";
+    myDebug() << "requested personality is ";
+    myDebug() << personality;   
+    // Change the personality asynchrously, result checked in RunL()
+    if( IsActive() ) 
+        {
+        Cancel();
+        }
+    myDebug() << "setting new personality";    
+    iUsbWatcher.SetPersonality(RequestStatus(), personality);
+    SetActive();
+    myDebug() << "<<< UsbUiModelActive::SetUsbPersonality";
+
+    }
+/*!
+ * cancles the personality set in usbwatcher
+ */
+void UsbUiModelActive::CancelSetPersonality()
+    {
+    iUsbWatcher.CancelSetPersonality();    
+    }
+
+/*!
+    Constructor.
+ */
+UsbUiModelActivePrivate::UsbUiModelActivePrivate( 
+        UsbUiModelActive *parent, int priority )
+:   CActive( (TInt) priority ), q( parent )
+{
+    myDebug() << ">>> UsbUiModelActivePrivate::UsbUiModelActivePrivate";
+    CActiveScheduler::Add( this );
+    myDebug() << "<<< UsbUiModelActivePrivate::UsbUiModelActivePrivate";
+}
+
+
+/*!
+    Destructor.
+ */
+UsbUiModelActivePrivate::~UsbUiModelActivePrivate()
+{
+    Cancel();
+}
+
+
+/*!
+ *  Called by the active scheduler when the request has been completed.
+ */
+void UsbUiModelActivePrivate::RunL()
+{
+    myDebug() << ">>> UsbUiModelActivePrivate::RunL";
+    q->emitRequestCompleted( iStatus.Int() );
+    myDebug() << "<<< UsbUiModelActivePrivate::RunL";
+}
+
+
+/*!
+    Called by the active scheduler when the request has been cancelled.
+ */
+void UsbUiModelActivePrivate::DoCancel()
+{
+    q->CancelSetPersonality();
+}
+
+
+/*!
+    Called by the active scheduler when an error in RunL has occurred.
+ */
+TInt UsbUiModelActivePrivate::RunError( TInt aError )
+{
+    q->emitRequestCompleted( aError );
+    return KErrNone;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbsettingsapp/src/usbuisettingmodel.cpp	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,322 @@
+/*
+* Copyright (c) 2009-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: 
+*
+*/
+
+#include "usbuisettingmodel.h"
+#include <QStringList>
+#include <UsbWatcherInternalCRKeys.h>
+#include <XQSettingsKey>
+#include <usbman.h>
+#include <HbIcon>
+#include <QItemSelection>
+#include <QItemSelectionModel>
+#include "usbuimodelactive.h"
+#include "usbdebug.h"
+
+
+const QString TextIdPrefix = ("txt_usb_dblist_");
+const QString DescriptionIdPostfix = ("_val");
+const QString ModeIconNamePrefix = ("qtg_large_");
+
+/*!
+    Constructor.
+ */
+UsbUiSettingModel::UsbUiSettingModel( QObject *parent )
+    : QAbstractItemModel( parent), mSelectionModel(NULL)
+{
+    mModelActive = new UsbUiModelActive();
+    mCurrentMode = currentMode();
+    initializeModelData(mCurrentMode);
+  	bool ret = mSettingsManager.startMonitoring( 
+   	        XQSettingsKey( XQSettingsKey::TargetCentralRepository, 
+   	                KCRUidUsbWatcher.iUid, KUsbWatcherPersonality ) );
+    myDebug() << ">>> UsbUiSettingModel::startMonitoring value=" 
+              << ret; 
+                              
+   	// signal: personality changed in the central repository                
+   	ret = connect( &mSettingsManager, 
+   	        SIGNAL( valueChanged( const XQSettingsKey&, const QVariant& ) ), 
+   	        this, 
+   	        SLOT( cenrepChanged( const XQSettingsKey&, const QVariant& ) ) );
+    myDebug() << ">>> UsbUiSettingModel::UsbUiSettingModel connect valueChanged="
+            << ret;
+   	        
+    // signal: response from usbwatcher to our attempt to set the personality 	        
+   	ret = connect( mModelActive, 
+   	        SIGNAL( requestCompleted( int ) ), 
+   	        this, 
+   	        SLOT( personalitySetCompleted( int )));
+    myDebug() << ">>> UsbUiSettingModel::UsbUiSettingModel connect requestCompleted="
+            << ret;
+}
+
+/*!
+    Destructor.
+ */
+UsbUiSettingModel::~UsbUiSettingModel()
+{
+    myDebug() << ">>> UsbUiSettingModel::~UsbUiSettingModel";
+    mSettingsManager.stopMonitoring( 
+            XQSettingsKey( XQSettingsKey::TargetCentralRepository, 
+                    KCRUidUsbWatcher.iUid, KUsbWatcherPersonality ) );
+    delete mModelActive;
+    myDebug() << "<<< UsbUiSettingModel::~UsbUiSettingModel";
+}
+
+/*!
+    Provides notification of changes in selected usb mode
+ */
+void UsbUiSettingModel::cenrepChanged( const XQSettingsKey &key,  
+        const QVariant &value )  
+{
+    Q_UNUSED(key);
+    myDebug() << ">>> UsbUiSettingModel::cenrepChanged";
+    // key is not checked, as we monitor only one key
+    updateSelectionModel(value.toInt());                                 
+    myDebug() << "<<< UsbUiSettingModel::cenrepChanged"; 
+}
+
+/*!
+ * updates the selection model
+ * The selection model will signal the view.
+ */
+void UsbUiSettingModel::updateSelectionModel(int newPersonality)
+{
+    myDebug() << ">>> UsbUiSettingModel::updateSelectionModel value=" 
+            << newPersonality; 
+            
+    mCurrentMode = newPersonality;
+    mSelectionModel->clear();    
+    int row = mPersonalityIds.indexOf(newPersonality);
+    myDebug() << ">>> UsbUiSettingModel::updateSelectionModel row=" 
+            << row; 
+    // in case of the hidden personality , the selection model is left empty
+    if ( row >= 0 ) {
+        //set selection model for the new selection
+        QModelIndex selectionIndex = index(row, 0, QModelIndex());
+        QItemSelection selection(selectionIndex, selectionIndex);
+        mSelectionModel->select(selection, QItemSelectionModel::Select);    
+    }
+    myDebug() << "<<< UsbUiSettingModel::updateSelectionModel"; 
+}
+
+/*!
+ * Returns the index of the item in the model specified by the given row, column and parent index.
+ */
+QModelIndex UsbUiSettingModel::index( int row, int column, const QModelIndex &parent ) const
+{
+    return hasIndex( row, column, parent ) ? createIndex( row, column ) : QModelIndex();
+}
+
+/*
+    This model does not support hierarchy, so this returns an empty model index. 
+ */
+QModelIndex UsbUiSettingModel::parent( const QModelIndex &child ) const
+{
+    Q_UNUSED( child );
+    return QModelIndex();
+}
+
+/*!
+ * Returns the number of rows under the given parent
+ */
+int UsbUiSettingModel::rowCount( const QModelIndex &parent ) const
+{
+    Q_UNUSED( parent );
+    return mSettingsList.count();
+}
+
+/*!
+ * Returns the number of columns for the children of the given parent.
+ * This model is one-dimensional, so this returns 1.
+ */
+int UsbUiSettingModel::columnCount( const QModelIndex &parent ) const
+{
+    Q_UNUSED( parent );
+    return 1;
+}
+
+/*!
+ * Returns the data stored under the given role for the item referred to by the index.
+ */
+QVariant UsbUiSettingModel::data( const QModelIndex &index, int role ) const
+{
+    return mSettingsList.value( index.row() ).value( role );
+}
+
+/*!
+ * This is called when usb selection is changed in the view (selection model). 
+ */
+void UsbUiSettingModel::handleSelectionChange(const QItemSelection &selected, 
+        const QItemSelection &deselected )
+{
+    Q_UNUSED( deselected );
+    myDebug() << ">>>  UsbUiSettingModel::handleSelectionChange";
+    QModelIndexList items = selected.indexes();
+    if (!items.isEmpty()) {
+        myDebug() << "     UsbUiSettingModel::handleSelectionChange item exists";
+        QModelIndex index = items[0];
+        int newPersonalityId = mPersonalityIds.at(index.row());
+        if ( newPersonalityId != mCurrentMode ) {
+            myDebug() << "     UsbUiSettingModel::handleSelectionChange setting personality";
+            mModelActive->SetUsbPersonality(newPersonalityId);
+        }
+    }
+    myDebug() << "<<<  UsbUiSettingModel::handleSelectionChange return";
+}
+
+/*!
+ * Getter for the source data.
+ */
+const QModelIndex* UsbUiSettingModel::sourceData() const
+{
+    return new QModelIndex( createIndex( 0, 0 ) );
+}
+
+void  UsbUiSettingModel::setSelectionModel(QItemSelectionModel *selectionModel)
+    {
+    myDebug() << ">>>  UsbUiSettingModel::setSelectionModel";
+    mSelectionModel = selectionModel;
+    connect( mSelectionModel, 
+                SIGNAL( selectionChanged( const QItemSelection &, const QItemSelection & ) ), 
+                this, 
+                SLOT( handleSelectionChange( const QItemSelection &, const QItemSelection & ) ) );
+    updateSelectionModel(mCurrentMode);
+    myDebug() << "<<<  UsbUiSettingModel::setSelectionModel return";
+    }
+
+/*!
+ * Get the translated mode name for the personality friendly name.
+ */
+QString UsbUiSettingModel::modeName( QString &friendlyName )
+{
+    myDebug() << ">>>  UsbUiSettingModel::modeName";
+    QString textId = TextIdPrefix + friendlyName;
+    QString modeName = hbTrId( textId.toAscii() );
+    myDebug() << "<<< UsbUiSettingModel::modeName " << modeName;
+    return modeName;
+}
+
+/*!
+ * Get the current USB mode (personality) ID
+ */
+int UsbUiSettingModel::currentMode()
+{
+    myDebug() << ">>>  UsbUiSettingModel::CurrentMode";
+    int currentMode = mSettingsManager.readItemValue(
+                XQSettingsKey( XQSettingsKey::TargetCentralRepository, 
+                KCRUidUsbWatcher.iUid, KUsbWatcherPersonality ) ).toInt();
+    myDebug() << "<<< UsbUiSettingModel::CurrentMode " << currentMode;
+    return currentMode;
+}
+
+void UsbUiSettingModel::initializeModelData( int aModeId )
+{
+    myDebug() << ">>> UsbUiSettingModel::initializeModelData aModeId="
+            << aModeId;
+    RUsb usbMan;
+    if ( usbMan.Connect() == KErrNone ) {
+        RArray<TInt> personalityIds;
+        mPersonalityIds.clear();
+        if ( usbMan.GetPersonalityIds( personalityIds ) == KErrNone ) {
+            for ( int i = 0; i < personalityIds.Count(); i++ ) {
+                myDebug() << ">>> UsbUiSettingModel::initializeModelData personality ID ="
+                    << personalityIds[i];
+                if ( !isPersonalityHidden(usbMan, personalityIds[i]) ) {
+                    mPersonalityIds.append( personalityIds[i] );                    
+                    QString friendlyName = getFriendlyName(usbMan, personalityIds[i]);
+                    
+                    QStringList displayList;
+                    //text-1 mode name
+                    displayList.append( modeName( friendlyName ) );
+                    
+                    //text-2 description
+                    QString textId = TextIdPrefix + friendlyName + DescriptionIdPostfix;
+                    displayList.append( hbTrId(textId.toAscii()) );
+                    
+                    QMap< int, QVariant > dataRow;
+                    dataRow[ Qt::DisplayRole ] = QVariant( displayList );
+                    
+                    //icon-1
+                    QString iconName = ModeIconNamePrefix + friendlyName;
+                    HbIcon icon(iconName);
+                    QList<QVariant> icons;
+                    icons << icon;                    
+                    dataRow[ Qt::DecorationRole ] = QVariant( icons );
+                    
+                    mSettingsList << dataRow;
+                }
+            }
+        }
+        personalityIds.Close();
+        usbMan.Close();
+    }
+    myDebug() << "<<< UsbUiSettingModel::initializeModelData";
+}
+
+/*!
+ * it checks the response from usbwatcher to see if the new mode change has been successful
+ * it will go back to the previous personality if it has not been successful
+ */
+void UsbUiSettingModel::personalitySetCompleted (int status )
+{
+    myDebug() << ">>> UsbUiSettingModel::personalitySetCompleted status= "
+        << status;      
+    // status contains Symbian error code from usbwatcher
+    // if the status is KErrNone, we are ready to process the next request
+    if (status != KErrNone) {
+        // changing the personality failed, so we need to set back the previous personality
+        // the value will be read from central repository and also updates mCurrentMode  
+        updateSelectionModel(currentMode());
+    }
+   
+    myDebug() << "<<< UsbUiSettingModel::personalitySetCompleted";      
+}
+
+bool UsbUiSettingModel::isPersonalityHidden(RUsb &usbman, TInt personalityId)
+{
+    myDebug() << ">>> UsbUiSettingModel::isPersonalityHidden from USB Manager";
+    bool hidden = false;
+    TUint32 property = 0;
+    TInt ret = usbman.GetPersonalityProperty(personalityId, property);
+    if (ret == KErrNone) {
+        myDebug() << "property " << property;
+        if (property & KUsbPersonalityPropertyHidden) {
+            hidden = true;
+        }
+    } 
+    myDebug() << "<<< UsbUiSettingModel::isPersonalityHidden " << hidden;
+    return hidden;
+}
+
+QString UsbUiSettingModel::getFriendlyName(RUsb &usbman, TInt personalityId)
+{
+    myDebug() << ">>> UsbUiSettingModel::getFriendlyName";
+    QString friendlyName;
+    HBufC* description = NULL;
+    TInt err = usbman.GetDescription(personalityId, description);
+    if (err == KErrNone) {
+        friendlyName = QString::fromUtf16(description->Ptr(), description->Length());
+        friendlyName.replace( QChar(' '), QChar('_') );
+        delete description;
+    } else {
+        myDebug() << "    UsbUiSettingModel::getFriendlyName RUsb error "
+            << err;    
+    }
+    myDebug() << "    UsbUiSettingModel::getFriendlyName friendlyName=" << friendlyName;
+    myDebug() << "<<< UsbUiSettingModel::getFriendlyName";
+    return friendlyName;
+}
--- a/usbuis/usbuinotif/data/102068DC.rss	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/data/102068DC.rss	Mon May 17 11:03:15 2010 +0300
@@ -17,7 +17,7 @@
 */
 
 
-#include "registryinfo.rh"
+#include "ecom/registryinfo.rh"
 #include "uikon.hrh"
 
 RESOURCE REGISTRY_INFO theInfo
--- a/usbuis/usbuinotif/data/usbuinotif.rss	Sun May 02 21:57:48 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +0,0 @@
-/*
-* Copyright (c) 2005, 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains all the resources for the module 
-*                   USBUINotif.
-*
-*/
-
-
-NAME USBN
-
-#include <eikon.rsg>
-#include <eikon.rh>
-
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.loc>
-
-#include <usbuinotif.loc>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-//default document name - not used
-RESOURCE TBUF { buf=""; }
-
-// === QUERIES ================================================================
-
-//-----------------------------------------------------------------------------
-// r_usb_query_with_cancel
-// Query resource (with Cancel) 
-//-----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_usb_query_with_cancel
-    {
-    flags   = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    items   =
-        {
-        DLG_LINE
-            {
-            type    = EAknCtQuery;
-            id      = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout    = EConfirmationQueryLayout;
-                animation = R_QGN_NOTE_QUERY_ANIM;
-                };
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-// r_usb_query_without_cancel 
-// Query resource (without Cancel) 
-//-----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_usb_query_without_cancel
-    {
-    flags   = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items   =
-        {
-        DLG_LINE
-            {
-            type    = EAknCtQuery;
-            id      = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout    = EConfirmationQueryLayout;
-                animation = R_QGN_NOTE_INFO_ANIM;
-                };
-            }
-        };
-    }
-
-
-//-----------------------------------------------------------------------------
-// r_usb_on_connection_query
-// Defines a dialog for usb mode query
-//-----------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_usb_on_connection_query
-    {
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleGraphicPopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_usb_empty_array;
-                    };
-                heading = qtn_usb_mode_query_header; 
-                };
-            }
-        };
-    }
-
-
-//-----------------------------------------------------------------------------
-//Prompts for message queries
-//-----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_usb_mode_msg_header {
-    buf=qtn_usb_mode_msg_header; }
-
-RESOURCE TBUF r_usb_mode_msg_mass_storage {
-    buf= "%U mode :\n"qtn_usb_mode_msg_mass_storage"\n<AknMessageQuery Link>"qtn_usb_mode_msg_link"</AknMessageQuery Link>"; }
-
-RESOURCE TBUF r_usb_mode_msg_pc_suite {
-    buf= "%U mode :\n"qtn_usb_mode_msg_pc_suite"\n<AknMessageQuery Link>" qtn_usb_mode_msg_link"</AknMessageQuery Link>"; }
-
-RESOURCE TBUF r_usb_mode_msg_mtp {
-    buf= "%U mode :\n"qtn_usb_mode_msg_mtp"\n<AknMessageQuery Link>" qtn_usb_mode_msg_link"</AknMessageQuery Link>"; }
-
-RESOURCE TBUF r_usb_mode_msg_ptp {
-    buf= "%U mode :\n"qtn_usb_mode_msg_ptp"\n<AknMessageQuery Link>" qtn_usb_mode_msg_link"</AknMessageQuery Link>"; }
-
-RESOURCE TBUF r_usb_mode_msg_link {
-    buf=qtn_usb_mode_msg_link; }
-
-//-----------------------------------------------------------------------------
-// r_usb_on_connection_message_query
-// Defines a dialog for ask on connection query
-//-----------------------------------------------------------------------------
-//   
-RESOURCE DIALOG r_usb_on_connection_message_query 
-    {
-    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items=
-        {
-        DLG_LINE 
-            {
-            type = EAknCtPopupHeadingPane;
-            id = EAknMessageQueryHeaderId;
-            control = AVKON_HEADING
-                {
-                label = header_not_defined;
-                };
-            },
-        DLG_LINE
-            {
-            type = EAknCtMessageQuery;
-            id = EAknMessageQueryContentId;
-            control = AVKON_MESSAGE_QUERY
-                {
-                };
-            }
-        };
-    }
-
-
-//-----------------------------------------------------------------------------
-// r_usb_empty_array
-// Defines an empty array
-//-----------------------------------------------------------------------------
-RESOURCE ARRAY r_usb_empty_array
-    {
-    items=
-        {
-        LBUF { txt=""; }
-        };
-    }
-
-
-//-----------------------------------------------------------------------------
-// Prompts for information notes
-//-----------------------------------------------------------------------------
-//
-
-//-----------------------------------------------------------------------------
-// Prompts for confirmation queries
-//-----------------------------------------------------------------------------
-//
-#ifndef RD_MULTIPLE_DRIVE
-RESOURCE TBUF r_usb_memory_card_locked { 
-    buf = qtn_usb_mode_note_memory_card_locked; }
-
-RESOURCE TBUF r_usb_cable_unsafely_removed {
-    buf = qtn_usb_mode_note_cable_unsafely_removed; }
-
-RESOURCE TBUF r_usb_memorycard_unsafely_removed { 
-    buf = qtn_usb_mode_note_mmc_unsafely_removed; }
-#endif
-
-RESOURCE TBUF r_usb_change_from_mass_storage {
-    buf = qtn_usb_mode_query_change_from_mass_storage; }
-
-RESOURCE TBUF r_usb_storage_media_failure { 
-    buf = qtn_usb_mode_note_storage_media_failure; }
-
-// USB OTG Resources
-
-//-----------------------------------------------------------------------------
-// r_usb_query_otg_error
-//-----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_usb_query_otg_error
-    {
-    flags   = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items   =
-        {
-        DLG_LINE
-            {
-            type    = EAknCtQuery;
-            id      = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout    = EConfirmationQueryLayout;
-                animation = R_QGN_NOTE_ERROR_ANIM;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_usb_otg_error_current_limit { 
-    buf = qtn_usb_otg_error_current_limit; }
-
-RESOURCE TBUF r_usb_otg_error_too_much_current_required { 
-    buf = qtn_usb_otg_error_too_much_current_required; }
-    
-RESOURCE TBUF r_usb_otg_error_unsupported { 
-    buf = qtn_usb_otg_error_unsupported; }
-
-RESOURCE TBUF r_usb_otg_error_hub_unsupported { 
-    buf = qtn_usb_otg_error_hub; }
-
-RESOURCE TBUF r_usb_otg_error_unrecoverable { 
-    buf = qtn_usb_otg_error_unrecoverable; }
-
-RESOURCE TBUF r_usb_otg_warning_partial_support { 
-    buf = qtn_usb_otg_warning_partial_support; }
-
-RESOURCE TBUF r_usb_no_memory_card {
-    buf = qtn_usb_mode_query_no_memory_card; }
-
-RESOURCE TBUF r_usb_otg_error_attach_timedout { 
-    buf = qtn_usb_otg_error_cable; }
-
-RESOURCE TBUF r_usb_msmm_error_unknown_filesystem { 
-    buf = qtn_usb_otg_error_unsupported_filesystem; }
-
-RESOURCE TBUF r_usb_msmm_error_general_mass_storage_error { 
-    buf = qtn_usb_otg_general_mass_storage_error; }
-
-RESOURCE TBUF r_usb_msmm_error_out_of_memory { 
-    buf = qtn_memlo_not_enough_memory; }
-
-RESOURCE TBUF r_usb_error_memory_not_enough { 
-    buf = qtn_usb_error_memory_not_enough; }
-	
-// End of File
--- a/usbuis/usbuinotif/group/bld.inf	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/group/bld.inf	Mon May 17 11:03:15 2010 +0300
@@ -27,6 +27,7 @@
 ../rom/usbuinotifresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(usbuinotifresources.iby)
 
 PRJ_MMPFILES
+gnumakefile ../group/localization.mk
 usbuinotif.mmp
 
 PRJ_TESTMMPFILES
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbuinotif/group/localization.mk	Mon May 17 11:03:15 2010 +0300
@@ -0,0 +1,357 @@
+#
+# 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:
+#
+MAKE = make
+
+VISUAL_CFG = RELEASE
+ifeq "$(CFG)" "UDEB"
+VISUAL_CFG = DEBUG
+endif
+
+do_nothing :
+	@rem do_nothing
+
+MAKMAKE: create_temps pre_targetdeps 
+
+LIB: create_temps pre_targetdeps 
+
+BLD: create_temps pre_targetdeps 
+
+CLEAN: extension_clean deployment_clean
+
+CLEANLIB: do_nothing
+
+RESOURCE: create_qm
+
+create_qm : 
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ar.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ar.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ar.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ar.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ar.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ar.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_eu.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_eu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_eu.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_eu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_eu.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_eu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_bg.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_bg.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_bg.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_bg.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_bg.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_bg.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ca.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ca.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ca.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ca.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ca.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ca.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hr.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_hr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hr.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hr.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_cs.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_cs.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_cs.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_cs.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_cs.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_cs.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_da.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_da.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_da.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_da.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_da.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_da.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_nl.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_nl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_nl.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_nl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_nl.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_nl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_en.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_en.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_en.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en_US.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_en_US.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en_US.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_en_US.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_en_US.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_en_US.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_et.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_et.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_et.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_et.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_et.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_et.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fi.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_fi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fi.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fi.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_fr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr_CA.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr_CA.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_fr_CA.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_gl.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_gl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_gl.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_gl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_gl.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_gl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_de.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_de.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_de.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_de.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_de.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_de.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_el.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_el.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_el.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_el.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_el.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_el.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_he.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_he.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_he.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_he.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_he.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_he.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hi.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_hi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hi.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hi.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_HK.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_HK.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_HK.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hu.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_hu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hu.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_hu.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hu.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_is.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_is.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_is.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_is.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_is.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_is.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_id.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_id.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_id.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_id.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_id.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_id.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_it.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_it.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_it.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_it.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_it.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_it.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ja.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ja.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ja.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ja.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ja.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ja.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ko.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ko.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ko.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ko.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ko.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ko.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lv.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_lv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lv.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_lv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lv.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_lv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lt.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_lt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lt.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_lt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_lt.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_lt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ms.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ms.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ms.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ms.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ms.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ms.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_no.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_no.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_no.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_no.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_no.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_no.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pl.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_pl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pl.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pl.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_pt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pt.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt_BR.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt_BR.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_pt_BR.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_zh.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ro.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ro.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ro.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ro.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ro.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ro.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ru.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ru.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ru.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ru.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ru.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ru.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sr.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_sr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sr.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sr.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sk.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_sk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sk.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sk.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sl.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_sl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sl.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sl.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_es.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_es.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_es.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es_419.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_es_419.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es_419.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_es_419.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_es_419.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_es_419.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sv.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_sv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sv.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_sv.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sv.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tl.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_tl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tl.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_tl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tl.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_tl.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_TW.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_TW.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_zh_TW.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_th.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_th.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_th.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_th.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_th.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_th.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tr.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_tr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tr.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_tr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_tr.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_tr.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_uk.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_uk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_uk.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_uk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_uk.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_uk.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ur.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_ur.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ur.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ur.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_ur.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ur.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_vi.ts -qm /epoc32/data/z/resource/qt/translations/usbdialogs_vi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_vi.ts -qm /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_vi.qm
+	lrelease -silent -idbased /epoc32/include/platform/qt/translations/usbdialogs_vi.ts -qm /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_vi.qm
+
+FREEZE: do_nothing
+
+SAVESPACE: do_nothing
+
+RELEASABLES: list_qm
+
+list_qm : 
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ar.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ar.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ar.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_eu.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_eu.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_eu.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_bg.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_bg.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_bg.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ca.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ca.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ca.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_hr.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hr.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hr.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_cs.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_cs.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_cs.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_da.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_da.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_da.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_nl.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_nl.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_nl.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_en.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_en.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_en.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_en_US.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_en_US.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_en_US.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_et.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_et.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_et.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_fi.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fi.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fi.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_fr.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fr.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fr.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_fr_CA.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_gl.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_gl.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_gl.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_de.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_de.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_de.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_el.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_el.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_el.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_he.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_he.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_he.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_hi.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hi.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hi.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh_HK.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_hu.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_hu.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_hu.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_is.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_is.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_is.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_id.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_id.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_id.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_it.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_it.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_it.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ja.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ja.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ja.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ko.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ko.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ko.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_lv.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_lv.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_lv.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_lt.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_lt.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_lt.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ms.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ms.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ms.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_no.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_no.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_no.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_pl.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pl.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pl.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_pt.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pt.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pt.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_pt_BR.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_zh.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ro.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ro.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ro.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ru.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ru.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ru.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_sr.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sr.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sr.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_sk.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sk.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sk.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_sl.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sl.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sl.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_es.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_es.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_es.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_es_419.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_es_419.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_es_419.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_sv.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_sv.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_sv.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_tl.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_tl.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_tl.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_zh_TW.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_th.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_th.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_th.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_tr.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_tr.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_tr.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_uk.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_uk.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_uk.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_ur.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_ur.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_ur.qm
+	@echo /epoc32/data/z/resource/qt/translations/usbdialogs_vi.qm
+	@echo /epoc32/release/winscw/udeb/z/resource/qt/translations/usbdialogs_vi.qm
+	@echo /epoc32/release/winscw/urel/z/resource/qt/translations/usbdialogs_vi.qm
+
+extension_clean :
+
+deployment_clean :
+
+winscw_deployment_clean:
+
+pre_targetdeps :
+
+create_temps :
+
+deployment : 
+
+finalize : 
+
+FINAL: finalize deployment
+
--- a/usbuis/usbuinotif/group/usbuinotif.mmp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/group/usbuinotif.mmp	Mon May 17 11:03:15 2010 +0300
@@ -39,31 +39,16 @@
 TARGET  usbuinotif.rsc 
 END	
 
-// Notifier resource file
-START RESOURCE  ../data/usbuinotif.rss
-HEADER
-TARGETPATH    RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE     ../inc
-
-SYSTEMINCLUDE         ../../inc ../../../inc MW_LAYER_PLATFORM_EXPORT_PATH(SecondaryDisplay/)    //for internal and private API headers
-SYSTEMINCLUDE   /epoc32/include/ecom
-SYSTEMINCLUDE   /epoc32/include/mw/hb/hbcore 
+ 
 MW_LAYER_SYSTEMINCLUDE
-
+USERINCLUDE     ../inc ../../inc ../../../inc
 
 
 LIBRARY ECOM.LIB                            // Symbian E-Com Plugin definitions and types
 LIBRARY euser.lib cone.lib                  // Symbian OS frameworklibraries
-LIBRARY avkon.lib                           // UI library
 LIBRARY bafl.lib                            // Basic Application Framework
 LIBRARY commonengine.lib                    // Series 60 common components
 LIBRARY eikcoctl.lib eiksrv.lib             // Eikon libraries
-LIBRARY eikdlg.lib                          // Eikon dialogs
-LIBRARY estor.lib                           // for Cover Display UI support
-LIBRARY FeatMgr.lib                         // for fetching if Cover Display is supported
 LIBRARY centralrepository.lib               // Central Repository
 LIBRARY efsrv.lib                           // File server
 LIBRARY eikcore.lib                         // for icons
@@ -72,11 +57,9 @@
 LIBRARY aknicon.lib
 LIBRARY egul.lib
 LIBRARY usbman.lib                          // for personality IDs and descriptions
-LIBRARY aknnotifierwrapper.lib              // Avkon's notifier wrapper
 LIBRARY         apparc.lib 
-LIBRARY akncapserverclient.lib              // for suppressing the application key
 LIBRARY hbcore.lib
-
+LIBRARY hbwidgets.lib
 DEBUGLIBRARY flogger.lib                    // File logging services
 
 // End of File
--- a/usbuis/usbuinotif/inc/usbnotifier.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbnotifier.h	Mon May 17 11:03:15 2010 +0300
@@ -20,9 +20,6 @@
 #include <usbuinotif.h>
 #include <eikenv.h>
 #include <data_caging_path_literals.hrh> 
-#include <usbman.h>
-#include <usbwatcher.h>
-#include <AknCapServerClient.h>  
 #include "usbuinotifdebug.h"
 // CONSTANTS
 // Literal resource filename 
@@ -38,7 +35,7 @@
  *
  *  @lib
  */
-NONSHARABLE_CLASS(CUSBUINotifierBase) : public CActive, public MEikSrvNotifierBase2
+NONSHARABLE_CLASS(CUSBUINotifierBase) : public CBase, public MEikSrvNotifierBase2
     {
 public:
     // Constructors and destructor
@@ -72,52 +69,25 @@
      * @param aMessage Should be completed when the notifier is deactivated.
      * @return None.
      */
-    virtual void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    virtual void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage)=0;
 
     /**
-     * A function for checking the status of Apps key.
-     * @param aEnable A Boolean according to Apps key status
-     * @return None.
-     */
-    void SuppressAppSwitching(TBool aEnable);
-
-    /**
      * Check if message needs to be completed and complete it
      * @param aReason   The completetion code
      */
     void CompleteMessage(TInt aReason);
 
-    /*
-     * Check whether the keylock is on. If yes turn it off.
-     * @since S60 3.2
-     */
-    void DisableKeylock();
-
-    /*
-     * Restore the keyguard on if it has been disabled by DisableKeylock.
-     * @since S60 3.2
-     */
-    void RestoreKeylock();
-
+    /**
+     * Initialize HbTextResolrer, if not initialized before
+     * (checks it from TLS)
+     */    
+    void InitializeTextResolver();
+   
 protected:
     // Functions from base classes        
 
     /**
-     * From CActive Gets called when a request completes.
-     * @param None.
-     * @return None.
-     */
-    virtual void RunL()=0;
-
-    /**
-     * From CActive Gets called when a leave occurres in RunL.
-     * @param aError Symbian OS errorcode.
-     * @return error code.
-     */
-    virtual TInt RunError(TInt aError);
-
-    /**
      * From MEikSrvNotifierBase2 Called when a notifier is first loaded 
      * to allow any initial construction that is required.
      * @param None.
@@ -131,7 +101,7 @@
      * @param None.
      * @return None.
      */
-    virtual void Cancel();
+   virtual void Cancel();
 
 private:
     // Functions from base classes        
@@ -176,16 +146,8 @@
      */
     virtual TPtrC8 UpdateL(const TDesC8& aBuffer);
 
-    /**
-     * From CActive Gets called when a request is cancelled.
-     * @param None.
-     * @return None.
-     */
-    virtual void DoCancel();
-
-private:
-    TBool iKeylockChanged; // Flag used to restore the keylock
-    RAknUiServer iAknServer;
+ 
+  
 protected:
     // Data
 
@@ -196,10 +158,7 @@
     TInt iResourceFileFlag; // Flag for eikon env.
     TNotifierInfo iInfo; // Notifier parameters structure    
     CEikonEnv* iEikEnv; // Local eikonenv, not own
-    TBool iAppsKeyBlocked; // Apps key status 
-
-    TBool iCoverDisplaySupported; // Cover Display UI feature support
-
+    TBool iTranslator ;
     };
 
 #endif // USBUINOTIFIER_H
--- a/usbuis/usbuinotif/inc/usbuincableconnectednotifier.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuincableconnectednotifier.h	Mon May 17 11:03:15 2010 +0300
@@ -20,8 +20,8 @@
 
 // INCLUDES
 
-#include <hbdevicedialogsymbian.h>
-#include <hbsymbianvariant.h>
+#include <hb/hbcore/hbdevicedialogsymbian.h>
+#include <hb/hbwidgets/hbdevicenotificationdialogsymbian.h>
 
 #include "usbnotifier.h" // Base class
 // CLASS DECLARATION
@@ -32,7 +32,7 @@
  *  @lib
  */
 NONSHARABLE_CLASS(CUSBUICableConnectedNotifier) : public CUSBUINotifierBase, 
-    public MHbDeviceDialogObserver
+    public MHbDeviceNotificationDialogObserver
     {
 public:
     // Constructors and destructor
@@ -66,13 +66,6 @@
     void Cancel();
 
     /**
-     * From CUSBUINotifierBase Gets called when a request completes.
-     * @param None.
-     * @return None.
-     */
-    void RunL();
-
-    /**
      * From CUSBUINotifierBase Used in asynchronous notifier launch to 
      * store received parameters into members variables and 
      * make needed initializations.
@@ -81,25 +74,21 @@
      * @param aMessage Should be completed when the notifier is deactivated.
      * @return None.
      */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage);
  
        
 private:
-    // functions from MHbDeviceDialogObserver
-   
+    // functions from MHbDeviceNotificationDialogObserver
     /**
-    * lunches the QT usb ui setting
-    * @param aData is a CHbSymbianVariantMap daya which contains the keys
-    */ 
-    void DataReceived(CHbSymbianVariantMap& aData);
-    /*
-     * Virtual function from MHbDeviceDialogObserver
-     * Not implemented
-     */     
-    void DeviceDialogClosed(TInt aCompletionCode);
-         
-    
+     * Callback function which is called when the dialog is tapped
+     */
+    void NotificationDialogActivated(const CHbDeviceNotificationDialogSymbian* aDialog);
+    /**
+     * Callback function which is called when the dialog is closed
+     */
+    void NotificationDialogClosed(const CHbDeviceNotificationDialogSymbian* aDialog,
+            TInt aCompletionCode);
 
 private:
     //New functions
@@ -117,35 +106,20 @@
      */
     void GetPersonalityStringLC(HBufC*& aHeader,HBufC*& aDescription );
 
-    /**
-     * Runs the connected discreet note
-     */
-    void RunQueryL();
-
-  
-    /**
+     /**
      * launches the (USB) application
      * @param aProcessName The process name (*.exe)
      * @param TUidType 
      */
     void LaunchApplication(const TDesC & aProcessName,const TUidType & aUidType) const;
 
-    /**
-     * Adds a parameter to the dialog parameters.
-     */
-    void AddParameterL(
-            CHbSymbianVariantMap* aParameters,
-            const TDesC& aKey,
-            const TAny* aData,
-            CHbSymbianVariant::TType aDataType);
-
 private:
     /**
      *  C++ default constructor.
      */
     CUSBUICableConnectedNotifier();
     
-    CHbDeviceDialogSymbian* iDialog; 
+    CHbDeviceNotificationDialogSymbian* iDialog; 
 
     };
 #endif // USBUINCABLECONNECTEDNOTIFIER_H
--- a/usbuis/usbuinotif/inc/usbuinotifmsmmerror.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuinotifmsmmerror.h	Mon May 17 11:03:15 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Declares USB UI Queries notifier.
+* Description:  Declares MSMM error notifier.
  *
 */
 
@@ -20,10 +20,11 @@
 #define USBUINOTIFMSMMERROR_H
 
 // INCLUDES
-
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
 #include "usbnotifier.h"      // Base class
-#include <AknQueryDialog.h>   // AVKON component
+
 #define KUsbUiNotifOtgGeneralQueryGranularity 3
+
 // CLASS DECLARATION
 
 /**
@@ -32,19 +33,21 @@
  *
  *  @lib
  */
-NONSHARABLE_CLASS(CUsbUiNotifMSMMError) : public CUSBUINotifierBase
+NONSHARABLE_CLASS(CUsbUiNotifMSMMError) : public CUSBUINotifierBase,
+                                          public MHbDeviceMessageBoxObserver
     {
 public:
 
-/**
- * Possible parameter values for KUsbUiNotifMSMMError
- */
-enum TUsbUiNotifMSMMError
-    {
-    EUsbMSMMGeneralError,	
-    EUsbMSMMUnknownFileSystem,
-    EUsbMSMMOutOfMemory
-    };
+    /**
+     * Indexes for the strings used in KUsbUiNotifMSMMError which are mapped to 5 errors.
+     */
+    enum TUsbUiNotifMSMMError
+        {
+        EUsbMSMMGeneralError,	
+        EUsbMSMMUnknownFileSystem,
+        EUsbMSMMOutOfMemory
+        };
+
     // Constructors and destructor
 
     /**
@@ -57,6 +60,14 @@
      */
     virtual ~CUsbUiNotifMSMMError();
 
+    /**
+     * Call back function to observe device message box closing.
+     * @param aMessageBox Pointer to the closing message box instance.
+     * @param aButton Button that was pressed.
+     */
+    void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
+        CHbDeviceMessageBoxSymbian::TButtonId aButton);
+
 protected:
 
     /**
@@ -81,11 +92,6 @@
     void Cancel();
 
     /**
-     * From CUSBUINotifierBase Gets called when a request completes.
-     */
-    void RunL();
-
-    /**
      * From CUSBUINotifierBase Used in asynchronous notifier launch to 
      * store received parameters into members variables and 
      * make needed initializations.
@@ -93,7 +99,7 @@
      * @param aReplySlot A reply slot.
      * @param aMessage Should be completed when the notifier is deactivated.
      */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage);
 
 private:
@@ -106,20 +112,9 @@
 private:
     // New functions
 
-    /**
-     * Show query dialog     
-     * @return KErrNone - accepted, KErrCancel - Cancel or End call key
-     */
-    TInt QueryUserResponseL();
-
 private:
     // Data
-    /**
-     *  Query
-     *  Not own, destroys self when lauched.
-     */
-    CAknQueryDialog* iQuery; 
-    RArray<TInt> iStringIds;
-    TInt iErrorId;
-    };
+    CHbDeviceMessageBoxSymbian* iQuery;
+    CDesCArrayFlat* iStringIds;
+     };
 #endif // USBUINOTIFMSMMERROR_H
--- a/usbuis/usbuinotif/inc/usbuinotifotgerror.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuinotifotgerror.h	Mon May 17 11:03:15 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Declares USB UI Queries notifier.
+* Description:  Declares USB UI OTG Errors notifier.
  *
 */
 
@@ -20,19 +20,21 @@
 #define USBUINOTIFOTGERROR_H
 
 // INCLUDES
-
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
 #include "usbnotifier.h"      // Base class
-#include <AknQueryDialog.h>   // AVKON component
+
+
 #define KUsbUiNotifOtgGeneralQueryGranularity 3
 // CLASS DECLARATION
 
 /**
- *  This class is used to show general USB query.
+ *  This class is used to show general USB OTG errors
  *  Asynchronous call is required.
  *
  *  @lib
  */
-NONSHARABLE_CLASS(CUsbUiNotifOtgError) : public CUSBUINotifierBase
+NONSHARABLE_CLASS(CUsbUiNotifOtgError) : public CUSBUINotifierBase, 
+                                        public MHbDeviceMessageBoxObserver
     {
 public:
     // Constructors and destructor
@@ -46,7 +48,14 @@
      * Destructor.
      */
     virtual ~CUsbUiNotifOtgError();
-
+   
+    /**
+     * Call back function to observe device message box closing.
+     * @param aMessageBox Pointer to the closing message box instance.
+     * @param aButton Button that was pressed.
+     */
+    void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
+            CHbDeviceMessageBoxSymbian::TButtonId aButton);
 protected:
 
     /**
@@ -71,11 +80,6 @@
     void Cancel();
 
     /**
-     * From CUSBUINotifierBase Gets called when a request completes.
-     */
-    void RunL();
-
-    /**
      * From CUSBUINotifierBase Used in asynchronous notifier launch to 
      * store received parameters into members variables and 
      * make needed initializations.
@@ -83,7 +87,7 @@
      * @param aReplySlot A reply slot.
      * @param aMessage Should be completed when the notifier is deactivated.
      */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage);
 
 private:
@@ -94,22 +98,12 @@
     CUsbUiNotifOtgError();
 
 private:
-    // New functions
-
-    /**
-     * Show query dialog     
-     * @return KErrNone - accepted, KErrCancel - Cancel or End call key
-     */
-    TInt QueryUserResponseL();
-
-private:
     // Data
     /**
      *  Query
-     *  Not own, destroys self when lauched.
+     *  Owned
      */
-    CAknQueryDialog* iQuery; 
-    RArray<TInt> iStringIds;
-    TInt iErrorId;
+    CHbDeviceMessageBoxSymbian* iQuery; 
+    CDesCArrayFlat* iStringIds;
     };
 #endif // USBUINOTIFOTGERROR_H
--- a/usbuis/usbuinotif/inc/usbuinotifotgwarning.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuinotifotgwarning.h	Mon May 17 11:03:15 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Declares USB UI connection notifier.
+* Description:  Declares USB OTG Warning notifier.
  *
 */
 
@@ -20,8 +20,9 @@
 #define USBUINOTIFOTGWARNING_H
 
 // INCLUDES
-#include <aknnotewrappers.h>
+
 #include <usbuinotif.h>
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
 
 #include "usbnotifier.h"   // Base class
 #define KUsbUiNotifOtgGeneralNoteGranularity 1
@@ -32,7 +33,8 @@
  *  Synchronous call is enouph.
  * 
  */
-NONSHARABLE_CLASS(CUsbUiNotifOtgWarning) : public CUSBUINotifierBase
+NONSHARABLE_CLASS(CUsbUiNotifOtgWarning) : public CUSBUINotifierBase,
+                                           public MHbDeviceMessageBoxObserver
     {
 public:
     // Constructors and destructor
@@ -46,6 +48,13 @@
      * Destructor.
      */
     virtual ~CUsbUiNotifOtgWarning();
+    /**
+       * Call back function to observe device message box closing.
+       * @param aMessageBox Pointer to the closing message box instance.
+       * @param aButton Button that was pressed.
+       */
+    void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
+          CHbDeviceMessageBoxSymbian::TButtonId aButton);
 
 protected:
 
@@ -72,13 +81,6 @@
     void Cancel();
 
     /**
-     * From CUSBUINotifierBase. Gets called when a request completes.
-     * @param None.
-     * @return None.
-     */
-    void RunL();
-
-    /**
      * From CUSBUINotifierBase. Used in asynchronous notifier launch to 
      * store received parameters into members variables and 
      * make needed initializations.
@@ -87,7 +89,7 @@
      * @param aMessage Should be completed when the notifier is deactivated.
      * @return None.
      */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage);
 
 private:
@@ -97,25 +99,12 @@
      */
     CUsbUiNotifOtgWarning();
 
-    /**
-     * Publish the dialog to the cover UI
-     * The cover UI may use the personality ID or the localized
-     * personality name e.g. "Mass storage". 
-     * @param aNote           The dialog to be published.
-     * @param aPersonalityId  The personality ID.
-     * @param aLocalizedPersonalityDescriptor The personality as a string.
-     */
-    void
-            PublishToCoverUiL(CAknResourceNoteDialog* aNote,
-                    TInt aPersonalityId,
-                    const HBufC* aLocalizedPersonalityDescriptor);
-
 private:
     // data
-    RArray<TInt> iStringIds;
+    CDesCArrayFlat* iStringIds;
 
     //Own
-    CAknResourceNoteDialog* iNote;
+    CHbDeviceMessageBoxSymbian* iNote;
 
     TInt iNoteId;
     };
--- a/usbuis/usbuinotif/inc/usbuinqueriesnotifier.h	Sun May 02 21:57:48 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 2005-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:  Declares USB UI Queries notifier.
- *
- */
-
-#ifndef USBUINQUERIESNOTIFIER_H
-#define USBUINQUERIESNOTIFIER_H
-
-// INCLUDES
-
-#include "usbnotifier.h"      // Base class
-#include <AknQueryDialog.h>   // AVKON component
-
-// CLASS DECLARATION
-
-/**
- *  This class is used to show USB query dialogs.
- *
- *  @lib
- */
-NONSHARABLE_CLASS(CUSBUIQueriesNotifier) : public CUSBUINotifierBase
-    {
-public:
-    // Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     */
-    static CUSBUIQueriesNotifier* NewL();
-
-    /**
-     * Destructor.
-     */
-    virtual ~CUSBUIQueriesNotifier();
-
-
-private:
-    // Functions from base class
-
-    /**
-     * From CUSBUINotifierBase Called when a notifier is first loaded.        
-     * @param None.
-     * @return A structure containing priority and channel info.
-     */
-    TNotifierInfo RegisterL();
-
-    /**
-     * From CUSBUINotifierBase The notifier has been deactivated 
-     * so resources can be freed and outstanding messages completed.
-     * @param None.
-     * @return None.
-     */
-    void Cancel();
-
-    /**
-     * From CUSBUINotifierBase Gets called when a request completes.
-     * @param None.
-     * @return None.
-     */
-    void RunL();
-
-    /**
-     * From CUSBUINotifierBase Used in asynchronous notifier launch to 
-     * store received parameters into members variables and 
-     * make needed initializations.
-     * @param aBuffer A buffer containing received parameters
-     * @param aReplySlot A reply slot.
-     * @param aMessage Should be completed when the notifier is deactivated.
-     * @return None.
-     */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
-            const RMessagePtr2& aMessage);
-
-private:
-
-    /**
-     *  C++ default constructor.
-     */
-    CUSBUIQueriesNotifier();
-
-private:
-    // New functions
-
-
-    /**
-     * Show query dialog 
-     * @param aStringHolder   The string for the query. 
-     * @param aCoverDialogId  The dialog ID for the cover UI.
-     * @param aIsCancelKey    Does the dialog show Cancel key.
-     * @return KErrNone - accepted, KErrCancel - Cancel or End call key
-     */
-    TInt QueryUserResponseL(const TDesC& aStringHolder, TInt aCoverDialogId,
-            TBool aIsCancelKey);
-
-    /**
-     * Get attributes for the query dialog
-     * The query type is idenfied by the member variable iQueryType.
-     * The caller should pop and destroy the returned heap descriptor 
-     * when it is no longer needed.
-     * @param aCoverDialogId  Returned dialog ID for the cover UI.
-     * @param aIsCancelKey    Returned info about showing the Cancel key.
-     * @return                The string holder for the query. 
-     */
-    HBufC* GetQueryAttributesLC(TInt& aCoverDialogId, TBool& aIsCancelKey);
-
-private:
-    // Data
-    /**
-     * Query
-     * Not own, destroys self when lauched.
-     */
-    CAknQueryDialog* iUSBQueryDlg;  
-    TUSBUIQueries iQueryType; // To store the type of the query
-    TInt iDriveLetter; // For MMC locked case
-
-    };
-#endif // USBUINQUERIESNOTIFIER_H
--- a/usbuis/usbuinotif/inc/usbuinqueriesnotifiermdrv.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/inc/usbuinqueriesnotifiermdrv.h	Mon May 17 11:03:15 2010 +0300
@@ -19,9 +19,10 @@
 #define USBUINQUERIESNOTIFIER_H
 
 // INCLUDES
-
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
 #include "usbnotifier.h"      // Base class
-#include <AknQueryDialog.h>   // AVKON component
+
+
 // CLASS DECLARATION
 
 /**
@@ -30,7 +31,8 @@
  *  @lib 
  *  @since S60 3.0
  */
-NONSHARABLE_CLASS(CUSBUIQueriesNotifier) : public CUSBUINotifierBase
+NONSHARABLE_CLASS(CUSBUIQueriesNotifier) : public CUSBUINotifierBase,
+                                           public MHbDeviceMessageBoxObserver
     {
 public:
     // Constructors and destructor
@@ -44,6 +46,14 @@
      * Destructor.
      */
     virtual ~CUSBUIQueriesNotifier();
+    /**
+     * Call back function to observe device message box closing.
+     * @param aMessageBox Pointer to the closing message box instance.
+     * @param aButton Button that was pressed.
+     */
+    void MessageBoxClosed(const CHbDeviceMessageBoxSymbian* aMessageBox,
+            CHbDeviceMessageBoxSymbian::TButtonId aButton);
+
 
 private:
     // Functions from base class
@@ -64,13 +74,6 @@
     void Cancel();
 
     /**
-     * From CUSBUINotifierBase Gets called when a request completes.
-     * @param None.
-     * @return None.
-     */
-    void RunL();
-
-    /**
      * From CUSBUINotifierBase Used in asynchronous notifier launch to 
      * store received parameters into members variables and 
      * make needed initializations.
@@ -79,53 +82,24 @@
      * @param aMessage Should be completed when the notifier is deactivated.
      * @return None.
      */
-    void GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+    void StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
             const RMessagePtr2& aMessage);
 
 private:
-    /*
-     * From MEikSrvNotifierBase2 Synchronic notifier launch.        
-     * @param aBuffer Received parameter data.
-     * @return A pointer to return value.
-     */
-    virtual TPtrC8 StartL(const TDesC8& aBuffer);
-
+    
     /**
      *  C++ default constructor.
      */
     CUSBUIQueriesNotifier();
 
-private:
-    // New functions
-
-    /**
-     * Show query dialog 
-     * @param aStringHolder   The string for the query. 
-     * @param aCoverDialogId  The dialog ID for the cover UI.
-     * @param aIsCancelKey    Does the dialog show Cancel key.
-     * @return KErrNone - accepted, KErrCancel - Cancel or End call key
-     */
-    TInt QueryUserResponseL(const TDesC& aStringHolder, TInt aCoverDialogId,
-            TBool aIsCancelKey, TBool aIsErrorQuery);
-
-    /**
-     * Get attributes for the query dialog
-     * The query type is idenfied by the member variable iQueryType.
-     * The caller should pop and destroy the returned heap descriptor 
-     * when it is no longer needed.
-     * @param aCoverDialogId  Returned dialog ID for the cover UI.
-     * @param aIsCancelKey    Returned info about showing the Cancel key.
-     * @return                The string holder for the query. 
-     */
-    HBufC* GetQueryAttributesLC(TInt& aCoverDialogId, TBool& aIsCancelKey, TBool& aIsErrorQuery);
 
 private:
     // Data
     
     /**
-    * Not own, destroys self when lauched.
+    * owned
     */
-    CAknQueryDialog* iUSBQueryDlg;
+    CHbDeviceMessageBoxSymbian*  iUSBQueryDlg;
     TUSBUIQueries iQueryType; // To store the type of the query
 
     };
--- a/usbuis/usbuinotif/rom/usbuinotifresources.iby	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/rom/usbuinotifresources.iby	Mon May 17 11:03:15 2010 +0300
@@ -19,9 +19,11 @@
 
 REM USB UI notifiers resources
 
+#include <data_caging_paths_for_iby.hrh>
+
 #ifdef __USB_MULTIPERSONALITY 
 
-data=DATAZ_\RESOURCE_FILES_DIR\usbuinotif.rsc    RESOURCE_FILES_DIR\usbuinotif.rsc
+data=DATAZ_\QT_TRANSLATIONS_DIR\usbdialogs.qm   QT_TRANSLATIONS_DIR\usbdialogs.qm
 
 #endif // __USB_MULTIPERSONALITY
 #endif // __USBUINOTIFRESOURCES_IBY__
\ No newline at end of file
--- a/usbuis/usbuinotif/src/usbnotifier.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbnotifier.cpp	Mon May 17 11:03:15 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-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"
@@ -16,18 +16,15 @@
  */
 
 // INCLUDE FILES
-#include <eikenv.h>          // Eikon environment
+
 #include <bautils.h>         // BAFL utils (for language file)
-#include <StringLoader.h>    // Localisation stringloader
-#include <centralrepository.h> 
-#include <coreapplicationuisdomainpskeys.h>
 #include <data_caging_path_literals.hrh> 
-#include <featmgr.h>
 #include <AknNotiferAppServerApplication.h>
+#include <hb/hbcore/hbtextresolversymbian.h>
 
 #include "usbnotifier.h"     // Own class 
 #include "usbuinotifdebug.h"
-#include "aknkeylock.h" //RAknKeyLock
+
 // CONSTANTS
 
 // ================= MEMBER FUNCTIONS =========================================
@@ -39,11 +36,9 @@
 // itself to the active scheduler stack.
 // ----------------------------------------------------------------------------
 //
-CUSBUINotifierBase::CUSBUINotifierBase() :
-    CActive( EPriorityStandard )
+CUSBUINotifierBase::CUSBUINotifierBase() 
     {
         FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Default constructor()"));
-    CActiveScheduler::Add( this );
     }
 
 // ----------------------------------------------------------------------------
@@ -55,27 +50,16 @@
 void CUSBUINotifierBase::ConstructL()
     {
     iEikEnv = CEikonEnv::Static();
-    iAppsKeyBlocked = EFalse;
-    iKeylockChanged = EFalse;
-
+   
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::ConstructL()"));
-    TFileName filename;
-
-    const TDriveNumber KStoreDrive = EDriveZ;
-    TDriveUnit driveUnit( KStoreDrive );
-    TDriveName drive = driveUnit.Name();
-    filename.Insert( 0, drive );
-
-    filename += KDC_RESOURCE_FILES_DIR; // From data_caging_path_literals.hrh
-    filename += KResourceFileName;
-    BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), filename );
-    iResourceFileFlag = iEikEnv->AddResourceFileL( filename );
-
-    FeatureManager::InitializeLibL();
-    iCoverDisplaySupported = FeatureManager::FeatureSupported(
-            KFeatureIdCoverDisplay );
-    FeatureManager::UnInitializeLib();
-
+        
+    // use TLS as a boolean, set to EFalse
+    TBool initialized = EFalse;
+    TInt error;
+    error = Dll::SetTls((TAny* )initialized); 
+    error = error; // to suppress a compiler warning
+    FTRACE(FPrint(_L("[USBUINOTIF]\t Dll:SetTls returned %d"), error ));       
+   
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::ConstructL() completed"));
     }
 
@@ -90,19 +74,11 @@
     //this virtual function call is to the local CUSBUINotifierBase::Cancel, 
     //not to any possibly derived class implementation. 
     Cancel();
-    iEikEnv->DeleteResourceFile( iResourceFileFlag );
-
+ 
     // Complete the RMessage2 if needed
     //
     CompleteMessage( KErrDied );
 
-    // Activate apps -key again (if not previously activated yet)
-    SuppressAppSwitching( EFalse );
-
-    // Restore the keylock if not restored before (caused by Leave).
-    // If the Keylock is restored already, the function does nothing.
-    RestoreKeylock();
-
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Destructor completed"));
     }
 
@@ -150,7 +126,7 @@
         const RMessagePtr2& aMessage)
     {
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::StartL()"));
-    TRAPD( err, GetParamsL( aBuffer, aReplySlot, aMessage ));
+    TRAPD( err, StartDialogL( aBuffer, aReplySlot, aMessage ));
     if (err)
         {
         aMessage.Complete( err );
@@ -168,8 +144,9 @@
 void CUSBUINotifierBase::Cancel()
     {
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Cancel()"));
-    CActive::Cancel();
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Cancel completed()"));
+    //The message box closed callback gets not run in subclass cancel calls.
+    CompleteMessage(KErrCancel);
+    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::Cancel completed"));
     }
 
 // ----------------------------------------------------------------------------
@@ -184,64 +161,6 @@
     }
 
 // ----------------------------------------------------------------------------
-// CUSBUINotifierBase::DoCancel
-// This method will be called by framework (CActive)
-// if active object is still active.
-// Does nothing here.
-// ----------------------------------------------------------------------------
-//
-void CUSBUINotifierBase::DoCancel()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::DoCancel()"));
-    }
-
-// ----------------------------------------------------------------------------
-// CUSBUINotifierBase::RunError
-// This method is called if any leaving has been occured
-// during RunL. Optional method for CActive derived objects.
-// ----------------------------------------------------------------------------
-//
-TInt CUSBUINotifierBase::RunError(TInt aError)
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RunError()"));
-
-    // Activate apps -key again (if not previously activated yet)
-    //
-    SuppressAppSwitching( EFalse );
-
-    // Write error message to caller
-    //
-    CompleteMessage( aError );
-
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RunError() completed"));
-
-    return aError;
-    }
-
-// ----------------------------------------------------------------------------
-// CUSBUINotifierBase::SuppressAppSwitching
-// 
-// ----------------------------------------------------------------------------
-//
-void CUSBUINotifierBase::SuppressAppSwitching(TBool aEnable)
-    {
-    FTRACE(FPrint(_L("[USBUINOTIF]\t CUSBUINotifierBase::SuppressAppSwitching() %d"), aEnable));
-
-    if (iAppsKeyBlocked != aEnable)
-        {
-        TInt err = iAknServer.ConnectAndSendAppsKeySuppress( aEnable ); // error is stored only for logging purposes
-        iAppsKeyBlocked = aEnable;
-        FTRACE(FPrint(_L("[USBUINOTIF]\t CUSBUINotifierBase::SuppressAppSwitching() ConnectAndSendAppsKeySuppress returned %d"), err ));
-        }
-
-    if (!iAppsKeyBlocked)
-        {
-        iAknServer.Close(); // close the connection once we have re-enabled swithcing
-        }
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::SuppressAppSwitching() completed"));
-    }
-
-// ----------------------------------------------------------------------------
 // CUSBUINotifierBase::CompleteMessage
 // Check if message needs to be completed and complete it. 
 // ----------------------------------------------------------------------------
@@ -258,61 +177,33 @@
     FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::CompleteMessage() completed"));
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUINotifierBase::DisableKeylock
-// ----------------------------------------------------------------------------
-// Turn off the keyguard if it was on.
-//
-void CUSBUINotifierBase::DisableKeylock()
+void CUSBUINotifierBase::InitializeTextResolver()
     {
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::DisableKeylock()"));
-    RAknKeylock2 keylock;
-    iKeylockChanged = EFalse;
-    if (KErrNone == keylock.Connect())
+    _LIT(KFileName, "usbdialogs_");
+    _LIT(KPath, "z:/resource/qt/translations/");         
+    TInt error;
+        
+    iTranslator = (TBool )Dll::Tls();
+    
+    FTRACE(FPrint(_L("[USBUINOTIF]\t Dll:Tls returned %d"), iTranslator ));    
+    
+    if (!iTranslator)
         {
-        if (keylock.IsKeyLockEnabled()) //Check and save the keylock status
+        iTranslator = HbTextResolverSymbian::Init(KFileName, KPath);
+        FTRACE(FPrint(_L("[USBUINOTIF]\t HbTextResolverSymbian::Init returned %d"), iTranslator ));    
+        if (iTranslator)
             {
-            keylock.DisableWithoutNote();// Unlock
-            iKeylockChanged = ETrue;
+            error = Dll::SetTls((TAny* )iTranslator);      
             }
-        keylock.Close();
-        }
-    else
-        {
-        FLOG( _L( "[USBUINOTIF]\t CUSBUINotifierBase::DisableKeylock() fail caused by RAknKeylock2::Connect()") );
-        }
-
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::DisableKeylock() completed"));
+        FTRACE(FPrint(_L("[USBUINOTIF]\t Dll:SetTls returned %d"), error ));    
+        }    
+       
+     error = error;   // to suppress a compiler warning
+     FTRACE( FPrint(
+        _L( "[USBUINOTIF]\t CUSBUINotifierBase::InitializeTextResolver result = %d" ),
+        iTranslator ) );                     
+        
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUINotifierBase::RestoreKeylock
-// ----------------------------------------------------------------------------
-// Restore the keyguard on.
-//
-void CUSBUINotifierBase::RestoreKeylock()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock()"));
-    if (iKeylockChanged)
-        {
-        FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock(): iKeylockChanged true"));
-        RAknKeylock2 keylock;
-        FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock(): RAknKeyLock2 initialized"));
-        if (KErrNone == keylock.Connect())
-            {
-            FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock(): RAknKeyLock2::Connect() complete"));
-            keylock.EnableWithoutNote();// Lock back
-            FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock(): RAknKeyLock2::EnableWithoutNote() complete"));
-            keylock.Close();
-            FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock(): RAknKeyLock2::Close() complete"));
-            iKeylockChanged = EFalse;
-            }
-        else
-            {
-            FLOG( _L( "[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock() fail caused by RAknKeylock2::Connect()") );
-            }
-        }
-    FLOG(_L("[USBUINOTIF]\t CUSBUINotifierBase::RestoreKeylock() completed"));
-    }
 
 // End of File
--- a/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Mon May 17 11:03:15 2010 +0300
@@ -15,17 +15,13 @@
  *
  */
 // INCLUDE FILES
-#include <eikenv.h>          // Eikon environment
-#include <bautils.h>         // BAFL utils (for language file)
-#include <aknlists.h>
-#include <aknPopup.h> 
-#include <StringLoader.h>    // Localisation stringloader
 #include <utf.h>             // Unicode character conversion utilities
 #include <usbman.h>
-#include <usbuinotif.rsg>                   // Own resources
 #include <centralrepository.h> 
 #include <e32property.h>
 #include <e32uid.h> // KExecutableImageUid
+#include <hb/hbwidgets/hbdevicenotificationdialogsymbian.h>
+#include <hb/hbcore/hbtextresolversymbian.h>
 #include "usbuincableconnectednotifier.h"   // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
 #include "UsbWatcherInternalCRKeys.h"
@@ -33,10 +29,11 @@
 
 // Literals
 
-_LIT(KUSBExe, "usbapplication.exe");
-const TInt KUSBUIUid = 0x2002BCA3;
-_LIT(KFileDrive,"z:");
-_LIT(KUSBUIconFileName, "usbui.mif");
+_LIT(KUSBExe, "USBSettingsApp");
+const TInt KUSBUIUid = 0x2002E70C;
+const TInt KTextIdLength = 40;
+
+_LIT(KUSBUIconFileName, "qtg_large_usb");
 
 // ================= MEMBER FUNCTIONS =========================================
 
@@ -79,8 +76,7 @@
     //this virtual function call is to the local CUSBUICableConnectedNotifier::
     //Cancel, not to any possibly derived class implementation. 
     Cancel();
-    delete iDialog;
-         
+           
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::destructor completed"));
     }
 
@@ -101,48 +97,39 @@
     }
 
 // ----------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::GetParamsL
+// CUSBUICableConnectedNotifier::StartDialogL
 //  Jump to RunL as soon as possible.
 // ----------------------------------------------------------------------------
 //
-void CUSBUICableConnectedNotifier::GetParamsL(const TDesC8& /*aBuffer*/,
+void CUSBUICableConnectedNotifier::StartDialogL(const TDesC8& /*aBuffer*/,
         TInt aReplySlot, const RMessagePtr2& aMessage)
     {
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetParamsL"));
+    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::StartDialogL"));
     if ( iReplySlot != 0 || iNeedToCompleteMessage)
         {
         User::Leave(KErrInUse);
         }
 
+    InitializeTextResolver();
+
     iMessage = aMessage;
     iNeedToCompleteMessage = ETrue;
     iReplySlot = aReplySlot;
-
-    // Call SetActive() so RunL() will be called by the active scheduler
-    //
-    iStatus = KRequestPending;
-    TRequestStatus* stat = &iStatus;
-    SetActive();
-    User::RequestComplete(stat, KErrNone);
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetParamsL() completed"));
-    }
-
-// ----------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::RunL
-// Ask user response and return it to caller.
-// ----------------------------------------------------------------------------
-//
-void CUSBUICableConnectedNotifier::RunL()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunL"));
-
-    DisableKeylock();
-    SuppressAppSwitching(ETrue);
-    RunQueryL();
-    SuppressAppSwitching(EFalse);
-    RestoreKeylock();
-
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunL() completed"));
+    iDialog = CHbDeviceNotificationDialogSymbian::NewL(this);
+      
+    HBufC* header = NULL;
+    HBufC* description =NULL;   
+    GetPersonalityStringLC(header, description);
+   
+    iDialog->SetTitleL(*header);
+    iDialog->SetTextL(*description);
+    iDialog->SetIconNameL(KUSBUIconFileName );
+    iDialog->EnableTouchActivation(ETrue);
+    iDialog->ShowL();
+    
+    CleanupStack::PopAndDestroy(header);
+    CleanupStack::PopAndDestroy(description);
+    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::StartDialogL completed"));
     }
 
 // ----------------------------------------------------------------------------
@@ -153,8 +140,12 @@
 void CUSBUICableConnectedNotifier::Cancel()
     {
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::Cancel() "));
-
-    iDialog->Cancel(); // cancel the dialog, if it is active
+    if (iDialog)
+        {
+        iDialog->Close();
+        delete iDialog;
+        iDialog = NULL;
+        }
     CompleteMessage(KErrCancel);
     CUSBUINotifierBase::Cancel();
 
@@ -170,69 +161,50 @@
        HBufC*& aHeader,HBufC*& aDescription )
     {
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetPersonalityStringL"));
+    _LIT(KFixedPart, "txt_usb_dpinfo_");
+    _LIT(KSpace, " ");
+    _LIT(KUnderline, "_");
+    _LIT(KUsbConnected, "txt_usb_dpophead_usb_connected");
     TInt CurrentPersonalityID = 0; // The ID of current USB mode
     GetCurrentIdL(CurrentPersonalityID);
     RUsb usbman;
     User::LeaveIfError(usbman.Connect());
+    FLOG(_L("[USBUINOTIF]\t usbman connect called"));     
     CleanupClosePushL(usbman);
+    HBufC* description = NULL;
     User::LeaveIfError(usbman.GetDescription(CurrentPersonalityID,
-            aDescription));
+            description));
+     FLOG(_L("[USBUINOTIF]\t get description called"));  
     CleanupStack::PopAndDestroy(&usbman);
+    
+    CleanupStack::PushL(description);
+    TPtr descriptionPtr = description->Des();
+    TInt position = descriptionPtr.Find(KSpace);
+    while (position != KErrNotFound)
+        {
+        descriptionPtr.Replace(position, 1, KUnderline);     
+        position = descriptionPtr.Find(KSpace); 
+        }
+    HBufC* textId = HBufC::NewL( KTextIdLength );
+    CleanupStack::PushL(textId);
+    TPtr textIdPtr = textId->Des();
+    textIdPtr.Append(KFixedPart);
+    textIdPtr.Append(descriptionPtr);  
+
+    aDescription = HbTextResolverSymbian::LoadL(textIdPtr);
+    CleanupStack::PopAndDestroy(textId);
+    CleanupStack::PopAndDestroy(description);
     CleanupStack::PushL(aDescription);
-    aHeader = StringLoader::LoadL(R_USB_MODE_MSG_HEADER);
+
+    FLOG(_L("[USBUINOTIF]\t get description called"));  
+    aHeader = HbTextResolverSymbian::LoadL(KUsbConnected);
+    FLOG(_L("[USBUINOTIF]\t get header called"));  
+ 
     CleanupStack::PushL(aHeader);
+    
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetPersonalityStringL completed"));
     }
 
-// -----------------------------------------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::RunQueryL
-// Run the ask on connection message query
-// -----------------------------------------------------------------------------------------------------------
-//
-void CUSBUICableConnectedNotifier::RunQueryL()
-    {
-    FLOG( _L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunQueryL()"));
- 
-    _LIT(KNotificationType,"com.nokia.hb.devicenotificationdialog/1.0");
-    _LIT(KTouchActivation, "touchActivation");
-    _LIT(KIconName, "iconName");
-    _LIT(KTitle, "title");
-    _LIT(KText, "text");
-
-    HBufC* header = NULL;
-    HBufC* description =NULL;   
-    GetPersonalityStringLC(header, description);
-   
-    TFileName usbUiIconFilename( KFileDrive );
-    usbUiIconFilename += KDC_APP_BITMAP_DIR;
-    usbUiIconFilename += KUSBUIconFileName;
-    if( iDialog )
-        {
-        delete iDialog;
-        iDialog = NULL;
-        }
-    iDialog = CHbDeviceDialogSymbian::NewL();
-    CHbSymbianVariantMap *parameters =CHbSymbianVariantMap::NewL();
-    CleanupStack::PushL(parameters);
-
-    AddParameterL(parameters, KTitle, header, CHbSymbianVariant::EDes);
-    AddParameterL(parameters, KText, description, CHbSymbianVariant::EDes);
-    AddParameterL(parameters, KIconName, &usbUiIconFilename, CHbSymbianVariant::EDes);
-    TBool activation=ETrue;
-    AddParameterL(parameters, KTouchActivation, &activation, CHbSymbianVariant::EBool);
-
-    FLOG( _L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunQueryL() show") );     
-    TBool error = iDialog->Show(KNotificationType ,*parameters, this);
-    FTRACE( FPrint(
-        _L( "[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunQueryL() error = %d" ),
-        error ) );
-
-    CleanupStack::PopAndDestroy(parameters);    
-    CleanupStack::PopAndDestroy(header);
-    CleanupStack::PopAndDestroy(description);
-    
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::RunQueryL completed"));
-    }
 // ----------------------------------------------------------------------------
 // CUSBUICableConnectedNotifier::GetCurrentIdL
 // get the current personality id
@@ -253,54 +225,28 @@
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::GetCurrentIdL completed"));
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::DataReceived
-// launches the QT usb ui setting
-// ----------------------------------------------------------------------------
-//
-void CUSBUICableConnectedNotifier::DataReceived(CHbSymbianVariantMap& aData)
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::DataReceived"));
-    _LIT(KResult, "result");
-    _LIT(KActivated, "activated");
-    TInt result = 0;
-    MDesCArray& keys = aData.Keys();
-    HBufC* key = NULL;
-    for(TInt i = 0; i < keys.MdcaCount(); i++)
-        {
-        result = keys.MdcaPoint(i).Compare(KResult); 
-        if (result == 0)
-            {        
-            key = HBufC::New(KResult().Length());
-            if (key)
-                {
-                *key = KResult;            
-                const CHbSymbianVariant* variant = aData.Get(*key);
-                delete key;
-                HBufC* value = static_cast<HBufC*>(variant->Data());
-                result = value->Des().Compare(KActivated);
-                if (result == 0)
-                    {
-                    TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),
-                            TUid::Uid(KUSBUIUid));
-                    LaunchApplication(KUSBExe(), uidtype);
-                    }
-                break;
-                }
-            }            
-        }
-    }
+
 
-// ----------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::DeviceDialogClosed
-// ----------------------------------------------------------------------------
-//      
- void CUSBUICableConnectedNotifier::DeviceDialogClosed(TInt aCompletionCode)
-     {
-     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::DeviceDialogClosed()"));
-     CompleteMessage(aCompletionCode);  
-     }
-      
+void CUSBUICableConnectedNotifier::NotificationDialogActivated(
+        const CHbDeviceNotificationDialogSymbian* /*aDialog*/)
+       {
+       
+           FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::NotificationDialogActivated()"));
+           TUidType uidtype(KExecutableImageUid, TUid::Uid(0x00),
+                                   TUid::Uid(KUSBUIUid));
+           iDialog->Close();
+           LaunchApplication(KUSBExe(), uidtype);
+         
+       }
+   
+void CUSBUICableConnectedNotifier::NotificationDialogClosed(
+        const CHbDeviceNotificationDialogSymbian* /*aDialog*/, TInt /*aCompletionCode*/)
+       {
+       FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::NotificationDialogClosed()"));
+       CompleteMessage( KErrCancel ); 
+       FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::NotificationDialogClosed() complete"));
+
+       }
 // ---------------------------------------------------------------------------
 // CUSBUICableConnectedNotifier::LaunchApplication()
 // launches the application 
@@ -319,26 +265,5 @@
     usbUiProcess.Close();                     
     FLOG(_L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::LaunchApplication() completed"));             
     }
-    
-// ---------------------------------------------------------------------------
-// CUSBUICableConnectedNotifier::AddParameter()
-// Adds a string parameter to the dialog parameters.
-// ---------------------------------------------------------------------------
-//  
-void CUSBUICableConnectedNotifier::AddParameterL(
-        CHbSymbianVariantMap* aParameters,
-        const TDesC& aKey,
-        const TAny* aData,
-        CHbSymbianVariant::TType aDataType)
-    {
-    FLOG( _L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::AddStringParameter()") );
-    FTRACE( FPrint(
-        _L( "[USBWATCHER]\t CUSBUICableConnectedNotifier::RunQueryL() aKey = %S" ),
-        &aKey ) );
-    CHbSymbianVariant* variant = CHbSymbianVariant::NewL(aData, aDataType);
-    //aParameters takes variant ownership
-    User::LeaveIfError(aParameters->Add(aKey, variant));
-    FLOG( _L("[USBUINOTIF]\t CUSBUICableConnectedNotifier::AddStringParameter() completed") );
-    }
 
 // End of File
--- a/usbuis/usbuinotif/src/usbuinmain.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinmain.cpp	Mon May 17 11:03:15 2010 +0300
@@ -19,10 +19,9 @@
 #include <ecom/ecom.h>
 #include <ecom/implementationproxy.h>
 #include <eiknotapi.h>
-#include <eikenv.h>
 
 #include "usbuincableconnectednotifier.h"
-#include "usbuinqueriesnotifier.h"
+#include "usbuinqueriesnotifiermdrv.h"
 #include "usbuinotifdebug.h"
 #include "usbuinotifotgwarning.h"    
 #include "usbuinotifotgerror.h"    
@@ -115,9 +114,9 @@
 // ----------------------------------------------------------------------------
 
 const TImplementationProxy ImplementationTable[] =
-    {
+{
     IMPLEMENTATION_PROXY_ENTRY( 0x10281F23, NotifierArray )
-    };
+};
 
 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
         TInt& aTableCount)
--- a/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Mon May 17 11:03:15 2010 +0300
@@ -11,25 +11,24 @@
 *
 * Contributors:
 *
-* Description:  USB UI queries notifier class.
+* Description:  USB UI MSMM Error notifier class.
  *
 */
 
 
 // INCLUDE FILES
-#include <eikenv.h>          // Eikon environment
-#include <bautils.h>         // BAFL utils (for language file)
-#include <utf.h>             // Unicode character conversion utilities
-#include <StringLoader.h>    // Localisation stringloader
-#include <AknQueryDialog.h> 
-#include <aknnotewrappers.h>
-#include <usb/hostms/srverr.h> 
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>      // dialog
+#include <hb/hbcore/hbtextresolversymbian.h>
+#include <usb/hostms/srverr.h>
+#include <usbuinotif.h>                     // pck
+#include "usbuinotifmsmmerror.h"            // Own class definition
+#include "usbuinotifdebug.h"                // Debugging macros
 
-#include <usbuinotif.h>                     // pck
-#include <usbuinotif.rsg>                   // Own resources
-#include "usbuinotifmsmmerror.h"             // Own class definition
-#include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+
+// CONSTANTS
+/** granularity for allocating error strings */
+const TInt KUsbMsmmErrorGranularity = 3; 
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
@@ -53,7 +52,7 @@
 // ----------------------------------------------------------------------------
 //
 CUsbUiNotifMSMMError::CUsbUiNotifMSMMError() :
-    iStringIds( KUsbUiNotifOtgGeneralQueryGranularity)
+    iStringIds(NULL)
     {
     }
 
@@ -66,15 +65,21 @@
     //Make sure that the request is completed. Note that inside the destructor,
     //this virtual function call is to local CUsbUiNotifMSMMError::Cancel, 
     //not to any possibly derived class implementation. 
+    delete iStringIds;
     Cancel();
     }
 
 void CUsbUiNotifMSMMError::ConstructL()
     {
     CUSBUINotifierBase::ConstructL();
-    iStringIds.AppendL( R_USB_MSMM_ERROR_GENERAL_MASS_STORAGE_ERROR);
-    iStringIds.AppendL( R_USB_MSMM_ERROR_UNKNOWN_FILESYSTEM);
-    iStringIds.AppendL( R_USB_MSMM_ERROR_OUT_OF_MEMORY);  
+    iStringIds = new (ELeave) CDesCArrayFlat(KUsbMsmmErrorGranularity);
+    _LIT(KGeneralError,"txt_usb_info_error_in_usb_connection_disconnect_d");
+    _LIT(KUnknownFileSys, "txt_usb_info_unknown_file_system_disconnect_devic");
+    _LIT(KOutOfMemory, "txt_usb_info_disk_full_remove_some_files_and_try");
+    
+    iStringIds->AppendL(KGeneralError);
+    iStringIds->AppendL(KUnknownFileSys);
+    iStringIds->AppendL(KOutOfMemory);
     }
 
 // ----------------------------------------------------------------------------
@@ -95,15 +100,17 @@
 //  Jump to RunL as soon as possible.
 // ----------------------------------------------------------------------------
 //
-void CUsbUiNotifMSMMError::GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+void CUsbUiNotifMSMMError::StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
         const RMessagePtr2& aMessage)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::GetParamsL"));
-    if (iQuery || iReplySlot != 0 || iNeedToCompleteMessage)
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::StartDialogL"));
+    if (iReplySlot != 0 || iNeedToCompleteMessage)
         {
         User::Leave( KErrInUse );
         }
 
+    InitializeTextResolver();
+
     iMessage = aMessage;
     iNeedToCompleteMessage = ETrue;
     iReplySlot = aReplySlot;
@@ -111,51 +118,43 @@
     // Get parameters 
     //    
     THostMsErrData error;
-    TPckgC<THostMsErrData> pckg( error);
+    TPckgC<THostMsErrData> pckg( error );
     pckg.Set( aBuffer );
+    int errorId = EUsbMSMMGeneralError;
     switch (pckg().iError)
         {
         case  EHostMsErrUnknownFileSystem:
-            iErrorId = EUsbMSMMUnknownFileSystem;
+            errorId = EUsbMSMMUnknownFileSystem;
             break;        
         case  EHostMsErrOutOfMemory:
-            iErrorId = EUsbMSMMOutOfMemory;
+            errorId = EUsbMSMMOutOfMemory;
             break;        
         default:
-            iErrorId = EUsbMSMMGeneralError;
+            errorId = EUsbMSMMGeneralError;
+        }
+    
+    //Delete the query in case the client didn't cancel the notifier 
+    //or close the session after the previous query.
+    if (iQuery)
+        {
+        FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::GetParamsL() deleting previous dialog"));
+        delete iQuery;
+        iQuery = NULL;
         }
-
-    SetActive();
-    iStatus = KRequestPending;
-    TRequestStatus* stat = &iStatus;
-    User::RequestComplete( stat, KErrNone );
+    
+    iQuery = CHbDeviceMessageBoxSymbian::NewL(
+            CHbDeviceMessageBoxSymbian::EWarning, this);
+    iQuery->SetTimeout(0);
+    
+    HBufC* stringHolder = HbTextResolverSymbian::LoadLC(iStringIds->MdcaPoint(errorId));
+    iQuery->SetTextL(*stringHolder);
+    iQuery->ShowL();
+    CleanupStack::PopAndDestroy( stringHolder );
+        
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::GetParamsL() completed"));
     }
 
 // ----------------------------------------------------------------------------
-// CUsbUiNotifMSMMError::RunL
-// Ask user response and return it to caller.
-// ----------------------------------------------------------------------------
-//
-void CUsbUiNotifMSMMError::RunL()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::RunL"));
-    TInt returnValue = KErrNone;
-
-    DisableKeylock();
-    SuppressAppSwitching( ETrue );
-
-    //Excute dialog and check return value
-    returnValue = QueryUserResponseL();
-
-    SuppressAppSwitching( EFalse );
-    RestoreKeylock();
-    CompleteMessage( returnValue );
-
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::RunL() completed"));
-    }
-
-// ----------------------------------------------------------------------------
 // CUsbUiNotifMSMMError::Cancel
 // Release all own resources (member variables)
 // ----------------------------------------------------------------------------
@@ -165,43 +164,43 @@
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::Cancel"));
     if (iQuery)
         {
+        FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::Cancel closing iQuery"));
+        iQuery->Close();
+        FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::Cancel iQuery closed"));
         delete iQuery;
+        FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::Cancel iQuery deleted"));
         iQuery = NULL;
         }
-    CompleteMessage( KErrCancel );
-
+    CUSBUINotifierBase::Cancel();
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::Cancel() completed"));
     }
 
 // ----------------------------------------------------------------------------
-// CUsbUiNotifMSMMError::QueryUserResponseL
-// Show query dialog. 
+// Call back function to observe device message box closing.
 // ----------------------------------------------------------------------------
 //
-TInt CUsbUiNotifMSMMError::QueryUserResponseL()
+void CUsbUiNotifMSMMError::MessageBoxClosed(
+        const CHbDeviceMessageBoxSymbian* /*aMessageBox*/,
+        CHbDeviceMessageBoxSymbian::TButtonId aButton)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::QueryUserResponseL"));
-    TInt returnValue = KErrNone;
-    TInt resourceId = R_USB_QUERY_OTG_ERROR;
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed"));
+    int returnValue = KErrNone;
+    
+    //iQuery will be deleted in Cancel. If Cancel is not called, it will be
+    //deleted next time the query is shown. 
 
-    iQuery = CAknQueryDialog::NewL( CAknQueryDialog::EErrorTone );
-
-    if (iCoverDisplaySupported)
+    if (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) 
         {
-        iQuery->PublishDialogL( iErrorId, KUsbUiNotifMsmmError );
+        returnValue = KErrNone;
+        } 
+    else 
+        {
+        returnValue = KErrCancel;
         }
-    HBufC *stringHolder = StringLoader::LoadLC( iStringIds[iErrorId] );
 
-    TInt keypress = iQuery->ExecuteLD( resourceId, *stringHolder );
-
-    CleanupStack::PopAndDestroy( stringHolder );
-
-    iQuery = NULL; // Dialog destroyed
-
-    returnValue = keypress ? KErrNone : KErrCancel; //OK?
-
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::QueryUserResponseL completed"));
-    return returnValue;
+    CompleteMessage( returnValue );
+    
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed completed"));    
     }
 
 // End of File
--- a/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Mon May 17 11:03:15 2010 +0300
@@ -17,18 +17,17 @@
 
 
 // INCLUDE FILES
-#include <eikenv.h>          // Eikon environment
-#include <bautils.h>         // BAFL utils (for language file)
-#include <utf.h>             // Unicode character conversion utilities
-#include <StringLoader.h>    // Localisation stringloader
-#include <AknQueryDialog.h> 
-#include <aknnotewrappers.h>
-
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>      // dialog
+#include <hb/hbcore/hbtextresolversymbian.h>
 #include <usbuinotif.h>                     // pck
-#include <usbuinotif.rsg>                   // Own resources
 #include "usbuinotifotgerror.h"             // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+
+// CONSTANTS
+/** granularity for allocating error strings */
+const TInt KUsbOtgErrorGranularity = 7; 
+
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
@@ -52,7 +51,7 @@
 // ----------------------------------------------------------------------------
 //
 CUsbUiNotifOtgError::CUsbUiNotifOtgError() :
-    iStringIds( KUsbUiNotifOtgGeneralQueryGranularity)
+    iStringIds(NULL)
     {
     }
 
@@ -65,19 +64,29 @@
     //Make sure that the request is completed. Note that inside the destructor,
     //this virtual function call is to local CUsbUiNotifOtgError::Cancel, 
     //not to any possibly derived class implementation. 
+    delete iStringIds;
     Cancel();
     }
 
 void CUsbUiNotifOtgError::ConstructL()
     {
     CUSBUINotifierBase::ConstructL();
-    iStringIds.AppendL( R_USB_OTG_ERROR_CURRENT_LIMIT);
-    iStringIds.AppendL( R_USB_OTG_ERROR_TOO_MUCH_CURRENT_REQUIRED);
-    iStringIds.AppendL( R_USB_OTG_ERROR_UNSUPPORTED);
-    iStringIds.AppendL( R_USB_OTG_ERROR_HUB_UNSUPPORTED);
-    iStringIds.AppendL( R_USB_OTG_ERROR_UNRECOVERABLE);
-    iStringIds.AppendL( R_USB_OTG_ERROR_ATTACH_TIMEDOUT);
-    iStringIds.AppendL( R_USB_ERROR_MEMORY_NOT_ENOUGH);
+    iStringIds = new (ELeave) CDesCArrayFlat(KUsbOtgErrorGranularity);
+    _LIT(KCurrentLimit, "txt_usb_info_error_in_usb_connection_disconnect_d");
+    _LIT(KTooMuchCurrent, "txt_usb_info_unsupported_usb_device_disconnect_de");
+    _LIT(KUnsupported, "txt_usb_info_unsupported_usb_device_disconnect_de");
+    _LIT(KHubUnsupported, "txt_usb_info_hubs_are_not_supported_disconnect_us");
+    _LIT(KUnRecoverable, "txt_usb_info_error_in_usb_connection_disconnect_d");
+    _LIT(KAttachTimeOut, "txt_usb_info_remove_usb_cable_or_connect_a_device");
+    _LIT(KNotEnoughMemory, "txt_usb_info_memory_full_close_some_applications");
+    iStringIds->AppendL( KCurrentLimit);
+    iStringIds->AppendL( KTooMuchCurrent);
+    iStringIds->AppendL( KUnsupported);
+    iStringIds->AppendL( KHubUnsupported);
+    iStringIds->AppendL( KUnRecoverable);
+    iStringIds->AppendL( KAttachTimeOut);
+    iStringIds->AppendL( KNotEnoughMemory);
+   
     }
 
 // ----------------------------------------------------------------------------
@@ -98,60 +107,47 @@
 //  Jump to RunL as soon as possible.
 // ----------------------------------------------------------------------------
 //
-void CUsbUiNotifOtgError::GetParamsL(const TDesC8& aBuffer, TInt aReplySlot,
+void CUsbUiNotifOtgError::StartDialogL(const TDesC8& aBuffer, TInt aReplySlot,
         const RMessagePtr2& aMessage)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::GetParamsL"));
-    if (iQuery || iReplySlot != 0 || iNeedToCompleteMessage)
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::StartDialogL"));
+    if (iReplySlot != 0 || iNeedToCompleteMessage)
         {
         User::Leave( KErrInUse );
         }
-        
-    // Get parameters 
-    //
+  
+    InitializeTextResolver();
     
-    TPckgC<TInt> pckg( iErrorId );
+    TInt errorId = 0;
+    TPckgC<TInt> pckg( errorId );
     pckg.Set( aBuffer );
-    iErrorId = pckg();
+    errorId = pckg();
     
-    FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::GetParamsL iErrorId: %d"), iErrorId ));  
-    if ( iErrorId < 0 || iErrorId >= iStringIds.Count() )
+    FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::GetParamsL iErrorId: %d"), errorId ));  
+    if ( errorId < 0 || errorId >= iStringIds->MdcaCount())
         {        
         User::Leave( KErrArgument);        
         }    
-        
     iMessage = aMessage;
     iNeedToCompleteMessage = ETrue;
-    iReplySlot = aReplySlot;  
-	  
-    SetActive();
-    iStatus = KRequestPending;
-    TRequestStatus* stat = &iStatus;
-    User::RequestComplete( stat, KErrNone );
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::GetParamsL() completed"));
-    }
-
-// ----------------------------------------------------------------------------
-// CUsbUiNotifOtgError::RunL
-// Ask user response and return it to caller.
-// ----------------------------------------------------------------------------
-//
-void CUsbUiNotifOtgError::RunL()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::RunL"));
-    TInt returnValue = KErrNone;
-
-    DisableKeylock();
-    SuppressAppSwitching( ETrue );
-
-    //Excute dialog and check return value
-    returnValue = QueryUserResponseL();
-
-    SuppressAppSwitching( EFalse );
-    RestoreKeylock();
-    CompleteMessage( returnValue );
-
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::RunL() completed"));
+    iReplySlot = aReplySlot;
+   
+    if (iQuery)
+            {
+            delete iQuery;
+            iQuery = NULL;
+            }
+        
+        iQuery = CHbDeviceMessageBoxSymbian::NewL(
+                CHbDeviceMessageBoxSymbian::EWarning, this);
+        iQuery->SetTimeout(0);
+        HBufC* stringHolder = HbTextResolverSymbian::LoadLC(iStringIds->MdcaPoint(errorId) );
+        iQuery->SetTextL(*stringHolder);
+        iQuery->ShowL();
+        CleanupStack::PopAndDestroy( stringHolder );
+            
+    
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::StartDialogL completed"));
     }
 
 // ----------------------------------------------------------------------------
@@ -164,43 +160,41 @@
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::Cancel"));
     if (iQuery)
         {
+        iQuery->Close();
         delete iQuery;
         iQuery = NULL;
         }
-    CompleteMessage( KErrCancel );
+    CUSBUINotifierBase::Cancel();
 
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::Cancel() completed"));
     }
-
 // ----------------------------------------------------------------------------
-// CUsbUiNotifOtgError::QueryUserResponseL
-// Show query dialog. 
+// Call back function to observe device message box closing.
 // ----------------------------------------------------------------------------
 //
-TInt CUsbUiNotifOtgError::QueryUserResponseL()
+void CUsbUiNotifOtgError::MessageBoxClosed(
+        const CHbDeviceMessageBoxSymbian* /*aMessageBox*/,
+        CHbDeviceMessageBoxSymbian::TButtonId aButton)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::QueryUserResponseL"));
-    TInt returnValue = KErrNone;
-    TInt resourceId = R_USB_QUERY_OTG_ERROR;
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed"));
+    int returnValue = KErrNone;
+    
+    //iQuery will be deleted in Cancel. If Cancel is not called, it will be
+    //deleted next time the query is shown. 
 
-    iQuery = CAknQueryDialog::NewL( CAknQueryDialog::EErrorTone );
-
-    if (iCoverDisplaySupported)
+    if (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) 
         {
-        iQuery->PublishDialogL( iErrorId, KUsbUiNotifOtgError );
+        returnValue = KErrNone;
+        } 
+    else 
+        {
+        returnValue = KErrCancel;
         }
-    HBufC *stringHolder = StringLoader::LoadLC( iStringIds[iErrorId] );
 
-    TInt keypress = iQuery->ExecuteLD( resourceId, *stringHolder );
-
-    CleanupStack::PopAndDestroy( stringHolder );
-
-    iQuery = NULL; // Dialog destroyed
-
-    returnValue = keypress ? KErrNone : KErrCancel; //OK?
-
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgError::QueryUserResponseL completed"));
-    return returnValue;
+    CompleteMessage( returnValue );
+    
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed completed"));    
     }
 
+
 // End of File
--- a/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Mon May 17 11:03:15 2010 +0300
@@ -17,15 +17,16 @@
 
 
 // INCLUDE FILES
-#include <eikenv.h>             // Eikon environment
-#include <aknnotedialog.h>
-#include <bautils.h>            // BAFL utils (for language file)
-#include <StringLoader.h>       // Localisation stringloader
-#include <AknMediatorFacade.h>  // for cover display support
-#include <usbuinotif.rsg>       // Own resources
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>  
+#include <hb/hbcore/hbtextresolversymbian.h>
 #include "usbuinotifotgwarning.h"        // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
+
+
+// CONSTANTS
+/** granularity for allocating warning strings */
+const TInt KUsbOtgWarningGranularity = 1; 
+
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
@@ -51,7 +52,7 @@
 // ----------------------------------------------------------------------------
 //
 CUsbUiNotifOtgWarning::CUsbUiNotifOtgWarning() :
-    iStringIds( KUsbUiNotifOtgGeneralNoteGranularity), iNote( NULL)
+    iStringIds(NULL), iNote( NULL)
     {
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::constructor()"));
     }
@@ -66,6 +67,7 @@
     //Make sure that the request is completed. Note that inside the destructor,
     //this virtual function call is to local CUsbUiNotifOtgWarning::Cancel, 
     //not to any possibly derived class implementation. 
+    delete iStringIds;
     Cancel();
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::destructor completed()"));
     }
@@ -73,7 +75,9 @@
 void CUsbUiNotifOtgWarning::ConstructL()
     {
     CUSBUINotifierBase::ConstructL();
-    iStringIds.AppendL( R_USB_OTG_WARNING_PARTIAL_SUPPORT);
+    iStringIds = new (ELeave) CDesCArrayFlat(KUsbOtgWarningGranularity);
+    _LIT(KPartiallySupported, "txt_usb_info_partially_supported_usb_device_connec");
+    iStringIds->AppendL( KPartiallySupported);
     }
 
 // ----------------------------------------------------------------------------
@@ -102,10 +106,11 @@
     if (iNote)
         {
         FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::Cancel - delete iNote"));
+        iNote->Close();
         delete iNote;
         iNote = NULL;
         }
-    CompleteMessage( KErrNone );
+    CUSBUINotifierBase::Cancel();
 
     FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::Cancel() completed"));
     }
@@ -116,67 +121,73 @@
 // This notifier is synchronous so this function is not used.
 // ----------------------------------------------------------------------------
 //
-void CUsbUiNotifOtgWarning::GetParamsL(const TDesC8& aBuffer,
+void CUsbUiNotifOtgWarning::StartDialogL(const TDesC8& aBuffer,
         TInt aReplySlot, const RMessagePtr2& aMessage)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL"));
-    if (iNote || iReplySlot != 0 || iNeedToCompleteMessage)
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::StartDialogL"));
+    if (iReplySlot != 0 || iNeedToCompleteMessage)
         {
         User::Leave( KErrInUse );
-        }    
+        }
+        
+    InitializeTextResolver();
+
+    iMessage = aMessage;
+    iNeedToCompleteMessage = ETrue;
+    iReplySlot = aReplySlot;
 
     // Get parameters 
     //    
     TPckgC<TInt> pckg( iNoteId );
     pckg.Set( aBuffer );
     iNoteId = pckg();
-    
-    FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL iNoteId: %d"), iNoteId ));  
-    if ( iNoteId < 0 || iNoteId >= iStringIds.Count() )
+	FTRACE(FPrint(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL iNoteId: %d"), iNoteId ));  
+    if ( iNoteId < 0 || iNoteId >= iStringIds->MdcaCount())
         {        
         User::Leave( KErrArgument);        
         }   
-
-    iMessage = aMessage;
-    iNeedToCompleteMessage = ETrue;
-    iReplySlot = aReplySlot;
-    
-    SetActive();
-    iStatus = KRequestPending;
-    TRequestStatus* stat = &iStatus;
-    User::RequestComplete( stat, KErrNone );
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::GetParamsL() completed"));
+    if (iNote)
+            {
+            delete iNote;
+            iNote = NULL;
+            }
+        
+    iNote = CHbDeviceMessageBoxSymbian::NewL(
+                CHbDeviceMessageBoxSymbian::EWarning, this);
+    HBufC* stringHolder = HbTextResolverSymbian::LoadLC(iStringIds->MdcaPoint(iNoteId) );
+    iNote->SetTextL(*stringHolder);
+    iNote->ShowL();
+    CleanupStack::PopAndDestroy( stringHolder );
+   
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::StartDialogL completed"));
     }
 
 // ----------------------------------------------------------------------------
-// CUsbUiNotifOtgWarning::RunL
-// Mandatory for Active Objects. This notifier is synchronous 
-// so this function is not used.
+// Call back function to observe device message box closing.
 // ----------------------------------------------------------------------------
 //
-void CUsbUiNotifOtgWarning::RunL()
+void CUsbUiNotifOtgWarning::MessageBoxClosed(
+        const CHbDeviceMessageBoxSymbian* /*aMessageBox*/,
+        CHbDeviceMessageBoxSymbian::TButtonId aButton)
     {
-    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::RunL"));
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed"));
+    int returnValue = KErrNone;
+    
+    //iQuery will be deleted in Cancel. If Cancel is not called, it will be
+    //deleted next time the query is shown. 
 
-    // Create confirmation note
-    //    
-    HBufC* str = StringLoader::LoadL( iStringIds[iNoteId] );
-    CleanupStack::PushL( str );
-    iNote = new (ELeave) CAknWarningNote( ETrue );
-
-    iNote->SetTimeout( CAknNoteDialog::ENoTimeout );
-
-    if (iCoverDisplaySupported)
+    if (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) 
         {
-        iNote->PublishDialogL( iNoteId, KUsbUiNotifOtgWarning );
+        returnValue = KErrNone;
+        } 
+    else 
+        {
+        returnValue = KErrCancel;
         }
 
-    TInt t = iNote->ExecuteLD( *str );
-    iNote = NULL;
-    CleanupStack::PopAndDestroy( str );
-
-    CompleteMessage( KErrNone );
-  FLOG(_L("[USBUINOTIF]\t CUsbUiNotifOtgWarning::RunL() completed"));
+    CompleteMessage( returnValue );
+    
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed completed"));    
     }
 
 // End of File
--- a/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Mon May 17 11:03:15 2010 +0300
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+ * Copyright (c) 2005-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"
@@ -16,18 +16,12 @@
  */
 
 // INCLUDE FILES
-#include <eikenv.h>          // Eikon environment
-#include <bautils.h>         // BAFL utils (for language file)
-#include <utf.h>             // Unicode character conversion utilities
-#include <StringLoader.h>    // Localisation stringloader
-#include <AknQueryDialog.h> 
-#include <aknnotewrappers.h>
 
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
+#include <hb/hbcore/hbtextresolversymbian.h>
 #include <usbuinotif.h>                     // pck
-#include <usbuinotif.rsg>                   // Own resources
 #include "usbuinqueriesnotifiermdrv.h"      // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include <SecondaryDisplay/usbuinotifsecondarydisplay.h>     // Dialog index for cover UI
 
 // ================= MEMBER FUNCTIONS =========================================
 
@@ -84,49 +78,21 @@
     return iInfo;
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUIQueriesNotifier::StartL
-// Synchronic notifier launch. 
-// ----------------------------------------------------------------------------
-//
-TPtrC8 CUSBUIQueriesNotifier::StartL(const TDesC8& aBuffer)
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::StartL()"));
-
-    TUSBQueriesNotiferParams params; //stores parameters from aBuffef
-    TPckgC<TUSBQueriesNotiferParams> pckg( params );
-    pckg.Set( aBuffer );
-    // Save the type of the query for later use (dialog selection)
-    //
-
-    if (pckg().iQuery == EUSBNoMemoryCard)
-        {
-        TRAPD( err, GetParamsL( aBuffer, 0, iMessage ));
-        if (err)
-            {
-            iNeedToCompleteMessage = EFalse;
-            User::Leave( err );
-            }
-        }
-
-    TPtrC8 ret( KNullDesC8 );
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::StartL() completed"));
-    return (ret);
-    }
 
 // ----------------------------------------------------------------------------
 // CUSBUIQueriesNotifier::GetParamsL
-//  Jump to RunL as soon as possible.
 // ----------------------------------------------------------------------------
 //
-void CUSBUIQueriesNotifier::GetParamsL(const TDesC8& aBuffer,
+void CUSBUIQueriesNotifier::StartDialogL(const TDesC8& aBuffer,
         TInt aReplySlot, const RMessagePtr2& aMessage)
     {
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::GetParamsL"));
-    if (iUSBQueryDlg || iReplySlot != 0 || iNeedToCompleteMessage)
+    FLOG(_L("[USBUINOTIF]\t  CUSBUIQueriesNotifier::StartDialogL"));
+    if ( iReplySlot != 0 || iNeedToCompleteMessage)
         {
         User::Leave( KErrInUse );
         }
+        
+    InitializeTextResolver();
 
     iMessage = aMessage;
     iNeedToCompleteMessage = ETrue;
@@ -140,59 +106,54 @@
     // Save the type of the query for later use (dialog selection)
     //
     iQueryType = pckg().iQuery;
-    if (iQueryType == EUSBNoMemoryCard)
+         
+    if (iUSBQueryDlg)
         {
-        iNeedToCompleteMessage = EFalse;
+        delete iUSBQueryDlg;
+        iUSBQueryDlg = NULL;
         }
-    // Call SetActive() so RunL() will be called by the active scheduler
-    //
-    SetActive();
-    iStatus = KRequestPending;
-    TRequestStatus* stat = &iStatus;
-    User::RequestComplete( stat, KErrNone );
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::GetParamsL() completed"));
-    }
-
-// ----------------------------------------------------------------------------
-// CUSBUIQueriesNotifier::RunL
-// Ask user response and return it to caller.
-// ----------------------------------------------------------------------------
-//
-void CUSBUIQueriesNotifier::RunL()
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::RunL"));
-
-    TBool isCancelKey = EFalse;
-    TBool isErrorQuery = EFalse;
-    TInt returnValue = KErrNone;
-    // for cover display support
-    TInt coverDialogId = EUSBCoverInvalidDialogId;
-
-    // Choose text and other query attributes
-    //
-    HBufC* stringHolder = GetQueryAttributesLC( coverDialogId, isCancelKey, isErrorQuery );
-
-    //check if query text string loading was successful
-    if (NULL != stringHolder)
+    iUSBQueryDlg = CHbDeviceMessageBoxSymbian::NewL(
+                       CHbDeviceMessageBoxSymbian::EWarning, this);
+    iUSBQueryDlg->SetTimeout(0);
+    HBufC* stringHolder = NULL;
+    switch (iQueryType)
+            {
+            case EUSBStorageMediaFailure:
+                {
+                _LIT(KMassStorageFail, "txt_usb_info_unable_to_show_a_memory_to_other_devi");
+                stringHolder = HbTextResolverSymbian::LoadLC( KMassStorageFail );
+                 break;
+                }
+            case EUSBDiskFull:
+                {
+                _LIT(KDiskFull, "txt_usb_info_disk_full_remove_some_files_and_try");
+                stringHolder = HbTextResolverSymbian::LoadLC( KDiskFull );
+		         break;
+                }
+            case EUSBNotEnoughRam:
+                {
+                _LIT(KNotEnoughMemory, "txt_usb_info_memory_full_close_some_applications");
+                 stringHolder = HbTextResolverSymbian::LoadLC( KNotEnoughMemory );
+                 break;
+                }
+            default:
+                {
+                FTRACE( FPrint( _L( "[USBUINOTIF]\t CUSBUIQueriesNotifier::ERROR! Unknown query type: %d" ),iQueryType ) );
+                }
+            }
+   
+    if (stringHolder)
         {
-        DisableKeylock();
-        SuppressAppSwitching( ETrue );
-        returnValue = QueryUserResponseL( *stringHolder, coverDialogId,
-                isCancelKey, isErrorQuery );
-        SuppressAppSwitching( EFalse );
-        RestoreKeylock();
-        CleanupStack::PopAndDestroy( stringHolder );
+        iUSBQueryDlg->SetTextL(*stringHolder);
         }
-    else
-        {
-        returnValue = KErrUnknown;
-        }
-
-    CompleteMessage( returnValue );
-    // cancelling the notifier so that next one on the queue can be displayed.
-    // it may be that the client calls cancel too, but it is ok
-    iManager->CancelNotifier( iInfo.iUid );
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::RunL() completed"));
+        
+    iUSBQueryDlg->ShowL();
+    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::StartDialogL() ShowL returned"));     
+    
+    CleanupStack::PopAndDestroy( stringHolder );
+    
+    
+    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::StartDialogL completed"));
     }
 
 // ----------------------------------------------------------------------------
@@ -205,127 +166,40 @@
     FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::Cancel"));
     if (iUSBQueryDlg)
         {
+        iUSBQueryDlg->Close();
         delete iUSBQueryDlg;
         iUSBQueryDlg = NULL;
         }
-    CompleteMessage( KErrCancel );
-
+ 
     CUSBUINotifierBase::Cancel();
     FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::Cancel() completed"));
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUIQueriesNotifier::QueryUserResponseL
-// Show query dialog. 
-// ----------------------------------------------------------------------------
-//
-TInt CUSBUIQueriesNotifier::QueryUserResponseL(const TDesC& aStringHolder,
-        TInt aCoverDialogId, TBool aIsCancelKey, TBool aIsErrorQuery)
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::QueryUserResponseL"));
-    TInt returnValue = KErrNone;
-
-    iUSBQueryDlg = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone );
 
-    // Show dialog with or without the Cancel
-    //
-    if (aIsErrorQuery) 
+void CUSBUIQueriesNotifier::MessageBoxClosed(
+        const CHbDeviceMessageBoxSymbian* /*aMessageBox*/,
+        CHbDeviceMessageBoxSymbian::TButtonId aButton)
+    {
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed"));
+    int returnValue = KErrNone;
+    
+    //iQuery will be deleted in Cancel. If Cancel is not called, it will be
+    //deleted next time the query is shown. 
+
+    if (aButton == CHbDeviceMessageBoxSymbian::EAcceptButton) 
         {
-        // aIsErrorQuery flag is set in GetQueryAttributesLC()
-        // there is no defined QueryDialogError in resources so QueryOTGerror is used (contains Stop icon)
-        iUSBQueryDlg->PrepareLC( R_USB_QUERY_OTG_ERROR );
-        }
-    else if (aIsCancelKey)
+        returnValue = KErrNone;
+        } 
+    else 
         {
-        iUSBQueryDlg->PrepareLC( R_USB_QUERY_WITH_CANCEL );
-        }
-    else
-        {
-        iUSBQueryDlg->PrepareLC( R_USB_QUERY_WITHOUT_CANCEL );
+        returnValue = KErrCancel;
         }
 
-    if (iCoverDisplaySupported)
-        {
-        iUSBQueryDlg->PublishDialogL( aCoverDialogId, KUSBUINotifCategory );
-        }
-
-    iUSBQueryDlg->SetPromptL( aStringHolder );
-    iUSBQueryDlg->SetFocus( ETrue );
-        FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::QueryUserResponseL calling RunLD"));
-    TInt keypress = iUSBQueryDlg->RunLD();
-
-    iUSBQueryDlg = NULL;
-
-    if (keypress) // User has accepted the dialog
-        {
-        returnValue = KErrNone;
-            FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::QueryUserResponseL keypress"));
-        }
-    else
-        {
-        returnValue = KErrCancel;
-            FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::QueryUserResponseL NO keypress"));
-        }
-
-        FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::QueryUserResponseL completed"));
-    return returnValue;
+    CompleteMessage( returnValue );
+    
+    FLOG(_L("[USBUINOTIF]\t CUsbUiNotifMSMMError::MessageBoxClosed completed"));    
     }
 
-// ----------------------------------------------------------------------------
-// CUSBUIQueriesNotifier::GetQueryAttributesLC
-// Get query text and the other attributes for the query dialog. 
-// ----------------------------------------------------------------------------
-//
-HBufC* CUSBUIQueriesNotifier::GetQueryAttributesLC(TInt& aCoverDialogId,
-        TBool& aIsCancelKey, TBool& aIsErrorQuery)
-    {
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::GetQueryAttributesLC"));
-    HBufC* stringHolder = NULL; // The text for the query
-    aIsCancelKey = EFalse;
-    aIsErrorQuery = EFalse;
-    switch (iQueryType)
-        {
-        case EUSBStorageMediaFailure:
-            {
-                FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::EUSBStorageMediaFailure"));
-            stringHolder = StringLoader::LoadLC( R_USB_STORAGE_MEDIA_FAILURE );
-            aCoverDialogId = EUSBCoverStorageMediaFailure;
-            break;
-            }
-        case EUSBChangeFromMassStorage:
-            {
-                FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::EUSBChangeFromMassStorage"));
-            stringHolder = StringLoader::LoadLC(
-                    R_USB_CHANGE_FROM_MASS_STORAGE );
-            aIsCancelKey = ETrue;
-            aCoverDialogId = EUSBCoverChangeFromMassStorage;
-            break;
-            }
-        case EUSBNoMemoryCard:
-            {
-                FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::EUSBNoMemoryCard"));
-            stringHolder = StringLoader::LoadLC( R_USB_NO_MEMORY_CARD );
-            aCoverDialogId = EUSBCoverNoMemoryCard;
-            break;
-            } 
-        case EUSBNotEnoughRam:
-          	{
-            FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::EUSBNotEnoughRam"));
-            stringHolder = StringLoader::LoadLC( R_USB_ERROR_MEMORY_NOT_ENOUGH );
-            aCoverDialogId = EUSBCoverNoMemoryCard;
-            //set flag to change the icon of querydialog (see QueryUserResponseL())
-            aIsErrorQuery = ETrue;
-            break;
-            }
-        default:
-            {
-                FTRACE( FPrint(
-                                _L( "[USBUINOTIF]\t CUSBUIQueriesNotifier::ERROR! Unknown query type: %d" ),
-                                iQueryType ) );
-            }
-        }
-    FLOG(_L("[USBUINOTIF]\t CUSBUIQueriesNotifier::GetQueryAttributesLC completed"));
-    return stringHolder;
-    }
+
 
 // End of File
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/conf/ui_usbuinotifapitest.cfg	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/conf/ui_usbuinotifapitest.cfg	Mon May 17 11:03:15 2010 +0300
@@ -1,230 +1,375 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Test script config file
-*
-*/
+ // USB UI Notif tests -  total 33 tc
+
+[Define]
+//Message box OK button coordinates
+OK_X 180
+OK_Y 397
+
+//Message box pause before OK
+OK_PAUSE 1500
 
-// UsbUiNotifApiTest Module - total 21 tc
+//Message box pause before dismiss (enter key)
+DISMISS_PAUSE 1500
+
+//Device notification dialog touch coordinates
+DEVICENOTIF_X 141
+DEVICENOTIF_Y 47
 
-// UsbUiNotifApiTest Api Tests (... tc)
+//Device notification dialog pause before touch
+DEVICENOTIF_PAUSE 1000
+[Enddefine]
 
-// Cable connected notifier tests (3)
+
+// Cable connected notifier tests
 
 [Test]
-title USB Ovi Suite Personality Info (Cable Connected Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock CableConnectedNotifierTest PCSUITEMTP
-pause 4000
-delete tester
-[Endtest]
-	
-[Test]
-title USB MS Personality Info (Cable Connected Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock CableConnectedNotifierTest MS
-pause 4000
-delete tester
-[Endtest] 
-			
-[Test]
-title USB MTP Personality Info (Cable Connected Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock CableConnectedNotifierTest MTP
-pause 4000
+title USB Cable Connected (Cable Connected Notifier Test)
+create USBUiNotifApiTest tester
+tester CableConnectedNotifierTest PCSUITEMTP
+tester FinishCableConnectedQuery CANCEL
 delete tester
 [Endtest]
 
-	
 [Test]
-title USB No Memory Card Query Accepted (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBNoMemoryCard
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title USB Cable Connected cancel (Cable Connected Notifier Test)
+create USBUiNotifApiTest tester
+tester CableConnectedNotifierTest PCSUITEMTP
+pause 500
+tester CancelCableConnectedNotifier
+tester FinishCableConnectedQuery CANCEL
 delete tester
 [Endtest]
 
 [Test]
-title USB Storage Media Failure Query Accepted/Device Key Enter Pressed (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBStorageMediaFailure
-pause 3000
-presskey global EKeyEnter
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title USB Cable Connected touch (Cable Connected Notifier Test)
+create USBUiNotifApiTest tester
+tester CableConnectedNotifierTest PCSUITEMTP
+pause DEVICENOTIF_PAUSE
+sendpointerevent global EButton1 DEVICENOTIF_X DEVICENOTIF_Y
+tester FinishCableConnectedQuery ACCEPT
+delete tester
+[Endtest]
+
+
+// Queries
+
+[Test]
+title USB Query Storage Media Failure OK (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBStorageMediaFailure
+pause OK_PAUSE
+sendpointerevent global EButton1 OK_X OK_Y
+tester FinishQuery ACCEPT
 delete tester
 [Endtest] 
 
 [Test] 
-title USB Storage Media Failure Query Accepted/Device Key 0 Pressed (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBStorageMediaFailure
-pause 1000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title USB Query Storage Media Failure dismiss (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBStorageMediaFailure
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+[Test] 
+title USB Query Not Enough RAM dismiss (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBNotEnoughRam
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+[Test] 
+title USB Query Disk Full dismiss (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBDiskFull
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
-title USB Change From Mass Storage Query Accepted/Device Key Enter Pressed (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBChangeFromMassStorage
-pause 3000
+title USB Query cancel (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBStorageMediaFailure
+tester CancelQueryNotifier
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+//Test launching query without cancelling the previous.
+[Test]
+title USB Query no cancel (USB Queries Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbQueriesNotifierTest EUSBStorageMediaFailure
+pause DISMISS_PAUSE
 presskey global EKeyEnter
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+tester WaitForRequest
+tester UsbQueriesNotifierTest EUSBStorageMediaFailure
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest]
 
+
+// OTG Errors
+
 [Test]
-title USB Change From Mass Storage Query Accepted/Device Key 0 Pressed (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBChangeFromMassStorage
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title OTG Error too much power (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgTooMuchPower
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
-title USB Change From Mass Storage Query Cancelled (USB Queries Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbQueriesNotifierTest EUSBChangeFromMassStorage
-pause 3000
-presskey global EKeyDevice1
-tester ExecuteApiTestBlock FinishQuery CANCEL
-delete tester
-[Endtest]  
-
-
-[Test]
-title OTG Error too much power (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgTooMuchPower
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
-delete tester
-[Endtest] 
-
-[Test]
-title OTG Error too much power (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgTooMuchPowerRequired
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title OTG Error too much power req (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgTooMuchPowerRequired
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
 title OTG Error unsupported device (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgUnsupportedDevice
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgUnsupportedDevice
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
 title OTG Error Hub not supported device (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgHubUnsupported
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgHubUnsupported
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
 title OTG Error error in connection (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgErrorInConnection
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgErrorInConnection
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
 title OTG Attach timed out (Otg Error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGErrorNotifierTests EUsbOtgErrorAttachTimedOut
-pause 3000
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgErrorAttachTimedOut
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
-title OTG Partially supported device (Otg Warning Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
-pause 500
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title OTG Error no memory (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgErrorNoMemory
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
 [Test]
-title Load and Unload notifiers
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock LoadNotifiers
-pause 500
-tester ExecuteApiTestBlock UnLoadNotifiers
+title OTG Error OK (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgUnsupportedDevice
+pause OK_PAUSE
+sendpointerevent global EButton1 OK_X OK_Y
+tester FinishQuery ACCEPT
 delete tester
 [Endtest] 
 
 [Test]
-title MSMM error test (MSMM error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbMSMMNotifierTests EUsbMSMMGeneralError
-pause 500
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title OTG Error cancel (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgUnsupportedDevice
+tester CancelOtgErrorNotifier
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+//Test launching OTG error without cancelling the previous.
+[Test]
+title OTG Error no cancel (Otg Error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGErrorNotifierTests EUsbOtgUnsupportedDevice
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester WaitForRequest
+tester UsbOTGErrorNotifierTests EUsbOtgErrorInConnection
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
+
+// OTG Warnings
+
 [Test]
-title MSMM error test (MSMM error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbMSMMNotifierTests EUsbMSMMUnknownFileSystem
-pause 500
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title OTG Partially supported device (Otg Warning Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+//let the dialog time out
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
+
+[Test]
+title OTG Partially supported device OK (Otg Warning Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+pause OK_PAUSE
+sendpointerevent global EButton1 OK_X OK_Y
+tester FinishQuery ACCEPT
+delete tester
+[Endtest]
+
+[Test]
+title OTG Partially supported device dismiss(Otg Warning Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
+
+[Test]
+title OTG Partially supported device cancel(Otg Warning Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+pause DISMISS_PAUSE
+tester CancelOtgWarningNotifier
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
+
+[Test]
+title OTG Partially supported device no cancel(Otg Warning Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester WaitForRequest
+tester UsbOTGWarningNotifierTests EUsbOtgPartiallySupportedDevice
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
+
+
+// MSMM Errors
+
+[Test]
+title MSMM error OK (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMGeneralError
+pause OK_PAUSE
+sendpointerevent global EButton1 OK_X OK_Y
+tester FinishQuery ACCEPT
 delete tester
 [Endtest] 
 
 [Test]
-title MSMM error test (MSMM error Notifier Test)
-create UsbUiNotifApiTest tester
-tester ExecuteApiTestBlock UsbMSMMNotifierTests EUsbMSMMOutOfMemory
-pause 500
-presskey global EKeyDevice0
-tester ExecuteApiTestBlock FinishQuery ACCEPT
+title MSMM error dismiss (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMGeneralError
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+[Test]
+title MSMM error cancel (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMGeneralError
+tester CancelMsmmNotifier
+tester FinishQuery CANCEL
+delete tester
+[Endtest] 
+
+[Test]
+title MSMM error Unknown file system (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMUnknownFileSystem
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
 delete tester
 [Endtest] 
 
-// Add new api tests here
-// ...
+[Test]
+title MSMM error Out of memory (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMOutOfMemory
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
+
+//Test launching MSMM error without cancelling the previous.
+[Test]
+title MSMM error no cancel (MSMM error Notifier Test)
+create USBUiNotifApiTest tester
+tester UsbMSMMNotifierTests EUsbMSMMUnknownFileSystem
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester WaitForRequest
+tester UsbMSMMNotifierTests EUsbMSMMOutOfMemory
+pause DISMISS_PAUSE
+presskey global EKeyEnter
+tester FinishQuery CANCEL
+delete tester
+[Endtest]
 
 
-// UsbUiNotifApiTest Module Tests (... tc)
+//MEikSrvNotifierBase2 API
 
-// Add new module tests here
-// ...
+[Test]
+title Load and Unload notifiers
+create USBUiNotifApiTest tester
+tester LoadNotifiers
+pause 500
+//the destructors of the notifier classes will be called
+tester UnLoadNotifiers
+delete tester
+[Endtest] 
 
-
-// UsbUiNotifApiTest Branch Tests (... tc)
+[Test]
+title Synchronous Start
+create USBUiNotifApiTest tester
+tester SynchStart EUsbOtgPartiallySupportedDevice
+delete tester
+[Endtest] 
 
-// Add new branch tests here
-// ...
+[Test]
+title Update
+create USBUiNotifApiTest tester
+tester Update
+delete tester
+[Endtest] 
\ No newline at end of file
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/group/usbuinotifapitest.mmp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/group/usbuinotifapitest.mmp	Mon May 17 11:03:15 2010 +0300
@@ -41,10 +41,10 @@
 LIBRARY         euser.lib
 LIBRARY         stiftestinterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY 		centralrepository.lib
-LIBRARY 		usbman.lib
-LIBRARY 		usbwatcher.lib
-LIBRARY     	ecom.lib
+LIBRARY         centralrepository.lib
+LIBRARY         usbman.lib
+LIBRARY         usbwatcher.lib
+LIBRARY         ecom.lib
 
 LANG            SC
 
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/inc/usbuinotifapitest.h	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/inc/usbuinotifapitest.h	Mon May 17 11:03:15 2010 +0300
@@ -15,9 +15,6 @@
 *
 */
 
-
-
-
 #ifndef USBUINOTIFAPITEST_H
 #define USBUINOTIFAPITEST_H
 
@@ -35,98 +32,57 @@
 #include <usbwatcher.h>
 #include <usb/hostms/srverr.h> 
 // CONSTANTS
-//const ?type ?constant_var = ?constant;
 
 // MACROS
-//#define ?macro ?macro_def
 #define TEST_CLASS_VERSION_MAJOR 0
 #define TEST_CLASS_VERSION_MINOR 0
 #define TEST_CLASS_VERSION_BUILD 0
 
 // Logging path
-//_LIT( KUsbUiNotifApiTestLogPath, "\\logs\\testframework\\UsbUiNotifApiTest\\" );
-
-// Logging path for ATS - for phone builds comment this line
-_LIT( KUsbUiNotifApiTestLogPath, "e:\\testing\\stiflogs\\" ); 
+_LIT( KUSBUiNotifApiTestLogPath, "e:\\testing\\stiflogs\\" ); 
 
 // Log file
-_LIT( KUsbUiNotifApiTestLogFile, "UsbUiNotifApiTest.txt" ); 
-_LIT( KUsbUiNotifApiTestLogFileWithTitle, "UsbUiNotifApiTest_[%S].txt" );
+_LIT( KUSBUiNotifApiTestLogFile, "USBUiNotifApiTest.txt" ); 
+_LIT( KUSBUiNotifApiTestLogFileWithTitle, "USBUiNotifApiTest_[%S].txt" );
 
 // FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
 
 // FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-class CUsbUiNotifApiTest;
+class CUSBUiNotifApiTest;
 
 // DATA TYPES
-//enum ?declaration
-
-enum TUsbUiNotifApiTestResult
-    {
-    ETestCasePassed,
-    ETestCaseFailed
-    };
-
 enum TTestOption
     {
     EQueryDiscarded = 0,
     EQueryAccepted,
     EQueryCanceled
     };
-//typedef ?declaration
-//extern ?data_type;
 
 // CLASS DECLARATION
 
-NONSHARABLE_CLASS( TUsbUiNotifApiTestBlockParams )
-    {
-    public:
-        TPtrC iTestBlockName;
-        
-        TPtrC iTestOption1;
-        TPtrC iTestOption2;
-        TPtrC iTestOption3;
-        
-        TInt iTestIntOption1;
-        TInt iTestIntOption2;
-        
-        TChar iTestCharOption1;
-        TChar iTestCharOption2;
-    };
-
 /**
-*  CUsbUiNotifApiTest test class for STIF Test Framework TestScripter.
+*  CUSBUiNotifApiTest test class for STIF Test Framework TestScripter.
 *  ?other_description_lines
 *
 *  @lib ?library
 *  @since ?Series60_version
 */
-NONSHARABLE_CLASS( CUsbUiNotifApiTest ) : public CScriptBase
+NONSHARABLE_CLASS(CUSBUiNotifApiTest) : public CScriptBase
     {
     public:  // Constructors and destructor
 
         /**
         * Two-phased constructor.
         */
-        static CUsbUiNotifApiTest* NewL( CTestModuleIf& aTestModuleIf );
+        static CUSBUiNotifApiTest* NewL( CTestModuleIf& aTestModuleIf );
 
         /**
         * Destructor.
         */
-        virtual ~CUsbUiNotifApiTest();
+        virtual ~CUSBUiNotifApiTest();
 
     public: // New functions
 
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
     public: // Functions from base classes
 
         /**
@@ -139,14 +95,6 @@
 
     protected:  // New functions
 
-        /**
-        * ?member_description.
-        * @since ?Series60_version
-        * @param ?arg1 ?description
-        * @return ?description
-        */
-        //?type ?member_function( ?type ?arg1 );
-
     protected:  // Functions from base classes
 
         /**
@@ -159,18 +107,13 @@
         /**
         * C++ default constructor.
         */
-        CUsbUiNotifApiTest( CTestModuleIf& aTestModuleIf );
+        CUSBUiNotifApiTest( CTestModuleIf& aTestModuleIf );
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
 
-        // Prohibit copy constructor if not deriving from CBase.
-        // ?classname( const ?classname& );
-        // Prohibit assigment operator if not deriving from CBase.
-        // ?classname& operator=( const ?classname& );
-
         /**
         * Frees all resources allocated from test methods.
         * @since ?Series60_version
@@ -180,13 +123,23 @@
         /**
         * Test methods are listed below. 
         */
-
-        virtual TInt ExecuteApiTestBlock( CStifItemParser& aItem );
-        virtual TInt ExecuteModuleTestBlock( CStifItemParser& aItem );
-        virtual TInt ExecuteBranchTestBlock( CStifItemParser& aItem );
-        
-        
-        
+        virtual TInt CableConnectedNotifierTest( CStifItemParser& aItem );
+        virtual TInt FinishCableConnectedQuery( CStifItemParser& aItem );
+        virtual TInt UsbQueriesNotifierTest( CStifItemParser& aItem );
+        virtual TInt UsbOTGErrorNotifierTests( CStifItemParser& aItem );
+        virtual TInt UsbOTGWarningNotifierTests( CStifItemParser& aItem );
+        virtual TInt FinishQuery( CStifItemParser& aItem );
+        virtual TInt LoadNotifiersL( CStifItemParser& aItem );
+        virtual TInt UnLoadNotifiers ( CStifItemParser& aItem );
+        virtual TInt UsbMSMMNotifierTests ( CStifItemParser& aItem );
+        virtual TInt CancelMsmmNotifier( CStifItemParser& aItem );
+        virtual TInt CancelQueryNotifier( CStifItemParser& aItem );
+        virtual TInt CancelOtgErrorNotifier( CStifItemParser& aItem );
+        virtual TInt CancelOtgWarningNotifier( CStifItemParser& aItem );
+        virtual TInt CancelCableConnectedNotifier( CStifItemParser& aItem );
+        virtual TInt WaitForRequest( CStifItemParser& aItem );
+        virtual TInt SynchStart( CStifItemParser& aItem );
+        virtual TInt Update( CStifItemParser& aItem );
         /**
          * Method used to log version of test class
          */
@@ -194,52 +147,22 @@
 
         //ADD NEW METHOD DEC HERE
         //[TestMethods] - Do not remove
-
-        void GetTestBlockParamsL( CStifItemParser& aItem );
-        
-    	void DoExecuteApiTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult );    	
-    	void DoExecuteModuleTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult );    
-    	void DoExecuteBranchTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult );
-    	
-        void ExampleTestL( TPtrC aTestOption, TPtrC aTestSubOption, 
-                 TInt aTestIntOption, TInt aTestCharOption, TUsbUiNotifApiTestResult& aTestResult );
-
-        void CableConnectedNotifierTest( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void ConnectionNotifierTest( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void UsbQueriesNotifierTest( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void UsbOTGErrorNotifierTests( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void UsbOTGWarningNotifierTests( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        TInt FinishQuery( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void LoadNotifiersL( TUsbUiNotifApiTestResult& aTestResult );
-        void UnLoadNotifiers ( TUsbUiNotifApiTestResult& aTestResult );
-        void Update( TUsbUiNotifApiTestResult& aTestResult );
-        //void Cancelnotifier( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult ); 
-        void Notifierstart( TUsbUiNotifApiTestResult& aTestResult );
-        //void AsyncConnectionNotifier ( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-        void UsbMSMMNotifierTests ( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult );
-
         TInt GetTestOption( TPtrC aOptionString, TTestOption& aOption );
         TInt GetPersonalityIdFromString( TPtrC aOptionString, TInt& aPersonalityId );
         TInt GetQueryType( TPtrC aTypeString, TUSBUIQueries& aQueryType );        
         TInt GetOTGErrorType( TPtrC aTypeString, TUsbUiNotifOtgError& aQueryType );
         TInt GetOTGWarningType( TPtrC aTypeString, TUsbUiNotifOtgWarning& aQueryType );
         TInt GetMSMMrrorType( TPtrC aTypeString, THostMsErrCode& aQueryType );
+        TInt FindAndKillProcess(const TDesC& aProcessName);
 
-        inline void Trace(TRefByValue<const TDesC8> aFmt, ...);
-        inline void Trace(TRefByValue<const TDesC16> aFmt, ...);
-	
     public:     // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
 
     protected:  // Data
-        // ?one_line_short_description_of_data
-        //?data_declaration;
 
     private:    // Data
-        TUsbUiNotifApiTestBlockParams iTestBlockParams;
-
+        
         RNotifier *iNotifier;
+        TBool iNotifierConnected;
         RUsbWatcher* iUsbWatcher;
  
         CRepository* iRepository;
@@ -254,20 +177,15 @@
         THostMsErrData iErrData;
         THostMsErrorDataPckg iErrPckg ;
 
-        // Reserved pointer for future extension
-        //TAny* iReserved;
-
     public:     // Friend classes
         //?friend_class_declaration;
     protected:  // Friend classes
         //?friend_class_declaration;
     private:    // Friend classes
         //?friend_class_declaration;
-        
+
     };
 
-#include "UsbUiNotifApiTestDebug.inl"
-
 #endif      // USBUINOTIFAPITEST_H
 
 // End of File
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/inc/usbuinotifapitestdebug.inl	Sun May 02 21:57:48 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 <e32debug.h>
-
-NONSHARABLE_CLASS(TOverflowTruncate8) : public TDes8Overflow
-    {
-public:
-    void Overflow(TDes8& /*aDes*/) {}
-    }; 
-
-NONSHARABLE_CLASS(TOverflowTruncate16) : public TDes16Overflow
-    {
-public:
-    void Overflow(TDes16& /*aDes*/) {}
-    };
-
-
-_LIT8(KStifTestPrefix8, "[STIF_LOG] ");
-_LIT(KStifTestPrefix, "[STIF_LOG] ");
-
-const TInt KMaxLogLineLength = 512;
-
-#define TRACE_INFO(p) { Trace p; }
-
-void CUsbUiNotifApiTest::Trace(TRefByValue<const TDesC8> aFmt, ...)
-	{
-	VA_LIST list;
-	VA_START(list, aFmt);
-	TOverflowTruncate8 overflow;        
-	RBuf8 buf8;
-	buf8.Create( KMaxLogLineLength );
-	buf8.Append( KStifTestPrefix8 );
-	buf8.AppendFormatList(aFmt, list, &overflow);
-			
-	RBuf16 buf16;
-	buf16.Create( KMaxLogLineLength );
-	buf16.Copy(buf8);    
-	TRefByValue<const TDesC> tmpFmt(_L("%S"));
-	RDebug::Print(tmpFmt, &buf16);
-	iLog->Log(tmpFmt, &buf16);
-	buf8.Close();         
-	buf16.Close();
-	};
-
-void CUsbUiNotifApiTest::Trace(TRefByValue<const TDesC16> aFmt, ...)
-	{
-	VA_LIST list;
-	VA_START(list,aFmt);
-	RBuf16 theFinalString;
-	theFinalString.Create( KMaxLogLineLength );
-	theFinalString.Append( KStifTestPrefix );
-	TOverflowTruncate16 overflow;
-	theFinalString.AppendFormatList(aFmt,list,&overflow);
-	RDebug::Print(theFinalString);
-	iLog->Log(theFinalString);
-	theFinalString.Close(); 
-	};
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest.ini	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest.ini	Mon May 17 11:03:15 2010 +0300
@@ -110,7 +110,7 @@
 
 [New_Module]
 ModuleName= testscripter
-TestCaseFile= e:\testing\conf\ui_USBUiNotifApiTest.cfg
+TestCaseFile= e:\testing\conf\ui_usbuinotifapitest.cfg
 [End_Module]
 
 
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest_phone.ini	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/init/usbuinotifapitest_phone.ini	Mon May 17 11:03:15 2010 +0300
@@ -65,7 +65,7 @@
 
 CreateTestReport= YES         # Possible values: YES or NO
 
-TestReportFilePath= c:\logs\testframework\UsbUiNotifApiTest\
+TestReportFilePath= c:\logs\testframework\usbuinotifapitest\
 TestReportFileName= testreport
 
 TestReportFormat= TXT         # Possible values: TXT, HTML or XML
@@ -110,7 +110,7 @@
 
 [New_Module]
 ModuleName= testscripter
-TestCaseFile= c:\testframework\ui_UsbUiNotifApiTest.cfg
+TestCaseFile= c:\testframework\ui_usbuinotifapitest.cfg
 [End_Module]
 
 
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitest.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitest.cpp	Mon May 17 11:03:15 2010 +0300
@@ -15,88 +15,57 @@
 *
 */
 
-
-
-
 // INCLUDE FILES
 #include <Stiftestinterface.h>
-#include "UsbUiNotifApiTest.h"
+#include "usbuinotifapitest.h"
 #include <SettingServerClient.h>
 
 // EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
 
 // EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
 
 // CONSTANTS
-//const ?type ?constant_var = ?constant;
 
 // MACROS
-//#define ?macro ?macro_def
 
 // LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
 
 // MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
 
 // LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
 
 // FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
 
 // ============================= LOCAL FUNCTIONS ===============================
 
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::CUsbUiNotifApiTest
+// CUSBUiNotifApiTest::CUSBUiNotifApiTest
 // C++ default constructor can NOT contain any code, that
 // might leave.
 // -----------------------------------------------------------------------------
 //
-CUsbUiNotifApiTest::CUsbUiNotifApiTest( 
+CUSBUiNotifApiTest::CUSBUiNotifApiTest( 
     CTestModuleIf& aTestModuleIf ):
         CScriptBase( aTestModuleIf ),
         iRes(0)
+        
     {
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::ConstructL
+// CUSBUiNotifApiTest::ConstructL
 // Symbian 2nd phase constructor can leave.
 // -----------------------------------------------------------------------------
 //
-void CUsbUiNotifApiTest::ConstructL()
+void CUSBUiNotifApiTest::ConstructL()
     {
     //Read logger settings to check whether test case name is to be
     //appended to log file name.
+    
     RSettingServer settingServer;
+    CleanupClosePushL(settingServer); 
     TInt ret = settingServer.Connect();
     if(ret != KErrNone)
         {
@@ -111,7 +80,7 @@
         User::Leave(ret);
         } 
     // Close Setting server session
-    settingServer.Close();
+    CleanupStack::PopAndDestroy(&settingServer);
 
     TFileName logFileName;
     
@@ -119,46 +88,48 @@
         {
         TName title;
         TestModuleIf().GetTestCaseTitleL(title);
-        logFileName.Format(KUsbUiNotifApiTestLogFileWithTitle, &title);
+        logFileName.Format(KUSBUiNotifApiTestLogFileWithTitle, &title);
         }
     else
         {
-        logFileName.Copy(KUsbUiNotifApiTestLogFile);
+        logFileName.Copy(KUSBUiNotifApiTestLogFile);
         }
 
-    iLog = CStifLogger::NewL( KUsbUiNotifApiTestLogPath, 
+    iLog = CStifLogger::NewL( KUSBUiNotifApiTestLogPath, 
                           logFileName,
                           CStifLogger::ETxt,
                           CStifLogger::EFile,
                           EFalse );
     
     SendTestClassVersion();
-
+   
     iNotifier = new ( ELeave ) RNotifier();
+    /*
     iUsbWatcher = new ( ELeave ) RUsbWatcher();
     iRepository = CRepository::NewL( KCRUidUsbWatcher );
+    */
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::NewL
+// CUSBUiNotifApiTest::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
 //
-CUsbUiNotifApiTest* CUsbUiNotifApiTest::NewL( 
+CUSBUiNotifApiTest* CUSBUiNotifApiTest::NewL( 
     CTestModuleIf& aTestModuleIf )
     {
-    CUsbUiNotifApiTest* self = new (ELeave) CUsbUiNotifApiTest( aTestModuleIf );
+    CUSBUiNotifApiTest* self = new (ELeave) CUSBUiNotifApiTest( aTestModuleIf );
 
     CleanupStack::PushL( self );
     self->ConstructL();
-    CleanupStack::Pop();
+    CleanupStack::Pop( self );
 
     return self;
 
     }
 
 // Destructor
-CUsbUiNotifApiTest::~CUsbUiNotifApiTest()
+CUSBUiNotifApiTest::~CUSBUiNotifApiTest()
     { 
 
     // Delete resources allocated from test methods
@@ -170,11 +141,11 @@
     }
 
 //-----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::SendTestClassVersion
+// CUSBUiNotifApiTest::SendTestClassVersion
 // Method used to send version of test class
 //-----------------------------------------------------------------------------
 //
-void CUsbUiNotifApiTest::SendTestClassVersion()
+void CUSBUiNotifApiTest::SendTestClassVersion()
 	{
 	TVersion moduleVersion;
 	moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR;
@@ -182,7 +153,7 @@
 	moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD;
 	
 	TFileName moduleName;
-	moduleName = _L("UsbUiNotifApiTest.dll");
+	moduleName = _L("USBUiNotifApiTest.dll");
 
 	TBool newVersionOfMethod = ETrue;
 	TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
@@ -199,7 +170,7 @@
     CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
     {
 
-    return ( CScriptBase* ) CUsbUiNotifApiTest::NewL( aTestModuleIf );
+    return ( CScriptBase* ) CUSBUiNotifApiTest::NewL( aTestModuleIf );
 
     }
 
--- a/usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitestblocks.cpp	Sun May 02 21:57:48 2010 +0300
+++ b/usbuis/usbuinotif/tsrc/usbuinotifapitest/src/usbuinotifapitestblocks.cpp	Mon May 17 11:03:15 2010 +0300
@@ -15,101 +15,85 @@
 *
 */
 
-
-
-
 // [INCLUDE FILES] - do not remove
 #include <e32svr.h>
 #include <StifParser.h>
 #include <ecom/ecom.h>
 #include <Stiftestinterface.h>
-#include "UsbUiNotifApiTest.h"
+#include "usbuinotifapitest.h"
 
 // EXTERNAL DATA STRUCTURES
-//extern  ?external_data;
 
 // EXTERNAL FUNCTION PROTOTYPES  
-//extern ?external_function( ?arg_type,?arg_type );
 
 // CONSTANTS
-//const ?type ?constant_var = ?constant;
+#ifdef __WINS__
+_LIT( KUsbAppProcPattern, "usb[*" );
+#else
+_LIT( KUsbAppProcPattern, "#USBSettingsApp*" );
+#endif
 
 // MACROS
-//#define ?macro ?macro_def
 
 // LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
 
 // MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
 
 // LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
 
 // FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
 
 // ============================= LOCAL FUNCTIONS ===============================
 
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-//          ?value_n: ?description_line1
-//                    ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
-    ?arg_type arg,  // ?description
-    ?arg_type arg)  // ?description
-    {
-
-    ?code  // ?comment
-
-    // ?comment
-    ?code
-    }
-*/
-
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::Delete
+// CUSBUiNotifApiTest::Delete
 // Delete here all resources allocated and opened from test methods. 
 // Called from destructor. 
 // -----------------------------------------------------------------------------
 //
-void CUsbUiNotifApiTest::Delete() 
-	{
+void CUSBUiNotifApiTest::Delete() 
+    {
     iNotifier -> Close();
     delete iNotifier;
     iNotifier = NULL;
-    iUsbWatcher -> Close();
-    delete iUsbWatcher;
-    iUsbWatcher = NULL;
-    delete iRepository;
-    iRepository = NULL;
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::RunMethodL
+// CUSBUiNotifApiTest::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
 // -----------------------------------------------------------------------------
 //
-TInt CUsbUiNotifApiTest::RunMethodL( 
+TInt CUSBUiNotifApiTest::RunMethodL( 
     CStifItemParser& aItem ) 
     {
 
     static TStifFunctionInfo const KFunctions[] =
         {  
+        // Copy this line for every implemented function.
+        // First string is the function name used in TestScripter script file.
+        // Second is the actual implementation member function. 
+        ENTRY( "CableConnectedNotifierTest", CUSBUiNotifApiTest::CableConnectedNotifierTest ),
+        ENTRY( "FinishCableConnectedQuery", CUSBUiNotifApiTest::FinishCableConnectedQuery ),        
+        ENTRY( "UsbQueriesNotifierTest", CUSBUiNotifApiTest::UsbQueriesNotifierTest ),
+        ENTRY( "FinishQuery", CUSBUiNotifApiTest::FinishQuery ),
+        ENTRY( "UsbOTGErrorNotifierTests", CUSBUiNotifApiTest::UsbOTGErrorNotifierTests ), 
+        ENTRY( "UsbOTGWarningNotifierTests", CUSBUiNotifApiTest::UsbOTGWarningNotifierTests ),
+        ENTRY( "LoadNotifiers", CUSBUiNotifApiTest::LoadNotifiersL ),
+        ENTRY( "UnLoadNotifiers", CUSBUiNotifApiTest::UnLoadNotifiers ),
+        ENTRY( "UsbMSMMNotifierTests", CUSBUiNotifApiTest::UsbMSMMNotifierTests ),
+        ENTRY( "CancelMsmmNotifier", CUSBUiNotifApiTest::CancelMsmmNotifier ),
+        ENTRY( "CancelQueryNotifier", CUSBUiNotifApiTest::CancelQueryNotifier ),
+        ENTRY( "CancelOtgErrorNotifier", CUSBUiNotifApiTest::CancelOtgErrorNotifier ),
+        ENTRY( "CancelOtgWarningNotifier", CUSBUiNotifApiTest::CancelOtgWarningNotifier ),
+        ENTRY( "CancelCableConnectedNotifier", CUSBUiNotifApiTest::CancelCableConnectedNotifier ),
+        ENTRY( "WaitForRequest", CUSBUiNotifApiTest::WaitForRequest ),
+        ENTRY( "SynchStart", CUSBUiNotifApiTest::SynchStart ),	
+        ENTRY( "Update", CUSBUiNotifApiTest::Update )
         //ADD NEW ENTRY HERE
         // [test cases entries] - Do not remove
-		ENTRY( "ExecuteApiTestBlock", CUsbUiNotifApiTest::ExecuteApiTestBlock ),
-        ENTRY( "ExecuteModuleTestBlock", CUsbUiNotifApiTest::ExecuteModuleTestBlock ),
-        ENTRY( "ExecuteBranchTestBlock", CUsbUiNotifApiTest::ExecuteBranchTestBlock ),
+
         };
 
     const TInt count = sizeof( KFunctions ) / 
@@ -120,374 +104,128 @@
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetTestBlockParamsL
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::GetTestBlockParamsL( CStifItemParser& aItem )
-    {
-    TRACE_INFO( _L(">>> GetTestBlockParamsL") );
-    
-    // Add new test block branches below, get all required test parameters    
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {              
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption1 ) );        
-        User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );
-        User::LeaveIfError( aItem.GetNextInt( iTestBlockParams.iTestIntOption1 ) );        
-        User::LeaveIfError( aItem.GetNextChar( iTestBlockParams.iTestCharOption1 ) );        
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CableConnectedNotifierTest" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbQueriesNotifierTest" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "FinishQuery" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbOTGErrorNotifierTests" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbOTGWarningNotifierTests" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "LoadNotifiers" ) ) )
-		{                           
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UnLoadNotifiers" ) ) )
-		{                      
-		}
-	else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbMSMMNotifierTests" ) ) )
-		{                      
-		User::LeaveIfError( aItem.GetNextString( iTestBlockParams.iTestOption2 ) );       
-		}
-    else
-        {
-        TRACE_INFO( _L("GetTestBlockParamsL() Test type: not found") );
-        User::Leave( KErrNotFound );
-        }
-    TRACE_INFO( _L("<<< GetTestBlockParamsL") );
-    }
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::ExecuteApiTestBlock
+// CUSBUiNotifApiTest::CableConnectedNotifierTests
 // -----------------------------------------------------------------------------
 
-TInt CUsbUiNotifApiTest::ExecuteApiTestBlock( CStifItemParser& aItem )
-    {
-    TRACE_INFO( _L(">>> ExecuteApiTestBlock") );
-	
-	TInt res;
-    TUsbUiNotifApiTestResult testResult = ETestCaseFailed;
-	
-    TRAP( res, DoExecuteApiTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        TRACE_INFO( (_L("DoExecuteApiTestBlockL error: %d"), res) );
-        return res;
-        }
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    TRACE_INFO( _L("Test case passed") );
-    
-    TRACE_INFO( _L("<<< ExecuteApiTestBlock") );
-	
-    return KErrNone;
-    }
-	
-	
-void CUsbUiNotifApiTest::DoExecuteApiTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult )
-    {
-    TRACE_INFO( _L(">>>DoExecuteApiTestBlockL") );
-
-	User::LeaveIfError( aItem.GetString( _L( "ExecuteApiTestBlock" ), iTestBlockParams.iTestBlockName ) );
-        TRACE_INFO( (_L("Api test type: %S"), &iTestBlockParams.iTestBlockName) );
-	
-	GetTestBlockParamsL( aItem );
-	
-	// Add new API test block branches with optional test parameters here	
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }	
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "CableConnectedNotifierTest" ) ) )
-        {      
-        CableConnectedNotifierTest( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbQueriesNotifierTest" ) ) )
-        {      
-        UsbQueriesNotifierTest( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "FinishQuery" ) ) )
-        {      
-        FinishQuery( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbQueriesNotifierTest" ) ) )
-        {      
-        UsbQueriesNotifierTest( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbQueriesNotifierTest" ) ) )
-        {      
-        UsbQueriesNotifierTest( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbQueriesNotifierTest" ) ) )
-        {      
-        UsbQueriesNotifierTest( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbOTGErrorNotifierTests" ) ) )
-        {      
-        UsbOTGErrorNotifierTests( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbOTGWarningNotifierTests" ) ) )
-        {      
-        UsbOTGWarningNotifierTests( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "LoadNotifiers" ) ) )
-        {      
-        LoadNotifiersL( aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UnLoadNotifiers" ) ) )
-        {      
-        UnLoadNotifiers( aTestResult );
-        }
-    else if ( !iTestBlockParams.iTestBlockName.Compare( _L( "UsbMSMMNotifierTests" ) ) )
-        {      
-        UsbMSMMNotifierTests( iTestBlockParams.iTestOption2, aTestResult );
-        }
-    else
-        {
-    TRACE_INFO( _L("DoExecuteApiTestBlockL() Test type: not found") );
-        User::Leave( KErrNotFound );
-        }
-	
-    TRACE_INFO( _L("<<<DoExecuteApiTestBlockL") );
-    }
-	
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::ExecuteModuleTestBlock
-// -----------------------------------------------------------------------------	
-
-TInt CUsbUiNotifApiTest::ExecuteModuleTestBlock( CStifItemParser& aItem )
-    {
-    TRACE_INFO( _L(">>>ExecuteModuleTestBlock") );
-	
-    TInt res;
-    TUsbUiNotifApiTestResult testResult;
-    
-    TRAP( res, DoExecuteModuleTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        TRACE_INFO( (_L("DoExecuteModuleTestBlockL error: %d"), res) );
-        return res;
-        }
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    TRACE_INFO( _L("Test case passed") );
-    TRACE_INFO( _L("<<<ExecuteModuleTestBlock") );
-    return KErrNone;
-    }	
-	
-	
-void CUsbUiNotifApiTest::DoExecuteModuleTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::CableConnectedNotifierTest( CStifItemParser& /*aItem*/ )
     {
-    TRACE_INFO( _L(">>>DoExecuteModuleTestBlockL") );
-	
-    User::LeaveIfError( aItem.GetString( _L( "ExecuteModuleTestBlock" ), iTestBlockParams.iTestBlockName ) );
-    TRACE_INFO( (_L("Module test type: %S"), &iTestBlockParams.iTestBlockName) );
-    
-    GetTestBlockParamsL( aItem );
-    
-    // Add new module test block branches with optional test parameters here   
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }
-    else
-        {
-    TRACE_INFO( _L("DoExecuteModuleTestBlockL() Test type: not found") );
-        User::Leave( KErrNotFound );
-        }
-    
-    TRACE_INFO( _L("<<<DoExecuteModuleTestBlockL") );
-    }
-	
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::ExecuteBranchTestBlock
-// -----------------------------------------------------------------------------
-	
-TInt CUsbUiNotifApiTest::ExecuteBranchTestBlock( CStifItemParser& aItem )
-    {
-    TRACE_INFO( _L(">>>ExecuteBranchTestBlock") );
-	
     TInt res;
-    TUsbUiNotifApiTestResult testResult;
-    
-    TRAP( res, DoExecuteBranchTestBlockL( aItem, testResult ) );
-    if ( res != KErrNone )
-        {
-        TRACE_INFO( (_L("DoExecuteBranchTestBlockL error: %d"), res) );
-        return res;
-        }   
-    
-    STIF_ASSERT_EQUALS( ETestCasePassed, testResult );
-    TRACE_INFO( _L("Test case passed") );
-    TRACE_INFO( _L("<<<ExecuteBranchTestBlock") );
-    return KErrNone;
-    }
-
-	
-void CUsbUiNotifApiTest::DoExecuteBranchTestBlockL( CStifItemParser& aItem, TUsbUiNotifApiTestResult& aTestResult )
-    {
-    TRACE_INFO( _L(">>>DoExecuteBranchTestBlockL") );
-	
-    User::LeaveIfError( aItem.GetString( _L( "ExecuteBranchTestBlock" ), iTestBlockParams.iTestBlockName ) );
-    TRACE_INFO( (_L("Branch test type: %S"), &iTestBlockParams.iTestBlockName) );
-    
-    GetTestBlockParamsL( aItem );
-    
-    // Add new branch test block branches with optional test parameters here   
-    if ( !iTestBlockParams.iTestBlockName.Compare( _L( "ExampleTestL" ) ) )
-        {      
-        ExampleTestL( iTestBlockParams.iTestOption1, iTestBlockParams.iTestOption2, 
-                iTestBlockParams.iTestIntOption1, iTestBlockParams.iTestCharOption1, aTestResult );
-        }
-    else
-        {
-    TRACE_INFO( _L("DoExecuteBranchTestBlockL() Test type: not found") );
-        User::Leave( KErrNotFound );
-        }
-    
-    TRACE_INFO( _L("<<<DoExecuteBranchTestBlockL") );
-    }
-
-// Add test block methods implementation here
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::ExampleTestL
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::ExampleTestL( TPtrC aTestOption, TPtrC aTestSubOption, 
-        TInt aTestIntOption, TInt aTestCharOption, TUsbUiNotifApiTestResult& aTestResult )
-    {
-    TRACE_INFO( _L(">>>ExampleTestL") );
-    
-    if ( !aTestOption.Compare( _L( "API" ) ) )
-        {
-    TRACE_INFO( (_L("Api test option: %S"), &aTestOption) );
-    TRACE_INFO( (_L("Api test sub-option: %S"), &aTestSubOption) );
-    TRACE_INFO( (_L("Api test int option: %d"), aTestIntOption) );
-    TRACE_INFO( (_L("Api test char option: %c"), aTestCharOption) );
-        }
-    else if ( !aTestOption.Compare( _L( "MODULE" ) ) )
-        {
-    TRACE_INFO( (_L("Module test option: %S"), &aTestOption) );
-    TRACE_INFO( (_L("Module test sub-option: %S"), &aTestSubOption) );
-    TRACE_INFO( (_L("Module test int option: %d"), aTestIntOption) );
-    TRACE_INFO( (_L("Module test char option: %c"), aTestCharOption) );
-        }
-    else if ( !aTestOption.Compare( _L( "BRANCH" ) ) )
-        {
-    TRACE_INFO( (_L("Branch test option: %S"), &aTestOption) );
-    TRACE_INFO( (_L("Branch test sub-option: %S"), &aTestSubOption) );
-    TRACE_INFO( (_L("Branch test int option: %d"), aTestIntOption) );
-    TRACE_INFO( (_L("Branch test char option: %c"), aTestCharOption) );
-        }
-    else
-        {
-        TRACE_INFO( _L("Invalid test parameter") );
-        User::Leave( KErrNotFound );
-        }
-    
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO( _L("<<<ExampleTestL") );
-    }
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::CableConnectedNotifierTest
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::CableConnectedNotifierTest( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
-    {
-    TRACE_INFO(  _L(">>>CableConnectedNotifierTest") );
-    
-    TInt res;
-    TUSBConnectionNotifierParamsPckg emptyNotifierInputPckg;
-    TPtrC displayedUsbPersonalityName( KNullDesC );
-    TInt displayedUsbPersonalityId;
-    
-    res = GetPersonalityIdFromString( aTestSubOption, displayedUsbPersonalityId );
-    if ( res != KErrNone )
-        {
-        TRACE_INFO(  (_L("GetPersonalityIdFromString failed with value: %d"), res) );
-        return;
-        }
-    
-    res = iRepository -> Get( KUsbWatcherPersonality, iPersonalityIdBackup );
-    if ( res != KErrNone )
-        {
-        TRACE_INFO(  (_L("Personality backup failed with value (cenrep): %d"), res) );
-        return;
-        }
-    
-    res = iUsbWatcher -> Connect();
-    if ( res != KErrNone )
-        {
-        TRACE_INFO(  (_L("Failed to connect UsbWatcher with value: %d"), res) );
-        return;
-        }   
-    TRACE_INFO(  _L("UsbWatcher connected") );
-        
-    iUsbWatcher -> SetPersonality( iReqStatus, displayedUsbPersonalityId, ETrue, ETrue );
-    User::WaitForRequest( iReqStatus );
-    if ( iReqStatus.Int() != KErrNone )
-        {
-        TRACE_INFO(  (_L("Failed to set usb personality with value: %d"), iReqStatus.Int()) );
-        iUsbWatcher -> Close();
-        return;
-        }   
+    TPtrC8 dummyPckg; //no parameters used
     
     res = iNotifier -> Connect();
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("Failed to connect RNotifier with value: %d"), res) );
-        iUsbWatcher -> Close();
-        return;
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
         }   
-    TRACE_INFO(  _L("RNotifier connected") );
+    iLog -> Log( _L("RNotifier connected") );
+
+    //kill the possibly running usb application
+    FindAndKillProcess(KUsbAppProcPattern);
+    
+    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KCableConnectedNotifierUid, 
+            dummyPckg, iConnectionNotifierResponseParamsPckg );    
+    
+    return KErrNone;
+    
+    }
+
+
+TInt CUSBUiNotifApiTest::FinishCableConnectedQuery( CStifItemParser& aItem )
+    {
+    //give time for application to start, in microseconds
+    const TInt KAppLaunchDelay = 5000000; 
+    TInt res;
+    TPtrC optionName( KNullDesC );
+    TTestOption option;
+    TPtrC expectedUsbPersonalityName( KNullDesC );
+    TInt expectedErrorCode;
 
-    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KCableConnectedNotifierUid, emptyNotifierInputPckg, iConnectionNotifierResponseParamsPckg );    
+    iLog -> Log( _L("FinishCableConnectedQuery") );
+    
+    res = aItem.GetString( _L( "FinishCableConnectedQuery" ), optionName );
+        
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    iLog -> Log( _L("FinishCableConnectedQuery getting option") );
+    res = GetTestOption( optionName, option );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("GetTestOption failed with value: %d"), res );
+        iUsbWatcher -> Close();
+        iNotifier -> Close();
+        return res;
+        }
+ 
+    iLog -> Log( _L("FinishCableConnectedQuery wait for request") );
     User::WaitForRequest( iReqStatus );
+    expectedErrorCode = iReqStatus.Int();
+
+    iLog -> Log( _L("FinishCableConnectedQuery request complete") );
     
-    TRACE_INFO((_L("StartNotifierAndGetResponse Status: %d, expected: %d"), iReqStatus.Int(), KErrCancel));
-    if(iReqStatus.Int() == KErrCancel)
-    	aTestResult = ETestCasePassed;
+    iNotifier -> Close();  
+
+    iLog -> Log( _L("FinishCableConnectedQuery close") );
     
-    TRACE_INFO(  _L("<<<CableConnectedNotifierTest") );
+    TInt ret = KErrNone;
+    switch( option )
+        {
+        case EQueryAccepted:
+            iLog -> Log( _L("EQueryAccepted"));
+            User::After(KAppLaunchDelay); //let the app start and let the tester person to see that
+            ret = FindAndKillProcess(KUsbAppProcPattern);
+            if (ret != KErrNone)
+                {
+                iLog -> Log( _L("Process start failed: %d"), ret );
+                return ret;
+                }
+            iLog -> Log( _L("Request status value: %d, expected: %d"), expectedErrorCode, KErrCancel );
+            //the notifier returns KErrCancel when clicked
+            STIF_ASSERT_EQUALS( KErrCancel, expectedErrorCode );
+            break;
+        case EQueryCanceled:
+            iLog -> Log( _L("FinishCableConnectedQuery canceled") );
+            iLog -> Log( _L("Request status value: %d, expected: %d"), expectedErrorCode, KErrCancel );
+            STIF_ASSERT_EQUALS( KErrCancel, expectedErrorCode );
+            break;
+        default:
+            iLog -> Log( _L("FinishCableConnectedQuery default - not found") );
+            return KErrNotFound;
+        }
+
+    iLog -> Log( _L("Test case passed!") );
+    return KErrNone;
     }
 
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::UsbQueriesNotifierTest
+// CBtNotifApiTest::UsbQueriesNotifierTests
 // -----------------------------------------------------------------------------
 
-void CUsbUiNotifApiTest::UsbQueriesNotifierTest( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::UsbQueriesNotifierTest( CStifItemParser& aItem )
     {
-    TRACE_INFO(  _L(">>>UsbQueriesNotifierTest") );
     TInt res;    
+    TPtrC usbQueryName( KNullDesC );
     TUSBUIQueries usbQueryType;
     
-    
-    res = GetQueryType( aTestSubOption, usbQueryType );
+    res = aItem.GetString( _L( "UsbQueriesNotifierTest" ), usbQueryName );   
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("GetQueryType failed with value: %d"), res) );
-        return;
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    res = GetQueryType( usbQueryName, usbQueryType );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("GetQueryType failed with value: %d"), res );
+        return res;
         }
     
     TUSBQueriesNotiferParams notifierParams;
@@ -496,13 +234,17 @@
     TUSBQueriesNotifierParamsPckg notifierParamsPckg( notifierParams );
     TPckgBuf<TBool> output;
     
-    res = iNotifier -> Connect();
+    if (!iNotifierConnected)
+        {
+        res = iNotifier -> Connect();
+        iNotifierConnected = ETrue;
+        }
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("Failed to connect RNotifier with value: %d"), res) );
-        return;
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
         }   
-    TRACE_INFO(  _L("RNotifier connected") );
+    iLog -> Log( _L("RNotifier connected") );
     
     switch( usbQueryType )
         {
@@ -517,200 +259,329 @@
             break; 
         }
     
-    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KQueriesNotifier, notifierParamsPckg, output ); 
-
-    aTestResult = ETestCasePassed;
+    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KQueriesNotifier, 
+            notifierParamsPckg, output ); 
+    iLog -> Log( _L("StartNotifierAndGetResponse ready") );
     
-    TRACE_INFO(  _L("<<<UsbQueriesNotifierTest") );
+    return KErrNone;
     }
-
+    
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::UsbOTGErrorNotifierTests
+// CBtNotifApiTest::UsbOTGErrorNotifierTests
 // -----------------------------------------------------------------------------
 
-void CUsbUiNotifApiTest::UsbOTGErrorNotifierTests( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::UsbOTGErrorNotifierTests( CStifItemParser& aItem )
     {
-    TRACE_INFO(  _L(">>>UsbOTGErrorNotifierTests") );
+    TInt res;    
+    TPtrC usbQueryName( KNullDesC );
+    TUsbUiNotifOtgError usbOTGErrorType;
     
-    TInt res;    
-    TUsbUiNotifOtgError usbOTGErrorType;
-        
-    res = GetOTGErrorType( aTestSubOption, usbOTGErrorType );
+    res = aItem.GetString( _L( "UsbOTGErrorNotifierTests" ), usbQueryName );   
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("usbOTGErrorType failed with value: %d"), res) );
-        return;
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    res = GetOTGErrorType( usbQueryName, usbOTGErrorType );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("usbOTGErrorType failed with value: %d"), res );
+        return res;
         }    
     
-    res = iNotifier -> Connect();
+    if (!iNotifierConnected)
+        {
+        res = iNotifier -> Connect();
+        iNotifierConnected = ETrue;
+        }
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("Failed to connect RNotifier with value: %d"), res) );
-        return;
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
         }   
-    TRACE_INFO(  _L("RNotifier connected") );
+    iLog -> Log( _L("RNotifier connected") );
     
     TPckgBuf<TInt> notifierParamsPckg;
     notifierParamsPckg() = usbOTGErrorType;
     iCompleteQuery = EFalse;
 
-    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KUsbUiNotifOtgError, notifierParamsPckg, iRes ); 
-
-    aTestResult = ETestCasePassed;
+    iNotifier -> StartNotifierAndGetResponse( iReqStatus, 
+            KUsbUiNotifOtgError, notifierParamsPckg, iRes ); 
     
-    TRACE_INFO(  _L("<<<UsbOTGErrorNotifierTests") );
+    return KErrNone;
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::UsbOTGWarningNotifierTests
+// CBtNotifApiTest::UsbOTGErrorNotifierTests
 // -----------------------------------------------------------------------------
 
-void CUsbUiNotifApiTest::UsbOTGWarningNotifierTests( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::UsbOTGWarningNotifierTests( CStifItemParser& aItem )
     {        
-    TRACE_INFO(  _L(">>>UsbOTGWarningNotifierTests") );
-    
     TInt res;    
+    TPtrC usbQueryName( KNullDesC );
     TUsbUiNotifOtgWarning usbOTGWarningType;
     
-    
-    res = GetOTGWarningType( aTestSubOption, usbOTGWarningType );
+    res = aItem.GetString( _L( "UsbOTGWarningNotifierTests" ), usbQueryName );   
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("usbOTGErrorType failed with value: %d"), res) );
-        return;
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    res = GetOTGWarningType( usbQueryName, usbOTGWarningType );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("usbOTGErrorType failed with value: %d"), res );
+        return res;
         }    
     
-    res = iNotifier -> Connect();
+    if (!iNotifierConnected)
+        {
+        res = iNotifier -> Connect();
+        iNotifierConnected = ETrue;
+        }
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("Failed to connect RNotifier with value: %d"), res) );
-        return;
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
         }   
-    TRACE_INFO(  _L("RNotifier connected") );
+    iLog -> Log( _L("RNotifier connected") );
     
     TPckgBuf<TInt> notifierParamsPckg;
     notifierParamsPckg() = usbOTGWarningType;
     iCompleteQuery = EFalse;
 
-    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KUsbUiNotifOtgWarning, notifierParamsPckg, iRes ); 
-
-    aTestResult = ETestCasePassed;
+    iNotifier -> StartNotifierAndGetResponse( iReqStatus, 
+            KUsbUiNotifOtgWarning, notifierParamsPckg, iRes ); 
     
-    TRACE_INFO(  _L("<<<UsbOTGWarningNotifierTests") ); 
+    return KErrNone;    
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::UsbMSMMNotifierTests
+// CBtNotifApiTest::UsbMSMMNotifierTests
 // -----------------------------------------------------------------------------
 
-void CUsbUiNotifApiTest::UsbMSMMNotifierTests( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::UsbMSMMNotifierTests( CStifItemParser& aItem )
     {        
-    TRACE_INFO(  _L(">>>UsbMSMMNotifierTests") );
-    
     TInt res;    
+    TPtrC usbQueryName( KNullDesC );
     THostMsErrCode usbMSMMNErrorType;
     
-    res = GetMSMMrrorType( aTestSubOption, usbMSMMNErrorType );
+    iLog -> Log( _L("------msmm------") );
+    
+    res = aItem.GetString( _L( "UsbMSMMNotifierTests" ), usbQueryName );   
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("MSMMrrorType failed with value: %d"), res) );
-        return;
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    res = GetMSMMrrorType( usbQueryName, usbMSMMNErrorType );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("MSMMrrorType failed with value: %d"), res );
+        return res;
         }    
     iErrData.iError=usbMSMMNErrorType;
     iErrPckg = iErrData;
-    res = iNotifier -> Connect();
+    if (!iNotifierConnected)
+        {
+        res = iNotifier -> Connect();
+        iNotifierConnected = ETrue;
+        }
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("Failed to connect RNotifier with value: %d"), res) );
-        return;
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
         }   
-    TRACE_INFO(  _L("RNotifier connected") );
+    iLog -> Log( _L("RNotifier connected") );
     
     TPckgBuf<TInt> notifierParamsPckg;
     notifierParamsPckg() = usbMSMMNErrorType;
     iCompleteQuery = EFalse;
 
     iNotifier -> StartNotifierAndGetResponse( iReqStatus, KUsbUiNotifMsmmError, iErrPckg, iRes ); 
+    
+    return KErrNone;    
+    }
 
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<UsbMSMMNotifierTests") ); 
+
+TInt CUSBUiNotifApiTest::CancelMsmmNotifier( CStifItemParser& /*aItem*/ ) 
+    {
+    return ( iNotifier->CancelNotifier(KUsbUiNotifMsmmError) );
+    }
+
+
+TInt CUSBUiNotifApiTest::CancelQueryNotifier( CStifItemParser& /*aItem*/ ) 
+    {
+    iLog -> Log( _L("CancelQueryNotifier") );
+    return ( iNotifier->CancelNotifier(KQueriesNotifier) );
     }
 
 
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::FinishQuery
-// -----------------------------------------------------------------------------
+TInt CUSBUiNotifApiTest::CancelOtgErrorNotifier( CStifItemParser& /*aItem*/ ) 
+    {
+    return ( iNotifier->CancelNotifier(KUsbUiNotifOtgError) );
+    }
+
+TInt CUSBUiNotifApiTest::CancelOtgWarningNotifier( CStifItemParser& /*aItem*/ ) 
+    {
+    return ( iNotifier->CancelNotifier(KUsbUiNotifOtgWarning) );
+    }
+
+TInt CUSBUiNotifApiTest::CancelCableConnectedNotifier( CStifItemParser& /*aItem*/ ) 
+    {
+    return ( iNotifier->CancelNotifier(KCableConnectedNotifierUid) );
+    }
+
+TInt CUSBUiNotifApiTest::WaitForRequest( CStifItemParser& /*aItem*/ ) 
+    {
+    User::WaitForRequest( iReqStatus );
+    return KErrNone;
+    }
 
-TInt CUsbUiNotifApiTest::FinishQuery( TPtrC aTestSubOption, TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::SynchStart(CStifItemParser& aItem )
+{
+    TInt res;    
+    TPtrC usbQueryName( KNullDesC );
+    TUsbUiNotifOtgWarning usbOTGWarningType;
+    
+    res = aItem.GetString( _L( "SynchStart" ), usbQueryName );   
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("GetString failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    res = GetOTGWarningType( usbQueryName, usbOTGWarningType );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("usbOTGErrorType failed with value: %d"), res );
+        return res;
+        }    
+ 
+ 
+    res = iNotifier -> Connect();
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
+        }   
+    iLog -> Log( _L("RNotifier connected") );
+ 
+    TPckgBuf<TInt> notifierParamsPckg;
+    notifierParamsPckg() = usbOTGWarningType;
+    iCompleteQuery = EFalse;
+
+    TInt retVal = iNotifier -> StartNotifier( KUsbUiNotifOtgWarning, notifierParamsPckg );
+    iLog -> Log( _L("StartNotifier returned with value: %d"), retVal );
+    
+    iNotifier->Close();
+    return retVal;    
+}
+
+TInt CUSBUiNotifApiTest::Update(CStifItemParser& /*aItem*/ )
+{
+    //delay in microseconds before updating the notifier
+    const TInt KUpdateDelay = 2000000;
+    TInt res;    
+    TPtrC usbQueryName( KNullDesC );
+    
+    res = iNotifier -> Connect();
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("Failed to connect RNotifier with value: %d"), res );
+        return res;
+        }   
+    iLog -> Log( _L("RNotifier connected") );
+ 
+    TPckgBuf<TInt> notifierParamsPckg;
+    notifierParamsPckg() = EUsbOtgUnsupportedDevice;
+    iCompleteQuery = EFalse;
+    TPckgBuf<TInt> response ;
+    iNotifier -> StartNotifierAndGetResponse( iReqStatus, KUsbUiNotifOtgError, 
+            notifierParamsPckg, iRes );
+		
+    User::After(KUpdateDelay); //simulate update after a delay
+    TPckgBuf<TInt> notifierParamsPckgUpdate;
+    notifierParamsPckgUpdate() = EUsbOtgErrorNoMemory;    
+  	TInt retVal = iNotifier -> UpdateNotifier( KUsbUiNotifOtgError, 
+  	        notifierParamsPckgUpdate, response);
+  	
+    iNotifier->Close();  	
+    return retVal;    
+}
+
+
+TInt CUSBUiNotifApiTest::FinishQuery( CStifItemParser& aItem )
     {
-    TRACE_INFO(  _L(">>>FinishQuery") ); 
-    
+    iLog -> Log( _L("FinishQuery") );
     TInt res;
+    TPtrC optionName( KNullDesC );
     TTestOption option;
     
     if ( iCompleteQuery )
         {
+        iLog -> Log( _L("FinishQuery completing request") );
         TRequestStatus* statPtr = &iReqStatus;
         User::RequestComplete( statPtr, KErrNone );
-        }    
+        }
     
-    res = GetTestOption( aTestSubOption, option );
+    iLog -> Log( _L("FinishQuery getting options") );
+    res = aItem.GetString( _L( "FinishQuery" ), optionName );   
     if ( res != KErrNone )
         {
-        TRACE_INFO(  (_L("GetTestOption failed with value: %d"), res) );
+        iLog -> Log( _L("GetString failed with value: %d"), res );
         iNotifier -> Close();
         return res;
         }
     
-    User::WaitForRequest( iReqStatus );   
+    res = GetTestOption( optionName, option );
+    if ( res != KErrNone )
+        {
+        iLog -> Log( _L("GetTestOption failed with value: %d"), res );
+        iNotifier -> Close();
+        return res;
+        }
+    
+    iLog -> Log( _L("FinishQuery waiting for request") );
+    User::WaitForRequest( iReqStatus );
+    iLog -> Log( _L("FinishQuery closing notifier") );
     iNotifier -> Close();
+    iNotifierConnected = EFalse;
     
     switch( option )
         {
         case EQueryAccepted:
-            TRACE_INFO(  (_L("Request status value: %d, expected: %d"), iReqStatus.Int(), KErrNone) );
+            iLog -> Log( _L("Request status value: %d, expected: %d"), iReqStatus.Int(), KErrNone );
             STIF_ASSERT_EQUALS( KErrNone, iReqStatus.Int() );
             break;
         case EQueryCanceled:
-            TRACE_INFO(  (_L("Request status value: %d, expected: %d"), iReqStatus.Int(), KErrCancel) );
+            iLog -> Log( _L("Request status value: %d, expected: %d"), iReqStatus.Int(), KErrCancel );
             STIF_ASSERT_EQUALS( KErrCancel, iReqStatus.Int() );
             break;
         default:
             return KErrNotFound;
         }
     
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<FinishQuery") ); 
-    
+    iLog -> Log( _L("Test case passed!") );
     return KErrNone;
     }
 
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::LoadNotifiersL
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::LoadNotifiersL( TUsbUiNotifApiTestResult& aTestResult )
+TInt CUSBUiNotifApiTest::LoadNotifiersL( CStifItemParser& /*aItem*/ )
     {
-    TRACE_INFO(  _L(">>>LoadNotifiersL") );
-    
     iNotifierArray = reinterpret_cast<CArrayPtr<MEikSrvNotifierBase2>*>(
 												REComSession::CreateImplementationL(TUid::Uid(0x10281F23), iInstanceUid));
-
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<LoadNotifiersL") ); 	
+	return KErrNone;	
     }
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::UnLoadNotifiers
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::UnLoadNotifiers ( TUsbUiNotifApiTestResult& aTestResult )
+    
+TInt CUSBUiNotifApiTest::UnLoadNotifiers ( CStifItemParser& /*aItem*/ )
     {
-    TRACE_INFO(  _L(">>>UnLoadNotifiers") );
-    
     TInt count = iNotifierArray->Count();
     TInt i=0;
     for (i=0; i<count; i++)
@@ -719,216 +590,154 @@
         }
     iNotifierArray->Reset();    
     delete iNotifierArray;
+    iNotifierArray = NULL;
     REComSession::DestroyedImplementation(iInstanceUid);    
-
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<UnLoadNotifiers") ); 
-    }
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::Update
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::Update( TUsbUiNotifApiTestResult& aTestResult  )
-    {
-    TRACE_INFO(  _L(">>>Update") );
-    TInt count = iNotifierArray->Count();
-    TInt i=0;    
-    _LIT8(test, "test");
-    TBuf8<32> buf(test);
-    for (i=0; i<count; i++)
-        {
-        iNotifierArray->At(i)->UpdateL(buf);        
-        }    
-    
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<Update") );
+    return KErrNone;
     }
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::Notifierstart
-// -----------------------------------------------------------------------------
-
-void CUsbUiNotifApiTest::Notifierstart( TUsbUiNotifApiTestResult& aTestResult )
+                       
+TInt CUSBUiNotifApiTest::GetQueryType( TPtrC aTypeString, TUSBUIQueries& aQueryType )
     {
-    TRACE_INFO(  _L(">>>Notifierstart") );
-    TInt count = iNotifierArray->Count();
-    TInt i=0;    
-    _LIT8(test, "test");
-    TBuf8<32> buf(test);
-    for (i=0; i<count; i++)
-        {
-        iNotifierArray->At(i)->StartL(buf);        
-        }
-    
-    aTestResult = ETestCasePassed;
-    
-    TRACE_INFO(  _L("<<<Notifierstart") );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetQueryType
-// -----------------------------------------------------------------------------
-
-TInt CUsbUiNotifApiTest::GetQueryType( TPtrC aTypeString, TUSBUIQueries& aQueryType )
-    {
-    TRACE_INFO(  _L(">>>GetQueryType") );
     if ( !aTypeString.Compare( _L( "EUSBNoMemoryCard" ) ) )
         {
         aQueryType = EUSBNoMemoryCard;
-        TRACE_INFO(  _L("Query type: EUSBNoMemoryCard") );
+        iLog -> Log( _L("Query type: EUSBNoMemoryCard") );
         }
     else if ( !aTypeString.Compare( _L( "EUSBStorageMediaFailure" ) ) )
         {
         aQueryType = EUSBStorageMediaFailure;
-        TRACE_INFO(  _L("Query type: EUSBStorageMediaFailure") );
+        iLog -> Log( _L("Query type: EUSBStorageMediaFailure") );
         }
-    else if ( !aTypeString.Compare( _L( "EUSBChangeFromMassStorage" ) ) )
+    else if ( !aTypeString.Compare( _L( "EUSBDiskFull" ) ) )
         {
-        aQueryType = EUSBChangeFromMassStorage;
-        TRACE_INFO(  _L("Query type: EUSBChangeFromMassStorage") );
+        aQueryType = EUSBDiskFull;
+        iLog -> Log( _L("Query type: EUSBDiskFull") );
+        }    
+    else if ( !aTypeString.Compare( _L( "EUSBNotEnoughRam" ) ) )
+        {
+        aQueryType = EUSBNotEnoughRam;
+        iLog -> Log( _L("Query type: EUSBNotEnoughRam") );
         }    
     else
         {
-        TRACE_INFO(  _L("Query type: not supported") );
+        iLog -> Log( _L("Query type: not supported") );
         return KErrNotFound;
         }
-    TRACE_INFO(  _L("<<<GetQueryType") );
+ 
     return KErrNone;
     }
 
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetOTGErrorType
-// -----------------------------------------------------------------------------
-
-TInt CUsbUiNotifApiTest::GetOTGErrorType( TPtrC aTypeString, TUsbUiNotifOtgError& aQueryType )
+TInt CUSBUiNotifApiTest::GetOTGErrorType( TPtrC aTypeString, TUsbUiNotifOtgError& aQueryType )
     {
-    TRACE_INFO(  _L(">>>GetOTGErrorType") );
-    
     if ( !aTypeString.Compare( _L( "EUsbOtgTooMuchPower" ) ) )
         {
         aQueryType = EUsbOtgTooMuchPower;
-        TRACE_INFO(  _L("Query type: EUsbOtgTooMuchPower") );
+        iLog -> Log( _L("Query type: EUsbOtgTooMuchPower") );
         }    
     else if ( !aTypeString.Compare( _L( "EUsbOtgTooMuchPowerRequired" ) ) )
         {
         aQueryType = EUsbOtgTooMuchPowerRequired;
-        TRACE_INFO(  _L("Query type: EUsbOtgTooMuchPowerRequired") );
+        iLog -> Log( _L("Query type: EUsbOtgTooMuchPowerRequired") );
         }    
     else if ( !aTypeString.Compare( _L( "EUsbOtgUnsupportedDevice" ) ) )
         {
         aQueryType = EUsbOtgUnsupportedDevice;
-        TRACE_INFO(  _L("Query type: EUsbOtgUnsupportedDevice") );
+        iLog -> Log( _L("Query type: EUsbOtgUnsupportedDevice") );
         }        
     else if ( !aTypeString.Compare( _L( "EUsbOtgHubUnsupported" ) ) )
         {
         aQueryType = EUsbOtgHubUnsupported;
-        TRACE_INFO(  _L("Query type: EUsbOtgHubUnsupported") );
+        iLog -> Log( _L("Query type: EUsbOtgHubUnsupported") );
         }            
     else if ( !aTypeString.Compare( _L( "EUsbOtgErrorInConnection" ) ) )
         {
         aQueryType = EUsbOtgErrorInConnection;
-        TRACE_INFO(  _L("Query type: EUsbOtgErrorInConnection") );
+        iLog -> Log( _L("Query type: EUsbOtgErrorInConnection") );
         }                
     else if ( !aTypeString.Compare( _L( "EUsbOtgErrorAttachTimedOut" ) ) )
         {
         aQueryType = EUsbOtgErrorAttachTimedOut;
-        TRACE_INFO(  _L("Query type: EUsbOtgErrorAttachTimedOut") );
+        iLog -> Log( _L("Query type: EUsbOtgErrorAttachTimedOut") );
+        }                    
+    else if ( !aTypeString.Compare( _L( "EUsbOtgErrorNoMemory" ) ) )
+        {
+        aQueryType = EUsbOtgErrorNoMemory;
+        iLog -> Log( _L("Query type: EUsbOtgErrorNoMemory") );
         }                    
     else
         {
-        TRACE_INFO(  _L("Query type: not supported") );
+        iLog -> Log( _L("Query type: not supported") );
         return KErrNotFound;
         } 
-    
-    TRACE_INFO(  _L("<<<GetOTGErrorType") );
     return KErrNone;    
     }
 
 
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetOTGWarningType
-// -----------------------------------------------------------------------------
-
-TInt CUsbUiNotifApiTest::GetOTGWarningType( TPtrC aTypeString, TUsbUiNotifOtgWarning& aQueryType )
+TInt CUSBUiNotifApiTest::GetOTGWarningType( TPtrC aTypeString, TUsbUiNotifOtgWarning& aQueryType )
     {        
-    TRACE_INFO(  _L(">>>GetOTGWarningType") );
-    
     if ( !aTypeString.Compare( _L( "EUsbOtgPartiallySupportedDevice" ) ) )
         {            
         aQueryType = EUsbOtgPartiallySupportedDevice;
-        TRACE_INFO(  _L("Query type: EUsbOtgPartiallySupportedDevice;") );
+        iLog -> Log( _L("Query type: EUsbOtgPartiallySupportedDevice;") );
         }    
     else
         {
-        TRACE_INFO(  _L("Query type: not supported") );
+        iLog -> Log( _L("Query type: not supported") );
         return KErrNotFound;
         }
-
-    TRACE_INFO(  _L("<<<GetOTGWarningType") );
-    
+ 
     return KErrNone;
     }
 
-// -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetMSMMrrorType
-// -----------------------------------------------------------------------------
-
-TInt CUsbUiNotifApiTest::GetMSMMrrorType( TPtrC aTypeString, THostMsErrCode& aQueryType )
+TInt CUSBUiNotifApiTest::GetMSMMrrorType( TPtrC aTypeString, THostMsErrCode& aQueryType )
     {        
-    TRACE_INFO(  _L(">>>GetMSMMrrorType") );
     if ( !aTypeString.Compare( _L( "EUsbMSMMGeneralError" ) ) )
         {            
         aQueryType = EHostMsErrGeneral;
-        TRACE_INFO(  _L("Query type: EUsbOtgPartiallySupportedDevice;") );
+        iLog -> Log( _L("Query type: EUsbOtgPartiallySupportedDevice;") );
         }    
     else if ( !aTypeString.Compare( _L( "EUsbMSMMUnknownFileSystem" ) ) )
         {
         aQueryType = EHostMsErrUnknownFileSystem;
-        TRACE_INFO(  _L("Query type: EUsbMSMMUnknownFileSystem") );
+        iLog -> Log( _L("Query type: EUsbMSMMUnknownFileSystem") );
         }         
     else if ( !aTypeString.Compare( _L( "EUsbMSMMOutOfMemory" ) ) )
         {
         aQueryType = EHostMsErrOutOfMemory;
-        TRACE_INFO(  _L("Query type: EUsbMSMMOutOfMemory") );
+        iLog -> Log( _L("Query type: EUsbMSMMOutOfMemory") );
         }     
     else
         {
-        TRACE_INFO(  _L("Query type: not supported") );
+        iLog -> Log( _L("Query type: not supported") );
         return KErrNotFound;
         }
-
-    TRACE_INFO(  _L("<<<GetMSMMrrorType") );
+ 
     return KErrNone;
     }
-
+    
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetTestOption
+// CBtNotifApiTest::GetTestOption
 // -----------------------------------------------------------------------------
 
-TInt CUsbUiNotifApiTest::GetTestOption( TPtrC aOptionString, TTestOption& aOption )
+TInt CUSBUiNotifApiTest::GetTestOption( TPtrC aOptionString, TTestOption& aOption )
     {    
     if ( !aOptionString.Compare( _L( "DISCARD" ) ) )
         {
         aOption = EQueryDiscarded;
-        TRACE_INFO(  _L("Test type: EQueryDiscarded") );
+        iLog -> Log( _L("Test type: EQueryDiscarded") );
         }
     else if ( !aOptionString.Compare( _L( "ACCEPT" ) ) )
         {
         aOption = EQueryAccepted;
-        TRACE_INFO(  _L("Test type: EQueryAccepted") );
+        iLog -> Log( _L("Test type: EQueryAccepted") );
         }
     else if ( !aOptionString.Compare( _L( "CANCEL" ) ) )
         {
         aOption = EQueryCanceled;
-        TRACE_INFO(  _L("Test type: EQueryCanceled") );
+        iLog -> Log( _L("Test type: EQueryCanceled") );
         }
     else
         {
-        TRACE_INFO(  _L("Test type: not supported") );
+        iLog -> Log( _L("Test type: not supported") );
         return KErrNotFound;
         }
  
@@ -936,40 +745,64 @@
     }
 
 // -----------------------------------------------------------------------------
-// CUsbUiNotifApiTest::GetPersonalityIdFromString
+// CBtNotifApiTest::GetPersonalityIdFromString
 // -----------------------------------------------------------------------------
 
-TInt CUsbUiNotifApiTest::GetPersonalityIdFromString( TPtrC aOptionString, TInt& aPersonalityId )
+TInt CUSBUiNotifApiTest::GetPersonalityIdFromString( TPtrC aOptionString, TInt& aPersonalityId )
     {    
     if ( !aOptionString.Compare( _L( "MS" ) ) )
         {
         aPersonalityId = KUsbPersonalityIdMS;
-        TRACE_INFO(  _L("Usb personality type: KUsbPersonalityIdMS") );
+        iLog -> Log( _L("Usb personality type: KUsbPersonalityIdMS") );
         }
-    else if ( !aOptionString.Compare( _L( "PCSUITE" ) ) )
+    else if ( !aOptionString.Compare( _L( "PTP" ) ) )
         {
-        aPersonalityId = KUsbPersonalityIdPCSuite;
-        TRACE_INFO(  _L("Usb personality type: KUsbPersonalityIdPCSuite") );
+        aPersonalityId = KUsbPersonalityIdPTP;
+        iLog -> Log( _L("Usb personality type: KUsbPersonalityIdPTP") );
         }
     else if ( !aOptionString.Compare( _L( "MTP" ) ) )
         {
         aPersonalityId = KUsbPersonalityIdMTP;
-        TRACE_INFO(  _L("Usb personality type: KUsbPersonalityIdMTP") );
+        iLog -> Log( _L("Usb personality type: KUsbPersonalityIdMTP") );
         }
     else if ( !aOptionString.Compare( _L( "PCSUITEMTP" ) ) )
         {
         aPersonalityId = KUsbPersonalityIdPCSuiteMTP;
-        TRACE_INFO(  _L("Usb personality type: KUsbPersonalityIdPCSuiteMTP") );
+        iLog -> Log( _L("Usb personality type: KUsbPersonalityIdPCSuiteMTP") );
         }
     else
         {
-        TRACE_INFO(  _L("Usb personality type: not found") );
+        iLog -> Log( _L("Usb personality type: not found") );
         return KErrNotFound;  
         }
  
     return KErrNone;
     }
 
+
+TInt CUSBUiNotifApiTest::FindAndKillProcess(const TDesC& aProcessName)
+    {
+    iLog -> Log( _L("FindAndKillProcess") );
+    TInt ret = KErrNotFound;
+    RProcess process;            
+    TFindProcess findProc;
+    findProc.Find(aProcessName);
+    TFullName procName;
+    ret = findProc.Next(procName);
+    iLog -> Log( _L("FindAndKillProcess findProc returned: %d"), ret );
+    if (ret == KErrNone)
+        {
+        ret = process.Open(procName, EOwnerThread);
+        iLog -> Log( _L("FindAndKillProcess process open returned: %d"), ret );
+        if (ret == KErrNone)
+            {
+            process.Terminate(KErrNone);
+            process.Close();
+            }
+        }
+    return ret;
+    }
+
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 // None