--- a/usbmgmt/usbmgr/host/fdf/production/server/src/fdf.cpp Tue Aug 31 17:01:47 2010 +0300
+++ b/usbmgmt/usbmgr/host/fdf/production/server/src/fdf.cpp Wed Sep 01 12:35:00 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-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"
@@ -25,16 +25,15 @@
#include "utils.h"
#include <usbhost/internal/fdcplugin.hrh>
#include "eventqueue.h"
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "fdfTraces.h"
+
+#ifdef __FLOG_ACTIVE
+_LIT8(KLogComponent, "fdf ");
#endif
-
_LIT(KDriverUsbhubLddFileName,"usbhubdriver");
_LIT(KDriverUsbdiLddFileName,"usbdi");
-_LIT(KPanicCategory, "fdf");
+PANICCATEGORY("fdf");
const TUint KVendorSpecificDeviceClassValue = 0xFF;
const TUint KVendorSpecificInterfaceClassValue = 0xFF;
@@ -43,26 +42,24 @@
// Factory function for TInterfaceInfo objects.
CFdf::TInterfaceInfo* CFdf::TInterfaceInfo::NewL(RPointerArray<CFdf::TInterfaceInfo>& aInterfaces)
{
- OstTraceFunctionEntry0( CFDF_TINTERFACEINFO_NEWL_ENTRY );
+ LOG_STATIC_FUNC_ENTRY
TInterfaceInfo* self = new(ELeave) TInterfaceInfo;
CleanupStack::PushL(self);
aInterfaces.AppendL(self);
CLEANUPSTACK_POP1(self);
- OstTraceFunctionExit0( CFDF_TINTERFACEINFO_NEWL_EXIT );
return self;
}
CFdf* CFdf::NewL()
{
- OstTraceFunctionEntry0( CFDF_NEWL_ENTRY );
+ LOG_STATIC_FUNC_ENTRY
CFdf* self = new(ELeave) CFdf;
CleanupStack::PushL(self);
self->ConstructL();
CLEANUPSTACK_POP1(self);
- OstTraceFunctionExit0( CFDF_NEWL_EXIT );
return self;
}
@@ -70,30 +67,26 @@
: iDevices(_FOFF(CDeviceProxy, iLink)),
iFunctionDrivers(_FOFF(CFdcProxy, iLink))
{
- OstTraceFunctionEntry0( CFDF_CFDF_CONS_ENTRY );
+ LOG_FUNC
}
void CFdf::ConstructL()
{
- OstTraceFunctionEntry0( CFDF_CONSTRUCTL_ENTRY );
-
+ LOG_FUNC
+
#ifndef __OVER_DUMMYUSBDI__
// If we're using the DummyUSBDI we don't need the real USBDI.
TInt err = User::LoadLogicalDevice(KDriverUsbhubLddFileName);
if ( err != KErrAlreadyExists )
{
- LEAVEIFERRORL(err,OstTrace1( TRACE_NORMAL, CFDF_CONSTRUCTL, "Error when loading KDriverUsbhubLddFileName OVER DUMMYUSBDI; err=%d", err ););
+ LEAVEIFERRORL(err);
}
#endif // __OVER_DUMMYUSBDI__
- TInt errDr=iHubDriver.Open();
- LEAVEIFERRORL(errDr,OstTrace1( TRACE_NORMAL, CFDF_CONSTRUCTL_DUP1, "Error when open iHubDriver; errDr=%d", errDr ););
+ LEAVEIFERRORL(iHubDriver.Open());
#ifdef __OVER_DUMMYUSBDI__
- //LEAVEIFERRORL(iHubDriver.StartHost());
- TInt errHo=iHubDriver.StartHost();
- LEAVEIFERRORL(errHo,OstTrace1( TRACE_NORMAL, CFDF_CONSTRUCTL_DUP2, "Fail in iHubDriver.StartHost in dummy; errHo=%d", errHo ););
-
+ LEAVEIFERRORL(iHubDriver.StartHost());
#endif
iActiveWaitForBusEvent = CActiveWaitForBusEvent::NewL(iHubDriver, iBusEvent, *this);
@@ -105,27 +98,24 @@
iActiveWaitForEComEvent->Wait();
iEventQueue = CEventQueue::NewL(*this);
- OstTraceFunctionExit0( CFDF_CONSTRUCTL_EXIT );
}
void CFdf::CreateFunctionDriverProxiesL()
{
- OstTraceFunctionEntry0( CFDF_CREATEFUNCTIONDRIVERPROXIESL_ENTRY );
+
+ LOG_FUNC
REComSession::ListImplementationsL(TUid::Uid(KFdcEcomInterfaceUid), iImplInfoArray);
const TUint count = iImplInfoArray.Count();
- OstTrace1( TRACE_NORMAL, CFDF_CREATEFUNCTIONDRIVERPROXIESL, "\tiImplInfoArray.Count() upon FDF creation = %d", count );
-#ifdef _DEBUG
+ LOGTEXT2(_L8("\tiImplInfoArray.Count() upon FDF creation = %d"), count);
+#ifdef __FLOG_ACTIVE
if ( count == 0 )
{
- OstTrace0( TRACE_NORMAL, CFDF_CREATEFUNCTIONDRIVERPROXIESL_DUP1, "\tTHERE ARE NO FUNCTION DRIVERS PRESENT IN THE SYSTEM" );
- }
+ LOGTEXT(_L8("\tTHERE ARE NO FUNCTION DRIVERS PRESENT IN THE SYSTEM"));
+ }
else
{
- for (TInt32 kk = 0; kk < count; ++kk)
- OstTraceExt2( TRACE_NORMAL, CFDF_CREATEFUNCTIONDRIVERPROXIESL_DUP2,
- "FDC implementation UID: 0x%08x Index:%d ",
- iImplInfoArray[kk]->ImplementationUid().iUid, kk);
-
+ for (TInt kk = 0; kk < count; ++kk)
+ LOGTEXT3(_L8("\t\tFDC implementation Index:%d UID: 0x%08x"), kk, iImplInfoArray[kk]->ImplementationUid());
}
#endif
@@ -141,12 +131,11 @@
else
iFunctionDrivers.AddLast(*proxy);
}
- OstTraceFunctionExit0( CFDF_CREATEFUNCTIONDRIVERPROXIESL_EXIT );
}
CFdf::~CFdf()
{
- OstTraceFunctionEntry0( CFDF_CFDF_DES_ENTRY );
+ LOG_FUNC
// Mimic the detachment of each attached device.
TSglQueIter<CDeviceProxy> deviceIter(iDevices);
@@ -155,7 +144,7 @@
while ( ( device = deviceIter++ ) != NULL )
{
const TUint deviceId = device->DeviceId();
- OstTrace1( TRACE_NORMAL, CFDF_CFDF, "mimicking detachment of device with id %d", device );
+ LOGTEXT2(_L8("\tmimicking detachment of device with id %d"), device);
TellFdcsOfDeviceDetachment(deviceId);
iDevices.Remove(*device);
delete device;
@@ -185,9 +174,10 @@
#ifndef __OVER_DUMMYUSBDI__
//If we're using the DummyUSBDI the real USBDI isn't loaded.
TInt err = User::FreeLogicalDevice(KDriverUsbhubLddFileName);
- OstTrace1( TRACE_NORMAL, CFDF_CFDF_DUP1, "FreeLogicalDevice( usbhubdriver ) returned %d", err );
+ LOGTEXT2(_L8("\tFreeLogicalDevice( usbhubdriver ) returned %d"), err);
+
err = User::FreeLogicalDevice(KDriverUsbdiLddFileName);
- OstTrace1( TRACE_NORMAL, CFDF_CFDF_DUP2, "FreeLogicalDevice( usbdi ) returned %d", err );
+ LOGTEXT2(_L8("\tFreeLogicalDevice( usbdi ) returned %d"), err);
#endif // __OVER_DUMMYUSBDI__
delete iEventQueue;
@@ -195,33 +185,31 @@
// This is a worthwhile check to do at this point. If we ever don't clean
// up iInterfaces at the *right* time, then this will be easier to debug
// than a memory leak.
- if(!(iInterfaces.Count() == 0))
- {
- OstTrace1( TRACE_FATAL, CFDF_CFDF_DUP3, "Memory leak from interface;Interface remains %d", iInterfaces.Count() );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(iInterfaces.Count() == 0);
iImplInfoArray.ResetAndDestroy();
REComSession::FinalClose();
- OstTraceFunctionExit0( CFDF_CFDF_DES_EXIT );
}
void CFdf::EnableDriverLoading()
{
- OstTraceFunctionEntry0( CFDF_ENABLEDRIVERLOADING_ENTRY );
+ LOG_FUNC
+
iDriverLoadingEnabled = ETrue;
}
void CFdf::DisableDriverLoading()
{
- OstTraceFunctionEntry0( CFDF_DISABLEDRIVERLOADING_ENTRY );
+ LOG_FUNC
+
iDriverLoadingEnabled = EFalse;
}
void CFdf::SetSession(CFdfSession* aSession)
{
- OstTraceFunctionEntry0( CFDF_SETSESSION_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_SETSESSION, "aSession = 0x%08x", aSession );
+ LOG_FUNC
+ LOGTEXT2(_L8("\taSession = 0x%08x"), aSession);
+
iSession = aSession;
}
@@ -232,27 +220,17 @@
TBool CFdf::GetDeviceEvent(TDeviceEvent& aEvent)
{
- OstTraceFunctionEntry0( CFDF_GETDEVICEEVENT_ENTRY );
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_GETDEVICEEVENT, "iEventQueue is empty" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ LOG_FUNC
+ ASSERT_DEBUG(iEventQueue);
return iEventQueue->GetDeviceEvent(aEvent);
}
TBool CFdf::GetDevmonEvent(TInt& aEvent)
{
- OstTraceFunctionEntry0( CFDF_GETDEVMONEVENT_ENTRY );
-
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_GETDEVMONEVENT, "iEventQueue is empty" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ LOG_FUNC
-
+ ASSERT_DEBUG(iEventQueue);
return iEventQueue->GetDevmonEvent(aEvent);
}
@@ -268,39 +246,40 @@
void CFdf::HandleEComEventReceivedL()
{
- OstTraceFunctionEntry0( CFDF_HANDLEECOMEVENTRECEIVEDL_ENTRY );
-
+ LOG_FUNC
+
// There is no way to filter ecom notification to only receive ones we are interested in, also there is no way
// to query ecom as to what has changed. Hence there is no option but to call ListImplementations().
iImplInfoArray.ResetAndDestroy();
REComSession::ListImplementationsL(TUid::Uid(KFdcEcomInterfaceUid), iImplInfoArray);
TUint implementationsCount = iImplInfoArray.Count();
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL, "iImplInfoArray.Count() after ECom notification= %d", implementationsCount );
+ LOGTEXT2(_L8("\tiImplInfoArray.Count() after ECom notification= %d"), implementationsCount);
+#ifdef __FLOG_ACTIVE
if ( implementationsCount == 0 )
{
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP1, "THERE ARE NO FUNCTION DRIVERS PRESENT IN THE SYSTEM" );
- }
+ LOGTEXT(_L8("\tTHERE ARE NO FUNCTION DRIVERS PRESENT IN THE SYSTEM"));
+ }
TSglQueIter<CFdcProxy> proxiesIterDebug(iFunctionDrivers);
CFdcProxy* fdcDebug = NULL;
while ( ( fdcDebug = proxiesIterDebug++ ) != NULL )
{
TUid fdcUid = fdcDebug->ImplUid();
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP2, "Old FDC Proxy implementation UID: 0x%08x", fdcUid.iUid );
+ LOGTEXT2(_L8("\t\tOld FDC Proxy implementation UID: 0x%08x"), fdcUid.iUid);
TInt fdcVersion = fdcDebug->Version();
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP3, "FDC Proxy version UID: %d", fdcVersion );
- }
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP4, "------------------------------------------------------------------" );
-
+ LOGTEXT2(_L8("\t\tFDC Proxy version UID: %d"), fdcVersion);
+ }
+ LOGTEXT(_L8("\t\t------------------------------------------------------------------"));
for (TInt kk = 0; kk < implementationsCount; ++kk)
{
TUid fdcUid2 = iImplInfoArray[kk]->ImplementationUid();
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP5, "New FDC Proxy implementation UID: 0x%08x", fdcUid2.iUid );
+ LOGTEXT2(_L8("\t\tNew FDC Proxy implementation UID: 0x%08x"), fdcUid2.iUid);
TInt fdcVersion2 = iImplInfoArray[kk]->Version();
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEECOMEVENTRECEIVEDL_DUP6, "FDC Proxy version UID: %d", fdcVersion2 );
+ LOGTEXT2(_L8("\t\tFDC Proxy version UID: %d"), fdcVersion2);
}
+#endif
// See if any relevant FDCs (or upgrades) have been installed or uninstalled:
@@ -400,16 +379,15 @@
iFunctionDrivers.AddLast(*proxy);
}
}
- OstTraceFunctionExit0( CFDF_HANDLEECOMEVENTRECEIVEDL_EXIT );
}
// A bus event has occurred.
void CFdf::MbeoBusEvent()
{
- OstTraceFunctionEntry0( CFDF_MBEOBUSEVENT_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_MBEOBUSEVENT, "iBusEvent.iEventType = %d", iBusEvent.iEventType );
- OstTrace1( TRACE_NORMAL, CFDF_MBEOBUSEVENT_DUP1, "iBusEvent.iError = %d", iBusEvent.iError );
- OstTrace1( TRACE_NORMAL, CFDF_MBEOBUSEVENT_DUP2, "iBusEvent.iDeviceHandle = %d", iBusEvent.iDeviceHandle );
+ LOG_FUNC
+ LOGTEXT2(_L8("\tiBusEvent.iEventType = %d"), iBusEvent.iEventType);
+ LOGTEXT2(_L8("\tiBusEvent.iError = %d"), iBusEvent.iError);
+ LOGTEXT2(_L8("\tiBusEvent.iDeviceHandle = %d"), iBusEvent.iDeviceHandle);
switch ( iBusEvent.iEventType )
{
@@ -422,11 +400,7 @@
else
{
// It was an attachment failure. Simply tell the event queue.
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_MBEOBUSEVENT_DUP3, "Empty iEventQueue" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AttachmentFailure(iBusEvent.iError);
}
break;
@@ -436,12 +410,7 @@
// pseudo-detached due to an overcurrent condition (for instance) then
// the overcurrent condition is indicated through the devmon API (i.e.
// EDevMonEvent) and the detachment is still 'KErrNone'.
- if(!(iBusEvent.iError == KErrNone))
- {
- OstTrace0( TRACE_NORMAL, CFDF_MBEOBUSEVENT_DUP4, "iBusEvent error" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(iBusEvent.iError == KErrNone);
HandleDeviceDetachment(iBusEvent.iDeviceHandle);
break;
@@ -458,7 +427,6 @@
// TBusEvent from the previous completion. (Otherwise it might get
// overwritten.)
iActiveWaitForBusEvent->Wait();
- OstTraceFunctionExit0( CFDF_MBEOBUSEVENT_EXIT );
}
// This is the central handler for device attachment.
@@ -467,21 +435,16 @@
// The second phase is driver loading.
void CFdf::HandleDeviceAttachment(TUint aDeviceId)
{
- OstTraceFunctionEntry0( CFDF_HANDLEDEVICEATTACHMENT_ENTRY );
+ LOG_FUNC
// This is filled in by HandleDeviceAttachmentL on success.
CDeviceProxy* device;
TRAPD(err, HandleDeviceAttachmentL(aDeviceId, device));
if ( err )
{
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENT, "err = %d", err );
+ LOGTEXT2(_L8("\terr = %d"), err);
// There was an attachment failure, so we just increment the count of
// attachment failures.
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENT_DUP1, "Empty iEventQueue" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AttachmentFailure(err);
// If we failed the attachment phase, we can't try to load drivers for
// the device.
@@ -493,12 +456,7 @@
// device proxy created by HandleDeviceAttachmentL to the event queue.
// This event object is always populated with the correct status and
// error.
- if(!device)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENT_DUP2, "Empty device" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(device);
DoDriverLoading(*device);
}
@@ -507,90 +465,62 @@
// HandleDeviceAttachmentL.
iCurrentDevice = NULL;
iInterfaces.ResetAndDestroy();
- OstTraceFunctionExit0( CFDF_HANDLEDEVICEATTACHMENT_EXIT );
}
// This does the 'device attachment' phase of the new device attachment only.
void CFdf::HandleDeviceAttachmentL(TUint aDeviceId, CDeviceProxy*& aDevice)
{
- OstTraceFunctionEntry0( CFDF_HANDLEDEVICEATTACHMENTL_ENTRY );
+ LOG_FUNC
+
// Create the device proxy
aDevice = CDeviceProxy::NewL(iHubDriver, aDeviceId);
CleanupStack::PushL(aDevice);
iCurrentDevice = aDevice;
// Get necessary descriptors (for this phase)
- TInt err=aDevice->GetDeviceDescriptor(iDD);
- if (err<0)
- {
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL, "GetDeviceDescriptor error=%d", err );
- User::Leave(err);
- }
+ LEAVEIFERRORL(aDevice->GetDeviceDescriptor(iDD));
+ LOGTEXT2(_L8("\tiDD.USBBcd = 0x%04x"), iDD.USBBcd());
+ LOGTEXT2(_L8("\tiDD.DeviceClass = 0x%02x"), iDD.DeviceClass());
+ LOGTEXT2(_L8("\tiDD.DeviceSubClass = 0x%02x"), iDD.DeviceSubClass());
+ LOGTEXT2(_L8("\tiDD.DeviceProtocol = 0x%02x"), iDD.DeviceProtocol());
+ LOGTEXT2(_L8("\tiDD.MaxPacketSize0 = %d"), iDD.MaxPacketSize0());
+ LOGTEXT2(_L8("\tiDD.VendorId = 0x%04x"), iDD.VendorId());
+ LOGTEXT2(_L8("\tiDD.ProductId = 0x%04x"), iDD.ProductId());
+ LOGTEXT2(_L8("\tiDD.DeviceBcd = 0x%04x"), iDD.DeviceBcd());
+ LOGTEXT2(_L8("\tiDD.ManufacturerIndex = %d"), iDD.ManufacturerIndex());
+ LOGTEXT2(_L8("\tiDD.ProductIndex = %d"), iDD.ProductIndex());
+ LOGTEXT2(_L8("\tiDD.SerialNumberIndex = %d"), iDD.SerialNumberIndex());
+ LOGTEXT2(_L8("\tiDD.NumConfigurations = %d"), iDD.NumConfigurations());
+ LEAVEIFERRORL(aDevice->GetConfigurationDescriptor(iCD));
+ LOGTEXT2(_L8("\tiCD.TotalLength = %d"), iCD.TotalLength());
+ LOGTEXT2(_L8("\tiCD.NumInterfaces = %d"), iCD.NumInterfaces());
+ LOGTEXT2(_L8("\tiCD.ConfigurationValue = %d"), iCD.ConfigurationValue());
+ LOGTEXT2(_L8("\tiCD.ConfigurationIndex = %d"), iCD.ConfigurationIndex());
+ LOGTEXT2(_L8("\tiCD.Attributes = %d"), iCD.Attributes());
+ LOGTEXT2(_L8("\tiCD.MaxPower = %d"), iCD.MaxPower());
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP1, "iDD.USBBcd = 0x%04x", iDD.USBBcd() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP2, "iDD.DeviceClass = 0x%02x", iDD.DeviceClass() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP3, "iDD.DeviceSubClass = 0x%02x", iDD.DeviceSubClass() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP4, "iDD.DeviceProtocol = 0x%02x", iDD.DeviceProtocol() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP5, "iDD.MaxPacketSize0 = %d", iDD.MaxPacketSize0() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP6, "iDD.VendorId = 0x%04x", iDD.VendorId() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP7, "iDD.ProductId = 0x%04x", iDD.ProductId() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP8, "iDD.DeviceBcd = 0x%04x", iDD.DeviceBcd() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP9, "iDD.ManufacturerIndex = %d", iDD.ManufacturerIndex() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP10, "iDD.ProductIndex = %d", iDD.ProductIndex() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP11, "iDD.SerialNumberIndex = %d", iDD.SerialNumberIndex() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP12, "iDD.NumConfigurations = %d", iDD.NumConfigurations() );
- err=aDevice->GetConfigurationDescriptor(iCD);
- if(err<0)
- {
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP13, "GetConfigurationDescriptor error=%d", err);
- User::Leave(err);
- }
-
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP14, "iCD.TotalLength = %d", iCD.TotalLength() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP15, "iCD.NumInterfaces = %d", iCD.NumInterfaces() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP16, "iCD.ConfigurationValue = %d", iCD.ConfigurationValue() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP17, "iCD.ConfigurationIndex = %d", iCD.ConfigurationIndex() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP18, "iCD.Attributes = %d", iCD.Attributes() );
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP19, "iCD.MaxPower = %d", iCD.MaxPower() );
-
const TUint8 numberOfInterfaces = iCD.NumInterfaces();
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP20, "numberOfInterfaces (field in config descriptor) = %d)", numberOfInterfaces );
+ LOGTEXT2(_L8("\tnumberOfInterfaces (field in config descriptor) = %d)"), numberOfInterfaces);
if ( numberOfInterfaces == 0 )
{
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP21, "Error: Usb Configuration Has No Interfaces");
- User::Leave(KErrUsbConfigurationHasNoInterfaces);
+ LEAVEL(KErrUsbConfigurationHasNoInterfaces);
}
// Walk the configuration bundle. Collect information on each interface
// (its number, class, subclass and protocol). This populates iInterfaces.
- if(!(iInterfaces.Count() == 0))
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP22, "Error: Usb Configuration Has No Interfaces");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
- if(!iCurrentDevice)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP23, "Empty iCurrentDevice");
- User::Panic(KPanicCategory,__LINE__);
- }
-
+ ASSERT_DEBUG(iInterfaces.Count() == 0);
+ ASSERT_ALWAYS(iCurrentDevice);
ParseL(iCD);
// Log iInterfaces.
const TUint interfaceCount = iInterfaces.Count();
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP24, "interfaceCount (parsed from bundle) = %d", interfaceCount );
-#ifdef _DEBUG
- OstTrace0( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP25, "Logging iInterfaces:");
+ LOGTEXT2(_L8("\tinterfaceCount (parsed from bundle) = %d"), interfaceCount);
+#ifdef __FLOG_ACTIVE
+ LOGTEXT(_L8("\tLogging iInterfaces:"));
for ( TUint ii = 0 ; ii < interfaceCount ; ++ii )
{
const TInterfaceInfo* ifInfo = iInterfaces[ii];
- if(!ifInfo)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP26, "Empty ifInfo");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
- OstTraceExt5(TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP27, "\t\tiInterfaces[%d]: number %d, interface class 0x%02x subclass 0x%02x protocol 0x%02x",
+ ASSERT_DEBUG(ifInfo);
+ LOGTEXT6(_L8("\t\tiInterfaces[%d]: number %d, interface class 0x%02x subclass 0x%02x protocol 0x%02x"),
ii,
ifInfo->iNumber,
ifInfo->iClass,
@@ -599,13 +529,12 @@
);
}
#endif
-
+
// Check that the config's NumInterfaces is the same as the actual number
// of interface descriptors we found. We rely on this later on.
if ( numberOfInterfaces != interfaceCount )
{
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP28, "KErrUsbInterfaceCountMismatch");
- User::Leave(KErrUsbInterfaceCountMismatch);
+ LEAVEL(KErrUsbInterfaceCountMismatch);
}
// Check that each interface number in iInterfaces is unique.
@@ -614,25 +543,14 @@
for ( TUint ii = 0 ; ii < interfaceCount ; ++ii )
{
const TInterfaceInfo* lhs = iInterfaces[ii];
- if(!lhs)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP29, "Empty lhs");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(lhs);
for ( TUint jj = ii+1 ; jj < interfaceCount ; ++jj )
{
const TInterfaceInfo* rhs = iInterfaces[jj];
- if(!rhs)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP30, "Empty rhs");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(rhs);
if ( lhs->iNumber == rhs->iNumber )
{
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP31, "KErrUsbDuplicateInterfaceNumbers; iNumber=%d", lhs->iNumber);
- User::Leave(KErrUsbDuplicateInterfaceNumbers);
+ LEAVEL(KErrUsbDuplicateInterfaceNumbers);
}
}
}
@@ -646,7 +564,7 @@
TInt err = User::LoadLogicalDevice(KDriverUsbdiLddFileName);
if ( err != KErrAlreadyExists )
{
- LEAVEIFERRORL(err,OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP32, "Load Logical Device error; error=%d", err););
+ LEAVEIFERRORL(err);
}
}
#endif // __OVER_DUMMYUSBDI__
@@ -657,31 +575,19 @@
iDevices.AddLast(*aDevice);
// Also put an event on the event queue.
TDeviceEvent* const attachmentEvent = aDevice->GetAttachmentEventObject();
-
- if(!attachmentEvent)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP33, "Empty attachmentEvent");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(attachmentEvent);
attachmentEvent->iInfo.iVid = iDD.VendorId();
attachmentEvent->iInfo.iPid = iDD.ProductId();
attachmentEvent->iInfo.iError = KErrNone;
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEATTACHMENTL_DUP34, "Empty iEventQueue");
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AddDeviceEvent(*attachmentEvent);
- OstTrace1( TRACE_DUMP, CFDF_HANDLEDEVICEATTACHMENTL_DUP35, "***USB HOST STACK: SUCCESSFUL ATTACHMENT OF DEVICE (id %d)", aDeviceId );
-
- OstTraceFunctionExit0( CFDF_HANDLEDEVICEATTACHMENTL_EXIT );
+ LOGTEXT2(_L8("***USB HOST STACK: SUCCESSFUL ATTACHMENT OF DEVICE (id %d)"), aDeviceId);
}
void CFdf::DoDriverLoading(CDeviceProxy& aDevice)
{
- OstTraceFunctionEntry0( CFDF_DODRIVERLOADING_ENTRY );
+ LOG_FUNC
+
// Leaving or returning from DoDriverLoadingL is the trigger to put the
// 'driver loading' event object on the event queue. It must already have
// been populated correctly (the actual error code it left with doesn't
@@ -689,12 +595,7 @@
TRAP_IGNORE(DoDriverLoadingL(aDevice));
TDeviceEvent* const driverLoadingEvent = aDevice.GetDriverLoadingEventObject();
- if(!driverLoadingEvent)
- {
- OstTrace0( TRACE_FATAL, CFDF_DODRIVERLOADING, "Empty driverLoadingEvent" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(driverLoadingEvent);
// The driver loading event object says whether driver loading succeeded
// (all interfaces were claimed without error), partly succeeded (not all
// interfaces were claimed without error), or failed (no interfaces were
@@ -707,29 +608,22 @@
// power-saving reasons and is not critical.
(void)aDevice.Suspend();
}
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_DODRIVERLOADING_DUP1, "Empty iEventQueue" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AddDeviceEvent(*driverLoadingEvent);
- OstTraceFunctionExit0( CFDF_DODRIVERLOADING_EXIT );
}
void CFdf::DoDriverLoadingL(CDeviceProxy& aDevice)
{
- OstTraceFunctionEntry0( CFDF_DODRIVERLOADINGL_ENTRY );
+ LOG_FUNC
+
// Check whether driver loading is enabled.
if ( !iDriverLoadingEnabled )
{
// Complete driver load failure scenario.
aDevice.SetDriverLoadingEventData(EDriverLoadFailure, KErrUsbDriverLoadingDisabled);
-
- OstTrace1( TRACE_NORMAL, CFDF_DODRIVERLOADINGL, "Leave with error %d", KErrGeneral );
- User::Leave(KErrGeneral);
- }
+ LEAVEL(KErrGeneral);
+ }
// Set this member up so that when the FDC calls TokenForInterface we call
@@ -755,8 +649,7 @@
if (aDevice.HasIADFlag() && !functionDriverFound)
{
aDevice.SetDriverLoadingEventData(EDriverLoadFailure, KErrUsbUnsupportedDevice);
- OstTrace0( TRACE_NORMAL, CFDF_DODRIVERLOADINGL_DUP1, "Leave with function Driver not Found" );
- User::Leave(KErrGeneral);
+ LEAVEL(KErrGeneral);
}
// If a device FD is found then it is supposed to claim all the interfaces, if it didn't then report
// a partial success but don't offer unclaimed interfaces to any other FD.
@@ -774,19 +667,14 @@
// Whether all interfaces were taken, some, or none, collectedErr may have
// an error in it or KErrNone. We use specific error codes in some cases.
TUint unclaimedInterfaces = UnclaimedInterfaceCount();
- OstTrace1( TRACE_DUMP, CFDF_DODRIVERLOADINGL_DUP2, "unclaimedInterfaces = %d", unclaimedInterfaces );
- OstTrace1( TRACE_DUMP, CFDF_DODRIVERLOADINGL_DUP3, "anySuccess = %d", anySuccess );
- OstTrace1( TRACE_DUMP, CFDF_DODRIVERLOADINGL_DUP4, "collectedErr = %d", collectedErr );
- if(!(unclaimedInterfaces <= interfaceCount))
- {
- OstTrace0( TRACE_FATAL, CFDF_DODRIVERLOADINGL_DUP5, "interface Count error" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
-
+ LOGTEXT2(_L8("\tunclaimedInterfaces = %d"), unclaimedInterfaces);
+ LOGTEXT2(_L8("\tanySuccess = %d"), anySuccess);
+ LOGTEXT2(_L8("\tcollectedErr = %d"), collectedErr);
+ ASSERT_DEBUG(unclaimedInterfaces <= interfaceCount);
if(iDeviceDetachedTooEarly)
{
- OstTrace0( TRACE_NORMAL, CFDF_DODRIVERLOADINGL_DUP6, "Device has been detached too early!" );
+ LOGTEXT(_L8("\tDevice has been detached too early!"));
iDeviceDetachedTooEarly = EFalse;
// the choice of having the status to be EDriverLoadPartialSuccess
// was not to clash with trying to suspend the device because
@@ -802,7 +690,6 @@
SetFailureStatus(unclaimedInterfaces, interfaceCount, anySuccess, collectedErr, aDevice);
}// iDeviceDetachedTooEarly
- OstTraceFunctionExit0( CFDF_DODRIVERLOADINGL_EXIT );
}
// Recursive function, originally called with the configuration descriptor.
@@ -810,26 +697,26 @@
// bundle.
void CFdf::ParseL(TUsbGenericDescriptor& aDesc)
{
- OstTraceFunctionEntry0( CFDF_PARSEL_ENTRY );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL, "&aDesc = 0x%08x", &aDesc );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP1, "aDesc.ibDescriptorType = %d", aDesc.ibDescriptorType );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP2, "aDesc.iFirstChild = 0x%08x", aDesc.iFirstChild );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP3, "aDesc.iNextPeer = 0x%08x", aDesc.iNextPeer );
-
- if ( aDesc.ibDescriptorType == EInterface )
+ LOG_FUNC
+ LOGTEXT2(_L8("\t&aDesc = 0x%08x"), &aDesc);
+ LOGTEXT2(_L8("\taDesc.ibDescriptorType = %d"), aDesc.ibDescriptorType);
+ LOGTEXT2(_L8("\taDesc.iFirstChild = 0x%08x"), aDesc.iFirstChild);
+ LOGTEXT2(_L8("\taDesc.iNextPeer = 0x%08x"), aDesc.iNextPeer);
+
+ if ( aDesc.ibDescriptorType == EInterface )
{
// Add interface information to collection, but only if it's alternate
// setting 0.
const TUsbInterfaceDescriptor& ifDesc = static_cast<TUsbInterfaceDescriptor&>(aDesc);
if ( ifDesc.AlternateSetting() == 0 ) // hard-coded '0' means the default (initial configuration) setting
{
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP4, "ifDesc.InterfaceNumber = %d", ifDesc.InterfaceNumber() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP5, "ifDesc.NumEndpoints = %d", ifDesc.NumEndpoints() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP6, "ifDesc.InterfaceClass = 0x%02x", ifDesc.InterfaceClass() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP7, "ifDesc.InterfaceSubClass = 0x%02x", ifDesc.InterfaceSubClass() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP8, "ifDesc.InterfaceProtocol = 0x%02x", ifDesc.InterfaceProtocol() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP9, "ifDesc.Interface = %d", ifDesc.Interface() );
-
+ LOGTEXT2(_L8("\tifDesc.InterfaceNumber = %d"), ifDesc.InterfaceNumber());
+ LOGTEXT2(_L8("\tifDesc.NumEndpoints = %d"), ifDesc.NumEndpoints());
+ LOGTEXT2(_L8("\tifDesc.InterfaceClass = 0x%02x"), ifDesc.InterfaceClass());
+ LOGTEXT2(_L8("\tifDesc.InterfaceSubClass = 0x%02x"), ifDesc.InterfaceSubClass());
+ LOGTEXT2(_L8("\tifDesc.InterfaceProtocol = 0x%02x"), ifDesc.InterfaceProtocol());
+ LOGTEXT2(_L8("\tifDesc.Interface = %d"), ifDesc.Interface());
+
TInterfaceInfo* ifInfo = TInterfaceInfo::NewL(iInterfaces);
ifInfo->iNumber = ifDesc.InterfaceNumber();
ifInfo->iClass = ifDesc.InterfaceClass();
@@ -848,9 +735,10 @@
{
// OTG descriptor found
const TUsbOTGDescriptor& otgDesc = static_cast<TUsbOTGDescriptor&>(aDesc);
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP10, "otgDesc.Attributes = %d", otgDesc.Attributes() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP11, "otgDesc.HNPSupported = %d", otgDesc.HNPSupported() );
- OstTrace1( TRACE_DUMP, CFDF_PARSEL_DUP12, "otgDesc.SRPSupported = %d", otgDesc.SRPSupported() );
+
+ LOGTEXT2(_L8("\totgDesc.Attributes = %b"), otgDesc.Attributes());
+ LOGTEXT2(_L8("\totgDesc.HNPSupported = %d"), otgDesc.HNPSupported());
+ LOGTEXT2(_L8("\totgDesc.SRPSupported = %d"), otgDesc.SRPSupported());
iCurrentDevice->SetOtgDescriptorL(otgDesc);
}
@@ -866,7 +754,6 @@
{
ParseL(*nextPeer);
}
- OstTraceFunctionExit0( CFDF_PARSEL_EXIT );
}
// Method that uses only one array to hold the unclaimed interface numbers.
@@ -876,17 +763,13 @@
RArray<TUint>& aInterfacesNumberArray,
TInterfaceSearchKeys aKey)
{
- OstTraceFunctionEntry0( CFDF_FINDDRIVERSFORINTERFACESUSINGSPECIFICKEYL_ENTRY );
-
+ LOG_FUNC
+
const TUint interfaceCount = iInterfaces.Count();
for ( TUint ii = 0 ; ii < interfaceCount ; ++ii )
{
TInterfaceInfo* ifInfo = iInterfaces[ii];
- if(!ifInfo)
- {
- OstTrace0( TRACE_FATAL, CFDF_FINDDRIVERSFORINTERFACESUSINGSPECIFICKEYL, "Empty ifInfo" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(ifInfo);
if ((ifInfo->iClaimed) ||
(aKey == EVendorInterfacesubclassInterfaceprotocol && ifInfo->iClass != KVendorSpecificInterfaceClassValue)||
@@ -902,7 +785,8 @@
TBuf8<KMaxSearchKeyLength> searchKey;
FormatInterfaceSearchKey(searchKey, aKey, *ifInfo);
- OstTraceExt1( TRACE_NORMAL, CFDF_FINDDRIVERSFORINTERFACESUSINGSPECIFICKEYL_DUP1, "searchKey = \"%S\"", searchKey );
+
+ LOGTEXT2(_L8("\tsearchKey = \"%S\""), &searchKey);
// RArray<TUint>* array = &aInterfacesNumberArray;
FindDriverForInterfaceUsingSpecificKey(aDevice, aCollectedErr, aAnySuccess, aInterfacesNumberArray, searchKey);
@@ -911,7 +795,6 @@
// the searching have been done.
RebuildUnClaimedInterfacesArrayL(aDevice, aInterfacesNumberArray, ii+1);
}
- OstTraceFunctionExit0( CFDF_FINDDRIVERSFORINTERFACESUSINGSPECIFICKEYL_EXIT );
}
@@ -925,8 +808,9 @@
RArray<TUint>& aInterfacesGivenToFdc,
const TDesC8& aSearchKey)
{
- OstTraceFunctionEntry0( CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_ENTRY );
- OstTraceExt1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY, "aSearchKey = \"%S\"", aSearchKey );
+
+ LOG_FUNC
+ LOGTEXT2(_L8("\taSearchKey = \"%S\""), &aSearchKey);
// Find an FDC matching this search key.
TSglQueIter<CFdcProxy> iter(iFunctionDrivers);
@@ -935,8 +819,7 @@
while ( ( fdc = iter++ ) != NULL )
{
- OstTraceExt1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP1, "FDC's default_data field = \"%S\"", fdc->DefaultDataField() );
-
+ LOGTEXT2(_L8("\tFDC's default_data field = \"%S\""), &fdc->DefaultDataField());
#ifdef _DEBUG
// having these two together in the debug window is helpful for interactive debugging
TBuf8<KMaxSearchKeyLength > fd_key;
@@ -963,28 +846,27 @@
{
aDevice.SetMultipleDriversFlag();
}
- OstTrace1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP2, "found matching FDC (0x%08x)", fdc );
-
+
+ LOGTEXT2(_L8("\tfound matching FDC (0x%08x)"), fdc);
+#ifdef __FLOG_ACTIVE
const TUint count = aInterfacesGivenToFdc.Count();
- OstTrace1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP3, "logging aInterfacesGivenToFdc (interfaces being offered to the FDC): count = %d", count );
+ LOGTEXT2(_L8("\tlogging aInterfacesGivenToFdc (interfaces being offered to the FDC): count = %d"), count);
for ( TUint ii = 0 ; ii < count ; ++ii )
{
- OstTraceExt2( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP4,
- "index %u: interface number %u",
- ii, aInterfacesGivenToFdc[ii] );
- }
+ LOGTEXT3(_L8("\t\tindex %d: interface number %d"), ii, aInterfacesGivenToFdc[ii]);
+ }
+#endif
TInt err = fdc->NewFunction(aDevice.DeviceId(), aInterfacesGivenToFdc, iDD, iCD);
- OstTrace1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP5, "NewFunction returned %d", err );
-
+ LOGTEXT2(_L8("\tNewFunction returned %d"), err);
// To correctly determine whether the driver load for the whole
// configuration was a complete failure, a partial success or a
// complete success, we need to collect any non-KErrNone error
// from this, and whether any handovers worked at all.
if ( err == KErrNone )
{
- OstTraceExt2(TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP6,
- "***USB HOST STACK: THE FOLLOWING INTERFACES OF DEVICE %u WERE SUCCESSFULLY PASSED TO FUNCTION DRIVER WITH IMPL UID 0x%08x",
- (TInt32) aDevice.DeviceId(), fdc->ImplUid().iUid);
+#ifdef __FLOG_ACTIVE
+ LOGTEXT3(_L8("***USB HOST STACK: THE FOLLOWING INTERFACES OF DEVICE %d WERE SUCCESSFULLY PASSED TO FUNCTION DRIVER WITH IMPL UID 0x%08x"),
+ aDevice.DeviceId(), fdc->ImplUid());
// We want to log each interface that's in
// aInterfacesGivenToFdc AND is marked claimed in iInterfaces.
for ( TUint ii = 0 ; ii < aInterfacesGivenToFdc.Count() ; ++ii )
@@ -993,20 +875,16 @@
for ( TUint jj = 0 ; jj < iInterfaces.Count() ; ++jj )
{
const TInterfaceInfo* ifInfo = iInterfaces[jj];
-
- if(!ifInfo)
- {
- OstTrace0( TRACE_FATAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP7, "Empty ifInfo" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(ifInfo);
if ( ifNum == ifInfo->iNumber
&& ifInfo->iClaimed
)
{
- OstTrace1( TRACE_NORMAL, CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_DUP8, "***USB HOST STACK: bInterfaceNumber %d", ifNum );
+ LOGTEXT2(_L8("***USB HOST STACK: bInterfaceNumber %d"), ifNum);
}
}
}
+#endif
aAnySuccess = ETrue;
}
else
@@ -1017,13 +895,13 @@
break;
}
}
- OstTraceFunctionExit0( CFDF_FINDDRIVERFORINTERFACEUSINGSPECIFICKEY_EXIT );
}
void CFdf::HandleDeviceDetachment(TUint aDeviceId)
{
- OstTraceFunctionEntry0( CFDF_HANDLEDEVICEDETACHMENT_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEDETACHMENT, "aDeviceId = %d", aDeviceId );
+ LOG_FUNC
+ LOGTEXT2(_L8("\taDeviceId = %d"), aDeviceId);
+
#ifdef _DEBUG
TBool found = EFalse;
@@ -1041,24 +919,16 @@
#ifdef _DEBUG
found = ETrue;
#endif
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEDEVICEDETACHMENT_DUP1, "found matching device proxy" );
-
+ LOGTEXT(_L8("\tfound matching device proxy"));
+
iDevices.Remove(*device);
// Before destroying the device proxy, take the detachment event
// stored in it for the event queue.
TDeviceEvent* const detachmentEvent = device->GetDetachmentEventObject();
- if(!detachmentEvent)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEDETACHMENT_DUP2, "Empty detachmentEvent" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVICEDETACHMENT_DUP3, "Empty iEventQueue" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(detachmentEvent);
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AddDeviceEvent(*detachmentEvent);
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEDETACHMENT_DUP4, "***USB HOST STACK: DETACHMENT OF DEVICE (id %d)", aDeviceId );
+ LOGTEXT2(_L8("***USB HOST STACK: DETACHMENT OF DEVICE (id %d)"), aDeviceId);
delete device;
TellFdcsOfDeviceDetachment(aDeviceId);
@@ -1069,7 +939,7 @@
if (iDevices.IsEmpty())
{
TInt err = User::FreeLogicalDevice(KDriverUsbdiLddFileName);
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVICEDETACHMENT_DUP5, "FreeLogicalDevice( usbdi ) returned %d", err );
+ LOGTEXT2(_L8("\tFreeLogicalDevice( usbdi ) returned %d"), err);
}
#endif // __OVER_DUMMYUSBDI__
@@ -1080,32 +950,25 @@
#ifdef _DEBUG
if ( !found )
{
- OstTrace0( TRACE_NORMAL, CFDF_HANDLEDEVICEDETACHMENT_DUP6, "no matching device proxy found" );
+ LOGTEXT(_L8("\tno matching device proxy found"));
}
#endif
-
- OstTraceFunctionExit0( CFDF_HANDLEDEVICEDETACHMENT_EXIT );
}
void CFdf::HandleDevmonEvent(TInt aEvent)
{
- OstTraceFunctionEntry0( CFDF_HANDLEDEVMONEVENT_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_HANDLEDEVMONEVENT, "aEvent = %d", aEvent );
+ LOG_FUNC
+ LOGTEXT2(_L8("\taEvent = %d"), aEvent);
- if(!iEventQueue)
- {
- OstTrace0( TRACE_FATAL, CFDF_HANDLEDEVMONEVENT_DUP1, "Empty iEventQueue" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(iEventQueue);
iEventQueue->AddDevmonEvent(aEvent);
- OstTraceFunctionExit0( CFDF_HANDLEDEVMONEVENT_EXIT );
}
void CFdf::TellFdcsOfDeviceDetachment(TUint aDeviceId)
{
- OstTraceFunctionEntry0( CFDF_TELLFDCSOFDEVICEDETACHMENT_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_TELLFDCSOFDEVICEDETACHMENT, "aDeviceId = %d", aDeviceId );
-
+ LOG_FUNC
+ LOGTEXT2(_L8("\taDeviceId = %d"), aDeviceId);
+
TSglQueIter<CFdcProxy> iter(iFunctionDrivers);
iter.SetToFirst();
CFdcProxy* fdc;
@@ -1119,14 +982,12 @@
}
}
- OstTraceFunctionExit0( CFDF_TELLFDCSOFDEVICEDETACHMENT_EXIT );
}
TUint32 CFdf::TokenForInterface(TUint8 aInterface)
{
- OstTraceFunctionEntry0( CFDF_TOKENFORINTERFACE_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_TOKENFORINTERFACE, "aInterface = %d", aInterface );
-
+ LOG_FUNC
+ LOGTEXT2(_L8("\taInterface = %d"), aInterface);
TUint32 token = 0;
// Check that the interface was in the array given to the FD and mark it
@@ -1136,37 +997,21 @@
for ( TUint ii = 0 ; ii < interfaceCount ; ++ii )
{
TInterfaceInfo* ifInfo = iInterfaces[ii];
- if(!ifInfo)
- {
- OstTrace0( TRACE_FATAL, CFDF_TOKENFORINTERFACE_DUP1, "Empty ifInfo" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(ifInfo);
if ( ifInfo->iNumber == aInterface )
{
found = ETrue;
// The FDC tried to claim an interface that was already claimed.
- if(ifInfo->iClaimed)
- {
- OstTrace0( TRACE_FATAL, CFDF_TOKENFORINTERFACE_DUP2, "iClaimed error" );
- User::Panic(KPanicCategory,__LINE__);
- }
+ ASSERT_ALWAYS(!ifInfo->iClaimed);
ifInfo->iClaimed = ETrue;
break;
}
}
// Could not find interface in the interface array- the FDC tried to claim
// an interface it had not been offered.
- if(!found)
- {
- OstTrace0( TRACE_FATAL, CFDF_TOKENFORINTERFACE_DUP3, "not found" );
- User::Panic(KPanicCategory,__LINE__);
- }
+ ASSERT_ALWAYS(found);
- if(!iCurrentDevice)
- {
- OstTrace0( TRACE_FATAL, CFDF_TOKENFORINTERFACE_DUP4, "Empty iCurrentDevice" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(iCurrentDevice);
// GetTokenForInterface will return error in the following cases:
// 1/ KErrBadHandle: invalid device handle (the CDeviceProxy asserts that
@@ -1194,23 +1039,21 @@
break;
default:
- OstTraceExt2( TRACE_FATAL, CFDF_TOKENFORINTERFACE_DUP5, "Unexpected error %d when requesting token for aInterface %d",err,aInterface);
- User::Panic(KPanicCategory,__LINE__);
+ LOGTEXT3(_L8("\tUnexpected error %d when requesting token for aInterface %d"),err,aInterface);
+ ASSERT_ALWAYS(0);
break;
}
- OstTraceExt2( TRACE_NORMAL, CFDF_TOKENFORINTERFACE_DUP6,
- "Token for interface %hhu is = %u",aInterface, token);
-
- OstTraceFunctionExit0( CFDF_TOKENFORINTERFACE_EXIT );
+ LOGTEXT3(_L8("\tToken for interface %d is = %d"),aInterface, token);
+
return token;
}
CDeviceProxy* CFdf::DeviceProxyL(TUint aDeviceId) const
{
- OstTraceFunctionEntry0( CFDF_DEVICEPROXYL_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_DEVICEPROXYL, "aDeviceId = %d", aDeviceId );
-
+ LOG_FUNC
+ LOGTEXT2(_L8("\taDeviceId = %d"), aDeviceId);
+
TSglQueIter<CDeviceProxy> iter(const_cast<CFdf*>(this)->iDevices);
iter.SetToFirst();
CDeviceProxy* device = NULL;
@@ -1218,74 +1061,66 @@
{
if ( device->DeviceId() == aDeviceId )
{
- OstTrace1( TRACE_NORMAL, CFDF_DEVICEPROXYL_DUP1, "device = 0x%08x", device );
- OstTraceFunctionExit0( CFDF_DEVICEPROXYL_EXIT );
+ LOGTEXT2(_L8("\tdevice = 0x%08x"), device);
return device;
}
}
- OstTrace0( TRACE_NORMAL, CFDF_DEVICEPROXYL_DUP2, "KErrNotFound");
- User::Leave(KErrNotFound);
- OstTraceFunctionExit0( CFDF_DEVICEPROXYL_EXIT_DUP1 );
+ LEAVEL(KErrNotFound);
return NULL; // avoid warning
}
const RArray<TUint>& CFdf::GetSupportedLanguagesL(TUint aDeviceId) const
{
- OstTraceFunctionEntry0( CFDF_GETSUPPORTEDLANGUAGESL_ENTRY );
- OstTrace1( TRACE_NORMAL, CFDF_GETSUPPORTEDLANGUAGESL, "aDeviceId = %d", aDeviceId );
-
+ LOG_FUNC
+ LOGTEXT2(_L8("\taDeviceId = %d"), aDeviceId);
+
CDeviceProxy* deviceProxy = DeviceProxyL(aDeviceId);
return deviceProxy->GetSupportedLanguages();
}
void CFdf::GetManufacturerStringDescriptorL(TUint aDeviceId, TUint32 aLangId, TName& aString) const
{
- OstTraceFunctionEntry0( CFDF_GETMANUFACTURERSTRINGDESCRIPTORL_ENTRY );
- OstTraceExt2( TRACE_NORMAL, CFDF_GETMANUFACTURERSTRINGDESCRIPTORL,
- "aDeviceId = %u, aLangId = 0x%08x", (TUint32)aDeviceId, aLangId );
-
+ LOG_FUNC
+ LOGTEXT3(_L8("\taDeviceId = %d, aLangId = 0x%04x"), aDeviceId, aLangId);
+
CDeviceProxy* deviceProxy = DeviceProxyL(aDeviceId);
deviceProxy->GetManufacturerStringDescriptorL(aLangId, aString);
- OstTraceExt1( TRACE_NORMAL, CFDF_GETMANUFACTURERSTRINGDESCRIPTORL_DUP1, "aString = \"%S\"", aString );
- OstTraceFunctionExit0( CFDF_GETMANUFACTURERSTRINGDESCRIPTORL_EXIT );
+ LOGTEXT2(_L("\taString = \"%S\""), &aString);
}
void CFdf::GetProductStringDescriptorL(TUint aDeviceId, TUint32 aLangId, TName& aString) const
{
- OstTraceFunctionEntry0( CFDF_GETPRODUCTSTRINGDESCRIPTORL_ENTRY );
- OstTraceExt2( TRACE_NORMAL, CFDF_GETPRODUCTSTRINGDESCRIPTORL,
- "aDeviceId = %u, aLangId = 0x%04x", (TUint32)aDeviceId, aLangId );
+ LOG_FUNC
+ LOGTEXT3(_L8("\taDeviceId = %d, aLangId = 0x%04x"), aDeviceId, aLangId);
CDeviceProxy* deviceProxy = DeviceProxyL(aDeviceId);
deviceProxy->GetProductStringDescriptorL(aLangId, aString);
- OstTraceExt1( TRACE_NORMAL, CFDF_GETPRODUCTSTRINGDESCRIPTORL_DUP1, "aString = \"%S\"", aString );
- OstTraceFunctionExit0( CFDF_GETPRODUCTSTRINGDESCRIPTORL_EXIT );
+ LOGTEXT2(_L("\taString = \"%S\""), &aString);
}
void CFdf::GetOtgDeviceDescriptorL(TInt aDeviceId, TOtgDescriptor& aDescriptor) const
{
- OstTraceFunctionEntry0( CFDF_GETOTGDEVICEDESCRIPTORL_ENTRY );
+ LOG_FUNC
DeviceProxyL(aDeviceId)->GetOtgDescriptorL(aDescriptor);
- OstTraceFunctionExit0( CFDF_GETOTGDEVICEDESCRIPTORL_EXIT );
}
void CFdf::GetSerialNumberStringDescriptorL(TUint aDeviceId, TUint32 aLangId, TName& aString) const
{
- OstTraceFunctionEntry0( CFDF_GETSERIALNUMBERSTRINGDESCRIPTORL_ENTRY );
- OstTraceExt2( TRACE_NORMAL, CFDF_GETSERIALNUMBERSTRINGDESCRIPTORL,
- "aDeviceId = %u, aLangId = 0x%08x", (TUint32)aDeviceId, aLangId );
+ LOG_FUNC
+ LOGTEXT3(_L8("\taDeviceId = %d, aLangId = 0x%04x"), aDeviceId, aLangId);
CDeviceProxy* deviceProxy = DeviceProxyL(aDeviceId);
deviceProxy->GetSerialNumberStringDescriptorL(aLangId, aString);
- OstTraceExt1( TRACE_NORMAL, CFDF_GETSERIALNUMBERSTRINGDESCRIPTORL_DUP1, "aString = \"%S\"", aString );
- OstTraceFunctionExit0( CFDF_GETSERIALNUMBERSTRINGDESCRIPTORL_EXIT );
+ LOGTEXT2(_L("\taString = \"%S\""), &aString);
}
void CFdf::SearchForInterfaceFunctionDriversL(CDeviceProxy& aDevice, TBool& aAnySuccess, TInt& aCollectedErr)
{
RArray<TUint> interfacesNumberArray;
CleanupClosePushL(interfacesNumberArray);
+
+
for ( TUint ii = 0 ; ii < iInterfaces.Count() ; ++ii )
{
@@ -1337,9 +1172,8 @@
TInt err = aArray.Append(aInterfaceNo);
if ( err )
{
- aDevice.SetDriverLoadingEventData(EDriverLoadFailure, err);
- OstTrace1( TRACE_NORMAL, CFDF_APPENDINTERFACENUMBERTOARRAYL, "Leave with error: %d", err );
- User::Leave(err);
+ aDevice.SetDriverLoadingEventData(EDriverLoadFailure, err);
+ LEAVEL(err);
}
}
@@ -1381,15 +1215,15 @@
{
if (fdc->MarkedForDeletion())
continue;
- OstTraceExt1( TRACE_NORMAL, CFDF_SEARCHFORADEVICEFUNCTIONDRIVERL, "FDC's default_data field = \"%S\"", fdc->DefaultDataField());
-
+ LOGTEXT2(_L8("\tFDC's default_data field = \"%S\""), &fdc->DefaultDataField());
+#ifdef _DEBUG
// having these two together in the debug window is helpful for interactive debugging
TBuf8<KMaxSearchKeyLength> fd_key;
fd_key.Append(fdc->DefaultDataField().Ptr(), fdc->DefaultDataField().Length() > KMaxSearchKeyLength ? KMaxSearchKeyLength : fdc->DefaultDataField().Length());
TBuf8<KMaxSearchKeyLength> search_key;
search_key.Append(searchKeyString.Ptr(), searchKeyString.Length() > KMaxSearchKeyLength ? KMaxSearchKeyLength : searchKeyString.Length());
TInt version = fdc->Version();
-
+#endif
if (searchKeyString.CompareF(fdc->DefaultDataField()) == 0)
{
@@ -1407,9 +1241,9 @@
}
foundFdc = ETrue;
- OstTrace1( TRACE_NORMAL, CFDF_SEARCHFORADEVICEFUNCTIONDRIVERL_DUP1, "found matching FDC (0x%08x)", fdc );
+ LOGTEXT2(_L8("\tfound matching FDC (0x%08x)"), fdc);
TInt err = fdc->NewFunction(aDevice.DeviceId(), interfaces, iDD, iCD);
- OstTrace1( TRACE_NORMAL, CFDF_SEARCHFORADEVICEFUNCTIONDRIVERL_DUP2, "NewFunction returned %d", err);
+ LOGTEXT2(_L8("\tNewFunction returned %d"), err);
// To correctly determine whether the driver load for the whole
// configuration was a complete failure, a partial success or a
// complete success, we need to collect any non-KErrNone error
@@ -1457,8 +1291,7 @@
//
void CFdf::FormatDeviceSearchKey(TDes8& aSearchKey, TDeviceSearchKeys aDeviceSearchKeys)
{
- OstTraceFunctionEntry0( CFDF_FORMATDEVICESEARCHKEY_ENTRY );
-
+ LOG_FUNC
switch (aDeviceSearchKeys)
{
case EVendorProductDevice:
@@ -1498,13 +1331,12 @@
break;
}
default:
- {
- OstTrace1( TRACE_FATAL, CFDF_FORMATDEVICESEARCHKEY, "Invalid aDeviceSearchKeys=%d", aDeviceSearchKeys );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
+ {
+ ASSERT_DEBUG(EFalse);
}
}
- OstTraceExt1( TRACE_NORMAL, CFDF_FORMATDEVICESEARCHKEY_DUP1, "aSearchKey = \"%s\"", aSearchKey );
- OstTraceFunctionExit0( CFDF_FORMATDEVICESEARCHKEY_EXIT );
+
+ LOGTEXT2(_L8("\taSearchKey = \"%S\""), &aSearchKey);
}
@@ -1516,8 +1348,7 @@
//
void CFdf::FormatInterfaceSearchKey(TDes8& aSearchKey, TInterfaceSearchKeys aSearchKeys, const TInterfaceInfo& aIfInfo)
{
- OstTraceFunctionEntry0( CFDF_FORMATINTERFACESEARCHKEY_ENTRY );
-
+ LOG_FUNC
switch (aSearchKeys)
{
case EVendorProductDeviceConfigurationvalueInterfacenumber:
@@ -1558,37 +1389,28 @@
}
default:
{
- OstTrace1( TRACE_FATAL, CFDF_FORMATINTERFACESEARCHKEY, "Invalid aSearchKeys=%d", aSearchKeys );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
+ ASSERT_DEBUG(EFalse);
}
}
- OstTraceExt1( TRACE_NORMAL, CFDF_FORMATINTERFACESEARCHKEY_DUP1, "aSearchKey = \"%s\"", aSearchKey );
- OstTraceFunctionExit0( CFDF_FORMATINTERFACESEARCHKEY_EXIT );
+ LOGTEXT2(_L8("\taSearchKey = \"%S\""), &aSearchKey);
}
TUint CFdf::UnclaimedInterfaceCount() const
{
- OstTraceFunctionEntry0( CFDF_UNCLAIMEDINTERFACECOUNT_ENTRY );
-
+ LOG_FUNC
TUint unclaimedInterfaces = 0;
for ( TUint ii = 0 ; ii < iInterfaces.Count() ; ++ii )
{
TInterfaceInfo* ifInfo = iInterfaces[ii];
-
- if(!ifInfo)
- {
- OstTrace0( TRACE_FATAL, CFDF_UNCLAIMEDINTERFACECOUNT, "Empty ifInfo" );
- __ASSERT_DEBUG(EFalse,User::Panic(KPanicCategory,__LINE__));
- }
+ ASSERT_DEBUG(ifInfo);
if ( !ifInfo->iClaimed )
{
- OstTrace1( TRACE_NORMAL, CFDF_UNCLAIMEDINTERFACECOUNT_DUP1, "unclaimed interface: ifInfo->iNumber = %d", ifInfo->iNumber );
+ LOGTEXT2(_L8("\tunclaimed interface: ifInfo->iNumber = %d"), ifInfo->iNumber);
++unclaimedInterfaces;
}
}
- OstTrace1( TRACE_NORMAL, CFDF_UNCLAIMEDINTERFACECOUNT_DUP2, "unclaimedInterfaces = \"%d\"", unclaimedInterfaces );
- OstTraceFunctionExit0( CFDF_UNCLAIMEDINTERFACECOUNT_EXIT );
+ LOGTEXT2(_L("\tunclaimedInterfaces = \"%d\""), unclaimedInterfaces);
return unclaimedInterfaces;
}