774 break; |
774 break; |
775 case MCalFileChangeObserver::ECalendarInfoUpdated: |
775 case MCalFileChangeObserver::ECalendarInfoUpdated: |
776 case MCalFileChangeObserver::ECalendarInfoDeleted: |
776 case MCalFileChangeObserver::ECalendarInfoDeleted: |
777 { |
777 { |
778 TFileName calFileName = aCalendarInfoChangeEntries[index]->FileNameL(); |
778 TFileName calFileName = aCalendarInfoChangeEntries[index]->FileNameL(); |
779 CCalSession& session = iGlobalData->CalSessionL( calFileName ); |
779 CCalSession* session = NULL; |
|
780 TRAPD(err, session = &iGlobalData->CalSessionL( calFileName )); |
|
781 if(KErrNotFound == err && ECalendarInfoUpdated == changeType) |
|
782 { |
|
783 BroadcastNotification(ECalenNotifyDeleteInstanceView); |
|
784 BroadcastNotification(ECalenNotifyCalendarInfoCreated); |
|
785 break; |
|
786 } |
780 |
787 |
781 CCalCalendarInfo* calendarInfo = session.CalendarInfoL(); |
788 CCalCalendarInfo* calendarInfo = session->CalendarInfoL(); |
782 CleanupStack::PushL(calendarInfo); |
789 CleanupStack::PushL(calendarInfo); |
783 |
790 |
784 TBuf8<KBuffLength> keyBuff; |
791 TBuf8<KBuffLength> keyBuff; |
785 keyBuff.AppendNum(EMarkAsDelete); |
792 keyBuff.AppendNum(EMarkAsDelete); |
786 |
793 |
787 TBool markAsdelete; |
794 TBool markAsdelete; |
788 TPckgC<TBool> pkgMarkAsDelete(markAsdelete); |
795 TPckgC<TBool> pkgMarkAsDelete(markAsdelete); |
789 TRAPD(err,pkgMarkAsDelete.Set(calendarInfo->PropertyValueL(keyBuff))); |
796 TRAP(err,pkgMarkAsDelete.Set(calendarInfo->PropertyValueL(keyBuff))); |
790 markAsdelete = pkgMarkAsDelete(); |
797 markAsdelete = pkgMarkAsDelete(); |
791 |
798 |
792 CleanupStack::PopAndDestroy(calendarInfo); |
799 CleanupStack::PopAndDestroy(calendarInfo); |
793 |
800 |
794 if (err == KErrNone && markAsdelete) |
801 if (err == KErrNone && markAsdelete) |