# HG changeset patch # User hgs # Date 1286885533 -19800 # Node ID a62b67d1f67c8c09479025f71538d87a51cd3210 # Parent 262aa4f075d6f56721c0319cc22763afe76b40d4 201041 diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/clients/pcconn/bld/sconpcconnclient.mmp --- a/connectivitymodules/SeCon/clients/pcconn/bld/sconpcconnclient.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/clients/pcconn/bld/sconpcconnclient.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -31,7 +31,7 @@ TARGETPATH sys/bin -#if defined(ARMCC) +#if defined(EABI) DEFFILE ./def/eabiu #elif defined(WINSCW) DEFFILE ./def/bwinscw diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/cntparser/bld/cntparsersrv.mmp --- a/connectivitymodules/SeCon/cntparser/bld/cntparsersrv.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/cntparser/bld/cntparsersrv.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -29,7 +29,7 @@ UID 0x10009d8d 0x101F99F8 -#if defined(ARMCC) +#if defined(EABI) DEFFILE ./def/eabiu #elif defined(WINSCW) DEFFILE ./def/bwinscw @@ -58,4 +58,3 @@ LIBRARY bafl.lib DEBUGLIBRARY flogger.lib - diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/servers/pcconn/bld/sconpcconnserver.mmp --- a/connectivitymodules/SeCon/servers/pcconn/bld/sconpcconnserver.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/servers/pcconn/bld/sconpcconnserver.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -21,8 +21,7 @@ #include VENDORID VID_DEFAULT - -CAPABILITY CAP_SERVER TrustedUI +CAPABILITY ReadDeviceData WriteDeviceData SwEvent NetworkServices ReadUserData WriteUserData LocalServices TrustedUI TARGET sconpcconnserver.exe TARGETTYPE exe @@ -62,7 +61,6 @@ LIBRARY estor.lib // RMemWriteStream, RMemReadStream LIBRARY efsrv.lib // Rfs, RFile LIBRARY charconv.lib // For Unicode conversion - LIBRARY etel3rdparty.lib LIBRARY platformenv.lib // For pathinfo LIBRARY directorylocalizer.lib // For localizing directories diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/servers/pcconn/inc/sconpcconnclientserver.h --- a/connectivitymodules/SeCon/servers/pcconn/inc/sconpcconnclientserver.h Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/servers/pcconn/inc/sconpcconnclientserver.h Tue Oct 12 17:42:13 2010 +0530 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -48,7 +48,7 @@ // Chunk const TUint KSConPCConnChunkSize = 128; -const TUint KSConPCConnChunkMaxSize = 65536; +const TUint KSConPCConnChunkMaxSize = 0x100000; // 1048576 bytes const TUint KSConPCConnBufferMaxSize = 65000; // Version number diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/servers/syncserver/group/sconsyncserver.mmp --- a/connectivitymodules/SeCon/servers/syncserver/group/sconsyncserver.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/servers/syncserver/group/sconsyncserver.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -29,8 +29,9 @@ UID 0x0 0x2001A964 VENDORID VID_DEFAULT -EPOCSTACKSIZE 0x2000 -EPOCHEAPSIZE 0x500 0x800000 // minimum and maximum heap sizes +// Use same stack and heap sizes than nsmldshostserver2.exe +EPOCSTACKSIZE 0x14000 +EPOCHEAPSIZE 0x020000 0x800000 // minimum and maximum heap sizes SOURCEPATH ../src SOURCE sconsyncserver.cpp diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/servers/syncserver/src/sconasynchandler.cpp --- a/connectivitymodules/SeCon/servers/syncserver/src/sconasynchandler.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/servers/syncserver/src/sconasynchandler.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -42,8 +42,9 @@ const TInt KMaxStoresCount = 10; const TInt KDefaultTimeOutInMicroSeconds = 30 * 1000000; // 30 seconds -const TInt KDeleteAllTimeOutInMicroSeconds = 300 * 1000000; // 5 minutes -const TInt KOpenStoreTimeOutInMicroSeconds = 180 * 1000000; // 180 seconds +const TInt KDeleteAllTimeOutInMicroSeconds = 540 * 1000000; // 9 minutes +const TInt KOpenStoreTimeOutInMicroSeconds = 540 * 1000000; // 9 minutes +const TInt KResetChangeInfoTimeOutInMicroSeconds = 540 * 1000000; // 9 minutes CSconAsyncHandler::~CSconAsyncHandler() { @@ -180,6 +181,7 @@ MovedItemsL(); break; case EResetChangeInfo: + iTimeOut->Start( KResetChangeInfoTimeOutInMicroSeconds ); ResetChangeInfoL(); break; case ECommitChangeInfo: diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/servers/syncserver/src/sconsyncserver.cpp --- a/connectivitymodules/SeCon/servers/syncserver/src/sconsyncserver.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/servers/syncserver/src/sconsyncserver.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -144,6 +144,12 @@ LOCAL_C void ExeMainL() { TRACE_FUNC_ENTRY; + + // Temporary Workaround for Kernel Issue (ou1cimx1#131074) + // Load libc here because otherwise plugins which link to Qt will result in libc constructors being called twice + RLibrary lib; + lib.Load(_L("libc")); + // Install active scheduler CActiveScheduler* scheduler = new(ELeave) CActiveScheduler; CleanupStack::PushL(scheduler); diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/csc/bld/101f99f6.xml Binary file connectivitymodules/SeCon/services/csc/bld/101f99f6.xml has changed diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/csc/bld/sconcsc.mmp --- a/connectivitymodules/SeCon/services/csc/bld/sconcsc.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/csc/bld/sconcsc.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -30,7 +30,7 @@ TARGETTYPE DLL UID 0x10009D8D 0x101F9698 -#if defined(ARMCC) +#if defined(EABI) DEFFILE ./def/eabiu #elif defined(WINSCW) DEFFILE ./def/bwinscw diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/ftp/bld/sconftp.mmp --- a/connectivitymodules/SeCon/services/ftp/bld/sconftp.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/ftp/bld/sconftp.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -28,7 +28,7 @@ UID 0x10009D8D 0x101F968A -#if defined(ARMCC) +#if defined(EABI) DEFFILE ./def/eabiu #elif defined(WINSCW) DEFFILE ./def/bwinscw diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/bld/sconpcd.mmp --- a/connectivitymodules/SeCon/services/pcd/bld/sconpcd.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/pcd/bld/sconpcd.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -30,14 +30,14 @@ TARGETTYPE DLL UID 0x10009D8D 0x101F968B -#if defined(ARMCC) -DEFFILE ./def/eabiu -#elif defined(WINSCW) -DEFFILE ./def/bwinscw +#if defined(EABI) +DEFFILE ./def/eabiu +#elif defined(WINSCW) +DEFFILE ./def/bwinscw #elif defined(WINS) -DEFFILE ./def/bwins +DEFFILE ./def/bwins #elif defined(ARM) -DEFFILE ./def/bmarm +DEFFILE ./def/bmarm #endif SOURCEPATH ../src @@ -48,7 +48,6 @@ SOURCE sconinstaller.cpp SOURCE sconbackuprestore.cpp SOURCE sconsbeclient.cpp -SOURCE sconpcdutility.cpp SOURCE sconmetadata.cpp SOURCE sconvideoparser.cpp SOURCE sconsynchandler.cpp @@ -66,16 +65,11 @@ APP_LAYER_SYSTEMINCLUDE -LIBRARY euser.lib -LIBRARY swinstcli.lib +LIBRARY euser.lib LIBRARY sbeclient.lib -LIBRARY sisregistryclient.lib -LIBRARY javaregistryclient.lib LIBRARY platformenv.lib LIBRARY efsrv.lib LIBRARY sysutil.lib -LIBRARY commonengine.lib // For resource reader -// LIBRARY widgetregistryclient.lib LIBRARY metadatautility.lib LIBRARY exiflib.lib LIBRARY charconv.lib @@ -86,13 +80,13 @@ LIBRARY imageconversion.lib // for CImageEncoder LIBRARY mmfcontrollerframework.lib // for CMMFMetaDataEntry LIBRARY bafl.lib // for BaflUtils - LIBRARY ecom.lib LIBRARY estor.lib // CDictionaryFileStore LIBRARY sconsyncclient.lib LIBRARY smlstoreformat.lib -LIBRARY centralrepository.lib +LIBRARY centralrepository.lib LIBRARY sif.lib +LIBRARY scrclient.lib DEBUGLIBRARY flogger.lib // End of file diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/inc/sconinstaller.h --- a/connectivitymodules/SeCon/services/pcd/inc/sconinstaller.h Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/pcd/inc/sconinstaller.h Tue Oct 12 17:42:13 2010 +0530 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -109,28 +109,10 @@ */ void ProcessUninstallL( const CSConUninstall& aUninstallParams ); - //void UninstallSisL( const CSConUninstall& aUninstallParams ); - //void UninstallJavaL( const TUid& aUid, const TSConInstallMode aMode ); - //void UninstallWidget( const TUid& aUid, const TSConInstallMode aMode ); - void DeleteFile( const TDesC& aPath ); + void StrCopyL( const TDesC& aSrc, TDes& aDest ); private: - enum TInstallerState - { - EIdle = 0, - EInstalling, - ESilentInstalling, - EUninstalling, - ESilentUninstalling, - ECustomUninstalling, - ESilentCustomUnistalling, - EListingInstalledApps - }; - //TInstallerState iInstallerState; CSConInstallerQueue* iQueue; // Not owned - //SwiUI::RSWInstLauncher iSWInst; - //SwiUI::TInstallOptions iOptions; - //SwiUI::TInstallOptionsPckg iOptionsPckg; Usif::RSoftwareInstall iSwInstaller; Usif::COpaqueNamedParams* iSifOptions; Usif::COpaqueNamedParams* iSifResults; diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/inc/sconmetadatafielddefs.h --- a/connectivitymodules/SeCon/services/pcd/inc/sconmetadatafielddefs.h Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/pcd/inc/sconmetadatafielddefs.h Tue Oct 12 17:42:13 2010 +0530 @@ -46,6 +46,8 @@ const TUint8 KSconAudioUniqueFileIdentifier( 0x11 ); const TUint8 KSconAudioDuration ( 0x12 ); const TUint8 KSconAudioDate ( 0x13 ); +const TUint8 KSconAudioUnsyncLyrics ( 0x14 ); +const TUint8 KSconAudioProtected ( 0x15 ); // fields for exif const TUint8 KSconExifThumbnail ( 0x01 ); diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/inc/sconpcdutility.h --- a/connectivitymodules/SeCon/services/pcd/inc/sconpcdutility.h Tue Sep 28 18:46:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: SConPcdUtility header file -* -*/ - - -#ifndef __CSCONPCDUTILITY_H__ -#define __CSCONPCDUTILITY_H__ - - -class CSConTask; -class CSConInstApp; -class CSConListInstApps; -//============================================================ -// Class TSConPcdUtility declaration -//============================================================ -NONSHARABLE_CLASS ( SConPcdUtility ) - { - public: // Methods - - static void ProcessListInstalledAppsL( CSConTask*& aTask ); - - private: // Methods - static void AppendInstalledSisL( CSConListInstApps& aListInstApps ); - static void AppendInstalledJavaL( CSConListInstApps& aListInstApps ); - static void AppendInstalledWidgetsL( CSConListInstApps& aListInstApps ); - - /** - * Checks if package is installed to selected drive - * @param aSelectedDriveList selected drives - * @param aInstalledDrives package drivemask - * @return ETrue if package is installed to one of the drives on aDriveList - */ - static TBool IsInstalledToSelectedDrive( const TDriveList& aSelectedDriveList, TUint aInstalledDrives ); - - }; - -#endif // __CSCONPCDUTILITY_H__ diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/src/sconinstaller.cpp --- a/connectivitymodules/SeCon/services/pcd/src/sconinstaller.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/pcd/src/sconinstaller.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -19,16 +19,15 @@ // INCLUDE FILES #include // For RBufWriteStream #include // for CnvUtfConverter -//#include -#include +#include +#include +#include using namespace Usif; #include "debug.h" #include "sconinstaller.h" #include "sconpcdconsts.h" -#include "sconpcdutility.h" - const TInt KSConSeConUidValue = 0x101f99f6; const TUid KSConSeConUid = {KSConSeConUidValue}; @@ -194,30 +193,8 @@ void CSConAppInstaller::DoCancel() { TRACE_FUNC_ENTRY; - LOGGER_WRITE("Cancel iSwInstaller"); iSwInstaller.CancelOperation(); - /* - // find and complete current task - CSConTask* task = NULL; - TInt ret = iQueue->GetTask( iCurrentTask, task ); - - if ( iCurrentTask > 0 && ret != KErrNotFound ) - { - - switch( task->GetServiceId() ) - { - case EInstall : - iQueue->CompleteTask( iCurrentTask, KErrCancel ); - break; - case EUninstall : - iQueue->CompleteTask( iCurrentTask, KErrCancel ); - break; - default : - break; - } - } - */ TRACE_FUNC_EXIT; } @@ -251,7 +228,7 @@ { LOGGER_WRITE( "CSConAppInstaller::RunL() : before DeleteFile" ); //delete sis after succesfull install - DeleteFile( task->iInstallParams->iPath ); + iFs.Delete( task->iInstallParams->iPath ); } } @@ -275,7 +252,7 @@ ExternalizeResultArrayIntValL( KSifOutParam_ComponentId , stream); ExternalizeResultIntValL( KSifOutParam_ErrCategory , stream); ExternalizeResultIntValL( KSifOutParam_ErrCode , stream); - ExternalizeResultIntValL( KSifOutParam_ExtendedErrCode , stream); + //ExternalizeResultIntValL( KSifOutParam_ExtendedErrCode , stream); ExternalizeResultStringValL( KSifOutParam_ErrMessage , stream); ExternalizeResultStringValL( KSifOutParam_ErrMessageDetails , stream); @@ -414,17 +391,17 @@ LOGGER_WRITE( "Begin silent installation.. " ); iSifOptions->AddIntL( Usif::KSifInParam_InstallSilently, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_PerformOCSP, EFalse ); + iSifOptions->AddIntL( Usif::KSifInParam_PerformOCSP, Usif::ENotAllowed ); // Note if upgrade is allowed, see NeedsInstallingL function. - iSifOptions->AddIntL( Usif::KSifInParam_AllowUpgrade, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_AllowUntrusted, EFalse ); - iSifOptions->AddIntL( Usif::KSifInParam_GrantCapabilities, EFalse ); + iSifOptions->AddIntL( Usif::KSifInParam_AllowUpgrade, Usif::EAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_AllowUntrusted, Usif::ENotAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_GrantCapabilities, Usif::ENotAllowed ); // Defined for the install. - iSifOptions->AddIntL( Usif::KSifInParam_InstallOptionalItems, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_IgnoreOCSPWarnings, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_AllowAppShutdown, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_AllowDownload, ETrue ); - iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, ETrue ); + iSifOptions->AddIntL( Usif::KSifInParam_InstallOptionalItems, Usif::EAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_IgnoreOCSPWarnings, Usif::EAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_AllowAppShutdown, Usif::EAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_AllowDownload, Usif::EAllowed ); + iSifOptions->AddIntL( Usif::KSifInParam_AllowOverwrite, Usif::EAllowed ); iSwInstaller.Install( aInstallParams.iPath, *iSifOptions, *iSifResults, iStatus, ETrue ); @@ -488,19 +465,78 @@ CSConTask* task = NULL; User::LeaveIfError( iQueue->GetTask( iCurrentTask, task ) ); - SConPcdUtility::ProcessListInstalledAppsL( task ); + CSConListInstApps& listInstApps = *task->iListAppsParams; + Usif::RSoftwareComponentRegistry scr; + User::LeaveIfError( scr.Connect() ); + CleanupClosePushL( scr ); + + RArray componentList; + CleanupClosePushL( componentList ); + Usif::CComponentFilter* filter = Usif::CComponentFilter::NewLC(); + + if ( listInstApps.iAllApps ) + { + TDriveList driveList; + // Get all drives that are visible to the user. + TInt driveCount; + User::LeaveIfError( DriveInfo::GetUserVisibleDrives( iFs, driveList, driveCount ) ); + filter->SetInstalledDrivesL( driveList ); + } + else + { + filter->SetInstalledDrivesL( listInstApps.iDriveList ); + } + + scr.GetComponentIdsL( componentList, filter); + + CleanupStack::PopAndDestroy( filter ); + LOGGER_WRITE_1("components found: %d", componentList.Count()); + for (int i=0; iName(), app->iName ); + StrCopyL( entry->Vendor(), app->iVendor ); + app->iSize = entry->ComponentSize(); + StrCopyL( entry->Version(), app->iVersion ); + app->iWidgetBundleId = entry->GlobalId().AllocL(); + + app->iUid.iUid = componentList[i]; + + if ( entry->SoftwareType().Match( Usif::KSoftwareTypeNative ) == 0 ) + { + app->iType = ESisApplication; + } + else if ( entry->SoftwareType().Match( Usif::KSoftwareTypeJava ) == 0 ) + { + app->iType = EJavaApplication; + } + else if ( entry->SoftwareType().Match( Usif::KSoftwareTypeWidget ) == 0 ) + { + app->iType = EWidgetApplication; + } + + User::LeaveIfError( listInstApps.iApps.Append( app ) ); + CleanupStack::Pop( app ); + + CleanupStack::PopAndDestroy( entry ); + } + CleanupStack::PopAndDestroy( &componentList ); + CleanupStack::PopAndDestroy( &scr ); TRACE_FUNC_EXIT; } -// ----------------------------------------------------------------------------- -// CSConAppInstaller::DeleteFile( const TDesC& aPath ) -// Deletes a file -// ----------------------------------------------------------------------------- -// -void CSConAppInstaller::DeleteFile( const TDesC& aPath ) +void CSConAppInstaller::StrCopyL( const TDesC& aSrc, TDes& aDest ) { - TRACE_FUNC; - iFs.Delete( aPath ); + if (aSrc.Size() > aDest.MaxSize()) + User::Leave(KErrTooBig); + aDest.Copy( aSrc ); } // End of file diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp --- a/connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/services/pcd/src/sconmetadata.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -210,8 +210,8 @@ // get field id fields.FieldIdAt( i , fieldId ); LOGGER_WRITE_2( "AudioFieldId( %d ): 0x%02x", i, fieldId ); - - if ( fieldId == EMetaDataJpeg ) + TUint8 sconFieldId = AudioFieldId( fieldId ); + if ( sconFieldId == KSconAudioJpeg ) { TPtrC8 field8( fields.Field8( fieldId ) ); AppendByteDataFieldL( @@ -219,13 +219,16 @@ field8, AudioFieldId( fieldId ) ); } - else + else if ( sconFieldId > 0 ) { // get field data and add UTF-8 formatted text to buffer fieldData.Set( fields.At( i , fieldId ) ); - AppendUtf8DataFieldL( buffer, fieldData, AudioFieldId( fieldId ) ); + AppendUtf8DataFieldL( buffer, fieldData, sconFieldId ); } - + else + { + LOGGER_WRITE("Unknown field skipped"); + } } if ( buffer->Size() > 0 ) @@ -426,6 +429,12 @@ case EMetaDataDate : ret = KSconAudioDate; break; + case EMetaDataUnsyncLyrics: + ret = KSconAudioUnsyncLyrics; + break; + case EMetaDataProtected: + ret = KSconAudioProtected; + break; default : LOGGER_WRITE( "SConMetadata::AudioFieldId : ERR field not defined!" ); break; @@ -1039,7 +1048,8 @@ } } } - _LIT(KFormat, "%.0f°%.0f'%.2f\"" ); + + _LIT(KFormat, "%.0f\xB0%.0f'%.2f\"" ); aPosDegrees.Format( KFormat, degrees, minutes, seconds ); TRACE_FUNC_EXIT; return KErrNone; diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/services/pcd/src/sconpcdutility.cpp --- a/connectivitymodules/SeCon/services/pcd/src/sconpcdutility.cpp Tue Sep 28 18:46:16 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,418 +0,0 @@ -/* -* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: SConPcdUtility implementation -* -*/ - - -// CLASS HEADER -#include -#include -#include -#include -// #include -#include -#include -#include -#include // Resource to be read header - -using namespace Java; - -#include "debug.h" -#include "sconpcdutility.h" -#include "sconconmltask.h" - -// localized "unknown vendor". -_LIT( KSConResourceName, "z:\\Resource\\sconftp.rsc" ); - - - -// METHODS -//---------------------------------------------------------------------------- -// void SConPcdUtility::ProcessListInstalledAppsL( CSConTask*& aTask ) -//---------------------------------------------------------------------------- -// -void SConPcdUtility::ProcessListInstalledAppsL( CSConTask*& aTask ) - { - TRACE_FUNC_ENTRY; - - LOGGER_WRITE_1("iAllApps: %d",(TInt)aTask->iListAppsParams->iAllApps); - LOGGER_WRITE8_1("driveList: %S", &aTask->iListAppsParams->iDriveList); - - AppendInstalledSisL( *aTask->iListAppsParams ); - AppendInstalledJavaL( *aTask->iListAppsParams ); - AppendInstalledWidgetsL( *aTask->iListAppsParams ); - - TRACE_FUNC_EXIT; - } - -//---------------------------------------------------------------------------- -// void SConPcdUtility::AppendInstalledSisL( RPointerArray &aApps ) -// Appends installed sis packages and augmentations to aApps array. -//---------------------------------------------------------------------------- -// -void SConPcdUtility::AppendInstalledSisL( CSConListInstApps& aListInstApps ) - { - TRACE_FUNC_ENTRY; - // Get installed applications from sis registry - Swi::RSisRegistrySession sisRegistry; - CleanupClosePushL( sisRegistry ); - User::LeaveIfError( sisRegistry.Connect() ); - - RArray uids; - CleanupClosePushL(uids); - sisRegistry.InstalledUidsL( uids ); - - - //Read package information - for( TInt i = 0; i < uids.Count(); i++ ) - { - Swi::RSisRegistryEntry entry; - CleanupClosePushL(entry); - User::LeaveIfError( entry.Open( sisRegistry, uids[i] ) ); - - TBool showIt( EFalse ); - if ( aListInstApps.iAllApps ) - { - // show all apps -param defined, exlude stubs on ROM - if ( !entry.IsInRomL() ) - { - showIt = ETrue; - } - } - else - { - // show if installed one of the specified drives - // don't exlude stubs on ROM - showIt = IsInstalledToSelectedDrive( aListInstApps.iDriveList, - entry.InstalledDrivesL() ); - } - - // Only show if not in rom - if ( showIt && entry.IsPresentL() ) - { - // Add the created object to the list - LOGGER_WRITE_1( "SConPcdUtility::ProcessListInstalledAppsL : add pkg, index %d", i ); - CSConInstApp* app = new (ELeave) CSConInstApp(); - CleanupStack::PushL( app ); - - HBufC* temp = entry.PackageNameL(); - TPtrC tempPtr = temp->Des(); - LOGGER_WRITE_1("PackageNameL: %S", &tempPtr); - CleanupStack::PushL( temp ); - if ( temp->Length() > app->iName.MaxLength() ) - { - User::Leave( KErrTooBig ); - } - app->iName.Copy( *temp ); - CleanupStack::PopAndDestroy( temp ); - temp = NULL; - - temp = entry.UniqueVendorNameL(); - CleanupStack::PushL( temp ); - if ( temp->Length() > app->iVendor.MaxLength() ) - { - User::Leave( KErrTooBig ); - } - app->iVendor.Copy( *temp ); - CleanupStack::PopAndDestroy( temp ); - temp = NULL; - - app->iVersion.Copy( entry.VersionL().Name() ); - app->iType = ESisApplication; - app->iSize = entry.SizeL(); - app->iUid = entry.UidL(); - - User::LeaveIfError( aListInstApps.iApps.Append( app ) ); - CleanupStack::Pop( app ); - } - - // Get possible augmentations - RPointerArray augPackages; - CleanupResetAndDestroyPushL( augPackages ); - entry.AugmentationsL( augPackages ); - for ( TInt j( 0 ); j < augPackages.Count(); j++ ) - { - Swi::RSisRegistryEntry augmentationEntry; - CleanupClosePushL( augmentationEntry ); - augmentationEntry.OpenL( sisRegistry, *augPackages[j] ); - - TBool showIt( EFalse ); - if ( aListInstApps.iAllApps ) - { - // show all apps -param defined, exlude stubs on ROM - if ( !augmentationEntry.IsInRomL() ) - { - showIt = ETrue; - } - } - else - { - // show if installed one of the specified drives - // don't exlude stubs on ROM - showIt = IsInstalledToSelectedDrive( aListInstApps.iDriveList, - augmentationEntry.InstalledDrivesL() ); - } - - // Only show if not in rom - if ( showIt && augmentationEntry.IsPresentL() ) - { - CSConInstApp* augApp = new (ELeave) CSConInstApp(); - CleanupStack::PushL( augApp ); - augApp->iName.Copy( augPackages[j]->Name() ); - - HBufC* temp = entry.PackageNameL(); - CleanupStack::PushL( temp ); - if ( temp->Length() > augApp->iParentName.MaxLength() ) - { - User::Leave( KErrTooBig ); - } - augApp->iParentName.Copy( *temp ); - CleanupStack::PopAndDestroy( temp ); - temp = NULL; - - augApp->iVendor.Copy( augPackages[j]->Vendor() ); - augApp->iVersion.Copy( augmentationEntry.VersionL().Name() ); - augApp->iType = ESisAugmentation; - augApp->iSize = augmentationEntry.SizeL(); - augApp->iUid = augmentationEntry.UidL(); - - LOGGER_WRITE_1( "SConPcdUtility::ProcessListInstalledAppsL : add augmentation, index: %d", j ); - LOGGER_WRITE_1( "SConPcdUtility::ProcessListInstalledAppsL : add augmentation, basepkg: %d", i ); - TInt augindex = augPackages[j]->Index(); - LOGGER_WRITE_1( "SConPcdUtility::ProcessListInstalledAppsL : augindex: %d",augindex ); - User::LeaveIfError( aListInstApps.iApps.Append( augApp ) ); - CleanupStack::Pop( augApp ); - } - CleanupStack::PopAndDestroy( &augmentationEntry ); - } - CleanupStack::PopAndDestroy( &augPackages ); - CleanupStack::PopAndDestroy( &entry ); - } - - CleanupStack::PopAndDestroy(&uids); - CleanupStack::PopAndDestroy(&sisRegistry); - TRACE_FUNC_EXIT; - } - -//---------------------------------------------------------------------------- -// void SConPcdUtility::AppendInstalledJavaL( RPointerArray &aApps ) -// Appends installed java packages to aApps array. -//---------------------------------------------------------------------------- -// -void SConPcdUtility::AppendInstalledJavaL( CSConListInstApps& aListInstApps ) - { - TRACE_FUNC_ENTRY; - CJavaRegistry* javaRegistry = CJavaRegistry::NewLC( ); - RArray packageUids; - CleanupClosePushL( packageUids ); - javaRegistry->GetRegistryEntryUidsL( packageUids ); - LOGGER_WRITE_1("packageUids.Count(): %d", packageUids.Count()); - for (TInt i=0; iRegistryEntryL( packageUids[i] ); - if ( entry ) - { - CleanupStack::PushL( entry ); - if ( entry->Type() >= EGeneralPackage && entry->Type() < EGeneralApplication ) - { - // entry was correct type - CJavaRegistryPackageEntry* packageEntry = ( CJavaRegistryPackageEntry* ) entry; - - // check do we need to filter it out - TBool showIt( EFalse ); - if ( aListInstApps.iAllApps ) - { - showIt = ETrue; - } - else - { - TDriveNumber drive = packageEntry->Drive(); - if ( aListInstApps.iDriveList.Length() > drive - && aListInstApps.iDriveList[ drive ] ) - { - showIt = ETrue; - } - } - - if ( showIt ) - { - CSConInstApp* app = new (ELeave) CSConInstApp(); - CleanupStack::PushL( app ); - // Get Uid, name, type, vendor - app->iUid = packageEntry->Uid(); - app->iName.Copy ( packageEntry->Name() ); - LOGGER_WRITE_1( "Name: %S", &app->iName ); - app->iType = EJavaApplication; - - // Get version - TAppVersion midletVersion( packageEntry->Version() ); - TVersion verType(midletVersion.iMajor, midletVersion.iMinor, midletVersion.iBuild); - app->iVersion.Copy( verType.Name() ); - - // Get vendor - if ( entry->NumberOfCertificateChains() > 0 && packageEntry->Vendor().Length() > 0 ) - { - app->iVendor.Copy( packageEntry->Vendor() ); - } - else - { - // untrusted applications do not have certificates. - // if the application has a certificate, it is installed either as - // trusted or not installed at all. - - // unknown vendor - TFileName myFileName( KSConResourceName ); - CStringResourceReader* resReader = CStringResourceReader::NewL( myFileName ); - TPtrC bufUnknownSuplier; - bufUnknownSuplier.Set( resReader->ReadResourceString( R_SECON_UNKNOWN_SUPPLIER ) ); - - app->iVendor.Copy( bufUnknownSuplier ); - - delete resReader; - } - - // Get size - app->iSize = packageEntry->UsedUserDiskSpace(); - - User::LeaveIfError( aListInstApps.iApps.Append( app ) ); - CleanupStack::Pop( app ); - } - } - CleanupStack::PopAndDestroy( entry ); - } - } - - CleanupStack::PopAndDestroy( &packageUids ); - CleanupStack::PopAndDestroy( javaRegistry ); - TRACE_FUNC_EXIT; - } - -//---------------------------------------------------------------------------- -// void SConPcdUtility::AppendInstalledWidgetsL( RPointerArray &aApps ) -// Appends installed widgets to aApps array. -//---------------------------------------------------------------------------- -// -void SConPcdUtility::AppendInstalledWidgetsL( CSConListInstApps& aListInstApps ) - { - // Commented out as WidgetRegistry will be removed from MCL. - // TODO: Check how Widgets should be listed on future. - /* - TRACE_FUNC_ENTRY; - RWidgetRegistryClientSession widgetSession; - CleanupClosePushL( widgetSession ); - User::LeaveIfError( widgetSession.Connect() ); - - // Get the list of installed widgets - RWidgetInfoArray widgetInfoArr; - CleanupClosePushL( widgetInfoArr ); - widgetSession.InstalledWidgetsL( widgetInfoArr ); - TFileName bundleId; - for ( TInt i = 0; i < widgetInfoArr.Count(); i++ ) - { - CWidgetInfo *item = widgetInfoArr[i]; - CleanupStack::PushL( item ); - - - TBool showIt( EFalse ); - if ( aListInstApps.iAllApps ) - { - // show all apps -param defined - showIt = ETrue; - } - else - { - TDriveUnit locationDrive = item->iDriveName->Des(); - // show if installed one of the specified drives - if ( aListInstApps.iDriveList.Length() > locationDrive - && aListInstApps.iDriveList[locationDrive] ) - { - showIt = ETrue; - } - } - - if ( showIt ) - { - - CSConInstApp* app = new (ELeave) CSConInstApp(); - CleanupStack::PushL( app ); - app->iName.Copy( *(item->iBundleName) ); - app->iType = EWidgetApplication; - app->iSize = item->iFileSize; - app->iUid = item->iUid; - - CWidgetPropertyValue* propValue = widgetSession.GetWidgetPropertyValueL( - item->iUid, EBundleVersion ); - if ( propValue && propValue->iType == EWidgetPropTypeString ) - { - app->iVersion.Copy( *(propValue->iValue.s) ); - } - delete propValue; - propValue = NULL; - bundleId.Zero(); - widgetSession.GetWidgetBundleId( item->iUid, bundleId ); - app->iWidgetBundleId = bundleId.AllocL(); - - User::LeaveIfError( aListInstApps.iApps.Append( app ) ); - CleanupStack::Pop( app ); // ownership transferred, do not delete - } - CleanupStack::PopAndDestroy( item ); - } - User::LeaveIfError( widgetSession.Disconnect() ); - - CleanupStack::PopAndDestroy( &widgetInfoArr ); - CleanupStack::PopAndDestroy( &widgetSession ); - TRACE_FUNC_EXIT; - */ - } - -// --------------------------------------------------------- -// SConPcdUtility::IsInstalledToSelectedDrive -// Solve highest drive from aInstalledDrives and check -// if that drive is selected -// --------------------------------------------------------- -// -TBool SConPcdUtility::IsInstalledToSelectedDrive( const TDriveList& aSelectedDriveList, TUint aInstalledDrives ) - { - TInt locationDrive; - if( aInstalledDrives ) - { - // Select the highest drive as location drive - TInt drive = EDriveA; - while( aInstalledDrives >>= 1 ) - { - drive++; - } - locationDrive = drive; - } - else - { - // No installed files, select C: as location drive - locationDrive = EDriveC; - } - - if ( aSelectedDriveList.Length() > locationDrive && aSelectedDriveList[locationDrive] ) - { - LOGGER_WRITE("SConPcdUtility::IsInstalledToSelectedDrive : return ETrue"); - return ETrue; - } - else - { - LOGGER_WRITE("SConPcdUtility::IsInstalledToSelectedDrive : return EFalse"); - return EFalse; - } - } -// END OF FILE diff -r 262aa4f075d6 -r a62b67d1f67c connectivitymodules/SeCon/wbxml/conmlhandler/bld/sconconmlhandler.mmp --- a/connectivitymodules/SeCon/wbxml/conmlhandler/bld/sconconmlhandler.mmp Tue Sep 28 18:46:16 2010 +0530 +++ b/connectivitymodules/SeCon/wbxml/conmlhandler/bld/sconconmlhandler.mmp Tue Oct 12 17:42:13 2010 +0530 @@ -27,7 +27,7 @@ TARGETTYPE DLL UID 0x10009D8D 0x101F99FA -#if defined(ARMCC) +#if defined(EABI) DEFFILE ./def/eabi #elif defined(WINSCW) DEFFILE ./def/bwinscw diff -r 262aa4f075d6 -r a62b67d1f67c contentctrl_plat/ds_contactsdatastoreextension_api/tsrc/group/bld.inf --- a/contentctrl_plat/ds_contactsdatastoreextension_api/tsrc/group/bld.inf Tue Sep 28 18:46:16 2010 +0530 +++ b/contentctrl_plat/ds_contactsdatastoreextension_api/tsrc/group/bld.inf Tue Oct 12 17:42:13 2010 +0530 @@ -40,7 +40,7 @@ PRJ_TESTMMPFILES // NOTE: If using ARS requirements .mmp file operation should be done under this. // 'abld test build' -//./TestCntDataStoreExtn.mmp +TestCntDataStoreExtn.mmp PRJ_MMPFILES // Specify the .mmp files required for building the important component @@ -56,6 +56,6 @@ /agnmodel/group/agsvexe.mmp #endif */ -./TestCntDataStoreExtn.mmp + // End of File \ No newline at end of file diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/agenda/src/nsmlagendaprogressview.cpp --- a/omads/omadsextensions/adapters/agenda/src/nsmlagendaprogressview.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/agenda/src/nsmlagendaprogressview.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -30,7 +30,9 @@ { _DBG_FILE("CNSmlAgendaProgressview::NewL(): BEGIN"); CNSmlAgendaProgressview* self = new (ELeave) CNSmlAgendaProgressview(); + CleanupStack::PushL(self); self->ConstructL(); + CleanupStack::Pop(self); _DBG_FILE("CNSmlAgendaProgressview::NewL(): END"); return self; } diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/bookmark/src/bookmarkdatastore.cpp --- a/omads/omadsextensions/adapters/bookmark/src/bookmarkdatastore.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/bookmark/src/bookmarkdatastore.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -444,7 +444,7 @@ iCurrentState = EBookmarkUpdatedAndMoving; RPointerArray movedItems; CleanupClosePushL( movedItems ); - movedItems.Append( modItem ); + movedItems.AppendL( modItem ); // FolderItemRequestCompleted is called when ready iRootFolder.MoveFolderItemsToL( movedItems, *newParent); CleanupStack::PopAndDestroy( &movedItems ); @@ -1555,7 +1555,7 @@ } RPointerArray movedItems; CleanupClosePushL( movedItems ); - movedItems.Append( rssItem ); + movedItems.AppendL( rssItem ); // FolderItemRequestCompleted is called when ready iRootFolder.MoveFolderItemsToL( movedItems, *parent); CleanupStack::PopAndDestroy( &movedItems ); diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/notes/src/NSmlNotepadDataStore.cpp --- a/omads/omadsextensions/adapters/notes/src/NSmlNotepadDataStore.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/notes/src/NSmlNotepadDataStore.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -1130,20 +1130,24 @@ { _NOTEPAD_DBG_FILE("CNSmlNotepadDataStore:: FetchItemL(): begin"); - HBufC8* buf = ConvertNoteToSyncItemL(*note); - CleanupStack::PushL(buf); - aItem.Reset(); - // Write the buffer to the passed writeStream (aItem) - TBufBuf bufBuf; - bufBuf.Set(aItem, 0, TBufBuf::EWrite); - RWriteStream writeStream( &bufBuf); - writeStream.PushL(); - writeStream.WriteL(buf->Des().Ptr(), buf->Des().Length()); - writeStream.CommitL(); - CleanupStack::PopAndDestroy(1);//writeStream - CleanupStack::PopAndDestroy(buf);//buf - _NOTEPAD_DBG_FILE("CNSmlNotepadDataStore::FetchItemL(): end"); - } + HBufC8* buf = NULL; + TRAP(err, buf = ConvertNoteToSyncItemL(*note)); + if(err == KErrNone) + { + CleanupStack::PushL(buf); + aItem.Reset(); + // Write the buffer to the passed writeStream (aItem) + TBufBuf bufBuf; + bufBuf.Set(aItem, 0, TBufBuf::EWrite); + RWriteStream writeStream( &bufBuf); + writeStream.PushL(); + writeStream.WriteL(buf->Des().Ptr(), buf->Des().Length()); + writeStream.CommitL(); + CleanupStack::PopAndDestroy(1);//writeStream + CleanupStack::PopAndDestroy(buf);//buf + _NOTEPAD_DBG_FILE("CNSmlNotepadDataStore::FetchItemL(): end"); + } + } CleanupStack::PopAndDestroy(note); // note } else @@ -1198,8 +1202,7 @@ { if (!aNote.Content()) { - HBufC8* tempHBuf = HBufC8::NewL(KNullCharLen);//room for null character - return tempHBuf; + User::Leave(KErrGeneral); } // Note: a single unicode character can be 4 bytes long in UTF8 format, // hence the long length for 8-bit buffer. diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/notes/src/nsmlnotepadDatabase.cpp --- a/omads/omadsextensions/adapters/notes/src/nsmlnotepadDatabase.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/notes/src/nsmlnotepadDatabase.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -286,7 +286,9 @@ HBufC* content = HBufC::NewL(aItem.Content()->Length()); content = aItem.Content(); + CleanupStack::PushL(content); entryTobeUpdated->SetDescriptionL(*content); + CleanupStack::Pop(content); array.AppendL(entryTobeUpdated); CleanupStack::Pop(entryTobeUpdated); diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/sms/src/smsadaptermsvapi.cpp --- a/omads/omadsextensions/adapters/sms/src/smsadaptermsvapi.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/sms/src/smsadaptermsvapi.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -36,7 +36,9 @@ // CONSTANTS -_LIT16(KSmsNonUnicodeChars, "èéùìòÇØøÅåÆæßÉ£$¥¡ÄÖÑܧ¿äöñüà"); +// The following string is "èéùìòÇØøÅåÆæßÉ£$¥¡ÄÖÑܧ¿äöñüà", expressed as standard \xNN escape codes +_LIT16(KSmsNonUnicodeChars, "\xe8\xe9\xf9\xec\xf2\xc7\xd8\xf8\xc5\xe5\xc6\xe6\xdf\xc9\xa3$\xa5\xa1\xc4\xd6\xd1\xdc\xa7\xbf\xe4\xf6\xf1\xfc\xe0"); + // OTHER DEFINITIONS @@ -337,7 +339,7 @@ { CVMessageParser::TTelephoneNumber recipientInfo; aSm.ParseTelephoneNumber( recipients[i], recipientInfo ); - aSm.iRecipients.Append( recipientInfo ); + aSm.iRecipients.AppendL( recipientInfo ); } } @@ -682,6 +684,7 @@ { newEntry.iDetails.Set( addrBookName ); header.SetFromAddressL( addrBookName ); + } else { @@ -693,6 +696,12 @@ CSmsPDU& smsPdu = smsMsg.SmsPDU(); CSmsDeliver* smsDeliver = reinterpret_cast( &smsPdu ); smsDeliver->SetServiceCenterTimeStamp( newEntry.iDate ); + if (aSm.iSender.iNumber.Length() > 0) + { + TGsmSmsTelNumber telNum; + telNum.iTelNumber.Copy( aSm.iSender.iNumber ); + smsDeliver->SetParsedToFromAddressL( telNum ); + } } else // message to be sent { @@ -1111,7 +1120,10 @@ CContactItem* item = iContactsDb->ReadContactLC((*contactIds)[0]); CContactItemFieldSet& fieldSet = item->CardFields(); - + + TFileName database; + iContactsDb->GetCurrentDatabase(database); + TPtrC familyName; TPtrC givenName; TInt pos; diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/sms/src/smsdataprovider.cpp --- a/omads/omadsextensions/adapters/sms/src/smsdataprovider.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/sms/src/smsdataprovider.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -36,9 +36,7 @@ // C++ default constructor can NOT contain any code, that might leave // ----------------------------------------------------------------------------- CSmsDataProvider::CSmsDataProvider() : - iOwnStoreFormat( NULL ), - iFilters( 1 ), - iMsvSession( NULL ) + iFilters( 1 ) { } @@ -50,9 +48,9 @@ { LOGGER_ENTERFN( "ConstructL" ); + iStringPool.OpenL(); User::LeaveIfError( iRFs.Connect() ); - iStringPool.OpenL(); - + LOGGER_LEAVEFN( "ConstructL" ) } @@ -83,10 +81,11 @@ { LOGGER_ENTERFN( "~CSmsDataProvider()" ); - SAFEDELETE( iOwnStoreFormat ); + delete iOwnStoreFormat; iStringPool.Close(); iFilters.Close(); + iRFs.Close(); LOGGER_LEAVEFN( "~CSmsDataProvider()" ); } diff -r 262aa4f075d6 -r a62b67d1f67c omads/omadsextensions/adapters/sms/src/vmessageparser.cpp --- a/omads/omadsextensions/adapters/sms/src/vmessageparser.cpp Tue Sep 28 18:46:16 2010 +0530 +++ b/omads/omadsextensions/adapters/sms/src/vmessageparser.cpp Tue Oct 12 17:42:13 2010 +0530 @@ -326,7 +326,12 @@ { if (recipient.iNumber.Length() > 0) { - iRecipients.Append( recipient ); + err = iRecipients.Append( recipient ); + if (err) + { + LOGGER_WRITE_1( "iRecipients.Append err: %d", err ); + return err; + } } err = FindMessageTagWithValue( KVMsgTagBegin, KVMsgSectionVEnv );