172 iNotificationTimer.Cancel(); |
172 iNotificationTimer.Cancel(); |
173 } |
173 } |
174 |
174 |
175 TRACE_EXIT_POINT; |
175 TRACE_EXIT_POINT; |
176 } |
176 } |
|
177 |
|
178 // ----------------------------------------------------------------------------- |
|
179 // CCalenDbChangeNotifier::HandleMissedAlarmsL |
|
180 // Delete missed alarms when externally the entries are getting deleted. |
|
181 // ----------------------------------------------------------------------------- |
177 void CCalenDbChangeNotifier::HandleMissedAlarmsL(const RArray<TCalChangeEntry>& aChangeItems) |
182 void CCalenDbChangeNotifier::HandleMissedAlarmsL(const RArray<TCalChangeEntry>& aChangeItems) |
178 { |
183 { |
179 TRACE_ENTRY_POINT |
184 TRACE_ENTRY_POINT |
180 CRepository* missedAlarmStoreRepository = CRepository::NewL( |
185 CRepository* missedAlarmStoreRepository = CRepository::NewL( |
181 KCRUidMissedAlarmStore); |
186 KCRUidMissedAlarmStore); |
182 // Create missed alarm store |
187 // Create missed alarm store |
183 CMissedAlarmStore* missedAlarmStore = CMissedAlarmStore::NewL( |
188 CMissedAlarmStore* missedAlarmStore = CMissedAlarmStore::NewL( |
184 *missedAlarmStoreRepository); |
189 *missedAlarmStoreRepository); |
185 CleanupStack::PushL(missedAlarmStore); |
190 CleanupStack::PushL(missedAlarmStore); |
|
191 |
186 RPointerArray<CMissedAlarm> missedAlarmStorelist; |
192 RPointerArray<CMissedAlarm> missedAlarmStorelist; |
187 CleanupResetAndDestroyPushL(missedAlarmStorelist); |
193 CleanupResetAndDestroyPushL(missedAlarmStorelist); |
|
194 |
188 missedAlarmStore->GetL(missedAlarmStorelist); |
195 missedAlarmStore->GetL(missedAlarmStorelist); |
|
196 |
189 CCalCalendarInfo* calendarInfo = iSession.CalendarInfoL(); |
197 CCalCalendarInfo* calendarInfo = iSession.CalendarInfoL(); |
190 CleanupStack::PushL(calendarInfo); |
198 CleanupStack::PushL(calendarInfo); |
|
199 |
191 CCalenDbChangeNotifier::TCalLuidFilename calLuidFilename; |
200 CCalenDbChangeNotifier::TCalLuidFilename calLuidFilename; |
192 calLuidFilename.iFilename = calendarInfo->FileNameL(); |
201 calLuidFilename.iFilename = calendarInfo->FileNameL(); |
|
202 |
193 if (missedAlarmStorelist.Count()) |
203 if (missedAlarmStorelist.Count()) |
194 { |
204 { |
195 for (TInt idx = 0; idx < aChangeItems.Count(); idx++) |
205 for (TInt idx = 0; idx < aChangeItems.Count(); idx++) |
196 { |
206 { |
197 if (aChangeItems[idx].iChangeType == EChangeDelete) |
207 if (aChangeItems[idx].iChangeType == EChangeDelete) |
198 { |
208 { |
199 calLuidFilename.iLuid = aChangeItems[idx].iEntryId; |
209 calLuidFilename.iLuid = aChangeItems[idx].iEntryId; |
200 TInt index = missedAlarmStorelist.Find( |
210 TInt index = missedAlarmStorelist.Find(calLuidFilename, |
201 calLuidFilename,CCalenDbChangeNotifier::DoFindEntryByLuid); |
211 CCalenDbChangeNotifier::DoFindEntryByLuid); |
202 if(index != KErrNotFound) |
212 if (index != KErrNotFound) |
203 { |
213 { |
204 CMissedAlarm* missedAlarm = missedAlarmStorelist[index]; |
214 CMissedAlarm* missedAlarm = missedAlarmStorelist[index]; |
205 missedAlarmStore->RemoveL(*missedAlarm); |
215 missedAlarmStore->RemoveL(*missedAlarm); |
206 } |
216 } |
207 } |
217 } |
208 } |
218 } |
209 } |
219 } |
|
220 |
210 CleanupStack::PopAndDestroy(calendarInfo); |
221 CleanupStack::PopAndDestroy(calendarInfo); |
211 CleanupStack::PopAndDestroy(&missedAlarmStorelist); |
222 CleanupStack::PopAndDestroy(&missedAlarmStorelist); |
212 CleanupStack::PopAndDestroy(missedAlarmStore); |
223 CleanupStack::PopAndDestroy(missedAlarmStore); |
|
224 |
213 TRACE_EXIT_POINT |
225 TRACE_EXIT_POINT |
214 } |
226 } |
|
227 |
|
228 // ----------------------------------------------------------------------------- |
|
229 // CCalenDbChangeNotifier::DoFindEntryByLuid |
|
230 // ----------------------------------------------------------------------------- |
215 TBool CCalenDbChangeNotifier::DoFindEntryByLuid( |
231 TBool CCalenDbChangeNotifier::DoFindEntryByLuid( |
216 const TCalLuidFilename* aLuidFilename,const CMissedAlarm& aMissedAlarm) |
232 const TCalLuidFilename* aLuidFilename,const CMissedAlarm& aMissedAlarm) |
217 { |
233 { |
218 TRACE_ENTRY_POINT |
234 TRACE_ENTRY_POINT |
219 TRACE_EXIT_POINT |
235 TRACE_EXIT_POINT |