diff -r 4bea936937d0 -r 1a2a19ee918d usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp --- a/usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp Tue Jul 06 16:23:38 2010 +0300 +++ b/usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp Wed Aug 18 11:34:45 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 1997-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" @@ -21,24 +21,25 @@ */ #include +#include #include "UsbSettings.h" #include "CUsbServer.h" #include "CUsbSession.h" #include "CUsbDevice.h" #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV +#include //Publish & Subscribe header #include "CUsbOtg.h" #include "cusbhost.h" -#include //Publish & Subscribe header #endif // SYMBIAN_ENABLE_USB_OTG_HOST_PRIV -#include #include "UsbmanServerSecurityPolicy.h" -#include +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "CUsbServerTraces.h" +#endif -#ifdef __FLOG_ACTIVE -_LIT8(KLogComponent, "USBSVR"); -#endif + /** * The CUsbServer::NewL method @@ -51,12 +52,13 @@ */ CUsbServer* CUsbServer::NewLC() { - LOG_STATIC_FUNC_ENTRY + OstTraceFunctionEntry0( CUSBSERVER_NEWLC_ENTRY ); CUsbServer* self = new(ELeave) CUsbServer; CleanupStack::PushL(self); self->StartL(KUsbServerName); self->ConstructL(); + OstTraceFunctionExit0( CUSBSERVER_NEWLC_EXIT ); return self; } @@ -70,7 +72,7 @@ */ CUsbServer::~CUsbServer() { - LOG_FUNC + OstTraceFunctionEntry0( CUSBSERVER_CUSBSERVER_DES_ENTRY ); delete iShutdownTimer; delete iUsbDevice; @@ -80,21 +82,21 @@ #ifndef __OVER_DUMMYUSBDI__ // Check that this is A-Device - LOGTEXT(_L8("Checking Id-Pin state...")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CUSBSERVER, "CUsbServer::~CUsbServer; Checking Id-Pin state..." ); TInt value = 0; TInt err = RProperty::Get(KUidUsbManCategory, KUsbOtgIdPinPresentProperty,value); if (err == 0 && value == 1) { // Ensure VBus is dropped when Usb server exits - LOGTEXT(_L8("Checking VBus state...")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP1, "CUsbServer::~CUsbServer; Checking VBus state..." ); err = RProperty::Get(KUidUsbManCategory, KUsbOtgVBusPoweredProperty,value); if ( err == KErrNone && value != 0 ) { if ( iUsbOtg ) { err = iUsbOtg->BusDrop(); - LOGTEXT2(_L8("BusDrop() returned err = %d"),err); - LOGTEXT(_L8("USBMAN will wait until VBus is actually dropped")); + OstTrace1( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP2, "CUsbServer::~CUsbServer;BusDrop() returned err = %d", err ); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP3, "CUsbServer::~CUsbServer; USBMAN will wait until VBus is actually dropped" ); // Wait 1 second for Hub driver to perform VBus drop RTimer timer; err = timer.CreateLocal(); @@ -107,31 +109,29 @@ } else { - LOGTEXT2(_L8("Failed to create local timer: err = %d"),err); + OstTrace1( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP4, "CUsbServer::~CUsbServer;Failed to create local timer: err = %d", err ); } } else { - LOGTEXT(_L8("Unexpected: OTG object is NULL")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP5, "CUsbServer::~CUsbServer; Unexpected: OTG object is NULL" ); } } else { - LOGTEXT3(_L8("VBus is already dropped or an error occured: err = %d, value =%d"),err,value); + OstTraceExt2( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP6, "CUsbServer::~CUsbServer;VBus is already dropped or an error occured: err = %d, value =%d", err, value ); } } else { - LOGTEXT3(_L8("No Id-Pin is found or an error occured: err = %d, value = %d"), err, value); + OstTraceExt2( TRACE_NORMAL, CUSBSERVER_CUSBSERVER_DUP7, "CUsbServer::~CUsbServer;No Id-Pin is found or an error occured: err = %d, value = %d", err, value ); } delete iUsbOtg; #endif #endif // SYMBIAN_ENABLE_USB_OTG_HOST_PRIV -#ifdef __FLOG_ACTIVE - CUsbLog::Close(); -#endif + OstTraceFunctionExit0( CUSBSERVER_CUSBSERVER_DES_EXIT ); } @@ -156,12 +156,7 @@ */ void CUsbServer::ConstructL() { -#ifdef __FLOG_ACTIVE - // Set the logger up so that everything in this thread that logs using it - // will do so 'connectedly' (i.e. quickly). If this fails, we don't care- - // logging will still work, just 'statically' (i.e. slowly). - static_cast(CUsbLog::Connect()); -#endif + iShutdownTimer = new(ELeave) CShutdownTimer; iShutdownTimer->ConstructL(); @@ -174,7 +169,7 @@ #endif // SYMBIAN_ENABLE_USB_OTG_HOST_PRIV iUsbDevice = CUsbDevice::NewL(*this); - LOGTEXT(_L8("About to load USB classes")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CONSTRUCTL, "CUsbServer::ConstructL; About to load USB classes" ); iUsbDevice->EnumerateClassControllersL(); #ifndef USE_DUMMY_CLASS_CONTROLLER @@ -188,11 +183,11 @@ } else { - LOGTEXT(_L8("Personalities unconfigured, so using fallback CCs")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CONSTRUCTL_DUP1, "CUsbServer::ConstructL;Personalities unconfigured, so using fallback CCs" ); iUsbDevice->LoadFallbackClassControllersL(); } #else // USE_DUMMY_CLASS_CONTROLLER - LOGTEXT(_L8("Using Dummy Class Controller, so using fallback CCs")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CONSTRUCTL_DUP2, "CUsbServer::ConstructL; Using Dummy Class Controller, so using fallback CCs" ); iUsbDevice->LoadFallbackClassControllersL(); #endif // USE_DUMMY_CLASS_CONTROLLER @@ -204,7 +199,7 @@ iUsbHost->StartL(); #endif // SYMBIAN_ENABLE_USB_OTG_HOST_PRIV - LOGTEXT(_L8("CUsbServer constructed")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_CONSTRUCTL_DUP3, "CUsbServer::ConstructL; CUsbServer constructed" ); } @@ -221,23 +216,24 @@ */ CSession2* CUsbServer::NewSessionL(const TVersion &aVersion, const RMessage2& aMessage) const { - LOG_LINE - LOG_FUNC + OstTraceFunctionEntry0( CUSBSERVER_NEWSESSIONL_ENTRY ); (void)aMessage;//Remove compiler warning TVersion v(KUsbSrvMajorVersionNumber,KUsbSrvMinorVersionNumber,KUsbSrvBuildVersionNumber); - LOGTEXT(_L8("CUsbServer::NewSessionL - creating new session...")); + OstTrace0( TRACE_NORMAL, CUSBSERVER_NEWSESSIONL, "CUsbServer::NewSessionL; CUsbServer::NewSessionL - creating new session..." ); if (!User::QueryVersionSupported(v, aVersion)) { - LEAVEL(KErrNotSupported); + OstTrace1( TRACE_NORMAL, CUSBSERVER_NEWSESSIONL_DUP1, "CUsbServer::NewSessionL;leave reason=%d", KErrNotSupported ); + User::Leave(KErrNotSupported); } CUsbServer* ncThis = const_cast(this); CUsbSession* sess = CUsbSession::NewL(ncThis); + OstTraceFunctionExit0( CUSBSERVER_NEWSESSIONL_EXIT ); return sess; } @@ -249,7 +245,7 @@ */ void CUsbServer::Error(TInt aError) { - LOGTEXT2(_L8("CUsbServer::Error [aError=%d]"), aError); + OstTrace1( TRACE_NORMAL, CUSBSERVER_ERROR, "CUsbServer::Error;aError=%d", aError ); Message().Complete(aError); ReStart(); @@ -262,13 +258,18 @@ */ void CUsbServer::IncrementSessionCount() { - LOGTEXT2(_L8(">CUsbServer::IncrementSessionCount %d"), iSessionCount); - __ASSERT_DEBUG(iSessionCount >= 0, _USB_PANIC(KUsbSvrPncCat, EICSInvalidCount)); + OstTraceFunctionEntry0( CUSBSERVER_INCREMENTSESSIONCOUNT_ENTRY ); + OstTrace1( TRACE_NORMAL, CUSBSERVER_INCREMENTSESSIONCOUNT, "CUsbServer::IncrementSessionCount;iSessionCount=%d", iSessionCount ); + if(iSessionCount < 0) + { + OstTrace1( TRACE_FATAL, CUSBSERVER_INCREMENTSESSIONCOUNT_DUP1, "CUsbServer::IncrementSessionCount;panic code=%d", EICSInvalidCount ); + __ASSERT_DEBUG(EFalse, User::Panic(KUsbSvrPncCat, EICSInvalidCount)); + } ++iSessionCount; iShutdownTimer->Cancel(); - LOGTEXT(_L8(" 0, _USB_PANIC(KUsbSvrPncCat, EDCSInvalidCount)); + OstTraceExt2( TRACE_NORMAL, CUSBSERVER_DECREMENTSESSIONCOUNT, "CUsbServer::DecrementSessionCount;iSessionCount=%d;Device().ServiceState()=%d", iSessionCount, Device().ServiceState() ); + if(iSessionCount <= 0) + { + OstTrace1( TRACE_FATAL, CUSBSERVER_DECREMENTSESSIONCOUNT_DUP1, "CUsbServer::DecrementSessionCount;panic code=%d", EDCSInvalidCount ); + __ASSERT_DEBUG(EFalse, User::Panic(KUsbSvrPncCat, EDCSInvalidCount)); + } --iSessionCount; @@ -300,11 +305,17 @@ */ void CUsbServer::LaunchShutdownTimerIfNoSessions() { - LOGTEXT(_L8("CUsbServer::LaunchShutdownTimerIfNoSessions")); - __ASSERT_DEBUG(Device().ServiceState() == EUsbServiceIdle, _USB_PANIC(KUsbSvrPncCat, ELSTNSNotIdle)); - + OstTraceFunctionEntry0( CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS_ENTRY ); +#ifdef _DEBUG + if(Device().ServiceState() != EUsbServiceIdle) + { + OstTrace1( TRACE_FATAL, CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS, "CUsbServer::LaunchShutdownTimerIfNoSessions;panic code=%d", ELSTNSNotIdle ); + User::Panic(KUsbSvrPncCat, ELSTNSNotIdle); + } +#endif if (iSessionCount == 0) iShutdownTimer->After(KShutdownDelay); + OstTraceFunctionExit0( CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS_EXIT ); } /**