diff -r 4af31167ea77 -r 13d7c31c74e0 syncmlfw/dm/settings/src/DMProfileContentHandler.cpp --- a/syncmlfw/dm/settings/src/DMProfileContentHandler.cpp Thu Jul 15 19:36:11 2010 +0300 +++ b/syncmlfw/dm/settings/src/DMProfileContentHandler.cpp Thu Aug 19 10:44:50 2010 +0300 @@ -22,8 +22,10 @@ #include #include #include +#include #include "DMprofileContentHandler.h" #include "nsmldmsettings.h" +#include "DevManInternalCRKeys.h" #define DES_AS_8_BIT(str) (TPtrC8((TText8*)((str).Ptr()), (str).Size())) @@ -178,7 +180,8 @@ RemoveRSCEntryL(); TInt iapId = 0; - for ( TInt i = 0; i < iProfileArray->Count(); i++ ) + TInt count = iProfileArray->Count(); + for ( TInt i = 0; i < count; i++ ) { if(iProfileArray->At(i)->iAccessPoint) { @@ -210,6 +213,19 @@ CleanupStack::PopAndDestroy(); // profile } + CRepository* centrep = NULL; + TRAPD( err, centrep = CRepository::NewL(KCRUidDeviceManagementInternalKeys)); + if (err==KErrNone ) + { + TInt num(-1); + TInt err = centrep->Get( KMaxFactoryDMProfileId , num ); + if( num >= 0 ) + err = centrep->Set( KMaxFactoryDMProfileId , (count + num ) ); + else + err = centrep->Set( KMaxFactoryDMProfileId , count - 1); + delete centrep; + centrep = NULL; + } _DBG_FILE("CDMProfileContentHandler::SaveProfilesL(): end"); } // -----------------------------------------------------------------------------