diff -r d3e8e7d462dd -r f92a4f87e424 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmsession.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmsession.cpp Thu Jul 15 20:42:20 2010 +0300 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/server/src/msmmsession.cpp Tue Aug 31 17:01:47 2010 +0300 @@ -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" @@ -24,36 +24,44 @@ #include "msmmserver.h" #include "msmmengine.h" #include "eventqueue.h" +#include "msmmnodebase.h" #include #include -#include "msmmnodebase.h" -#include -#ifdef __FLOG_ACTIVE -_LIT8(KLogComponent, "UsbHostMsmmServer"); +#include +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "msmmsessionTraces.h" #endif + + CMsmmSession::~CMsmmSession() { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_CMSMMSESSION_DES_ENTRY ); + delete iErrData; iServer.RemoveSession(); + OstTraceFunctionExit0( CMSMMSESSION_CMSMMSESSION_DES_EXIT ); } CMsmmSession* CMsmmSession::NewL(CMsmmServer& aServer, CDeviceEventQueue& anEventQueue) { - LOG_STATIC_FUNC_ENTRY + OstTraceFunctionEntry0( CMSMMSESSION_NEWL_ENTRY ); + CMsmmSession* self = new(ELeave) CMsmmSession(aServer, anEventQueue); CleanupStack::PushL(self); self->ConstructL(); CleanupStack::Pop(self); + OstTraceFunctionExit0( CMSMMSESSION_NEWL_EXIT ); return self; } void CMsmmSession::ServiceL(const RMessage2& aMessage) { - LOG_STATIC_FUNC_ENTRY + OstTraceFunctionEntry0( CMSMMSESSION_SERVICEL_ENTRY ); + TInt ret(KErrNone); #ifdef _DEBUG @@ -92,7 +100,10 @@ delete heapObj; #endif // _DEBUG break; - + + case EHostMsmmServerEjectUsbDrives: + iServer.DismountUsbDrivesL(iDevicePkg()); + break; default: // Unsupported function number - panic the client PanicClient(aMessage, EBadRequest); @@ -100,11 +111,13 @@ // Complete the request aMessage.Complete(ret); + OstTraceFunctionExit0( CMSMMSESSION_SERVICEL_EXIT ); } void CMsmmSession::ServiceError(const RMessage2 &aMessage, TInt aError) { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_SERVICEERROR_ENTRY ); + CMsmmPolicyPluginBase* plugin = iServer.PolicyPlugin(); TUSBMSDeviceDescription& device = iDevicePkg(); @@ -128,9 +141,15 @@ iErrData->iProductString = device.iProductString; iErrData->iDriveName = 0x0; + OstTrace1( TRACE_DUMP, CMSMMSESSION_SERVICEERROR, "iErrData->iE32Error = %d", aError ); + OstTraceExt1( TRACE_DUMP, CMSMMSESSION_SERVICEERROR_DUP1, "iErrData->iManufacturerString=\"%S\"", device.iManufacturerString ); + OstTraceExt1( TRACE_DUMP, CMSMMSESSION_SERVICEERROR_DUP2, "iErrData->iProductString=\"%S\"", device.iProductString ); + + TInt err(KErrNone); TRAP(err, plugin->SendErrorNotificationL(*iErrData)); aMessage.Complete(aError); + OstTraceFunctionExit0( CMSMMSESSION_SERVICEERROR_EXIT ); } CMsmmSession::CMsmmSession(CMsmmServer& aServer, @@ -139,19 +158,24 @@ iEngine(aServer.Engine()), iEventQueue(anEventQueue) { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_CMSMMSESSION_CONS_ENTRY ); + aServer.AddSession(); + OstTraceFunctionExit0( CMSMMSESSION_CMSMMSESSION_CONS_EXIT ); } void CMsmmSession::ConstructL() { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_CONSTRUCTL_ENTRY ); + iErrData = new (ELeave) THostMsErrData; + OstTraceFunctionExit0( CMSMMSESSION_CONSTRUCTL_EXIT ); } void CMsmmSession::AddUsbMsInterfaceL(const RMessage2& aMessage) { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_ADDUSBMSINTERFACEL_ENTRY ); + aMessage.Read(0, iDevicePkg); iInterfaceNumber = aMessage.Int1(); iInterfaceToken = static_cast(aMessage.Int2()); @@ -165,16 +189,19 @@ TDeviceEvent event(EDeviceEventAddFunction, device.iDeviceId, iInterfaceNumber, iInterfaceToken); iEventQueue.PushL(event); + OstTraceFunctionExit0( CMSMMSESSION_ADDUSBMSINTERFACEL_EXIT ); } void CMsmmSession::RemoveUsbMsDeviceL(const RMessage2& aMessage) { - LOG_FUNC + OstTraceFunctionEntry0( CMSMMSESSION_REMOVEUSBMSDEVICEL_ENTRY ); + iDeviceID = aMessage.Int0(); // Put device event into queue TDeviceEvent event(EDeviceEventRemoveDevice, iDeviceID, 0, 0); iEventQueue.PushL(event); + OstTraceFunctionExit0( CMSMMSESSION_REMOVEUSBMSDEVICEL_EXIT ); } // End of file