# HG changeset patch # User hgs # Date 1284609809 -28800 # Node ID 93c0009bd9470e020aff7c7e2b81688f2e614691 # Parent 21625e5de1553610b35d33b905df243436a520b1 201036_01 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/conf/usbmanager.confml Binary file usbmgmt/usbmgr/conf/usbmanager.confml has changed diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/inc/ncmclientmanager.h --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/inc/ncmclientmanager.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/inc/ncmclientmanager.h Thu Sep 16 12:03:29 2010 +0800 @@ -77,18 +77,23 @@ * Setup NCM class specific descriptors * @param aDataInterfaceNumber, NCM data interface number */ - TInt SetupClassSpecificDescriptor(TUint8 aDataInterfaceNumber); + TInt SetupClassSpecificDescriptor(TUint8 aControlInterfaceNumber, TUint8 aDataInterfaceNumber); /** * Set NCM interface MAC address into NCM class specific descriptor - * @param[out] aStrIndex, the index of string which contains NCM + * @param [out] aStrIndex, the index of string which contains NCM * interface MAC address */ TInt SetMacAddressString(TUint8& aStrIndex); + /** - * Get NCM data interface number - * @param[out] aInterfaceNumber, NCM data interface number + * Get interface number + * @param aLdd The logic device driver which can be used to query for. + * @param aSettingsNumber The alter settings for the interface + * @param [out] aInterfaceNumber Carry out the interface bumber back to caller. + * @return KErrNone If interface number is return via aInterfaceNumber. + * Other system wide error code if anything went wrong. */ - TInt DataInterfaceNumber(TUint8& aInterfaceNumber); + TInt InterfaceNumber(RDevUsbcScClient& aLdd,TInt aSettingsNumber,TUint8& aInterfaceNumber); private: const TNcmMacAddress& iHostMacAddress; diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -120,12 +120,16 @@ // Setup NCM data interface SetDataInterfaceL(aDataEpBufferSize); - // Retrieve data interface number - TUint8 dataInterfaceNumber = 1; - User::LeaveIfError(DataInterfaceNumber(dataInterfaceNumber)); + // Retrieve Control interface number(alter 0) + TUint8 controlInterfaceNumber = 0; + User::LeaveIfError(InterfaceNumber(iCommLdd,0,controlInterfaceNumber)); + + // Retrieve data interface number(alter 0) + TUint8 dataInterfaceNumber = 0; + User::LeaveIfError(InterfaceNumber(iDataLdd,0,dataInterfaceNumber)); // Setup NCM class descriptor with correct interface number - User::LeaveIfError(SetupClassSpecificDescriptor(dataInterfaceNumber)); + User::LeaveIfError(SetupClassSpecificDescriptor(controlInterfaceNumber,dataInterfaceNumber)); OstTraceFunctionExit1( CNCMCLIENTMANAGER_SETNCMINTERFACESL_EXIT, this ); } @@ -403,7 +407,7 @@ * @param aDataInterfaceNumber The interface number of the data class * @return Error. */ -TInt CNcmClientManager::SetupClassSpecificDescriptor(TUint8 aDataInterfaceNumber) +TInt CNcmClientManager::SetupClassSpecificDescriptor(TUint8 aControlInterfaceNumber,TUint8 aDataInterfaceNumber) { OstTraceFunctionEntryExt( CNCMCLIENTMANAGER_SETUPCLASSSPECIFICDESCRIPTOR_ENTRY, this ); @@ -447,7 +451,7 @@ descriptor.iUnSize = 0x05; descriptor.iUnType = 0x24; descriptor.iUnSubType = 0x06; - descriptor.iUnMasterInterface = 0; + descriptor.iUnMasterInterface = aControlInterfaceNumber; descriptor.iUnSlaveInterface = aDataInterfaceNumber; OstTrace0( TRACE_NORMAL, CNCMCLIENTMANAGER_SETUPCLASSSPECIFICDESCRIPTOR_PRE_SET_BLOCK, "About to call SetCSInterfaceDescriptorBlock" ); @@ -500,57 +504,64 @@ } /** - * Get NCM data interface number - * @param aInterfaceNumber NCM data interface number - * @return Error. + * Get interface number + * @param aLdd The logic device driver which can be used to query for. + * @param aSettingsNumber The alter settings for the interface + * @param [out] aInterfaceNumber Carry out the interface bumber back to caller. + * @return KErrNone If interface number is return via aInterfaceNumber. + * Other system wide error code if anything went wrong. */ -TInt CNcmClientManager::DataInterfaceNumber(TUint8& aInterfaceNumber) +TInt CNcmClientManager::InterfaceNumber(RDevUsbcScClient& aLdd,TInt aSettingsNumber,TUint8& aInterfaceNumber) { - OstTraceFunctionEntryExt( CNCMCLIENTMANAGER_DATAINTERFACENUMBER_ENTRY, this ); + OstTraceFunctionEntryExt( CNCMCLIENTMANAGER_INTERFACENUMBER_ENTRY, this ); + // Get descriptor size first TInt interfaceSize = 0; - - // 0 means the main interface in the LDD API - TInt res = iDataLdd.GetInterfaceDescriptorSize(0, interfaceSize); - + TInt res = aLdd.GetInterfaceDescriptorSize(aSettingsNumber, interfaceSize); if ( KErrNone == res ) { - OstTraceFunctionExitExt( CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT, this, res ); + OstTraceFunctionExitExt( CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT, this, res ); return res; } + // Allocate enough buffer HBufC8* interfaceBuf = HBufC8::New(interfaceSize); if ( !interfaceBuf ) { - OstTraceFunctionExitExt( CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP1, this, KErrNoMemory); + OstTraceFunctionExitExt( CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP1, this, KErrNoMemory); return KErrNoMemory; } + // Get the buffer back TPtr8 interfacePtr = interfaceBuf->Des(); interfacePtr.SetLength(0); - // 0 means the main interface in the LDD API - res = iDataLdd.GetInterfaceDescriptor(0, interfacePtr); - + res = aLdd.GetInterfaceDescriptor(aSettingsNumber, interfacePtr); if ( KErrNone == res ) { delete interfaceBuf; - OstTraceFunctionExitExt( CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP2, this, res ); + OstTraceFunctionExitExt( CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP2, this, res ); return res; } - OstTrace1(TRACE_NORMAL, CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO, "***Interface length =% d", interfacePtr.Length()); + OstTrace1(TRACE_NORMAL, CNCMCLIENTMANAGER_INTERFACENUMBER_INTERFACE_INFO, "***Interface length =% d", interfacePtr.Length()); + +#ifdef OST_TRACE_COMPILER_IN_USE // to depress a build warning incase no ost trace is used for ( TInt i = 0 ; i < interfacePtr.Length() ; i++ ) { - OstTrace1(TRACE_NORMAL, CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO2, "***** %x", interfacePtr[i]); + OstTrace1(TRACE_NORMAL, CNCMCLIENTMANAGER_INTERFACENUMBER_INTERFACE_INFO2, "***** %x", interfacePtr[i]); } - +#endif + const TUint8* buffer = reinterpret_cast(interfacePtr.Ptr()); + // 2 is where the interface number is, according to the LDD API aInterfaceNumber = buffer[2]; - OstTraceExt1(TRACE_NORMAL, CNCMCLIENTMANAGER_DATAINTERFACENUMBER, "Interface number = %hhu", aInterfaceNumber); - + + OstTraceExt1(TRACE_NORMAL, CNCMCLIENTMANAGER_INTERFACENUMBER, "Interface number = %hhu", aInterfaceNumber); + + // Now it is safe to delete the buffer we allocated. delete interfaceBuf; - OstTraceFunctionExitExt( CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP3, this, KErrNone ); + OstTraceFunctionExitExt( CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP3, this, KErrNone ); return KErrNone; } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -1,3 +1,20 @@ +## +# This is Default Licence added by TraceCompiler +# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# +## #Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt. [GROUP]TRACE_ERROR=0x82 [GROUP]TRACE_FATAL=0x81 @@ -48,17 +65,11 @@ [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_ENTRY_DESTRUCTOR=0xfc [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_ENTRY_DESTRUCTOR_EXIT=0xfd [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_EXIT=0x103 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONSTRUCTL_ENTRY=0x104 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONSTRUCTL_EXIT=0x105 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_ENTRY=0x110 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT=0x111 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP1=0x112 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP2=0x113 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP3=0x114 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWLC_ENTRY=0xf8 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWLC_EXIT=0xf9 -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWL_ENTRY=0xfa -[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWL_EXIT=0xfb +[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_INTERFACENUMBER_ENTRY=0x16b +[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT=0x16c +[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP1=0x16d +[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP2=0x16e +[TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_INTERFACENUMBER_EXIT_DUP3=0x16f [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_SETCOMMUNICATIONINTERFACEL_ENTRY=0x106 [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_SETCOMMUNICATIONINTERFACEL_EXIT=0x107 [TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_SETDATAINTERFACEL_ENTRY=0x108 @@ -106,12 +117,8 @@ [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CNCMCONNECTIONMANHELPER_ENTRY_DESTRUCTOR=0x136 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CNCMCONNECTIONMANHELPER_ENTRY_DESTRUCTOR_EXIT=0x137 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CNCMCONNECTIONMANHELPER_EXIT=0x135 -[TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CONSTRUCTL_ENTRY=0x138 -[TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CONSTRUCTL_EXIT=0x139 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_DOCANCEL_ENTRY=0x13e [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_DOCANCEL_EXIT=0x13f -[TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_NEWL_ENTRY=0x132 -[TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_NEWL_EXIT=0x133 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_RUNL_ENTRY=0x140 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_RUNL_EXIT=0x141 [TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_START_ENTRY=0x13a @@ -132,12 +139,8 @@ [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CNCMIAPPROGRESSWATCHER_ENTRY_DESTRUCTOR=0x150 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CNCMIAPPROGRESSWATCHER_ENTRY_DESTRUCTOR_EXIT=0x151 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CNCMIAPPROGRESSWATCHER_EXIT=0x14f -[TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CONSTRUCTL_ENTRY=0x152 -[TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CONSTRUCTL_EXIT=0x153 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_DOCANCEL_ENTRY=0x156 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_DOCANCEL_EXIT=0x157 -[TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_NEWL_ENTRY=0x14c -[TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_NEWL_EXIT=0x14d [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_RUNL_ENTRY=0x158 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_RUNL_EXIT=0x159 [TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_START_ENTRY=0x154 @@ -174,9 +177,9 @@ [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_CLOSE_DATA_INTERFACE=0x61 [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_PRE_CLOSE_COMM_INTERFACE=0x5c [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CNCMCLIENTMANAGER_PRE_CLOSE_DATA_INTERFACE=0x5f -[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER=0x69 -[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO=0x67 -[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO2=0x68 +[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_INTERFACENUMBER=0x85 +[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_INTERFACENUMBER_INTERFACE_INFO=0x83 +[TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_INTERFACENUMBER_INTERFACE_INFO2=0x84 [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_SETDATAINTERFACEL_TRY_NEW_BUF_SIZE=0x64 [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_SETMACADDRESSSTRING=0x66 [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_SETUPCLASSSPECIFICDESCRIPTOR_PRE_SET_BLOCK=0x65 @@ -184,8 +187,6 @@ [TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_TRANSFERINTERFACESL_PRE_TRANSFER_INTERFACES=0x62 [TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_HANDLECONNECTIONCOMPLETEL_CHANGE_MTU=0x6a [TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_HANDLECONNECTIONCOMPLETEL_CONN_NCM_INTERNAL_SVR=0x6b -[TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_CALL_IOCTL=0x73 -[TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_RETURN_IOCTL=0x74 [TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_SETCUSTOMMTUL=0x6c [TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_SETCUSTOMMTUL_INTER_INFO=0x6d [TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_SETCUSTOMMTUL_INTER_MTU=0x71 @@ -345,6 +346,30 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLASSCONTROLLER_START_EXIT=0xb3 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLASSCONTROLLER_STOP_ENTRY=0xb4 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLASSCONTROLLER_STOP_EXIT=0xb5 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONSTRUCTL_ENTRY=0x104 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONSTRUCTL_EXIT=0x105 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_ENTRY=0x166 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_ERR0=0x167 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_ERR1=0x168 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_ERR2=0x169 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_EXIT=0x16a +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_ENTRY=0x110 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT=0x111 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP1=0x112 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP2=0x113 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_EXIT_DUP3=0x114 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWLC_ENTRY=0xf8 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWLC_EXIT=0xf9 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWL_ENTRY=0xfa +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCLIENTMANAGER_NEWL_EXIT=0xfb +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CONSTRUCTL_ENTRY=0x138 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_CONSTRUCTL_EXIT=0x139 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_NEWL_ENTRY=0x132 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMCONNECTIONMANHELPER_NEWL_EXIT=0x133 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CONSTRUCTL_ENTRY=0x152 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_CONSTRUCTL_EXIT=0x153 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_NEWL_ENTRY=0x14c +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CNCMIAPPROGRESSWATCHER_NEWL_EXIT=0x14d [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBCLIENTMANAGER_CONSTRUCTL_ENTRY=0x6c [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBCLIENTMANAGER_CONSTRUCTL_EXIT=0x6d [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBCLIENTMANAGER_CUSBCLIENTMANAGER_ENTRY=0x6a @@ -451,6 +476,14 @@ [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLASSCONTROLLER_RUNL_STARTED=0x3f [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLASSCONTROLLER_START_PRINT_STATE=0x3c [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLASSCONTROLLER_STOP_PRINT_STATE=0x3d +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_INFO0=0x80 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_INFO1=0x81 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_CONTROLINTERFACENUMBER_INFO2=0x82 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER=0x69 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO=0x67 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCLIENTMANAGER_DATAINTERFACENUMBER_INTERFACE_INFO2=0x68 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_CALL_IOCTL=0x73 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_RETURN_IOCTL=0x74 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CNCMIAPREADER_SEARCHNCMIAPL_ENSURE_ONLY_ONE_NCM_IAP=0x36 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBCLIENTMANAGER_CUSBCLIENTMANAGER_CLOSE_COMM_CHUNK=0x19 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBCLIENTMANAGER_CUSBCLIENTMANAGER_CLOSE_COMM_INTERFACE=0x1a diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/group/Usbman.iby --- a/usbmgmt/usbmgr/group/Usbman.iby Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/group/Usbman.iby Thu Sep 16 12:03:29 2010 +0800 @@ -117,13 +117,12 @@ file=ABI_DIR\USB_DIR\usbclasscontroller.dll usbclasscontroller.dll file=ABI_DIR\USB_DIR\usbmanextensionplugin.dll usbmanextensionplugin.dll -#ifdef WITH_REFERENCE_USB_CHARGING_PLUGIN -// *** Reference battery charging plug-in -#if defined(SYMBIAN_ENABLE_USB_OTG_HOST) && defined (SYMBIAN_INCLUDE_USB_OTG_HOST) -USB_PLUGIN(usbbatterychargingpluginotg.dll,usbbatterychargingpluginotg.rsc) -#else -USB_PLUGIN(usbbatterychargingplugin.dll,usbbatterychargingplugin.rsc) -#endif +#if defined(SYMBIAN_USB_BATTERYCHARGING_V1_1) || defined (WITH_REFERENCE_USB_CHARGING_PLUGIN) + #if defined(SYMBIAN_ENABLE_USB_OTG_HOST) && defined (SYMBIAN_INCLUDE_USB_OTG_HOST) + USB_PLUGIN(usbbatterychargingpluginotg.dll,usbbatterychargingpluginotg.rsc) + #else + USB_PLUGIN(usbbatterychargingplugin.dll,usbbatterychargingplugin.rsc) + #endif #endif // *** WHCM Class Controller - used for OBEX over USB. diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/client/EABI/usbhoststacku.def --- a/usbmgmt/usbmgr/host/fdf/production/client/EABI/usbhoststacku.def Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/client/EABI/usbhoststacku.def Thu Sep 16 12:03:29 2010 +0800 @@ -15,4 +15,5 @@ _ZN13RUsbHostStackC2Ev @ 14 NONAME _ZNK13RUsbHostStack7VersionEv @ 15 NONAME _ZN13RUsbHostStack16GetOtgDescriptorEjR14TOtgDescriptor @ 16 NONAME + _ZN13RUsbHostStack26GetConfigurationDescriptorEjR24TConfigurationDescriptor @ 17 NONAME diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/client/public/usbhoststack.h --- a/usbmgmt/usbmgr/host/fdf/production/client/public/usbhoststack.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/client/public/usbhoststack.h Thu Sep 16 12:03:29 2010 +0800 @@ -70,6 +70,7 @@ IMPORT_C TInt GetProductStringDescriptor(TUint aDeviceId, TUint aLangId, TName& aString); IMPORT_C TInt GetOtgDescriptor(TUint aDeviceId, TOtgDescriptor& aDescriptor); + IMPORT_C TInt GetConfigurationDescriptor(TUint aDeviceId, TConfigurationDescriptor& aDescriptor); // Support for server-side out-of-memory testing. In release, these just // return KErrNone. diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/client/src/session.cpp --- a/usbmgmt/usbmgr/host/fdf/production/client/src/session.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/client/src/session.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -370,6 +370,26 @@ return ret; } + +EXPORT_C TInt RUsbHostStack::GetConfigurationDescriptor(TUint aDeviceId, TConfigurationDescriptor& aDescriptor) + { + OstTraceFunctionEntry0( RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_ENTRY ); + + + TPckg configDescriptorPckg(aDescriptor); + + TIpcArgs args; + args.Set(0, aDeviceId); + args.Set(1, &configDescriptorPckg); + + TInt ret = SendReceive(EUsbFdfSrvGetConfigurationDescriptor, args); + OstTrace1( TRACE_NORMAL, RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_DUP2, "\tret = %d", ret ); + + OstTraceFunctionExit0( RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_EXIT ); + return ret; + } + + EXPORT_C TInt RUsbHostStack::__DbgFailNext(TInt aCount) { #ifdef _DEBUG diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/client/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/host/fdf/production/client/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/client/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -12,6 +12,8 @@ [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_DOCONNECT_EXIT_DUP2=0x25 [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_ENABLEDRIVERLOADING_ENTRY=0xb [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_ENABLEDRIVERLOADING_EXIT=0xc +[TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_ENTRY=0x26 +[TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_EXIT=0x27 [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_GETMANUFACTURERSTRINGDESCRIPTOR_ENTRY=0x1b [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_GETMANUFACTURERSTRINGDESCRIPTOR_EXIT=0x1c [TRACE]TRACE_FLOW[0x8A]_RUSBHOSTSTACK_GETOTGDESCRIPTOR_ENTRY=0x1f @@ -43,6 +45,7 @@ [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_DOCONNECT_DUP4=0xc [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_DOCONNECT_DUT3=0xb [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_ENABLEDRIVERLOADING=0xd +[TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_DUP2=0x25 [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETMANUFACTURERSTRINGDESCRIPTOR=0x19 [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETMANUFACTURERSTRINGDESCRIPTOR_DUP1=0x1a [TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETOTGDESCRIPTOR=0x18 @@ -66,6 +69,8 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP2_RUSBHOSTSTACK_DOCONNECT_EXIT=0xa [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]__STARTSERVER_ENTRY=0x1 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]__STARTSERVER_EXIT=0x2 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR=0x23 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_RUSBHOSTSTACK_GETCONFIGRATIONDESCRIPTOR_DUP1=0x24 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__STARTSERVER=0x1 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__STARTSERVER_DUP1=0x2 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__STARTSERVER_DUP2=0x3 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/group/fdf.mmp --- a/usbmgmt/usbmgr/host/fdf/production/server/group/fdf.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/group/fdf.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -28,4 +28,3 @@ // UID3 = unique for FDF system UID 0x1000008c 0x10282B48 -LIBRARY usbdescriptors.lib diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/group/fdf_base.mmp --- a/usbmgmt/usbmgr/host/fdf/production/server/group/fdf_base.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/group/fdf_base.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -52,3 +52,4 @@ LIBRARY ecom.lib LIBRARY fdcbase.lib LIBRARY efsrv.lib +LIBRARY usbdescriptors.lib diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/inc/fdf.h --- a/usbmgmt/usbmgr/host/fdf/production/server/inc/fdf.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/inc/fdf.h Thu Sep 16 12:03:29 2010 +0800 @@ -101,6 +101,7 @@ void GetProductStringDescriptorL(TUint aDeviceId, TUint32 aLangId, TName& aString) const; const RArray& GetSupportedLanguagesL(TUint aDeviceId) const; void GetOtgDeviceDescriptorL(TInt aDeviceId, TOtgDescriptor& aDescriptor) const; + void GetConfigurationDescriptorL(TInt aDeviceId, TUsbConfigurationDescriptor& aDescriptor) const; private: CFdf(); diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/inc/fdfsession.h --- a/usbmgmt/usbmgr/host/fdf/production/server/inc/fdfsession.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/inc/fdfsession.h Thu Sep 16 12:03:29 2010 +0800 @@ -63,6 +63,7 @@ void GetProductStringDescriptor(const RMessage2& aMessage); void GetOtgDeviceDescriptor(const RMessage2& aMessage); + void GetConfigurationDescriptor(const RMessage2& aMessage); private: enum TStringType diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/public/fdfapi.h --- a/usbmgmt/usbmgr/host/fdf/production/server/public/fdfapi.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/public/fdfapi.h Thu Sep 16 12:03:29 2010 +0800 @@ -56,8 +56,9 @@ EUsbFdfSrvGetManufacturerStringDescriptor = 8, EUsbFdfSrvGetProductStringDescriptor = 9, EUsbFdfSrvGetOtgDescriptor = 10, - EUsbFdfSrvDbgFailNext = 11, - EUsbFdfSrvDbgAlloc = 12, + EUsbFdfSrvGetConfigurationDescriptor = 11, + EUsbFdfSrvDbgFailNext = 12, + EUsbFdfSrvDbgAlloc = 13, }; /** Panic codes which which the server panics an offending client. */ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/src/fdf.cpp --- a/usbmgmt/usbmgr/host/fdf/production/server/src/fdf.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/src/fdf.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -1270,6 +1270,15 @@ OstTraceFunctionExit0( CFDF_GETOTGDEVICEDESCRIPTORL_EXIT ); } +void CFdf::GetConfigurationDescriptorL(TInt aDeviceId, TUsbConfigurationDescriptor& aDescriptor) const + { + OstTraceFunctionEntry0( CFDF_GETCONFIGRATIONDESCRIPTORL_ENTRY ); + + DeviceProxyL(aDeviceId)->GetConfigurationDescriptor(aDescriptor); + OstTraceFunctionExit0( CFDF_GETCONFIGRATIONDESCRIPTORL_EXIT ); + } + + void CFdf::GetSerialNumberStringDescriptorL(TUint aDeviceId, TUint32 aLangId, TName& aString) const { OstTraceFunctionEntry0( CFDF_GETSERIALNUMBERSTRINGDESCRIPTORL_ENTRY ); diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/fdf/production/server/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/host/fdf/production/server/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/fdf/production/server/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -74,8 +74,8 @@ [TRACE]TRACE_DUMP[0x89]_TDEVICEEVENT_LOG_DUP5=0xc [TRACE]TRACE_DUMP[0x89]_TDEVICEEVENT_LOG_DUP6=0xd [TRACE]TRACE_DUMP[0x89]_TDEVICEEVENT_LOG_DUP7=0xe -[TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP6=0x6 -[TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP7=0x7 +[TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP6=0x8 +[TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP7=0x9 [TRACE]TRACE_ERROR[0x82]_CFDFSESSION_GETSINGLESUPPORTEDLANGUAGEORNUMBEROFSUPPORTEDLANGUAGESL_DUP3=0x1 [TRACE]TRACE_ERROR[0x82]_CFDFSESSION_GETSINGLESUPPORTEDLANGUAGEORNUMBEROFSUPPORTEDLANGUAGESL_DUP4=0x2 [TRACE]TRACE_ERROR[0x82]_CFDFSESSION_GETSINGLESUPPORTEDLANGUAGEORNUMBEROFSUPPORTEDLANGUAGESL_DUP5=0x3 @@ -123,7 +123,7 @@ [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_NOTIFYDEVICEEVENT=0x41 [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_NOTIFYDEVMONEVENT=0x45 [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP1=0x50 -[TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP12=0x40 +[TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP12=0x5b [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP2=0x51 [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP3=0x52 [TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP4=0x53 @@ -353,6 +353,8 @@ [TRACE]TRACE_FLOW[0x8A]_CFDF_FORMATDEVICESEARCHKEY_EXIT=0xc0 [TRACE]TRACE_FLOW[0x8A]_CFDF_FORMATINTERFACESEARCHKEY_ENTRY=0xc1 [TRACE]TRACE_FLOW[0x8A]_CFDF_FORMATINTERFACESEARCHKEY_EXIT=0xc2 +[TRACE]TRACE_FLOW[0x8A]_CFDF_GETCONFIGRATIONDESCRIPTORL_ENTRY=0x112 +[TRACE]TRACE_FLOW[0x8A]_CFDF_GETCONFIGRATIONDESCRIPTORL_EXIT=0x113 [TRACE]TRACE_FLOW[0x8A]_CFDF_GETDEVICEEVENT_ENTRY=0x82 [TRACE]TRACE_FLOW[0x8A]_CFDF_GETDEVMONEVENT_ENTRY=0x83 [TRACE]TRACE_FLOW[0x8A]_CFDF_GETMANUFACTURERSTRINGDESCRIPTORL_ENTRY=0xb7 @@ -458,7 +460,7 @@ [TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_NOTIFYDEVICEEVENTOUTSTANDING=0x9f [TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_NOTIFYDEVMONEVENTOUTSTANDING=0xa2 [TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL=0x92 -[TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP10=0x9c +[TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP10=0xaf [TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP11=0x9d [TRACE]TRACE_NORMAL[0x86]_CFDF_APPENDINTERFACENUMBERTOARRAYL=0x84 [TRACE]TRACE_NORMAL[0x86]_CFDF_CFDF=0x44 @@ -531,13 +533,25 @@ [TRACE]TRACE_NORMAL[0x86]_FDF_SERVER_SRC_E32MAIN_DUP1=0xa1 [TRACE]TRACE_NORMAL[0x86]_FDF_UTILS_REMOVE=0xa9 [[OBSOLETE]][GROUP]a=0xdf +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP1=0x49 +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP11=0x48 +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP2=0x4a +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP3=0x4b +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP4=0x4c +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP5=0x4d +[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_GETCONFIGRATIONDESCRIPTORL_DUP6=0x4e [[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CFDF_HANDLEDEVICEATTACHMENTL_DUP13=0x2c +[[OBSOLETE]][TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP6=0x6 +[[OBSOLETE]][TRACE]TRACE_ERROR[0x82]_CDEVICEPROXY_READSTRINGDESCRIPTORSL_DUP7=0x7 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CDEVICEPROXY_GETCONFIGURATIONDESCRIPTOR_DUP1=0x8 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CDEVICEPROXY_NEWL=0x2 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDCPROXY_NEWFUNCTIONL_DUP3=0x13 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDCPROXY_NEWFUNCTIONL_DUP4=0x16 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDCPROXY_NEWFUNCTIONL_DUP6=0x14 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDCPROXY_NEWFUNCTIONL_DUP7=0x15 +[[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP10=0x59 +[[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP12=0x40 +[[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDFSESSION_SERVICEL_DUP13=0x5a [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDF_FORMATDEVICESEARCHKEY=0x3a [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CFDF_TOKENFORINTERFACE_DUP6=0x39 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEWAITFORBUSEVENT_CACTIVEWAITFORBUSEVENT_ENTRY=0x1 @@ -562,6 +576,8 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_COMPLETEDEVMONEVENTNOTIFICATION=0xe4 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_COMPLETEDEVMONEVENTNOTIFICATIONL=0xe5 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_DEVMONEVENT=0xe3 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_GETCONFIGURATIONDESCRIPTOR_ENTRY=0x114 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_GETCONFIGURATIONDESCRIPTOR_EXIT=0x115 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_GETMANUFACTURERSTRINGDESCRIPTOR=0xea [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_GETOTGDEVICEDESCRIPTOR=0xee [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CFDFSESSION_GETPRODUCTSTRINGDESCRIPTOR=0xeb @@ -598,6 +614,8 @@ [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDCPROXY_NEWFUNCTIONL_DUT1=0x22 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDCPROXY_NEWFUNCTIONL_DUT2=0x27 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP1=0x93 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP10=0x9c +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP12=0xae [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP2=0x94 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP3=0x95 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CFDFSESSION_SERVICEL_DUP4=0x96 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/client/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/client/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/client/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -1,28 +1,42 @@ #Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt. [GROUP]TRACE_FLOW=0x8a -[GROUP]TRACE_NORMAL=0x86 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_ENTRY=0x11 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_EXIT=0x12 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_ENTRY=0x13 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_EXIT=0x14 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_ENTRY=0x16 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_EXIT=0x17 -[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_VERSION_ENTRY=0x15 -[TRACE]TRACE_NORMAL[0x86]_RHOSTMASSSTORAGE_CONNECT=0x1 +[GROUP]TRACE_NORMAL=0x3 +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_ENTRY=0x56 +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_EXIT=0x57 +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_ENTRY=0x58 +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_EXIT=0x59 +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_ENTRY=0x5b +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_EXIT=0x5c +[TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_VERSION_ENTRY=0x5a +[TRACE]TRACE_NORMAL[0x3]_RHOSTMASSSTORAGE_CONNECT=0x3 +[[OBSOLETE]][GROUP]TRACE_ERROR=0x8d +[[OBSOLETE]][GROUP]TRACE_NORMAL=0x86 [[OBSOLETE]][TRACE]TRACE_ERROR[0x82]_RMSMMSESSION_CONNECT=0x1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_ENTRY=0x1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_EXIT=0x2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_EXIT_DUP1=0x3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_ADDFUNCTION_ENTRY=0x9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_ADDFUNCTION_EXIT=0xa -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_CONNECT_ENTRY=0x4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_CONNECT_EXIT=0x5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGALLOC_ENTRY=0xf -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGALLOC_EXIT=0x10 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGFAILNEXT_ENTRY=0xd -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGFAILNEXT_EXIT=0xe -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DISCONNECT_ENTRY=0x6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DISCONNECT_EXIT=0x7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_REMOVEDEVICE_ENTRY=0xb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_REMOVEDEVICE_EXIT=0xc -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_VERSION_ENTRY=0x8 +[[OBSOLETE]][TRACE]TRACE_ERROR[0x8B]_RMSMMSESSION_CONNECT=0x1 +[[OBSOLETE]][TRACE]TRACE_ERROR[0x8C]_RMSMMSESSION_CONNECT=0x1 +[[OBSOLETE]][TRACE]TRACE_ERROR[0x8D]_RMSMMSESSION_CONNECT=0x1 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_ENTRY=0x46 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_EXIT=0x47 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_MSMMCLIENT_SRC_STARTSERVER_EXIT_DUP1=0x48 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_ENTRY=0x3f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_CONNECT_EXIT=0x40 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_ENTRY=0x41 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_DISCONNECT_EXIT=0x42 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_ENTRY=0x44 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_EJECTUSBDRIVES_EXIT=0x45 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RHOSTMASSSTORAGE_VERSION_ENTRY=0x43 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_ADDFUNCTION_ENTRY=0x4e +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_ADDFUNCTION_EXIT=0x4f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_CONNECT_ENTRY=0x49 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_CONNECT_EXIT=0x4a +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGALLOC_ENTRY=0x54 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGALLOC_EXIT=0x55 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGFAILNEXT_ENTRY=0x52 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DBGFAILNEXT_EXIT=0x53 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DISCONNECT_ENTRY=0x4b +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_DISCONNECT_EXIT=0x4c +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_REMOVEDEVICE_ENTRY=0x50 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_REMOVEDEVICE_EXIT=0x51 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RMSMMSESSION_VERSION_ENTRY=0x4d +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x3]_RHOSTMASSSTORAGE_CONNECT=0x2 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_RHOSTMASSSTORAGE_CONNECT=0x1 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/msmmengine.h --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/msmmengine.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/msmmengine.h Thu Sep 16 12:03:29 2010 +0800 @@ -62,7 +62,7 @@ @param aLogicalUnitNumber Current LU number value @param aDrive The drive on which current LU mounted */ - void AddUsbMsLogicalUnitL(TInt aDeviceId, TInt aInterfaceNumber, + TUsbMsLogicalUnit* AddUsbMsLogicalUnitL(TInt aDeviceId, TInt aInterfaceNumber, TInt aLogicalUnitNumber, TText aDrive); /** diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/subcommands.h --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/subcommands.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/inc/subcommands.h Thu Sep 16 12:03:29 2010 +0800 @@ -95,7 +95,8 @@ // From TSubCommandBase void DoExecuteL(); void DoAsyncCmdCompleteL(); - + + TBool IsDriveMountedL(TInt aDriveNum); private: TText iDrive; TInt iLuNumber; @@ -125,13 +126,12 @@ }; -// TDeregisterInterface class -// Sub-command to deregister a USB MS function from RUsbHostMsDevice -NONSHARABLE_CLASS(TDeregisterInterface) : public TSubCommandBase +// TRemoveUsbMsDevice class +// Sub-command to remove a USB MS Device +NONSHARABLE_CLASS(TRemoveUsbMsDevice) : public TSubCommandBase { public: - TDeregisterInterface(THostMsSubCommandParam& aParameter, - TUint8 aInterfaceNumber, TUint32 aInterfaceToken); + TRemoveUsbMsDevice(THostMsSubCommandParam& aParameter); // From TSubCommandBase void HandleError(THostMsErrData& aData, TInt aError); @@ -140,52 +140,12 @@ // From TSubCommandBase void DoExecuteL(); -private: - TUint8 iInterfaceNumber; - TUint32 iInterfaceToken; - THostMassStorageConfig iMsConfig; - TUsbMsDevice* iDeviceNode; // Not owned - TUsbMsInterface* iInterfaceNode; // Not owned - }; - - -// TDismountLogicalUnit class -// Sub-command to dismount a logical unit -class TUsbMsLogicalUnit; -NONSHARABLE_CLASS (TDismountLogicalUnit) : public TSubCommandBase - { -public: - TDismountLogicalUnit(THostMsSubCommandParam& aParameter, + void DismountLogicalUnitL(TUsbMsInterface& aInterfaceNode, const TUsbMsLogicalUnit& aLogicalUnit); - - // From TSubCommandBase - void HandleError(THostMsErrData& aData, TInt aError); private: - // From TSubCommandBase - void DoExecuteL(); - -private: - const TUsbMsLogicalUnit& iLogicalUnit; - }; - - -// TRemoveUsbMsDeviceNode class -// Sub-command to dismount a logical unit -class TMsmmNodeBase; -NONSHARABLE_CLASS(TRemoveUsbMsDeviceNode) : public TSubCommandBase - { -public: - TRemoveUsbMsDeviceNode(THostMsSubCommandParam& aParameter, - TMsmmNodeBase* aNodeToBeRemoved); - - // From TSubCommandBase - void HandleError(THostMsErrData& aData, TInt aError); - -private: - // From TSubCommandBase - void DoExecuteL(); - TMsmmNodeBase* iNodeToBeRemoved; // No ownership + TText iDismountingDrive; + TUsbMsDevice* iDeviceNode; // Not owned }; #endif /*SUBCOMMANDS_H*/ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/eventhandler.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/eventhandler.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/eventhandler.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -376,27 +376,12 @@ { User::Leave(KErrNotFound); } - TUsbMsInterface* interface = device->FirstChild(); + THostMsSubCommandParam parameter(iServer, *this, *this, iIncomingEvent); - while (interface) - { - TUsbMsLogicalUnit* logicalUnit = interface->FirstChild(); - while (logicalUnit) - { - TDismountLogicalUnit* dismount = - new (ELeave) TDismountLogicalUnit(parameter, *logicalUnit); - iSubCommandQueue.PushL(dismount); - logicalUnit = logicalUnit->NextPeer(); - } - TDeregisterInterface* deregister = new (ELeave) TDeregisterInterface( - parameter, - interface->iInterfaceNumber, interface->iInterfaceToken); - iSubCommandQueue.PushL(deregister); - interface = interface->NextPeer(); - }; - TRemoveUsbMsDeviceNode* removeNode = - new (ELeave) TRemoveUsbMsDeviceNode(parameter, device); - iSubCommandQueue.PushL(removeNode); + TRemoveUsbMsDevice* removeMsDevice = new (ELeave) TRemoveUsbMsDevice( + parameter); + iSubCommandQueue.PushL(removeMsDevice); + OstTraceFunctionExit0( CDEVICEEVENTHANDLER_CREATESUBCMDFORREMOVINGUSBMSDEVICEL_EXIT ); } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmengine.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -101,7 +101,7 @@ return interface; } -void CMsmmEngine::AddUsbMsLogicalUnitL(TInt aDeviceId, +TUsbMsLogicalUnit* CMsmmEngine::AddUsbMsLogicalUnitL(TInt aDeviceId, TInt aInterfaceNumber, TInt aLogicalUnitNumber, TText aDrive) { OstTraceFunctionEntry0( CMSMMENGINE_ADDUSBMSLOGICALUNITL_ENTRY ); @@ -113,15 +113,17 @@ } TUsbMsInterface* interface = SearchInterface(device, aInterfaceNumber); + TUsbMsLogicalUnit* logicalUnit = NULL; if (interface) { - AddUsbMsLogicalUnitNodeL(interface, aLogicalUnitNumber, aDrive); + logicalUnit = AddUsbMsLogicalUnitNodeL(interface, aLogicalUnitNumber, aDrive); } else { User::Leave(KErrArgument); // A proper interface node can't be found } OstTraceFunctionExit0( CMSMMENGINE_ADDUSBMSLOGICALUNITL_EXIT ); + return logicalUnit; } void CMsmmEngine::RemoveUsbMsNode(TMsmmNodeBase* aNodeToBeRemoved) diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/subcommands.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/subcommands.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/subcommands.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -293,12 +293,36 @@ User::Leave(KErrArgument); } + TUsbMsLogicalUnit* logicalUnit = iServer.Engine().AddUsbMsLogicalUnitL( + iEvent.iDeviceId, iEvent.iInterfaceNumber, iLuNumber, iDrive); + ret = interface->iUsbMsDevice.MountLun(iLuNumber, driveNum); - if ((KErrNone != ret) && (KErrAlreadyExists != ret) - && (KErrNotReady != ret)) + + if ( KErrNone != ret && KErrAlreadyExists != ret && KErrNotReady + != ret && KErrAbort != ret ) { - if (KErrAbort != ret) - User::Leave (ret); + if ( KErrCorrupt == ret && IsDriveMountedL(driveNum) ) + { + // Current implementation of USB Mass Storage extension will mount + // a logical unit successfully even the logical unit is in an + // unsupported format like NTFS or CDFS. So we have to record this + // Logical unit down in the our data engine in order to dismount it + // in future when the interface which presents this logical unit is + // dettached. + THostMsErrData errData; + errData.iError = EHostMsErrUnknownFileSystem; + errData.iE32Error = KErrCorrupt; + errData.iManufacturerString.Copy( + device->iDevice.iManufacturerString); + errData.iProductString.Copy(device->iDevice.iProductString); + errData.iDriveName = iDrive; + iServer.PolicyPlugin()->SendErrorNotificationL(errData); + } + else + { + iServer.Engine().RemoveUsbMsNode(logicalUnit); + User::Leave(ret); + } } iHandler.Start(); @@ -306,6 +330,26 @@ OstTraceFunctionExit0( TMOUNTLOGICALUNIT_DOEXECUTEL_EXIT ); } +TBool TMountLogicalUnit::IsDriveMountedL(TInt aDriveNum) + { + OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_ISDRIVEMOUNTEDL_ENTRY ); + // Check if the new drive mounted successfully. + RFs& fs = iServer.FileServerSession(); + + TDriveList drives; + User::LeaveIfError(fs.DriveList(drives)); + + TBool ret = EFalse; + + if (aDriveNum >= 0 && aDriveNum < drives.MaxLength()) + { + ret = drives[aDriveNum]; + } + + OstTraceFunctionExit0( TMOUNTLOGICALUNIT_ISDRIVEMOUNTEDL_EXIT ); + return ret; + } + void TMountLogicalUnit::HandleError(THostMsErrData& aData, TInt aError) { OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_HANDLEERROR_ENTRY ); @@ -321,30 +365,6 @@ case KErrCorrupt: { aData.iError = EHostMsErrUnknownFileSystem; - - // Current implementation of USB Mass Storage extension will mount - // a logical unit successfully even the logical unit is in an - // unsupported format like NTFS or CDFS. So we have to recode this - // Logical unit down in the our data engine in order to dismount it - // in future when the interface which presents this logical unit is - // dettached. Reuse DoAsyncCmdCompleteL to do this. - - // Check if the new drive mounted successfully. - RFs& fs = iServer.FileServerSession(); - TInt driveNum; - User::LeaveIfError(fs.CharToDrive(iDrive, driveNum)); - - TDriveList drives; - User::LeaveIfError(fs.DriveList(drives)); - - if (drives[driveNum]) - { - // Drive name mounted - DoAsyncCmdCompleteL(); - - // Restart the handler - iHandler.Start(); - } } break; default: @@ -365,9 +385,6 @@ { OstTraceFunctionEntry0( TMOUNTLOGICALUNIT_DOASYNCCMDCOMPLETEL_ENTRY ); - iServer.Engine().AddUsbMsLogicalUnitL( - iEvent.iDeviceId, iEvent.iInterfaceNumber, - iLuNumber, iDrive); iCreator.CreateSubCmdForSaveLatestMountInfoL(iDrive, iLuNumber); OstTraceFunctionExit0( TMOUNTLOGICALUNIT_DOASYNCCMDCOMPLETEL_EXIT ); } @@ -466,59 +483,71 @@ /** - * TDeregisterInterface member functions + * TRemoveUsbMsDevice member functions */ -TDeregisterInterface::TDeregisterInterface( - THostMsSubCommandParam& aParameter, - TUint8 aInterfaceNumber, TUint32 aInterfaceToken): +TRemoveUsbMsDevice::TRemoveUsbMsDevice( + THostMsSubCommandParam& aParameter): TSubCommandBase(aParameter), -iInterfaceNumber(aInterfaceNumber), -iInterfaceToken(aInterfaceToken), -iDeviceNode(NULL), -iInterfaceNode(NULL) +iDismountingDrive(0), +iDeviceNode(NULL) { - OstTraceFunctionEntry0( TDEREGISTERINTERFACE_TDEREGISTERINTERFACE_CONS_ENTRY ); + OstTraceFunctionEntry0( TREMOVEUSBMSDEVICE_TREMOVEUSBMSDEVICE_CONS_ENTRY ); } -void TDeregisterInterface::DoExecuteL() +void TRemoveUsbMsDevice::DoExecuteL() { - OstTraceFunctionEntry0( TDEREGISTERINTERFACE_DOEXECUTEL_ENTRY ); + OstTraceFunctionEntry0( TREMOVEUSBMSDEVICE_DOEXECUTEL_ENTRY ); iDeviceNode = iServer.Engine().SearchDevice(iEvent.iDeviceId); if (!iDeviceNode) { - User::Leave(KErrArgument); - } - - iInterfaceNode = iServer.Engine().SearchInterface(iDeviceNode, - iInterfaceNumber); - if (!iInterfaceNode) - { - User::Leave(KErrArgument); + User::Leave(KErrNotFound); } - - TUSBMSDeviceDescription& device = iDeviceNode->iDevice; - - iMsConfig.iInterfaceToken = iInterfaceToken; - iMsConfig.iVendorId = device.iVendorId; - iMsConfig.iProductId = device.iVendorId; - iMsConfig.iBcdDevice = device.iBcdDevice; - iMsConfig.iConfigurationNumber = device.iConfigurationNumber; - iMsConfig.iInterfaceNumber = iInterfaceNumber; - iMsConfig.iSerialNumber.Copy(device.iSerialNumber); - iInterfaceNode->iUsbMsDevice.Remove(); + + TUsbMsInterface* interfaceNode = iDeviceNode->FirstChild(); + while (interfaceNode) + { + TUsbMsLogicalUnit* logicalUnit = interfaceNode->FirstChild(); + while (logicalUnit) + { + DismountLogicalUnitL(*interfaceNode, *logicalUnit); + logicalUnit = logicalUnit->NextPeer(); + } + + interfaceNode->iUsbMsDevice.Remove(); + interfaceNode = interfaceNode->NextPeer(); + } + + iServer.Engine().RemoveUsbMsNode(iDeviceNode); + iDeviceNode = NULL; // Activate the handler. iHandler.Start(); // Simulate a async request be completed. iHandler.Complete(); - OstTraceFunctionExit0( TDEREGISTERINTERFACE_DOEXECUTEL_EXIT ); + + OstTraceFunctionExit0( TREMOVEUSBMSDEVICE_DOEXECUTEL_EXIT ); } -void TDeregisterInterface::HandleError(THostMsErrData& aData, TInt aError) +void TRemoveUsbMsDevice::DismountLogicalUnitL( + TUsbMsInterface& aInterfaceNode, + const TUsbMsLogicalUnit& aLogicalUnit) { - OstTraceFunctionEntry0( TDEREGISTERINTERFACE_HANDLEERROR_ENTRY ); + OstTraceFunctionEntry0( TREMOVEUSBMSDEVICE_DISMOUNTLOGICALUNITL_ENTRY ); + RFs& fs = iServer.FileServerSession(); + TInt driveNum; + fs.CharToDrive(aLogicalUnit.iDrive, driveNum); + + iDismountingDrive = aLogicalUnit.iDrive; + User::LeaveIfError(aInterfaceNode.iUsbMsDevice.DismountLun(driveNum)); + iDismountingDrive = 0; + OstTraceFunctionExit0( TREMOVEUSBMSDEVICE_DISMOUNTLOGICALUNITL_EXIT ); + } + +void TRemoveUsbMsDevice::HandleError(THostMsErrData& aData, TInt aError) + { + OstTraceFunctionEntry0( TREMOVEUSBMSDEVICE_HANDLEERROR_ENTRY ); switch (aError) { @@ -537,127 +566,8 @@ aData.iManufacturerString.Copy(iDeviceNode->iDevice.iManufacturerString); aData.iProductString.Copy(iDeviceNode->iDevice.iProductString); } - aData.iDriveName = 0; - OstTraceFunctionExit0( TDEREGISTERINTERFACE_HANDLEERROR_EXIT ); - } - -/** - * TDismountLogicalUnit member functions - */ - -TDismountLogicalUnit::TDismountLogicalUnit( - THostMsSubCommandParam& aParameter, - const TUsbMsLogicalUnit& aLogicalUnit): -TSubCommandBase(aParameter), -iLogicalUnit(aLogicalUnit) - { - OstTraceFunctionEntry0( TDISMOUNTLOGICALUNIT_TDISMOUNTLOGICALUNIT_CONS_ENTRY ); - } - -void TDismountLogicalUnit::DoExecuteL() - { - OstTraceFunctionEntry0( TDISMOUNTLOGICALUNIT_DOEXECUTEL_ENTRY ); - - RFs& fs = iServer.FileServerSession(); - TInt driveNum; - fs.CharToDrive(iLogicalUnit.iDrive, driveNum); - - TUsbMsInterface* interface(NULL); - interface = iLogicalUnit.Parent(); - if (!interface) - { - User::Leave(KErrArgument); - } - User::LeaveIfError(interface->iUsbMsDevice.DismountLun(driveNum)); - - // Activate the handler. - iHandler.Start(); - // Simulate a async request be completed. - iHandler.Complete(); - OstTraceFunctionExit0( TDISMOUNTLOGICALUNIT_DOEXECUTEL_EXIT ); - } - -void TDismountLogicalUnit::HandleError(THostMsErrData& aData, TInt aError) - { - OstTraceFunctionEntry0( TDISMOUNTLOGICALUNIT_HANDLEERROR_ENTRY ); - - switch (aError) - { - case KErrNoMemory: - aData.iError = EHostMsErrOutOfMemory; - break; - case KErrArgument: - aData.iError = EHostMsErrInvalidParameter; - break; - default: - aData.iError = EHostMsErrGeneral; - } - aData.iE32Error = aError; - TUsbMsDevice* deviceNode = iServer.Engine().SearchDevice(iEvent.iDeviceId); - if (deviceNode) - { - aData.iManufacturerString.Copy(deviceNode->iDevice.iManufacturerString); - aData.iProductString.Copy(deviceNode->iDevice.iProductString); - } - aData.iDriveName = iLogicalUnit.iDrive; - OstTraceFunctionExit0( TDISMOUNTLOGICALUNIT_HANDLEERROR_EXIT ); - } - -/** - * TRemoveUsbMsDeviceNode member functions - */ - -TRemoveUsbMsDeviceNode::TRemoveUsbMsDeviceNode( - THostMsSubCommandParam& aParameter, - TMsmmNodeBase* aNodeToBeRemoved): -TSubCommandBase(aParameter), -iNodeToBeRemoved(aNodeToBeRemoved) - { - OstTraceFunctionEntry0( TREMOVEUSBMSDEVICENODE_TREMOVEUSBMSDEVICENODE_CONS_ENTRY ); - } - -void TRemoveUsbMsDeviceNode::DoExecuteL() - { - OstTraceFunctionEntry0( TREMOVEUSBMSDEVICENODE_DOEXECUTEL_ENTRY ); - - if(iNodeToBeRemoved) - { - iServer.Engine().RemoveUsbMsNode(iNodeToBeRemoved); - iNodeToBeRemoved = NULL; - } - else - { - User::Leave(KErrArgument); - } - - // Activate the handler. - iHandler.Start(); - // Simulate a async request be completed. - iHandler.Complete(); - OstTraceFunctionExit0( TREMOVEUSBMSDEVICENODE_DOEXECUTEL_EXIT ); - } - -void TRemoveUsbMsDeviceNode::HandleError(THostMsErrData& aData, TInt aError) - { - OstTraceFunctionEntry0( TREMOVEUSBMSDEVICENODE_HANDLEERROR_ENTRY ); - - switch (aError) - { - case KErrArgument: - aData.iError = EHostMsErrInvalidParameter; - break; - default: - aData.iError = EHostMsErrGeneral; - } - aData.iE32Error = aError; - TUsbMsDevice* deviceNode = iServer.Engine().SearchDevice(iEvent.iDeviceId); - if (deviceNode) - { - aData.iManufacturerString.Copy(deviceNode->iDevice.iManufacturerString); - aData.iProductString.Copy(deviceNode->iDevice.iProductString); - } - aData.iDriveName = 0; - OstTraceFunctionExit0( TREMOVEUSBMSDEVICENODE_HANDLEERROR_EXIT ); + aData.iDriveName = iDismountingDrive; + OstTraceFunctionExit0( TREMOVEUSBMSDEVICE_HANDLEERROR_EXIT ); } // End of file diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/group/10208DD7.txt Binary file usbmgmt/usbmgr/usbman/chargingplugin/group/10208DD7.txt has changed diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPlugin.mmp --- a/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPlugin.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPlugin.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -24,7 +24,6 @@ */ TARGET usbbatterychargingplugin.dll - #include "UsbBatteryChargingPluginBase.mmp" SOURCEPATH ../src diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginBase.mmp --- a/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginBase.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginBase.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -22,7 +22,6 @@ @SYMPurpose base mmp of UsbMan extension plugin for battery charging. @SYMPurpose Resource file for charging plugin. */ - TARGETTYPE PLUGIN // UID2 = 0x10009d8d for ECOM plugins. // UID3 = the 'DLL UID' (see resource file) @@ -36,15 +35,12 @@ SOURCE chargingstates.cpp SOURCE devicestatetimer.cpp SOURCE reenumerator.cpp -SOURCE repositorynotifier.cpp USERINCLUDE ../inc USERINCLUDE ../public OS_LAYER_SYSTEMINCLUDE_SYMBIAN -// use this line for default implementation -USERINCLUDE ../inc/default USERINCLUDE ../traces LIBRARY euser.lib diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginotg.mmp --- a/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginotg.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/group/UsbBatteryChargingPluginotg.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -24,7 +24,6 @@ */ TARGET usbbatterychargingpluginotg.dll - #include "UsbBatteryChargingPluginBase.mmp" SOURCEPATH ../src diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/group/bld.inf --- a/usbmgmt/usbmgr/usbman/chargingplugin/group/bld.inf Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/group/bld.inf Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-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" @@ -37,7 +37,6 @@ ../public/CUsbBatteryChargingPlugin.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(usb/charging/cusbbatterychargingplugin.h) ../public/chargingstates.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(usb/charging/chargingstates.h) ../public/devicestatetimer.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(devicestatetimer.h) -../public/repositorynotifier.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(repositorynotifier.h) ../public/motgobserver.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(motgobserver.h) ../public/usbbatterycharging.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(usbbatterycharging.h) diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/inc/default/cusbbatterycharginglicenseehooks.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/inc/default/cusbbatterycharginglicenseehooks.h Mon Sep 06 11:27:08 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** - @file - @internalComponent -*/ - -#include - - -class CUsbBatteryChargingLicenseeHooks : public CBase - { -public: - inline static CUsbBatteryChargingLicenseeHooks* NewL(); - inline ~CUsbBatteryChargingLicenseeHooks(); - - inline void StartCharging(TUint aMilliAmps); - inline void StopCharging(); -private: - inline CUsbBatteryChargingLicenseeHooks(); - inline void ConstructL(); - }; - - -inline CUsbBatteryChargingLicenseeHooks* CUsbBatteryChargingLicenseeHooks::NewL() - { - CUsbBatteryChargingLicenseeHooks* self = new(ELeave) CUsbBatteryChargingLicenseeHooks; - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -inline CUsbBatteryChargingLicenseeHooks::~CUsbBatteryChargingLicenseeHooks() - { - } - -inline void CUsbBatteryChargingLicenseeHooks::StartCharging(TUint /*aMilliAmps*/) - { - } - -inline void CUsbBatteryChargingLicenseeHooks::StopCharging() - { - } - -inline CUsbBatteryChargingLicenseeHooks::CUsbBatteryChargingLicenseeHooks() - { - } - -inline void CUsbBatteryChargingLicenseeHooks::ConstructL() - { - } - diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/inc/reenumerator.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/inc/reenumerator.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/inc/reenumerator.h Thu Sep 16 12:03:29 2010 +0800 @@ -29,8 +29,12 @@ #include #define __D32USBC_H__ // ensure that d32usbc is ignored #else +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#else #include #endif +#endif class CUsbChargingReEnumerator : public CActive { diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/public/CUsbBatteryChargingPlugin.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/public/CUsbBatteryChargingPlugin.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/public/CUsbBatteryChargingPlugin.h Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -29,18 +29,28 @@ #define __D32USBC_H__ // ensure that d32usbc is ignored #define private protected #else +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#else #include #endif +#endif #include +#include +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#endif + #include "usbbatterycharging.h" -#include #include "devicestatetimer.h" -#include "repositorynotifier.h" #include "motgobserver.h" +#include "usbchargingpublishedinfo.h" + + + class CUsbChargingReEnumerator; -class CUsbBatteryChargingLicenseeHooks; // For host OTG enabled charging plug-in #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV @@ -52,7 +62,6 @@ enum TUsbBatteryChargingPanic { - EUsbBatteryChargingPanicBadUserSetting = 0, EUsbBatteryChargingPanicBadPluginState = 1, EUsbBatteryChargingPanicUnexpectedPluginState = 2, EUsbBatteryChargingPanicBadDeviceState = 3, @@ -61,9 +70,17 @@ EUsbBatteryChargingPanicBadCharingCurrentNegotiation = 6 }; +enum TUsbSpeedType + { + EUsbFullSpeed = 1, + EUsbHighSpeed = 2 + }; + // For host OTG enabled charging plug-in class MUsbBatteryChargingPluginInterface : public MUsbDeviceNotify, - public MUsbChargingRepositoryObserver, +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + public MUsbChargingNotify, +#endif public MUsbChargingDeviceStateTimerObserver, public MOtgPropertiesObserver { public: // from MUsbDeviceNotify @@ -71,10 +88,7 @@ TUsbServiceState aOldState, TUsbServiceState aNewState) = 0; virtual void UsbDeviceStateChange (TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState) = 0; - -public: // from MUsbChargingRepositoryObserver - virtual void HandleRepositoryValueChangedL(const TUid& aRepository, TUint aId, TInt aVal) = 0; - + public: // from MUsbChargingDeviceStateTimerObserver virtual void DeviceStateTimeout() = 0; @@ -85,17 +99,21 @@ virtual void MpsoOtgStateChangedL(TUsbOtgState aNewState) = 0; #endif virtual void MpsoVBusStateChanged(TInt aNewState) = 0; +// From MUsbChargingNotify +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + virtual void UsbChargingPortType(TUint aChargingPortType) = 0; + virtual void PeerDeviceMaxPower(TUint aCurrent) = 0; +#endif }; class TUsbBatteryChargingPluginStateBase; class TUsbBatteryChargingPluginStateIdle; -class TUsbBatteryChargingPluginStateIdleUserDisabled; -class TUsbBatteryChargingPluginStateNoValidcurrent; +class TUsbBatteryChargingPluginStateNoValidCurrent; class TUsbBatteryChargingPluginStateCurrentNegotiating; -class TUsbBatteryChargingPluginStateCharging; -class TUsbBatteryChargingPluginStateIdelNegotiated; +class TUsbBatteryChargingPluginStateIdleNegotiated; class TUsbBatteryChargingPluginStateBEndedCableNotPresent; + enum TUsbChargingPluginState { // The default first state of this plugin @@ -107,16 +125,10 @@ // Negotiation failed EPluginStateNoValidCurrent, - - // The only that indicate charging is going on - EPluginStateCharging, - + // charging is stopped for some reason, but negotiation is done already EPluginStateIdleNegotiated, - // User Disabled "charging from usb" functionality - EPluginStateUserDisabled, - // Deivce is connect with A end cable, so, no way to do a charging to itself EPluginStateBEndedCableNotPresent, @@ -130,10 +142,8 @@ { friend class TUsbBatteryChargingPluginStateBase; friend class TUsbBatteryChargingPluginStateIdle; - friend class TUsbBatteryChargingPluginStateUserDisabled; friend class TUsbBatteryChargingPluginStateNoValidCurrent; friend class TUsbBatteryChargingPluginStateCurrentNegotiating; - friend class TUsbBatteryChargingPluginStateCharging; friend class TUsbBatteryChargingPluginStateIdleNegotiated; friend class TUsbBatteryChargingPluginStateBEndedCableNotPresent; @@ -150,10 +160,7 @@ TUsbServiceState aOldState, TUsbServiceState aNewState); void UsbDeviceStateChange (TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState); - - // from MUsbChargingRepositoryObserver - void HandleRepositoryValueChangedL(const TUid& aRepository, TUint aId, TInt aVal); - + // from MUsbChargingDeviceStateTimerObserver void DeviceStateTimeout(); @@ -165,18 +172,23 @@ #endif void MpsoVBusStateChanged(TInt aNewState); + + // from MUsbChargingNotify +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + void UsbChargingPortType(TUint aChargingPortType); + void PeerDeviceMaxPower(TUint aCurrent); +#endif + + void ResetFromChargingPossible(); + const TDesC8* ChargingTypeToString(TUint aChargingType); private: CUsbBatteryChargingPlugin(MUsbmanExtensionPluginObserver& aObserver); void ConstructL(); void Panic(TUsbBatteryChargingPanic aPanic); private: - void StartCharging(TUint aMilliAmps); - void StopCharging(); - - void SetNegotiatedCurrent(TUint aMilliAmps); + void ReadCurrentRequestValuesL(); - void NegotiateChargingCurrent(); void NegotiateNextCurrentValueL(); void RequestCurrentL(TUint aMilliAmps); @@ -188,17 +200,15 @@ TBool IsUsbChargingPossible(); void LogStateText(TUsbDeviceState aState); - void PushRecoverState(TUsbChargingPluginState aRecoverState); - TUsbChargingPluginState PopRecoverState(); - + TUsbChargingPluginState SetState(TUsbChargingPluginState aState); + void PublishChargingInfo(); + void UpdateChargingInfo(); + void QueryCurrentSpeed(); private: // owned RDevUsbcClient& iLdd; - - // user allow usb charging function already? - TUsbBatteryChargingUserSetting iUserSetting; - + // More than one value will be tried by the negotiation process to // aquire a as larger current value as possible for charging RArray iCurrentValues; @@ -210,14 +220,14 @@ TInt iCurrentIndexRequested; //value of negotiated current - TInt iAvailableMilliAmps; + TInt iAvailableMilliAmps; + + //when ACARIDA, max power in B device's configuration + TInt iBDevMaxPower; CUsbChargingDeviceStateTimer* iDeviceStateTimer; - CUsbChargingRepositoryNotifier* iRepositoryNotifier; CUsbChargingReEnumerator* iDeviceReEnumerator; - CUsbBatteryChargingLicenseeHooks* iLicenseeHooks; - // For host OTG enabled charging plug-in #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV //Outer state watchers @@ -234,9 +244,15 @@ // Plug-in States TUsbChargingPluginState iPluginState; // Current state machine status - TUsbChargingPluginState iPluginStateToRecovery; // The recover state when user enable USB Charging TUsbBatteryChargingPluginStateBase* iCurrentState; // Owned TUsbBatteryChargingPluginStateBase* iPluginStates[EPluginStateCount]; // State implementations + + TUsbSpeedType iUsbSpeedType; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + TUsbcChargerDetectorProperties iChargerDetectotCaps; +#endif + TPckgBuf iChargingInfo; + TPublishedUsbChargingInfo iLastPublishedInfo; }; #endif // USBBATTERYCHARGINGPLUGIN_H diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/public/chargingstates.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/public/chargingstates.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/public/chargingstates.h Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -28,19 +28,20 @@ { friend class CUsbBatteryChargingPlugin; -protected: // from MUsbBatteryChargingPluginInterface +protected: + // from MUsbBatteryChargingPluginInterface // from MUsbDeviceNotify virtual void UsbServiceStateChange (TInt aLastError, TUsbServiceState aOldState, TUsbServiceState aNewState); virtual void UsbDeviceStateChange (TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState); - // from MUsbChargingRepositoryObserver - virtual void HandleRepositoryValueChangedL (const TUid& aRepository, - TUint aId, TInt aVal); - // from MUsbChargingDeviceStateTimerObserver virtual void DeviceStateTimeout(); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + virtual void UsbChargingPortType(TUint aPortType); + virtual void PeerDeviceMaxPower(TUint aCurrent); +#endif #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV // For host OTG enabled charging plug-in // from MOtgPropertiesObserver @@ -56,6 +57,8 @@ CUsbBatteryChargingPlugin& iParent; // Charging state machine. Not Owned }; + + class TUsbBatteryChargingPluginStateIdle : public TUsbBatteryChargingPluginStateBase { public: @@ -67,6 +70,8 @@ TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState); }; + + class TUsbBatteryChargingPluginStateNoValidCurrent : public TUsbBatteryChargingPluginStateBase { public: @@ -74,6 +79,8 @@ CUsbBatteryChargingPlugin& aParentStateMachine); }; + + class TUsbBatteryChargingPluginStateCurrentNegotiating : public TUsbBatteryChargingPluginStateBase { public: @@ -86,16 +93,8 @@ void DeviceStateTimeout(); }; -class TUsbBatteryChargingPluginStateCharging : public TUsbBatteryChargingPluginStateBase - { -public: - TUsbBatteryChargingPluginStateCharging( - CUsbBatteryChargingPlugin& aParentStateMachine); - -private: - void UsbDeviceStateChange(TInt aLastError, TUsbDeviceState aOldState, - TUsbDeviceState aNewState); - }; + + class TUsbBatteryChargingPluginStateIdleNegotiated : public TUsbBatteryChargingPluginStateBase { @@ -108,31 +107,16 @@ TUsbDeviceState aNewState); }; -class TUsbBatteryChargingPluginStateUserDisabled : public TUsbBatteryChargingPluginStateBase - { -public: - TUsbBatteryChargingPluginStateUserDisabled( - CUsbBatteryChargingPlugin& aParentStateMachine); - -private: - void UsbDeviceStateChange(TInt aLastError, TUsbDeviceState aOldState, - TUsbDeviceState aNewState); - - // from MUsbChargingRepositoryObserver - void HandleRepositoryValueChangedL (const TUid& aRepository, - TUint aId, TInt aVal); - -#ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV // For host OTG enabled charging plug-in - void MpsoIdPinStateChanged(TInt aValue); -#endif - void MpsoVBusStateChanged(TInt aNewState); - }; class TUsbBatteryChargingPluginStateBEndedCableNotPresent : public TUsbBatteryChargingPluginStateBase { public: TUsbBatteryChargingPluginStateBEndedCableNotPresent( CUsbBatteryChargingPlugin& aParentStateMachine); +#ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV +private: + void MpsoIdPinStateChanged(TInt aValue); +#endif }; #endif // CHARGINGSTATES_H diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/public/repositorynotifier.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/public/repositorynotifier.h Mon Sep 06 11:27:08 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** - @file - @internalComponent -*/ - -#ifndef REPOSITORYNOTIFIER_H -#define REPOSITORYNOTIFIER_H - -#include - -class CRepository; - -class MUsbChargingRepositoryObserver - { -public: - virtual void HandleRepositoryValueChangedL(const TUid& aRepository, TUint aId, TInt aVal) = 0; - }; - -class CUsbChargingRepositoryNotifier : public CActive - { -public: - ~CUsbChargingRepositoryNotifier(); - static CUsbChargingRepositoryNotifier* NewL(MUsbChargingRepositoryObserver& aObserver,const TUid& aRepository, TUint aId); - void Notify(); -protected: - CUsbChargingRepositoryNotifier(MUsbChargingRepositoryObserver& aObserver,const TUid& aRepository, TUint aId); - void RunL(); - void ConstructL(); -private: - void DoCancel(); - TInt RunError(TInt aError); - -protected: - MUsbChargingRepositoryObserver& iObserver; - CRepository* iRepository; - TUid iRepositoryUid; - TUint iId; - }; - -#endif // REPOSITORYNOTIFIER_H diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/public/usbbatterycharging.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/public/usbbatterycharging.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/public/usbbatterycharging.h Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -27,21 +27,10 @@ // UID used for central respository const TUid KUsbBatteryChargingCentralRepositoryUid = {0x10208DD7}; // UID3 for usbbatterychargingplugin -const TUid KPropertyUidUsbBatteryChargingCategory = {0x101fe1db}; -const TUint KPropertyUidUsbBatteryChargingAvailableCurrent = 1; // current negotiated -const TUint KPropertyUidUsbBatteryChargingChargingCurrent = 2; // current for charging (i.e. depends on user setting) - -const TUint KUsbBatteryChargingKeyEnabledUserSetting = 1; -const TUint KUsbBatteryChargingKeyNumberOfCurrentValues = 2; +const TUint KUsbBatteryChargingKeyNumberOfCurrentValues = 1; const TUint KUsbBatteryChargingCurrentValuesOffset = 0x1000; -enum TUsbBatteryChargingUserSetting - { - EUsbBatteryChargingUserSettingDisabled = 0, - EUsbBatteryChargingUserSettingEnabled, - }; - enum TUsbIdPinState { EUsbBatteryChargingIdPinBRole = 0, diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/src/CUsbBatteryChargingPlugin.cpp --- a/usbmgmt/usbmgr/usbman/chargingplugin/src/CUsbBatteryChargingPlugin.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/src/CUsbBatteryChargingPlugin.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -18,18 +18,15 @@ /** @file @internalComponent */ -#include "CUsbBatteryChargingPlugin.h" #include #include -#include #include -#include #include #include - +#include +#include "CUsbBatteryChargingPlugin.h" #include "chargingstates.h" -#include "cusbbatterycharginglicenseehooks.h" #include "reenumerator.h" #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV // For host OTG enabled charging plug-in @@ -46,6 +43,11 @@ static const TInt KUsbBatteryChargingConfigurationDescriptorCurrentOffset = 8; // see bMaxPower in section 9.6.3 of USB Spec 2.0 static const TInt KUsbBatteryChargingCurrentRequestTimeout = 3000000; // 3 seconds +static const TUint8 KMinCurrent = 8; // See USB OTG specification , min current +static const TUint8 KbmAttributes = 7; // see bmAttributes in section 9.6.3 of USB Spec 2.0 +static const TUint8 KSelfPowered = 0x40; // Bitmask to bmAttributes (01000000) + + /** @@ -71,8 +73,6 @@ iCurrentValues.Close(); delete iDeviceReEnumerator; delete iDeviceStateTimer; - delete iRepositoryNotifier; - delete iLicenseeHooks; // For host OTG enabled charging plug-in #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV @@ -101,21 +101,29 @@ */ void CUsbBatteryChargingPlugin::ConstructL() { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_ENTRY ); + OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_ENTRY ); + iUsbSpeedType = EUsbFullSpeed; + iChargingInfo().iChargingPortType = EUsbChargingPortTypeStandardDownstreamPort; + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusNone; + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + iChargingInfo().iChargingPortType = EUsbChargingPortTypeNone; + iChargerDetectotCaps.iCapabilities = 0; +#endif + iLastPublishedInfo = iChargingInfo(); + // Create state objects iPluginStates[EPluginStateIdle] = new (ELeave) TUsbBatteryChargingPluginStateIdle(*this); iPluginStates[EPluginStateCurrentNegotiating] = new (ELeave) TUsbBatteryChargingPluginStateCurrentNegotiating(*this); - iPluginStates[EPluginStateCharging] = - new (ELeave) TUsbBatteryChargingPluginStateCharging(*this); iPluginStates[EPluginStateNoValidCurrent] = new (ELeave) TUsbBatteryChargingPluginStateNoValidCurrent(*this); iPluginStates[EPluginStateIdleNegotiated] = new (ELeave) TUsbBatteryChargingPluginStateIdleNegotiated(*this); - iPluginStates[EPluginStateUserDisabled] = - new (ELeave) TUsbBatteryChargingPluginStateUserDisabled(*this); iPluginStates[EPluginStateBEndedCableNotPresent] = new (ELeave) TUsbBatteryChargingPluginStateBEndedCableNotPresent(*this); @@ -123,66 +131,34 @@ SetState(EPluginStateIdle); TInt err = RProperty::Define(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent, - RProperty::EInt, - ECapabilityReadDeviceData, - ECapabilityCommDD); - - if(err == KErrNone || err == KErrAlreadyExists) - { - - err = RProperty::Define(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - RProperty::EInt, - ECapabilityReadDeviceData, - ECapabilityCommDD); - } - else - { - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL, "CUsbBatteryChargingPlugin::ConstructL;leave with error=%d", err ); - User::Leave(err ); - } + KPropertyUidUsbBatteryChargingInfo, + RProperty::EByteArray, + sizeof(TPublishedUsbChargingInfo)); if(err == KErrNone || err == KErrAlreadyExists) { err = RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent, - 0); + KPropertyUidUsbBatteryChargingInfo, + iChargingInfo); } - else - { - static_cast (RProperty::Delete ( - KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent )); - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP1, "CUsbBatteryChargingPlugin::ConstructL;leave with error=%d", err ); + else + { User::Leave(err); - } - - err = RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - 0); + } if(err != KErrNone) { static_cast (RProperty::Delete ( KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent )); - static_cast (RProperty::Delete ( - KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent )); - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP2, "CUsbBatteryChargingPlugin::ConstructL;leave with error=%d", err ); - User::Leave(err ); + KPropertyUidUsbBatteryChargingInfo )); + User::Leave(err); } - iRepositoryNotifier = CUsbChargingRepositoryNotifier::NewL (*this, - KUsbBatteryChargingCentralRepositoryUid, - KUsbBatteryChargingKeyEnabledUserSetting ); iDeviceStateTimer = CUsbChargingDeviceStateTimer::NewL(*this); iDeviceReEnumerator = CUsbChargingReEnumerator::NewL(iLdd); iPluginState = EPluginStateIdle; - iPluginStateToRecovery = EPluginStateIdle; ReadCurrentRequestValuesL(); iVBusWatcher = CVBusWatcher::NewL(this); iVBusState = iVBusWatcher->VBusState(); @@ -209,14 +185,11 @@ OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP3, "CUsbBatteryChargingPlugin::ConstructL;PluginState => EPluginStateADevice(%d)", iPluginState ); } - Observer().RegisterStateObserverL(*this); - - iLicenseeHooks = CUsbBatteryChargingLicenseeHooks::NewL(); - OstTrace0( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP4, "CUsbBatteryChargingPlugin::ConstructL;Created licensee specific hooks" ); - - // Set initial recovery state to idle - PushRecoverState(EPluginStateIdle); - + Observer().RegisterStateObserverL(*this); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + MUsbChargingNotify* charging = static_cast(this); + Observer().RegisterChargingObserverL(*charging); +#endif OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_EXIT ); } @@ -224,12 +197,6 @@ TBool CUsbBatteryChargingPlugin::IsUsbChargingPossible() { #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV - // VBus is off, so there is no way to do charging - if (0 == iVBusState) - { - return EFalse; - } - // 'A' end cable connected. I'm the power supplier, with no way to charge myself :-) if (EUsbBatteryChargingIdPinARole == iIdPinState) { @@ -323,7 +290,6 @@ (void)aUid; TAny* ret = NULL; - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE_DUP2, "CUsbBatteryChargingPlugin::GetInterface;ret = [0x%08x]", ret ); return ret; } @@ -340,32 +306,6 @@ // not used } -void CUsbBatteryChargingPlugin::PushRecoverState(TUsbChargingPluginState aRecoverState) - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_ENTRY ); - - if((aRecoverState == EPluginStateIdle)|| - (aRecoverState == EPluginStateIdleNegotiated) || - (aRecoverState == EPluginStateBEndedCableNotPresent) || - (aRecoverState == EPluginStateNoValidCurrent)) - { - iPluginStateToRecovery = aRecoverState; - } - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_EXIT ); - } - -TUsbChargingPluginState CUsbBatteryChargingPlugin::PopRecoverState() - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_ENTRY ); - - SetState(iPluginStateToRecovery); - - iPluginStateToRecovery = EPluginStateIdle; - - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_EXIT ); - return iPluginStateToRecovery; - } - TUsbChargingPluginState CUsbBatteryChargingPlugin::SetState(TUsbChargingPluginState aState) { OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_SETSTATE_ENTRY ); @@ -379,16 +319,11 @@ } break; case EPluginStateCurrentNegotiating: - case EPluginStateCharging: case EPluginStateNoValidCurrent: case EPluginStateIdleNegotiated: - case EPluginStateUserDisabled: case EPluginStateBEndedCableNotPresent: - { - iPluginState = aState; iCurrentState = iPluginStates[aState]; - } - break; + break; default: // Should never happen ... iPluginState = EPluginStateIdle; @@ -429,22 +364,16 @@ OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_USBDEVICESTATECHANGE_ENTRY ); iCurrentState->UsbDeviceStateChange(aLastError, aOldState, aNewState); + UpdateChargingInfo(); OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_USBDEVICESTATECHANGE_EXIT ); } -void CUsbBatteryChargingPlugin::HandleRepositoryValueChangedL(const TUid& aRepository, TUint aId, TInt aVal) - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_ENTRY ); - - iCurrentState->HandleRepositoryValueChangedL(aRepository, aId, aVal); - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_EXIT ); - } - void CUsbBatteryChargingPlugin::DeviceStateTimeout() { OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_DEVICESTATETIMEOUT_ENTRY ); - iCurrentState->DeviceStateTimeout(); + iCurrentState->DeviceStateTimeout(); + UpdateChargingInfo(); OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_DEVICESTATETIMEOUT_EXIT ); } @@ -467,16 +396,14 @@ iCurrentIndexRequested++; newCurrent = iCurrentValues[iCurrentIndexRequested]; } - else if(iRequestedCurrentValue != 0) + else if(iRequestedCurrentValue != 0 && iRequestedCurrentValue != KMinCurrent) { - // There isn't a 0ma round set from the Repository source -> 10208DD7.txt - // Just add it to make sure the device can be accepted by host - newCurrent = 0; + newCurrent = KMinCurrent; } else { - // Warning 0001: If you go here, something wrong happend, check it. - __ASSERT_DEBUG(0,Panic(EUsbBatteryChargingPanicBadCharingCurrentNegotiation)); + iPluginState = EPluginStateNoValidCurrent; + User::Leave(EUsbBatteryChargingPanicBadCharingCurrentNegotiation); } RequestCurrentL(newCurrent); @@ -493,13 +420,13 @@ { iDeviceStateTimer->Cancel(); // doesn't matter if not running iPluginState = EPluginStateIdle; - iPluginStateToRecovery = EPluginStateIdle; OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_RESETPLUGIN, "CUsbBatteryChargingPlugin::ResetPlugin;PluginState => EPluginStateIdle(%d)", iPluginState ); iRequestedCurrentValue = 0; iCurrentIndexRequested = 0; iAvailableMilliAmps = 0; - SetNegotiatedCurrent(0); + iBDevMaxPower = 0; + UpdateChargingInfo(); TRAP_IGNORE(SetInitialConfigurationL()); } OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_RESETPLUGIN_EXIT ); @@ -532,6 +459,11 @@ User::Leave(err); } + // compliant to charging adaptation in modem adaptation + TUint8 bmAttributes = ptr[KbmAttributes]; + bmAttributes &= ~(KSelfPowered); + ptr[KbmAttributes] = bmAttributes; + // set bMaxPower field. One unit = 2mA, so need to halve aMilliAmps. OstTraceExt2( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_REQUESTCURRENTL_DUP4, "CUsbBatteryChargingPlugin::RequestCurrentL;Setting bMaxPower to %u mA ( = %u x 2mA units)", aMilliAmps, aMilliAmps >> 1 ); TUint oldCurrentValue = ptr[KUsbBatteryChargingConfigurationDescriptorCurrentOffset] << 1; @@ -585,71 +517,6 @@ OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_READCURRENTREQUESTVALUESL_EXIT ); } -void CUsbBatteryChargingPlugin::StartCharging(TUint aMilliAmps) - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_ENTRY ); - - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING, "CUsbBatteryChargingPlugin::StartCharging;aMilliAmps=%u", aMilliAmps ); - - // do licensee specific functionality (if any) - iLicenseeHooks->StartCharging(aMilliAmps); - -#ifdef _DEBUG - TInt err = RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - aMilliAmps); - OstTraceExt2( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_DUP1, "CUsbBatteryChargingPlugin::StartCharging;Set P&S current = %umA - err = %d", aMilliAmps, err ); -#else - (void)RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - aMilliAmps); -#endif - - SetState(EPluginStateCharging); - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_EXIT ); - } - -void CUsbBatteryChargingPlugin::StopCharging() - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_ENTRY ); - - // do licensee specific functionality (if any) - iLicenseeHooks->StopCharging(); - -#ifdef _DEBUG - TInt err = RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - 0); - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING, "CUsbBatteryChargingPlugin::StopCharging;Set P&S current = 0mA - err = %d", err ); -#else - (void)RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingChargingCurrent, - 0); -#endif - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_EXIT ); - } - -void CUsbBatteryChargingPlugin::SetNegotiatedCurrent(TUint aMilliAmps) - { - OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_ENTRY ); - - OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT, "CUsbBatteryChargingPlugin::SetNegotiatedCurrent;aMilliAmps=%u", aMilliAmps ); - - // Ignore errors - not much we can do if it fails -#ifdef _DEBUG - TInt err = RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent, - aMilliAmps); - OstTraceExt2( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_DUP1, "CUsbBatteryChargingPlugin::SetNegotiatedCurrent;Set P&S current = %umA - err = %d", aMilliAmps, err ); -#else - (void)RProperty::Set(KPropertyUidUsbBatteryChargingCategory, - KPropertyUidUsbBatteryChargingAvailableCurrent, - aMilliAmps); -#endif - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_EXIT ); - } - - #ifndef _DEBUG void CUsbBatteryChargingPlugin::LogStateText(TUsbDeviceState /*aState*/) { @@ -692,8 +559,12 @@ void CUsbBatteryChargingPlugin::MpsoVBusStateChanged(TInt aNewState) { OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOVBUSSTATECHANGED_ENTRY ); - - iCurrentState->MpsoVBusStateChanged(aNewState); + if (iChargingInfo().iChargingPortType == EUsbChargingPortTypeStandardDownstreamPort) + { + iCurrentState->MpsoVBusStateChanged(aNewState); + } + iVBusState = aNewState; + UpdateChargingInfo(); OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOVBUSSTATECHANGED_EXIT ); } @@ -705,6 +576,7 @@ OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOIDPINSTATECHANGED_ENTRY ); iCurrentState->MpsoIdPinStateChanged(aValue); + UpdateChargingInfo(); OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOIDPINSTATECHANGED_EXIT ); } @@ -713,6 +585,352 @@ OstTraceFunctionEntry0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOOTGSTATECHANGEDL_ENTRY ); iCurrentState->MpsoOtgStateChangedL(aNewState); - OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOOTGSTATECHANGEDL_EXIT ); + UpdateChargingInfo(); + OstTraceFunctionExit0( REF_CUSBBATTERYCHARGINGPLUGIN_MPSOOTGSTATECHANGEDL_EXIT ); } #endif + + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +void CUsbBatteryChargingPlugin::UsbChargingPortType(TUint aChargingPortType) + { + OstTraceExt1( TRACE_NORMAL, CUSBBATTERYCHARGINGPLUGIN_USBCHARGINGPORTTYPE, "CUsbBatteryChargingPlugin::UsbChargingPortType;ChargingTypeToString(aChargingPortType)=%s", *ChargingTypeToString(aChargingPortType) ); + ChargingTypeToString(aChargingPortType); + switch (aChargingPortType) + { + case KUsbChargingPortTypeNone: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeNone; + break; + case KUsbChargingPortTypeUnsupported: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeUnsupported; + break; + case KUsbChargingPortTypeDedicatedChargingPort: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeDedicatedChargingPort; + break; + case KUsbChargingPortTypeChargingDownstreamPort: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeChargingDownstreamPort; + break; + case KUsbChargingPortTypeStandardDownstreamPort: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeStandardDownstreamPort; + break; + case KUsbChargingPortTypeAcaRidA: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeAcaRidA; + break; + case KUsbChargingPortTypeAcaRidB: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeAcaRidB; + break; + case KUsbChargingPortTypeAcaRidC: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeAcaRidC; + break; + case KUsbChargingPortTypeChargingPort: + iChargingInfo().iChargingPortType = EUsbChargingPortTypeChargingPort; + break; + default: + break; + } + iLdd.ChargerDetectorCaps(iChargerDetectotCaps); + iCurrentState->UsbChargingPortType(aChargingPortType); + UpdateChargingInfo(); + } +#endif + +_LIT8(KPortTypeNone, "PortTypeNone"); +_LIT8(KPortTypeUnsupported, "PortTypeUnsupported"); +_LIT8(KPortTypeDedicatedChargingPort, "PortTypeDedicatedChargingPort"); +_LIT8(KPortTypeStandardDownstreamPort, "PortTypeStandardDownstreamPort"); +_LIT8(KPortTypeChargingDownstreamPort, "PortTypeChargingDownstreamPort"); +_LIT8(KPortTypeAcaRidA, "PortTypeAcaRidA"); +_LIT8(KPortTypeAcaRidB, "PortTypeAcaRidB"); +_LIT8(KPortTypeAcaRidC, "PortTypeAcaRidC"); +_LIT8(KPortTypeChargingPort, "PortTypeChargingPort"); + + +const TDesC8* CUsbBatteryChargingPlugin::ChargingTypeToString(TUint aChargingType) + { + const TDesC8* str = NULL; + switch (aChargingType) + { + case EUsbChargingPortTypeNone: + str = &KPortTypeNone; + break; + case EUsbChargingPortTypeUnsupported: + str = &KPortTypeUnsupported; + break; + case EUsbChargingPortTypeDedicatedChargingPort: + str = &KPortTypeDedicatedChargingPort; + break; + case EUsbChargingPortTypeChargingDownstreamPort: + str = &KPortTypeChargingDownstreamPort; + break; + case EUsbChargingPortTypeStandardDownstreamPort: + str = &KPortTypeStandardDownstreamPort; + break; + case EUsbChargingPortTypeAcaRidA: + str = &KPortTypeAcaRidA; + break; + case EUsbChargingPortTypeAcaRidB: + str = &KPortTypeAcaRidB; + break; + case EUsbChargingPortTypeAcaRidC: + str = &KPortTypeAcaRidC; + break; + case EUsbChargingPortTypeChargingPort: + str = &KPortTypeChargingPort; + break; + default: + break; + } + return str; + } + +void CUsbBatteryChargingPlugin::QueryCurrentSpeed() + { + if (iChargingInfo().iChargingPortType == EUsbChargingPortTypeChargingDownstreamPort) + { + if (iLdd.CurrentlyUsingHighSpeed()) + { + OstTrace0( TRACE_NORMAL, CUSBBATTERYCHARGINGPLUGIN_QUERYCURRENTSPEED, "CUsbBatteryChargingPlugin::QueryCurrentSpeed is high speed" ); + iUsbSpeedType = EUsbHighSpeed; + } + else + { + OstTrace0( TRACE_NORMAL, DUP1_CUSBBATTERYCHARGINGPLUGIN_QUERYCURRENTSPEED, "CUsbBatteryChargingPlugin::QueryCurrentSpeed is full speed" ); + iUsbSpeedType = EUsbFullSpeed; + } + } + } + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +void CUsbBatteryChargingPlugin::UpdateChargingInfo() + { + OstTraceFunctionEntry0( CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINFO_ENTRY ); + const TUint16 KIDev_Dchg = 1800; + const TUint16 KIDev_Chg = 1500; + const TUint16 KIDev_Hchg_Lfs = 1500; + const TUint16 KIDev_Hchg_Hs = 900; + const TUint16 KIDev_Hchg_Hs_Chirp = 560; + const TUint16 KIDev_Avaiable = 500; + const TUint16 KIDev_Suspend = 2; + const TUint16 KVBus_Chg = 4500; + const TUint16 KVBus_Dchg = 2000; + + + QueryCurrentSpeed(); +//set iUsbConnStatus field + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusNone; + if (EUsbChargingPortTypeStandardDownstreamPort == iChargingInfo().iChargingPortType + && IsUsbChargingPossible()) + { + switch (iDeviceState) + { + case EUsbDeviceStateSuspended: + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusSuspend; + break; + case EUsbDeviceStateConfigured: + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusConfigured; + break; + default: + break; + } + } +//set current and voltage field + switch (iChargingInfo().iChargingPortType) + { + case EUsbChargingPortTypeDedicatedChargingPort: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Avaiable; + iChargingInfo().iMaxVbusCurrent = KIDev_Dchg; + iChargingInfo().iMinVbusVoltage = KVBus_Dchg; + break; + case EUsbChargingPortTypeChargingPort: + case EUsbChargingPortTypeChargingDownstreamPort: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Avaiable; + iChargingInfo().iMinVbusVoltage = KVBus_Dchg; + if (iChargerDetectotCaps.iCapabilities & KChargerDetectorCapChirpCurrentLimiting) + { + if (iUsbSpeedType == EUsbFullSpeed) + { + iChargingInfo().iMaxVbusCurrent = KIDev_Hchg_Lfs; + } + else + { + iChargingInfo().iMaxVbusCurrent = KIDev_Hchg_Hs; + } + } + else + { + if (iDeviceState == EUsbDeviceStateConfigured && iUsbSpeedType == EUsbFullSpeed) + { + iChargingInfo().iMaxVbusCurrent = KIDev_Hchg_Lfs; + } + else + { + iChargingInfo().iMaxVbusCurrent = KIDev_Hchg_Hs_Chirp; + } + } + break; + case EUsbChargingPortTypeNone: + case EUsbChargingPortTypeUnsupported: + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; + break; + case EUsbChargingPortTypeStandardDownstreamPort: + if (IsUsbChargingPossible()) + { + switch (iDeviceState) + { + case EUsbDeviceStateConfigured: + iChargingInfo().iMinAvailableVbusCurrent = iAvailableMilliAmps; + iChargingInfo().iMaxVbusCurrent = iAvailableMilliAmps; + iChargingInfo().iMinVbusVoltage = KVBus_Chg; + break; + case EUsbDeviceStateSuspended: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Suspend; + iChargingInfo().iMaxVbusCurrent = KIDev_Suspend; + iChargingInfo().iMinVbusVoltage = KVBus_Chg; + break; + default: + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; + break; + } + } + else + { + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; + } + break; + case EUsbChargingPortTypeAcaRidA: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Avaiable - iBDevMaxPower; + iChargingInfo().iMaxVbusCurrent = KIDev_Chg; + iChargingInfo().iMinVbusVoltage = KVBus_Dchg; + break; + case EUsbChargingPortTypeAcaRidB: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Avaiable; + iChargingInfo().iMaxVbusCurrent = KIDev_Chg; + iChargingInfo().iMinVbusVoltage = KVBus_Dchg; + break; + case EUsbChargingPortTypeAcaRidC: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Avaiable; + iChargingInfo().iMaxVbusCurrent = KIDev_Chg; + iChargingInfo().iMinVbusVoltage = KVBus_Dchg; + break; + default: + break; + } + PublishChargingInfo(); + OstTraceFunctionExit0( CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINFO_EXIT ); + } + +#else +void CUsbBatteryChargingPlugin::UpdateChargingInfo() + { + OstTraceFunctionEntry0( CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINF1_ENTRY ); + const TUint16 KIDev_Suspend = 2; + const TUint16 KVBus_Chg = 4500; + + + QueryCurrentSpeed(); +//set iUsbConnStatus field + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusNone; + if (EUsbChargingPortTypeStandardDownstreamPort == iChargingInfo().iChargingPortType + && IsUsbChargingPossible()) + { + switch (iDeviceState) + { + case EUsbDeviceStateSuspended: + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusSuspend; + break; + case EUsbDeviceStateConfigured: + iChargingInfo().iUsbConnStatus = EUsbConnectionStatusConfigured; + break; + default: + break; + } + } +//set current and voltage field + switch (iChargingInfo().iChargingPortType) + { + case EUsbChargingPortTypeStandardDownstreamPort: + if (IsUsbChargingPossible()) + { + switch (iDeviceState) + { + case EUsbDeviceStateConfigured: + iChargingInfo().iMinAvailableVbusCurrent = iAvailableMilliAmps; + iChargingInfo().iMaxVbusCurrent = iAvailableMilliAmps; + iChargingInfo().iMinVbusVoltage = KVBus_Chg; + break; + case EUsbDeviceStateSuspended: + iChargingInfo().iMinAvailableVbusCurrent = KIDev_Suspend; + iChargingInfo().iMaxVbusCurrent = KIDev_Suspend; + iChargingInfo().iMinVbusVoltage = KVBus_Chg; + break; + default: + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; + break; + } + } + else + { + iChargingInfo().iMinAvailableVbusCurrent = 0; + iChargingInfo().iMaxVbusCurrent = 0; + iChargingInfo().iMinVbusVoltage = 0; + } + break; + default: + break; + } + PublishChargingInfo(); + OstTraceFunctionExit0( CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINF1_EXIT ); + } + +#endif + + +void CUsbBatteryChargingPlugin::PublishChargingInfo() + { + OstTraceFunctionEntry0( CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_ENTRY ); + OstTraceExt1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP1, "charging type: %s", + *ChargingTypeToString(iChargingInfo().iChargingPortType) ); + OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP2, "iUsbConnStatus %d", + iChargingInfo().iUsbConnStatus ); + OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP3, "iMinAvailableVbusCurrent %d", + iChargingInfo().iMinAvailableVbusCurrent ); + OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP4, "iMaxVbusCurrent %d", + iChargingInfo().iMaxVbusCurrent ); + OstTrace1( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP5, "iMinVbusVoltage %d", + iChargingInfo().iMinVbusVoltage ); + + if (iLastPublishedInfo.iChargingPortType != iChargingInfo().iChargingPortType + || iLastPublishedInfo.iUsbConnStatus != iChargingInfo().iUsbConnStatus + || iLastPublishedInfo.iMinAvailableVbusCurrent != iChargingInfo().iMinAvailableVbusCurrent + || iLastPublishedInfo.iMaxVbusCurrent != iChargingInfo().iMaxVbusCurrent + || iLastPublishedInfo.iMinVbusVoltage != iChargingInfo().iMinVbusVoltage) + { + OstTrace0( TRACE_NORMAL, REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP6, "info changed, publish it"); + RProperty::Set(KPropertyUidUsbBatteryChargingCategory, + KPropertyUidUsbBatteryChargingInfo, + iChargingInfo); + } + iLastPublishedInfo = iChargingInfo(); + OstTraceFunctionExit0( CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_EXIT ); + } + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + +void CUsbBatteryChargingPlugin::PeerDeviceMaxPower(TUint aCurrent) + { + OstTraceFunctionEntry0( CUSBBATTERYCHARGINGPLUGIN_PEERDEVICEMAXPOWER_ENTRY ); + const TUint16 KIBDev_Drawn = 500; + iBDevMaxPower = (aCurrent < KIBDev_Drawn)?aCurrent:KIBDev_Drawn; + UpdateChargingInfo(); + OstTraceFunctionExit0( CUSBBATTERYCHARGINGPLUGIN_PEERDEVICEMAXPOWER_EXIT ); + } +#endif + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/src/chargingstates.cpp --- a/usbmgmt/usbmgr/usbman/chargingplugin/src/chargingstates.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/src/chargingstates.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -20,7 +20,6 @@ @internalComponent */ -#include #include "chargingstates.h" #include "reenumerator.h" #include "OstTraceDefinitions.h" @@ -47,55 +46,44 @@ OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBSERVICESTATECHANGE_EXIT ); } +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +void TUsbBatteryChargingPluginStateBase::PeerDeviceMaxPower(TUint aCurrent) + { + (void)aCurrent; + } + +void TUsbBatteryChargingPluginStateBase::UsbChargingPortType(TUint aPortType) + { + switch (aPortType) + { + case EUsbChargingPortTypeDedicatedChargingPort: + case EUsbChargingPortTypeAcaRidA: + case EUsbChargingPortTypeAcaRidB: + case EUsbChargingPortTypeNone: + case EUsbChargingPortTypeUnsupported: + iParent.SetState(EPluginStateIdle); + break; + case EUsbChargingPortTypeAcaRidC: + case EUsbChargingPortTypeStandardDownstreamPort: + case EUsbChargingPortTypeChargingDownstreamPort: + case EUsbChargingPortTypeChargingPort: + default: + break; + } + } +#endif + void TUsbBatteryChargingPluginStateBase::UsbDeviceStateChange(TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState) { OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBDEVICESTATECHANGE_ENTRY ); - - (void)aLastError; - (void)aOldState; - (void)aNewState; + (void)aLastError; + (void)aOldState; + iParent.iDeviceState = aNewState; OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBDEVICESTATECHANGE_EXIT ); } -void TUsbBatteryChargingPluginStateBase::HandleRepositoryValueChangedL( - const TUid& aRepository, TUint aId, TInt aVal) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_ENTRY ); - - OstTraceExt3( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL, - "TUsbBatteryChargingPluginStateBase::HandleRepositoryValueChangedL;aRepository = 0x%08x;aId=%d;aVal=%d", - aRepository.iUid, aId, (TInt32)aVal ); - OstTraceExt2( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_DUP1, - "TUsbBatteryChargingPluginStateBase::HandleRepositoryValueChangedL;Plugin State = %d, Device State = %d", - iParent.iPluginState, iParent.iDeviceState ); - - if ((aRepository == KUsbBatteryChargingCentralRepositoryUid) && - (aId == KUsbBatteryChargingKeyEnabledUserSetting)) - { - iParent.iUserSetting = (TUsbBatteryChargingUserSetting)aVal; - - if (iParent.iUserSetting == EUsbBatteryChargingUserSettingDisabled) - { - if(iParent.iPluginState == EPluginStateCharging) - { - iParent.StopCharging(); - - // Push EPluginStateIdleNegotiated state to recover state - iParent.PushRecoverState(EPluginStateIdleNegotiated); - } - else - { - // Push current state to recover state - iParent.PushRecoverState(iParent.iPluginState); - } - - iParent.SetState(EPluginStateUserDisabled); - } - } - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_EXIT ); - } - + void TUsbBatteryChargingPluginStateBase::DeviceStateTimeout() { OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_DEVICESTATETIMEOUT_ENTRY ); @@ -103,11 +91,7 @@ iParent.iDeviceReEnumerator->Cancel(); // cancel re-enumeration AO - if(iParent.iUserSetting) // User allow charging already and not in negotiating process... - { - // Should not happen !!! Otherwise, something wrong!!! - iParent.SetState(EPluginStateIdle); - } + iParent.SetState(EPluginStateIdle); OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_DEVICESTATETIMEOUT_EXIT ); } @@ -129,26 +113,16 @@ switch(aValue) { case EUsbBatteryChargingIdPinARole: - if (iParent.iPluginState == EPluginStateCharging) - { - iParent.StopCharging(); - } - TRAP_IGNORE(iParent.SetInitialConfigurationL()); iParent.SetState(EPluginStateBEndedCableNotPresent); - - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED_EXIT ); + iParent.iAvailableMilliAmps = 0; + OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED_EXIT ); return; case EUsbBatteryChargingIdPinBRole: - iParent.SetState(EPluginStateIdle); break; - default: - if (iParent.iPluginState == EPluginStateCharging) - { - iParent.StopCharging(); - } + default: iParent.SetState(EPluginStateIdle); break; } @@ -182,13 +156,9 @@ iParent.iVBusState = aNewState; if (aNewState == 0) // VBus drop down - we have disconnected from host { - if (iParent.iPluginState == EPluginStateCharging) - { - iParent.StopCharging(); - } + iParent.iAvailableMilliAmps = 0; iParent.SetState(EPluginStateIdle); } - // The handling of VBus on will be down in DeviceStateChanged implicitly OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOVBUSSTATECHANGED_EXIT_DUP1 ); } @@ -223,21 +193,14 @@ (void)aOldState; iParent.iDeviceState = aNewState; iParent.LogStateText(aNewState); - + switch (iParent.iDeviceState) { case EUsbDeviceStateAddress: { - if (iParent.iUserSetting) + if (iParent.IsUsbChargingPossible()) { - if (iParent.IsUsbChargingPossible()) - { - iParent.NegotiateChargingCurrent(); - } - } - else - { - iParent.SetState(EPluginStateUserDisabled); + iParent.NegotiateChargingCurrent(); } } break; @@ -272,18 +235,14 @@ case EUsbDeviceStateConfigured: if (iParent.IsUsbChargingPossible()) { - iParent.iDeviceStateTimer->Cancel(); - + iParent.iAvailableMilliAmps = iParent.iRequestedCurrentValue; + iParent.iDeviceStateTimer->Cancel(); OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE_DUP1, "TUsbBatteryChargingPluginStateCurrentNegotiating::UsbDeviceStateChange;iParent.iAvailableMilliAmps=%d", iParent.iAvailableMilliAmps ); - iParent.iAvailableMilliAmps = iParent.iRequestedCurrentValue; if(0 != iParent.iRequestedCurrentValue) { - // A non-zero value was accepted by host, charging - // can be performed now. - iParent.StartCharging(iParent.iAvailableMilliAmps); + iParent.SetState(EPluginStateIdleNegotiated); OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE_DUP2, "TUsbBatteryChargingPluginStateCurrentNegotiating::UsbDeviceStateChange;PluginState => EPluginStateCharging(%d)", iParent.iPluginState ); - iParent.SetNegotiatedCurrent(iParent.iAvailableMilliAmps); } else { @@ -293,7 +252,6 @@ OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE_DUP3, "TUsbBatteryChargingPluginStateCurrentNegotiating::UsbDeviceStateChange;No more current value to try, iPluginState turned to %d", iParent.iPluginState ); } } - break; // If no configured received, there must be a timeout @@ -329,51 +287,6 @@ } -// Charging plugin charing state - - -TUsbBatteryChargingPluginStateCharging::TUsbBatteryChargingPluginStateCharging ( - CUsbBatteryChargingPlugin& aParentStateMachine ) : - TUsbBatteryChargingPluginStateBase(aParentStateMachine) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_ENTRY ); - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_EXIT ); - } - -void TUsbBatteryChargingPluginStateCharging::UsbDeviceStateChange( - TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_ENTRY ); - - OstTraceExt3( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE, "TUsbBatteryChargingPluginStateCharging::UsbDeviceStateChange;aLastError=%d;aOldState=%d;aNewState=%d", aLastError, aOldState, aNewState ); - (void)aLastError; - (void)aOldState; - iParent.iDeviceState = aNewState; - iParent.LogStateText(aNewState); - - switch(iParent.iDeviceState) - { - case EUsbDeviceStateConfigured: - break; // I think this can not happen at all but in case ... - - case EUsbDeviceStateAttached: - case EUsbDeviceStatePowered: - case EUsbDeviceStateDefault: - case EUsbDeviceStateAddress: - case EUsbDeviceStateSuspended: - { - // wait until configured - iParent.StopCharging(); - iParent.SetState(EPluginStateIdleNegotiated); - } - break; - - default: - break; - } - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_EXIT ); - } - // Charging plugin negotiated fail state @@ -406,142 +319,14 @@ (void)aOldState; iParent.iDeviceState = aNewState; iParent.LogStateText(aNewState); - - switch(iParent.iDeviceState) - { - case EUsbDeviceStateConfigured: - { - // wait until configured - if (iParent.IsUsbChargingPossible()) - { - iParent.StartCharging(iParent.iAvailableMilliAmps); - } - } - break; - - default: - break; - } + if (aNewState != EUsbDeviceStateConfigured && aNewState != EUsbDeviceStateSuspended) + { + iParent.iAvailableMilliAmps = 0; + iParent.SetState(EPluginStateIdle); + } OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLENEGOTIATED_USBDEVICESTATECHANGE_EXIT ); } -// Charging plugin user disabled state - -TUsbBatteryChargingPluginStateUserDisabled::TUsbBatteryChargingPluginStateUserDisabled ( - CUsbBatteryChargingPlugin& aParentStateMachine ) : - TUsbBatteryChargingPluginStateBase(aParentStateMachine) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_ENTRY ); - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_EXIT ); - }; - - -void TUsbBatteryChargingPluginStateUserDisabled::UsbDeviceStateChange( - TInt aLastError, TUsbDeviceState aOldState, TUsbDeviceState aNewState) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_ENTRY ); - - OstTraceExt3( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE, "TUsbBatteryChargingPluginStateUserDisabled::UsbDeviceStateChange;aLastError=%d;aOldState=%d;aNewState=%d", aLastError, aOldState, aNewState ); - (void)aLastError; - (void)aOldState; - iParent.iDeviceState = aNewState; - iParent.LogStateText(aNewState); - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_EXIT ); - } - -void TUsbBatteryChargingPluginStateUserDisabled::HandleRepositoryValueChangedL( - const TUid& aRepository, TUint aId, TInt aVal) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_ENTRY ); - - OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL, "TUsbBatteryChargingPluginStateUserDisabled::HandleRepositoryValueChangedL;aRepository = 0x%08x", aRepository.iUid ); - OstTraceExt2( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP1, "TUsbBatteryChargingPluginStateUserDisabled::HandleRepositoryValueChangedL;aId=%d;aVal=%d", aId, aVal ); - OstTraceExt2( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP2, "TUsbBatteryChargingPluginStateUserDisabled::HandleRepositoryValueChangedL;iParent.iPluginState=%d;iParent.iDeviceState=%d", iParent.iPluginState, iParent.iDeviceState ); - - if ((aRepository == KUsbBatteryChargingCentralRepositoryUid) && - (aId == KUsbBatteryChargingKeyEnabledUserSetting)) - { - iParent.iUserSetting = (TUsbBatteryChargingUserSetting)aVal; - - if (iParent.iUserSetting == EUsbBatteryChargingUserSettingEnabled) - { - // EPluginStateUserDisabled must be the current state - iParent.PopRecoverState(); - if ((iParent.iPluginState == EPluginStateIdleNegotiated) - && (iParent.iDeviceState == EUsbDeviceStateConfigured)) - { - iParent.StartCharging(iParent.iAvailableMilliAmps); // Go to charing state implicitly - } - OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP3, "TUsbBatteryChargingPluginStateUserDisabled::HandleRepositoryValueChangedL;PluginState => %d", iParent.iPluginState ); - } - } - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_EXIT ); - } - -// For host OTG enabled charging plug-in -#ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV -void TUsbBatteryChargingPluginStateUserDisabled::MpsoIdPinStateChanged(TInt aValue) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_ENTRY ); - - OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED, "TUsbBatteryChargingPluginStateUserDisabled::MpsoIdPinStateChanged;IdPinState changed => %d", aValue ); - - // Disable charging here when IdPin is present - // When IdPin disappears (i.e. the phone becomes B-Device), all necessary step are performed - // in UsbDeviceStateChange() method - - iParent.iIdPinState = aValue; - - switch(aValue) - { - case EUsbBatteryChargingIdPinARole: - TRAP_IGNORE(iParent.SetInitialConfigurationL()); - iParent.PushRecoverState(EPluginStateBEndedCableNotPresent); - - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT ); - return; - - case EUsbBatteryChargingIdPinBRole: - iParent.PushRecoverState(EPluginStateIdle); - break; - - default: - iParent.SetState(EPluginStateIdle); - break; - } - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT_DUP1 ); - } - -#endif - -void TUsbBatteryChargingPluginStateUserDisabled::MpsoVBusStateChanged(TInt aNewState) - { - OstTraceFunctionEntry0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_ENTRY ); - - if (aNewState == iParent.iVBusState) - { - OstTrace1( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED, "TUsbBatteryChargingPluginStateUserDisabled::MpsoVBusStateChanged;Receive VBus State Change notification without any state change: aNewState = %d", aNewState ); - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT ); - return; - } - - OstTraceExt2( TRACE_NORMAL, REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_DUP1, "TUsbBatteryChargingPluginStateUserDisabled::MpsoVBusStateChanged;VBusState changed from %d to %d", iParent.iVBusState, aNewState ); - - iParent.iVBusState = aNewState; - if (aNewState == 0) // VBus drop down - we have disconnected from host - { - iParent.iRequestedCurrentValue = 0; - iParent.iCurrentIndexRequested = 0; - iParent.iAvailableMilliAmps = 0; - - iParent.iPluginStateToRecovery = EPluginStateIdle; - } - - // The handling of VBus on will be down in DeviceStateChanged implicitly - OstTraceFunctionExit0( REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT_DUP1 ); - } - - // Charging plugin A-role state TUsbBatteryChargingPluginStateBEndedCableNotPresent::TUsbBatteryChargingPluginStateBEndedCableNotPresent ( @@ -550,7 +335,26 @@ { OstTraceFunctionEntry0( RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_CONS_ENTRY ); OstTraceFunctionExit0( RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_CONS_EXIT ); - }; + } + +#ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV +void TUsbBatteryChargingPluginStateBEndedCableNotPresent::MpsoIdPinStateChanged(TInt aValue) + { + iParent.iIdPinState = aValue; + switch(aValue) + { + case EUsbBatteryChargingIdPinARole: + break; + case EUsbBatteryChargingIdPinBRole: + iParent.SetState(EPluginStateIdle); + break; + default: + iParent.SetState(EPluginStateIdle); + break; + } + } +#endif + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/src/repositorynotifier.cpp --- a/usbmgmt/usbmgr/usbman/chargingplugin/src/repositorynotifier.cpp Mon Sep 06 11:27:08 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** - @file - @internalComponent -*/ - -#include "repositorynotifier.h" -#include - -CUsbChargingRepositoryNotifier::CUsbChargingRepositoryNotifier(MUsbChargingRepositoryObserver& aObserver,const TUid& aRepository, TUint aId) -: CActive(CActive::EPriorityStandard), iObserver(aObserver), iRepositoryUid(aRepository), iId(aId) - { - CActiveScheduler::Add(this); - } - -void CUsbChargingRepositoryNotifier::ConstructL() - { - iRepository = CRepository::NewL(iRepositoryUid); - TInt state = KErrUnknown; - User::LeaveIfError(iRepository->Get(iId, state)); - // Update observers with current value if valid - if(state >= KErrNone) - { - iObserver.HandleRepositoryValueChangedL(iRepositoryUid, iId, state); - } - Notify(); - } - -void CUsbChargingRepositoryNotifier::DoCancel() - { - // If the call returns an error value, there's nothing meaninful we can do - // (void) it to avoid messages from Lint - (void) iRepository->NotifyCancel(iId); - } - -CUsbChargingRepositoryNotifier::~CUsbChargingRepositoryNotifier() - { - Cancel(); - delete iRepository; - } - -void CUsbChargingRepositoryNotifier::Notify() - { - iStatus = KRequestPending; - TInt err = iRepository->NotifyRequest(iId, iStatus); - if(err == KErrNone) - { - SetActive(); - } - } - -void CUsbChargingRepositoryNotifier::RunL() - { - TInt state; - TInt err = iRepository->Get(iId, state); - if(err ==KErrNone) - { - iObserver.HandleRepositoryValueChangedL(iRepositoryUid, iId, state); - } - Notify(); - } - -TInt CUsbChargingRepositoryNotifier::RunError(TInt /*aError*/) - { - return KErrNone; - } - -CUsbChargingRepositoryNotifier* CUsbChargingRepositoryNotifier::NewL(MUsbChargingRepositoryObserver& aObserver,const TUid& aRepository, TUint aId) - { - CUsbChargingRepositoryNotifier* self = new (ELeave) CUsbChargingRepositoryNotifier(aObserver,aRepository,aId); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/chargingplugin/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/usbman/chargingplugin/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/chargingplugin/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -3,14 +3,20 @@ [GROUP]TRACE_FLOW=0x8a [GROUP]TRACE_NORMAL=0x86 [TRACE]TRACE_FATAL[0x81]_REF_CUSBBATTERYCHARGINGPLUGIN_PANIC=0x1 +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_PEERDEVICEMAXPOWER_ENTRY=0x7b +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_PEERDEVICEMAXPOWER_EXIT=0x7c +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_ENTRY=0x79 +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_EXIT=0x7a +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINF1_ENTRY=0x77 +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINF1_EXIT=0x78 +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINFO_ENTRY=0x75 +[TRACE]TRACE_FLOW[0x8A]_CUSBBATTERYCHARGINGPLUGIN_UPDATECHARGINGINFO_EXIT=0x76 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_ENTRY=0x6a [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_EXIT=0x6b [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_CUSBBATTERYCHARGINGPLUGIN_DES_ENTRY=0x69 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_DEVICESTATETIMEOUT_ENTRY=0x41 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_DEVICESTATETIMEOUT_EXIT=0x42 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE=0x72 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x3f -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x40 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_LOGSTATETEXT_ENTRY=0x51 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_LOGSTATETEXT_EXIT=0x52 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_MPSOIDPINSTATECHANGED_ENTRY=0x55 @@ -23,10 +29,6 @@ [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_NEGOTIATECHARGINGCURRENT_EXIT=0x3c [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_NEGOTIATENEXTCURRENTVALUEL_ENTRY=0x43 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_NEGOTIATENEXTCURRENTVALUEL_EXIT=0x44 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_ENTRY=0x37 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_EXIT=0x38 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_ENTRY=0x35 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_EXIT=0x36 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_READCURRENTREQUESTVALUESL=0x6c [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_READCURRENTREQUESTVALUESL_ENTRY=0x49 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_READCURRENTREQUESTVALUESL_EXIT=0x4a @@ -34,20 +36,12 @@ [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_REQUESTCURRENTL_EXIT=0x48 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_RESETPLUGIN_ENTRY=0x45 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_RESETPLUGIN_EXIT=0x46 -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_ENTRY=0x4f -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_EXIT=0x50 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETSTATE_ENTRY=0x39 [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETSTATE_EXIT=0x3a -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_ENTRY=0x4b -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_EXIT=0x4c -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_ENTRY=0x4d -[TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_EXIT=0x4e [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_USBDEVICESTATECHANGE_ENTRY=0x3d [TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_USBDEVICESTATECHANGE_EXIT=0x3e [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_DEVICESTATETIMEOUT_ENTRY=0x7 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_DEVICESTATETIMEOUT_EXIT=0x8 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x5 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x6 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED_ENTRY=0x9 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED_EXIT=0xa [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED_EXIT_DUP1=0xb @@ -62,10 +56,6 @@ [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBDEVICESTATECHANGE_EXIT=0x4 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBSERVICESTATECHANGE_ENTRY=0x1 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_USBSERVICESTATECHANGE_EXIT=0x2 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_ENTRY=0x5f -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_EXIT=0x60 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_ENTRY=0x1f -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_EXIT=0x20 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_DEVICESTATETIMEOUT_ENTRY=0x1b [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_DEVICESTATETIMEOUT_EXIT=0x1c [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_CONS_ENTRY=0x5d @@ -82,25 +72,12 @@ [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLE_USBDEVICESTATECHANGE_EXIT=0x16 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_CONS_ENTRY=0x61 [TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_CONS_EXIT=0x62 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x2b -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x2c -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_ENTRY=0x2d -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT=0x2e -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT_DUP1=0x2f -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_ENTRY=0x30 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT=0x31 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT_DUP1=0x32 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_ENTRY=0x65 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_EXIT=0x66 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_ENTRY=0x29 -[TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_EXIT=0x2a [TRACE]TRACE_FLOW[0x8A]_RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_CONS_ENTRY=0x67 [TRACE]TRACE_FLOW[0x8A]_RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_CONS_EXIT=0x68 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL=0x18 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP1=0x19 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP2=0x1a +[TRACE]TRACE_NORMAL[0x86]_CUSBBATTERYCHARGINGPLUGIN_QUERYCURRENTSPEED=0x49 +[TRACE]TRACE_NORMAL[0x86]_CUSBBATTERYCHARGINGPLUGIN_USBCHARGINGPORTTYPE=0x48 +[TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBBATTERYCHARGINGPLUGIN_QUERYCURRENTSPEED=0x4a [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP3=0x1d -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP4=0x1e [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE_DUP1=0x41 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE_DUP2=0x42 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_LOGSTATETEXT=0x29 @@ -112,6 +89,12 @@ [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_LOGSTATETEXT_DUP6=0x2f [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_NEGOTIATECHARGINGCURRENT=0x33 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_NEGOTIATECHARGINGCURRENT_DUP1=0x34 +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP1=0x4b +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP2=0x4c +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP3=0x4d +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP4=0x4e +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP5=0x4f +[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PUBLISHCHARGINGINFO_DUP6=0x50 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_REQUESTCURRENTL=0x36 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_REQUESTCURRENTL_DUP1=0x37 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_REQUESTCURRENTL_DUP10=0x40 @@ -134,20 +117,12 @@ [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETINITIALCONFIGURATIONL_DUP7=0x26 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETINITIALCONFIGURATIONL_DUP8=0x27 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETINITIALCONFIGURATIONL_DUP9=0x28 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT=0x43 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_DUP1=0x44 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETSTATE=0x31 [TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETSTATE_DUP1=0x32 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING=0x45 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_DUP1=0x46 -[TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING=0x47 [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_DEVICESTATETIMEOUT=0x3 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL=0x1 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_DUP1=0x2 [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOIDPINSTATECHANGED=0x4 [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOVBUSSTATECHANGED=0x5 [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_MPSOVBUSSTATECHANGED_DUP1=0x6 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE=0xe [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_DEVICESTATETIMEOUT=0xd [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE=0x8 [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE_DUP1=0x9 @@ -155,25 +130,35 @@ [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_USBDEVICESTATECHANGE_DUP3=0xb [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLENEGOTIATED_USBDEVICESTATECHANGE=0xf [TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLE_USBDEVICESTATECHANGE=0x7 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL=0x11 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP1=0x12 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP2=0x13 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP3=0x14 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED=0x15 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED=0x16 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_DUP1=0x17 -[TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE=0x10 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE_DUP1=0x73 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_GETINTERFACE_DUP2=0x74 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x3f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x40 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_ENTRY=0x37 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_POPRECOVERSTATE_EXIT=0x38 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_ENTRY=0x35 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_PUSHRECOVERSTATE_EXIT=0x36 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT=0x70 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_DUP1=0x71 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_ENTRY=0x4f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_EXIT=0x50 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING=0x6d [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_DUP1=0x6e +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_ENTRY=0x4b +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_EXIT=0x4c [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING=0x6f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_ENTRY=0x4d +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING_EXIT=0x4e +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x5 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x6 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_TUSBBATTERYCHARGINGPLUGINSTATEBASE_ENTRY=0x11 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_TUSBBATTERYCHARGINGPLUGINSTATEBASE_EXIT=0x12 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_ENTRY=0x5f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_CONS_EXIT=0x60 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_ENTRY=0x1d [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_EXIT=0x1e +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_ENTRY=0x1f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE_EXIT=0x20 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_ENTRY=0x17 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_TUSBBATTERYCHARGINGPLUGINSTATECURRENTNEGOTIATING_EXIT=0x18 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLENEGOTIATED_TUSBBATTERYCHARGINGPLUGINSTATEIDLENEGOTIATED_ENTRY=0x23 @@ -182,11 +167,43 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEIDLE_TUSBBATTERYCHARGINGPLUGINSTATEIDLE_EXIT=0x14 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_ENTRY=0x21 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_TUSBBATTERYCHARGINGPLUGINSTATENOVALIDCURRENT_EXIT=0x22 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_ENTRY=0x2b +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_EXIT=0x2c +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_ENTRY=0x2d +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT=0x2e +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED_EXIT_DUP1=0x2f +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_ENTRY=0x30 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT=0x31 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_EXIT_DUP1=0x32 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_ENTRY=0x65 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_CONS_EXIT=0x66 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_ENTRY=0x27 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_EXIT=0x28 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_ENTRY=0x29 +[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE_EXIT=0x2a [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_ENTRY=0x33 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_RES_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_TUSBBATTERYCHARGINGPLUGINSTATEBENDEDCABLENOTPRESENT_EXIT=0x34 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL=0x18 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP1=0x19 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP2=0x1a +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP4=0x1e [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_PANIC=0x30 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT=0x43 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_SETNEGOTIATEDCURRENT_DUP1=0x44 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING=0x45 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STARTCHARGING_DUP1=0x46 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_CUSBBATTERYCHARGINGPLUGIN_STOPCHARGING=0x47 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL=0x1 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_DUP1=0x2 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEBASE_HANDLEREPOSITORYVALUECHANGEDL_DUP2=0xc +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATECHARGING_USBDEVICESTATECHANGE=0xe +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL=0x11 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP1=0x12 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP2=0x13 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_HANDLEREPOSITORYVALUECHANGEDL_DUP3=0x14 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOIDPINSTATECHANGED=0x15 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED=0x16 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_MPSOVBUSSTATECHANGED_DUP1=0x17 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_REF_TUSBBATTERYCHARGINGPLUGINSTATEUSERDISABLED_USBDEVICESTATECHANGE=0x10 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP3=0x1b [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__REF_CUSBBATTERYCHARGINGPLUGIN_CONSTRUCTL_DUP4=0x1c diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/extensionplugin/BWINS/usbmanextensionpluginshaiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/extensionplugin/BWINS/usbmanextensionpluginshaiu.def Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,9 @@ +EXPORTS + ??1CUsbmanExtensionPlugin@@UAE@XZ @ 1 NONAME ; CUsbmanExtensionPlugin::~CUsbmanExtensionPlugin(void) + ?NewL@CUsbmanExtensionPlugin@@SAPAV1@VTUid@@AAVMUsbmanExtensionPluginObserver@@@Z @ 2 NONAME ; class CUsbmanExtensionPlugin * CUsbmanExtensionPlugin::NewL(class TUid, class MUsbmanExtensionPluginObserver &) + ?RegisterStateObserverL@MUsbmanExtensionPluginObserver@@QAEXAAVMUsbDeviceNotify@@@Z @ 3 NONAME ; void MUsbmanExtensionPluginObserver::RegisterStateObserverL(class MUsbDeviceNotify &) + ?RegisterChargingObserverL@MUsbmanExtensionPluginObserver@@QAEXAAVMUsbChargingNotify@@@Z @ 4 NONAME ; void MUsbmanExtensionPluginObserver::RegisterChargingObserverL(class MUsbChargingNotify &) + ?Observer@CUsbmanExtensionPlugin@@IAEAAVMUsbmanExtensionPluginObserver@@XZ @ 5 NONAME ; class MUsbmanExtensionPluginObserver & CUsbmanExtensionPlugin::Observer(void) + ?DevUsbcClient@MUsbmanExtensionPluginObserver@@QAEAAVRDevUsbcClient@@XZ @ 6 NONAME ; class RDevUsbcClient & MUsbmanExtensionPluginObserver::DevUsbcClient(void) + ??0CUsbmanExtensionPlugin@@IAE@AAVMUsbmanExtensionPluginObserver@@@Z @ 7 NONAME ; CUsbmanExtensionPlugin::CUsbmanExtensionPlugin(class MUsbmanExtensionPluginObserver &) + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/extensionplugin/EABI/usbmanextensionpluginshaiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/extensionplugin/EABI/usbmanextensionpluginshaiu.def Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,13 @@ +EXPORTS + _ZN22CUsbmanExtensionPlugin4NewLE4TUidR30MUsbmanExtensionPluginObserver @ 1 NONAME + _ZN22CUsbmanExtensionPlugin8ObserverEv @ 2 NONAME + _ZN22CUsbmanExtensionPluginC2ER30MUsbmanExtensionPluginObserver @ 3 NONAME + _ZN22CUsbmanExtensionPluginD0Ev @ 4 NONAME + _ZN22CUsbmanExtensionPluginD1Ev @ 5 NONAME + _ZN22CUsbmanExtensionPluginD2Ev @ 6 NONAME + _ZN30MUsbmanExtensionPluginObserver13DevUsbcClientEv @ 7 NONAME + _ZN30MUsbmanExtensionPluginObserver22RegisterStateObserverLER16MUsbDeviceNotify @ 8 NONAME + _ZTI22CUsbmanExtensionPlugin @ 9 NONAME ; ## + _ZTV22CUsbmanExtensionPlugin @ 10 NONAME ; ## + _ZN30MUsbmanExtensionPluginObserver25RegisterChargingObserverLER18MUsbChargingNotify @ 11 NONAME + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/extensionplugin/EABI/usbmanextensionpluginu.def --- a/usbmgmt/usbmgr/usbman/extensionplugin/EABI/usbmanextensionpluginu.def Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/extensionplugin/EABI/usbmanextensionpluginu.def Thu Sep 16 12:03:29 2010 +0800 @@ -8,5 +8,4 @@ _ZN30MUsbmanExtensionPluginObserver13DevUsbcClientEv @ 7 NONAME _ZN30MUsbmanExtensionPluginObserver22RegisterStateObserverLER16MUsbDeviceNotify @ 8 NONAME _ZTI22CUsbmanExtensionPlugin @ 9 NONAME ; ## - _ZTV22CUsbmanExtensionPlugin @ 10 NONAME ; ## - + _ZTV22CUsbmanExtensionPlugin @ 10 NONAME ; # -#include class MUsbmanExtensionPluginObserver; class MUsbDeviceNotify; diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/extensionplugin/public/MUsbManExtensionPluginObserver.h --- a/usbmgmt/usbmgr/usbman/extensionplugin/public/MUsbManExtensionPluginObserver.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/extensionplugin/public/MUsbManExtensionPluginObserver.h Thu Sep 16 12:03:29 2010 +0800 @@ -26,9 +26,12 @@ #define USBMANEXTENSIONPLUGINOBSERVER_H #include -#include class MUsbDeviceNotify; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +class MUsbChargingNotify; +#endif +class RDevUsbcClient; class MUsbmanExtensionPluginObserver { @@ -45,6 +48,9 @@ @param aObserver The observer to register for state changes */ IMPORT_C void RegisterStateObserverL(MUsbDeviceNotify& aObserver); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + IMPORT_C void RegisterChargingObserverL(MUsbChargingNotify& aObserver); +#endif private: /** @@ -56,6 +62,13 @@ @see RegisterStateObserverL. */ virtual void MuepoDoRegisterStateObserverL(MUsbDeviceNotify& aObserver) = 0; + + /** + @see RegisterChargingObserverL. + */ +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + virtual void MuepoDoRegisterChargingObserverL(MUsbChargingNotify& aObserver) = 0; +#endif }; #endif // USBMANEXTENSIONPLUGINOBSERVER_H diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/extensionplugin/src/MUsbManExtensionPluginObserver.cpp --- a/usbmgmt/usbmgr/usbman/extensionplugin/src/MUsbManExtensionPluginObserver.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/extensionplugin/src/MUsbManExtensionPluginObserver.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -37,3 +37,12 @@ MuepoDoRegisterStateObserverL(aObserver); } +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +EXPORT_C void MUsbmanExtensionPluginObserver::RegisterChargingObserverL(MUsbChargingNotify& aObserver) + { + MuepoDoRegisterChargingObserverL(aObserver); + } +#endif + + + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/INC/CUsbDevice.h --- a/usbmgmt/usbmgr/usbman/server/INC/CUsbDevice.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/INC/CUsbDevice.h Thu Sep 16 12:03:29 2010 +0800 @@ -30,13 +30,26 @@ #include #include #include + #ifndef __DUMMY_LDD__ -#include +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#include +class CUsbChargingPortTypeWatcher; +#else +#include +#endif #else #include "dummyusblddapi.h" +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +class CUsbChargingPortTypeWatcher; #endif + +#endif + #include -#include + #ifndef __DUMMY_LDD__ #include #else @@ -44,7 +57,6 @@ #endif - class CUsbDeviceStateWatcher; class CUsbClassControllerBase; class CUsbServer; @@ -114,6 +126,13 @@ void RegisterObserverL(MUsbDeviceNotify& aObserver); void DeRegisterObserver(MUsbDeviceNotify& aObserver); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + void RegisterChargingInfoObserverL(MUsbChargingNotify& aObserver); + void DeRegisterChargingInfoObserver(MUsbChargingNotify& aObserver); + void SetChargingPortType(TUsbcChargingPortType aChargerType); + void PeerDeviceMaxPower(TUint aCurrent); +#endif + void StartL(); void Stop(); @@ -133,7 +152,7 @@ TInt CurrentPersonalityId() const; const RPointerArray& Personalities() const; const CPersonality* GetPersonality(TInt aPersonalityId) const; - void ValidatePersonalitiesL(); + void ValidatePersonalities(); void ReadPersonalitiesL(); void SetDefaultPersonalityL(); void LoadFallbackClassControllersL(); @@ -151,7 +170,9 @@ public: // from MUsbmanExtensionPluginObserver RDevUsbcClient& MuepoDoDevUsbcClient(); void MuepoDoRegisterStateObserverL(MUsbDeviceNotify& aObserver); - +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + void MuepoDoRegisterChargingObserverL(MUsbChargingNotify& aObserver); +#endif protected: CUsbDevice(CUsbServer& aUsbServer); void ConstructL(); @@ -180,6 +201,10 @@ TInt iLastError; RDevUsbcClient iLdd; CUsbDeviceStateWatcher* iDeviceStateWatcher; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + CUsbChargingPortTypeWatcher* iChargerTypeWatcher; + RPointerArray iChargingObservers; +#endif CUsbServer& iUsbServer; CUsbClassControllerIterator* iUsbClassControllerIterator; const CPersonality* iCurrentPersonality; diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/INC/cusbchargingporttypewatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/server/INC/cusbchargingporttypewatcher.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +/** + @file +*/ + +#ifndef CUSBCHARGINGPORTTYPEWATCHER_H +#define CUSBCHARGINGPORTTYPEWATCHER_H + +#include + +class CUsbDevice; +class RDevUsbcClient; + +/** + * The CUsbChargingPortTypeWatcher class + * + * Talks directly to the USB Logical Device Driver (LDD) and + * watches charging port type + */ +NONSHARABLE_CLASS(CUsbChargingPortTypeWatcher) : public CActive + { +public: + static CUsbChargingPortTypeWatcher* NewL(CUsbDevice& aOwner, RDevUsbcClient& aLdd); + virtual ~CUsbChargingPortTypeWatcher(); + + inline CUsbDevice& Owner() const; + + // From CActive + virtual void RunL(); + virtual void DoCancel(); + + virtual void Start(); + +protected: + CUsbChargingPortTypeWatcher(CUsbDevice& aOwner, RDevUsbcClient& aLdd); + +private: + CUsbDevice& iOwner; + RDevUsbcClient& iLdd; + TUint iChargingPortType; + }; + +#include "cusbchargingporttypewatcher.inl" + +#endif //CUSBCHARGINGPORTTYPEWATCHER_H + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/INC/cusbchargingporttypewatcher.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/server/INC/cusbchargingporttypewatcher.inl Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +/** + @file +*/ + +#ifndef CUSBCHARGINGPORTTYPEWATCHER_INL +#define CUSBCHARGINGPORTTYPEWATCHER_INL + + +/** + * The CUsbChargingPortTypeWatcher::Owner method + * + * Fetch the device that owns this charger type watcher + * + * @internalComponent + * + * @return The device that owns this charger type watcher + */ +inline CUsbDevice& CUsbChargingPortTypeWatcher::Owner() const + { + return iOwner; + } + +#endif //CUSBCHARGINGPORTTYPEWATCHER_INL \ No newline at end of file diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/INC/cusbhost.h --- a/usbmgmt/usbmgr/usbman/server/INC/cusbhost.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/INC/cusbhost.h Thu Sep 16 12:03:29 2010 +0800 @@ -29,14 +29,16 @@ #include "musbinternalobservers.h" #include "cusbhostwatcher.h" +class CUsbServer; + NONSHARABLE_CLASS(CUsbHost) : public CBase, public MUsbHostObserver { public: - static CUsbHost* NewL(); + static CUsbHost* NewL(CUsbServer& aServer); virtual ~CUsbHost(); private: - CUsbHost(); + CUsbHost(CUsbServer& aServer); void ConstructL(); private: @@ -61,6 +63,7 @@ private: void UpdateNumOfObservers(); + void ProcessHostEvent(TUint aWatcherId); private: TBool iHasBeenStarted; @@ -71,6 +74,7 @@ RUsbHostStack iUsbHostStack; RPointerArray iObservers; TUint iNumOfObservers; + CUsbServer& iUsbServer; }; #endif //CUSBHOST_H diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/SRC/CUsbDevice.cpp --- a/usbmgmt/usbmgr/usbman/server/SRC/CUsbDevice.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/SRC/CUsbDevice.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -47,6 +46,7 @@ #include "UsbUtils.h" #include "CUsbDevice.h" #include "CUsbDeviceStateWatcher.h" +#include "cusbchargingporttypewatcher.h" #include "CPersonality.h" #include "usbmancenrepmanager.h" #include "usbmanprivatecrkeys.h" @@ -128,6 +128,10 @@ // we don't want to call ResetAndDestroy, because we don't own // the observers themselves. iObservers.Reset(); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + iChargingObservers.Reset(); + delete iChargerTypeWatcher; +#endif #ifndef __OVER_DUMMYUSBDI__ #ifndef __WINS__ @@ -247,6 +251,11 @@ iDeviceStateWatcher = CUsbDeviceStateWatcher::NewL(*this, iLdd); iDeviceStateWatcher->Start(); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + iChargerTypeWatcher = CUsbChargingPortTypeWatcher::NewL(*this, iLdd); + iChargerTypeWatcher->Start(); +#endif + // Get hold of the default serial number in the driver // This is so it can be put back in place when a device that sets a // different serial number (through the P&S key) is stopped @@ -1153,13 +1162,13 @@ OstTraceFunctionExit0( CUSBDEVICE_SETCURRENTPERSONALITYL_EXIT ); } -void CUsbDevice::ValidatePersonalitiesL() +void CUsbDevice::ValidatePersonalities() /** * Verifies all class controllers associated with each personality are loaded. * Leave if validation fails. */ { - OstTraceFunctionEntry0( CUSBDEVICE_VALIDATEPERSONALITIESL_ENTRY ); + OstTraceFunctionEntry0( CUSBDEVICE_VALIDATEPERSONALITIES_ENTRY ); TInt personalityCount = iSupportedPersonalities.Count(); for (TInt i = 0; i < personalityCount; i++) @@ -1170,10 +1179,10 @@ { TInt ccCount = iSupportedClassUids.Count(); TInt k; - OstTrace1( TRACE_NORMAL, CUSBDEVICE_VALIDATEPERSONALITIESL_DUP1, "CUsbDevice::ValidatePersonalitiesL;iSupportedClassUids Count = %d", ccCount ); + OstTrace1( TRACE_NORMAL, CUSBDEVICE_VALIDATEPERSONALITIES_DUP1, "CUsbDevice::ValidatePersonalities;iSupportedClassUids Count = %d", ccCount ); for (k = 0; k < ccCount; k++) { - OstTraceExt4( TRACE_NORMAL, CUSBDEVICE_VALIDATEPERSONALITIESL_DUP2, "CUsbDevice::ValidatePersonalitiesL;iSupportedClassUids %d %x classes %d %x", k, iSupportedClassUids[k].iUid, j, classes[j].iClassUid.iUid ); + OstTraceExt4( TRACE_NORMAL, CUSBDEVICE_VALIDATEPERSONALITIES_DUP2, "CUsbDevice::ValidatePersonalities;iSupportedClassUids %d %x classes %d %x", k, iSupportedClassUids[k].iUid, j, classes[j].iClassUid.iUid ); if (iSupportedClassUids[k] == classes[j].iClassUid) { break; @@ -1181,12 +1190,15 @@ } if (k == ccCount) { - OstTrace0( TRACE_NORMAL, CUSBDEVICE_VALIDATEPERSONALITIESL, "CUsbDevice::ValidatePersonalitiesL;personality validation failed" ); - User::Leave(KErrAbort); + OstTrace1( TRACE_FATAL, CUSBDEVICE_VALIDATEPERSONALITIES, "CUsbDevice::ValidatePersonalities; Validation failed, class %x not supported", classes[j].iClassUid.iUid ); + // Previously leaves here. But this causes that USB doesn't work. + // Now this function will only be called in debug version and only shows some information. + // The behaviour is a little different with before but should be ok. + // After the device image is verified, this error will never happen at run time. } } } - OstTraceFunctionExit0( CUSBDEVICE_VALIDATEPERSONALITIESL_EXIT ); + OstTraceFunctionExit0( CUSBDEVICE_VALIDATEPERSONALITIES_EXIT ); } /** Converts text string with UIDs to array of Uint @@ -1387,3 +1399,82 @@ OstTrace1( TRACE_NORMAL, CUSBDEVICE_MUEPODOREGISTERSTATEOBSERVERL, "CUsbDevice::MuepoDoRegisterStateObserverL;aObserver = 0x%08x", &aObserver ); RegisterObserverL(aObserver); } + + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +void CUsbDevice::MuepoDoRegisterChargingObserverL(MUsbChargingNotify& aObserver) +/** + * Inherited from MUsbmanExtensionPluginObserver - Function used by plugins to + * register themselves for notifications of charging changes. + * + * @param aObserver New Observer of the device + */ + { + OstTrace1( TRACE_NORMAL, CUSBDEVICE_MUEPODOREGISTERCHARGINGOBSERVERL, "CUsbDevice::MuepoDoRegisterChargingObserverL;aObserver = 0x%08x", &aObserver ); + RegisterChargingInfoObserverL(aObserver); + } + + +void CUsbDevice::RegisterChargingInfoObserverL(MUsbChargingNotify& aObserver) +/** + * Register an observer of charging. + * Presently, the device supports watching state. + * + * @param aObserver New Observer of the charging + */ + { + OstTraceFunctionEntry0( CUSBDEVICE_REGISTERCHARGINGINFOOBSERVERL_ENTRY ); + TInt err = iChargingObservers.Append(&aObserver); + if(err < 0) + { + OstTrace1( TRACE_NORMAL, CUSBDEVICE_REGISTERCHARGINGINFOOBSERVERL, "CUsbDevice::RegisterObserverL;iObservers.Append(&aObserver) with err=%d", err ); + User::Leave(err); + } + OstTraceFunctionExit0( CUSBDEVICE_REGISTERCHARGINGINFOOBSERVERL_EXIT ); + } + + +void CUsbDevice::DeRegisterChargingInfoObserver(MUsbChargingNotify& aObserver) +/** + * De-registers an existing charging observer. + * + * @param aObserver The existing device observer to be de-registered + */ + { + OstTraceFunctionEntry0( CUSBDEVICE_DEREGISTERCHARGINGINFOOBSERVERL_ENTRY ); + + TInt index = iChargingObservers.Find(&aObserver); + + if (index >= 0) + iObservers.Remove(index); + OstTraceFunctionExit0( CUSBDEVICE_DEREGISTERCHARGINGINFOOBSERVERL_EXIT ); + } + + +void CUsbDevice::SetChargingPortType(TUsbcChargingPortType aChargingPortType) + { + OstTraceFunctionEntry0( CUSBDEVICE_SETCHARGINGPORTTYPE_ENTRY ); + TUint length = iChargingObservers.Count(); + + for (TUint i = 0; i < length; i++) + { + iChargingObservers[i]->UsbChargingPortType(aChargingPortType); + } + OstTraceFunctionExit0( CUSBDEVICE_SETCHARGINGPORTTYPE_EXIT ); + } + +void CUsbDevice::PeerDeviceMaxPower(TUint aCurrent) + { + OstTraceFunctionEntry0( CUSBDEVICE_PEERDEVICEMAXPOWER_ENTRY ); + OstTrace1( TRACE_NORMAL, CUSBDEVICE_PEERDEVICEMAXPOWER_DUP, "CUsbDevice::PeerDeviceMaxPower with aCurrent=%d", aCurrent); + TUint length = iChargingObservers.Count(); + + for (TUint i = 0; i < length; i++) + { + iChargingObservers[i]->PeerDeviceMaxPower(aCurrent); + } + OstTraceFunctionExit0( CUSBDEVICE_PEERDEVICEMAXPOWER_EXIT ); + } + +#endif + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp --- a/usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/SRC/CUsbServer.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -172,7 +172,9 @@ if (iUsbDevice->isPersonalityCfged()) { #ifndef __OVER_DUMMYUSBDI__ - iUsbDevice->ValidatePersonalitiesL(); +#ifdef _DEBUG + iUsbDevice->ValidatePersonalities(); +#endif #endif iUsbDevice->SetDefaultPersonalityL(); } @@ -187,7 +189,7 @@ #endif // USE_DUMMY_CLASS_CONTROLLER #ifdef SYMBIAN_ENABLE_USB_OTG_HOST_PRIV - iUsbHost = CUsbHost::NewL(); + iUsbHost = CUsbHost::NewL(*this); //previously this was moved to CUsbSession:StartDeviceL() and similar //But it will cause the loading of personality longer. //So it is moved back here. diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/SRC/cusbchargingporttypewatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/server/SRC/cusbchargingporttypewatcher.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +/** + @file +*/ + +#include "CUsbScheduler.h" +#include "cusbchargingporttypewatcher.h" +#include "CUsbDevice.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "cusbchargingporttypewatcherTraces.h" +#endif + + +/** + * The CUsbChargingPortTypeWatcher::NewL method + * + * Constructs a new CUsbChargingPortTypeWatcher object + * + * @internalComponent + * @param aOwner The device that owns the charger type watcher + * @param aLdd A reference to the USB Logical Device Driver + * + * @return A new CUsbChargingPortTypeWatcher object + */ +CUsbChargingPortTypeWatcher* CUsbChargingPortTypeWatcher::NewL(CUsbDevice& aOwner, RDevUsbcClient& aLdd) + { + CUsbChargingPortTypeWatcher* r = new (ELeave) CUsbChargingPortTypeWatcher(aOwner, aLdd); + return r; + } + + +/** + * The CUsbChargingPortTypeWatcher::~CUsbChargingPortTypeWatcher method + * + * Destructor + * + * @internalComponent + */ +CUsbChargingPortTypeWatcher::~CUsbChargingPortTypeWatcher() + { + Cancel(); + } + + +/** + * The CUsbChargingPortTypeWatcher::CUsbChargingPortTypeWatcher method + * + * Constructor + * + * @param aOwner The device that owns the charger type watcher + * @param aLdd A reference to the USB Logical Device Driver + */ +CUsbChargingPortTypeWatcher::CUsbChargingPortTypeWatcher(CUsbDevice& aOwner, RDevUsbcClient& aLdd) + : CActive(CActive::EPriorityStandard), iOwner(aOwner), iLdd(aLdd) + { + CActiveScheduler::Add(this); + } + +/** + * Called when the charger type changes. + */ +void CUsbChargingPortTypeWatcher::RunL() + { + OstTraceFunctionEntry0( CUSBCHARGINGPORTTYPEWATCHER_RUNL_ENTRY ); + if (iStatus.Int() != KErrNone && iStatus.Int() != KErrDisconnected) + { + Start(); + OstTrace1( TRACE_ERROR, CUSBCHARGINGPORTTYPEWATCHER_RUNL, "CUsbChargingPortTypeWatcher::RunL;iStatus.Int()=%d", iStatus.Int() ); + OstTrace1( TRACE_NORMAL, DUP2_CUSBCHARGINGPORTTYPEWATCHER_RUNL, "CUsbChargingPortTypeWatcher::RunL;iChargingPortType=%d", iChargingPortType ); + OstTraceFunctionExit0( CUSBCHARGINGPORTTYPEWATCHER_RUNL_EXIT ); + return; + } + OstTrace1( TRACE_NORMAL, DUP1_CUSBCHARGINGPORTTYPEWATCHER_RUNL, "CUsbChargingPortTypeWatcher::RunL;iChargingPortType=%d", iChargingPortType ); + TUsbcChargingPortType portType = static_cast (iChargingPortType); + Start(); + iOwner.SetChargingPortType(portType); + OstTraceFunctionExit0( DUP1_CUSBCHARGINGPORTTYPEWATCHER_RUNL_EXIT ); + } + + +/** + * Automatically called when the charger type watcher is cancelled. + */ +void CUsbChargingPortTypeWatcher::DoCancel() + { + iLdd.ChargingPortTypeNotifyCancel(); + } + + +/** + * Instructs the charger type watcher to start watching. + */ +void CUsbChargingPortTypeWatcher::Start() + { + OstTraceFunctionEntry0( CUSBCHARGINGPORTTYPEWATCHER_START_ENTRY ); + iStatus = KRequestPending; + iLdd.ChargingPortTypeNotify(iStatus, iChargingPortType); + SetActive(); + OstTraceFunctionExit0( CUSBCHARGINGPORTTYPEWATCHER_START_EXIT ); + } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/SRC/cusbhost.cpp --- a/usbmgmt/usbmgr/usbman/server/SRC/cusbhost.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/SRC/cusbhost.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -15,8 +15,16 @@ * */ +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#else +#include +#endif #include #include "cusbhost.h" +#include "CUsbServer.h" +#include "CUsbDevice.h" + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "cusbhostTraces.h" @@ -25,11 +33,11 @@ CUsbHost* CUsbHost::iInstance = 0; -CUsbHost* CUsbHost::NewL() +CUsbHost* CUsbHost::NewL(CUsbServer& aServer) { if(iInstance == 0) { - iInstance = new (ELeave) CUsbHost(); + iInstance = new (ELeave) CUsbHost(aServer); CleanupStack::PushL(iInstance); iInstance->ConstructL(); CleanupStack::Pop(iInstance); @@ -54,7 +62,8 @@ OstTraceFunctionExit0( CUSBHOST_CUSBHOST_DES_EXIT ); } -CUsbHost::CUsbHost() +CUsbHost::CUsbHost(CUsbServer& aServer) + : iUsbServer(aServer) { OstTraceFunctionEntry0( CUSBHOST_CUSBHOST_CONS_ENTRY ); OstTraceFunctionExit0( CUSBHOST_CUSBHOST_CONS_EXIT ); @@ -207,6 +216,9 @@ void CUsbHost::NotifyHostEvent(TUint aWatcherId) { OstTraceFunctionEntry0( CUSBHOST_NOTIFYHOSTEVENT_ENTRY ); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + ProcessHostEvent(aWatcherId); +#endif if(aWatcherId == EHostEventMonitor) { @@ -265,3 +277,41 @@ } OstTraceFunctionExit0( CUSBHOST_DISABLEDRIVERLOADING_EXIT ); } + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + +void CUsbHost::ProcessHostEvent(TUint aWatcherId) + { + OstTraceFunctionEntry0( CUSBHOST_PROCESSHOSTEVENT_ENTRY ); + TConfigurationDescriptor configDesc; + const TUint KSuspend_Current = 2; //suspend current is 2mA + + if(aWatcherId == EHostEventMonitor) + { + // if driver is loaded successful the device enters configed state and we get the max power from configration. + if (iHostEventInfo.iEventType == EDriverLoad + && iHostEventInfo.iDriverLoadStatus != EDriverLoadFailure) + { + TInt ret = iUsbHostStack.GetConfigurationDescriptor(iHostEventInfo.iDeviceId, configDesc); + if (ret == KErrNone) + { + TUint currentValue = configDesc.iMaxPower <<1; + iUsbServer.Device().PeerDeviceMaxPower(currentValue); + } + } + // if driver is loaded with failure the device enters suspend state. + else if (iHostEventInfo.iEventType == EDriverLoad && + iHostEventInfo.iDriverLoadStatus == EDriverLoadFailure) + { + iUsbServer.Device().PeerDeviceMaxPower(KSuspend_Current); + } + // if a device is unattached . + else if (iHostEventInfo.iEventType == EDeviceDetachment) + { + iUsbServer.Device().PeerDeviceMaxPower(0); + } + } + OstTraceFunctionExit0( CUSBHOST_PROCESSHOSTEVENT_EXIT ); + } +#endif + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/group/bld.inf --- a/usbmgmt/usbmgr/usbman/server/group/bld.inf Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/group/bld.inf Thu Sep 16 12:03:29 2010 +0800 @@ -27,6 +27,8 @@ ../public/usbotgdefs.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(usbotgdefs.h) ../public/usbhostdefs.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(usbhostdefs.h) ./backup_registration.xml /epoc32/data/z/private/101fe1db/backup_registration.xml + +../public/musbchargingnotify.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(musbchargingnotify.h) ../conf/usbmanager_101fe1db.crml OS_LAYER_EXPORTS_CRML(usbmanager_101fe1db.crml) PRJ_TESTEXPORTS diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/group/t_Usbman_dummyCC.mmp --- a/usbmgmt/usbmgr/usbman/server/group/t_Usbman_dummyCC.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/group/t_Usbman_dummyCC.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -44,7 +44,9 @@ source CPersonality.cpp source usbmancenrepmanager.cpp source CUsbDummyClassController.cpp - +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +source cusbchargingporttypewatcher.cpp +#endif sourcepath ../../../inifile/src source inifile.cpp diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/group/usbsvr_dummyldd.mmp --- a/usbmgmt/usbmgr/usbman/server/group/usbsvr_dummyldd.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/group/usbsvr_dummyldd.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -41,6 +41,10 @@ source CPersonality.cpp source usbmancenrepmanager.cpp +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +source cusbchargingporttypewatcher.cpp +#endif + userinclude ../INC userinclude ../public userinclude ../../../host/fdf/production/client/public diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/group/usbsvrbase.mmp --- a/usbmgmt/usbmgr/usbman/server/group/usbsvrbase.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/group/usbsvrbase.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -39,6 +39,10 @@ source CPersonality.cpp source usbmancenrepmanager.cpp +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +source cusbchargingporttypewatcher.cpp +#endif + userinclude ../INC userinclude ../public userinclude ../../../host/fdf/production/client/public diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/public/musbchargingnotify.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgr/usbman/server/public/musbchargingnotify.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,45 @@ +/* +* 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* Implements the main object of Usbman that manages all the USB Classes +* and the USB Logical Device (via CUsbDeviceStateWatcher). +* +*/ + +/** + @file + @publishedPartner + @released +*/ + +#ifndef __MUSBCHARGINGNOTIFY_H__ +#define __MUSBCHARGINGNOTIFY_H__ + +const TInt KUsbChargingNotifyInterface = 0x102872D8; + + +class MUsbChargingNotify + { +public: + + /** + Called by USBMAN when it receives charging notification. + @param aChargingType The concrete charging type of notification. + */ + + virtual void UsbChargingPortType(TUint aPortType) = 0; + virtual void PeerDeviceMaxPower(TUint aCurrent) = 0; + }; + +#endif \ No newline at end of file diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/public/usbhostdefs.h --- a/usbmgmt/usbmgr/usbman/server/public/usbhostdefs.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/public/usbhostdefs.h Thu Sep 16 12:03:29 2010 +0800 @@ -139,4 +139,37 @@ TInt iReserved3; }; + +NONSHARABLE_CLASS(TConfigurationDescriptor) + { +public: + inline TConfigurationDescriptor() + : iDeviceId(0), + iNumInterfaces(0), + iConfigration(0), + iAttributes(0), + iMaxPower(0), + iReserved(0) + {} + + // The ID of the device the configration descriptor relates to. + TUint iDeviceId; + + // the number of interfaces + TUint8 iNumInterfaces; + + // the configration value + TUint8 iConfigration; + + // Attributes field of configration + TUint8 iAttributes; + + // MaxPower field of configration + TUint8 iMaxPower; + + //reserved + TInt iReserved; + }; + + #endif //__USBHOSTDEFS_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgr/usbman/server/traces/fixed_id.definitions --- a/usbmgmt/usbmgr/usbman/server/traces/fixed_id.definitions Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgr/usbman/server/traces/fixed_id.definitions Thu Sep 16 12:03:29 2010 +0800 @@ -3,25 +3,60 @@ [GROUP]TRACE_FATAL=0x81 [GROUP]TRACE_FLOW=0x8a [GROUP]TRACE_NORMAL=0x86 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR=0x2 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP1=0x3 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP10=0xc -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP11=0xd -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP12=0xe -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP2=0x4 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP3=0x5 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP4=0x6 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP5=0x7 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP6=0x8 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP7=0x9 -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP8=0xa -[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP9=0xb -[TRACE]TRACE_FATAL[0x81]_CPERSONALITY_CLASSSUPPORTED=0x75 -[TRACE]TRACE_FATAL[0x81]_CPERSONALITY_SUPPORTEDCLASSES=0x74 -[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_CONVERTUIDSL=0x52 -[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_DOCANCEL=0x2 -[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_RUNERROR_DUP1=0x51 -[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_RUNL_DUP5=0x1 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR=0x1 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP1=0x2 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP10=0xb +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP11=0xc +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP12=0xd +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP2=0x3 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP3=0x4 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP4=0x5 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP5=0x6 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP6=0x7 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP7=0x8 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP8=0x9 +[TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_PRINTDESCRIPTOR_DUP9=0xa +[TRACE]TRACE_FATAL[0x81]_CPERSONALITY_CLASSSUPPORTED=0x2 +[TRACE]TRACE_FATAL[0x81]_CPERSONALITY_SUPPORTEDCLASSES=0x1 +[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_CONVERTUIDSL=0x6 +[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_DOCANCEL=0x4 +[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_RUNERROR_DUP1=0x5 +[TRACE]TRACE_FATAL[0x81]_CUSBDEVICE_RUNL_DUP5=0x3 +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL=0x11 +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL=0xd +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP4=0xe +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP5=0xf +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP5=0xa +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READPERSONALITIESL=0xb +[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP5=0xc +[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_DECREMENTSESSIONCOUNT_DUP1=0x8 +[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_INCREMENTSESSIONCOUNT_DUP1=0x7 +[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS=0x9 +[TRACE]TRACE_FATAL[0x81]_DUP1_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL_DUP1=0x10 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_CONS_ENTRY=0x828 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_CONS_EXIT=0x829 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_DES_ENTRY=0x82a +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_DES_EXIT=0x82b +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_DOCANCEL_ENTRY=0x82e +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_DOCANCEL_EXIT=0x82f +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_POST_ENTRY=0x82c +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_POST_EXIT=0x82d +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_CONS_ENTRY=0x832 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_CONS_EXIT=0x833 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_DES_ENTRY=0x830 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_DES_EXIT=0x831 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_DOCANCEL_ENTRY=0x836 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_DOCANCEL_EXIT=0x837 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_POST_ENTRY=0x834 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_POST_EXIT=0x835 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_CONS_ENTRY=0x822 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_CONS_EXIT=0x823 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_DES_ENTRY=0x824 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_DES_EXIT=0x825 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_RUNL_ENTRY=0x826 +[TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_RUNL_EXIT=0x827 +[TRACE]TRACE_FLOW[0x8A]_CPERSONALITYCONFIGURATIONS_CPERSONALITYCONFIGURATIONS_DES_ENTRY=0x7 +[TRACE]TRACE_FLOW[0x8A]_CPERSONALITYCONFIGURATIONS_CPERSONALITYCONFIGURATIONS_DES_EXIT=0x8 [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_CONSTRUCTL=0x76 [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL=0x89 [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP1=0x8a @@ -47,99 +82,17 @@ [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP1=0x81 [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP2=0x82 [TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP3=0x83 -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL=0x6c -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL=0x70 -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP4=0x71 -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP5=0x72 -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP5=0x6d -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READPERSONALITIESL=0x6e -[TRACE]TRACE_FATAL[0x81]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP5=0x6f -[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_DECREMENTSESSIONCOUNT_DUP1=0x1d -[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_INCREMENTSESSIONCOUNT_DUP1=0x1c -[TRACE]TRACE_FATAL[0x81]_CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS=0x1e -[TRACE]TRACE_FATAL[0x81]_DUP1_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL_DUP1=0x73 [TRACE]TRACE_FLOW[0x8A]_CINIFILE_CINIFILE_CONS_ENTRY=0x629 [TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_ENTRY=0x62a [TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_EXIT=0x62b [TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_TDESC_ENTRY=0x62c [TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_TDESC_EXIT=0x62d -[TRACE]TRACE_FLOW[0x8A]_CPERSONALITYCONFIGURATIONS_CPERSONALITYCONFIGURATIONS_DES_ENTRY=0x623 -[TRACE]TRACE_FLOW[0x8A]_CPERSONALITYCONFIGURATIONS_CPERSONALITYCONFIGURATIONS_DES_EXIT=0x624 [TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CONSTRUCTL_ENTRY=0x3 [TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CONSTRUCTL_EXIT=0x4 -[TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_DES_ENTRY=0x454 -[TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_DES_EXIT=0x455 +[TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_DES_ENTRY=0x5 +[TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_DES_EXIT=0x6 [TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_NEWL_ENTRY=0x1 [TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_NEWL_EXIT=0x2 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_DOCANCEL_ENTRY=0x105 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_DOCANCEL_EXIT=0x106 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_NEWL_ENTRY=0x103 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_NEWL_EXIT=0x104 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_START_ENTRY=0x107 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICESTATEWATCHER_START_EXIT=0x108 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ADDCLASSCONTROLLERL_ENTRY=0x12b -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ADDCLASSCONTROLLERL_EXIT=0x12c -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_BUSENUMERATIONCOMPLETED_ENTRY=0x139 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_BUSENUMERATIONCOMPLETED_EXIT=0x13a -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONSTRUCTL_ENTRY=0x124 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONSTRUCTL_EXIT=0x125 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONVERTUIDSL_ENTRY=0x625 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONVERTUIDSL_EXIT=0x626 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CREATECLASSCONTROLLERSL_ENTRY=0x21a -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CURRENTPERSONALITYID_ENTRY=0x207 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CUSBDEVICE_DES_ENTRY=0x366 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CUSBDEVICE_DES_EXIT=0x367 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DEREGISTEROBSERVER_ENTRY=0x12f -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DEREGISTEROBSERVER_EXIT=0x130 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DOCANCEL_ENTRY=0x143 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DOCANCEL_EXIT=0x144 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_ENTRY=0x129 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_EXIT=0x12a -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_GETPERSONALITY_ENTRY=0x209 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_GETPERSONALITY_EXIT=0x20a -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_GETPERSONALITY_EXIT_DUP1=0x368 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL=0x127 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_ENTRY=0x126 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_EXIT=0x128 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_LOADFALLBACKCLASSCONTROLLERSL_ENTRY=0x212 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_LOADFALLBACKCLASSCONTROLLERSL_EXIT=0x213 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_NEWL_ENTRY=0x120 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_NEWL_EXIT=0x121 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_PERSONALITIES_ENTRY=0x208 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_POWERUPANDCONNECT_ENTRY=0x13f -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_POWERUPANDCONNECT_EXIT=0x140 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_ENTRY=0x627 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_EXIT=0x628 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_REGISTEROBSERVERL_ENTRY=0x12d -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_REGISTEROBSERVERL_EXIT=0x12e -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RUNL_ENTRY=0x141 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RUNL_EXIT=0x142 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SELECTCLASSCONTROLLERSL_ENTRY=0x218 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SELECTCLASSCONTROLLERSL_EXIT=0x219 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETCURRENTPERSONALITYL_ENTRY=0x20c -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETCURRENTPERSONALITYL_EXIT=0x20d -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEFAULTPERSONALITYL_ENTRY=0x210 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEFAULTPERSONALITYL_EXIT=0x211 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICEDESCRIPTORL_ENTRY=0x1fc -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICEDESCRIPTORL_EXIT=0x1fd -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICESTATE_ENTRY=0x137 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICESTATE_EXIT=0x138 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETSERVICESTATE_ENTRY=0x135 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETSERVICESTATE_EXIT=0x136 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_ENTRY=0x203 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTCURRENTCLASSCONTROLLER_ENTRY=0x13b -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTCURRENTCLASSCONTROLLER_EXIT=0x13c -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTL_ENTRY=0x131 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTL_EXIT=0x132 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOPCURRENTCLASSCONTROLLER_ENTRY=0x13d -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOPCURRENTCLASSCONTROLLER_EXIT=0x13e -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOP_ENTRY=0x133 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOP_EXIT=0x134 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_TRYSTARTL_ENTRY=0x205 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_TRYSTARTL_EXIT=0x206 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNERROR_ENTRY=0x146 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNERROR_EXIT=0x147 -[TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNGETCLASSCONTROLLERITERATORL_ENTRY=0x145 [TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_VALIDATEPERSONALITIESL_ENTRY=0x20e [TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_VALIDATEPERSONALITIESL_EXIT=0x20f [TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_ENTRY=0x63e @@ -160,244 +113,122 @@ [TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_START_EXIT=0x639 [TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_STOP_ENTRY=0x63a [TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_STOP_EXIT=0x63b -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CHECKSIGNATUREL_ENTRY=0x616 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CHECKSIGNATUREL_EXIT=0x617 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CONSTRUCTL_ENTRY=0x60e -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CONSTRUCTL_EXIT=0x60f -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CUSBMANCENREPMANAGER_CONS_ENTRY=0x60a -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CUSBMANCENREPMANAGER_CONS_EXIT=0x60b -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CUSBMANCENREPMANAGER_DES_ENTRY=0x610 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_CUSBMANCENREPMANAGER_DES_EXIT=0x611 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL_ENTRY=0x61e -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL_EXIT=0x61f -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL_ENTRY=0x620 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL_EXIT=0x621 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL_EXIT_DUP1=0x622 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_NEWL_ENTRY=0x60c -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_NEWL_EXIT=0x60d -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_ENTRY=0x61c -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_EXIT=0x61d -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_ENTRY=0x618 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_EXIT=0x619 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READKEYL_ENTRY=0x614 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READKEYL_EXIT=0x615 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READPERSONALITIESL_ENTRY=0x61a -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READPERSONALITIESL_EXIT=0x61b -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READSTRINGKEYLC_ENTRY=0x612 -[TRACE]TRACE_FLOW[0x8A]_CUSBMANCENREPMANAGER_READSTRINGKEYLC_EXIT=0x613 -[TRACE]TRACE_FLOW[0x8A]_CUSBSCHEDULER_NEWL_ENTRY=0x2f -[TRACE]TRACE_FLOW[0x8A]_CUSBSCHEDULER_NEWL_EXIT=0x30 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_CUSBSERVER_DES_ENTRY=0x468 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_CUSBSERVER_DES_EXIT=0x469 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_INCREMENTSESSIONCOUNT_ENTRY=0x1f8 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_INCREMENTSESSIONCOUNT_EXIT=0x1f9 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS_ENTRY=0x1fa -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS_EXIT=0x1fb -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_NEWLC_ENTRY=0x15c -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_NEWLC_EXIT=0x15d -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_NEWSESSIONL_ENTRY=0x1f6 -[TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_NEWSESSIONL_EXIT=0x1f7 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSCLEARERROR_ENTRY=0x27f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSCLEARERROR_EXIT=0x280 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSDROP_ENTRY=0x281 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSDROP_EXIT=0x282 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSREQUEST_ENTRY=0x27b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSREQUEST_EXIT=0x27c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSRESPONDSRP_ENTRY=0x27d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_BUSRESPONDSRP_EXIT=0x27e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CANCELINTEREST_ENTRY=0x25e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CANCELINTEREST_EXIT=0x25f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CANCELINTEREST_EXIT_DUP1=0x260 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CLASSSUPPORTED_ENTRY=0x276 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CLASSSUPPORTED_EXIT=0x277 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CLASSSUPPORTED_EXIT_DUP1=0x278 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CREATEL_ENTRY=0x223 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CREATEL_EXIT=0x224 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CUSBSESSION_CONS_ENTRY=0x21d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CUSBSESSION_CONS_EXIT=0x21e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CUSBSESSION_DES_ENTRY=0x21f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_CUSBSESSION_DES_EXIT=0x220 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERDEVICEOBSERVER_ENTRY=0x249 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERDEVICEOBSERVER_EXIT=0x24a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERDEVICEOBSERVER_EXIT_DUP1=0x24b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERHOSTOBSERVER_ENTRY=0x294 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERHOSTOBSERVER_EXIT=0x295 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERHOSTOBSERVER_EXIT_DUP1=0x296 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERMSGOBSERVER_ENTRY=0x29a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERMSGOBSERVER_EXIT=0x29b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERMSGOBSERVER_EXIT_DUP1=0x29c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERSERVICEOBSERVER_ENTRY=0x24c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERSERVICEOBSERVER_EXIT=0x24d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DEREGISTERSERVICEOBSERVER_EXIT_DUP1=0x24e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DISABLEFUNCTIONDRIVERLOADING_ENTRY=0x285 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DISABLEFUNCTIONDRIVERLOADING_EXIT=0x286 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DISPATCHMESSAGEL_ENTRY=0x22f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_DISPATCHMESSAGEL_EXIT=0x230 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_ENABLEFUNCTIONDRIVERLOADING_ENTRY=0x283 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_ENABLEFUNCTIONDRIVERLOADING_EXIT=0x284 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETCURRENTDEVICESTATE_ENTRY=0x248 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETCURRENTPERSONALITYID_ENTRY=0x261 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETCURRENTPERSONALITYID_EXIT=0x262 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETCURRENTSERVICESTATE_ENTRY=0x247 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDESCRIPTION_ENTRY=0x26b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDESCRIPTION_EXIT=0x26c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDESCRIPTION_EXIT_DUP1=0x26d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR_ENTRY=0x28b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR_EXIT=0x28c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETOTGDESCRIPTOR_ENTRY=0x28f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETOTGDESCRIPTOR_EXIT=0x290 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYIDS_ENTRY=0x268 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYIDS_EXIT=0x269 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYIDS_EXIT_DUP1=0x26a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYPROPERTY_ENTRY=0x272 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYPROPERTY_EXIT=0x273 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYPROPERTY_EXIT_DUP2=0x275 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPRODUCTSTRINGDESCRIPTOR_ENTRY=0x28d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPRODUCTSTRINGDESCRIPTOR_EXIT=0x28e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDCLASSES_ENTRY=0x263 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDCLASSES_EXIT=0x264 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDCLASSES_EXIT_DUP1=0x265 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDCLASSES_EXIT_DUP2=0x266 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDCLASSES_EXIT_DUP3=0x267 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDLANGUAGESL_ENTRY=0x289 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDLANGUAGESL_EXIT=0x28a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDLANGUAGES_ENTRY=0x287 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETSUPPORTEDLANGUAGES_EXIT=0x288 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING_ENTRY=0x227 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING_EXIT=0x228 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING_ENTRY=0x229 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING_EXIT=0x22a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_NEWL_ENTRY=0x21c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERDEVICEOBSERVER_ENTRY=0x241 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERDEVICEOBSERVER_EXIT=0x242 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERDEVICEOBSERVER_EXIT_DUP1=0x243 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERHOSTOBSERVER_ENTRY=0x291 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERHOSTOBSERVER_EXIT=0x292 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERHOSTOBSERVER_EXIT_DUP1=0x293 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERMSGOBSERVER_ENTRY=0x297 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERMSGOBSERVER_EXIT=0x298 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERMSGOBSERVER_EXIT_DUP1=0x299 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERSERVICEOBSERVER_ENTRY=0x244 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERSERVICEOBSERVER_EXIT=0x245 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_REGISTERSERVICEOBSERVER_EXIT_DUP1=0x246 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_SERVICEL_ENTRY=0x221 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_SERVICEL_EXIT=0x222 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_SETCTLSESSIONMODE_ENTRY=0x279 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_SETCTLSESSIONMODE_EXIT=0x27a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTCANCEL_ENTRY=0x23a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTCANCEL_EXIT=0x23b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTCANCEL_EXIT_DUP1=0x23c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTDEVICEL_ENTRY=0x231 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTDEVICEL_EXIT=0x232 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTDEVICEL_EXIT_DUP1=0x233 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STARTDEVICEL_EXIT_DUP2=0x234 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPCANCEL_ENTRY=0x23d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPCANCEL_EXIT=0x23e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPCANCEL_EXIT_DUP1=0x23f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPCANCEL_EXIT_DUP2=0x240 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPDEVICEL_ENTRY=0x235 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPDEVICEL_EXIT=0x236 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPDEVICEL_EXIT_DUP1=0x237 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPDEVICEL_EXIT_DUP2=0x238 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_STOPDEVICEL_EXIT_DUP3=0x239 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_ENTRY=0x24f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT=0x250 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP1=0x251 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP2=0x252 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP3=0x253 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP4=0x254 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP5=0x255 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTARTDEVICEL_EXIT_DUP6=0x256 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_ENTRY=0x257 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT=0x258 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT_DUP1=0x259 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT_DUP2=0x25a -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT_DUP3=0x25b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT_DUP4=0x25c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_TRYSTOPDEVICEL_EXIT_DUP5=0x25d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBDEVICEDEQUEUEEVENT_ENTRY=0x22d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBDEVICEDEQUEUEEVENT_EXIT=0x22e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBDEVICESTATECHANGE_ENTRY=0x22b -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBDEVICESTATECHANGE_EXIT=0x22c -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBHOSTEVENTDEQUEUE_ENTRY=0x2a3 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBHOSTEVENTDEQUEUE_EXIT=0x2a4 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBHOSTEVENT_ENTRY=0x29f -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBHOSTEVENT_EXIT=0x2a0 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBMSGDEQUEUE_ENTRY=0x2a1 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBMSGDEQUEUE_EXIT=0x2a2 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBOTGHOSTMESSAGE_ENTRY=0x29d -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBOTGHOSTMESSAGE_EXIT=0x29e -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBSERVICESTATECHANGE_ENTRY=0x225 -[TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_USBSERVICESTATECHANGE_EXIT=0x226 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_CONS_ENTRY=0x688 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_CONS_EXIT=0x689 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_DES_ENTRY=0x68a +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_DES_EXIT=0x68b +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_START_ENTRY=0x68c +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_START_EXIT=0x68d +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CONSTRUCTL_ENTRY=0x6e0 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CONSTRUCTL_EXIT=0x6e1 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_CONS_ENTRY=0x6e2 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_CONS_EXIT=0x6e3 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_DES_ENTRY=0x6de +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_DES_EXIT=0x6df +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_DOCANCEL_ENTRY=0x6e6 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_DOCANCEL_EXIT=0x6e7 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_NEWL_ENTRY=0x6dc +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_NEWL_EXIT=0x6dd +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_POST_ENTRY=0x6e8 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_POST_EXIT=0x6e9 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_ENTRY=0x6e4 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_EXIT=0x6e5 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CONSTRUCTL_ENTRY=0x6bc +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CONSTRUCTL_EXIT=0x6bd +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_CONS_ENTRY=0x6be +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_CONS_EXIT=0x6bf +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_DES_ENTRY=0x6ba +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_DES_EXIT=0x6bb +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_DOCANCEL_ENTRY=0x6c2 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_DOCANCEL_EXIT=0x6c3 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_NEWL_ENTRY=0x6b8 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_NEWL_EXIT=0x6b9 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_POST_ENTRY=0x6c4 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_POST_EXIT=0x6c5 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_RUNL_ENTRY=0x6c0 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_RUNL_EXIT=0x6c1 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CONSTRUCTL_ENTRY=0x692 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CONSTRUCTL_EXIT=0x693 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_CONS_ENTRY=0x694 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_CONS_EXIT=0x695 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_DES_ENTRY=0x690 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_DES_EXIT=0x691 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_DOCANCEL_ENTRY=0x698 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_DOCANCEL_EXIT=0x699 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_NEWL_ENTRY=0x68e +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_NEWL_EXIT=0x68f +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_POST_ENTRY=0x69a +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_POST_EXIT=0x69b +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_RUNL_ENTRY=0x696 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_RUNL_EXIT=0x697 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CONSTRUCTL_ENTRY=0x6ae +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CONSTRUCTL_EXIT=0x6af +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_CONS_ENTRY=0x6b0 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_CONS_EXIT=0x6b1 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_DES_ENTRY=0x6ac +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_DES_EXIT=0x6ad +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_DOCANCEL_ENTRY=0x6b4 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_DOCANCEL_EXIT=0x6b5 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_NEWL_ENTRY=0x6aa +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_NEWL_EXIT=0x6ab +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_POST_ENTRY=0x6b6 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_POST_EXIT=0x6b7 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_RUNL_ENTRY=0x6b2 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_RUNL_EXIT=0x6b3 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CONSTRUCTL_ENTRY=0x6a0 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CONSTRUCTL_EXIT=0x6a1 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_CONS_ENTRY=0x6a2 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_CONS_EXIT=0x6a3 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_DES_ENTRY=0x69e +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_DES_EXIT=0x69f +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_DOCANCEL_ENTRY=0x6a6 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_DOCANCEL_EXIT=0x6a7 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_NEWL_ENTRY=0x69c +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_NEWL_EXIT=0x69d +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_POST_ENTRY=0x6a8 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_POST_EXIT=0x6a9 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_RUNL_ENTRY=0x6a4 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_RUNL_EXIT=0x6a5 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_CONS_ENTRY=0x6c9 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_CONS_EXIT=0x6ca +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_DES_ENTRY=0x6c8 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_DOCANCEL_ENTRY=0x6ce +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_DOCANCEL_EXIT=0x6cf +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_NEWL_ENTRY=0x6c6 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_NEWL_EXIT=0x6c7 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_POST_ENTRY=0x6d2 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_POST_EXIT=0x6d3 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_ENTRY=0x6cb +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_EXIT=0x6cc +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_EXIT_DUP1=0x6cd +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_START_ENTRY=0x6d0 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_START_EXIT=0x6d1 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSCLEARERROR_ENTRY=0x652 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSDROP_ENTRY=0x653 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSREQUEST_ENTRY=0x650 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSRESPONDSRP_ENTRY=0x651 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CONSTRUCTL_ENTRY=0x646 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CONSTRUCTL_EXIT=0x647 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_CONS_ENTRY=0x644 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_CONS_EXIT=0x645 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_DES_ENTRY=0x642 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_DES_EXIT=0x643 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_DEREGISTEROBSERVER_ENTRY=0x64a +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_DEREGISTEROBSERVER_EXIT=0x64b +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_NEWL_ENTRY=0x640 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_NEWL_EXIT=0x641 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_REGISTEROBSERVERL_ENTRY=0x648 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_REGISTEROBSERVERL_EXIT=0x649 +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STARTL_ENTRY=0x64c +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STARTL_EXIT=0x64d +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STOP_ENTRY=0x64e +[TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STOP_EXIT=0x64f [TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL=0x3e1 [TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP1=0x3e2 [TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP2=0x3e3 [TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP3=0x3e4 [TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP4=0x3e5 [TRACE]TRACE_NORMAL[0x86]_CINIFILE_PANIC=0x3e0 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICESTATEWATCHER_CUSBDEVICESTATEWATCHER=0x89 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICESTATEWATCHER_RUNL=0x8a -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICESTATEWATCHER_RUNL_DUP1=0x8b -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICESTATEWATCHER_RUNL_DUP2=0x8c -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICESTATEWATCHER_RUNL_DUP3=0x8d -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_ADDCLASSCONTROLLERL=0x178 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONCOMPLETED=0xcb -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONFAILED=0xcc -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONFAILED_DUP1=0xcd -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL=0xbf -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP1=0x16f -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP10=0x171 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP11=0x172 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP12=0x174 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP13=0x175 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP2=0xc1 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP3=0xc2 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP4=0xc3 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP5=0xc4 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP6=0xc5 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP7=0xc6 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP8=0xc7 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP9=0x170 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONVERTUIDSL_DUP1=0x1a1 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CREATECLASSCONTROLLERSL=0x16e -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CREATECLASSCONTROLLERSL_DUP1=0x1a5 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE=0xbb -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP1=0xbc -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP2=0xbd -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP3=0xbe -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL=0x138 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_DUP1=0x139 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_DUP2=0x176 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_DUP3=0x192 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_DUP1=0xc8 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_MUEPODOREGISTERSTATEOBSERVERL=0x150 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT=0xce -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT_DUP1=0xcf -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT_DUP2=0xd0 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_REGISTEROBSERVERL=0x179 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNERROR=0xd5 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL=0xd1 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP1=0xd2 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP2=0xd3 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP3=0xd4 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP4=0x193 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETCURRENTPERSONALITYL=0x154 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICEDESCRIPTORL=0x146 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICEDESCRIPTORL_DUP1=0x147 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICEDESCRIPTORL_DUP2=0x148 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICEDESCRIPTORL_DUP3=0x3c6 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICESTATE=0xca -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETSERVICESTATE=0xc9 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x151 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP1=0x157 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP2=0x158 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP3=0x19e -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP4=0x1a0 -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP5=0x19f -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP6=0x19d -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_DUP7=0x19c -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_STARTL=0x17a -[TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_TRYSTARTL=0x18a [TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL=0x155 [TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL_DUP1=0x3c7 [TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL_DUP2=0x3c8 @@ -414,118 +245,78 @@ [TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP5=0x3f0 [TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP6=0x3f1 [TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL=0x3f2 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_CHECKSIGNATUREL=0x3cc -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL=0x3dc -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_ISCLASSCONFIGURABLEL_DUP2=0x3dd -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL_DUP2=0x3df -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP1=0x3d9 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP2=0x3da -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READCONFIGURATIONSFORPERSONALITYL_DUP3=0x3db -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL=0x3cd -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP1=0x3d1 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP2=0x3d2 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP3=0x3cf -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READDEVICECONFIGURATIONL_DUP4=0x3d0 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READKEYL=0x3c9 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READKEYL_DUP1=0x3cb -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP1=0x3d4 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP3=0x3d3 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP4=0x3d6 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP6=0x3d7 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP7=0x3d8 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READSTRINGKEYLC=0x3c4 -[TRACE]TRACE_NORMAL[0x86]_CUSBMANCENREPMANAGER_READSTRINGKEYLC_DUP1=0x3c5 -[TRACE]TRACE_NORMAL[0x86]_CUSBSCHEDULER_ERROR=0x1d -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CONSTRUCTL=0x12c -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CONSTRUCTL_DUP1=0x12d -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CONSTRUCTL_DUP2=0x12e -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CONSTRUCTL_DUP3=0x12f -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER=0x124 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP1=0x125 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP2=0x126 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP3=0x127 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP4=0x128 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP5=0x129 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP6=0x12a -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CUSBSERVER_DUP7=0x12b -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_DECREMENTSESSIONCOUNT=0x135 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_ERROR=0x132 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_INCREMENTSESSIONCOUNT=0x133 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_NEWSESSIONL=0x130 -[TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_NEWSESSIONL_DUP1=0x131 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CREATEL=0x1c8 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CREATEL_DUP1=0x1c9 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CREATEL_DUP2=0x1ca -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CUSBSESSION=0x1d2 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CUSBSESSION_DUP1=0x1d5 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CUSBSESSION_DUP2=0x1d6 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_CUSBSESSION_DUP3=0x1d7 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DEREGISTERHOSTOBSERVER=0x1ad -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DEREGISTERHOSTOBSERVER_DUP1=0x1ae -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL=0x1c2 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP1=0x1d0 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP2=0x1dd -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP3=0x1de -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP4=0x1df -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP5=0x1e0 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_DISPATCHMESSAGEL_DUP6=0x1e1 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETCURRENTDEVICESTATE=0x1ba -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETCURRENTPERSONALITYID=0x1bb -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETCURRENTSERVICESTATE=0x1b9 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR=0x1a9 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR_DUP1=0x1db -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETOTGDESCRIPTOR=0x1ab -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETPERSONALITYIDS=0x1b8 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETPRODUCTSTRINGDESCRIPTOR=0x1aa -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETPRODUCTSTRINGDESCRIPTOR_DUP1=0x1dc -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDCLASSES=0x1bc -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDCLASSES_DUP1=0x1be -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDCLASSES_DUP2=0x1d9 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDLANGUAGESL=0x1a6 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDLANGUAGESL_DUP1=0x1a7 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETSUPPORTEDLANGUAGESL_DUP2=0x1a8 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING=0x1cb -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING_DUP1=0x1cc -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING_DUP2=0x1cd -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTARTING_DUP3=0x1ce -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING=0x1c4 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING_DUP1=0x1c5 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING_DUP2=0x1c6 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_HANDLESERVICESTATECHANGEWHILESTOPPING_DUP3=0x1c7 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_REGISTERDEVICEOBSERVER=0x1c3 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_REGISTERHOSTOBSERVER=0x1ac -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_REGISTERMSGOBSERVER=0x1af -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_SETCTLSESSIONMODE=0x1b7 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBDEVICEDEQUEUEEVENT=0x1c1 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBDEVICESTATECHANGE=0x1bf -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBDEVICESTATECHANGE_DUP1=0x1c0 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBHOSTEVENT=0x1b1 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBHOSTEVENTDEQUEUE=0x1b5 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBHOSTEVENTDEQUEUE_DUP1=0x1b6 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBHOSTEVENT_DUP1=0x1b2 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBHOSTEVENT_DUP2=0x1b3 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBMSGDEQUEUE=0x1b4 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBOTGHOSTMESSAGE=0x1b0 -[TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_USBSERVICESTATECHANGE=0x1d8 -[TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBMANCENREPMANAGER_ISFEATURESUPPORTEDL_DUP1=0x3de -[TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBMANCENREPMANAGER_READPERSONALITIESL_DUP2=0x3d5 -[TRACE]TRACE_NORMAL[0x86]_USBSVR_RUNSERVERL=0x2ed -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP10=0x12 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP11=0x13 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP12=0x14 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP13=0x15 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP14=0x16 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP15=0x17 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP16=0x18 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP17=0x19 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP18=0x1a -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP19=0x1b -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP20=0x1c -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP21=0x1d -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP7=0xf -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP8=0x10 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_CUSBDEVICE_READPERSONALITIESL_DUP9=0x11 -[[OBSOLETE]][TRACE]TRACE_DUMP[0x89]_DUP1_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR=0x1 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST=0x440 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP1=0x441 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP2=0x442 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP3=0x443 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL=0x43e +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_DUP1=0x43f +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT=0x42e +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP1=0x42f +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP10=0x438 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP2=0x430 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP3=0x431 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP4=0x432 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP5=0x433 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP6=0x434 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP7=0x435 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP8=0x436 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP9=0x437 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_POST=0x439 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL=0x42a +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP1=0x42c +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP2=0x42d +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP3=0x42b +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST=0x417 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP1=0x418 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP2=0x419 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP3=0x41a +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP4=0x41b +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP5=0x41c +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_RUNL=0x415 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_RUNL_DUP1=0x416 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST=0x427 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST_DUP1=0x428 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST_DUP2=0x429 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_RUNL=0x425 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_RUNL_DUP1=0x426 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST=0x41f +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP1=0x420 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP2=0x421 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP3=0x422 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP4=0x423 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP5=0x424 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_RUNL=0x41d +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_RUNL_DUP1=0x41e +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_POST=0x43c +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_RUNL=0x43a +[TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_RUNL_DUP1=0x43b +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL=0x402 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP1=0x403 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP2=0x406 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP3=0x404 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP4=0x405 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP5=0x407 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP6=0x408 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG=0x3f3 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP1=0x3f4 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP10=0x3fd +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP11=0x3fe +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP12=0x3ff +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP13=0x400 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP14=0x401 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP2=0x3f5 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP3=0x3f6 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP4=0x3f7 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP5=0x3f8 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP6=0x3f9 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP7=0x3fa +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP8=0x3fb +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP9=0x3fc +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_NOTIFYOTGEVENT=0x409 +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_REGISTEROBSERVERL=0x40a +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_STOP=0x40b +[TRACE]TRACE_NORMAL[0x86]_CUSBOTG_STOP_DUP1=0x40c [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_CONSTRUCTL=0x53 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL=0x66 [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP1=0x67 @@ -551,113 +342,11 @@ [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP1=0x5e [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP2=0x5f [[OBSOLETE]][TRACE]TRACE_FATAL[0x81]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP3=0x60 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_CONS_ENTRY=0x598 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_CONS_EXIT=0x599 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_DES_ENTRY=0x59a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_DES_EXIT=0x59b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_ENTRY=0x3e2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_ENTRY_DUP1=0x3e4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_EXIT=0x3e3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_CACTIVEUSBHOSTEVENTWATCHER_EXIT_DUP1=0x3e5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_DOCANCEL_ENTRY=0x59e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_DOCANCEL_EXIT=0x59f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_POST_ENTRY=0x59c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTEVENTWATCHER_POST_EXIT=0x59d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_CONS_ENTRY=0x5a2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_CONS_EXIT=0x5a3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_DES_ENTRY=0x5a0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_DES_EXIT=0x5a1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_ENTRY=0x3ea -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_ENTRY_DUP1=0x3ec -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_EXIT=0x3eb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_CACTIVEUSBHOSTMESSAGEWATCHER_EXIT_DUP1=0x3ed -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_DOCANCEL_ENTRY=0x5a6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_DOCANCEL_EXIT=0x5a7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_POST_ENTRY=0x5a4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTMESSAGEWATCHER_POST_EXIT=0x5a5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_CONS_ENTRY=0x592 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_CONS_EXIT=0x593 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_DES_ENTRY=0x594 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_DES_EXIT=0x595 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_ENTRY=0x2ee -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_ENTRY_DUP1=0x2f0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_EXIT=0x2ef -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_CACTIVEUSBHOSTWATCHER_EXIT_DUP1=0x2f1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_RUNL_ENTRY=0x596 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CACTIVEUSBHOSTWATCHER_RUNL_EXIT=0x597 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_CINIFILE_CONS_ENTRY=0x549 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_CINIFILE_ENTRY=0x2a5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_ENTRY=0x3a6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_ENTRY_DUP1=0x3a8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_ENTRY_DUP1_EXIT=0x2a9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_EXIT=0x3a7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_EXIT_DUP1=0x3a9 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_ENTRY=0x54a [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_EXIT=0x54b [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_TDESC_ENTRY=0x54c [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CINIFILE_NEWL_TDESC_TDESC_EXIT=0x54d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_ENTRY=0x5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CPERSONALITY_CPERSONALITY_EXIT=0x6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CONSTRUCTL_ENTRY=0x5f4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CONSTRUCTL_EXIT=0x5f5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CREQUESTSESSIONWATCHER_CONS_ENTRY=0x5f6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CREQUESTSESSIONWATCHER_CONS_EXIT=0x5f7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CREQUESTSESSIONWATCHER_ENTRY=0x352 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_CREQUESTSESSIONWATCHER_EXIT=0x353 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_DOCANCEL_ENTRY=0x5fa -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_DOCANCEL_EXIT=0x5fb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_RUNL_ENTRY=0x5f8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CREQUESTSESSIONWATCHER_RUNL_EXIT=0x5f9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ADDCLASSCONTROLLERL_ENTRY=0x84 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ADDCLASSCONTROLLERL_EXIT=0x85 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_BUSENUMERATIONCOMPLETED_ENTRY=0x92 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_BUSENUMERATIONCOMPLETED_EXIT=0x93 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONSTRUCTL_ENTRY=0x7d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CONSTRUCTL_EXIT=0x7e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CUSBDEVICE_ENTRY=0x122 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_CUSBDEVICE_EXIT=0x123 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DEREGISTEROBSERVER_ENTRY=0x88 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DEREGISTEROBSERVER_EXIT=0x89 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DOCANCEL_ENTRY=0x9c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_DOCANCEL_EXIT=0x9d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_ENTRY=0x82 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL_EXIT=0x83 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL=0x80 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_ENTRY=0x7f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_EXIT=0x81 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_NEWL_ENTRY=0x79 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_NEWL_EXIT=0x7a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_POWERUPANDCONNECT_ENTRY=0x98 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_POWERUPANDCONNECT_EXIT=0x99 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_ENTRY=0x214 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_EXIT=0x215 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_EXIT_DUP1=0x369 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_READPERSONALITIESL_EXIT_DUP2=0x21b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_REGISTEROBSERVERL_ENTRY=0x86 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_REGISTEROBSERVERL_EXIT=0x87 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RESOURCEFILENAMEL_ENTRY=0x201 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RESOURCEFILENAMEL_EXIT=0x202 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RUNL_ENTRY=0x9a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_RUNL_EXIT=0x9b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICESTATE_ENTRY=0x90 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETDEVICESTATE_EXIT=0x91 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETSERVICESTATE_ENTRY=0x8e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETSERVICESTATE_EXIT=0x8f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL_EXIT=0x204 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETUSBDEVICESETTINGSL_ENTRY=0x1fe -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETUSBDEVICESETTINGSL_EXIT=0x1ff -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_SETUSBDEVICESETTINGSL_EXIT_DUP1=0x200 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTCURRENTCLASSCONTROLLER_ENTRY=0x94 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTCURRENTCLASSCONTROLLER_EXIT=0x95 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTL_ENTRY=0x8a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STARTL_EXIT=0x8b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOPCURRENTCLASSCONTROLLER_ENTRY=0x96 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOPCURRENTCLASSCONTROLLER_EXIT=0x97 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOP_ENTRY=0x8c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_STOP_EXIT=0x8d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNERROR_ENTRY=0x9f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNERROR_EXIT=0xa0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDEVICE_UCCNGETCLASSCONTROLLERITERATORL_ENTRY=0x9e [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_ENTRY=0x55e [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_EXIT=0x55f [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_DOGETCONFIGL_ENTRY=0x554 @@ -666,10 +355,6 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_EXIT=0x553 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_ENTRY=0x556 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_EXIT=0x557 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_ENTRY=0x456 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_ENTRY_DUP1=0x458 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_EXIT=0x457 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_EXIT_DUP1=0x459 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_MUSBCLASSCONTROLLERNOTIFY_TUINT_ENTRY=0x54e [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_MUSBCLASSCONTROLLERNOTIFY_TUINT_EXIT=0x54f [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_NEWL_MUSBCLASSCONTROLLERNOTIFY_TUINT_TINT_ENTRY=0x550 @@ -680,297 +365,20 @@ [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_START_EXIT=0x559 [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_STOP_ENTRY=0x55a [[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBDUMMYCLASSCONTROLLER_STOP_EXIT=0x55b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CONSTRUCTL_ENTRY=0x578 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CONSTRUCTL_EXIT=0x579 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_CONS_ENTRY=0x576 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_CONS_EXIT=0x577 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_DES_ENTRY=0x574 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_DES_EXIT=0x575 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_ENTRY=0x2d0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_ENTRY_DUP1=0x2d2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_EXIT=0x2d1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_CUSBHOST_EXIT_DUP1=0x2d3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_DEREGISTEROBSERVER_ENTRY=0x580 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_DEREGISTEROBSERVER_EXIT=0x581 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_DISABLEDRIVERLOADING_ENTRY=0x590 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_DISABLEDRIVERLOADING_EXIT=0x591 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_ENABLEDRIVERLOADING_ENTRY=0x58e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_ENABLEDRIVERLOADING_EXIT=0x58f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETMANUFACTURERSTRINGDESCRIPTOR_ENTRY=0x584 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETMANUFACTURERSTRINGDESCRIPTOR_EXIT=0x585 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETOTGDESCRIPTOR_ENTRY=0x588 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETOTGDESCRIPTOR_EXIT=0x589 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETPRODUCTSTRINGDESCRIPTOR_ENTRY=0x586 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETPRODUCTSTRINGDESCRIPTOR_EXIT=0x587 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETSUPPORTEDLANGUAGES_ENTRY=0x582 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_GETSUPPORTEDLANGUAGES_EXIT=0x583 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_NOTIFYHOSTEVENT_ENTRY=0x58a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_NOTIFYHOSTEVENT_EXIT=0x58b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_REGISTEROBSERVERL_ENTRY=0x57e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_REGISTEROBSERVERL_EXIT=0x57f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_STARTL_ENTRY=0x57a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_STARTL_EXIT=0x57b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_STOP_ENTRY=0x57c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_STOP_EXIT=0x57d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_UPDATENUMOFOBSERVERS_ENTRY=0x58c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBHOST_UPDATENUMOFOBSERVERS_EXIT=0x58d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_CONS_ENTRY=0x5a8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_CONS_EXIT=0x5a9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_DES_ENTRY=0x5aa -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_DES_EXIT=0x5ab -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_ENTRY=0x304 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_ENTRY_DUP1=0x306 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_EXIT=0x305 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_CUSBOTGBASEWATCHER_EXIT_DUP1=0x307 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_START_ENTRY=0x5ac -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGBASEWATCHER_START_EXIT=0x5ad -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CONSTRUCTL_ENTRY=0x600 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CONSTRUCTL_EXIT=0x601 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_CONS_ENTRY=0x602 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_CONS_EXIT=0x603 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_DES_ENTRY=0x5fe -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_DES_EXIT=0x5ff -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_ENTRY=0x35a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_ENTRY_DUP1=0x35e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_EXIT=0x35b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_CUSBOTGCONNECTIONIDLEWATCHER_EXIT_DUP1=0x35f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_DOCANCEL_ENTRY=0x606 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_DOCANCEL_EXIT=0x607 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_NEWL_ENTRY=0x5fc -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_NEWL_EXIT=0x5fd -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_POST_ENTRY=0x608 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_POST_EXIT=0x609 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_ENTRY=0x604 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_EXIT=0x605 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CONSTRUCTL_ENTRY=0x5dc -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CONSTRUCTL_EXIT=0x5dd -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_CONS_ENTRY=0x5de -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_CONS_EXIT=0x5df -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_DES_ENTRY=0x5da -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_DES_EXIT=0x5db -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_ENTRY=0x336 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_ENTRY_DUP1=0x33a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_EXIT=0x337 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_CUSBOTGEVENTWATCHER_EXIT_DUP1=0x33b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_DOCANCEL_ENTRY=0x5e2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_DOCANCEL_EXIT=0x5e3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_NEWL_ENTRY=0x5d8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_NEWL_EXIT=0x5d9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_POST_ENTRY=0x5e4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_POST_EXIT=0x5e5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_RUNL_ENTRY=0x5e0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGEVENTWATCHER_RUNL_EXIT=0x5e1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CONSTRUCTL_ENTRY=0x5b2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CONSTRUCTL_EXIT=0x5b3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_CONS_ENTRY=0x5b4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_CONS_EXIT=0x5b5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_DES_ENTRY=0x5b0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_DES_EXIT=0x5b1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_ENTRY=0x30c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_ENTRY_DUP1=0x310 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_EXIT=0x30d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_CUSBOTGIDPINWATCHER_EXIT_DUP1=0x311 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_DOCANCEL_ENTRY=0x5b8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_DOCANCEL_EXIT=0x5b9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_NEWL_ENTRY=0x5ae -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_NEWL_EXIT=0x5af -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_POST_ENTRY=0x5ba -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_POST_EXIT=0x5bb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_RUNL_ENTRY=0x5b6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGIDPINWATCHER_RUNL_EXIT=0x5b7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CONSTRUCTL_ENTRY=0x5ce -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CONSTRUCTL_EXIT=0x5cf -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_CONS_ENTRY=0x5d0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_CONS_EXIT=0x5d1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_DES_ENTRY=0x5cc -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_DES_EXIT=0x5cd -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_ENTRY=0x328 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_EXIT=0x329 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_DOCANCEL_ENTRY=0x5d4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_DOCANCEL_EXIT=0x5d5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_NEWL_ENTRY=0x5ca -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_NEWL_EXIT=0x5cb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_POST_ENTRY=0x5d6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_POST_EXIT=0x5d7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_RUNL_ENTRY=0x5d2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGSTATEWATCHER_RUNL_EXIT=0x5d3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CONSTRUCTL_ENTRY=0x5c0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CONSTRUCTL_EXIT=0x5c1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_CONS_ENTRY=0x5c2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_CONS_EXIT=0x5c3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_DES_ENTRY=0x5be -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_DES_EXIT=0x5bf -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_ENTRY=0x31a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_ENTRY_DUP1=0x31e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_EXIT=0x31b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_CUSBOTGVBUSWATCHER_EXIT_DUP1=0x31f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_DOCANCEL_ENTRY=0x5c6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_DOCANCEL_EXIT=0x5c7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_NEWL_ENTRY=0x5bc -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_NEWL_EXIT=0x5bd -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_POST_ENTRY=0x5c8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_POST_EXIT=0x5c9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_RUNL_ENTRY=0x5c4 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGVBUSWATCHER_RUNL_EXIT=0x5c5 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_CONS_ENTRY=0x5e9 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_CONS_EXIT=0x5ea -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_DES_ENTRY=0x5e8 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_ENTRY=0x344 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_ENTRY_DUP1=0x345 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_CUSBOTGWATCHER_EXIT_DUP1=0x346 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_DOCANCEL_ENTRY=0x5ee -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_DOCANCEL_EXIT=0x5ef -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_NEWL_ENTRY=0x5e6 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_NEWL_EXIT=0x5e7 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_POST_ENTRY=0x5f2 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_POST_EXIT=0x5f3 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_ENTRY=0x5eb -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_EXIT=0x5ec -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_RUNL_EXIT_DUP1=0x5ed -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_START_ENTRY=0x5f0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTGWATCHER_START_EXIT=0x5f1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSCLEARERROR_ENTRY=0x572 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSDROP_ENTRY=0x573 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSREQUEST_ENTRY=0x570 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_BUSRESPONDSRP_ENTRY=0x571 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CONSTRUCTL_ENTRY=0x566 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CONSTRUCTL_EXIT=0x567 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_CONS_ENTRY=0x564 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_CONS_EXIT=0x565 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_DES_ENTRY=0x562 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_DES_EXIT=0x563 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_ENTRY=0x2be -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_ENTRY_DUP1=0x2c0 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_ENTRY_DUP1_EXIT=0x2c1 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_CUSBOTG_EXIT=0x2bf -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_DEREGISTEROBSERVER_ENTRY=0x56a -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_DEREGISTEROBSERVER_EXIT=0x56b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_NEWL_ENTRY=0x560 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_NEWL_EXIT=0x561 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_REGISTEROBSERVERL_ENTRY=0x568 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_REGISTEROBSERVERL_EXIT=0x569 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STARTL_ENTRY=0x56c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STARTL_EXIT=0x56d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STOP_ENTRY=0x56e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBOTG_STOP_EXIT=0x56f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_CUSBSERVER_ENTRY=0x15e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSERVER_CUSBSERVER_EXIT=0x15f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDETAILEDDESCRIPTION_ENTRY=0x26e -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDETAILEDDESCRIPTION_EXIT=0x26f -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDETAILEDDESCRIPTION_EXIT_DUP1=0x270 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETDETAILEDDESCRIPTION_EXIT_DUP2=0x271 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_CUSBSESSION_GETPERSONALITYPROPERTY_EXIT_DUP1=0x274 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP1_CUSBDEVICE_GETPERSONALITY_EXIT=0x20b -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP1_CUSBDEVICE_READPERSONALITIESL_EXIT=0x216 -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP1_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_ENTRY=0x32c -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP1_CUSBOTGSTATEWATCHER_CUSBOTGSTATEWATCHER_EXIT=0x32d -[[OBSOLETE]][TRACE]TRACE_FLOW[0x8A]_DUP2_CUSBDEVICE_READPERSONALITIESL_EXIT=0x217 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL=0x361 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP1=0x362 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP2=0x363 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP3=0x364 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_CONSTRUCTL_DUP4=0x365 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CINIFILE_PANIC=0x360 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CREQUESTSESSIONWATCHER_RUNL=0x3bd -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CREQUESTSESSIONWATCHER_RUNL_DUP1=0x34c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONCOMPLETED=0x52 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONFAILED=0x53 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_BUSENUMERATIONFAILED_DUP1=0x54 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL=0x46 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP1=0xc0 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP2=0x48 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP3=0x49 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP4=0x4a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP5=0x4b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP6=0x4c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP7=0x4d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONSTRUCTL_DUP8=0x4e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CONVERTUIDSL=0x18b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE=0x42 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP1=0x43 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP2=0x44 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_CUSBDEVICE_DUP3=0x45 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_DOCANCEL=0x17d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_INSTANTIATEEXTENSIONPLUGINSL_DUP1=0x4f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT=0x55 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT_DUP1=0x56 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_POWERUPANDCONNECT_DUP2=0x57 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR=0xd6 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP1=0x13a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP10=0x143 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP11=0x144 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP12=0x145 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP2=0x13b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP3=0x13c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP4=0x13d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP5=0x13e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP6=0x13f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP7=0x140 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP8=0x141 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_PRINTDESCRIPTOR_DUP9=0x142 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL=0x156 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP1=0x159 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP10=0x162 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP11=0x163 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP12=0x164 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP13=0x165 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP14=0x166 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP15=0x167 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP16=0x168 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP17=0x169 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP18=0x16a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP19=0x16b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP2=0x15a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP20=0x16c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP21=0x16d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP22=0x1a2 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP23=0x1a3 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP24=0x1a4 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP3=0x15b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP4=0x15c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP5=0x15d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP6=0x15e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP7=0x15f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP8=0x160 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_READPERSONALITIESL_DUP9=0x161 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RESOURCEFILENAMEL=0x191 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNERROR=0x5c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNERROR_DUP1=0x195 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL=0x58 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP1=0x59 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP2=0x5a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP3=0x5b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_RUNL_DUP5=0x194 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETDEVICESTATE=0x51 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETSERVICESTATE=0x50 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x149 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP1=0x14a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP10=0x19b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP11=0x196 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP12=0x19a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP2=0x14b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP3=0x14c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP4=0x14d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP5=0x14e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP6=0x14f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP7=0x197 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP8=0x198 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_SETUSBDEVICESETTINGSL_DUP9=0x199 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_CONSTRUCTL=0x260 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL=0x280 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP1=0x281 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP2=0x282 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP3=0x283 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_DOCANCEL_DUP4=0x284 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL=0x155 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL_DUP1=0x3c7 +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDEVICE_VALIDATEPERSONALITIESL_DUP2=0x3c8 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR=0x366 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP1=0x367 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP2=0x263 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP3=0x368 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP4=0x265 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP5=0x369 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP6=0x267 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP7=0x36a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR_DUP8=0x269 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG=0x36b [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP1=0x36c [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP2=0x36d @@ -978,140 +386,7 @@ [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP4=0x36f [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP5=0x370 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP6=0x371 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_GETCONFIG_DUP7=0x26a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNERROR=0x285 [[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL=0x372 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL_DUP1=0x27b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL_DUP2=0x27c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL_DUP3=0x27d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL_DUP4=0x27e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_RUNL_DUP5=0x27f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_START=0x272 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_START_DUP1=0x273 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_START_DUP2=0x274 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_START_DUP3=0x275 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_STOP=0x276 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP1=0x277 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP2=0x278 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBDUMMYCLASSCONTROLLER_STOP_DUP3=0x279 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_DEREGISTEROBSERVER=0x38e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT=0x38f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT_DUP1=0x390 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT_DUP2=0x391 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT_DUP3=0x392 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT_DUP4=0x393 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_NOTIFYHOSTEVENT_DUP5=0x394 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBHOST_STARTL=0x38d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST=0x3c0 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP1=0x3c1 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP2=0x3c2 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP3=0x3c3 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL=0x3be -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGCONNECTIONIDLEWATCHER_RUNL_DUP1=0x3bf -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT=0x3ae -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP1=0x3af -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP10=0x3b8 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP2=0x3b0 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP3=0x3b1 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP4=0x3b2 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP5=0x3b3 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP6=0x3b4 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP7=0x3b5 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP8=0x3b6 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_LOGEVENTTEXT_DUP9=0x3b7 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_POST=0x3b9 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL=0x3aa -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP1=0x3ac -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP2=0x3ad -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGEVENTWATCHER_RUNL_DUP3=0x3ab -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST=0x397 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP1=0x398 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP2=0x399 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP3=0x39a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP4=0x39b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_POST_DUP5=0x39c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_RUNL=0x395 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGIDPINWATCHER_RUNL_DUP1=0x396 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST=0x3a7 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST_DUP1=0x3a8 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_POST_DUP2=0x3a9 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_RUNL=0x3a5 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGSTATEWATCHER_RUNL_DUP1=0x3a6 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST=0x39f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP1=0x3a0 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP2=0x3a1 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP3=0x3a2 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP4=0x3a3 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_POST_DUP5=0x3a4 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_RUNL=0x39d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGVBUSWATCHER_RUNL_DUP1=0x39e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_POST=0x3bc -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_RUNL=0x3ba -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTGWATCHER_RUNL_DUP1=0x3bb -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL=0x382 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP1=0x383 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP2=0x386 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP3=0x384 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP4=0x385 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP5=0x387 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CONSTRUCTL_DUP6=0x388 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG=0x373 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP1=0x374 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP10=0x37d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP11=0x37e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP12=0x37f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP13=0x380 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP14=0x381 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP2=0x375 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP3=0x376 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP4=0x377 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP5=0x378 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP6=0x379 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP7=0x37a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP8=0x37b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_CUSBOTG_DUP9=0x37c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_NOTIFYOTGEVENT=0x389 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_REGISTEROBSERVERL=0x38a -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_STOP=0x38b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBOTG_STOP_DUP1=0x38c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_DECREMENTSESSIONCOUNT_DUP1=0x136 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_INCREMENTSESSIONCOUNT_DUP1=0x134 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_LAUNCHSHUTDOWNTIMERIFNOSESSIONS=0x137 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR_DUP1=0x1d1 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_CONSTRUCTL=0x173 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_CONVERTUIDSL=0x18c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_CREATECLASSCONTROLLERSL=0x190 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_ENUMERATECLASSCONTROLLERSL=0x177 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_READPERSONALITIESL=0x18d -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_RUNERROR=0x17e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_RUNL=0x17b -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x185 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x17f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR=0x91 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBDUMMYCLASSCONTROLLER_RUNL=0xac -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBMANCENREPMANAGER_READKEYL=0x3ca -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBOTGCONNECTIONIDLEWATCHER_POST_DUP1=0x258 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBOTG_CONSTRUCTL=0x21e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBOTG_CUSBOTG=0x28 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBSESSION_CUSBSESSION=0x1d3 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBSESSION_DISPATCHMESSAGEL=0x1cf -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBSESSION_GETMANUFACTURERSTRINGDESCRIPTOR=0x1da -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP1_CUSBSESSION_GETSUPPORTEDCLASSES=0x1bd -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDEVICE_READPERSONALITIESL=0x18e -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDEVICE_RUNL=0x17c -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x186 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x180 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR=0x92 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBDUMMYCLASSCONTROLLER_RUNL=0xad -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP2_CUSBSESSION_CUSBSESSION=0x1d4 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CUSBDEVICE_READPERSONALITIESL=0x18f -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x187 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x181 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CUSBDUMMYCLASSCONTROLLER_GETBEHAVIOUR=0x93 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP3_CUSBDUMMYCLASSCONTROLLER_RUNL=0xae -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP4_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x189 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP4_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x182 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP5_CUSBDEVICE_SETUSBDEVICESETTINGSFROMPERSONALITYL=0x188 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP5_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x183 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_DUP6_CUSBDEVICE_SETUSBDEVICESETTINGSL=0x184 -[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]__RUNSERVERL=0x8e +[[OBSOLETE]][TRACE]TRACE_NORMAL[0x86]_CUSBSERVER_CONSTRUCTL_DUP44=0x446 +[[OBSOLETE]][TRACE]TRACE_WARNING[0x83]_CUSBDEVICE_VALIDATEPERSONALITIES=0x2 +[[OBSOLETE]][TRACE]TRACE_WARNING[0x83]_CUSBDEVICE_VALIDATEPERSONALITIESL=0x1 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/group/TestPlugin.mmp --- a/usbmgmt/usbmgrtest/t_charging_emu/group/TestPlugin.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/group/TestPlugin.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -33,7 +33,6 @@ SOURCEPATH ../../../usbmgr/usbman/chargingplugin/src SOURCE CUsbBatteryChargingPlugin.cpp SOURCE chargingstates.cpp -SOURCE repositorynotifier.cpp SOURCE reenumerator.cpp SOURCE devicestatetimer.cpp SOURCE vbuswatcher.cpp @@ -55,8 +54,6 @@ LIBRARY centralrepository.lib -library flogger.lib - NOEXPORTLIBRARY //macro __USB_LOG_TO_RDEBUG__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/group/TestPluginotg.mmp --- a/usbmgmt/usbmgrtest/t_charging_emu/group/TestPluginotg.mmp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/group/TestPluginotg.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -33,7 +33,6 @@ SOURCEPATH ../../../usbmgr/usbman/chargingplugin/src SOURCE CUsbBatteryChargingPlugin.cpp SOURCE chargingstates.cpp -SOURCE repositorynotifier.cpp SOURCE reenumerator.cpp SOURCE devicestatetimer.cpp SOURCE vbuswatcher.cpp @@ -59,8 +58,6 @@ LIBRARY centralrepository.lib -library flogger.lib - NOEXPORTLIBRARY //macro __USB_LOG_TO_RDEBUG__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/group/TestPluginotgtest.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_charging_emu/group/TestPluginotgtest.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,69 @@ +/* +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* usbbatterychargingtestplugin.dll UsbMan extension plugin for battery charging, with test function. +* usbbatterychargingtestplugin.rsc Resource file for charging plugin. +* +*/ + +/** + @file + @internalComponent +*/ + +TARGET usbbatterychargingtestpluginotg.dll +TARGETTYPE PLUGIN +// UID2 = 0x10009d8d for ECOM plugins. +// UID3 = the 'DLL UID' (see resource file) +UID 0x10009d8d 0x1020DEA7 +VENDORID 0x70000001 +CAPABILITY CommDD NetworkControl NetworkServices LocalServices ProtServ + +SOURCEPATH ../../../usbmgr/usbman/chargingplugin/src +SOURCE CUsbBatteryChargingPlugin.cpp +SOURCE chargingstates.cpp +//SOURCE repositorynotifier.cpp +SOURCE reenumerator.cpp +SOURCE devicestatetimer.cpp +SOURCE vbuswatcher.cpp + +SOURCE idpinwatcher.cpp +SOURCE otgstatewatcher.cpp +SOURCEPATH ../src +SOURCE CUsbBatteryChargingTestPlugin.cpp + +START RESOURCE 1020DEA7.rss +target usbbatterychargingtestpluginotg.rsc +END + +USERINCLUDE ../inc +USERINCLUDE ../../../usbmgr/usbman/chargingplugin/inc +USERINCLUDE ../../../usbmgr/usbman/chargingplugin/inc/default +USERINCLUDE ../../../usbmgr/usbman/chargingplugin/public +USERINCLUDE ../traces +OS_LAYER_SYSTEMINCLUDE_SYMBIAN + +LIBRARY euser.lib +LIBRARY usbmanextensionplugin.lib +LIBRARY centralrepository.lib + + +NOEXPORTLIBRARY + +//macro __USB_LOG_TO_RDEBUG__ + +//macro __USB_LOGGING__ + +macro SYMBIAN_ENABLE_USB_OTG_HOST_PRIV +macro __CHARGING_PLUGIN_TEST_CODE__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/group/bld.inf --- a/usbmgmt/usbmgrtest/t_charging_emu/group/bld.inf Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/group/bld.inf Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -16,7 +16,7 @@ */ PRJ_PLATFORMS -DEFAULT +DEFAULT armv5smp PRJ_TESTEXPORTS ../inc/dummyldd.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummyldd.h) @@ -26,10 +26,7 @@ t_usbcharging.iby /epoc32/rom/include/t_usbcharging.iby - + PRJ_TESTMMPFILES - - tbatterycharging.mmp - tbatterychargingrepositorywriter.mmp TestPlugin.mmp - TestPluginotg.mmp + TestPluginotg.mmp \ No newline at end of file diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/group/t_usbcharging.iby --- a/usbmgmt/usbmgrtest/t_charging_emu/group/t_usbcharging.iby Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/group/t_usbcharging.iby Thu Sep 16 12:03:29 2010 +0800 @@ -18,20 +18,14 @@ #ifndef __T_USBCHARGING_IBY__ #define __T_USBCHARGING_IBY__ -// *** Manual Test executable -file=ABI_DIR\USB_DIR\tbatterycharging.exe System\Programs\tbatterycharging.exe -file=ABI_DIR\USB_DIR\tbatterychargingrepositorywriter.exe System\Programs\tbatterychargingrepositorywriter.exe - -// *** file needed for the manual test when built in ROM -data=EPOCROOT##Epoc32\data\z\system\data\t_charging.txt "system\data\t_charging.txt" - // *** Test plug-in #if defined(SYMBIAN_ENABLE_USB_OTG_HOST) && defined (SYMBIAN_INCLUDE_USB_OTG_HOST) -USB_PLUGIN(usbbatterychargingtestpluginotg.dll,usbbatterychargingtestpluginotg.rsc) + USB_PLUGIN(usbbatterychargingtestpluginotg.dll,usbbatterychargingtestpluginotg.rsc) #else -USB_PLUGIN(usbbatterychargingtestplugin.dll,usbbatterychargingtestplugin.rsc) + USB_PLUGIN(usbbatterychargingtestplugin.dll,usbbatterychargingtestplugin.rsc) #endif + data=EPOCROOT##epoc32\data\z\private\10202be9\10208DD7.txt private\10202be9\10208DD7.txt #endif diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/inc/CUsbBatteryChargingTestPlugin.h --- a/usbmgmt/usbmgrtest/t_charging_emu/inc/CUsbBatteryChargingTestPlugin.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/inc/CUsbBatteryChargingTestPlugin.h Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -40,9 +40,8 @@ TUint iAvailableMilliAmps; TInt iPluginState; TUsbDeviceState iDeviceState; - TUsbBatteryChargingUserSetting iUserSetting; TInt iCurrentIndexRequested; - TUint iRequestedCurrentValue; + TUint iRequestedCurrentValue; }; class MUsbBatteryChargingTestPluginInterface2 diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/inc/dummyldd.h --- a/usbmgmt/usbmgrtest/t_charging_emu/inc/dummyldd.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/inc/dummyldd.h Thu Sep 16 12:03:29 2010 +0800 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-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" @@ -18,8 +18,28 @@ #ifndef __DUMMY_LDD_H__ #define __DUMMY_LDD_H__ +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +#include +#endif + static const TInt KDummyConfigDescSize = 9; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +typedef UsbShai::TPortType TUsbcChargingPortType; +typedef UsbShai::TChargerDetectorProperties TUsbcChargerDetectorProperties; +const TUint KUsbChargingPortTypeNone = UsbShai::EPortTypeNone; +const TUint KUsbChargingPortTypeUnsupported = UsbShai::EPortTypeUnsupported; +const TUint KUsbChargingPortTypeChargingPort = UsbShai::EPortTypeChargingPort; +const TUint KUsbChargingPortTypeDedicatedChargingPort = UsbShai::EPortTypeDedicatedChargingPort; +const TUint KUsbChargingPortTypeChargingDownstreamPort = UsbShai::EPortTypeChargingDownstreamPort; +const TUint KUsbChargingPortTypeStandardDownstreamPort = UsbShai::EPortTypeStandardDownstreamPort; +const TUint KUsbChargingPortTypeAcaRidA = UsbShai::EPortTypeAcaRidA; +const TUint KUsbChargingPortTypeAcaRidB = UsbShai::EPortTypeAcaRidB; +const TUint KUsbChargingPortTypeAcaRidC = UsbShai::EPortTypeAcaRidC; + +const TUint KChargerDetectorCapChirpCurrentLimiting = UsbShai::TChargerDetectorProperties::KChargerDetectorCapChirpCurrentLimiting; +#endif + /****** * NOTE: This dummy implementation of RDevUsbcClient is actually a C-class!!!!!! */ @@ -32,11 +52,22 @@ inline TInt GetConfigurationDescriptorSize(TInt& aSize); inline void ReEnumerate(TRequestStatus& aStatus); inline void ReEnumerateCancel(); + inline TBool CurrentlyUsingHighSpeed(); // used to initialise config desc. inline void Initialise(); + inline void SetCurrentlyUsingHighSpeed(TBool aUsingHighSpeed); +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + inline TInt ChargerDetectorCaps(TUsbcChargerDetectorProperties& aProperties); + inline void SetChargerDetectorCaps(TUsbcChargerDetectorProperties aProperties); +#endif + private: TBuf8 iConfigDesc; + TBool iUsingHighSpeed; +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 + TUsbcChargerDetectorProperties iChargerDetectorCaps; +#endif }; inline TInt RDevUsbcClient::GetConfigurationDescriptor(TDes8& aConfigurationDescriptor) @@ -77,6 +108,29 @@ iConfigDesc.FillZ(KDummyConfigDescSize); // 8th byte is bMaxPower iConfigDesc[8] = 0; + iUsingHighSpeed = EFalse; } +inline TBool RDevUsbcClient::CurrentlyUsingHighSpeed() + { + return iUsingHighSpeed; + } + +inline void RDevUsbcClient::SetCurrentlyUsingHighSpeed(TBool aUsingHighSpeed) + { + iUsingHighSpeed = aUsingHighSpeed; + } + +#ifdef SYMBIAN_USB_BATTERYCHARGING_V1_1 +inline TInt RDevUsbcClient::ChargerDetectorCaps(TUsbcChargerDetectorProperties& aProperties) + { + aProperties = iChargerDetectorCaps; + return KErrNone; + } + +inline void RDevUsbcClient::SetChargerDetectorCaps(TUsbcChargerDetectorProperties aProperties) + { + iChargerDetectorCaps = aProperties; + } +#endif #endif // __DUMMY_LDD_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/inc/tbatterycharging.h --- a/usbmgmt/usbmgrtest/t_charging_emu/inc/tbatterycharging.h Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/inc/tbatterycharging.h Thu Sep 16 12:03:29 2010 +0800 @@ -22,7 +22,7 @@ #ifndef __CDUMMYUSBDEVICE_H__ #define __CDUMMYUSBDEVICE_H__ -#include +#include #include #include #include diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_charging_emu/src/CUsbBatteryChargingTestPlugin.cpp --- a/usbmgmt/usbmgrtest/t_charging_emu/src/CUsbBatteryChargingTestPlugin.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_charging_emu/src/CUsbBatteryChargingTestPlugin.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -22,12 +22,6 @@ #include -#include - -#ifdef __FLOG_ACTIVE -_LIT8(KLogComponent, "USBCHARGE TEST"); -#endif - #include #define __D32USBC_H__ // ensure that d32usbc is ignored, and dummyldd used instead #include "CUsbBatteryChargingTestPlugin.h" @@ -69,7 +63,6 @@ aInfo.iPluginState = iPluginState; aInfo.iAvailableMilliAmps = iAvailableMilliAmps; aInfo.iDeviceState = iDeviceState; - aInfo.iUserSetting = iUserSetting; aInfo.iCurrentIndexRequested = iCurrentIndexRequested; aInfo.iRequestedCurrentValue = iRequestedCurrentValue; } @@ -77,11 +70,15 @@ TAny* CUsbBatteryChargingTestPlugin::GetInterface(TUid aUid) { TAny* ret = NULL; + ret = CUsbBatteryChargingPlugin::GetInterface(aUid); + if(!ret) + { if (aUid == KUidUsbBatteryChargingTestPluginInterface2) { ret = reinterpret_cast( static_cast(this) ); } + } return ret; } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/group/bld.inf Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +PRJ_TESTEXPORTS +t_usbcharging.iby /epoc32/rom/include/t_usbcharging.iby +//t_usbcharging.iby /epoc32/rom/include/core/os/t_usbcharging.iby + + +PRJ_TESTMMPFILES +t_usbcharging.mmp +//t_usbcharging_cmdparam.mmp diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging.iby Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,27 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __T_USBCHARGINGARM_IBY__ +#define __T_USBCHARGINGARM_IBY__ + +// *** Test executable +file=ABI_DIR/UDEB/tusbcharging.exe /sys/bin/tusbcharging.exe +data=/t_usb_charging/group/autoexec.bat /autoexec.bat + +#endif + + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +TARGETTYPE exe + +UID 0 0x20031E54 + +TARGET tusbcharging.exe + +CAPABILITY ALL -Tcb + +SOURCEPATH ../src +SOURCE activetest.CPP +SOURCE activeconsole.CPP +SOURCE testbase.CPP +SOURCE usbchargingarmtest.cpp +SOURCE usbchargingcurrentwatcher.cpp +SOURCE usbstatewatcher.cpp + +USERINCLUDE ../inc +USERINCLUDE ../traces +OS_LAYER_SYSTEMINCLUDE_SYMBIAN + +LIBRARY euser.lib +LIBRARY usbman.lib +LIBRARY esock.lib +LIBRARY efsrv.lib diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging_cmdparam.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/group/t_usbcharging_cmdparam.mmp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +TARGETTYPE exe +MACRO COMMANDLINE_PARAM +UID 0 0x20031E54 + +TARGET tusbcharging.exe + +CAPABILITY ALL -Tcb + +SOURCEPATH ../src +SOURCE activetest.CPP +SOURCE activeconsole.CPP +SOURCE testbase.CPP +SOURCE usbchargingarmtest.cpp +SOURCE usbchargingcurrentwatcher.cpp +SOURCE usbstatewatcher.cpp + +USERINCLUDE ../inc +USERINCLUDE ../traces +OS_LAYER_SYSTEMINCLUDE_SYMBIAN + +LIBRARY euser.lib +LIBRARY usbman.lib +LIBRARY esock.lib +LIBRARY efsrv.lib + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/Tests.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/Tests.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,48 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __TESTS_H__ +#define __TESTS_H__ + +// -- Add specific test header files here. +#include "usbchargingarmtest.h" +// -- End + +class CTestBase; + +struct TTestDefinition + { + TTestDefinition(const TDesC8& aDescription, CTestBase* (*aFactoryL)(MTestManager&)); + + TBuf8<256> iDescription; + CTestBase* (*iFactoryL)(MTestManager&); + }; + +TTestDefinition::TTestDefinition(const TDesC8& aDescription, CTestBase* (*aFactoryL)(MTestManager&)) + { + iDescription = aDescription; + iFactoryL = aFactoryL; + } + +TTestDefinition gTestDefinitions[] = + { +// -- Add information about specific tests here + TTestDefinition(_L8("Test 1 (USBChargingARMTest)"), CUsbChargingArmTest::NewL), +// -- End + }; + +#endif // __TESTS_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/activeconsole.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/activeconsole.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,66 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include +#include "testmanager.h" + +class CTestBase; +class CConsoleBase; + +class CActiveConsole : public CActive, public MTestManager +/** + * Active Object console class. This is the means by which the user interacts + * with the program. + */ + { +public: + static CActiveConsole* NewLC(CConsoleBase& aConsole); + ~CActiveConsole(); + +public: + void RequestCharacter(); + TKeyCode Getch(); + +private: + CActiveConsole(CConsoleBase& aConsole); + void ConstructL(); + +private: // utility + void SelectTestL(); + void StopCurrentTest(); + void DisplayMainMenu(); + void DoActionKeyL(TKeyCode aKey); + +private: // from MTestManager + void TestFinished(); + void Write(TRefByValue aFmt, ...); + void WriteNoReturn(TRefByValue aFmt, ...); + void GetNumberL(TUint& aNumber); + +private: // from CActive + void RunL(); + void DoCancel(); + TInt RunError(TInt aError); + +private: // owned + CTestBase* iTest; + TBuf8<10> iInputBuffer; + +private: // unowned + CConsoleBase& iConsole; + }; diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/testbase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/testbase.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __TESTBASE_H__ +#define __TESTBASE_H__ + +#include +#include + +class MTestManager; + +#define LeaveIfErrorL(aError) \ + { \ + if ( aError ) \ + { \ + iManager.Write(_L8("LEAVE: line %d, code %d"), __LINE__, aError); \ + User::Leave(aError); \ + } \ + } + +class CTestBase : public CBase +/** + * Abstract base class for tests. + */ + { +public: + CTestBase(MTestManager& aManager); + ~CTestBase(); + +public: + // Tests may implement either of these to pick up user selections. + // Single-key entries require you to implement the TKeyCode overload; + // multi-key selections require you to implement the descriptor overload. + virtual void ProcessKeyL(TKeyCode aKeyCode); + virtual void ProcessKeyL(const TDesC8& aString); + + virtual void DisplayTestSpecificMenu() = 0; + +protected: // unowned + MTestManager& iManager; + }; + +#endif // __TESTBASE_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/testmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/testmanager.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,45 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __TESTMANAGER_H__ +#define __TESTMANAGER_H__ + +#include +#include + +class MTestManager + { +public: + /** + Called when a test finishes. + */ + virtual void TestFinished() = 0; + + /** + Called to display some text. + */ + virtual void Write(TRefByValue aFmt, ...) = 0; + virtual void WriteNoReturn(TRefByValue aFmt, ...) = 0; + + /** + Read a user-inputted number. + aNumber should be initialised before calling. + */ + virtual void GetNumberL(TUint& aNumber) = 0; + }; + +#endif // __TESTMANAGER_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/usbchargingarmtest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/usbchargingarmtest.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,66 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef __USBCHARGINGARM_H__ +#define __USBCHARGINGARM_H__ + +#include +#include +#include +#include +#include + +#include "testbase.h" + +class CUsbChargingCurrentWatcher; +class CUsbStateWatcher; +/** +*/ +class CUsbChargingArmTest : public CTestBase + { +public: + static CTestBase* NewL(MTestManager& aManager); + ~CUsbChargingArmTest(); + void ShowUsbChargingValue(TPublishedUsbChargingInfo& aValue); + void ShowUsbDeviceState(TUsbDeviceState aDeviceState); + inline RUsb& Usb(); + +private: + CUsbChargingArmTest(MTestManager& aManager); + void ConstructL(); + void ShowChargingType(TUsbChargingPortType aChargingType); + void ShowConnStatus(TUsbConnectionStatus aStatus); + + int StartMassStorage(); + +private: // from CTestBase + void ProcessKeyL(TKeyCode aKeyCode); + void DisplayTestSpecificMenu(); + +private: // owned + RUsb iUsbMan; + CUsbChargingCurrentWatcher* iChargingCurrentWatcher; + CUsbStateWatcher* iUsbStateWatcher; + RFs iFs; + }; + +inline RUsb& CUsbChargingArmTest::Usb() + { + return iUsbMan; + } + +#endif // __USBCHARGINGARM_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/usbchargingcurrentwatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/usbchargingcurrentwatcher.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,46 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __USBCHARGINGCURRENTWATCHER_H__ +#define __USBCHARGINGCURRENTWATCHER_H__ + +#include +#include +#include "usbchargingarmtest.h" +#include "testbase.h" + +/** +*/ +class CUsbChargingCurrentWatcher : public CActive + { +public: + static CUsbChargingCurrentWatcher* NewL(CUsbChargingArmTest& aUsbChargingArm); + ~CUsbChargingCurrentWatcher(); + +private: + CUsbChargingCurrentWatcher(CUsbChargingArmTest& aUsbChargingArm); + void ConstructL(); + + void DoCancel(); + void RunL(); + + void PostAndNotifyCurrentL(); + +private: + RProperty iChargingCurrentProp; + CUsbChargingArmTest& iUsbChargingArm; + }; + +#endif // __USBCHARGINGCURRENTWATCHER_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/inc/usbstatewatcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/inc/usbstatewatcher.h Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,46 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __USBSTATEWATCHER_H__ +#define __USBSTATEWATCHER_H__ + +#include +#include +#include "usbchargingarmtest.h" +#include "testbase.h" + +/** +*/ +class CUsbStateWatcher : public CActive + { +public: + static CUsbStateWatcher* NewL(CUsbChargingArmTest& aUsbChargingArm); + ~CUsbStateWatcher(); + +private: + CUsbStateWatcher(CUsbChargingArmTest& aUsbChargingArm); + void ConstructL(); + + void DoCancel(); + void RunL(); + + void GetAndShowDeviceStateL(); + +private: + CUsbChargingArmTest& iUsbChargingArm; + TUsbDeviceState iDeviceState; + }; + +#endif // __USBSTATEWATCHER_H__ diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/activeconsole.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/activeconsole.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,359 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include +#include "activeconsole.h" +#include "testbase.h" +#include "tests.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "activeconsoleTraces.h" +#endif + + +CActiveConsole::CActiveConsole(CConsoleBase& aConsole) + : CActive(CActive::EPriorityStandard), + iConsole(aConsole) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_CACTIVECONSOLE_ENTRY ); + CActiveScheduler::Add(this); + OstTraceFunctionExit0( CACTIVECONSOLE_CACTIVECONSOLE_EXIT ); + } + +CActiveConsole* CActiveConsole::NewLC(CConsoleBase& aConsole) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_NEWLC_ENTRY ); + + CActiveConsole* self = new(ELeave) CActiveConsole(aConsole); + CleanupStack::PushL(self); + self->ConstructL(); +#ifdef COMMANDLINE_PARAM + self->DisplayMainMenu(); +#endif + OstTraceFunctionExit0( CACTIVECONSOLE_NEWLC_EXIT ); + return self; + } + +void CActiveConsole::ConstructL() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_CONSTRUCTL_ENTRY ); + // Launch of FDTest test. + iTest = gTestDefinitions[0].iFactoryL(*this); + OstTraceFunctionExit0( CACTIVECONSOLE_CONSTRUCTL_EXIT ); + } + +CActiveConsole::~CActiveConsole() + { + OstTraceFunctionEntry0( DUP1_CACTIVECONSOLE_CACTIVECONSOLE_ENTRY ); + Cancel(); + + StopCurrentTest(); + OstTraceFunctionExit0( DUP1_CACTIVECONSOLE_CACTIVECONSOLE_EXIT ); + } + +void CActiveConsole::DoCancel() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_DOCANCEL_ENTRY ); + iConsole.ReadCancel(); + OstTraceFunctionExit0( CACTIVECONSOLE_DOCANCEL_EXIT ); + } + +void CActiveConsole::StopCurrentTest() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_STOPCURRENTTEST_ENTRY ); + delete iTest; + iTest = NULL; + OstTraceFunctionExit0( CACTIVECONSOLE_STOPCURRENTTEST_EXIT ); + } + +void CActiveConsole::RunL() +// Only process when we get a return, otherwise cache- i.e. support multi-character selections + { + OstTraceFunctionEntry0( CACTIVECONSOLE_RUNL_ENTRY ); + DoActionKeyL(iConsole.KeyCode()); + + // Repost asynchronous request. + RequestCharacter(); + OstTraceFunctionExit0( CACTIVECONSOLE_RUNL_EXIT ); + } + +void CActiveConsole::DoActionKeyL(TKeyCode aKeyCode) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_DOACTIONKEYL_ENTRY ); + WriteNoReturn(_L8("%c"), aKeyCode); + + // Examine the key that just came in. + switch ( TUint(aKeyCode) ) + { + case EKeyEscape: + { + Write(_L8("Exiting")); + CActiveScheduler::Stop(); + OstTraceFunctionExit0( CACTIVECONSOLE_DOACTIONKEYL_EXIT ); + return; + } + + case EKeyEnter: + // Tell the test about what's in the buffer so far, if anything. + Write(_L8("You entered \'%S\'"), &iInputBuffer); + switch ( iInputBuffer.Length() ) + { + case 0: + // Don't pass anything on- nothing to pass on. + break; + + case 1: + if ( iInputBuffer == _L8("S") + || iInputBuffer == _L8("s") + ) + { + StopCurrentTest(); + } + else + { + // Tell the test via the old 'single character' interface. + // If there is a test, then let it process the key. If there isn't a + // test, we process it to (possibly) create and run a new test object. + if ( iTest ) + { + TRAPD(err, iTest->ProcessKeyL((TKeyCode)iInputBuffer[0])); + if ( err ) + { + Write(_L8("CTestBase::ProcessKeyL left with %d"), err); + StopCurrentTest(); + } + } + else + { + SelectTestL(); + } + } + iInputBuffer = KNullDesC8(); + break; + + default: + // Tell the test via the new 'multi character' interface. + // If there is a test, then let it process the key. If there isn't a + // test, we process it to (possibly) create and run a new test object. + if ( iTest ) + { + TRAPD(err, iTest->ProcessKeyL(iInputBuffer)); + if ( err ) + { + Write(_L8("CTestBase::ProcessKeyL left with %d"), err); + StopCurrentTest(); + } + } + else + { + SelectTestL(); + } + iInputBuffer = KNullDesC8(); + break; + } + DisplayMainMenu(); + break; + + default: + iInputBuffer.Append(aKeyCode); + break; + } + OstTraceFunctionExit0( DUP1_CACTIVECONSOLE_DOACTIONKEYL_EXIT ); + } + +void CActiveConsole::RequestCharacter() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_REQUESTCHARACTER_ENTRY ); + iConsole.Read(iStatus); + SetActive(); + OstTraceFunctionExit0( CACTIVECONSOLE_REQUESTCHARACTER_EXIT ); + } + +void CActiveConsole::DisplayMainMenu() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_DISPLAYMAINMENU_ENTRY ); + Write(KNullDesC8); + + // If there's a current test, display its step menu. Otherwise, display + // all the available tests. + if ( iTest ) + { + iTest->DisplayTestSpecificMenu(); + Write(_L8("s - stop and close current test")); + } + else + { + const TUint numberOfTests = sizeof(gTestDefinitions) / sizeof(TTestDefinition); + for ( TUint ii = 0 ; ii < numberOfTests ; ii ++ ) + { + Write(_L8("%d - %S"), ii, &gTestDefinitions[ii].iDescription); + } + } + + Write(_L8("Escape - exit program")); + Write(KNullDesC8); + OstTraceFunctionExit0( CACTIVECONSOLE_DISPLAYMAINMENU_EXIT ); + } + +void CActiveConsole::Write(TRefByValue aFmt, ...) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_WRITE_ENTRY ); + VA_LIST list; + VA_START(list, aFmt); + + TBuf8<0x100> buf; + buf.AppendFormatList(aFmt, list); + TBuf<0x100> wideBuf; + wideBuf.Copy(buf); + iConsole.Write(wideBuf); + iConsole.Write(_L("\n")); + + RDebug::Print(wideBuf); + OstTraceFunctionExit0( CACTIVECONSOLE_WRITE_EXIT ); + } + +void CActiveConsole::WriteNoReturn(TRefByValue aFmt, ...) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_WRITENORETURN_ENTRY ); + VA_LIST list; + VA_START(list, aFmt); + + TBuf8<0x100> buf; + buf.AppendFormatList(aFmt, list); + TBuf<0x100> wideBuf; + wideBuf.Copy(buf); + iConsole.Write(wideBuf); + + RDebug::Print(wideBuf); + OstTraceFunctionExit0( CACTIVECONSOLE_WRITENORETURN_EXIT ); + } + +TKeyCode CActiveConsole::Getch() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_GETCH_ENTRY ); + return iConsole.Getch(); + } + +void CActiveConsole::SelectTestL() + { + OstTraceFunctionEntry0( CACTIVECONSOLE_SELECTTESTL_ENTRY ); + StopCurrentTest(); + + // Pick a test out of the global array of tests. + const TUint numberOfTests = sizeof(gTestDefinitions) / sizeof (TTestDefinition); + TLex8 lex(iInputBuffer); + TUint index; + TInt err = lex.Val(index); + + if ( err == KErrNone + && index < numberOfTests + ) + { + iTest = gTestDefinitions[index].iFactoryL(*this); + } + else + { + Write(_L8("Unknown selection")); + } + OstTraceFunctionExit0( CACTIVECONSOLE_SELECTTESTL_EXIT ); + } + +void CActiveConsole::TestFinished() +/** + * Called by the test when it has finished. Results in the destruction of the + * test. + */ + { + OstTraceFunctionEntry0( CACTIVECONSOLE_TESTFINISHED_ENTRY ); + StopCurrentTest(); + OstTraceFunctionExit0( CACTIVECONSOLE_TESTFINISHED_EXIT ); + } + +TInt CActiveConsole::RunError(TInt aError) +/** + * Called by the Active Scheduler when a RunL in this active object leaves. + */ + { + OstTraceFunctionEntry0( CACTIVECONSOLE_RUNERROR_ENTRY ); + // This actually happens when a test object fails to construct properly. + Write(_L8("Error creating test object: %d"), aError); + + iInputBuffer = KNullDesC8(); + DisplayMainMenu(); + + // It's OK to carry on with the program itself, so repost asynchronous + // request. + RequestCharacter(); + + OstTraceFunctionExit0( CACTIVECONSOLE_RUNERROR_EXIT ); + return KErrNone; + } + +void CActiveConsole::GetNumberL(TUint& aNumber) + { + OstTraceFunctionEntry0( CACTIVECONSOLE_GETNUMBERL_ENTRY ); + TBuf<12> addrAsText; + addrAsText.Zero(); + if ( aNumber != 0 ) + { + addrAsText.Format(_L("%d"), aNumber); + } + WriteNoReturn(_L8("Enter a number: ")); + if ( addrAsText.Length() > 0 ) + { + TBuf8<100> narrowBuf; + narrowBuf.Copy(addrAsText); + WriteNoReturn(narrowBuf); + } + TKeyCode code; + TBuf<1> character; + FOREVER + { + code = Getch(); + character.SetLength(0); + character.Append(code); + + // If finish editing string + if (code == 0x0d) + break; + + // if remove last character + if ((code == 0x08)&&(addrAsText.Length() != 0)) + { + WriteNoReturn(_L8("%S"),&character); + addrAsText.SetLength((addrAsText.Length()-1)); + } + else + { + if (addrAsText.Length() < addrAsText.MaxLength()) + { + WriteNoReturn(_L8("%S"),&character); + addrAsText.Append(code); + } + } + } + //now extract the new address from the string... + if( !addrAsText.Length() ) + { + addrAsText.Append('0'); //null string causes TLex::Val to return an error + } + TLex lex(addrAsText); + TInt err = lex.Val(aNumber, EDecimal); + User::LeaveIfError(err); + OstTraceFunctionExit0( CACTIVECONSOLE_GETNUMBERL_EXIT ); + } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/activetest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/activetest.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,68 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include +#include +#include +#include +#include "activeconsole.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "activetestTraces.h" +#endif + + +LOCAL_C void ActiveTestL() + { + OstTraceFunctionEntry0( _ACTIVETESTL_ENTRY ); + + CConsoleBase* console = Console::NewL(_L("ACTIVETEST"), TSize(KConsFullScreen, KConsFullScreen)); + CleanupStack::PushL(console); + + CActiveScheduler* scheduler = new(ELeave) CActiveScheduler; + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + CActiveConsole* activeConsole = CActiveConsole::NewLC(*console); +#ifdef COMMANDLINE_PARAM + activeConsole->RequestCharacter(); +#endif + CActiveScheduler::Start(); + // NB CActiveScheduler::Start only returns when someone somewhere has + // called CActiveScheduler::Stop. + + CleanupStack::PopAndDestroy(2); // activeConsole, scheduler + + console->Printf(_L("\nPress any key")); + console->Getch(); // get and ignore character + CleanupStack::PopAndDestroy(); // console + OstTraceFunctionExit0( _ACTIVETESTL_EXIT ); + } + +GLDEF_C TInt E32Main() + { + OstTraceFunctionEntry0( _E32MAIN_ENTRY ); + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + TRAPD(error, ActiveTestL()); + __ASSERT_ALWAYS(!error, User::Panic(_L("E32Main"), error)); + delete cleanup; + __UHEAP_MARKEND; + OstTraceFunctionExit0( _E32MAIN_EXIT ); + return KErrNone; + } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/testbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/testbase.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include "testbase.h" +#include "testmanager.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "testbaseTraces.h" +#endif + + +CTestBase::CTestBase(MTestManager& aManager) + : iManager(aManager) + { + OstTraceFunctionEntry0( CTESTBASE_CTESTBASE_ENTRY ); + OstTraceFunctionExit0( CTESTBASE_CTESTBASE_EXIT ); + } + +CTestBase::~CTestBase() + { + OstTraceFunctionEntry0( DUP1_CTESTBASE_CTESTBASE_ENTRY ); + OstTraceFunctionExit0( DUP1_CTESTBASE_CTESTBASE_EXIT ); + } + +void CTestBase::ProcessKeyL(TKeyCode /*aKeyCode*/) + { + OstTraceFunctionEntry0( CTESTBASE_PROCESSKEYL_ENTRY ); + OstTraceFunctionExit0( CTESTBASE_PROCESSKEYL_EXIT ); + } + +void CTestBase::ProcessKeyL(const TDesC8& /*aString*/) + { + OstTraceFunctionEntry0( DUP1_CTESTBASE_PROCESSKEYL_ENTRY ); + OstTraceFunctionExit0( DUP1_CTESTBASE_PROCESSKEYL_EXIT ); + } diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/usbchargingarmtest.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/usbchargingarmtest.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,381 @@ +/* +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#include +#include + +#include "usbchargingarmtest.h" +#include "usbchargingpublishedinfo.h" +#include "testmanager.h" +#include "usbstatewatcher.h" +#include "usbchargingcurrentwatcher.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "usbchargingarmtestTraces.h" +#endif + +_LIT(KMsFsy, "MSFS.FSY"); + + +CUsbChargingArmTest::CUsbChargingArmTest(MTestManager& aManager) + : CTestBase(aManager) + { + OstTraceFunctionEntry0( DUP1_CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_ENTRY ); + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_ENTRY ); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_EXIT ); + OstTraceFunctionExit0( DUP1_CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_EXIT ); + } + +CTestBase* CUsbChargingArmTest::NewL(MTestManager& aManager) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_NEWL_ENTRY ); + CUsbChargingArmTest* self = new(ELeave) CUsbChargingArmTest(aManager); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_NEWL_EXIT ); + return self; + } + + +int CUsbChargingArmTest::StartMassStorage() + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_STARTMASSSTORAGE_ENTRY ); + TInt r = KErrNone; + OstTrace0( TRACE_NORMAL, CUSBCHARGINGARMTEST_STARTMASSSTORAGE, "CUsbChargingArmTest::StartMassStorage AddFileSystem" ); + iManager.Write(_L8("Start Mass Storage")); + r = iFs.Connect(); + if (r != KErrNone) + { + OstTrace0( TRACE_ERROR, DUP1_CUSBCHARGINGARMTEST_STARTMASSSTORAGE, "CUsbChargingArmTest::StartMassStorage Connect to fs failed" ); + iManager.Write(_L8("Connect to Fs failed")); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_STARTMASSSTORAGE_EXIT ); + return r; + } + r = iFs.AddFileSystem(KMsFsy); + if (r != KErrNone) + { + OstTrace0( TRACE_ERROR, DUP2_CUSBCHARGINGARMTEST_STARTMASSSTORAGE, "CUsbChargingArmTest::StartMassStorage AddFileSystem failed" ); + iManager.Write(_L8("AddFileSystem failed")); + OstTraceFunctionExit0( DUP1_CUSBCHARGINGARMTEST_STARTMASSSTORAGE_EXIT ); + return r; + } + + OstTrace0( TRACE_NORMAL, DUP3_CUSBCHARGINGARMTEST_STARTMASSSTORAGE, "CUsbChargingArmTest::StartMassStorage AddFileSystem success" ); + iManager.Write(_L8("AddFileSystem success")); + OstTraceFunctionExit0( DUP3_CUSBCHARGINGARMTEST_STARTMASSSTORAGE_EXIT ); + return r; + } + + +void CUsbChargingArmTest::ConstructL() + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_CONSTRUCTL_ENTRY ); + TInt res; + res = StartMassStorage(); + if(res != KErrNone) + { + iManager.Write(_L8("start KMsFsy failed")); + return; + } + else + { + iManager.Write(_L8("start KMsFsy success")); + } + + // -- Insert initialization code here + iManager.Write(_L8("About to connect to USBMan")); + res = iUsbMan.Connect(); + if(res != KErrNone) + { + iManager.Write(_L8("Connection to USBMan failed")); + return; + } + else + { + iManager.Write(_L8("Cconnected to USBMan success")); + } + iChargingCurrentWatcher = CUsbChargingCurrentWatcher::NewL(*this); + +#ifndef COMMANDLINE_PARAM + iManager.Write(_L8("About to Set Control session")); + res = iUsbMan.SetCtlSessionMode(ETrue); + if(res != KErrNone) + { + iManager.Write(_L8("Set Control session failed")); + return; + } + else + { + iManager.Write(_L8("Set Control session Success")); + } + + iManager.Write(_L8("About to start USBMan")); + TRequestStatus requestStatus; + iUsbMan.TryStart(1, requestStatus); + User::WaitForRequest(requestStatus); + if(requestStatus.Int() == KErrNone) + { + iManager.Write(_L8("USBMan Started Success")); + iUsbStateWatcher = CUsbStateWatcher::NewL(*this); + } + else + { + iManager.Write(_L8("Failed to start USBMan")); + } +#endif + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_CONSTRUCTL_EXIT ); + } + +CUsbChargingArmTest::~CUsbChargingArmTest() + { + OstTraceFunctionEntry0( DUP2_CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_ENTRY ); + + // -- Insert cleanup code here + delete iChargingCurrentWatcher; + delete iUsbStateWatcher; + iUsbMan.Close(); + iFs.Close(); + OstTraceFunctionExit0( DUP2_CUSBCHARGINGARMTEST_CUSBCHARGINGARMTEST_EXIT ); + } + +void CUsbChargingArmTest::ProcessKeyL(TKeyCode aKeyCode) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_PROCESSKEYL_ENTRY ); + TInt res; + iManager.Write(_L8("CUsbChargingArmTest::ProcessKeyL")); + + switch ( aKeyCode ) + { + case '1': + { + iManager.Write(_L8("About to Set Control session")); + res = iUsbMan.SetCtlSessionMode(ETrue); + if(res != KErrNone) + { + iManager.Write(_L8("Set Control session failed")); + return; + } + else + { + iManager.Write(_L8("Set Control session Success")); + } + + iManager.Write(_L8("About to start USBMan")); + TRequestStatus requestStatus; + iUsbMan.Start(requestStatus); + User::WaitForRequest(requestStatus); + if(requestStatus.Int() == KErrNone) + { + iManager.Write(_L8("USBMan Started OK")); + if(!iChargingCurrentWatcher) + { + iChargingCurrentWatcher = CUsbChargingCurrentWatcher::NewL(*this); + } + if(!iUsbStateWatcher) + { + iUsbStateWatcher = CUsbStateWatcher::NewL(*this); + } + } + else + { + iManager.Write(_L8("Failed to start USBMan")); + } + } + break; + case '2': + { + iManager.Write(_L8("About to stop USBMan")); + TRequestStatus requestStatus; + iUsbMan.Stop(requestStatus); + User::WaitForRequest(requestStatus); + if(requestStatus.Int() == KErrNone) + { + iManager.Write(_L8("USBMan Stopped OK")); + } + else + { + iManager.Write(_L8("Failed to stop USBMan")); + } + } + break; + + + default: + iManager.Write(_L8("Unknown selection")); + break; + } + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_PROCESSKEYL_EXIT ); + } + +void CUsbChargingArmTest::DisplayTestSpecificMenu() + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_DISPLAYTESTSPECIFICMENU_ENTRY ); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_DISPLAYTESTSPECIFICMENU_EXIT ); + } + +void CUsbChargingArmTest::ShowUsbChargingValue(TPublishedUsbChargingInfo& aValue) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_ENTRY ); + iManager.Write(_L8("=====Published Current Info=====")); + ShowChargingType(aValue.iChargingPortType); + ShowConnStatus(aValue.iUsbConnStatus); + iManager.Write(_L8("MinAvailableVbusCurrent : %d"), aValue.iMinAvailableVbusCurrent); + iManager.Write(_L8("MaxVbusCurrent : %d"), aValue.iMaxVbusCurrent); + iManager.Write(_L8("MinVbusVoltage : %d"), aValue.iMinVbusVoltage); + iManager.Write(_L8("===Published Current Info End===")); + + OstTrace0( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP1, "CUsbChargingArmTest::ShowUsbChargingValue =====Published Current Info=====" ); + OstTrace1( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP2, "CUsbChargingArmTest::ShowUsbChargingValue;aValue.iChargingPortType=%d", aValue.iChargingPortType ); + OstTrace1( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP3, "CUsbChargingArmTest::ShowUsbChargingValue;aValue.iUsbConnStatus=%d", aValue.iUsbConnStatus ); + OstTrace1( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP4, "CUsbChargingArmTest::ShowUsbChargingValue;aValue.iMinAvailableVbusCurrent=%u", aValue.iMinAvailableVbusCurrent ); + OstTrace1( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP5, "CUsbChargingArmTest::ShowUsbChargingValue;aValue.iMaxVbusCurrent=%u", aValue.iMaxVbusCurrent ); + OstTrace1( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP6, "CUsbChargingArmTest::ShowUsbChargingValue;aValue.iMinVbusVoltage=%u", aValue.iMinVbusVoltage ); + OstTrace0( TRACE_NORMAL, CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_DUP7, "CUsbChargingArmTest::ShowUsbChargingValue ===Published Current Info End===" ); + + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_SHOWUSBCHARGINGVALUE_EXIT ); + } + +void CUsbChargingArmTest::ShowUsbDeviceState(TUsbDeviceState aDeviceState) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_SHOWUSBDEVICESTATE_ENTRY ); + TPtrC res(NULL, 0); + + _LIT(KUndefined, "Undefined"); + _LIT(KDefault, "Default"); + _LIT(KAttached, "Attached"); + _LIT(KPowered, "Powered"); + _LIT(KConfigured, "Configured"); + _LIT(KAddress, "Address"); + _LIT(KSuspended, "Suspended"); + _LIT(KUnKnown, "UnKnown"); + + switch(aDeviceState) + { + case EUsbDeviceStateUndefined: + res.Set(KUndefined); + break; + case EUsbDeviceStateDefault: + res.Set(KDefault); + break; + case EUsbDeviceStateAttached: + res.Set(KAttached); + break; + case EUsbDeviceStatePowered: + res.Set(KPowered); + break; + case EUsbDeviceStateConfigured: + res.Set(KConfigured); + break; + case EUsbDeviceStateAddress: + res.Set(KAddress); + break; + case EUsbDeviceStateSuspended: + res.Set(KSuspended); + break; + default: + res.Set(KUnKnown); + break; + } + + iManager.Write(_L8("USBDevice State is: %S"), &res); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_SHOWUSBDEVICESTATE_EXIT ); + } + +void CUsbChargingArmTest::ShowChargingType(TUsbChargingPortType aChargingType) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_SHOWCHARGINGTYPE_ENTRY ); + TPtrC res(NULL, 0); + + _LIT(KPortTypeNone, "None"); + _LIT(KPortTypeUnsupported, "Unsupported"); + _LIT(KPortTypeChargingPort, "ChargingPort"); + _LIT(KPortTypeDedicatedChargingPort, "DedicatedChargingPort"); + _LIT(KPortTypeStandardDownstreamPort, "StandardDownstreamPort"); + _LIT(KPortTypeChargingDownstreamPort, "ChargingDownstreamPort"); + _LIT(KPortTypeAcaRidA, "RidAAca"); + _LIT(KPortTypeAcaRidB, "RidBAca"); + _LIT(KPortTypeAcaRidC, "RidCAca"); + _LIT(KUnKnown, "UnKnown"); + + switch (aChargingType) + { + case EUsbChargingPortTypeNone: + res.Set(KPortTypeNone); + break; + case EUsbChargingPortTypeUnsupported: + res.Set(KPortTypeUnsupported); + break; + case EUsbChargingPortTypeChargingPort: + res.Set(KPortTypeChargingPort); + break; + case EUsbChargingPortTypeDedicatedChargingPort: + res.Set(KPortTypeDedicatedChargingPort); + break; + case EUsbChargingPortTypeChargingDownstreamPort: + res.Set(KPortTypeChargingDownstreamPort); + break; + case EUsbChargingPortTypeStandardDownstreamPort: + res.Set(KPortTypeStandardDownstreamPort); + break; + case EUsbChargingPortTypeAcaRidA: + res.Set(KPortTypeAcaRidA); + break; + case EUsbChargingPortTypeAcaRidB: + res.Set(KPortTypeAcaRidB); + break; + case EUsbChargingPortTypeAcaRidC: + res.Set(KPortTypeAcaRidC); + break; + default: + res.Set(KUnKnown); + break; + } + iManager.Write(_L8("ChargingPortType: %S"), &res); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_SHOWCHARGINGTYPE_EXIT ); + } + +void CUsbChargingArmTest::ShowConnStatus(TUsbConnectionStatus aStatus) + { + OstTraceFunctionEntry0( CUSBCHARGINGARMTEST_SHOWCONNSTATUS_ENTRY ); + TPtrC res(NULL, 0); + + _LIT(KNone, "None"); + _LIT(KConfigured, "Configured"); + _LIT(KSuspended, "Suspend"); + _LIT(KUnKnown, "UnKnown"); + + switch(aStatus) + { + case EUsbConnectionStatusNone: + res.Set(KNone); + break; + case EUsbConnectionStatusSuspend: + res.Set(KSuspended); + break; + case EUsbConnectionStatusConfigured: + res.Set(KConfigured); + break; + default: + res.Set(KUnKnown); + break; + } + + iManager.Write(_L8("ConnectionStatus: %S"), &res); + OstTraceFunctionExit0( CUSBCHARGINGARMTEST_SHOWCONNSTATUS_EXIT ); + } + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/usbchargingcurrentwatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/usbchargingcurrentwatcher.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,92 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include +#include +#include + +#include "usbchargingcurrentwatcher.h" +#include "testmanager.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "usbchargingcurrentwatcherTraces.h" +#endif + + +CUsbChargingCurrentWatcher* CUsbChargingCurrentWatcher::NewL(CUsbChargingArmTest& aUsbChargingArm) + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_NEWL_ENTRY ); + CUsbChargingCurrentWatcher* self = new(ELeave) CUsbChargingCurrentWatcher(aUsbChargingArm); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_NEWL_EXIT ); + return self; + } + +CUsbChargingCurrentWatcher::~CUsbChargingCurrentWatcher() + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_CUSBCHARGINGCURRENTWATCHER_ENTRY ); + Cancel(); + iChargingCurrentProp.Close(); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_CUSBCHARGINGCURRENTWATCHER_EXIT ); + } + +CUsbChargingCurrentWatcher::CUsbChargingCurrentWatcher(CUsbChargingArmTest& aUsbChargingArm) + : CActive(EPriorityStandard) + , iUsbChargingArm(aUsbChargingArm) + { + OstTraceFunctionEntry0( DUP1_CUSBCHARGINGCURRENTWATCHER_CUSBCHARGINGCURRENTWATCHER_ENTRY ); + CActiveScheduler::Add(this); + OstTraceFunctionExit0( DUP1_CUSBCHARGINGCURRENTWATCHER_CUSBCHARGINGCURRENTWATCHER_EXIT ); + } + +void CUsbChargingCurrentWatcher::ConstructL() + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_CONSTRUCTL_ENTRY ); + User::LeaveIfError(iChargingCurrentProp.Attach(KPropertyUidUsbBatteryChargingCategory, KPropertyUidUsbBatteryChargingInfo)); + + PostAndNotifyCurrentL(); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_CONSTRUCTL_EXIT ); + } + +void CUsbChargingCurrentWatcher::DoCancel() + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_DOCANCEL_ENTRY ); + iChargingCurrentProp.Cancel(); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_DOCANCEL_EXIT ); + } + +void CUsbChargingCurrentWatcher::RunL() + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_RUNL_ENTRY ); + PostAndNotifyCurrentL(); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_RUNL_EXIT ); + } + +void CUsbChargingCurrentWatcher::PostAndNotifyCurrentL() + { + OstTraceFunctionEntry0( CUSBCHARGINGCURRENTWATCHER_POSTANDNOTIFYCURRENTL_ENTRY ); + iChargingCurrentProp.Subscribe(iStatus); + SetActive(); + + TPckgBuf aChargingInfo; + TInt err = iChargingCurrentProp.Get(aChargingInfo); + User::LeaveIfError(err); + OstTrace0( TRACE_NORMAL, CUSBCHARGINGCURRENTWATCHER_POSTANDNOTIFYCURRENTL, "CUsbChargingCurrentWatcher::PostAndNotifyCurrentL get P/S key changed" ); + iUsbChargingArm.ShowUsbChargingValue(aChargingInfo()); + OstTraceFunctionExit0( CUSBCHARGINGCURRENTWATCHER_POSTANDNOTIFYCURRENTL_EXIT ); + } + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usb_charging/src/usbstatewatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbmgmt/usbmgrtest/t_usb_charging/src/usbstatewatcher.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -0,0 +1,88 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include "usbstatewatcher.h" +#include +#include "testmanager.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "usbstatewatcherTraces.h" +#endif + + +CUsbStateWatcher* CUsbStateWatcher::NewL(CUsbChargingArmTest& aUsbChargingArm) + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_NEWL_ENTRY ); + CUsbStateWatcher* self = new(ELeave) CUsbStateWatcher(aUsbChargingArm); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + OstTraceFunctionExit0( CUSBSTATEWATCHER_NEWL_EXIT ); + return self; + } + +CUsbStateWatcher::~CUsbStateWatcher() + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_CUSBSTATEWATCHER_ENTRY ); + Cancel(); + OstTraceFunctionExit0( CUSBSTATEWATCHER_CUSBSTATEWATCHER_EXIT ); + } + +CUsbStateWatcher::CUsbStateWatcher(CUsbChargingArmTest& aUsbChargingArm) + : CActive(EPriorityStandard) + , iUsbChargingArm(aUsbChargingArm) + { + OstTraceFunctionEntry0( DUP1_CUSBSTATEWATCHER_CUSBSTATEWATCHER_ENTRY ); + CActiveScheduler::Add(this); + OstTraceFunctionExit0( DUP1_CUSBSTATEWATCHER_CUSBSTATEWATCHER_EXIT ); + } + +void CUsbStateWatcher::ConstructL() + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_CONSTRUCTL_ENTRY ); + GetAndShowDeviceStateL(); + OstTraceFunctionExit0( CUSBSTATEWATCHER_CONSTRUCTL_EXIT ); + } + +void CUsbStateWatcher::DoCancel() + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_DOCANCEL_ENTRY ); + iUsbChargingArm.Usb().DeviceStateNotificationCancel(); + OstTraceFunctionExit0( CUSBSTATEWATCHER_DOCANCEL_EXIT ); + } + +void CUsbStateWatcher::RunL() + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_RUNL_ENTRY ); + GetAndShowDeviceStateL(); + OstTraceFunctionExit0( CUSBSTATEWATCHER_RUNL_EXIT ); + } + +void CUsbStateWatcher::GetAndShowDeviceStateL() + { + OstTraceFunctionEntry0( CUSBSTATEWATCHER_GETANDSHOWDEVICESTATEL_ENTRY ); + TUsbDeviceState deviceState; + User::LeaveIfError(iUsbChargingArm.Usb().GetDeviceState(deviceState)); + if(deviceState != iDeviceState) + { + deviceState = iDeviceState; + } + iUsbChargingArm.ShowUsbDeviceState(deviceState); + + iUsbChargingArm.Usb().DeviceStateNotification(0xffffffff, iDeviceState, iStatus); + SetActive(); + OstTraceFunctionExit0( CUSBSTATEWATCHER_GETANDSHOWDEVICESTATEL_EXIT ); + } + diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usbmanager_suite/Stub1CC/src/Stub1CC.cpp --- a/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub1CC/src/Stub1CC.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub1CC/src/Stub1CC.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -25,6 +25,7 @@ #include #include #include +#include #include "Stub1CC.h" #ifdef __FLOG_ACTIVE @@ -32,7 +33,7 @@ #endif -#include "usbmaninternalconstants.h" + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "Stub1CCTraces.h" diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usbmanager_suite/Stub2CC/src/Stub2CC.cpp --- a/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub2CC/src/Stub2CC.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub2CC/src/Stub2CC.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -24,6 +24,7 @@ #include #include #include +#include #include "Stub2CC.h" #ifdef __FLOG_ACTIVE @@ -31,7 +32,7 @@ #endif -#include "usbmaninternalconstants.h" + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "Stub2CCTraces.h" diff -r 21625e5de155 -r 93c0009bd947 usbmgmt/usbmgrtest/t_usbmanager_suite/Stub3CC/src/Stub3CC.cpp --- a/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub3CC/src/Stub3CC.cpp Mon Sep 06 11:27:08 2010 +0800 +++ b/usbmgmt/usbmgrtest/t_usbmanager_suite/Stub3CC/src/Stub3CC.cpp Thu Sep 16 12:03:29 2010 +0800 @@ -25,6 +25,7 @@ #include #include #include +#include #include "Stub3CC.h" #ifdef __FLOG_ACTIVE @@ -32,7 +33,7 @@ #endif -#include "usbmaninternalconstants.h" + #include "OstTraceDefinitions.h" #ifdef OST_TRACE_COMPILER_IN_USE #include "Stub3CCTraces.h"