diff -r f92a4f87e424 -r 012cc2ee6408 usbmgmt/usbmgr/device/classdrivers/acm/classimplementation/ecacm/src/CdcAcmClass.cpp --- a/usbmgmt/usbmgr/device/classdrivers/acm/classimplementation/ecacm/src/CdcAcmClass.cpp Tue Aug 31 17:01:47 2010 +0300 +++ b/usbmgmt/usbmgr/device/classdrivers/acm/classimplementation/ecacm/src/CdcAcmClass.cpp Wed Sep 01 12:35:00 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 1997-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" @@ -22,9 +22,10 @@ #include "AcmUtils.h" #include "HostPushedChangeObserver.h" #include "BreakController.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "CdcAcmClassTraces.h" +#include + +#ifdef __FLOG_ACTIVE +_LIT8(KLogComponent, "ECACM"); #endif extern const TInt32 KUsbAcmHostCanHandleZLPs = 0; @@ -34,9 +35,7 @@ * Constructor. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_CCDCACMCLASS_CONS_ENTRY ); SetDefaultAcm(); - OstTraceFunctionExit0( CCDCACMCLASS_CCDCACMCLASS_CONS_EXIT ); } CCdcAcmClass* CCdcAcmClass::NewL(const TUint8 aProtocolNum, const TDesC16& aAcmControlIfcName, const TDesC16& aAcmDataIfcName) @@ -46,12 +45,12 @@ * @return Ownership of a new CCdcAcmClass object */ { - OstTraceFunctionEntry0( CCDCACMCLASS_NEWL_ENTRY ); + LOG_STATIC_FUNC_ENTRY + CCdcAcmClass* self = new(ELeave) CCdcAcmClass; CleanupStack::PushL(self); self->ConstructL(aProtocolNum, aAcmControlIfcName, aAcmDataIfcName); CLEANUPSTACK_POP(self); - OstTraceFunctionExit0( CCDCACMCLASS_NEWL_EXIT ); return self; } @@ -63,41 +62,32 @@ * @param aDataIfcName contains the interface name */ { - OstTraceFunctionEntry0( CCDCACMCLASS_CONSTRUCTL_ENTRY ); - TUint8 interfaceNumber; TInt res; - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL, "CCdcAcmClass::ConstructL;\tabout to create control interface with name" ); + LOGTEXT(_L8("\tabout to create control interface with name")); iControl = CCdcControlInterface::NewL(*this, aProtocolNum, aControlIfcName); - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL_DUP1, "CCdcAcmClass::ConstructL;\tabout to create data interface with name" ); + LOGTEXT(_L8("\tabout to create data interface with name")); iData = CCdcDataInterface::NewL(aDataIfcName); iBreakController = CBreakController::NewL(*this); - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL_DUP2, "CCdcAcmClass::ConstructL;\tabout to call GetInterfaceNumber" ); + LOGTEXT(_L8("\tabout to call GetInterfaceNumber")); res = iData->GetInterfaceNumber(interfaceNumber); if ( res ) { - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL_DUP3, "CCdcAcmClass::ConstructL;\tGetInterfaceNumber=%d", res ); - if (res < 0) - { - User::Leave(res); - } + LOGTEXT2(_L8("\tGetInterfaceNumber=%d"), res); + LEAVEIFERRORL(res); } - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL_DUP4, "CCdcAcmClass::ConstructL;\tabout to call SetupClassSpecificDescriptor" ); + LOGTEXT(_L8("\tabout to call SetupClassSpecificDescriptor")); res = iControl->SetupClassSpecificDescriptor(interfaceNumber); if ( res ) { - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_CONSTRUCTL_DUP5, "CCdcAcmClass::ConstructL;\tSetupClassSpecificDescriptor=%d", res ); - if (res < 0) - { - User::Leave(res); - } + LOGTEXT2(_L8("\tSetupClassSpecificDescriptor=%d"), res); + LEAVEIFERRORL(res); } - OstTraceFunctionExit0( CCDCACMCLASS_CONSTRUCTL_EXIT ); } CCdcAcmClass::~CCdcAcmClass() @@ -105,11 +95,11 @@ * Destructor. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_CCDCACMCLASS_DES_ENTRY ); + LOG_FUNC + delete iControl; delete iData; delete iBreakController; - OstTraceFunctionExit0( CCDCACMCLASS_CCDCACMCLASS_DES_EXIT ); } void CCdcAcmClass::SetCallback(MHostPushedChangeObserver* aCallback) @@ -118,8 +108,8 @@ * because the ACM class and the port have different lifetimes. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_SETCALLBACK_ENTRY ); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_SETCALLBACK, "CCdcAcmClass::SetCallback;aCallback=%p", aCallback ); + LOGTEXT2(_L8(">>CCdcAcmClass::SetCallback aCallback=0x%08x"), aCallback); + iCallback = aCallback; // remember that this function can also be called to @@ -137,7 +127,7 @@ iCallback->HostSignalChange(iDtrState,iRtsState); } - OstTraceFunctionExit0( CCDCACMCLASS_SETCALLBACK_EXIT ); + LOGTEXT(_L8("<>CCdcAcmClass::SetBreakCallback aBreakCallback=0x%08x"), + aBreakCallback); + iBreakCallback = aBreakCallback; - OstTraceFunctionExit0( CCDCACMCLASS_SETBREAKCALLBACK_EXIT ); + + LOGTEXT(_L8("<>CCdcAcmClass::ReadOneOrMore aObserver=0x%08x"), + &aObserver); + ReadOneOrMore(aObserver, aDes, aDes.Length()); - OstTraceFunctionExit0( CCDCACMCLASS_READONEORMORE_EXIT ); + + LOGTEXT(_L8("<>CCdcAcmClass::ReadOneOrMore aObserver=0x%08x, " + "aLength=%d"), + &aObserver, aLength); - if (!iData) - { - OstTrace1( TRACE_FATAL, CCDCACMCLASS_READONEORMORE_MREADONEORMOREOBSERVERREF_TDES8REF_TINT_DUP1, "CCdcAcmClass::ReadOneOrMore;iData=%d", (TInt)iData ); - __ASSERT_DEBUG( EFalse, User::Panic(KAcmPanicCat, EPanicInternalError) ); - } + __ASSERT_DEBUG(iData, _USB_PANIC(KAcmPanicCat, EPanicInternalError)); iData->ReadOneOrMore(aObserver, aDes, aLength); - OstTraceFunctionExit0( CCDCACMCLASS_READONEORMORE_MREADONEORMOREOBSERVERREF_TDES8REF_TINT_EXIT ); + LOGTEXT(_L8("<>CCdcAcmClass::Read aObserver=0x%08x"), &aObserver); + Read(aObserver, aDes, aDes.Length()); - OstTraceFunctionExit0( CCDCACMCLASS_READ_EXIT ); + + LOGTEXT(_L8("<>CCdcAcmClass::Read aObserver=0x%08x, aLength=%d"), + &aObserver, aLength); + + __ASSERT_DEBUG(iData, _USB_PANIC(KAcmPanicCat, EPanicInternalError)); iData->Read(aObserver, aDes, aLength); - OstTraceFunctionExit0( CCDCACMCLASS_READ_ENTRY_DUP1_EXIT ); + + LOGTEXT(_L8("<CancelRead(); - OstTraceFunctionExit0( CCDCACMCLASS_READCANCEL_EXIT ); } void CCdcAcmClass::Write(MWriteObserver& aObserver, const TDesC8& aDes) @@ -249,10 +233,12 @@ * @param aDes Descriptor containing the data to be written. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_WRITE_ENTRY ); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_WRITE, "CCdcAcmClass::Write;aObserver=%p", &aObserver ); + LOGTEXT2(_L8(">>CCdcAcmClass::Write aObserver=0x%08x"), + &aObserver); + Write(aObserver, aDes, aDes.Length()); - OstTraceFunctionExit0( CCDCACMCLASS_WRITE_EXIT ); + + LOGTEXT(_L8("<>CCdcAcmClass::Write aObserver=0x%08x, aLength=%d"), + &aObserver, aLength); + + __ASSERT_DEBUG(iData, _USB_PANIC(KAcmPanicCat, EPanicInternalError)); iData->Write(aObserver, aDes, aLength); - OstTraceFunctionExit0( CCDCACMCLASS_WRITE_ENTRY_DUP1_EXIT ); + + LOGTEXT(_L8("<CancelWrite(); - OstTraceFunctionExit0( CCDCACMCLASS_WRITECANCEL_EXIT ); } TInt CCdcAcmClass::HandleGetCommFeature(const TUint16 aSelector, @@ -302,8 +282,9 @@ * the ACM device or the country code from ISO 3166. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_HANDLEGETCOMMFEATURE_ENTRY ); - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE, "CCdcAcmClass::HandleGetCommFeature;aSelector=%d", (TInt)aSelector ); + LOGTEXT2(_L8(">>CCdcAcmClass::HandleGetCommFeature aSelector=%d"), + aSelector); + TInt ret = KErrNone; // check the feature selector from the header and reject if invalid, @@ -320,8 +301,8 @@ ppbuffer = &pbuffer; CCdcControlInterface::PutU16(ppbuffer,iAcmState); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE_DUP1, - "CCdcAcmClass::HandleGetCommFeature;\tAbstract State [0x%hx]", iAcmState ); + + LOGTEXT2(_L8("\tAbstract State [0x%04X]"), iAcmState); } break; @@ -330,8 +311,7 @@ #if defined(DISABLE_ACM_CF_COUNTRY_SETTING) aReturnData.SetLength(0); - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE_DUP2, - "CCdcAcmClass::HandleGetCommFeature;\tCountry Code Not Supported" ); + LOGTEXT(_L8("\tCountry Code Not Supported")); ret = KErrNotSupported; #elif defined(ENABLE_ACM_CF_COUNTRY_SETTING) @@ -344,21 +324,20 @@ ppbuffer = &pbuffer; CCdcControlInterface::PutU16(ppbuffer,iCountryCode); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE_DUP3, - "CCdcAcmClass::HandleGetCommFeature;\tCountry Code [0x%hx]", iCountryCode ); + + LOGTEXT2(_L8("\tCountry Code [0x%04X]"), iCountryCode); + #endif } break; default: aReturnData.SetLength(0); - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE_DUP4, "CCdcAcmClass::HandleGetCommFeature;\tBad Selector" ); + LOGTEXT(_L8("\tBad Selector")); ret = KErrUnknown; } - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLEGETCOMMFEATURE_DUP5, - "CCdcAcmClass::HandleGetCommFeature;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLEGETCOMMFEATURE_EXIT ); + LOGTEXT2(_L8("<>CCdcAcmClass::HandleClearCommFeature aSelector=%d"), + aSelector); + TInt ret = KErrNone; // check the feature selector from the header and reject if invalid, @@ -380,24 +360,21 @@ { // reset to guaranteed-success default, so ignore return value static_cast(HandleNewAbstractState(EUsbAbstractStateDataMultiplex)); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_HANDLECLEARCOMMFEATURE_DUP1, - "CCdcAcmClass::HandleClearCommFeature;\tAbstract State [0x%hx]", iAcmState ); + LOGTEXT2(_L8("\tAbstract State [0x%04X]"), iAcmState); } break; case EUsbCommFeatureSelectCountryCode: { #if defined(DISABLE_ACM_CF_COUNTRY_SETTING) - - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLECLEARCOMMFEATURE_DUP2, - "CCdcAcmClass::HandleClearCommFeature;\tCountry Code Not Supported" ); + + LOGTEXT(_L8("\tCountry Code Not Supported")); ret = KErrNotSupported; #elif defined(ENABLE_ACM_CF_COUNTRY_SETTING) HandleNewCountryCode(KUsbCommCountryCode0); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_HANDLECLEARCOMMFEATURE_DUP3, - "CCdcAcmClass::HandleClearCommFeature;\tCountry Code [0x%hx]", iCountryCode ); + LOGTEXT2(_L8("\tCountry Code [0x%04X]"), iCountryCode); #endif } @@ -405,13 +382,12 @@ default: { - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLECLEARCOMMFEATURE_DUP4, "CCdcAcmClass::HandleClearCommFeature;\tBad Selector" ); + LOGTEXT(_L8("\tBad Selector")); ret = KErrUnknown; } } - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLECLEARCOMMFEATURE_DUP5, "CCdcAcmClass::HandleClearCommFeature;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLECLEARCOMMFEATURE_EXIT ); + LOGTEXT2(_L8("<HostConfigChange(epocConfig); } - OstTraceFunctionExit0( CCDCACMCLASS_HANDLESETLINECODING_EXIT_DUP1 ); return KErrNone; } @@ -473,8 +446,6 @@ * defaults. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_SETDEFAULTACM_ENTRY ); - iUsbConfig.iRate = 115200; iUsbConfig.iStopBits = EUsbStopBitOne; iUsbConfig.iParity = EUsbParityNone; @@ -496,7 +467,6 @@ iDcdState = EFalse; iBreakActive = EFalse; - OstTraceFunctionExit0( CCDCACMCLASS_SETDEFAULTACM_EXIT ); } void CCdcAcmClass::ConvertUsbConfigCodingToEpoc(const TUsbConfig& aUsbConfig, @@ -509,8 +479,6 @@ * @param aEpocConfig The EPOC configuration to be converted to. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_CONVERTUSBCONFIGCODINGTOEPOC_ENTRY ); - switch ( aUsbConfig.iDataBits ) { case EUsbDataBitsFive: @@ -617,7 +585,6 @@ break; } } - OstTraceFunctionExit0( CCDCACMCLASS_CONVERTUSBCONFIGCODINGTOEPOC_EXIT ); } TInt CCdcAcmClass::HandleNewAbstractState(const TUint16 aAbstractState) @@ -631,12 +598,14 @@ * D1 controls 'data multiplexed state' -> iAcmDataMultiplex */ { - OstTraceFunctionEntry0( CCDCACMCLASS_HANDLENEWABSTRACTSTATE_ENTRY ); - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLENEWABSTRACTSTATE, "CCdcAcmClass::HandleNewAbstractState;aAbstractState=%d", (TInt)aAbstractState ); + LOGTEXT2(_L8(">>CCdcAcmClass::HandleNewAbstractState aAbstractState=%d"), + aAbstractState); TBool multiplex; TBool idle; + TUint16 newstate; + TInt ret; // collect local booleans from incoming combo ready to do local @@ -687,23 +656,21 @@ // informed, note that the callback may not have been placed. if( iAcmState != newstate ) { - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_HANDLENEWABSTRACTSTATE_DUP1, - "CCdcAcmClass::HandleNewAbstractState;\tNew Combo [0x%hx]", newstate ); + LOGTEXT2(_L8("\tNew Combo [0x%04X]"), newstate); if ( iCallback ) { // If there was such a function in class // MHostPushedChangeObserver, notify // via iCallback->HostAbstractStateChange(newstate); - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLENEWABSTRACTSTATE_DUP2, - "CCdcAcmClass::HandleNewAbstractState;\tHas No Notification Method in class MHostPushedChangeObserver" ); + LOGTEXT(_L8("\tHas No Notification Method in class MHostPushedChangeObserver")); } } // and save the new state ready for next check iAcmState = newstate; - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLENEWABSTRACTSTATE_DUP3, "CCdcAcmClass::HandleNewAbstractState;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLENEWABSTRACTSTATE_EXIT ); + + LOGTEXT2(_L8("<>CCdcAcmClass::HandleNewCountryCode aCountryCode=%d"), + aCountryCode); + TInt ret; #if defined(DISABLE_ACM_CF_COUNTRY_SETTING) @@ -739,8 +707,7 @@ #endif - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLENEWCOUNTRYCODE_DUP1, "CCdcAcmClass::HandleNewCountryCode;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLENEWCOUNTRYCODE_EXIT ); + LOGTEXT2(_L8("<>CCdcAcmClass::HandleSetCommFeature aSelector=%d"), + aSelector); // reject any message that has malformed data if ( aData.Length() != 2 ) { - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP1, - "CCdcAcmClass::HandleSetCommFeature;\t***aData.Length (%d) incorrect", aData.Length() ); - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP2, - "CCdcAcmClass::HandleSetCommFeature;ret=%d", KErrArgument ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLESETCOMMFEATURE_EXIT ); + LOGTEXT2(_L8("\t***aData.Length (%d) incorrect"), aData.Length()); + LOGTEXT2(_L8("<[%hu]", - ret, iAcmState, newstate ); + + LOGTEXT4(_L8("\tHandleNewAbstractState=%d [0x%04X]->[0x%04X]"), + ret, iAcmState, newstate); } } break; @@ -825,7 +792,7 @@ { #if defined(DISABLE_ACM_CF_COUNTRY_SETTING) - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP4, "CCdcAcmClass::HandleSetCommFeature;Country Code Not Supported" ); + LOGTEXT(_L8("Country Code Not Supported")); ret = KErrNotSupported; #elif defined(ENABLE_ACM_CF_COUNTRY_SETTING) @@ -842,8 +809,9 @@ if( newcountry != iCountryCode ) { ret = HandleNewCountryCode(newcountry); - OstTraceExt3( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP5, - "CCdcAcmClass::HandleSetCommFeature;\tHandleNewCountryCode=%d [%u]->[%u]", ret, iCountryCode, newcountry ); + + LOGTEXT4(_L8("\tHandleNewCountryCode=%d [0x%04X]->[0x%04X]"), + ret, iCountryCode, newcountry); } #endif @@ -852,12 +820,12 @@ default: { - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP6, "CCdcAcmClass::HandleSetCommFeature;\tBad Selector" ); + LOGTEXT(_L8("\tBad Selector")); ret = KErrUnknown; } } - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCOMMFEATURE_DUP7, "CCdcAcmClass::HandleSetCommFeature;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLESETCOMMFEATURE_EXIT_DUP1 ); + + LOGTEXT2(_L8("<(iUsbConfig.iParity )); CCdcControlInterface::PutU08(ppbuffer, static_cast(iUsbConfig.iDataBits)); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLEGETLINECODING_EXIT ); return KErrNone; } @@ -896,9 +864,9 @@ * @param aDtrState DTR state. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_HANDLESETCONTROLLINESTATE_ENTRY ); - OstTraceExt2( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCONTROLLINESTATE, - "CCdcAcmClass::HandleSetControlLineState;aRtsState=%d;aDtrState=%d", (TInt)aRtsState, (TInt)aDtrState ); + LOGTEXT3(_L8(">>CCdcAcmClass::HandleSetControlLineState aRtsState=%d, " + "aDtrState=%d"), + aRtsState, aDtrState); iRtsState = aRtsState; iDtrState = aDtrState; @@ -907,8 +875,7 @@ iCallback->HostSignalChange(iDtrState,iRtsState); } - OstTrace0( TRACE_NORMAL, CCDCACMCLASS_HANDLESETCONTROLLINESTATE_DUP1, "CCdcAcmClass::HandleSetControlLineState;ret=0" ); - OstTraceFunctionExit0( CCDCACMCLASS_HANDLESETCONTROLLINESTATE_EXIT ); + LOGTEXT(_L8("<>CCdcAcmClass::SendSerialState aRing=%d, " + "aDsr=%d, aDcd=%d"), + aRing, aDsr, aDcd); // stub non-supported flags TBool overrun = EFalse; @@ -985,8 +952,7 @@ aDsr, aDcd); - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_SENDSERIALSTATE_DUP1, "CCdcAcmClass::SendSerialState;ret=%d", ret ); - OstTraceFunctionExit0( CCDCACMCLASS_SENDSERIALSTATE_EXIT ); + LOGTEXT2(_L8("<BreakRequest(aRequester, aState, aDelay); - OstTrace1( TRACE_NORMAL, CCDCACMCLASS_BREAKREQUEST_DUP1, "CCdcAcmClass::BreakRequest;err=%d", err ); - OstTraceFunctionExit0( CCDCACMCLASS_BREAKREQUEST_EXIT ); + LOGTEXT2(_L8("\tBreakRequest = %d"), err); return err; } @@ -1108,16 +1056,12 @@ * @param aObserver The observer to notify completion to. */ { - OstTraceFunctionEntry0( CCDCACMCLASS_NOTIFYDATAAVAILABLE_ENTRY ); - OstTraceExt1( TRACE_NORMAL, CCDCACMCLASS_NOTIFYDATAAVAILABLE, "CCdcAcmClass::NotifyDataAvailable;aObserver=%p", &aObserver ); + LOGTEXT2(_L8(">>CCdcAcmClass::NotifyDataAvailable aObserver=0x%08x"), &aObserver); - if (!iData) - { - OstTraceExt1( TRACE_FATAL, CCDCACMCLASS_NOTIFYDATAAVAILABLE_DUP1, "CCdcAcmClass::NotifyDataAvailable;iData=%p", iData ); - __ASSERT_DEBUG( EFalse, User::Panic(KAcmPanicCat, EPanicInternalError) ); - } + __ASSERT_DEBUG(iData, _USB_PANIC(KAcmPanicCat, EPanicInternalError)); iData->NotifyDataAvailable(aObserver); - OstTraceFunctionExit0( CCDCACMCLASS_NOTIFYDATAAVAILABLE_EXIT ); + + LOGTEXT(_L8("<CancelNotifyDataAvailable(); - OstTraceFunctionExit0( CCDCACMCLASS_NOTIFYDATAAVAILABLECANCEL_EXIT ); } //