equal
deleted
inserted
replaced
512 } |
512 } |
513 if(!waitForDeregistration) |
513 if(!waitForDeregistration) |
514 { |
514 { |
515 ConfirmSystemstateMonitor(CSipSystemStateMonitor::ESystemState); |
515 ConfirmSystemstateMonitor(CSipSystemStateMonitor::ESystemState); |
516 } |
516 } |
517 } //end if Offline |
517 } //end if Offline |
|
518 |
|
519 //If the System receives Online event |
|
520 if(aValue == CSipSystemStateMonitor::ESystemOnline) |
|
521 { |
|
522 for (TInt i = 0; i < iProfileCache.Count(); i++) |
|
523 { |
|
524 CSIPProfileCacheItem* item = iProfileCache[i]; |
|
525 item->OfflineInitiated(EFalse); |
|
526 CSIPConcreteProfile::TStatus status; |
|
527 iPluginDirector->State(status, item->UsedProfile()); |
|
528 if (item->IsReferred() && status == CSIPConcreteProfile::EUnregistered) |
|
529 { |
|
530 TRAPD(err, item->StartRegisterL(*iWaitForIAP, *iRegInProg, ETrue)); |
|
531 if (err != KErrNone) |
|
532 { |
|
533 HandleAsyncError(*item,CSIPConcreteProfile::ERegistrationInProgress,err); |
|
534 } |
|
535 } |
|
536 } |
|
537 } //end if Online |
518 } //end if SystemState |
538 } //end if SystemState |
519 else if(aVariable == CSipSystemStateMonitor::ERfsState) |
539 else if(aVariable == CSipSystemStateMonitor::ERfsState) |
520 { |
540 { |
521 if(aValue == CSipSystemStateMonitor::ERfsStarted) |
541 if(aValue == CSipSystemStateMonitor::ERfsStarted) |
522 { |
542 { |
1551 { |
1571 { |
1552 TInt index = iObservers.Find(&aObserver); |
1572 TInt index = iObservers.Find(&aObserver); |
1553 if (index != KErrNotFound) |
1573 if (index != KErrNotFound) |
1554 { |
1574 { |
1555 iObservers.Remove(index); |
1575 iObservers.Remove(index); |
|
1576 iObservers.Compress(); |
1556 } |
1577 } |
1557 |
1578 |
1558 for (TInt i = 0; i < iProfileCache.Count(); i ++) |
1579 for (TInt i = 0; i < iProfileCache.Count(); i ++) |
1559 { |
1580 { |
1560 CSIPProfileCacheItem* item = iProfileCache[i]; |
1581 CSIPProfileCacheItem* item = iProfileCache[i]; |
1758 } |
1779 } |
1759 else |
1780 else |
1760 { |
1781 { |
1761 // Backup ends. Do not read profiles, as they are already in cache. |
1782 // Backup ends. Do not read profiles, as they are already in cache. |
1762 iProfileStorage = CSIPProfileStorage::NewL(iFs); |
1783 iProfileStorage = CSIPProfileStorage::NewL(iFs); |
|
1784 iProfileStorage->GetProfileStorageIndexObject()->SetProfileServerCoreObject(this); |
1763 } |
1785 } |
1764 PROFILE_DEBUG1("ProfileServerCore::ReserveStorageL, storage reserved") |
1786 PROFILE_DEBUG1("ProfileServerCore::ReserveStorageL, storage reserved") |
1765 } |
1787 } |
1766 } |
1788 } |
1767 |
1789 |
1931 { |
1953 { |
1932 TInt index = ProfileCached(aProfileId); |
1954 TInt index = ProfileCached(aProfileId); |
1933 if (index >= 0) |
1955 if (index >= 0) |
1934 { |
1956 { |
1935 iProfileCache.Remove(index); |
1957 iProfileCache.Remove(index); |
|
1958 iProfileCache.Compress(); |
1936 } |
1959 } |
1937 } |
1960 } |
1938 |
1961 |
1939 // ----------------------------------------------------------------------------- |
1962 // ----------------------------------------------------------------------------- |
1940 // CSIPProfileServerCore::RemoveUnusedMigrationControllers |
1963 // CSIPProfileServerCore::RemoveUnusedMigrationControllers |
1947 if (!iMigrationControllers[i]->IsUsed() && |
1970 if (!iMigrationControllers[i]->IsUsed() && |
1948 iMigrationControllers[i]->SnapId() != aSnapId) |
1971 iMigrationControllers[i]->SnapId() != aSnapId) |
1949 { |
1972 { |
1950 CSipAlrMigrationController* unused = iMigrationControllers[i]; |
1973 CSipAlrMigrationController* unused = iMigrationControllers[i]; |
1951 iMigrationControllers.Remove(i); |
1974 iMigrationControllers.Remove(i); |
|
1975 iMigrationControllers.Compress(); |
1952 delete unused; |
1976 delete unused; |
|
1977 unused = NULL; |
1953 } |
1978 } |
1954 } |
1979 } |
1955 } |
1980 } |
1956 |
1981 |
1957 // ----------------------------------------------------------------------------- |
1982 // ----------------------------------------------------------------------------- |
2197 { |
2222 { |
2198 CSIPProfileCacheItem* item = self->iProfileCache[i]; |
2223 CSIPProfileCacheItem* item = self->iProfileCache[i]; |
2199 CSIPConcreteProfile::TStatus status; |
2224 CSIPConcreteProfile::TStatus status; |
2200 self->iPluginDirector->State( status, self->iProfileCache[i]->UsedProfile() ); |
2225 self->iPluginDirector->State( status, self->iProfileCache[i]->UsedProfile() ); |
2201 item->OfflineInitiated(EFalse); |
2226 item->OfflineInitiated(EFalse); |
2202 if (item->IsReferred() && (status == CSIPConcreteProfile::EUnregistered) ) |
2227 if (item->IsReferred() && (!self->iApnManager->IsIapGPRSL(item->Profile().IapId())) |
|
2228 && status == CSIPConcreteProfile::EUnregistered) |
2203 { |
2229 { |
2204 TRAPD(err, item->StartRegisterL(*(self->iWaitForIAP), *(self->iRegInProg), ETrue)); |
2230 TRAPD(err, item->StartRegisterL(*(self->iWaitForIAP), *(self->iRegInProg), ETrue)); |
2205 if (err != KErrNone) |
2231 if (err != KErrNone) |
2206 { |
2232 { |
2207 self->HandleAsyncError(*item,CSIPConcreteProfile::ERegistrationInProgress,err); |
2233 self->HandleAsyncError(*item,CSIPConcreteProfile::ERegistrationInProgress,err); |