978 //--------------------------------------------------------- |
978 //--------------------------------------------------------- |
979 // |
979 // |
980 void CCalenAlarmManager::UpdateMissedAlarmsListL() |
980 void CCalenAlarmManager::UpdateMissedAlarmsListL() |
981 { |
981 { |
982 TRACE_ENTRY_POINT; |
982 TRACE_ENTRY_POINT; |
983 |
983 |
984 RPointerArray<CMissedAlarm> missedAlarmStorelist; |
|
985 CleanupResetAndDestroyPushL( missedAlarmStorelist ); |
|
986 iMissedAlarmStore->GetL(missedAlarmStorelist); |
|
987 |
|
988 TUint32 newCount; |
984 TUint32 newCount; |
989 // update the missed alarms count |
985 // update the missed alarms count |
990 iMissedAlarmStore->CountL(newCount); |
986 iMissedAlarmStore->CountL(newCount); |
991 |
987 |
992 TCalenInstanceId instanceId; |
988 // Need atleast one missed alarm to perform this |
993 TInt entryLocalUid; |
989 if(newCount>0) |
994 TTime instanceTime; |
990 { |
995 |
991 RPointerArray<CMissedAlarm> missedAlarmStorelist; |
996 //Retreiving the latest missed alarm array entry |
992 CleanupResetAndDestroyPushL( missedAlarmStorelist ); |
997 CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; |
993 TCalenInstanceId instanceId; |
998 entryLocalUid = missedAlarm->iLuid; |
994 TInt entryLocalUid; |
999 instanceTime = missedAlarm->iInstanceTime; |
995 TTime instanceTime; |
1000 |
996 |
1001 CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); |
997 iMissedAlarmStore->GetL(missedAlarmStorelist); |
1002 // pack instance ids of the missed alarm instances |
998 |
1003 TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, |
999 //Retreiving the latest missed alarm array entry |
1004 instanceTime, 0 )); |
1000 CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; |
1005 instanceId.iColId = session.CollectionIdL(); |
1001 entryLocalUid = missedAlarm->iLuid; |
1006 iMissedAlarmList.Append(instanceId); |
1002 instanceTime = missedAlarm->iInstanceTime; |
1007 CleanupStack::PopAndDestroy(); // missedAlarmStorelist |
1003 |
1008 |
1004 CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); |
1009 // if iMissedAlarmList count is greater than maximum missed alarms(10) |
1005 // pack instance ids of the missed alarm instances |
1010 // remove the old missed alarm(index = 0) from the list |
1006 TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, |
1011 if(iMissedAlarmList.Count()>KMaxMissedAlarms) |
1007 instanceTime, 0 )); |
1012 { |
1008 instanceId.iColId = session.CollectionIdL(); |
1013 iMissedAlarmList.Remove(0); |
1009 iMissedAlarmList.Append(instanceId); |
1014 } |
1010 CleanupStack::PopAndDestroy(); // missedAlarmStorelist |
1015 |
1011 |
|
1012 // if iMissedAlarmList count is greater than maximum missed alarms(10) |
|
1013 // remove the old missed alarm(index = 0) from the list |
|
1014 if(iMissedAlarmList.Count()>KMaxMissedAlarms) |
|
1015 { |
|
1016 iMissedAlarmList.Remove(0); |
|
1017 } |
|
1018 } |
1016 TRACE_EXIT_POINT; |
1019 TRACE_EXIT_POINT; |
1017 } |
1020 } |
1018 |
1021 |
1019 // ---------------------------------------------------------------------------- |
1022 // ---------------------------------------------------------------------------- |
1020 // CCalenAlarmManager::UpdateMissedAlarmsListOnDeleteL |
1023 // CCalenAlarmManager::UpdateMissedAlarmsListOnDeleteL |