realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp
--- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Wed Jun 09 10:04:26 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp Mon Jun 21 16:03:44 2010 +0300
@@ -126,7 +126,7 @@
// CSIPApnConfigurationHandler::ReadCurrentApnL
// -----------------------------------------------------------------------------
//
-HBufC8* CSIPApnConfigurationHandler::ReadCurrentApnL()
+void CSIPApnConfigurationHandler::ReadCurrentApnL()
{
HBufC8* apn(NULL);
@@ -193,15 +193,13 @@
delete iCurrentApn;
iCurrentApn = NULL;
- iCurrentApn = apn->AllocL();
+ iCurrentApn = apn;
}
db->ClearAttributeMask( ECDHidden );
CleanupStack::PopAndDestroy( iapRecord );
CleanupStack::PopAndDestroy( db );
-
- return apn;
}
// -----------------------------------------------------------------------------
@@ -327,6 +325,7 @@
User::LeaveIfError( iSocketSrv.Connect() );
iRepository = CRepository::NewL( KCRUidCmManager );
+ ReadCurrentApnL();
PROFILE_DEBUG1(
"CSIPApnConfigurationHandler::ConstructL() exit" )
}
@@ -478,16 +477,12 @@
"CSIPApnConfigurationHandler::ApnChangeNeededL()" )
TBool apnChangeNeeded( EFalse );
- HBufC8* currentApn = ReadCurrentApnL();
-
- if ( currentApn && currentApn->Compare( aApn ) != 0 )
+ if ( iCurrentApn && iCurrentApn->Compare( aApn ) != 0 )
{
// Apn is not the same as wanted
apnChangeNeeded = ETrue;
}
- delete currentApn;
-
PROFILE_DEBUG3(
"CSIPApnConfigurationHandler::ApnChangeNeededL(), apnChangeNeeded",
apnChangeNeeded )
@@ -796,13 +791,12 @@
const TDesC8& aNewApn,
TInt aError )
{
- if ( !IsPrimaryApnUsed() )
+ HBufC8* currentApn = aNewApn.AllocL();
+ delete iCurrentApn;
+ iCurrentApn = NULL;
+ iCurrentApn = currentApn;
+ if ( IsPrimaryApnUsed() )
{
- HBufC8* currentApn = aNewApn.AllocL();
- delete iCurrentApn;
- iCurrentApn = NULL;
- iCurrentApn = currentApn;
-
iObserver.ApnChanged( *iCurrentApn, iIapId, aError );
}
}