# HG changeset patch # User hgs # Date 1282722230 -28800 # Node ID c4733e7476f1eb09d51d8dcb269c513619ddeb2a # Parent 2fcc881ba6f5b081298a6516b9760996b202675f 201032_02 diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp Fri Aug 06 11:24:47 2010 +0800 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmclientmanager.cpp Wed Aug 25 15:43:50 2010 +0800 @@ -184,16 +184,17 @@ User::LeaveIfError(iCommLdd.EndpointCaps(dataptr)); TBool foundIntIN = EFalse; + const TUint KEndPointType = KUsbEpTypeInterrupt | KUsbEpDirIn; for (TInt i = 0; i < epNum; i++) { - const TUsbcEndpointCaps* caps = &data[i].iCaps; - if ((caps->iTypesAndDir & (KUsbEpTypeInterrupt | KUsbEpDirIn)) - == (KUsbEpTypeInterrupt | KUsbEpDirIn)) + const TUsbcEndpointData* epData = &data[i]; + if ((!epData->iInUse) && // Not in use + ((epData->iCaps.iTypesAndDir & KEndPointType) == KEndPointType)) { // EEndpoint1 is going to be our INTERRUPT (IN, write) endpoint ifc0().iEndpointData[0].iType = KUsbEpTypeInterrupt; ifc0().iEndpointData[0].iDir = KUsbEpDirIn; - ifc0().iEndpointData[0].iSize = caps->MinPacketSize(); + ifc0().iEndpointData[0].iSize = epData->iCaps.MinPacketSize(); ifc0().iEndpointData[0].iInterval = 0x01; ifc0().iEndpointData[0].iInterval_Hs = 0x01; @@ -273,18 +274,27 @@ TBool foundBulkIN = EFalse; TBool foundBulkOUT = EFalse; TInt maxPacketSize = 0; + const TUint KEndPointBulkInType = KUsbEpTypeBulk | KUsbEpDirIn; + const TUint KEndPointBulkOutType = KUsbEpTypeBulk | KUsbEpDirOut; for (TInt i = 0; i < epNum; i++) { - const TUsbcEndpointCaps* caps = &data[i].iCaps; - maxPacketSize = caps->MaxPacketSize(); - if (!foundBulkIN && (caps->iTypesAndDir & (KUsbEpTypeBulk - | KUsbEpDirIn)) == (KUsbEpTypeBulk | KUsbEpDirIn)) + const TUsbcEndpointData* epData = &data[i]; + + // Check if this endpoint is in use + if (epData->iInUse) + { + continue; + } + + maxPacketSize = epData->iCaps.MaxPacketSize(); + if (!foundBulkIN && + ((epData->iCaps.iTypesAndDir & KEndPointBulkInType) == KEndPointBulkInType)) { // EEndpoint1 is going to be our TX (IN, write) endpoint ifc1().iEndpointData[0].iType = KUsbEpTypeBulk; ifc1().iEndpointData[0].iDir = KUsbEpDirIn; ifc1().iEndpointData[0].iSize = maxPacketSize; - ifc1().iEndpointData[0].iInterval_Hs = 0x01; + ifc1().iEndpointData[0].iInterval_Hs = 0x0; ifc1().iEndpointData[0].iBufferSize = KMaxScBufferSize; if (isResourceAllocationV2) @@ -301,14 +311,14 @@ continue; } - if (!foundBulkOUT && (caps->iTypesAndDir & (KUsbEpTypeBulk - | KUsbEpDirOut)) == (KUsbEpTypeBulk | KUsbEpDirOut)) + if (!foundBulkOUT && + ((epData->iCaps.iTypesAndDir & KEndPointBulkOutType) == KEndPointBulkOutType)) { // EEndpoint2 is going to be our RX (OUT, read) endpoint ifc1().iEndpointData[1].iType = KUsbEpTypeBulk; ifc1().iEndpointData[1].iDir = KUsbEpDirOut; ifc1().iEndpointData[1].iSize = maxPacketSize; - ifc1().iEndpointData[1].iInterval_Hs = 0; + ifc1().iEndpointData[1].iInterval_Hs = 0x1; ifc1().iEndpointData[1].iBufferSize = KMaxScBufferSize; ifc1().iEndpointData[1].iReadSize = KMaxScReadSize; diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmconnectionmanager.cpp --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmconnectionmanager.cpp Fri Aug 06 11:24:47 2010 +0800 +++ b/usbmgmt/usbmgr/device/classdrivers/ncm/classcontroller/src/ncmconnectionmanager.cpp Wed Aug 25 15:43:50 2010 +0800 @@ -414,16 +414,15 @@ aError = KErrNone; // Configuring DHCP server to assign the IP address to PC(host) - // Using static IP temporarily and will swithch to use DHCP server to do provision. -// TRequestStatus stat; -// OstTrace0(TRACE_NORMAL, CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_CALL_IOCTL, "About to call to Ioctl()"); -// -// TNcmMacAddress macAddr = iHostMacAddress; -// iConnection.Ioctl(KCOLConfiguration, KConnDhcpSetHwAddressParams, stat, -// &macAddr); -// User::WaitForRequest(stat); -// aError = stat.Int(); -// OstTrace1( TRACE_NORMAL, CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_RETURN_IOCTL, "Return from Ioctl:;aError=%d", aError ); + TRequestStatus stat; + OstTrace0(TRACE_NORMAL, CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_CALL_IOCTL, "About to call to Ioctl()"); + + TNcmMacAddress macAddr = iHostMacAddress; + iConnection.Ioctl(KCOLConfiguration, KConnDhcpSetHwAddressParams, stat, + &macAddr); + User::WaitForRequest(stat); + aError = stat.Int(); + OstTrace1( TRACE_NORMAL, CNCMCONNECTIONMANAGER_MDNOHANDLEDHCPNOTIFICATION_RETURN_IOCTL, "Return from Ioctl:aError=%d", aError ); if (KErrNone == aError) { diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp Fri Aug 06 11:24:47 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msfdc/src/msfdc.cpp Wed Aug 25 15:43:50 2010 +0800 @@ -223,11 +223,11 @@ } error = interface_ep0.GetInterfaceDescriptor(ifDescriptor); + interface_ep0.Close(); if (error) { OstTrace0( TRACE_ERROR, CMSFDC_MFI1NEWFUNCTION_DUP14, "***** Mass Storage FDC get interface descriptor Failed" ); - interface_ep0.Close(); delete data; OstTraceFunctionExit0( CMSFDC_MFI1NEWFUNCTION_EXIT_DUP7 ); return error; @@ -261,7 +261,6 @@ error = iMsmmSession.AddFunction(*data, aInterfaces[0], token); - interface_ep0.Close(); delete data; OstTraceFunctionExit0( CMSFDC_MFI1NEWFUNCTION_EXIT_DUP8 ); return error; diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/group/bld.inf --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/group/bld.inf Fri Aug 06 11:24:47 2010 +0800 +++ b/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/group/bld.inf Wed Aug 25 15:43:50 2010 +0800 @@ -26,7 +26,6 @@ #include "../client/group/bld.inf" #include "../server/group/bld.inf" #include "../referencepolicyplugin/group/bld.inf" -#include "../refppnotifier/group/bld.inf" PRJ_EXPORTS usbhostmsmm.iby /epoc32/rom/include/usbhostmsmm.iby diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/bld.inf --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/bld.inf Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2008-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 -*/ - -PRJ_PLATFORMS -ARMV5 GCCXML - -PRJ_TESTEXPORTS -refppnotifier.iby /epoc32/rom/include/refppnotifier.iby - -PRJ_TESTMMPFILES - -#if defined(SYMBIAN_ENABLE_USB_OTG_HOST) && !defined(WINS) && !defined(X86GCC) -refppnotifier.mmp -#endif \ No newline at end of file diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/refppnotifier.iby --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/refppnotifier.iby Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2008-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 __REFPPNOTIFIER_IBY__ -#define __REFPPNOTIFIER_IBY__ - -#include -#ifdef _DEBUG -ECOM_PLUGIN_UDEB(refppnotifier.dll, refppnotifier.rsc) -#else -ECOM_PLUGIN(refppnotifier.dll, refppnotifier.rsc) -#endif - -data=DATAZ_\resource\apps\dialog.rsc "\resource\apps\dialog.rsc" - -#endif // __REFPPNOTIFIER_IBY__ diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/refppnotifier.mmp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/group/refppnotifier.mmp Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* Copyright (c) 2008-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 -*/ - -TARGET refppnotifier.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x10285ddd - -CAPABILITY ProtServ TrustedUI - - -OS_LAYER_SYSTEMINCLUDE_SYMBIAN -APP_LAYER_SYSTEMINCLUDE_SYMBIAN - -SOURCEPATH ../src -SOURCE refppnotifier.cpp refppdialog.cpp - -RESOURCE refppnotifier.rss - -START RESOURCE dialog.rss -HEADER -TARGETPATH /resource/apps -END - -LIBRARY euser.lib -LIBRARY ecom.lib -LIBRARY eikdlg.lib -LIBRARY eiksrv.lib -LIBRARY eikcoctl.lib -LIBRARY cone.lib -LIBRARY eikcdlg.lib - -USERINCLUDE ../inc - -NOEXPORTLIBRARY - -VENDORID 0x70000001 diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppdialog.h --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppdialog.h Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* Copyright (c) 2008-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 CREFPPDIALOG_H -#define CREFPPDIALOG_H - -// INCLUDES -#include -// CLASS DECLARATION - -/** - The CRefPPDialog class - This is a subclass derived from CEikDialog, it is used by notifier to display - the message of Errors from MS mount manager. - */ -class CRefPPDialog : public CEikDialog - { -public: - - ~CRefPPDialog(); - static CRefPPDialog* NewL(TBool* aDlgFlag); - static CRefPPDialog* NewLC(TBool* aDlgFlag); - -private: - - CRefPPDialog(TBool* aDlgFlag); - void ConstructL(); -protected: - virtual TBool OkToExitL(TInt aButtonId); -private: - TBool* iDlgFlagInOwner; - - }; // class CRefPPDialog - -#endif // CREFPPDIALOG_H diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppnotifier.h --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppnotifier.h Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* -* Copyright (c) 2008-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 REFPPNOTIFIER_H -#define REFPPNOTIFIER_H - -#include -#include -#include "refppdialog.h" - -/** - The CMsmmRefPolicyPluginNotifier class - This is a subclass derived from MEikSrvNotifierBase2, it is used as a ECOM - plug-in of notify service to provide the function of showing a dialog when - error occured in MS mount manager. - */ -NONSHARABLE_CLASS (CMsmmRefPolicyPluginNotifier) : public MEikSrvNotifierBase2 - { -public: - ~CMsmmRefPolicyPluginNotifier(); - static CMsmmRefPolicyPluginNotifier* NewL(); - static CMsmmRefPolicyPluginNotifier* NewLC(); - -public: - - // from MEikSrvNotifierBase2 - void Release(); - TNotifierInfo RegisterL(); - TNotifierInfo Info() const; - TPtrC8 StartL(const TDesC8& aBuffer); - void StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage); - void Cancel(); - TPtrC8 UpdateL(const TDesC8& aBuffer); - -private: - CMsmmRefPolicyPluginNotifier(); - void ConstructL(); - -private: - TNotifierInfo iInfo; - RMessagePtr2 iMessage; - CCoeEnv* iCoeEnv; - TInt iOffset; - TBool iDialogIsVisible; - CRefPPDialog* iDialogPtr; - }; - -#endif /*REFPPNOTIFIER_H*/ diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppnotifier.hrh --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/inc/refppnotifier.hrh Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2008-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 REFPPNOTIFIER_HRH -#define REFPPNOTIFIER_HRH - -// Implementation UID for reference notifier of Policy plug-in -#define KUidMsmmReferenceNotifierImp 0x10285DDE - -enum -{ - EReferencePPNotifierButton, //ID of button on dialog - EReferencePPNotifierMsg //ID of the label on dialog -}; - -#endif /*REFPPNOTIFIER_HRH*/ diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/dialog.rss --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/dialog.rss Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* Copyright (c) 2008-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: -* Reference policy plugin notifier implementation resource file -* -*/ - -/** - @file - @internalComponent -*/ - -#include -#include -#include -#include "refppnotifier.hrh" -NAME REFN - -RESOURCE RSS_SIGNATURE { } - -RESOURCE TBUF16 { buf=""; } - -RESOURCE DLG_BUTTONS r_dialog_buttons -{ -buttons = - { - DLG_BUTTON - { - id = EReferencePPNotifierButton; - button = CMBUT {txt = "OK";}; - hotkey='1'; - } - }; -} - -RESOURCE DIALOG r_notifier_dialog - { - title = "MSMM message"; - buttons = r_dialog_buttons; - items = - { - DLG_LINE - { - type = EEikCtLabel; - id = EReferencePPNotifierMsg; - control = LABEL - { - standard_font = EEikLabelFontAnnotation; - txt = "NULL"; - }; - } - }; - } diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppdialog.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppdialog.cpp Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -/* -* Copyright (c) 2008-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 "refppdialog.h" -/** - Constructor - */ -CRefPPDialog::CRefPPDialog(TBool* aDlgFlag):iDlgFlagInOwner(aDlgFlag) - { - } -/** - Destructor - */ -CRefPPDialog::~CRefPPDialog() - { - } -/** - This is a static method used by refppnotifier to initialize a CRefDialog object. - - @param aDlgFlag The flag in the owner of this dialog. This flag is used - to indicate if the dialog has been closed by the user - by click the button on the dialog. - - @return A pointer to the newly initialized object. - */ -CRefPPDialog* CRefPPDialog::NewLC(TBool* aDlgFlag) - { - CRefPPDialog* self = new (ELeave)CRefPPDialog(aDlgFlag); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } -/** - This is a static method used by refppnotifier to initialize a CRefDialog object. - - @param aDlgFlag The flag in the owner of this dialog. This flag is used - to indicate if the dialog has been closed by the user - by click the button on the dialog. - - @return A pointer to the newly initialized object. - */ -CRefPPDialog* CRefPPDialog::NewL(TBool* aDlgFlag) - { - CRefPPDialog* self=CRefPPDialog::NewLC(aDlgFlag); - CleanupStack::Pop(self); - return self; - } -/** - Method for the second phase construction. - */ -void CRefPPDialog::ConstructL() - { - } -/** - Get called when the dialog is closed by user closing the dialog. Must return ETrue to - allow the dialog to close. - - @param aButtonId the button pressed when OkToExitL() is called. - - @return TBool ETrue to let the dialog close. - EFalse to keep the dialog on screen. - - */ -TBool CRefPPDialog::OkToExitL(TInt /*aButtonId*/) - { - *iDlgFlagInOwner = EFalse; - return ETrue; - } diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppnotifier.cpp --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppnotifier.cpp Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -/* -* Copyright (c) 2008-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 "refppnotifier.h" -#include -#include "refppnotifier.hrh" -#include -#include -#include -#include -#include -const TUid KMsmmRefNotifierChannel = {0x10009D48}; //0x10208C14 -/** - Initialize and put the notifiers in this DLL into the array and return it. - - @return CArrayPtr* The array contents the notifiers in this dll. - */ -CArrayPtr* NotifierArray() - { - CArrayPtrFlat* subjects=NULL; - TRAPD(err, subjects = new(ELeave) CArrayPtrFlat(1)); - if( err == KErrNone ) - { - TRAP(err, subjects->AppendL(CMsmmRefPolicyPluginNotifier::NewL())); - return(subjects); - } - else - { - return NULL; - } - } - -//Adding ECOM SUPPORT -/** - Build up the table contains the implementation ID and the notifier array. - */ -const TImplementationProxy ImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY(KUidMsmmReferenceNotifierImp, NotifierArray) - }; - -/** - Initialize and put the notifiers in this DLL into the array and return it. - @param aTableCount a TInt reference, when return it contains the entry number in the - array of ImplementationTable[]. - @return CArrayPtr* The table of implementations. - */ -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) - { - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - return ImplementationTable; - } - -// Member functions -/** - Static method to initialize a CMsmmRefPolicyPluginNotifier object. This method may leave. - - @return CMsmmRefPolicyPluginNotifier* a pointer to an object of CMsmmRefPolicyPluginNotifier - */ -CMsmmRefPolicyPluginNotifier* CMsmmRefPolicyPluginNotifier::NewL() - { - CMsmmRefPolicyPluginNotifier* self = CMsmmRefPolicyPluginNotifier::NewLC(); - CleanupStack::Pop(self); - return self; - } -/** - Static method to initialize a CMsmmRefPolicyPluginNotifier object. This method may leave. - - @return CMsmmRefPolicyPluginNotifier* a pointer to an object of CMsmmRefPolicyPluginNotifier - */ -CMsmmRefPolicyPluginNotifier* CMsmmRefPolicyPluginNotifier::NewLC() - { - CMsmmRefPolicyPluginNotifier* self = new (ELeave) CMsmmRefPolicyPluginNotifier(); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } -/** - Constructor. - */ -CMsmmRefPolicyPluginNotifier::CMsmmRefPolicyPluginNotifier():iDialogIsVisible(EFalse),iDialogPtr(0) - { - iCoeEnv = CCoeEnv::Static(); - } - -/** - Destructor. - */ -CMsmmRefPolicyPluginNotifier::~CMsmmRefPolicyPluginNotifier() - { - iCoeEnv->DeleteResourceFile(iOffset); - if (iDialogIsVisible) - { - delete iDialogPtr; - } - } - -/** - This method is called when client of this notifier disconnect from notify server. - */ -void CMsmmRefPolicyPluginNotifier::Release() - { - delete this; - } - -/** - This method is called when notify server starts and get all the plug-ins of notifiers. - By calling this method notify server knows the ID, channel and priority of this notifier. - */ -MEikSrvNotifierBase2::TNotifierInfo CMsmmRefPolicyPluginNotifier::RegisterL() - { - iInfo.iUid = TUid::Uid(KUidMountPolicyNotifier); - iInfo.iChannel = KMsmmRefNotifierChannel; - iInfo.iPriority = ENotifierPriorityLow; - return iInfo; - } - -/** - This method just returns the same TNotifierInfo as it is in RegisterL(). - */ -MEikSrvNotifierBase2::TNotifierInfo CMsmmRefPolicyPluginNotifier::Info() const - { - return iInfo; - } - -/** - Starts the notifier. - - This is called as a result of a client-side call to RNotifier::StartNotifier(), - which the client uses to start a notifier from which it does not expect a response. - - The function is synchronous, but it should be implemented so that it completes as - soon as possible, allowing the notifier framework to enforce its priority mechanism. - - It is not possible to to wait for a notifier to complete before returning from this - function unless the notifier is likely to finish implementing its functionality immediately. - - @param aBuffer the message sent from client. - - @return TPtrC8 Defines an empty or null literal descriptor - for use with 8-bit descriptors - */ -TPtrC8 CMsmmRefPolicyPluginNotifier::StartL(const TDesC8& /*aBuffer*/) - { - return KNullDesC8(); - } -/** - Starts the notifier. - - This is called as a result of a client-side call to the asynchronous function - RNotifier::StartNotifierAndGetResponse(). This means that the client is waiting, - asynchronously, for the notifier to tell the client that it has finished its work. - - It is important to return from this function as soon as possible, and derived - classes may find it useful to take a copy of the reply-slot number and the - RMessage object. - - The implementation of a derived class must make sure that Complete() is called - on the RMessage object when the notifier is deactivated. - - This function may be called multiple times if more than one client starts - the notifier. - - @param aBuffer Data that can be passed from the client-side. The format - and meaning of any data is implementation dependent. - - aReplySlot Identifies which message argument to use for the reply. - This message argument will refer to a modifiable descriptor, - a TDes8 type, into which data can be returned. The format and - meaning of any returned data is implementation dependent. - - aMessage Encapsulates a client request. -*/ -void CMsmmRefPolicyPluginNotifier::StartL(const TDesC8& aBuffer, - TInt /*aReplySlot*/, - const RMessagePtr2& aMessage) - { - // extract the notifier request parameters - iMessage = aMessage; - - const TUint8* Buffer= aBuffer.Ptr(); - const THostMsErrData* Data = reinterpret_cast(Buffer); - - HBufC16* HeapBuf = HBufC16::NewL(aBuffer.Length()); - CleanupStack::PushL(HeapBuf); - _LIT(KFormat1,"MSMMErr:%d SymbianErr:%d %S %S on Drive %c"); - TPtr16 PtrBuf = HeapBuf->Des(); - - PtrBuf.Format(KFormat1,Data->iError,Data->iE32Error,&Data->iProductString,&Data->iManufacturerString,Data->iDriveName); - - if (iDialogIsVisible && iDialogPtr) - { - delete iDialogPtr; - } - iDialogPtr = CRefPPDialog::NewL(&iDialogIsVisible); - iDialogPtr->PrepareLC(R_NOTIFIER_DIALOG); - CEikLabel *pLabel = static_cast (iDialogPtr->ControlOrNull(EReferencePPNotifierMsg)); - pLabel->SetTextL(PtrBuf); - - iDialogPtr->RunLD(); - iDialogIsVisible = ETrue; - - CleanupStack::Pop(HeapBuf); - - // complete - iMessage.Complete(KErrNone); - } - -/** - Cancels an active notifier. - - This is called as a result of a client-side call to RNotifier::CancelNotifier(). - - An implementation should free any relevant resources and complete any outstanding - messages, if relevant. - */ -void CMsmmRefPolicyPluginNotifier::Cancel() - { - if (iDialogIsVisible && iDialogPtr) - { - delete iDialogPtr; - iDialogPtr = NULL; - } - } - -/** - Updates a currently active notifier with new data.This is called as a result - of a client-side call to RNotifier::UpdateNotifier(). - - @param aBuffer Data that can be passed from the client-side. The format - and meaning of any data is implementation dependent. - - @return KNullDesC8() Defines an empty or null literal descriptor for use - with 8-bit descriptors. - */ -TPtrC8 CMsmmRefPolicyPluginNotifier::UpdateL(const TDesC8& /*aBuffer*/) - { - return KNullDesC8(); - } -/** - Second phase construction. - */ -void CMsmmRefPolicyPluginNotifier::ConstructL() - { - _LIT(KResFileName,"z:\\resource\\apps\\dialog.rsc"); - iOffset=iCoeEnv->AddResourceFileL(KResFileName); - } - -// End of file diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppnotifier.rss --- a/usbmgmt/usbmgr/host/functiondrivers/ms/msmm/refppnotifier/src/refppnotifier.rss Fri Aug 06 11:24:47 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* Copyright (c) 2008-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: -* Reference policy plugin notifier implementation resource file -* -*/ - -/** - @file - @internalComponent -*/ - -#include -#include -#include "refppnotifier.hrh" -#include "uikon.hrh" - -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = 0x10285ddd; - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = KUikonUidPluginInterfaceNotifiers; - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = KUidMsmmReferenceNotifierImp; - version_no = 1; - display_name = "Reference notifier"; - default_data = "Referencenotifier"; - opaque_data = ""; - } - }; - } - }; - } diff -r 2fcc881ba6f5 -r c4733e7476f1 usbmgmt/usbmgrautotest/TestExecute/USB/ncm_unit_test/ncmcctest/dummy_ncminternalsrv/group/dummy_ncminternalsrv.mmp --- a/usbmgmt/usbmgrautotest/TestExecute/USB/ncm_unit_test/ncmcctest/dummy_ncminternalsrv/group/dummy_ncminternalsrv.mmp Fri Aug 06 11:24:47 2010 +0800 +++ b/usbmgmt/usbmgrautotest/TestExecute/USB/ncm_unit_test/ncmcctest/dummy_ncminternalsrv/group/dummy_ncminternalsrv.mmp Wed Aug 25 15:43:50 2010 +0800 @@ -33,7 +33,6 @@ SOURCEPATH ../src LIBRARY euser.lib -LIBRARY usblogger.lib SOURCE dummy_ncminternalsrv.cpp