Revision: 201001
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 26 Jan 2010 12:55:41 +0200
changeset 3 47c263f7e521
parent 2 468cfcb53fd1
child 6 b3ec2b24c806
child 8 7e15987c4500
child 43 4712310216c0
Revision: 201001 Kit: 201004
tsrc/group/bld.inf
usbclasses/usbmscpersonality/src/CUsbActiveMscHandlerMdrv.cpp
usbclasses/usbphoneasmodem/classcontroller/inc/usbmscfileclasscontroller.h
usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp
usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/atcmdpam_debug.h
usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/pamengine.h
usbclasses/usbphoneasmodem/classimplementation/atplugin/src/main.cpp
usbengines/usbotgwatcher/inc/cusbservicecontrol.h
usbengines/usbotgwatcher/inc/cusbstatehosthandle.h
usbengines/usbotgwatcher/inc/cusbtimer.h
usbengines/usbotgwatcher/inc/definitions.h
usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp
usbengines/usbotgwatcher/src/cusbotgstateobserver.cpp
usbengines/usbotgwatcher/src/cusbotgwatcher.cpp
usbengines/usbotgwatcher/src/cusbservicecontrol.cpp
usbengines/usbotgwatcher/src/cusbstatehostabase.cpp
usbengines/usbotgwatcher/src/cusbstatehosthandle.cpp
usbengines/usbwatcher/src/cusbwatcher.cpp
usbengines/usbwatcher/src/usbwatcher.cpp
usbuis/imageprintui/inc/imageprintuiappui.h
usbuis/imageprintui/inc/imageprintuidocument.h
usbuis/imageprintui/src/emptycontainer.cpp
usbuis/imageprintui/src/emptyview.cpp
usbuis/imageprintui/src/imageprintuiappui.cpp
usbuis/imageprintui/src/notes.cpp
usbuis/imageprintui/src/requestmanager.cpp
usbuis/imageprintui/src/settingscontainer.cpp
usbuis/imageprintui/src/settingsitems.cpp
usbuis/imageprintui/src/settingsview.cpp
usbuis/imageprintuiprovider/src/caiwimageprintIf.cpp
usbuis/imageprintuiprovider/src/caiwprintingprovider.cpp
usbuis/imageprintuiprovider/src/dllmain.cpp
usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginInterface.h
usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginView.h
usbuis/usbui/USBClassChangeUIPlugin/src/USBClassChangeUIPluginView.cpp
usbuis/usbui/src/USBClassChangeUIAppui.cpp
usbuis/usbuinotif/BWINS/usbavkonnotifu.def
usbuis/usbuinotif/eabi/usbavkonnotifu.def
usbuis/usbuinotif/inc/usbnotifier.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/src/usbavkonmain.cpp
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
--- a/tsrc/group/bld.inf	Mon Jan 18 21:13:23 2010 +0200
+++ b/tsrc/group/bld.inf	Tue Jan 26 12:55:41 2010 +0200
@@ -26,6 +26,7 @@
 //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/usbclasses/usbmscpersonality/src/CUsbActiveMscHandlerMdrv.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbmscpersonality/src/CUsbActiveMscHandlerMdrv.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -21,7 +21,7 @@
 #include <e32property.h>
 #include <tusbpersonalityparams.h>
 #include <startupdomainpskeys.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
 #include "CUsbActiveMscHandlerMdrv.h"
 #include "CUsbMscPersonalityTimer.h"
 #include "debug.h"
--- a/usbclasses/usbphoneasmodem/classcontroller/inc/usbmscfileclasscontroller.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbphoneasmodem/classcontroller/inc/usbmscfileclasscontroller.h	Tue Jan 26 12:55:41 2010 +0200
@@ -18,7 +18,7 @@
 #define USBMSCLASSCONTROLLER_H
 
 #include <e32std.h>
-#include <CUsbClassControllerPlugIn.h>
+#include <cusbclasscontrollerplugin.h>
 #include "usbmscfile.h"
 
 class MUsbClassControllerNotify;
--- a/usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -16,8 +16,8 @@
 
 #include <barsc.h> 
 #include <barsread.h>
-#include <Usb_std.h>
-#include <CUsbClassControllerPlugIn.h>
+#include <usb_std.h>
+#include <cusbclasscontrollerplugin.h>
 #include <usbms.rsg>
 #include <usbmscfileresource.rsg>
 #include <data_caging_path_literals.hrh> 
--- a/usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/atcmdpam_debug.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/atcmdpam_debug.h	Tue Jan 26 12:55:41 2010 +0200
@@ -19,9 +19,9 @@
 #define ATCMDPAM_DEBUG_H
 
 // INCLUDES
-#include <E32Std.h>
-#include <E32Base.h>
-#include <E32Svr.h>
+#include <e32std.h>
+#include <e32base.h>
+#include <e32svr.h>
 
 // FORWARD DECLARATIONS
 class CATCommand;
--- a/usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/pamengine.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbphoneasmodem/classimplementation/atplugin/inc/pamengine.h	Tue Jan 26 12:55:41 2010 +0200
@@ -25,9 +25,9 @@
 #include <cntdbobs.h>
 #include <badesca.h>
 #include <etel3rdparty.h>
-#include <RMmCustomAPI.h>
+#include <rmmcustomapi.h>
 #include <etelmm.h>
-#include <MmTsy_names.h>
+#include <mmtsy_names.h>
 #include <cmmanager.h>
 #include <cmdestination.h>
 #include <cmconnectionmethod.h>
--- a/usbclasses/usbphoneasmodem/classimplementation/atplugin/src/main.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbclasses/usbphoneasmodem/classimplementation/atplugin/src/main.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -15,7 +15,7 @@
 // 
 //
 #include <e32base.h>
-#include <ecom/implementationProxy.h>
+#include <ecom/implementationproxy.h>
 #include "pamplugin.h"
 
 const TImplementationProxy ImplementationTable[] =
--- a/usbengines/usbotgwatcher/inc/cusbservicecontrol.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/inc/cusbservicecontrol.h	Tue Jan 26 12:55:41 2010 +0200
@@ -65,20 +65,20 @@
 
     /**
      * Starts usb service. When service is started call back function 
-     * MUsbServiceControlObserver::UsbServiceStarted will be called.
+     * MUsbServiceControlObserver::UsbServiceControlReqCompletedL will be called.
      * Client should not worry is usb service already started, or not,
      * and which one personality is started. Just request this API 
      * @param aPersonalityId personality id (required by RUsb API to start usb services) 
      * @return error code
      */
-    TInt Start(TInt aPersonalityId);
+    TInt StartL(TInt aPersonalityId);
 
     /**
      * Stops service. When service is stopped call back function 
-     * MUsbServiceControlObserver::UsbServiceStopped will be called
+     * MUsbServiceControlObserver::UsbServiceControlReqCompletedL will be called
      * @return error code
      */
-    TInt Stop();
+    TInt StopL();
 
 public:
 
--- a/usbengines/usbotgwatcher/inc/cusbstatehosthandle.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/inc/cusbstatehosthandle.h	Tue Jan 26 12:55:41 2010 +0200
@@ -224,6 +224,12 @@
      * own
      */
     CUsbTimer* iTooMuchPowerTimer;
+    
+    /** 
+     * drivers not found
+     * own
+     */
+    CUsbTimer* iDriversNotFoundTimer;
     };
 
 #endif //  C_USBSTATEHOSTHANDLE_H
--- a/usbengines/usbotgwatcher/inc/cusbtimer.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/inc/cusbtimer.h	Tue Jan 26 12:55:41 2010 +0200
@@ -30,7 +30,8 @@
     EDeviceAttachmentTimer,
     EInactiveTimer,
     EIconBlinkingTimer,
-    ETooMuchPowerRequiredTimer
+    ETooMuchPowerRequiredTimer,
+    EDriversNotFoundTimer
     };
 
 /**
--- a/usbengines/usbotgwatcher/inc/definitions.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/inc/definitions.h	Tue Jan 26 12:55:41 2010 +0200
@@ -26,6 +26,7 @@
 const TInt KMaxTimeAllowedForBusInactivity = 10000000; // 10 sec
 const TInt KUsbIndicatorBlinkingInterval = 600000; // 0.6 sec
 const TInt KTimeTooMuchPowerRequired = 10000000; // 10 sec
+const TInt KTimeDriversNotFound = 25000000; // 25 sec
 
 const TUint KFirst = 1;
 
--- a/usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbindicatornotifier.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -56,10 +56,18 @@
     delete iIconBlinkingTimer;
     
     // Unsubscribe from VBus change notifications
-    iOtgWatcher->VBusObserver()->UnsubscribeL(this);
-    
-    // Unsubscribe from otg watcher states change notifications
-    iOtgWatcher->UnsubscribeL(this);
+    if(iOtgWatcher)
+        {
+        if(iOtgWatcher->VBusObserver())
+            {
+            TRAPD(err, iOtgWatcher->VBusObserver()->UnsubscribeL(this));
+            err=err; // to avoid warning;
+            }
+        
+        // Unsubscribe from otg watcher states change notifications
+        TRAPD(err, iOtgWatcher->UnsubscribeL(this));
+        err=err; // to avoid warning; 
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -235,6 +243,14 @@
 void CUsbIndicatorNotifier::SetIndicatorL()
     {
     FLOG( _L( "[USBOTGWATCHER]\tCUsbIndicatorNotifier::SetIndicatorL" ) );
+    
+    if (!(iOtgWatcher->IsDeviceA()))
+        {
+        // if B, than other party (usbwatcher) takes care of usb indicator
+        // in combined usbwatcher (if role swap allowed) one class has to manage usb indicator 
+        return;
+        }
+    
     // if VBus Up and we are host -> show indicator
     if ((iOtgWatcher->VBusObserver()->VBus() == CUsbVBusObserver::EVBusUp) &&
             (iOtgWatcher->CurrentHostState()->Id() == EUsbStateHostAHost))
--- a/usbengines/usbotgwatcher/src/cusbotgstateobserver.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbotgstateobserver.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -75,7 +75,7 @@
 
     iOtgState.Close();
 
-    iObservers.ResetAndDestroy();
+    iObservers.Close();
 
     }
 
--- a/usbengines/usbotgwatcher/src/cusbotgwatcher.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbotgwatcher.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -263,7 +263,7 @@
         return;
         }
 
-    TInt err = iUsbServiceControl->Start(iPersonalityId);
+    TInt err = iUsbServiceControl->StartL(iPersonalityId);
     if (KErrNone != err)
         {
             FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbOtgWatcher::StartSessionL Can not start usb services. reason = %d" ), err));
@@ -325,7 +325,7 @@
 
         FLOG( _L( "[USBOTGWATCHER]\tCUsbOtgWatcher::IdPinOffL Before TryStop" ) );
 
-    TInt err = iUsbServiceControl->Stop();
+    TInt err = iUsbServiceControl->StopL();
 
     if (KErrNone != err)
         {
@@ -866,14 +866,27 @@
 //
 void CUsbOtgWatcher::UsbServiceControlReqCompletedL(TInt aError)
     {
-        FLOG( _L( "[USBOTGWATCHER]\tCUsbOtgWatcher::UsbServiceControlReqCompleted" ) );
-
-    if (KErrNone != aError)
+    FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbOtgWatcher::UsbServiceControlReqCompleted Error returned by UsbServiceControl = %d" ), aError));    
+    
+    switch(aError)
+    {
+    case KErrInUse: 
+    // usb services already started (this might happen if more than one idpin on event come)
         {
-            FTRACE( FPrint(_L( "[USBOTGWATCHER]\tCUsbOtgWatcher::UsbServiceControlReqCompleted Error returned by UsbServiceControl = %d" ), aError));
+        return;
+        }
+        
+    case KErrNone:
+        {
+        break; // do normal routine
+        }
+        
+    default: // handle the issue
+        {
         HandleHostProblemL(EUsbWatcherCanNotStartUsbServices);
         return;
         }
+    }
 
     TUsbServiceState serviceState;
     TInt err = iUsb.GetServiceState(serviceState);
@@ -987,9 +1000,7 @@
 
         FLOG( _L( "[USBOTGWATCHER]\tCUsbOtgWatcher::SelfTestL Observers destructors." ) );
 
-    delete iIdPinObserver;
-    iIdPinObserver = 0;
-    
+    // idpinobserver is deleted later        
     // Vbus observer is deleted later
     
     delete iOtgStateObserver;
@@ -1044,6 +1055,10 @@
     // VBus observer is deleted here, due to it is used by usbnotifmanager.usbindicatornotifier
     delete iVBusObserver;
     iVBusObserver = 0;
+    
+    // id pin observer is deleted here due to it is used by usbnotifmanager.usbindicatornotifier
+    delete iIdPinObserver;
+    iIdPinObserver = 0;
         
         FLOG( _L( "[USBOTGWATCHER]\tCUsbOtgWatcher::SelfTestL Destructing states." ) );
         
--- a/usbengines/usbotgwatcher/src/cusbservicecontrol.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbservicecontrol.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -74,7 +74,7 @@
 // 
 // ---------------------------------------------------------------------------
 //
-TInt CUsbServiceControl::Start(TInt aPersonalityId)
+TInt CUsbServiceControl::StartL(TInt aPersonalityId)
     {
         FTRACE(FPrint(_L( "[USBOTGWATCHER]\tCUsbServiceControl::Start aPersonalityId = %d" ), aPersonalityId));
 
@@ -117,15 +117,15 @@
 
             if (aPersonalityId == currentPersonality) // already started
                 {
-                    FLOG( _L( "[USBOTGWATCHER]\tCUsbServiceControl::Start Personality already sterted" ) );
-                iObserver->UsbServiceControlReqCompletedL(KErrNone);
+                    FLOG( _L( "[USBOTGWATCHER]\tCUsbServiceControl::Start Personality already started" ) );
+                iObserver->UsbServiceControlReqCompletedL(KErrInUse);
                 return KErrNone;
                 }
 
             // we need to stop current personality and start service with new personailty id
             iPersonalityId = aPersonalityId; // this will indicate that we want to start this personality after
 
-            Stop();
+            StopL();
 
             // start new personality in RunL() when state is Idle
 
@@ -176,7 +176,7 @@
 // 
 // ---------------------------------------------------------------------------
 //
-TInt CUsbServiceControl::Stop()
+TInt CUsbServiceControl::StopL()
     {
         FLOG( _L( "[USBOTGWATCHER]\tCUsbServiceControl::Stop" ) );
 
@@ -286,7 +286,7 @@
                     FTRACE(FPrint(_L( "[USBOTGWATCHER]\tCUsbServiceControl::RunL Requested to start personality %d. Starting it." ), iPersonalityId));
                 TInt personalityId = iPersonalityId;
                 iPersonalityId = 0; // reset
-                err = Start(personalityId);
+                err = StartL(personalityId);
                 if(KErrNone != err)
                     {
                     iObserver->UsbServiceControlReqCompletedL(err);
@@ -324,7 +324,7 @@
             if (iPersonalityId == 0) // during service start requested to stop it
                 {
                 FLOG( _L( "[USBOTGWATCHER]\tCUsbServiceControl::Start Requested to stop personality. Stopping." ) );
-                err = Stop();
+                err = StopL();
                 if(KErrNone != err)
                     {
                     FTRACE(FPrint(_L( "[USBOTGWATCHER]\tCUsbServiceControl::RunL error while stopping personality err = %d" ), err));
@@ -338,7 +338,7 @@
             TInt personalityId = iPersonalityId;
             iPersonalityId = 0; // reset
             //User::LeaveIfError(Start(personalityId));
-            err = Start(personalityId);
+            err = StartL(personalityId);
             if(KErrNone != err)
                 {
                 FTRACE(FPrint(_L( "[USBOTGWATCHER]\tCUsbServiceControl::RunL error while starting personality err = %d" ), err));
--- a/usbengines/usbotgwatcher/src/cusbstatehostabase.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbstatehostabase.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -169,7 +169,7 @@
             }
 
             // OTGDI
-        case KErrUsbOtgPeriphNotSupported: //        = -6688
+        //case KErrUsbOtgPeriphNotSupported: //        = -6688
 
             // USBDI
         case KErrUsbRequestsPending:
--- a/usbengines/usbotgwatcher/src/cusbstatehosthandle.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbotgwatcher/src/cusbstatehosthandle.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -62,6 +62,7 @@
         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::ConstructL" ) );
 
     iTooMuchPowerTimer = CUsbTimer::NewL(this, ETooMuchPowerRequiredTimer);
+    iDriversNotFoundTimer = CUsbTimer::NewL(this, EDriversNotFoundTimer);
 
     }
 
@@ -74,6 +75,7 @@
         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::~CUsbStateHostHandle" ) );
 
     delete iTooMuchPowerTimer;
+    delete iDriversNotFoundTimer;
     }
 
 // ---------------------------------------------------------------------------
@@ -106,6 +108,8 @@
 void CUsbStateHostHandle::JustBeforeLeavingThisStateL()
     {
     iTooMuchPowerTimer->Cancel();
+    iDriversNotFoundTimer->Cancel();
+    
     iWatcher->NotifManager()->CloseAllNotifiers();
     }
 // ---------------------------------------------------------------------------
@@ -224,13 +228,11 @@
         {
         case EUsbWatcherErrDriversNotFound:
             {
-                FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::DoHandleL DriversNotFound" ) );
-            // Ignore any errors when calling BusDrop(). Those indicate that VBus already dropped 
-            iWatcher->Usb().BusDrop();
-            iWatcher->NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
-                    EUsbOtgUnsupportedDevice, this);
-
+            FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::DoHandleL DriversNotFound" ) );
+                
+            iDriversNotFoundTimer->After(KTimeDriversNotFound);
             break;
+                
             }
         case EUsbWatcherHubsNotSupported:
             {
@@ -443,15 +445,13 @@
     {
         FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::DeviceAttachedL" ) );
 
-    if (iTooMuchPowerTimer->IsActive())
+    if (iTooMuchPowerTimer->IsActive() || iDriversNotFoundTimer->IsActive())
         {
         ChangeHostStateL(EUsbStateHostAInitiate);
         iWatcher->DeviceAttachedL(aDevEventInfo);
+        return;
         }
-    else
-        {
-            FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::DeviceAttachedL Unexpected situation" ) );
-        }
+     FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::DeviceAttachedL Unexpected situation" ) );
     }
 
 // ---------------------------------------------------------------------------
@@ -586,6 +586,16 @@
                     EUsbOtgTooMuchPowerRequired, this);
             break;
             }
+        case EDriversNotFoundTimer:
+            {
+            FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::TimerElapsedL - EDriversNotFoundTimer" ) );
+            // Ignore any errors when calling BusDrop(). Those indicate that VBus already dropped 
+            iWatcher->Usb().BusDrop();
+            iWatcher->NotifManager()->ShowNotifierL(KUsbUiNotifOtgError,
+                    EUsbOtgUnsupportedDevice, this);
+
+            break;
+            }
         default:
             {
                 FLOG( _L( "[USBOTGWATCHER]\tCUsbStateHostHandle::TimerElapsedL - Unknown timer" ) );
--- a/usbengines/usbwatcher/src/cusbwatcher.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbwatcher/src/cusbwatcher.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -755,6 +755,8 @@
                 RProperty::Set( KPSUidUsbWatcher,
                         KUsbWatcherSelectedPersonality, iPersonalityId );
                 iStarted = ETrue;
+                // Restore personality to normal in charging mode
+                iSetPreviousPersonalityOnDisconnect = ETrue;
                 iPersonalityHandler->StartPersonality( iPersonalityId,
                     KUsbWatcherChangeOnConnectionOff, iStatus );
                 }
--- a/usbengines/usbwatcher/src/usbwatcher.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbengines/usbwatcher/src/usbwatcher.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -50,6 +50,14 @@
     CTrapCleanup* cleanup = CTrapCleanup::New();
 
     TRAP( ret, StartUsbWatcherL() );
+    if ( KErrAlreadyExists == ret )
+        {
+        LOG( "UsbWatcher is already running." );
+        }
+    else if ( KErrNone != ret )
+        {
+        LOG1( "ERROR: StartUsbWatcherL = %d", ret );
+        }
 
     delete cleanup; // destroy clean-up stack
     __UHEAP_MARKEND;
--- a/usbuis/imageprintui/inc/imageprintuiappui.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/inc/imageprintuiappui.h	Tue Jan 26 12:55:41 2010 +0200
@@ -19,7 +19,7 @@
 #ifndef C_CIMAGEPRINTUIAPPUI_H
 #define C_CIMAGEPRINTUIAPPUI_H
 
-#include <aknviewappui.h>
+#include <aknViewAppUi.h>
 #include <AknProgressDialog.h>
 #include <AknWaitDialog.h>
 #include <badesca.h>
--- a/usbuis/imageprintui/inc/imageprintuidocument.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/inc/imageprintuidocument.h	Tue Jan 26 12:55:41 2010 +0200
@@ -20,7 +20,7 @@
 #ifndef IMAGEPRINTUIDOCUMENT_H
 #define IMAGEPRINTUIDOCUMENT_H
 
-#include <akndoc.h>
+#include <AknDoc.h>
 #include <pictbridge.h>
 #include <e32cmn.h>
 #include <AiwGenericParam.h>
--- a/usbuis/imageprintui/src/emptycontainer.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/emptycontainer.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,10 +18,10 @@
 
 
 //INCLUDES
-#include <aknsdrawutils.h> 
+#include <AknsDrawUtils.h> 
 #include <AknsBasicBackgroundControlContext.h>
 #include <AknsConstants.h>
-#include <aknutils.h>
+#include <AknUtils.h>
 #include <eikenv.h>
 
 #include "emptycontainer.h"
--- a/usbuis/imageprintui/src/emptyview.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/emptyview.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 
-#include <aknviewappui.h>
+#include <aknViewAppUi.h>
 #include <imageprintui.rsg>
 
 #include "emptyview.h"
--- a/usbuis/imageprintui/src/imageprintuiappui.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/imageprintuiappui.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -22,7 +22,7 @@
 #include <GenericParamConsumer.h>
 #include <aknnavide.h>
 #include <imageprintui.rsg>
-#include <aknwaitdialog.h>
+#include <AknWaitDialog.h>
 #include <f32file.h>
 #include <s32file.h>
 // #include <d32usbc.h>
--- a/usbuis/imageprintui/src/notes.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/notes.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -16,21 +16,21 @@
 */
 
 
-#include <aknviewappui.h>
+#include <aknViewAppUi.h>
 #include <imageprintui.rsg>
 
 #include "imageprintui.hrh"
 #include "settingsview.h"
-#include <aknwaitdialog.h>
+#include <AknWaitDialog.h>
 #include <aknnotedialog.h>
 #include <aknprogresstimer.h>
 
 
 #include <e32std.h>
-#include <aknprogressdialog.h>
+#include <AknProgressDialog.h>
 #include <AknInfoPopupNoteController.h>
 
-#include <aknStaticNoteDialog.h>
+#include <aknstaticnotedialog.h>
 #include <eikprogi.h>
 #include <aknnotewrappers.h>
 #include <StringLoader.h>
--- a/usbuis/imageprintui/src/requestmanager.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/requestmanager.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -20,7 +20,7 @@
 #include <dpsdefs.h>
 #include <s32file.h>
 #include <f32file.h>
-#include <COEUTILS.H>
+#include <coeutils.h>
 #include <imageprintui.rsg>
 
 #include "requestmanager.h"
--- a/usbuis/imageprintui/src/settingscontainer.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/settingscontainer.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,10 +18,10 @@
 
 
 //INCLUDES
-#include <aknsdrawutils.h> 
+#include <AknsDrawUtils.h> 
 #include <AknsBasicBackgroundControlContext.h>
 #include <AknsConstants.h>
-#include <aknutils.h>
+#include <AknUtils.h>
 #include <eikenv.h>
 #include <eiklbo.h>
 
--- a/usbuis/imageprintui/src/settingsitems.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/settingsitems.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,7 +18,7 @@
 
 #include <StringLoader.h>
 #include <eiklbx.h>
-#include <AknRadioButtonSettingPage.h>
+#include <aknradiobuttonsettingpage.h>
 
 
 #include "imageprintui.hrh"
--- a/usbuis/imageprintui/src/settingsview.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintui/src/settingsview.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 
-#include <aknviewappui.h>
+#include <aknViewAppUi.h>
 #include <imageprintui.rsg>
 #include <coecntrl.h>
 
--- a/usbuis/imageprintuiprovider/src/caiwimageprintIf.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintuiprovider/src/caiwimageprintIf.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -22,9 +22,9 @@
 #include <bautils.h>
 #include <e32std.h>
 #include <f32file.h>
-#include <drmcommon.h>
-#include <ImageConversion.h>
-#include <PathInfo.h> 
+#include <DRMCommon.h>
+#include <imageconversion.h>
+#include <pathinfo.h> 
 
 //Internal includes
 #include "caiwimageprintif.h"
--- a/usbuis/imageprintuiprovider/src/caiwprintingprovider.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintuiprovider/src/caiwprintingprovider.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -36,15 +36,15 @@
 #include <apaid.h>
 #include <apgcli.h>
 #include <w32std.h>
-#include <ImageConversion.h>
+#include <imageconversion.h>
 
-#include <aknviewappui.h>
+#include <aknViewAppUi.h>
 #include <aknnotedialog.h>
-#include <aknStaticNoteDialog.h>
+#include <aknstaticnotedialog.h>
 #include <eikprogi.h>
 #include <aknnotewrappers.h>
 #include <StringLoader.h>
-#include <PathInfo.h> 
+#include <pathinfo.h> 
 
 #include "caiwimageprintif.h"
 #include "imageprintuidebug.h"
--- a/usbuis/imageprintuiprovider/src/dllmain.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/imageprintuiprovider/src/dllmain.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -20,7 +20,7 @@
 
 /// INCLUDES
 #include <e32std.h>
-#include <ImplementationProxy.h>
+#include <implementationproxy.h>
 #include "aiwprintingprovideruid.h"
 #include "caiwprintingprovider.h"
 
--- a/usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginInterface.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginInterface.h	Tue Jan 26 12:55:41 2010 +0200
@@ -20,7 +20,7 @@
 #define USBCLASSCHANGEUIPLUGININTERFACE_H
 
 // System includes
-#include <GSPluginInterface.h>
+#include <gsplugininterface.h>
 
 
 /**
--- a/usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginView.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbui/USBClassChangeUIPlugin/inc/USBClassChangeUIPluginView.h	Tue Jan 26 12:55:41 2010 +0200
@@ -24,7 +24,7 @@
 #include <aknview.h>            // AVKON components
 #include <AknQueryDialog.h>     // AVKON component
 #include <eikmenup.h>           // Menu pane definitions
-#include <GSPluginInterface.h>  // General Settings plugin
+#include <gsplugininterface.h>  // General Settings plugin
 #include <ConeResLoader.h>
 #include <data_caging_path_literals.hrh> 
 
--- a/usbuis/usbui/USBClassChangeUIPlugin/src/USBClassChangeUIPluginView.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbui/USBClassChangeUIPlugin/src/USBClassChangeUIPluginView.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -26,8 +26,8 @@
 #include <featmgr.h>
 #include <hlplch.h>         // Help launcher
 #include <usbpersonalityids.h>
-#include <GSParentPlugin.h>
-#include <GSFWViewUIDs.h>
+#include <gsparentplugin.h>
+#include <gsfwviewuids.h>
 #include <USBClassChangeUIPlugin.rsg> // Resources
 
 #include "USBClassChangeUIPluginView.h"
--- a/usbuis/usbui/src/USBClassChangeUIAppui.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbui/src/USBClassChangeUIAppui.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -25,7 +25,7 @@
 
 #include    <avkon.hrh>
 
-#include    <GSPluginInterface.h>
+#include    <gsplugininterface.h>
 
 const TUid KUidImpl = { 0x1027478F };   // implementation UID of the plugin
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbuinotif/BWINS/usbavkonnotifu.def	Tue Jan 26 12:55:41 2010 +0200
@@ -0,0 +1,3 @@
+EXPORTS
+	?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr<class MEikSrvNotifierBase2> * NotifierArray(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbuis/usbuinotif/eabi/usbavkonnotifu.def	Tue Jan 26 12:55:41 2010 +0200
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z13NotifierArrayv @ 1 NONAME
+
--- a/usbuis/usbuinotif/inc/usbnotifier.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbnotifier.h	Tue Jan 26 12:55:41 2010 +0200
@@ -22,7 +22,7 @@
 #include <data_caging_path_literals.hrh> 
 #include <usbman.h>
 #include <usbwatcher.h>
-#include <akncapserverclient.h>  
+#include <AknCapServerClient.h>  
 #include "usbuinotifdebug.h"
 // CONSTANTS
 // Literal resource filename 
--- a/usbuis/usbuinotif/inc/usbuinotifmsmmerror.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbuinotifmsmmerror.h	Tue Jan 26 12:55:41 2010 +0200
@@ -22,7 +22,7 @@
 // INCLUDES
 
 #include "usbnotifier.h"      // Base class
-#include <aknquerydialog.h>   // AVKON component
+#include <AknQueryDialog.h>   // AVKON component
 #define KUsbUiNotifOtgGeneralQueryGranularity 3
 // CLASS DECLARATION
 
--- a/usbuis/usbuinotif/inc/usbuinotifotgerror.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbuinotifotgerror.h	Tue Jan 26 12:55:41 2010 +0200
@@ -22,7 +22,7 @@
 // INCLUDES
 
 #include "usbnotifier.h"      // Base class
-#include <aknquerydialog.h>   // AVKON component
+#include <AknQueryDialog.h>   // AVKON component
 #define KUsbUiNotifOtgGeneralQueryGranularity 3
 // CLASS DECLARATION
 
--- a/usbuis/usbuinotif/inc/usbuinotifotgwarning.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbuinotifotgwarning.h	Tue Jan 26 12:55:41 2010 +0200
@@ -20,7 +20,7 @@
 #define USBUINOTIFOTGWARNING_H
 
 // INCLUDES
-#include <AknNoteWrappers.h>
+#include <aknnotewrappers.h>
 #include <usbuinotif.h>
 
 #include "usbnotifier.h"   // Base class
--- a/usbuis/usbuinotif/inc/usbuinqueriesnotifier.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbuinqueriesnotifier.h	Tue Jan 26 12:55:41 2010 +0200
@@ -21,7 +21,7 @@
 // INCLUDES
 
 #include "usbnotifier.h"      // Base class
-#include <aknquerydialog.h>   // AVKON component
+#include <AknQueryDialog.h>   // AVKON component
 #include <aknmemorycarddialog.h>
 
 // CLASS DECLARATION
--- a/usbuis/usbuinotif/inc/usbuinqueriesnotifiermdrv.h	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/inc/usbuinqueriesnotifiermdrv.h	Tue Jan 26 12:55:41 2010 +0200
@@ -21,7 +21,7 @@
 // INCLUDES
 
 #include "usbnotifier.h"      // Base class
-#include <aknquerydialog.h>   // AVKON component
+#include <AknQueryDialog.h>   // AVKON component
 // CLASS DECLARATION
 
 /**
--- a/usbuis/usbuinotif/src/usbavkonmain.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbavkonmain.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -16,7 +16,7 @@
  */
 
 // INCLUDE FILES
-#include <EikNotApi.h>
+#include <eiknotapi.h>
 #include <eikenv.h>
 
 #include "usbuincableconnectednotifier.h"
--- a/usbuis/usbuinotif/src/usbnotifier.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbnotifier.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,7 +18,7 @@
 // INCLUDE FILES
 #include <eikenv.h>          // Eikon environment
 #include <bautils.h>         // BAFL utils (for language file)
-#include <stringloader.h>    // Localisation stringloader
+#include <StringLoader.h>    // Localisation stringloader
 #include <centralrepository.h> 
 #include <coreapplicationuisdomainpskeys.h>
 #include <data_caging_path_literals.hrh> 
@@ -27,7 +27,7 @@
 
 #include "usbnotifier.h"     // Own class 
 #include "usbuinotifdebug.h"
-#include "AknKeyLock.h" //RAknKeyLock
+#include "aknkeylock.h" //RAknKeyLock
 // CONSTANTS
 
 // ================= MEMBER FUNCTIONS =========================================
--- a/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuincableconnectednotifier.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,28 +18,28 @@
 #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 <aknPopup.h> 
+#include <StringLoader.h>    // Localisation stringloader
 #include <utf.h>             // Unicode character conversion utilities
-#include <aknsutils.h>
+#include <AknsUtils.h>
 #include <usb.h>
-#include <USBUINotif.rsg>                   // Own resources
+#include <usbuinotif.rsg>                   // Own resources
 #include <centralrepository.h> 
 #include <e32property.h>
 //for loading icons USB fork and empty
-#include <akniconarray.h>
+#include <AknIconArray.h>
 #include <avkon.mbg>
 #include <AknsConstants.h>
 #include <aknmessagequerydialog.h>
 //for cover display support
-#include <aknmediatorfacade.h>
-#include <secondarydisplay/USBUINotifSecondaryDisplay.h> // Dialog index for cover UI
+#include <AknMediatorFacade.h>
+#include <SecondaryDisplay/usbuinotifsecondarydisplay.h> // Dialog index for cover UI
 #include <akndiscreetpopup.h>
 #include <e32uid.h> // KExecutableImageUid
 #include <usbui.mbg>
 #include "usbuincableconnectednotifier.h"   // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "usbwatcherinternalcrkeys.h"
+#include "UsbWatcherInternalCRKeys.h"
 #include "usbpersonalityids.h"
 #include "usbuinotif.hrh"
 
--- a/usbuis/usbuinotif/src/usbuinmain.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuinmain.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,7 +18,7 @@
 // INCLUDE FILES
 #include <ecom/ecom.h>
 #include <ecom/implementationproxy.h>
-#include <EikNotApi.h>
+#include <eiknotapi.h>
 #include <eikenv.h>
 #include <AknNotifierWrapper.h>
 #include <usbuinotif.h>
--- a/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuinotifmsmmerror.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -20,16 +20,16 @@
 #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 <StringLoader.h>    // Localisation stringloader
 #include <AknQueryDialog.h> 
 #include <aknnotewrappers.h>
 #include <usb/hostms/srverr.h> 
 
 #include <usbuinotif.h>                     // pck
-#include <USBUINotif.rsg>                   // Own resources
+#include <usbuinotif.rsg>                   // Own resources
 #include "usbuinotifmsmmerror.h"             // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "USBUINotifSecondaryDisplay.h"     // Dialog index for cover UI
+#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuinotifotgerror.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -20,15 +20,15 @@
 #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 <StringLoader.h>    // Localisation stringloader
 #include <AknQueryDialog.h> 
 #include <aknnotewrappers.h>
 
 #include <usbuinotif.h>                     // pck
-#include <USBUINotif.rsg>                   // Own resources
+#include <usbuinotif.rsg>                   // Own resources
 #include "usbuinotifotgerror.h"             // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "USBUINotifSecondaryDisplay.h"     // Dialog index for cover UI
+#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuinotifotgwarning.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -18,14 +18,14 @@
 
 // INCLUDE FILES
 #include <eikenv.h>             // Eikon environment
-#include <AknNoteDialog.h>
+#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 <StringLoader.h>       // Localisation stringloader
+#include <AknMediatorFacade.h>  // for cover display support
+#include <usbuinotif.rsg>       // Own resources
 #include "usbuinotifotgwarning.h"        // Own class definition
 #include "usbuinotifdebug.h"                // Debugging macros
-#include "USBUINotifSecondaryDisplay.h"     // Dialog index for cover UI
+#include "usbuinotifsecondarydisplay.h"     // Dialog index for cover UI
 // ================= MEMBER FUNCTIONS =========================================
 
 // ----------------------------------------------------------------------------
--- a/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Mon Jan 18 21:13:23 2010 +0200
+++ b/usbuis/usbuinotif/src/usbuinqueriesnotifiermdrv.cpp	Tue Jan 26 12:55:41 2010 +0200
@@ -19,15 +19,15 @@
 #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 <StringLoader.h>    // Localisation stringloader
 #include <AknQueryDialog.h> 
 #include <aknnotewrappers.h>
 
 #include <usbuinotif.h>                     // pck
-#include <USBUINotif.rsg>                   // Own resources
+#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
+#include <SecondaryDisplay/usbuinotifsecondarydisplay.h>     // Dialog index for cover UI
 
 // ================= MEMBER FUNCTIONS =========================================