--- a/clfwrapper/ClientSrc/CCLFDbItemProvider.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CCLFDbItemProvider.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -93,8 +93,6 @@
//
void CCLFDbItemProvider::DoCancel()
{
- MG_DEBUG1( dr1, "[CLF]\t CCLFDbItemProvider::DoCancel" );
-
if ( iObjectQuery )
{
iObjectQuery->Cancel();
--- a/clfwrapper/ClientSrc/CCLFDefaultOperation.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CCLFDefaultOperation.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -173,8 +173,6 @@
const TArray<TCLFFieldId> aSortFields,
TCLFItemDataType aSortingDataType )
{
- MG_DEBUG1( MSI1, "MakeSortingItemsL start" );
-
const TInt sortingFieldsCount( aSortFields.Count() );
const TInt count( aItemArray.Count() );
for( TInt i = 0 ; i < count ; ++i )
@@ -218,8 +216,6 @@
aUndefinedItemArray.AppendL( seItem );
}
}
-
- MG_DEBUG1( MSI2, "MakeSortingItemsL end" );
}
// -----------------------------------------------------------------------------
@@ -390,8 +386,6 @@
void CCLFDefaultOperation::GroupItemsL( const TArray<MCLFItem*>& aSourceList,
RPointerArray<MCLFItem>& aGroupedList )
{
- MG_DEBUG1( GI1, "CCLFDefaultOperation::GroupItemsL start" );
-
iGroupedItemList.ResetAndDestroy();
switch ( iGrouping )
{
@@ -407,8 +401,6 @@
break;
}
}
-
- MG_DEBUG1( GI2, "CCLFDefaultOperation::GroupItemsL end" );
}
// -----------------------------------------------------------------------------
@@ -484,8 +476,6 @@
const TArray<MCLFItem*>& aSourceList,
RPointerArray<MCLFItem>& aGroupedList )
{
- MG_DEBUG1( DMAG1, "CCLFDefaultOperation::DoMusicAlbumGroupingL start" );
-
CDesCArray* tempAlbumNameArray =
new (ELeave) CDesCArraySeg( KCLFGroupedItemArrayGranularity );
CleanupStack::PushL( tempAlbumNameArray );
@@ -498,10 +488,10 @@
if( item->GetField( ECLFFieldIdAlbum, albumName ) == KErrNone )
{
TInt pos( 0 );
- if( tempAlbumNameArray->Find( albumName, pos ) )
+ if( tempAlbumNameArray->FindIsq( albumName, pos ) )
{
// not found
- tempAlbumNameArray->AppendL( albumName );
+ tempAlbumNameArray->InsertIsqL( albumName );
// make new item
MCLFModifiableItem* newItem =
@@ -522,8 +512,6 @@
}
}
CleanupStack::PopAndDestroy( tempAlbumNameArray );
-
- MG_DEBUG1( DMAG2, "CCLFDefaultOperation::DoMusicAlbumGroupingL end" );
}
// End of File
--- a/clfwrapper/ClientSrc/CCLFItemImpl.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CCLFItemImpl.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -209,7 +209,7 @@
TInt32 error = KErrNotFound;
aValue = ECLFMediaTypeUnknown; // Default to this.
- for ( TInt i = 0; i < sizeof( clfmediatypes ) / sizeof( TInt ); ++i )
+ for ( TUint i = 0; i < sizeof( clfmediatypes ) / sizeof( TInt ); ++i )
{
if ( name.Compare( *mdemediatypes[ i ] ) == 0 )
{
@@ -258,7 +258,7 @@
{
// Get the actual data
CMdEProperty* prop = NULL;
- const TInt index = iMdEObject.Property( *propertyDef, prop );
+ iMdEObject.Property( *propertyDef, prop );
if ( prop )
{
const TInt num = sizeof ( clfwrappermusictypes ) / sizeof( TDesC* );
--- a/clfwrapper/ClientSrc/CCLFItemListModelImpl.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CCLFItemListModelImpl.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -443,17 +443,11 @@
void CCLFItemListModelImpl::CopyArrayL( const TArray<MCLFItem*>& aSource,
RPointerArray<MCLFItem>& aDest )
{
- MG_DEBUG3( AI1, "CCLFItemListModelImpl::CopyArrayL start, aSource: 0x%08x, aDest: 0x%08x",
- &aSource, &aDest );
-
const TInt count( aSource.Count() );
for( TInt i = 0 ; i < count ; ++i )
{
- MG_DEBUG3( AI2, "aSource[ %d ]: 0x%08x", i, aSource[ i ] );
aDest.AppendL( aSource[i] );
}
-
- MG_DEBUG1( AI3, "CCLFItemListModelImpl::CopyArrayL end" );
}
// -----------------------------------------------------------------------------
--- a/clfwrapper/ClientSrc/CCLFServerProxy.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CCLFServerProxy.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -842,9 +842,8 @@
{
CUpdateItemsHandler* handler = CUpdateIDsHandler::NewL( aItemIDArray );
- CleanupStack::PushL( handler );
+ // Ownership tranferred
StartHandlingL( handler );
- CleanupStack::Pop( handler );
return KErrNone;
}
@@ -879,9 +878,8 @@
return KErrNone;
}
- CleanupStack::PushL( handler );
+ // Ownership tranferred
StartHandlingL( handler );
- CleanupStack::Pop( handler );
}
CleanupStack::PopAndDestroy( uriArray );
@@ -896,9 +894,8 @@
{
CUpdateItemsHandler* handler = CUpdateFoldersHandler::NewL( iMdESession,
*iUriArray, this, this, iFs, iHC, iExtensionArray );
- CleanupStack::PushL( handler );
+ // Ownership tranferred
StartHandlingL( handler );
- CleanupStack::Pop( handler );
return KErrNone;
}
@@ -1002,6 +999,7 @@
{
if ( aHandler )
{
+ CleanupStack::PushL( aHandler );
// Notify pending active objects about the event.
NotifyUpdateEvent( ECLFProcessStartEvent );
@@ -1012,16 +1010,17 @@
{
// Remove aHandler, because it is in clean up stack.
iUpdateItemsHandlerArray.Remove( iUpdateItemsHandlerArray.Count() - 1 );
+ CleanupStack::PopAndDestroy( aHandler );
User::LeaveIfError( err );
}
if ( aHandler->AllDone() )
{
- delete aHandler;
- aHandler = NULL;
+ CleanupStack::PopAndDestroy( aHandler );
iUpdateItemsHandlerArray.Remove( iUpdateItemsHandlerArray.Count() - 1 );
}
else
{
+ CleanupStack::Pop( aHandler );
aHandler->StartScheduler();
}
}
--- a/clfwrapper/ClientSrc/CLFUtils.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/ClientSrc/CLFUtils.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -30,7 +30,6 @@
//
const TDesC& CLFUtils::MapClfType( const TInt aType )
{
- MG_DEBUG2( MCT, "[CLF]\t CCLFQueryAdapter::MapClfType %d", aType );
const TDesC* ret = &KNullDesC;
switch ( aType )
@@ -67,7 +66,6 @@
case ECLFMediaTypePresentations:
default:
{
- MG_DEBUG1( MCT3, "[CLF]\t MapClfType reached default, returning KBaseObject" );
ret = &MdeConstants::Object::KBaseObject;
break;
}
--- a/clfwrapper/group/mediacollectionmanager.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/clfwrapper/group/mediacollectionmanager.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -44,6 +44,7 @@
BYTEPAIRCOMPRESSTARGET
PAGED
+OPTION ARMCC -O3 -OSpace
// End of File
--- a/contextengine/plugins/contextplugininterface/group/contextplugininterface.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/contextengine/plugins/contextplugininterface/group/contextplugininterface.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -46,4 +46,5 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O3 -OSpace
--- a/contextengine/plugins/locationplugin/src/locationcontextplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/contextengine/plugins/locationplugin/src/locationcontextplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -149,6 +149,11 @@
ret = iManipulator.LocationSnapshot( aHD.MdeObject().Id() );
+ if( ret != KErrNone )
+ {
+ ret = KErrCompletion;
+ }
+
aHD.SetErrorCode( ret );
aObserver.PluginSnapshotStatus( &aHD );
}
--- a/group/bld.inf Fri Feb 19 23:14:48 2010 +0200
+++ b/group/bld.inf Fri Mar 12 15:44:28 2010 +0200
@@ -47,3 +47,4 @@
PRJ_TESTEXPORTS
../rom/mds_testers.iby CORE_MW_LAYER_IBY_EXPORT_PATH(mds_testers.iby)
+
--- a/harvester/blacklistclient/group/blacklistclient.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/blacklistclient/group/blacklistclient.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -51,4 +51,5 @@
BYTEPAIRCOMPRESSTARGET
PAGED
+OPTION ARMCC -O2 -OTime
--- a/harvester/blacklistserver/group/blacklistserver.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/blacklistserver/group/blacklistserver.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -49,5 +49,6 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O2 -OTime
EPOCPROCESSPRIORITY background
--- a/harvester/client/inc/harvesterrequestactive.h Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/client/inc/harvesterrequestactive.h Fri Mar 12 15:44:28 2010 +0200
@@ -60,7 +60,7 @@
static CHarvesterRequestActive* NewL(
RHarvesterClient& aClient, MHarvestObserver* aObserver,
TInt aService, const TDesC& aUri,
- HBufC8* aAlbumIds, TBool& aAddLocation,
+ HBufC8* aAlbumIds, TBool aAddLocation,
CHarvesterRequestQueue* aQueue );
/**
@@ -104,7 +104,7 @@
*/
CHarvesterRequestActive( RHarvesterClient& aClient,
MHarvestObserver* aObserver, TInt aService, const TDesC& aUri,
- HBufC8* aAlbumIds, TBool& aAddLocation,
+ HBufC8* aAlbumIds, TBool aAddLocation,
CHarvesterRequestQueue* aQueue );
/**
--- a/harvester/client/src/harvesterrequestactive.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/client/src/harvesterrequestactive.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -50,7 +50,7 @@
CHarvesterRequestActive* CHarvesterRequestActive::NewL(
RHarvesterClient& aClient, MHarvestObserver* aObserver,
TInt aService, const TDesC& aUri,
- HBufC8* aAlbumIds, TBool& aAddLocation,
+ HBufC8* aAlbumIds, TBool aAddLocation,
CHarvesterRequestQueue* aQueue )
{
CHarvesterRequestActive* self = new( ELeave )CHarvesterRequestActive( aClient, aObserver,
@@ -65,7 +65,7 @@
//
CHarvesterRequestActive::CHarvesterRequestActive( RHarvesterClient& aClient,
MHarvestObserver* aObserver, TInt aService, const TDesC& aUri,
- HBufC8* aAlbumIds, TBool& aAddLocation, CHarvesterRequestQueue* aQueue )
+ HBufC8* aAlbumIds, TBool aAddLocation, CHarvesterRequestQueue* aQueue )
: CActive( CActive::EPriorityStandard ), iClient( aClient ), iObserver( aObserver ),
iService( aService ), iUri( aUri ), iAlbumIds( aAlbumIds ), iAddLocation( aAddLocation ),
iRequestQueue( aQueue ), iLocation( EFalse ), iCancelled( EFalse )
--- a/harvester/common/eabi/harvestercommonarm.def Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/common/eabi/harvestercommonarm.def Fri Mar 12 15:44:28 2010 +0200
@@ -82,4 +82,7 @@
_ZN22CHarvesterEventManager23UnregisterEventObserverERK9RMessage2 @ 81 NONAME
_ZN17CMdeObjectWrapper21HandleObjectPropertyLER10CMdEObjectR15CMdEPropertyDefPvi @ 82 NONAME
_ZN23CHarvesterPluginFactory26SendHarvestingStatusEventLEi @ 83 NONAME
+ _ZN18CHarvesterExifUtilD0Ev @ 84 NONAME
+ _ZN18CHarvesterExifUtilD1Ev @ 85 NONAME
+ _ZN18CHarvesterExifUtilD2Ev @ 86 NONAME
--- a/harvester/common/group/harvesterplugininterface.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/common/group/harvesterplugininterface.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -53,4 +53,5 @@
BYTEPAIRCOMPRESSTARGET
PAGED
+OPTION ARMCC -O3 -OSpace
--- a/harvester/common/src/harvesterexifutil.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/common/src/harvesterexifutil.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -100,7 +100,7 @@
}
-CHarvesterExifUtil::~CHarvesterExifUtil()
+EXPORT_C CHarvesterExifUtil::~CHarvesterExifUtil()
{
}
--- a/harvester/composerplugins/composerplugininterface/group/composerplugininterface.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/composerplugins/composerplugininterface/group/composerplugininterface.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -46,4 +46,5 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O3 -OSpace
--- a/harvester/composerplugins/imagecomposer/inc/imagepresentobserver.h Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/composerplugins/imagecomposer/inc/imagepresentobserver.h Fri Mar 12 15:44:28 2010 +0200
@@ -125,8 +125,6 @@
*/
CComposerImagePlugin* iComposer;
- TGetPendingPgckWrapper* iPendingPckWrapper;
-
RArray<TItemId> iPresentObjectIds;
RArray<TItemId> iPendingObjectIds;
RArray<TItemId> iComposeObjectIds;
--- a/harvester/composerplugins/imagecomposer/src/imagepresentobserver.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/composerplugins/imagecomposer/src/imagepresentobserver.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -34,7 +34,6 @@
iSession( NULL ),
iMdEHarvesterSession( NULL ),
iComposer( NULL ),
- iPendingPckWrapper( NULL ),
iNextRequest( ERequestIdle ),
iPendingCount( 0 ),
iPendingBuffer( NULL ),
--- a/harvester/composerplugins/imagecomposer/src/locationrelationobserver.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/composerplugins/imagecomposer/src/locationrelationobserver.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -42,6 +42,12 @@
{
TRAP_IGNORE( iSession->RemoveRelationObserverL( *this ) );
}
+
+ if( iQuery )
+ {
+ iQuery->Cancel();
+ delete iQuery;
+ }
}
CLocationRelationObserver* CLocationRelationObserver::NewL( CMdESession* aSession, CComposerImagePlugin* aComposer )
--- a/harvester/harvesterplugins/AudioPlugin/src/harvesteraudiopluginutils.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/harvesterplugins/AudioPlugin/src/harvesteraudiopluginutils.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -77,6 +77,7 @@
{
delete iMetaDataUtility;
+ iMimeTypeMappings.Close();
iWantedMetadataFields.Close();
}
--- a/harvester/harvesterplugins/ImagePlugin/src/harvesterimageplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/harvesterplugins/ImagePlugin/src/harvesterimageplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -192,6 +192,7 @@
delete iPropDefs;
+ iMimeTypeMappings.Close();
iFbs.Disconnect();
}
--- a/harvester/harvesterplugins/RTPPlugin/group/harvesterrtpplugin.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/harvesterplugins/RTPPlugin/group/harvesterrtpplugin.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -56,4 +56,5 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O2 -OTime
--- a/harvester/harvesterplugins/VideoPlugin/group/harvestervideoplugin.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/harvesterplugins/VideoPlugin/group/harvestervideoplugin.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -34,7 +34,6 @@
SYSTEMINCLUDE /epoc32/include/ecom
SYSTEMINCLUDE /epoc32/include/libc
SYSTEMINCLUDE /epoc32/include/connect
-SYSTEMINCLUDE /epoc32/include/3gplibrary
USERINCLUDE ../inc
USERINCLUDE ../../../common/inc
--- a/harvester/harvesterplugins/VideoPlugin/src/harvestervideoplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/harvesterplugins/VideoPlugin/src/harvestervideoplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -159,6 +159,7 @@
CHarvesterVideoPlugin::~CHarvesterVideoPlugin()
{
delete iPropDefs;
+ iMimeTypeMappings.Close();
WRITELOG("CHarvesterVideoPlugin::CHarvesterVideoPlugin()");
}
@@ -658,7 +659,10 @@
// Match MIME type for audio object with "audio" substring
else if( MdsUtils::Find( mime, KAudio() ) != KErrNotFound )
{
- break;
+ if( !aVHD.iVideoObject )
+ {
+ break;
+ }
}
}
}
@@ -668,6 +672,7 @@
aVHD.iMimeBuf = mime.Alloc();
}
+ helixMetadata->ResetL();
CleanupStack::PopAndDestroy( helixMetadata );
// don't destory mime type pointers just clean array
@@ -1055,6 +1060,7 @@
aType.Copy( KVideo );
}
+ helixMetadata->ResetL();
CleanupStack::PopAndDestroy( helixMetadata );
}
--- a/harvester/monitorplugins/fileplugin/src/FolderRenamer.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/fileplugin/src/FolderRenamer.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -112,6 +112,7 @@
CFolderRenamer::~CFolderRenamer()
{
Cancel();
+ iRenamedFolders.ResetAndDestroy();
}
void CFolderRenamer::ConstructL()
--- a/harvester/monitorplugins/fileplugin/src/fileeventhandlerao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/fileplugin/src/fileeventhandlerao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -108,6 +108,8 @@
delete iFolderRenamer;
delete iEventArray;
+
+ iQueue.ResetAndDestroy();
iUriArray.Close();
}
--- a/harvester/monitorplugins/fileplugin/src/filemonitorao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/fileplugin/src/filemonitorao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -157,6 +157,9 @@
}
Cancel();
+
+ delete iFileEventHandler;
+ iFileEventHandler = NULL;
// remove mds fileserver plugin
iEngine.Disable();
--- a/harvester/monitorplugins/mdsfileserverplugin/src/mdsfileserverplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/mdsfileserverplugin/src/mdsfileserverplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -784,6 +784,10 @@
{
iPaths.Append( fn );
}
+ else
+ {
+ err = KErrNoMemory;
+ }
}
else
{
@@ -872,6 +876,10 @@
{
iIgnorePaths.Append( fn ); // ownership is transferred
}
+ else
+ {
+ err = KErrNoMemory;
+ }
}
else
{
--- a/harvester/monitorplugins/mdsoomplugin/group/bld.inf Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/mdsoomplugin/group/bld.inf Fri Mar 12 15:44:28 2010 +0200
@@ -26,4 +26,5 @@
PRJ_TESTMMPFILES
-PRJ_TESTEXPORTS
\ No newline at end of file
+PRJ_TESTEXPORTS
+
--- a/harvester/monitorplugins/mdsoomplugin/group/mdsoomplugin.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/mdsoomplugin/group/mdsoomplugin.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -49,5 +49,6 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O2 -OTime
--- a/harvester/monitorplugins/messageplugin/group/messagemonitorplugin.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/messageplugin/group/messagemonitorplugin.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -59,4 +59,5 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O2 -OTime
--- a/harvester/monitorplugins/messageplugin/src/messagemonitorplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/messageplugin/src/messagemonitorplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -64,6 +64,7 @@
{
WRITELOG("ENTER ~CMessageMonitorPlugin");
delete iMsvSession;
+ delete iMessageScannerAO;
WRITELOG("END ~CMessageMonitorPlugin");
}
--- a/harvester/monitorplugins/mmcplugin/src/mmcmonitorplugin.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/mmcplugin/src/mmcmonitorplugin.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -122,6 +122,13 @@
if ( presentState && medias[i].iMediaId != hdMediaId )
{
// scan MMC if card was in phone
+
+ if( iMmcScanner )
+ {
+ iMmcScanner->Cancel();
+ delete iMmcScanner;
+ iMmcScanner = NULL;
+ }
TRAP_IGNORE( iMmcScanner = CMmcScannerAO::NewL( medias[i].iMediaId, iMdEClient, iObserver,
aHarvesterPluginFactory, CActive::EPriorityHigh, alreadyWaited ) );
alreadyWaited = ETrue;
--- a/harvester/monitorplugins/mmcplugin/src/mmcmounttaskao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/mmcplugin/src/mmcmounttaskao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -72,6 +72,8 @@
iFs.Close();
iMountDataQueue.ResetAndDestroy();
+ iEntryArray.ResetAndDestroy();
+ iHarvestEntryArray.ResetAndDestroy();
delete iMdeSession;
--- a/harvester/monitorplugins/monitorplugininterface/group/monitorplugininterface.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/monitorplugins/monitorplugininterface/group/monitorplugininterface.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -50,4 +50,5 @@
PAGED
BYTEPAIRCOMPRESSTARGET
+OPTION ARMCC -O3 -OSpace
--- a/harvester/server/src/harvesterao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/harvester/server/src/harvesterao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -54,6 +54,8 @@
_LIT(KVideo, "Video");
_LIT(KInUse, "InUse");
+_LIT(KUndefinedMime, " ");
+
_LIT( KExtensionMp4, "mp4" );
_LIT( KExtensionMpg4, "mpg4" );
_LIT( KExtensionMpeg4, "mpeg4" );
@@ -836,7 +838,7 @@
}
else
{
- mdeObject->AddTextPropertyL( *iPropDefs->iItemTypePropertyDef, KNullDesC );
+ mdeObject->AddTextPropertyL( *iPropDefs->iItemTypePropertyDef, KUndefinedMime );
}
TPtrC name;
@@ -1767,7 +1769,7 @@
CHarvesterData* hd = NULL;
TRAP( err, hd = CHarvesterData::NewL( uri ) );
- if ( err != KErrNone )
+ if ( err != KErrNone || !hd )
{
WRITELOG( "CHarvesterAO::HarvestFile - creating harvUri failed" );
albumIds.Close();
@@ -1798,7 +1800,7 @@
WRITELOG( "CHarvesterAO::HarvestFile - creating clientData failed" );
}
- if( iQueue && hd )
+ if( iQueue )
{
iQueue->Append( hd );
@@ -1810,6 +1812,7 @@
}
else
{
+ delete hd;
err = KErrUnknown;
}
@@ -1943,7 +1946,7 @@
CHarvesterData* hd = NULL;
TRAP( err, hd = CHarvesterData::NewL( uri ) );
- if ( err != KErrNone )
+ if ( err != KErrNone || !hd )
{
WRITELOG( "CHarvesterAO::HarvestFileWithUID - creating harvUri failed" );
albumIds.Close();
@@ -1974,7 +1977,7 @@
WRITELOG( "CHarvesterAO::HarvestFileWithUID - creating clientData failed" );
}
- if( iQueue && hd )
+ if( iQueue )
{
iQueue->Append( hd );
@@ -1986,6 +1989,7 @@
}
else
{
+ delete hd;
err = KErrUnknown;
}
@@ -2204,13 +2208,21 @@
HarvestCompleted( aHD->ClientId(), aHD->Uri(), aHD->ErrorCode() );
const TInt errorCode = aHD->ErrorCode();
- if( errorCode != KErrNone )
+ if( errorCode != KErrNone && errorCode != KErrCompletion )
{
WRITELOG1( "CHarvesterAO::ContextSnapshotStatus() - error occurred: %d", errorCode );
}
else
{
- WRITELOG( "CHarvesterAO::ContextSnapshotStatus() - successfully completed" );
+ if( errorCode == KErrCompletion )
+ {
+ WRITELOG( "CHarvesterAO::ContextSnapshotStatus() - snapshot could not be completed" );
+ WRITELOG( "CHarvesterAO::ContextSnapshotStatus() - processing non-context data anyway" );
+ }
+ else
+ {
+ WRITELOG( "CHarvesterAO::ContextSnapshotStatus() - successfully completed" );
+ }
if( aHD->Origin() == MdeConstants::Object::ECamera )
{
aHD->MdeObject().SetPlaceholder( EFalse );
@@ -2298,7 +2310,11 @@
{
// check if partial restore was done before last boot
TBool partialRestore = iRestoreWatcher->Register();
-
+
+#ifdef __WINSCW__
+ partialRestore = ETrue;
+#endif
+
if ( !partialRestore )
{
return;
--- a/inc/mdssqliteconnection.h Fri Feb 19 23:14:48 2010 +0200
+++ b/inc/mdssqliteconnection.h Fri Mar 12 15:44:28 2010 +0200
@@ -76,6 +76,16 @@
*/
void ConstructL();
+ /**
+ * Delete and re-create database.
+ * @param aDbFileName Database filename and path
+ * @param asqlSecurityPolicy sql policy
+ * @param aKMdsSqlDbaConfig database connection configure
+ */
+ TInt DeleteAndReCreateDB( const HBufC* aDbFileName,
+ const RSqlSecurityPolicy& asqlSecurityPolicy,
+ const TDesC8* aKMdsSqlDbaConfig );
+
public: // Methods from CMdSSqLiteConnection
/**
@@ -130,6 +140,11 @@
void CurrentRowL( const RMdsStatement& aQuery, RRowData& aRow );
/**
+ * Returns id of the last inserted row
+ */
+ TItemId LastInsertedRowId();
+
+ /**
* terminates a running query or execution loop
* @param aStatement ID of the statement
*/
--- a/locationmanager/locationtrail/eabi/locationtrailarm.def Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/eabi/locationtrailarm.def Fri Mar 12 15:44:28 2010 +0200
@@ -41,4 +41,16 @@
_ZN15CLocationRecord18SetStateToStoppingEv @ 40 NONAME
_ZN15CLocationRecord17LocationSnapshotLERKj @ 41 NONAME
_ZN15CLocationRecord15RemappingNeededEv @ 42 NONAME
+ _ZN12CNetworkInfoD0Ev @ 43 NONAME
+ _ZN12CNetworkInfoD1Ev @ 44 NONAME
+ _ZN12CNetworkInfoD2Ev @ 45 NONAME
+ _ZN13CPositionInfoD0Ev @ 46 NONAME
+ _ZN13CPositionInfoD1Ev @ 47 NONAME
+ _ZN13CPositionInfoD2Ev @ 48 NONAME
+ _ZN15CLocationRecordD0Ev @ 49 NONAME
+ _ZN15CLocationRecordD1Ev @ 50 NONAME
+ _ZN15CLocationRecordD2Ev @ 51 NONAME
+ _ZN9CTrackLogD0Ev @ 52 NONAME
+ _ZN9CTrackLogD1Ev @ 53 NONAME
+ _ZN9CTrackLogD2Ev @ 54 NONAME
--- a/locationmanager/locationtrail/group/locationtrail.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/group/locationtrail.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -60,4 +60,7 @@
BYTEPAIRCOMPRESSTARGET
OPTION ARMCC -O3 -OTime
+#ifdef __VFP_HW_SUPPORT
+OPTION ARMCC --fpu vfpv2 --fpmode fast
+#endif
--- a/locationmanager/locationtrail/inc/clocationrecord.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/clocationrecord.h Fri Mar 12 15:44:28 2010 +0200
@@ -54,13 +54,13 @@
/**
* This method is used to notify about location trail state changes.
*/
- virtual void LocationTrailStateChange() = 0;
+ virtual void LocationTrailStateChange() __SOFTFP = 0;
virtual void CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo,
const CTelephony::TNetworkInfoV1& aNetworkInfo,
- const TInt aError ) = 0;
+ const TInt aError ) __SOFTFP = 0;
- virtual void GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) = 0;
+ virtual void GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) __SOFTFP = 0;
};
/**
@@ -81,7 +81,7 @@
* This method is used to notify about new locations added to location trail
*/
virtual void LocationAdded( const TLocationTrailItem& aTrailItem,
- const TPositionSatelliteInfo& aSatellites ) = 0;
+ const TPositionSatelliteInfo& aSatellites ) __SOFTFP = 0;
};
/**
@@ -147,7 +147,7 @@
TLocationData& aLocationData,
/*TLocality& aPosition,
CTelephony::TNetworkInfoV1& aNetworkInfo,*/
- TLocTrailState& aState );
+ TLocTrailState& aState ) __SOFTFP;
/**
* Request location info. The result is returned by calllback method.
@@ -171,7 +171,7 @@
* @param aCellId, Network cell is written into this param.
* @return None.
*/
- IMPORT_C void GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo );
+ IMPORT_C void GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP;
/**
* Set observer for notifying state changes.
@@ -189,11 +189,11 @@
static TInt UpdateNetworkInfo( TAny* aAny );
IMPORT_C void CreateLocationObjectL( const TLocationData& aLocationData,
- const TUint& aObjectId );
+ const TUint& aObjectId ) __SOFTFP;
IMPORT_C void LocationSnapshotL( const TUint& aObjectId );
- TItemId DoCreateLocationL( const TLocationData& aLocationData );
+ TItemId DoCreateLocationL( const TLocationData& aLocationData ) __SOFTFP;
TItemId CreateRelationL( const TUint& aObjectId, const TUint& aLocationId );
@@ -212,7 +212,7 @@
* @param
* @return
*/
- void NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, TInt aError );
+ void NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, TInt aError ) __SOFTFP;
public: // from MPositionInfoObserver
/**
@@ -221,7 +221,7 @@
* @param
* @return
*/
- void Position( const TPositionInfo& aPositionInfo, const TInt aError );
+ void Position( const TPositionInfo& aPositionInfo, const TInt aError ) __SOFTFP;
public: // From MMdEQueryObserver
--- a/locationmanager/locationtrail/inc/clocationwrite.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/clocationwrite.h Fri Mar 12 15:44:28 2010 +0200
@@ -34,7 +34,7 @@
/**
* 2-phased constructor.
*/
- IMPORT_C static CLocationWrite* NewL( CLocationRecord& aLocRecord );
+ IMPORT_C static CLocationWrite* NewL( CLocationRecord& aLocRecord ) __SOFTFP;
/**
* C++ destructor.
--- a/locationmanager/locationtrail/inc/cnetworkinfo.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/cnetworkinfo.h Fri Mar 12 15:44:28 2010 +0200
@@ -33,7 +33,7 @@
* This method is used for setting the network cell id to the
* location trail.
*/
- virtual void NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, const TInt aError ) = 0;
+ virtual void NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, const TInt aError ) __SOFTFP = 0;
};
/**
--- a/locationmanager/locationtrail/inc/cpositioninfo.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/cpositioninfo.h Fri Mar 12 15:44:28 2010 +0200
@@ -36,7 +36,7 @@
* location trail.
*/
virtual void Position( const TPositionInfo& aPositionInfo,
- const TInt aError ) = 0;
+ const TInt aError ) __SOFTFP = 0;
};
/**
--- a/locationmanager/locationtrail/inc/ctracklog.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/ctracklog.h Fri Mar 12 15:44:28 2010 +0200
@@ -22,7 +22,7 @@
#include <f32file.h>
#include <lbs.h>
#include "clocationrecord.h"
-#include <lbsSatellite.h>
+#include <lbssatellite.h>
class MTrackLogObserver;
class CGpxConverterAO;
@@ -66,7 +66,7 @@
* This method is used to notify about converted GPX files
*/
virtual void GpxFileCreated( const TDesC& aFileName, TItemId aTagId, TReal32 aLength,
- TTime aStart, TTime aEnd ) = 0;
+ TTime aStart, TTime aEnd ) __SOFTFP = 0;
};
class CTrackLog : public CBase, public MLocationAddObserver
@@ -111,7 +111,7 @@
/*
* from MLocationAddObserver
*/
- void LocationAdded( const TLocationTrailItem& aTrailItem, const TPositionSatelliteInfo& aSatellites );
+ void LocationAdded( const TLocationTrailItem& aTrailItem, const TPositionSatelliteInfo& aSatellites ) __SOFTFP;
IMPORT_C void AddGpxObserver( MGpxConversionObserver* aObserver );
--- a/locationmanager/locationtrail/inc/locationtraildefs.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/inc/locationtraildefs.h Fri Mar 12 15:44:28 2010 +0200
@@ -28,7 +28,7 @@
const TInt KMaxTrailLength = 480000000; // 8 min.
-const TInt KIntervalSeconds = KUpdateInterval / 1000000; // 10 seconds
+const TInt KMaximumIntervalSeconds = KUpdateTimeOut / 1000000; // 20 seconds
const TInt KCurrentLocTimeoutCount = 48; // 48 * 10 sec -> 8 min timeout.
@@ -46,6 +46,8 @@
const TInt KFirstInterval = 1000000; // 1 second
+const TInt KFirstTimeOut = 1500000; // 1.5 second
+
//The name of the requestor
_LIT( KRequestor, "Location Trail" );
--- a/locationmanager/locationtrail/src/clocationrecord.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/src/clocationrecord.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -110,7 +110,7 @@
// CLocationRecord::~CLocationRecord
// --------------------------------------------------------------------------
//
-CLocationRecord::~CLocationRecord()
+EXPORT_C CLocationRecord::~CLocationRecord()
{
Stop();
iProperty.Delete( KPSUidLocationTrail, KLocationTrailState );
@@ -212,7 +212,7 @@
//
EXPORT_C void CLocationRecord::GetLocationByTimeL( const TTime aTime,
TLocationData& aLocationData,
- TLocTrailState& aState )
+ TLocTrailState& aState ) __SOFTFP
{
LOG( "CLocationRecord::GetLocationByTimeL(), begin" );
TInt posFound( EFalse );
@@ -242,7 +242,7 @@
LOG1( "CLocationRecord::GetLocationByTimeL - timeDiff: %d", timeDiff );
#endif
- if ( err == KErrNone && timeDiff <= KIntervalSeconds )
+ if ( err == KErrNone && timeDiff <= KMaximumIntervalSeconds )
{
// The nearest time is in iTrail[i] or in iTrail[i-1].
if ( i > 0 )
@@ -317,7 +317,7 @@
// CLocationRecord::GetNetworkInfo
// --------------------------------------------------------------------------
//
-EXPORT_C void CLocationRecord::GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo )
+EXPORT_C void CLocationRecord::GetNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP
{
LOG("CLocationRecord::GetNetworkInfo");
@@ -328,7 +328,7 @@
// CLocationRecord::SetObserver
// --------------------------------------------------------------------------
//
-EXPORT_C void CLocationRecord::SetObserver( MLocationTrailObserver* aObserver)
+EXPORT_C void CLocationRecord::SetObserver( MLocationTrailObserver* aObserver)
{
iObserver = aObserver;
}
@@ -348,7 +348,7 @@
// --------------------------------------------------------------------------
//
void CLocationRecord::Position( const TPositionInfo& aPositionInfo,
- const TInt aError )
+ const TInt aError ) __SOFTFP
{
const TPositionSatelliteInfo& positionSatelliteInfo =
static_cast<const TPositionSatelliteInfo&>(aPositionInfo);
@@ -457,7 +457,7 @@
// --------------------------------------------------------------------------
//
void CLocationRecord::NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo,
- const TInt aError )
+ const TInt aError ) __SOFTFP
{
LOG("CLocationRecord::NetworkInfo");
if ( aError == KErrNone )
@@ -585,7 +585,7 @@
EXPORT_C void CLocationRecord::CreateLocationObjectL( const TLocationData& aLocationData,
- const TUint& aObjectId )
+ const TUint& aObjectId ) __SOFTFP
{
TItemId locationId = DoCreateLocationL( aLocationData );
CreateRelationL( aObjectId, locationId );
@@ -792,7 +792,7 @@
}
-TItemId CLocationRecord::DoCreateLocationL( const TLocationData& aLocationData )
+TItemId CLocationRecord::DoCreateLocationL( const TLocationData& aLocationData ) __SOFTFP
{
LOG("CLocationRecord::DoCreateLocationL - start");
TItemId locationObjectId;
--- a/locationmanager/locationtrail/src/cnetworkinfo.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/src/cnetworkinfo.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -74,7 +74,7 @@
// CNetworkInfo::~CNetworkInfo
// --------------------------------------------------------------------------
//
-CNetworkInfo::~CNetworkInfo()
+EXPORT_C CNetworkInfo::~CNetworkInfo()
{
Cancel();
delete iTelephony;
--- a/locationmanager/locationtrail/src/cpositioninfo.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/src/cpositioninfo.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -52,7 +52,7 @@
// Set update interval.
iUpdateOptions.SetUpdateInterval( TTimeIntervalMicroSeconds(KFirstInterval) );
// Set time out level.
- iUpdateOptions.SetUpdateTimeOut( TTimeIntervalMicroSeconds(KUpdateTimeOut) );
+ iUpdateOptions.SetUpdateTimeOut( TTimeIntervalMicroSeconds(KFirstTimeOut) );
// Positions which have time stamp below KMaxAge can be reused
iUpdateOptions.SetMaxUpdateAge( TTimeIntervalMicroSeconds(KMaxAge) );
// Disables location framework to send partial position data
@@ -72,7 +72,7 @@
// CPositionInfo::~CPositionInfo
// --------------------------------------------------------------------------
//
-CPositionInfo::~CPositionInfo()
+EXPORT_C CPositionInfo::~CPositionInfo()
{
Cancel();
iPositioner.Close();
@@ -98,6 +98,8 @@
iTrailCaptureSetting = aCaptureSetting;
iUpdateInterval = aUpdateInterval;
+ iFirstInterval = ETrue;
+ iPositionInfo = TPositionSatelliteInfo();
if ( aCaptureSetting == RLocationTrail::ECaptureAll )
{
@@ -150,7 +152,7 @@
Cancel();
iFirstInterval = ETrue;
- iUpdateOptions.SetUpdateInterval( TTimeIntervalMicroSeconds(KFirstInterval) );
+ iUpdateOptions.SetUpdateInterval( TTimeIntervalMicroSeconds( KFirstInterval ) );
iPositioner.Close();
iPosServer.Close();
@@ -166,6 +168,7 @@
if ( iFirstInterval && iTrailCaptureSetting == RLocationTrail::ECaptureAll )
{
iUpdateOptions.SetUpdateInterval( TTimeIntervalMicroSeconds( iUpdateInterval ) );
+ iUpdateOptions.SetUpdateTimeOut( TTimeIntervalMicroSeconds( KUpdateTimeOut ) );
User::LeaveIfError( iPositioner.SetUpdateOptions( iUpdateOptions ) );
iFirstInterval = EFalse;
}
--- a/locationmanager/locationtrail/src/ctracklog.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/locationtrail/src/ctracklog.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -65,7 +65,7 @@
{
}
-CTrackLog::~CTrackLog()
+EXPORT_C CTrackLog::~CTrackLog()
{
delete iGpxConverter;
iFs.Close();
@@ -137,7 +137,7 @@
}
void CTrackLog::LocationAdded( const TLocationTrailItem& aTrailItem,
- const TPositionSatelliteInfo& aSatellites )
+ const TPositionSatelliteInfo& aSatellites ) __SOFTFP
{
LOG("CTrackLog::LocationAdded start");
@@ -231,7 +231,7 @@
User::Leave( err );
}
writer << I64LOW( iTagId );
- writer << I64HIGH( iTagId );
+ writer << I64HIGH( iTagId ); // Causes compiler warning due to misinterpretation by compiler parser
}
else
{
--- a/locationmanager/server/group/locationmanagerserver.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/server/group/locationmanagerserver.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -57,4 +57,8 @@
BYTEPAIRCOMPRESSTARGET
OPTION ARMCC -O3 -OTime
+#ifdef __VFP_HW_SUPPORT
+OPTION ARMCC --fpu vfpv2 --fpmode fast
+#endif
+
EPOCPROCESSPRIORITY background
--- a/locationmanager/server/inc/clocationmanagerserver.h Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/server/inc/clocationmanagerserver.h Fri Mar 12 15:44:28 2010 +0200
@@ -201,7 +201,7 @@
TLocationData& aLocationData,
/*TLocality& aPosition,
CTelephony::TNetworkInfoV1& aNetworkInfo,*/
- TLocTrailState& aState );
+ TLocTrailState& aState ) __SOFTFP;
/**
* Get current location.
@@ -232,7 +232,7 @@
* @param aCurrLocReq
* @return None.
*/
- void GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo );
+ void GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP;
/**
* Create a location context object in DB and create relationships to objects
@@ -241,7 +241,7 @@
* @param aObjectId
*/
void CreateLocationObjectL( const TLocationData& aLocationData,
- const TUint& aObjectId );
+ const TUint& aObjectId ) __SOFTFP;
/**
* Create a location context object in DB and create relationships to objects
@@ -270,7 +270,7 @@
void IsTrackLogRecording( TBool &aRec );
- TInt GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality);
+ TInt GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality) __SOFTFP;
TInt DeleteTrackLogL(const TDesC& aUri);
@@ -290,7 +290,7 @@
* @param None.
* @return None.
*/
- void LocationTrailStateChange();
+ void LocationTrailStateChange() __SOFTFP;
/**
* Callback method to return current location.
@@ -301,14 +301,14 @@
* @return None.
*/
void CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo,
- const CTelephony::TNetworkInfoV1& aNetworkInfo, const TInt aError );
+ const CTelephony::TNetworkInfoV1& aNetworkInfo, const TInt aError ) __SOFTFP;
/**
* Callback method to notify observer of changes in GPS signal quality.
* @param aSatelliteInfo, includes position and satellite info
* @return None.
*/
- void GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo );
+ void GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) __SOFTFP;
public: // from MMdeObjectObserver
/**
@@ -326,7 +326,7 @@
public: // from MGpxConversionObserver
void GpxFileCreated( const TDesC& aFileName, TItemId aTagId, TReal32 aLength,
- TTime aStart, TTime aEnd );
+ TTime aStart, TTime aEnd ) __SOFTFP;
private:
/**
--- a/locationmanager/server/src/clocationmanagerserver.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/server/src/clocationmanagerserver.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -306,6 +306,7 @@
//
void CLocationManagerServer::StartGPSPositioningL( RLocationTrail::TTrailCaptureSetting aCaptureSetting )
{
+ LOG( "CLocationManagerServer::StartGPSPositioningL" );
if ( aCaptureSetting == RLocationTrail::EOff )
{
return;
@@ -335,42 +336,28 @@
//
void CLocationManagerServer::StopGPSPositioningL()
{
+ LOG( "CLocationManagerServer::StopGPSPositioningL()" );
iCaptureSetting = RLocationTrail::EOff;
RLocationTrail::TTrailState state;
GetLocationTrailState( state );
- if( state == RLocationTrail::ETrailStarted || state == RLocationTrail::ETrailStarting )
- {
- TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) );
+
+
+ if( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping )
+ {
+ TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityHigh ) );
+
if ( error != KErrNone )
{
// If timer can't be created we stop the location trail immediately.
iLocationRecord->Stop();
StopTrackLogL();
return;
- }
- iLocationRecord->SetStateToStopping();
- iTimer->Start( KLocationTrailRemappingCheckDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) );
- }
- else if ( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping )
- {
- TInt delay( iLocManStopDelay );
- if ( iLocationRecord->RemappingNeeded() )
- {
- delay = iLocManStopRemapDelay;
- }
+ }
- TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) );
- if ( error != KErrNone )
- {
- // If timer can't be created we stop the location trail immediately.
- iLocationRecord->Stop();
- StopTrackLogL();
- return;
- }
iLocationRecord->SetStateToStopping();
- iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, this ) );
- }
+ iTimer->Start( iLocManStopDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) );
+ }
// Always stop tracklog.
StopTrackLogL();
@@ -382,6 +369,7 @@
//
void CLocationManagerServer::StopRecording()
{
+ LOG( "CLocationManagerServer::StopRecording()" );
iLocationRecord->Stop();
delete iTimer;
iTimer = NULL;
@@ -393,6 +381,7 @@
//
TInt CLocationManagerServer::PositioningStopTimeout( TAny* aAny )
{
+ LOG( "CLocationManagerServer::PositioningStopTimeout" );
CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny );
self->StopRecording();
@@ -405,21 +394,18 @@
//
TInt CLocationManagerServer::CheckForRemappingCallback( TAny* aAny )
{
+ LOG( "CLocationManagerServer::CheckForRemappingCallback" );
CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny );
- self->iTimer->Cancel();
+ self->iTimer->Cancel();
- TInt delay( self->iLocManStopDelay );
if ( self->iLocationRecord->RemappingNeeded() )
- {
- delay = self->iLocManStopRemapDelay;
- self->iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) );
+ {
+ self->iTimer->Start( self->iLocManStopRemapDelay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) );
}
else
- {
- delete self->iTimer;
- self->iTimer = NULL;
- self->iLocationRecord->Stop();
+ {
+ self->StopRecording();
}
return KErrNone;
@@ -489,7 +475,7 @@
//
void CLocationManagerServer::GetLocationByTimeL( const TTime& aTimeStamp,
TLocationData& aLocationData,
- TLocTrailState& aState )
+ TLocTrailState& aState ) __SOFTFP
{
iLocationRecord->GetLocationByTimeL( aTimeStamp,
aLocationData,
@@ -543,7 +529,7 @@
// CLocationManagerServer::GetCurrentCellId
// --------------------------------------------------------------------------
//
-void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo )
+void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP
{
iLocationRecord->GetNetworkInfo( aNetworkInfo );
}
@@ -552,7 +538,7 @@
// CLocationManagerServer::LocationTrailStateChange
// --------------------------------------------------------------------------
//
-void CLocationManagerServer::LocationTrailStateChange()
+void CLocationManagerServer::LocationTrailStateChange() __SOFTFP
{
LOG( "CLocationManagerServer::LocationTrailStateChange(), begin" );
@@ -575,7 +561,7 @@
//
void CLocationManagerServer::CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo,
const CTelephony::TNetworkInfoV1& aNetworkInfo,
- const TInt aError )
+ const TInt aError ) __SOFTFP
{
LOG( "CLocationManagerServer::CurrentLocation(), begin" );
const TInt KParamLocationData = 0;
@@ -622,7 +608,7 @@
LOG( "CLocationManagerServer::CurrentLocation(), end" );
}
-void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo )
+void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) __SOFTFP
{
LOG( "CLocationManagerServer::GPSSignalQualityChanged" );
const TInt KFixParam = 0;
@@ -697,7 +683,7 @@
}
void CLocationManagerServer::CreateLocationObjectL( const TLocationData& aLocationData,
- const TUint& aObjectId )
+ const TUint& aObjectId ) __SOFTFP
{
if ( !IsSessionReady() )
{
@@ -1058,7 +1044,7 @@
}
void CLocationManagerServer::GpxFileCreated( const TDesC& aFileName, TItemId aTagId,
- TReal32 aLength, TTime aStart, TTime aEnd )
+ TReal32 aLength, TTime aStart, TTime aEnd ) __SOFTFP
{
TRAP_IGNORE( CreateTrackLogL( aTagId, aFileName, aLength, aStart, aEnd ) );
}
@@ -1146,7 +1132,7 @@
CleanupStack::PopAndDestroy( trackLog );
}
-TInt CLocationManagerServer::GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality)
+TInt CLocationManagerServer::GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality) __SOFTFP
{
if ( !iTrackLog )
{
--- a/mds_plat/metadata_engine_api/inc/mdeobjectcondition.h Fri Feb 19 23:14:48 2010 +0200
+++ b/mds_plat/metadata_engine_api/inc/mdeobjectcondition.h Fri Mar 12 15:44:28 2010 +0200
@@ -232,7 +232,7 @@
* @param aString Text string to look for.
* @param aObjectIds object IDs to look for.
*/
- void CMdEObjectCondition::ConstructL( const RArray<TItemId>* aObjectIds,
+ void ConstructL( const RArray<TItemId>* aObjectIds,
const TDesC* aString, const TMdEUintRange* aRange );
private:
--- a/mds_plat/metadata_engine_api/inc/mdeproperty.h Fri Feb 19 23:14:48 2010 +0200
+++ b/mds_plat/metadata_engine_api/inc/mdeproperty.h Fri Mar 12 15:44:28 2010 +0200
@@ -69,7 +69,7 @@
* @param aObject owner object of property
* @return new numeric property
*/
- static CMdEProperty* CMdEProperty::NewL(const CMdEPropertyDef& aDef, const CMdEObject& aObject);
+ static CMdEProperty* NewL(const CMdEPropertyDef& aDef, const CMdEObject& aObject);
/**
* Constructs a new property.
@@ -78,7 +78,7 @@
* @param aObject owner object of property
* @return new numeric property
*/
- static CMdEProperty* CMdEProperty::NewLC(const CMdEPropertyDef& aDef, const CMdEObject& aObject);
+ static CMdEProperty* NewLC(const CMdEPropertyDef& aDef, const CMdEObject& aObject);
/**
--- a/mds_plat/metadata_engine_api/inc/mdequery.h Fri Feb 19 23:14:48 2010 +0200
+++ b/mds_plat/metadata_engine_api/inc/mdequery.h Fri Mar 12 15:44:28 2010 +0200
@@ -658,6 +658,8 @@
RPointerArray<MMdEQueryObserver> iObservers;
CDesCArray* iDistinctResults;
+
+ TBool iDestroyed;
};
--- a/metadataengine/client/bwincw/mdeclientu.def Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/bwincw/mdeclientu.def Fri Mar 12 15:44:28 2010 +0200
@@ -295,4 +295,5 @@
?PlaceholderOnly@CMdEObjectCondition@@QBEHXZ @ 294 NONAME ; int CMdEObjectCondition::PlaceholderOnly(void) const
?SetPlaceholderOnly@CMdEObjectCondition@@QAEXH@Z @ 295 NONAME ; void CMdEObjectCondition::SetPlaceholderOnly(int)
?CheckMassStorageMediaId@CMdEHarvesterSession@@QAEXK@Z @ 296 NONAME ; void CMdEHarvesterSession::CheckMassStorageMediaId(unsigned long)
+ ?Id@CMdEObjectDef@@QBEKXZ @ 297 NONAME ; unsigned long CMdEObjectDef::Id(void) const
--- a/metadataengine/client/eabi/mdeclientu.def Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/eabi/mdeclientu.def Fri Mar 12 15:44:28 2010 +0200
@@ -366,4 +366,5 @@
_ZN19CMdEObjectCondition18SetPlaceholderOnlyEi @ 365 NONAME
_ZNK19CMdEObjectCondition15PlaceholderOnlyEv @ 366 NONAME
_ZN20CMdEHarvesterSession23CheckMassStorageMediaIdEm @ 367 NONAME
+ _ZNK13CMdEObjectDef2IdEv @ 368 NONAME
--- a/metadataengine/client/group/mdeclient.mmp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/group/mdeclient.mmp Fri Mar 12 15:44:28 2010 +0200
@@ -85,5 +85,5 @@
DEBUGLIBRARY flogger.lib
+OPTION ARMCC -O2 -OTime
-
--- a/metadataengine/client/inc/mdeenginesession.h Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/inc/mdeenginesession.h Fri Mar 12 15:44:28 2010 +0200
@@ -37,11 +37,6 @@
_LIT( KMdSServerFilename, "MdSServer" );
-#ifdef __WINS__
-static const TUint KServerMinHeapSize = 0x10000;
-static const TUint KServerMaxHeapSize = 0x400000; // ~4 megs
-#endif
-
// FORWARD DECLARATIONS
class CMdESessionImpl;
class CMdESchemaItem;
--- a/metadataengine/client/inc/mdesessionimpl.h Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/inc/mdesessionimpl.h Fri Mar 12 15:44:28 2010 +0200
@@ -639,9 +639,6 @@
/** Open observer. */
MMdESessionObserver* iSessionObserver;
-
- /** Schema observers. */
- RPointerArray<MMdESchemaObserver> iSchemaObserverArray;
RChunk iSchemaChunk;
--- a/metadataengine/client/src/mdeasynchronousfindao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdeasynchronousfindao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -107,7 +107,7 @@
}
iConditionBuffer =
- CMdEQueryCriteriaSerialization::NewLC( resultMode, iQuery.Type(),
+ CMdEQueryCriteriaSerialization::NewL( resultMode, iQuery.Type(),
iQuery.NamespaceDef(),
objectDef,
objectDefs,
@@ -116,7 +116,6 @@
queryOptimizationFlags,
iQuery.Conditions(), iQuery.OrderRules(),
propertyFilter );
- CleanupStack::Pop();
iSession.DoFindAsync(
iQuery.GetQueryId(),
*iConditionBuffer,
--- a/metadataengine/client/src/mdelogiccondition.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdelogiccondition.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -331,8 +331,8 @@
MDE_IMPLEMENT_ADD_RANGE_PROPERTY_CONDITION(Real)
MDE_IMPLEMENT_ADD_RANGE_PROPERTY_CONDITION(Time)
-EXPORT_C CMdETextPropertyCondition&
-CMdELogicCondition::AddPropertyConditionL(const CMdEPropertyDef& aPropertyDef,
+EXPORT_C CMdETextPropertyCondition& CMdELogicCondition::AddPropertyConditionL(
+ const CMdEPropertyDef& aPropertyDef,
TTextPropertyConditionCompareMethod aCompareMethod,
const TDesC& aText)
{
--- a/metadataengine/client/src/mdenotifierao.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdenotifierao.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -238,74 +238,64 @@
case EObjectNotifyAdd:
{
MMdEObjectObserver* obs = static_cast<MMdEObjectObserver*>( iObserver );
- obs->HandleObjectNotification( iSessionImpl, ENotifyAdd, iIdArray );
- iIdArray.Reset();
+ obs->HandleObjectNotification( iSessionImpl, ENotifyAdd, iIdArray );
break;
}
case EObjectNotifyModify:
{
MMdEObjectObserver* obs = static_cast<MMdEObjectObserver*>( iObserver );
- obs->HandleObjectNotification( iSessionImpl, ENotifyModify, iIdArray );
- iIdArray.Reset();
+ obs->HandleObjectNotification( iSessionImpl, ENotifyModify, iIdArray );
break;
}
case EObjectNotifyRemove:
{
MMdEObjectObserver* obs = static_cast<MMdEObjectObserver*>( iObserver );
- obs->HandleObjectNotification( iSessionImpl, ENotifyRemove, iIdArray );
- iIdArray.Reset();
+ obs->HandleObjectNotification( iSessionImpl, ENotifyRemove, iIdArray );
break;
}
case EObjectNotifyPresent:
{
MMdEObjectPresentObserver* obs = static_cast<MMdEObjectPresentObserver*>( iObserver );
- obs->HandleObjectPresentNotification( iSessionImpl, ETrue, iIdArray );
- iIdArray.Reset();
+ obs->HandleObjectPresentNotification( iSessionImpl, ETrue, iIdArray );
break;
}
case EObjectNotifyNotPresent:
{
MMdEObjectPresentObserver* obs = static_cast<MMdEObjectPresentObserver*>( iObserver );
- obs->HandleObjectPresentNotification( iSessionImpl, EFalse, iIdArray );
- iIdArray.Reset();
+ obs->HandleObjectPresentNotification( iSessionImpl, EFalse, iIdArray );
break;
}
case ERelationNotifyAdd:
{
MMdERelationObserver* obs = static_cast<MMdERelationObserver*>( iObserver );
- obs->HandleRelationNotification( iSessionImpl, ENotifyAdd, iIdArray );
- iIdArray.Reset();
+ obs->HandleRelationNotification( iSessionImpl, ENotifyAdd, iIdArray );
break;
}
case ERelationNotifyModify:
{
MMdERelationObserver* obs = static_cast<MMdERelationObserver*>( iObserver );
- obs->HandleRelationNotification( iSessionImpl, ENotifyModify, iIdArray );
- iIdArray.Reset();
+ obs->HandleRelationNotification( iSessionImpl, ENotifyModify, iIdArray );
break;
}
case ERelationNotifyRemove:
{
MMdERelationObserver* obs = static_cast<MMdERelationObserver*>( iObserver );
- obs->HandleRelationNotification( iSessionImpl, ENotifyRemove, iIdArray );
- iIdArray.Reset();
+ obs->HandleRelationNotification( iSessionImpl, ENotifyRemove, iIdArray );
break;
}
case ERelationNotifyPresent:
{
MMdERelationPresentObserver* obs = static_cast<MMdERelationPresentObserver*>( iObserver );
- obs->HandleRelationPresentNotification( iSessionImpl, ETrue, iIdArray );
- iIdArray.Reset();
+ obs->HandleRelationPresentNotification( iSessionImpl, ETrue, iIdArray );
break;
}
case ERelationNotifyNotPresent:
{
MMdERelationPresentObserver* obs = static_cast<MMdERelationPresentObserver*>( iObserver );
- obs->HandleRelationPresentNotification( iSessionImpl, EFalse, iIdArray );
- iIdArray.Reset();
+ obs->HandleRelationPresentNotification( iSessionImpl, EFalse, iIdArray );
break;
}
@@ -313,22 +303,21 @@
{
MMdERelationItemObserver* obs = static_cast<MMdERelationItemObserver*>( iObserver );
obs->HandleRelationItemNotification( iSessionImpl, ENotifyRemove, iRelationItemArray );
- iRelationItemArray.Reset();
+ iRelationItemArray.Reset();
+ iRelationItemArray.Compress();
break;
}
case EEventNotifyAdd:
{
MMdEEventObserver* obs = static_cast<MMdEEventObserver*>( iObserver );
- obs->HandleEventNotification( iSessionImpl, ENotifyAdd, iIdArray);
- iIdArray.Reset();
+ obs->HandleEventNotification( iSessionImpl, ENotifyAdd, iIdArray);
break;
}
case EEventNotifyRemove:
{
MMdEEventObserver* obs = static_cast<MMdEEventObserver*>( iObserver );
- obs->HandleEventNotification( iSessionImpl, ENotifyRemove, iIdArray);
- iIdArray.Reset();
+ obs->HandleEventNotification( iSessionImpl, ENotifyRemove, iIdArray);
break;
}
@@ -343,6 +332,8 @@
// no observer to call - this should be skipped on server side!
break;
}
+ iIdArray.Reset();
+ iIdArray.Compress();
}
void CMdENotifierAO::DecodeIdBufferL()
@@ -356,6 +347,7 @@
__ASSERT_DEBUG( iNamespaceDefId == itemIds.iNamespaceDefId, User::Panic( _L("Incorrect namespaceDef from returned items!"), KErrCorrupt ) );
iDataBuffer->PositionL( itemIds.iObjectIds.iPtr.iOffset );
+ iIdArray.ReserveL( itemIds.iObjectIds.iPtr.iCount );
for( TUint32 i = 0; i < itemIds.iObjectIds.iPtr.iCount; ++i )
{
TItemId id;
@@ -374,12 +366,13 @@
CMdENamespaceDef& namespaceDef = iSessionImpl.GetNamespaceDefL( iNamespaceDefId );
iDataBuffer->PositionL( items.iRelations.iPtr.iOffset );
TMdERelation relation;
+ iRelationItemArray.ReserveL( items.iRelations.iPtr.iCount );
for (TInt i = 0; i < items.iRelations.iPtr.iCount; ++i )
{
relation.DeSerializeL( *iDataBuffer, namespaceDef );
if ( relation.Id() )
{
- iRelationItemArray.Append( relation );
+ iRelationItemArray.AppendL( relation );
}
}
}
--- a/metadataengine/client/src/mdeobjectdef.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdeobjectdef.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -71,7 +71,7 @@
iPropertyDefs.Close();
}
-TDefId CMdEObjectDef::Id() const
+EXPORT_C TDefId CMdEObjectDef::Id() const
{
return iObjectDef.iDefId;
}
--- a/metadataengine/client/src/mdequery.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdequery.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -28,7 +28,7 @@
CMdEQuery::CMdEQuery(TQueryType aType, CMdESession& aSession, CMdENamespaceDef& aNamespaceDef)
: iQueryId( 0 ), iSession(aSession), iNamespaceDef(aNamespaceDef), iType(aType),
iResultMode(EQueryResultModeItem), iState(EStateNew), iError(KErrNone),
- iObjectResult(NULL), iCountResult(0), iDistinctResults(NULL)
+ iObjectResult(NULL), iCountResult(0), iDistinctResults(NULL), iDestroyed(EFalse)
{
}
@@ -41,6 +41,7 @@
CMdEQuery::~CMdEQuery()
{
+ iDestroyed = ETrue;
Cancel();
// This will destroy the entire conditions tree.
@@ -204,7 +205,10 @@
if( incomplete || IsComplete() == EFalse )
{
iState = EStateError;
- NotifyCompleted( KErrCancel );
+ if( !iDestroyed )
+ {
+ NotifyCompleted( KErrCancel );
+ }
}
}
@@ -538,11 +542,14 @@
// Update the latest error code.
iError = aError;
- for (TInt i = iObservers.Count() - 1; i >= 0; --i)
- {
- MMdEQueryObserver* observer = iObservers[i];
- observer->HandleQueryCompleted(*this, aError);
- }
+ for (TInt i = iObservers.Count() - 1; i >= 0; --i)
+ {
+ MMdEQueryObserver* observer = iObservers[i];
+ if( observer )
+ {
+ observer->HandleQueryCompleted(*this, aError);
+ }
+ }
}
--- a/metadataengine/client/src/mdesessionimpl.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/client/src/mdesessionimpl.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -68,7 +68,11 @@
RMdESessionAsyncRequest::EAddRequest,
aBuffer, aResultBuffer, aRequestStatus );
- iRequests.Append(request);
+ const TInt error = iRequests.Append(request);
+ if( error != KErrNone )
+ {
+ return;
+ }
if( !IsActive() )
{
@@ -86,7 +90,11 @@
RMdESessionAsyncRequest::EUpdateRequest,
aBuffer, aResultBuffer, aRequestStatus);
- iRequests.Append(request);
+ const TInt error = iRequests.Append(request);
+ if( error != KErrNone )
+ {
+ return;
+ }
if( !IsActive() )
{
@@ -104,7 +112,11 @@
RMdESessionAsyncRequest::ERemoveRequest,
aBuffer, aResultBuffer, aRequestStatus);
- iRequests.Append(request);
+ const TInt error = iRequests.Append(request);
+ if( error != KErrNone )
+ {
+ return;
+ }
if( !IsActive() )
{
@@ -224,8 +236,6 @@
{
// No session errors should be sent during deconstruction to avoid possible double deletion
iSessionObserver = NULL;
-
- Close();
delete iSchemaBuffer;
@@ -253,8 +263,6 @@
void CMdESessionImpl::Close()
{
- iSchemaObserverArray.Reset();
- iSchemaObserverArray.Close();
}
TInt CMdESessionImpl::NamespaceDefCount() const
@@ -1669,7 +1677,7 @@
{
RPointerArray<CMdEInstanceItem> items;
CleanupClosePushL( items );
- items.Append( &aItem );
+ items.AppendL( &aItem );
User::LeaveIfError( AddItemsL( items ) );
CleanupStack::PopAndDestroy( &items );
return aItem.Id();
@@ -1898,7 +1906,7 @@
{
RPointerArray<CMdEInstanceItem> items;
CleanupClosePushL( items );
- items.Append( &aRelation );
+ items.AppendL( &aRelation );
User::LeaveIfError( UpdateItemsL( items ) );
CleanupStack::PopAndDestroy( &items );
return aRelation.Id();
@@ -2269,7 +2277,7 @@
notifier->RegisterL( type, &aObserver, aCondition, *namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
CleanupStack::PopAndDestroy( aCondition );
}
@@ -2296,7 +2304,7 @@
&aObserver, NULL, namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
}
void CMdESessionImpl::AddRelationObserverL( MMdERelationObserver& aObserver,
@@ -2352,7 +2360,7 @@
notifier->RegisterL( type, &aObserver, aCondition, *namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
CleanupStack::PopAndDestroy( aCondition );
}
@@ -2409,7 +2417,7 @@
notifier->RegisterL( type, &aObserver, aCondition, *namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
CleanupStack::PopAndDestroy( aCondition );
}
@@ -2438,7 +2446,7 @@
&aObserver, NULL, namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
}
void CMdESessionImpl::AddEventObserverL( MMdEEventObserver& aObserver,
@@ -2495,7 +2503,7 @@
notifier->RegisterL( type, &aObserver, aCondition, *namespaceDef );
CleanupStack::Pop( notifier );
- iNotifiers.Append( notifier );
+ iNotifiers.AppendL( notifier );
CleanupStack::PopAndDestroy( aCondition );
}
--- a/metadataengine/server/inc/mdsfindengine.h Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/inc/mdsfindengine.h Fri Mar 12 15:44:28 2010 +0200
@@ -137,13 +137,7 @@
* Transfer result set to client
* @aError error code or KErrNone
*/
- void SetComplete( TInt aError );
-
- /**
- * Transfer results to client and completes find
- * @aError error code or KErrNone
- */
- void FindComplete( TInt aError );
+ void SetComplete( TInt aError, TBool aSet );
const CMdCSerializationBuffer& ResultsL() const;
--- a/metadataengine/server/src/mdsclausebuffer.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsclausebuffer.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -62,15 +62,11 @@
//
void CMdsClauseBuffer::ConstructL( TInt aInitialSize )
{
- if ( aInitialSize < 1 )
+ if ( aInitialSize < 1 || aInitialSize > 100000 )
{
aInitialSize = 1;
}
iCurrentBufSize = aInitialSize;
- if (aInitialSize > 100000 || aInitialSize < 0)
- {
- aInitialSize = 0;
- }
iBuffer = HBufC::NewL( iCurrentBufSize );
}
@@ -104,11 +100,11 @@
return EFalse;
}
+ // realloc and copy
+ iBuffer = iBuffer->ReAllocL( aRequired );
+
iCurrentBufSize = aRequired;
- // realloc and copy
- iBuffer = iBuffer->ReAllocL( iCurrentBufSize );
-
return ETrue;
}
--- a/metadataengine/server/src/mdsdiskspacenotifier.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsdiskspacenotifier.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -57,7 +57,13 @@
switch( status )
{
case KErrNone:
- iFileServerSession.Volume( volumeInfo, iDrive );
+ {
+ const TInt error = iFileServerSession.Volume( volumeInfo, iDrive );
+ if( error != KErrNone )
+ {
+ StartNotifier();
+ break;
+ }
// Check if free space is less than threshold level
if( volumeInfo.iFree < iThreshold )
@@ -78,6 +84,7 @@
}
StartNotifier();
break;
+ }
case KErrArgument:
User::Leave( status );
@@ -89,8 +96,15 @@
else if ( iState == CMdSDiskSpaceNotifierAO::EIterate )
{
const TInt KMaxIterations = 10;
-
- iFileServerSession.Volume( volumeInfo, iDrive );
+ TInt error = iFileServerSession.Volume( volumeInfo, iDrive );
+ if( error != KErrNone )
+ {
+ iState = ENormal;
+ iIterationCount = 0;
+ StartNotifier();
+ return;
+ }
+
if ( volumeInfo.iFree < iThreshold )
{
iObserver.HandleDiskSpaceNotificationL( MMdSDiskSpaceNotifierObserver::ELess );
@@ -104,7 +118,14 @@
}
else
{
- iFileServerSession.Volume( volumeInfo, iDrive );
+ error = iFileServerSession.Volume( volumeInfo, iDrive );
+ if( error != KErrNone )
+ {
+ iState = ENormal;
+ iIterationCount = 0;
+ StartNotifier();
+ return;
+ }
if ( volumeInfo.iFree >= iThreshold )
{
iDiskFull = EFalse;
@@ -155,8 +176,8 @@
User::LeaveIfError( iFileServerSession.Connect( KMessageSlotCount ) );
TVolumeInfo volumeInfo;
- iFileServerSession.Volume( volumeInfo, iDrive );
- if ( volumeInfo.iFree < iThreshold )
+ const TInt error = iFileServerSession.Volume( volumeInfo, iDrive );
+ if ( (error != KErrNone) || volumeInfo.iFree < iThreshold )
{
iDiskFull = ETrue;
}
--- a/metadataengine/server/src/mdseventdef.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdseventdef.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -74,7 +74,8 @@
CleanupClosePushL( rowData );
rowData.AppendL( TColumn( aNamespaceDefId ) );
rowData.AppendL( TColumn( iPriority ) );
- rowData.AppendL( TColumn( GetName().AllocL() ) );
+ rowData.AppendL( TColumn( GetName().AllocLC() ) );
+ CleanupStack::Pop(); // name
TDefId id = MMdSIndexer::ExecuteAndGetIndexL(KMdsSqlClauseAddEventDef, rowData );
--- a/metadataengine/server/src/mdsfindengine.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsfindengine.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -217,10 +217,20 @@
// SetComplete
// ---------------------------------------------------------------------------
//
-void CMdSFindEngine::SetComplete( TInt aError )
+void CMdSFindEngine::SetComplete( TInt aError, TBool aSet )
{
TBool toComplete = iAsyncPending;
- __LOG1( ELogServer, "<- Find Set Complete (%d)", aError );
+
+#ifdef _DEBUG
+ if( aSet )
+ {
+ __LOG1( ELogServer, "<- Find Set Complete (%d)", aError );
+ }
+ else
+ {
+ __LOG1( ELogServer, "<- Find Complete (%d)", aError );
+ }
+#endif
if( aError == KErrNone )
{
@@ -260,7 +270,14 @@
{
if ( toComplete && iMessage.IsNull() == EFalse )
{
- iMessage.Complete( EAsyncFindSetReady );
+ if( aSet )
+ {
+ iMessage.Complete( EAsyncFindSetReady );
+ }
+ else
+ {
+ iMessage.Complete( EAsyncFindComplete );
+ }
}
}
}
@@ -274,67 +291,6 @@
}
}
-// ---------------------------------------------------------------------------
-// FindComplete
-// ---------------------------------------------------------------------------
-//
-void CMdSFindEngine::FindComplete( TInt aError )
- {
- TBool toComplete = iAsyncPending;
- __LOG1( ELogServer, "<- Find Complete (%d)", aError );
-
- if( aError == KErrNone )
- {
- TUint32 resultSize = 0;
-
- TInt err = KErrNone;
-
- TRAP( err, resultSize = iSequence->ResultsL().Size() );
-
- if( err )
- {
- if ( toComplete && iMessage.IsNull() == EFalse )
- {
- iMessage.Complete( err );
- }
- return;
- }
-
- iAsyncPending = EFalse;
-
- if ( iMessage.IsNull() == EFalse )
- {
- TPckgBuf<TInt> sizeBuf( resultSize );
-
- err = iMessage.Write( 2, sizeBuf );
- }
-
- if( err )
- {
- if ( toComplete && iMessage.IsNull() == EFalse )
- {
- iMessage.Complete( err );
- }
- return;
- }
- else
- {
- if ( toComplete && iMessage.IsNull() == EFalse )
- {
- iMessage.Complete( EAsyncFindComplete );
- }
- }
- }
- else
- {
- if ( toComplete && iMessage.IsNull() == EFalse )
- {
- iMessage.Complete( aError );
- }
- return;
- }
- }
-
const CMdCSerializationBuffer& CMdSFindEngine::ResultsL() const
{
return iSequence->ResultsL();
--- a/metadataengine/server/src/mdsfindsequence.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsfindsequence.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -284,7 +284,7 @@
CMdSFindEngine* obs = iObserver;
if ( obs )
{
- obs->SetComplete( KErrNone );
+ obs->SetComplete( KErrNone, ETrue );
}
}
else if ( result == KErrCancel )
@@ -297,7 +297,7 @@
CMdSFindEngine* obs = iObserver;
if ( obs )
{
- obs->FindComplete( result );
+ obs->SetComplete( result, EFalse );
}
}
}
@@ -311,7 +311,7 @@
// Cleanup if RunL() leaves
CMdSFindEngine* obs = iObserver;
CleanUp();
- obs->FindComplete( aError );
+ obs->SetComplete( aError, EFalse );
return KErrNone;
}
@@ -507,7 +507,7 @@
RArray<TMdCObject> objectArray;
CleanupClosePushL( objectArray );
- objectArray.Reserve( items.iObjects.iPtr.iCount );
+ objectArray.ReserveL( items.iObjects.iPtr.iCount );
// store objects in array in correct order
for( TInt i = 0; i < items.iObjects.iPtr.iCount; ++i )
{
--- a/metadataengine/server/src/mdsfindsqlclause.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsfindsqlclause.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -2610,7 +2610,7 @@
// expected result for property's type
iResultRow.AppendL( TColumn( propDef->GetSqlType() ) );
- iPropertyFilters.Append( propDef );
+ iPropertyFilters.AppendL( propDef );
}
}
}
--- a/metadataengine/server/src/mdsimportexport.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsimportexport.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -570,6 +570,7 @@
// Text properties may have an extra flag: index flag.
TBool indexed( EFalse );
+ // Ignore error code as the flag might not exist and indexing is not mandatory
ImportNum( indexed, aParser );
// Add this property to the previously defined object.
iLastObjectDef->AddPropertyL( name, type, minVal32, maxVal32, readOnly, mandatory, indexed );
@@ -876,7 +877,7 @@
// DB version
MMdsPreferences::GetL( KMdsDBVersionName, MMdsPreferences::EPreferenceBothGet,
majorVersion, &minorVersion );
- if ( majorVersion != KMdSServMajorVersionNumber && (TInt)minorVersion != KMdSServMinorVersionNumber )
+ if ( majorVersion != KMdSServMajorVersionNumber || (TInt64)minorVersion != KMdSServMinorVersionNumber )
{
return EFalse;
}
@@ -1165,6 +1166,7 @@
// check if uri exists
if ( !BaflUtils::FileExists( iFs, textValue ) )
{
+ iLastObjectDef = NULL;
_LIT( KError, "uri is not real" );
LogError( KError );
User::Leave( KErrNotFound );
@@ -1720,7 +1722,7 @@
const CMdsObjectDef* objectDef = namespaceDefRestrict->GetObjectByIdL( objectDefId );
if (objectDef)
{
- objectDefToExport.Append( objectDef );
+ objectDefToExport.AppendL( objectDef );
}
}
}
@@ -1741,7 +1743,7 @@
const CMdsEventDef* eventDef = namespaceDefRestrict->GetEventByIdL( eventDefId );
if (eventDef)
{
- eventDefToExport.Append( eventDef );
+ eventDefToExport.AppendL( eventDef );
}
}
}
@@ -1762,7 +1764,7 @@
const CMdsRelationDef* relationDef = namespaceDefRestrict->GetRelationByIdL( relationDefId );
if ( relationDef )
{
- relationDefToExport.Append( relationDef );
+ relationDefToExport.AppendL( relationDef );
}
}
}
@@ -1775,7 +1777,7 @@
RRowData freeTextRow;
CleanupClosePushL( freeTextRow );
- TInt j;
+ TInt j( 0 );
const TInt namespaceCount = aSchemaNew.iNamespaceDefs.Count();
@@ -2408,11 +2410,12 @@
//
TInt CMdsImportExport::ImportInt64( Int64& aValue, TLex8& aParser )
{
+ TInt error( KErrNone );
// due to symbian int64 parser error
// for now we will use ImportNum version
- ImportNum( aValue, aParser );
+ error = ImportNum( aValue, aParser );
- return KErrNone;
+ return error;
}
// ------------------------------------------------
--- a/metadataengine/server/src/mdsindexer.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsindexer.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -41,7 +41,7 @@
void MMdSIndexer::GetLastItemIdL()
{
- _LIT( KGetLastMaxId, "SELECT max(seq) FROM SQLITE_SEQUENCE WHERE name!='symbian_security';" );
+ _LIT( KGetLastMaxId, "SELECT max(seq) FROM SQLITE_SEQUENCE WHERE name!='symbian_security' LIMIT 1;" );
CMdSSqLiteConnection& connection = MMdSDbConnectionPool::GetDefaultDBL();
RRowData getData;
@@ -64,27 +64,8 @@
TItemId MMdSIndexer::GetIndexL()
{
- _LIT( KIndexerQuery, "SELECT last_insert_rowid();" );
-
CMdSSqLiteConnection& connection = MMdSDbConnectionPool::GetDefaultDBL();
-
- RRowData getData;
- CleanupClosePushL(getData);
-
- RMdsStatement selectObject;
- CleanupClosePushL(selectObject);
-
- TItemId id = KNoId;
- //Get one row and set first column to id
- connection.ExecuteQueryL(KIndexerQuery,selectObject,getData);
- getData.AppendL(TColumn(id));
- if (connection.NextRowL(selectObject, getData))
- {
- getData.Column(0).Get(id);
- }
-
- CleanupStack::PopAndDestroy(2, &getData);
- return id;
+ return connection.LastInsertedRowId();
}
TItemId MMdSIndexer::ExecuteAndGetIndexL( const TDesC &aSqlClause,
--- a/metadataengine/server/src/mdslogger.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdslogger.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -56,6 +56,10 @@
//
CMdSLogger::~CMdSLogger()
{
+ static CMdSLogger* singleton;
+ delete singleton;
+ singleton = NULL;
+ iValid = EFalse;
iLog.CloseLog();
iLog.Close();
}
--- a/metadataengine/server/src/mdsmaintenanceengine.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsmaintenanceengine.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -237,7 +237,7 @@
User::LeaveIfError( fs.Connect() );
CleanupClosePushL( fs );
TVolumeInfo volumeInfo;
- fs.Volume( volumeInfo, EDriveC );
+ User::LeaveIfError( fs.Volume( volumeInfo, EDriveC ) );
MMdsPreferences::InsertL( KCMediaIdKey, MMdsPreferences::EPreferenceValueSet,
(TUint32) volumeInfo.iUniqueID );
@@ -246,12 +246,12 @@
if( massStorageError == KErrNone )
{
TVolumeInfo massStorageVolumeInfo;
- fs.Volume( massStorageVolumeInfo, drive );
+ User::LeaveIfError( fs.Volume( massStorageVolumeInfo, drive ) );
const TUint32 massStorageMediaId( massStorageVolumeInfo.iUniqueID );
massStorageError = DriveInfo::GetDefaultDrive( DriveInfo::EDefaultRemovableMassStorage, drive );
if( massStorageError == KErrNone )
{
- fs.Volume( massStorageVolumeInfo, drive );
+ User::LeaveIfError( fs.Volume( massStorageVolumeInfo, drive ) );
// Update mass storage media id if the mass storage is not memory card
if( massStorageVolumeInfo.iUniqueID != massStorageMediaId && massStorageMediaId != 0 )
{
--- a/metadataengine/server/src/mdsmanipulationengine.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsmanipulationengine.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -34,14 +34,6 @@
__USES_LOGGER
-// ======== LOCAL FUNCTIONS ========
-
-static void TransactionCleanupL(void* aConn)
- {
- CMdSSqLiteConnection* conn = (CMdSSqLiteConnection*)aConn;
- conn->TransactionRollbackL();
- }
-
// ---------------------------------------------------------------------------
// NewL
// ---------------------------------------------------------------------------
@@ -156,63 +148,39 @@
RMdsStatement objStmt;
CleanupClosePushL(objStmt);
- if( KObjectCount > 1 )
- {
- RMdSTransaction transaction( connection );
- CleanupClosePushL(transaction);
- const TInt beginError( transaction.Error() );
- if( beginError != KErrNone )
- {
- CleanupStack::PopAndDestroy( &transaction );
- }
-
- for ( TInt i = 0; i < KObjectCount; ++i )
- {
- aBuffer.PositionL( items.iObjects.iPtr.iOffset + i * sizeof(TMdCObject) );
- TItemId id = KNoId;
- TRAPD( err, id = iManipulate->AddObjectL( connection, aBuffer,
- baseObjStmt, objStmt, aServerSession ) );
- if (err == KErrNone)
- {
- aResultBuffer.InsertL( id );
- }
- else
- {
- aResultBuffer.InsertL( KNoId );
- if(resultIds.iErrorCode == KErrNone)
- {
- resultIds.iErrorCode = err;
- }
- }
- }
- if( beginError == KErrNone )
- {
- transaction.CommitL();
- CleanupStack::PopAndDestroy( &transaction );
- }
- }
- else
- {
- for ( TInt i = 0; i < KObjectCount; ++i )
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
+ for ( TInt i = 0; i < KObjectCount; ++i )
+ {
+ aBuffer.PositionL( items.iObjects.iPtr.iOffset + i * sizeof(TMdCObject) );
+ TItemId id = KNoId;
+ TRAPD( err, id = iManipulate->AddObjectL( connection, aBuffer,
+ baseObjStmt, objStmt, aServerSession ) );
+ if (err == KErrNone)
{
- aBuffer.PositionL( items.iObjects.iPtr.iOffset + i * sizeof(TMdCObject) );
- TItemId id = KNoId;
- TRAPD( err, id = iManipulate->AddObjectL( connection, aBuffer,
- baseObjStmt, objStmt, aServerSession ) );
- if (err == KErrNone)
+ aResultBuffer.InsertL( id );
+ }
+ else
+ {
+ aResultBuffer.InsertL( KNoId );
+ if(resultIds.iErrorCode == KErrNone)
{
- aResultBuffer.InsertL( id );
- }
- else
- {
- aResultBuffer.InsertL( KNoId );
- if(resultIds.iErrorCode == KErrNone)
- {
- resultIds.iErrorCode = err;
- }
+ resultIds.iErrorCode = err;
}
}
- }
+ }
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
CleanupStack::PopAndDestroy(&objStmt);
CleanupStack::PopAndDestroy(&baseObjStmt);
}
@@ -229,12 +197,13 @@
resultIds.iEventIds.iPtr.iOffset = aResultBuffer.Position();
resultIds.iEventIds.iPtr.iCount = KEventCount;
- if( KEventCount > 1 )
- {
- //More than 1 event, transaction will be used.
- connection.TransactionBeginL();
- CleanupStack::PushL(TCleanupItem(&TransactionCleanupL, &connection));
- }
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
for ( TInt i = 0; i < KEventCount; ++i )
{
@@ -257,11 +226,11 @@
}
}
- if( KEventCount > 1 )
- {
- connection.TransactionCommitL();
- CleanupStack::Pop(); //TransactionCleanup()
- }
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
}
else
{
@@ -276,12 +245,13 @@
resultIds.iRelationIds.iPtr.iOffset = aResultBuffer.Position();
resultIds.iRelationIds.iPtr.iCount = KRelationCount;
- if( KRelationCount > 1 )
- {
- //More than 1 relation, transaction will be used.
- connection.TransactionBeginL();
- CleanupStack::PushL(TCleanupItem(&TransactionCleanupL, &connection));
- }
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
for ( TInt i = 0; i < KRelationCount; ++i )
{
@@ -304,11 +274,11 @@
}
}
- if( KRelationCount > 1 )
- {
- connection.TransactionCommitL();
- CleanupStack::Pop(); //TransactionCleanup()
- }
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
}
else
{
@@ -596,6 +566,14 @@
resultIds.iObjectIds.iPtr.iOffset = aResultBuffer.Position();
resultIds.iObjectIds.iPtr.iCount = items.iObjects.iPtr.iCount;
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
for ( TInt i = 0; i < items.iObjects.iPtr.iCount; ++i )
{
aBuffer.PositionL( items.iObjects.iPtr.iOffset + i * sizeof(TMdCObject) );
@@ -615,6 +593,11 @@
}
}
}
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
}
else
{
--- a/metadataengine/server/src/mdsnotifier.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsnotifier.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -76,6 +76,25 @@
CMdSNotifier::~CMdSNotifier()
{
delete iComparator;
+
+ const TInt count = iEntries.Count();
+
+ for ( TInt i = 0; i < count; ++i )
+ {
+ TEntry& e = iEntries[i];
+
+ if ( e.iSerializedCondition )
+ {
+ delete e.iSerializedCondition;
+ e.iSerializedCondition = NULL;
+ }
+ if ( e.iDataBuffer )
+ {
+ delete e.iDataBuffer;
+ e.iDataBuffer = NULL;
+ }
+ }
+
iEntries.Close();
}
--- a/metadataengine/server/src/mdsobjectdef.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsobjectdef.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -243,7 +243,8 @@
rowData.AppendL( TColumn( aNamespaceDefId ) );
rowData.AppendL( TColumn( iParent ? iParent->GetId() : KNoDefId ) );
rowData.AppendL( TColumn( (TInt32)iFlags ) );
- rowData.AppendL( TColumn( GetName().AllocL() ) );
+ rowData.AppendL( TColumn( GetName().AllocLC() ) );
+ CleanupStack::Pop(); // name
TDefId id = MMdSIndexer::ExecuteAndGetIndexL( KMdsSqlClauseAddObjectDef,rowData );
--- a/metadataengine/server/src/mdspropertydef.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdspropertydef.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -285,7 +285,8 @@
#endif
User::Leave( KErrMdEUnknownPropertyType );
}
- rowData.AppendL( TColumn( GetName().AllocL() ) );
+ rowData.AppendL( TColumn( GetName().AllocLC() ) );
+ CleanupStack::Pop(); //name
TDefId id;
id = MMdSIndexer::ExecuteAndGetIndexL( KMdsSqlClauseAddPropertyDef, rowData );
--- a/metadataengine/server/src/mdsrelationdef.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsrelationdef.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -75,7 +75,8 @@
CleanupClosePushL( rowData );
rowData.AppendL( TColumn( aNamespaceDefId ) );
- rowData.AppendL( TColumn( GetName().AllocL() ) );
+ rowData.AppendL( TColumn( GetName().AllocLC() ) );
+ CleanupStack::Pop(); //name
TDefId id = MMdSIndexer::ExecuteAndGetIndexL( KMdsSqlClauseAddRelationDef, rowData );
if ( id != KNoDefId )
{
--- a/metadataengine/server/src/mdsschema.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsschema.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -256,7 +256,7 @@
{
// add base objectdef[number]
clause->BufferL().Format( KBaseObjectDefinition, &MdeConstants::Object::KBaseObject, namespaceDefId );
- TRAP_IGNORE( connection.ExecuteL( clause->ConstBufferL(), emptyRowData ) );
+ connection.ExecuteL( clause->ConstBufferL(), emptyRowData );
// add relations[number]
clause->BufferL().Format( KCreateRelationsTable, namespaceDefId );
@@ -320,7 +320,8 @@
// add updateremovedrelations[number]
clauseTrigger->ReserveSpaceL( KMdsTriggerUpdateRemovedRelation().Size() + ( KMaxUintValueLength * 5 ) );
- clauseTrigger->BufferL().Format( KMdsTriggerUpdateRemovedRelation, namespaceDefId, namespaceDefId, EMdERelationFlagNotPresent | EMdERelationFlagDeleted, EMdERelationFlagNotPresent | EMdERelationFlagDeleted, namespaceDefId );
+ clauseTrigger->BufferL().Format( KMdsTriggerUpdateRemovedRelation, namespaceDefId, namespaceDefId,
+ EMdERelationFlagNotPresent | EMdERelationFlagDeleted, EMdERelationFlagNotPresent | EMdERelationFlagDeleted, namespaceDefId );
connection.ExecuteL( clauseTrigger->ConstBufferL(), emptyRowData );
// add relationleftobjectidindex[number]
@@ -357,7 +358,7 @@
AddObjectToSqlClauseL( objectDef, clause, ETrue );
clause->AppendL( KMdsSqlClauseObjTableEnd );
- TRAP_IGNORE( connection.ExecuteL( clause->ConstBufferL(), emptyRowData ) );
+ connection.ExecuteL( clause->ConstBufferL(), emptyRowData );
objectDef->SetTableStoredInDB();
}
@@ -393,6 +394,7 @@
CleanupClosePushL( emptyRowData );
clause->BufferL().Format( KMdsPropertyIndexCreate, &aTableName, &aPropertyName, aNamespaceId,
&aTableName, aNamespaceId, &aPropertyName );
+ // Ignore possible SQL error, MDS can still live without this index
TRAP_IGNORE( connection.ExecuteL( clause->ConstBufferL(), emptyRowData ) );
CleanupStack::PopAndDestroy( 2, clause ); // emptyRowData, clause
}
@@ -408,9 +410,6 @@
CreateObjectTablesL();
StoreSchemaToDBL();
CreateCol2PropTableL();
-
- transaction.CommitL();
- CleanupStack::PopAndDestroy( &transaction );
TUint propertyCount = iProperties.Count();
for ( TUint i = 0; i < propertyCount; ++i )
@@ -419,6 +418,10 @@
CreatePropertyIndexL( propertyInfo.iPropertyName, propertyInfo.iTableName,
propertyInfo.iNamespaceId );
}
+
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+
iProperties.Reset();
}
@@ -564,7 +567,7 @@
for (TUint i = 0; i < KNumClauses; i++)
{
TRAP( error,connection.ExecuteL( (*descarray)[i], emptyRowData ) );
- if ( error != KErrNone && error != KSqlErrGeneral )
+ if ( error != KErrNone )
{
User::Leave( error );
}
@@ -574,12 +577,26 @@
const TInt count = iNamespaceDefs.Count();
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
// add only namespaceDef to DB
for( TInt i = 0; i < count; ++i )
{
iNamespaceDefs[i]->StoreToDBL( ETrue );
}
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
CleanupStack::PopAndDestroy( &emptyRowData );
}
@@ -588,6 +605,16 @@
_LIT( KMdsSqlClauseDeleteBoFromOd, "DELETE FROM ObjectDef WHERE ObjectDefId=?;" );
_LIT( KMdsSqlClauseDeleteBoFromPd, "DELETE FROM PropertyDef WHERE ObjectDefId=?;" );
+ CMdSSqLiteConnection& connection = MMdSDbConnectionPool::GetDefaultDBL();
+
+ RMdSTransaction transaction( connection );
+ CleanupClosePushL(transaction);
+ const TInt beginError( transaction.Error() );
+ if( beginError != KErrNone )
+ {
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
iBaseObject->StoreToDBL( KNoDefId );
const TInt count = iNamespaceDefs.Count();
@@ -598,11 +625,16 @@
iNamespaceDefs[i]->StoreToDBL();
}
+ if( beginError == KErrNone )
+ {
+ transaction.CommitL();
+ CleanupStack::PopAndDestroy( &transaction );
+ }
+
RRowData removeBo;
CleanupClosePushL( removeBo );
removeBo.AppendL( TColumn( KBaseObjectDefId ) );
- CMdSSqLiteConnection& connection = MMdSDbConnectionPool::GetDefaultDBL();
TRAPD( err, connection.ExecuteL( KMdsSqlClauseDeleteBoFromOd, removeBo ) );
TRAP ( err, connection.ExecuteL( KMdsSqlClauseDeleteBoFromPd, removeBo ) );
--- a/metadataengine/server/src/mdsserver.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsserver.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -853,11 +853,11 @@
User::LeaveIfError( fs.Connect() );
CleanupClosePushL( fs );
- RFileReadStream tmpFile;
TBuf<KMaxFileName> privatePath;
TBuf<KMaxFileName> schema;
TBuf<KMaxFileName> defaultImportProfile;
TBuf<KMaxFileName> backupRegistration;
+ RFileReadStream tmpFile;
fs.PrivatePath( privatePath );
@@ -887,7 +887,7 @@
else if ( err == KErrPathNotFound)
{
// Create private dir
- fs.CreatePrivatePath( EDriveC );
+ User::LeaveIfError( fs.CreatePrivatePath( EDriveC ) );
// Copy schema.mde
const TInt error = fileMan->Copy( KSchemaPath, schema, CFileMan::EOverWrite );
@@ -909,7 +909,7 @@
else if ( err == KErrPathNotFound)
{
// Create private dir
- fs.CreatePrivatePath( EDriveC );
+ User::LeaveIfError( fs.CreatePrivatePath( EDriveC ) );
// Copy schema.mde
const TInt error1 = fileMan->Copy( KDefaultImportProfilePath, defaultImportProfile, CFileMan::EOverWrite );
@@ -931,7 +931,7 @@
else if ( err == KErrPathNotFound)
{
// Create private dir
- fs.CreatePrivatePath( EDriveC );
+ User::LeaveIfError( fs.CreatePrivatePath( EDriveC ) );
// Copy schema.mde
const TInt error2 = fileMan->Copy( KBackupRegistrationPath, backupRegistration, CFileMan::EOverWrite );
--- a/metadataengine/server/src/mdsserversession.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdsserversession.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -741,7 +741,7 @@
User::Leave( KErrArgument );
}
RBuf uri;
- uri.Create( uriLength );
+ uri.CreateL( uriLength );
CleanupClosePushL( uri );
aMsg.ReadL( ECheckObjectArgTypeValue, uri );
buffer = iServer.Manipulate().CheckObjectL( resultBufferLength, uri, namespaceDefId );
@@ -1235,7 +1235,7 @@
}
RBuf fileName;
- fileName.Create( fileNameLength );
+ fileName.CreateL( fileNameLength );
CleanupClosePushL( fileName );
aMsg.ReadL( 0, fileName );
@@ -1259,7 +1259,7 @@
}
RBuf fileName;
- fileName.Create( fileNameLength );
+ fileName.CreateL( fileNameLength );
CleanupClosePushL( fileName );
aMsg.ReadL( 0, fileName );
@@ -1287,7 +1287,7 @@
}
RBuf fileName;
- fileName.Create( fileNameLength );
+ fileName.CreateL( fileNameLength );
CleanupClosePushL( fileName );
aMsg.ReadL( 0, fileName );
@@ -1374,7 +1374,7 @@
const TInt32 KMediaInfoSize = sizeof( TMdEMediaInfo ) * KMaxDrives;
RBuf8 mediaInfoBuffer;
- mediaInfoBuffer.Create( KMediaInfoSize );
+ mediaInfoBuffer.CreateL( KMediaInfoSize );
CleanupClosePushL( mediaInfoBuffer );
const TInt32 mediaCount = iServer.Manipulate().GetPresentMediasL(
@@ -1495,12 +1495,12 @@
}
RBuf oldPath;
- oldPath.Create( oldPathLength );
+ oldPath.CreateL( oldPathLength );
CleanupClosePushL( oldPath );
aMessage.ReadL( 0, oldPath );
RBuf newPath;
- newPath.Create( newPathLength );
+ newPath.CreateL( newPathLength );
CleanupClosePushL( newPath );
aMessage.ReadL( 1, newPath );
--- a/metadataengine/server/src/mdssqliteconnection.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdssqliteconnection.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -96,28 +96,46 @@
}
/**
* Open database:
- * First we try to create new db. If this fails check if db already exists and
- * try to open it. Otherwise we cannot open it and we leave
+ * First we try to open db. If this fails because db not creater yer, then
+ * try to create it. Otherwise we cannot open it and we leave
*/
- err = iMdeSqlDb.Create( *iDbFileName, sqlSecurityPolicy, &KMdsSqlDbaConfig );
+ err = iMdeSqlDb.Open( *iDbFileName, &KMdsSqlDbaConfig );
if ( err != KErrNone )
- {
- // it could fail because database exists
- if ( err == KErrAlreadyExists )
- {
- err = iMdeSqlDb.Open( *iDbFileName, &KMdsSqlDbaConfig );
- if ( err != KErrNone )
- {
- __LOG1( ELogDb, "Cannot open database %d", err );
- }
- }
- else
- {
- __LOG1( ELogDb, "Unknown error while creating %d", err );
- }
-
- User::LeaveIfError( err );
- }
+ {
+ __LOG1( ELogDb, "Cannot open database %d", err );
+
+ if( err == KErrNotFound )
+ {
+ __LOG1( ELogDb, "Cannot find database %d", err );
+ err = iMdeSqlDb.Create( *iDbFileName, sqlSecurityPolicy, &KMdsSqlDbaConfig );
+ if( err != KErrNone )
+ {
+ __LOG1( ELogDb, "Unknown error while creating %d", err );
+ User::LeaveIfError( err );
+ }
+ }
+ else if( err == KErrCorrupt ||
+ err == KSqlErrCorrupt )
+ {
+ __LOGLB( ELogDb, "Warning: Database is corrupted, will delete and re-create it." );
+ err = DeleteAndReCreateDB( iDbFileName, sqlSecurityPolicy, &KMdsSqlDbaConfig );
+
+ if ( KErrNone == err )
+ {
+ err = iMdeSqlDb.Open( *iDbFileName, &KMdsSqlDbaConfig );
+ if ( err != KErrNone )
+ {
+ __LOG1( ELogDb, "Cannot open database again after delete and re-create %d", err );
+ User::LeaveIfError( err );
+ }
+ }
+ }
+ else
+ {
+ __LOG1( ELogDb, "Unknown error while accessing database %d", err );
+ User::LeaveIfError( err );
+ }
+ }
CleanupStack::PopAndDestroy( &sqlSecurityPolicy );
}
@@ -335,6 +353,11 @@
}
}
+TItemId CMdSSqLiteConnection::LastInsertedRowId()
+ {
+ return iMdeSqlDb.LastInsertedRowId();
+ }
+
void CMdSSqLiteConnection::ColumnsL( const RSqlStatement& aStatement, RRowData& aRow )
{
const TInt count( aRow.Size() );
@@ -580,3 +603,20 @@
}
}
+
+TInt CMdSSqLiteConnection::DeleteAndReCreateDB( const HBufC* aDbFileName,
+ const RSqlSecurityPolicy& asqlSecurityPolicy,
+ const TDesC8* aKMdsSqlDbaConfig )
+ {
+ TInt err = iMdeSqlDb.Delete( *aDbFileName );
+ if( err!= KErrNone )
+ {
+ __LOG1( ELogDb, "delete database err=%d.", err );
+ return err;
+ }
+
+ err = iMdeSqlDb.Create( *aDbFileName, asqlSecurityPolicy, aKMdsSqlDbaConfig );
+
+ return err;
+ }
+
--- a/metadataengine/server/src/mdssqlobjectmanipulate.cpp Fri Feb 19 23:14:48 2010 +0200
+++ b/metadataengine/server/src/mdssqlobjectmanipulate.cpp Fri Mar 12 15:44:28 2010 +0200
@@ -191,21 +191,18 @@
void CMdSSqlObjectManipulate::ConstructL( )
{
-
iGenerator = CMdSIdentifierGenerator::NewL();
iNamespaceDef = NULL;
- TLockBuffer lockBuffer;
- lockBuffer.iLock = EFalse;
for (TInt i = 0; i < KMaxBuffers; ++i)
{
- CMdsClauseBuffer* buffer = CMdsClauseBuffer::NewLC( 1024 );
- lockBuffer.iBuffer = buffer;
+ TLockBuffer lockBuffer;
+ lockBuffer.iLock = EFalse;
+ lockBuffer.iBuffer = CMdsClauseBuffer::NewLC( 1024 );
iBuffers.AppendL( lockBuffer );
CleanupStack::Pop(); // buffer
}
-
}
TBool CMdSSqlObjectManipulate::GarbageCollectionL()
@@ -2057,7 +2054,11 @@
if (!dataRow.Column(1).IsNull())
{
dataRow.Column(1).Get( relationId );
- aRelationIds.InsertInOrder( relationId, TLinearOrder<TItemId>( CompareTItemIds ) );
+ const TInt error( aRelationIds.InsertInOrder( relationId, TLinearOrder<TItemId>( CompareTItemIds ) ) );
+ if( error == KErrNoMemory )
+ {
+ User::Leave( error );
+ }
}
else
{
@@ -3266,11 +3267,18 @@
{
if (!iBuffers[i].iLock)
{
- iBuffers[i].iLock = ETrue;
- iBuffer = iBuffers[i].iBuffer;
+ iBuffers[i].iLock = ETrue;
+ CMdsClauseBuffer* oldBuffer( iBuffer );
+ iBuffer = iBuffers[i].iBuffer;
+ TRAPD( error, iBuffer->ReserveSpaceL(aSize) );
+ if( error != KErrNone )
+ {
+ iBuffer = oldBuffer;
+ iBuffers[i].iLock = EFalse;
+ continue;
+ }
+ TRAP_IGNORE( iBuffer->BufferL().Zero() );
iNr = i;
- TRAP_IGNORE( iBuffer->ReserveSpaceL(aSize) );
- TRAP_IGNORE( iBuffer->BufferL().Zero() );
return;
}
}
Binary file sis/mds/mds_stub.sis has changed
--- a/sis/mds/package.pkg Fri Feb 19 23:14:48 2010 +0200
+++ b/sis/mds/package.pkg Fri Mar 12 15:44:28 2010 +0200
@@ -17,7 +17,7 @@
&EN
;packet-header (name, uid, major, minor, build, type)
-#{"Metadata System Upgrade"},(0x200009F5), 9, 20, 4, TYPE=SA, RU
+#{"Metadata System Upgrade"},(0x200009F5), 9, 20, 6, TYPE=SA, RU
; Localised vendor name
%{"Nokia"}
--- a/sis/mds/package_separate.pkg Fri Feb 19 23:14:48 2010 +0200
+++ b/sis/mds/package_separate.pkg Fri Mar 12 15:44:28 2010 +0200
@@ -17,7 +17,7 @@
&EN
;packet-header (name, uid, major, minor, build, type)
-#{"Metadata System Upgrade"},(0x200009F5), 9, 20, 4, TYPE=SA, RU
+#{"Metadata System Upgrade"},(0x200009F5), 9, 20, 6, TYPE=SA, RU
; Localised vendor name
%{"Nokia"}
--- a/sis/mds/stub.pkg Fri Feb 19 23:14:48 2010 +0200
+++ b/sis/mds/stub.pkg Fri Mar 12 15:44:28 2010 +0200
@@ -17,7 +17,7 @@
&EN
; Header
-#{"Metadata System"}, (0x200009F5), 9, 20, 4, TYPE=SA
+#{"Metadata System"}, (0x200009F5), 9, 20, 6, TYPE=SA
; Localised Vendor name
%{"Nokia"}
--- a/watchdog/group/bld.inf Fri Feb 19 23:14:48 2010 +0200
+++ b/watchdog/group/bld.inf Fri Mar 12 15:44:28 2010 +0200
@@ -24,4 +24,5 @@
../sis/mdswatchdog_stub.sis /epoc32/data/z/system/install/mdswatchdog_stub.sis
PRJ_MMPFILES
-watchdog.mmp
\ No newline at end of file
+watchdog.mmp
+