--- 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
--- 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
-
--- 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 <data_caging_paths.hrh>
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
--- 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
--- 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
--- 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:
--- 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);
Binary file connectivitymodules/SeCon/services/csc/bld/101f99f6.xml has changed
--- 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
--- 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
--- 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
--- 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;
--- 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 );
--- 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__
--- 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 <s32mem.h> // For RBufWriteStream
#include <utf.h> // for CnvUtfConverter
-//#include <pathinfo.h>
-#include <usif/sif/sifcommon.h>
+#include <usif/usifcommon.h>
+#include <usif/scr/scr.h>
+#include <driveinfo.h>
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<Usif::TComponentId> 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; i<componentList.Count(); i++)
+ {
+ Usif::CComponentEntry* entry = Usif::CComponentEntry::NewLC();
+ TBool found = scr.GetComponentL(componentList[i], *entry );
+ if (!found)
+ User::Leave(KErrNotFound);
+
+ CSConInstApp* app = new (ELeave) CSConInstApp();
+ CleanupStack::PushL( app );
+
+ StrCopyL( entry->Name(), 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
--- 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;
--- 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 <swi/sisregistryentry.h>
-#include <swi/sisregistrysession.h>
-#include <swi/sisregistrypackage.h>
-#include <stringresourcereader.h>
-// #include <WidgetRegistryClient.h>
-#include <javaregistryincludes.h>
-#include <appversion.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <sconftp.rsg> // 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<CSConInstApp> &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<TUid> 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<Swi::CSisRegistryPackage> 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<CSConInstApp> &aApps )
-// Appends installed java packages to aApps array.
-//----------------------------------------------------------------------------
-//
-void SConPcdUtility::AppendInstalledJavaL( CSConListInstApps& aListInstApps )
- {
- TRACE_FUNC_ENTRY;
- CJavaRegistry* javaRegistry = CJavaRegistry::NewLC( );
- RArray<TUid> packageUids;
- CleanupClosePushL( packageUids );
- javaRegistry->GetRegistryEntryUidsL( packageUids );
- LOGGER_WRITE_1("packageUids.Count(): %d", packageUids.Count());
- for (TInt i=0; i<packageUids.Count(); i++ )
- {
- LOGGER_WRITE_1("RegistryEntryL: %d",i);
- LOGGER_WRITE_1("handle entry uid: 0x%08X",packageUids[i].iUid);
- CJavaRegistryEntry* entry = javaRegistry->RegistryEntryL( 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<CSConInstApp> &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
--- 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
--- 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
--- 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;
}
--- 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<const CFolderItem> 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<const CFolderItem> movedItems;
CleanupClosePushL( movedItems );
- movedItems.Append( rssItem );
+ movedItems.AppendL( rssItem );
// FolderItemRequestCompleted is called when ready
iRootFolder.MoveFolderItemsToL( movedItems, *parent);
CleanupStack::PopAndDestroy( &movedItems );
--- 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.
--- 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);
--- 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<CSmsDeliver*>( &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;
--- 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()" );
}
--- 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 );