calendarui/controller/src/calenalarmmanager.cpp
branchRCL_3
changeset 86 ed599363c2d7
parent 78 356f28cd5ca0
equal deleted inserted replaced
78:356f28cd5ca0 86:ed599363c2d7
   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