diff -r 1a297fa72b1e -r f6533aee8b2b usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp --- a/usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp Wed Apr 14 17:02:32 2010 +0300 +++ b/usbclasses/usbphoneasmodem/classcontroller/src/usbmscfileclasscontroller.cpp Tue Apr 27 17:41:29 2010 +0300 @@ -18,11 +18,12 @@ #include #include #include +#include #include -#include #include #include "usbmscfileclasscontroller.h" #include "usbmscfile.h" +#include "usbmscfileclasscontroller_crkeys.h" #include "debug.h" // Panic category @@ -30,7 +31,6 @@ _LIT( KMsCcPanicCategory, "UsbMscFileCc" ); #endif -_LIT( KResourceFileName, "usbmscfileresource.rsc" ); _LIT( KUsbMsResource, "\\private\\101fe1db\\usbms.rsc" ); /** @@ -397,38 +397,32 @@ LEAVE_IF_ERROR( mscFile.Connect() ); CleanupClosePushL( mscFile ); - LEAVE_IF_ERROR( fs.Connect() ); - CleanupClosePushL( fs ); + CRepository* repository = CRepository::NewLC(KCRUidUsbPhoneAsModemMscFileClassController); + + RArray lunKeys; + CleanupClosePushL(lunKeys); + + repository->FindL(KCRMscFileLogicalUnitNumberColumn, KCRMscFileColumnMask, lunKeys); - TFileName fileName; - const TDriveNumber KStoreDrive = EDriveZ; - TDriveUnit driveUnit( KStoreDrive ); - TDriveName drive = driveUnit.Name(); - fileName.Insert( 0, drive ); - - fileName += KDC_APP_RESOURCE_DIR; // From data_caging_path_literals.hrh - fileName += KResourceFileName; - - RResourceFile resourceFile; - CleanupClosePushL( resourceFile ); - resourceFile.OpenL( fs, fileName ); - resourceFile.ConfirmSignatureL(); + + TInt count = lunKeys.Count(); + for (TInt i=0; iGet(lunKey, lun)); + + TFileName fullName; + LEAVE_IF_ERROR(repository->Get(fullNameKey, fullName)); + + TRACE_INFO( (_L("lun=%d, fullName=%S"), lun, &fullName) ); + + TInt protocol = 0; // It is not used. Bulk Transport(0x50), SCSI transparent command Set(0x06), PDT CD/DVD device(0x05) is supported only. + + LEAVE_IF_ERROR(mscFile.SetupLogicalUnit( fullName, protocol, lun )); + } + CleanupStack::PopAndDestroy( 3 ); // mscFile, repository, lunKeys }