equal
deleted
inserted
replaced
46 // --------------------------------------------------------------------------- |
46 // --------------------------------------------------------------------------- |
47 // C++ Constructor |
47 // C++ Constructor |
48 // --------------------------------------------------------------------------- |
48 // --------------------------------------------------------------------------- |
49 // |
49 // |
50 CMPXHarvesterDatabaseManager::CMPXHarvesterDatabaseManager( RFs& aFs ): |
50 CMPXHarvesterDatabaseManager::CMPXHarvesterDatabaseManager( RFs& aFs ): |
51 iFs( aFs ) |
51 iFs( aFs ), |
|
52 iEMMC( EFalse ) |
52 #ifdef __RAMDISK_PERF_ENABLE |
53 #ifdef __RAMDISK_PERF_ENABLE |
53 ,iRAMDiskPerfEnabled(EFalse), |
54 ,iRAMDiskPerfEnabled(EFalse), |
54 iMaximumAllowedRAMDiskSpaceToCopy(0), |
55 iMaximumAllowedRAMDiskSpaceToCopy(0), |
55 //iUpdateCount(0), |
56 //iUpdateCount(0), |
56 iMtpMode(EFalse) |
57 iMtpMode(EFalse) |
68 void CMPXHarvesterDatabaseManager::ConstructL() |
69 void CMPXHarvesterDatabaseManager::ConstructL() |
69 { |
70 { |
70 MPX_FUNC("CMPXHarvesterDatabaseManager::ConstructL"); |
71 MPX_FUNC("CMPXHarvesterDatabaseManager::ConstructL"); |
71 User::LeaveIfError( iDBSession.Connect() ); |
72 User::LeaveIfError( iDBSession.Connect() ); |
72 |
73 |
|
74 //Find out if the system has an internal drive (eMMC) |
|
75 TDriveInfo driveInfo; |
|
76 if( iFs.Drive( driveInfo, EDriveE ) == KErrNone ) |
|
77 { |
|
78 if ( driveInfo.iDriveAtt & KDriveAttInternal ) |
|
79 iEMMC = ETrue; |
|
80 } |
73 #ifdef __RAMDISK_PERF_ENABLE |
81 #ifdef __RAMDISK_PERF_ENABLE |
74 TInt temp; |
82 TInt temp; |
75 CRepository* repository = CRepository::NewLC( KCRUIDMpxHarvesterFeatures ); |
83 CRepository* repository = CRepository::NewLC( KCRUIDMpxHarvesterFeatures ); |
76 MPX_DEBUG1("CMPXHarvesterDatabaseManager::ConstructL got repository"); |
84 MPX_DEBUG1("CMPXHarvesterDatabaseManager::ConstructL got repository"); |
77 User::LeaveIfError( repository->Get( KMpxHarvesterEnableRamDisk, temp )); |
85 User::LeaveIfError( repository->Get( KMpxHarvesterEnableRamDisk, temp )); |
160 TInt index = FindDatabaseIndex ( (TDriveNumber) driveNum ); |
168 TInt index = FindDatabaseIndex ( (TDriveNumber) driveNum ); |
161 if ( index == KErrNotFound ) |
169 if ( index == KErrNotFound ) |
162 { |
170 { |
163 MPX_DEBUG1("CMPXHarvesterDatabaseManager::OpenAllDatabasesL: re-creating database"); |
171 MPX_DEBUG1("CMPXHarvesterDatabaseManager::OpenAllDatabasesL: re-creating database"); |
164 CMPXHarvesterDB* dB = CMPXHarvesterDB::NewL( |
172 CMPXHarvesterDB* dB = CMPXHarvesterDB::NewL( |
165 static_cast<TDriveNumber>(driveNum), iFs ); |
173 static_cast<TDriveNumber>(driveNum), iFs, iEMMC ); |
166 CleanupStack::PushL( dB ); |
174 CleanupStack::PushL( dB ); |
167 TRAPD(openError, rtn |= dB->OpenL() ); //lint !e665 |
175 TRAPD(openError, rtn |= dB->OpenL() ); //lint !e665 |
168 if(openError == KErrNone) |
176 if(openError == KErrNone) |
169 { |
177 { |
170 iDatabases.AppendL( dB ); |
178 iDatabases.AppendL( dB ); |
210 CMPXHarvesterDB * db = NULL; |
218 CMPXHarvesterDB * db = NULL; |
211 TInt index = FindDatabaseIndex ( aDrive ); |
219 TInt index = FindDatabaseIndex ( aDrive ); |
212 if ( index == KErrNotFound ) |
220 if ( index == KErrNotFound ) |
213 { |
221 { |
214 index = iDatabases.Count(); |
222 index = iDatabases.Count(); |
215 db = CMPXHarvesterDB::NewL( aDrive, iFs ); |
223 db = CMPXHarvesterDB::NewL( aDrive, iFs, iEMMC ); |
216 CleanupStack::PushL( db ); |
224 CleanupStack::PushL( db ); |
217 iDatabases.AppendL( db ); |
225 iDatabases.AppendL( db ); |
218 CleanupStack::Pop( db ); |
226 CleanupStack::Pop( db ); |
219 } |
227 } |
220 else |
228 else |
998 |
1006 |
999 if ( aForRamDrive ) |
1007 if ( aForRamDrive ) |
1000 { |
1008 { |
1001 name.Append(iRAMFolder); |
1009 name.Append(iRAMFolder); |
1002 name.Append(aDriveUnit.Name()[0]); |
1010 name.Append(aDriveUnit.Name()[0]); |
1003 name.Append(KHarvesterDBName); |
1011 |
|
1012 //Use different name for Dbs if the system has an internal drive vs. MMC-only. |
|
1013 //Since hard-coded drive letters in the Thumbnail URIs |
|
1014 //So Dbs are not interchangeable between an internal drive system and MMC-only system. |
|
1015 if ( iEMMC ) |
|
1016 name.Append( KHarvesterDBNameEMMC ); |
|
1017 else |
|
1018 name.Append( KHarvesterDBName ); |
1004 } |
1019 } |
1005 else |
1020 else |
1006 { |
1021 { |
1007 name.Append(aDriveUnit.Name()); |
1022 name.Append(aDriveUnit.Name()); |
1008 name.Append(KHarvesterDBPath); |
1023 name.Append(KHarvesterDBPath); |
1009 name.Append(KHarvesterDBName); |
1024 if ( iEMMC ) |
|
1025 name.Append( KHarvesterDBNameEMMC ); |
|
1026 else |
|
1027 name.Append( KHarvesterDBName ); |
1010 } |
1028 } |
1011 |
1029 |
1012 MPX_DEBUG2("CMPXHarvesterDatabaseManager::GenerateHarvesterDbName name = %S", &name ); |
1030 MPX_DEBUG2("CMPXHarvesterDatabaseManager::GenerateHarvesterDbName name = %S", &name ); |
1013 return name; |
1031 return name; |
1014 } |
1032 } |