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 |
984 TUint32 newCount; |
988 TUint32 newCount; |
985 // update the missed alarms count |
989 // update the missed alarms count |
986 iMissedAlarmStore->CountL(newCount); |
990 iMissedAlarmStore->CountL(newCount); |
987 |
991 |
988 // Need atleast one missed alarm to perform this |
992 TCalenInstanceId instanceId; |
989 if(newCount>0) |
993 TInt entryLocalUid; |
990 { |
994 TTime instanceTime; |
991 RPointerArray<CMissedAlarm> missedAlarmStorelist; |
995 |
992 CleanupResetAndDestroyPushL( missedAlarmStorelist ); |
996 //Retreiving the latest missed alarm array entry |
993 TCalenInstanceId instanceId; |
997 CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; |
994 TInt entryLocalUid; |
998 entryLocalUid = missedAlarm->iLuid; |
995 TTime instanceTime; |
999 instanceTime = missedAlarm->iInstanceTime; |
996 |
1000 |
997 iMissedAlarmStore->GetL(missedAlarmStorelist); |
1001 CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); |
998 |
1002 // pack instance ids of the missed alarm instances |
999 //Retreiving the latest missed alarm array entry |
1003 TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, |
1000 CMissedAlarm* missedAlarm = missedAlarmStorelist[newCount-1]; |
1004 instanceTime, 0 )); |
1001 entryLocalUid = missedAlarm->iLuid; |
1005 instanceId.iColId = session.CollectionIdL(); |
1002 instanceTime = missedAlarm->iInstanceTime; |
1006 iMissedAlarmList.Append(instanceId); |
1003 |
1007 CleanupStack::PopAndDestroy(); // missedAlarmStorelist |
1004 CCalSession &session = iController.Services().SessionL( missedAlarm->iCalFileName ); |
1008 |
1005 // pack instance ids of the missed alarm instances |
1009 // if iMissedAlarmList count is greater than maximum missed alarms(10) |
1006 TRAP_IGNORE(instanceId = TCalenInstanceId::CreateL( entryLocalUid, |
1010 // remove the old missed alarm(index = 0) from the list |
1007 instanceTime, 0 )); |
1011 if(iMissedAlarmList.Count()>KMaxMissedAlarms) |
1008 instanceId.iColId = session.CollectionIdL(); |
1012 { |
1009 iMissedAlarmList.Append(instanceId); |
1013 iMissedAlarmList.Remove(0); |
1010 CleanupStack::PopAndDestroy(); // missedAlarmStorelist |
1014 } |
1011 |
1015 |
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 } |
|
1019 TRACE_EXIT_POINT; |
1016 TRACE_EXIT_POINT; |
1020 } |
1017 } |
1021 |
1018 |
1022 // ---------------------------------------------------------------------------- |
1019 // ---------------------------------------------------------------------------- |
1023 // CCalenAlarmManager::UpdateMissedAlarmsListOnDeleteL |
1020 // CCalenAlarmManager::UpdateMissedAlarmsListOnDeleteL |
1121 { |
1118 { |
1122 TRACE_ENTRY_POINT; |
1119 TRACE_ENTRY_POINT; |
1123 |
1120 |
1124 // FIXME: leaving! |
1121 // FIXME: leaving! |
1125 CCalAlarm* alarm = aEntry.AlarmL(); |
1122 CCalAlarm* alarm = aEntry.AlarmL(); |
1126 |
|
1127 if(alarm) |
1123 if(alarm) |
1128 { |
1124 { |
1129 CleanupStack::PushL( alarm ); |
1125 CleanupStack::PushL( alarm ); |
1130 |
1126 |
1131 switch( aEntry.EntryTypeL() ) |
1127 switch( aEntry.EntryTypeL() ) |
1132 { |
1128 { |
1133 case CCalEntry::ETodo: |
1129 case CCalEntry::ETodo: |
1134 aAlarmDateTime = aEntry.EndTimeL().TimeLocalL(); |
1130 aAlarmDateTime = aEntry.EndTimeL().TimeLocalL(); |
1135 break; |
1131 break; |
1136 |
1132 |
1137 case CCalEntry::EAppt: |
1133 case CCalEntry::EAppt: |
1138 case CCalEntry::EEvent: |
1134 case CCalEntry::EEvent: |
1139 case CCalEntry::EAnniv: |
1135 case CCalEntry::EAnniv: |
1140 default: |
1136 default: |
1141 aAlarmDateTime = aEntry.StartTimeL().TimeLocalL(); |
1137 aAlarmDateTime = aEntry.StartTimeL().TimeLocalL(); |
1142 break; |
1138 break; |
1143 } |
1139 } |
1144 aAlarmDateTime -= alarm->TimeOffset(); |
1140 aAlarmDateTime -= alarm->TimeOffset(); |
1145 |
1141 |
1146 CleanupStack::PopAndDestroy( alarm ); |
1142 CleanupStack::PopAndDestroy( alarm ); |
1147 } |
1143 } |
1148 |
|
1149 TRACE_EXIT_POINT; |
1144 TRACE_EXIT_POINT; |
1150 } |
1145 } |
1151 |
1146 |
1152 // ---------------------------------------------------------------------------- |
1147 // ---------------------------------------------------------------------------- |
1153 // CCalenAlarmManager::LaunchEventViewerL |
1148 // CCalenAlarmManager::LaunchEventViewerL |