# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1284701550 -10800 # Node ID e3fccba1f02fc67acd05193b41c5f45647798d89 # Parent 15965fe54016f3f8a5920bc73833e2246cc66a68 Revision: 201035 Kit: 201037 diff -r 15965fe54016 -r e3fccba1f02f package_definition.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_definition.xml Fri Sep 17 08:32:30 2010 +0300 @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 15965fe54016 -r e3fccba1f02f package_map.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_map.xml Fri Sep 17 08:32:30 2010 +0300 @@ -0,0 +1,1 @@ + diff -r 15965fe54016 -r e3fccba1f02f realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Thu Sep 02 20:47:18 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp Fri Sep 17 08:32:30 2010 +0300 @@ -514,7 +514,27 @@ { ConfirmSystemstateMonitor(CSipSystemStateMonitor::ESystemState); } - } //end if Offline + } //end if Offline + + //If the System receives Online event + if(aValue == CSipSystemStateMonitor::ESystemOnline) + { + for (TInt i = 0; i < iProfileCache.Count(); i++) + { + CSIPProfileCacheItem* item = iProfileCache[i]; + item->OfflineInitiated(EFalse); + CSIPConcreteProfile::TStatus status; + iPluginDirector->State(status, item->UsedProfile()); + if (item->IsReferred() && status == CSIPConcreteProfile::EUnregistered) + { + TRAPD(err, item->StartRegisterL(*iWaitForIAP, *iRegInProg, ETrue)); + if (err != KErrNone) + { + HandleAsyncError(*item,CSIPConcreteProfile::ERegistrationInProgress,err); + } + } + } + } //end if Online } //end if SystemState else if(aVariable == CSipSystemStateMonitor::ERfsState) { @@ -1761,6 +1781,7 @@ { // Backup ends. Do not read profiles, as they are already in cache. iProfileStorage = CSIPProfileStorage::NewL(iFs); + iProfileStorage->GetProfileStorageIndexObject()->SetProfileServerCoreObject(this); } PROFILE_DEBUG1("ProfileServerCore::ReserveStorageL, storage reserved") } @@ -2203,7 +2224,8 @@ CSIPConcreteProfile::TStatus status; self->iPluginDirector->State( status, self->iProfileCache[i]->UsedProfile() ); item->OfflineInitiated(EFalse); - if (item->IsReferred() && (status == CSIPConcreteProfile::EUnregistered) ) + if (item->IsReferred() && (!self->iApnManager->IsIapGPRSL(item->Profile().IapId())) + && status == CSIPConcreteProfile::EUnregistered) { TRAPD(err, item->StartRegisterL(*(self->iWaitForIAP), *(self->iRegInProg), ETrue)); if (err != KErrNone)