本文整理汇总了C++中CCalEntry::SetAlarmL方法的典型用法代码示例。如果您正苦于以下问题:C++ CCalEntry::SetAlarmL方法的具体用法?C++ CCalEntry::SetAlarmL怎么用?C++ CCalEntry::SetAlarmL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCalEntry
的用法示例。
在下文中一共展示了CCalEntry::SetAlarmL方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetAlarmToEntryL
// -----------------------------------------------------------------------------
// CPIMAgnEventAdapter::SetAlarmToEntryL
// Sets the native entry alarm field.
// -----------------------------------------------------------------------------
//
void CPIMAgnEventAdapter::SetAlarmToEntryL(CCalEntry& aEntry, const TInt aValue) const
{
JELOG2(EPim);
TTimeIntervalMinutes offMin(aValue / KPIMSecondsInMinute);
CCalAlarm* agnAlarm = CCalAlarm::NewL();
agnAlarm->SetTimeOffset(offMin);
CleanupStack::PushL(agnAlarm);
aEntry.SetAlarmL(agnAlarm);
CleanupStack::PopAndDestroy(agnAlarm);
}
示例2: TestDeleteAlarmWithAlarmContentL
void CCalAlarmAttachTest::TestDeleteAlarmWithAlarmContentL()
{
test.Printf(_L("Test deleting alarm from an entry \n"));
_LIT8(KEntryUidDeleteAlarm, "DeleteAlarmUid");
CCalAlarm* alarm = StoreEntryWithAlarmContentLC(KEntryUidDeleteAlarm());
RPointerArray<CCalEntry> entries;
CleanupResetAndDestroyPushL(entries);
//Update the entry by deleting its alarm
iTestLib->SynCGetEntryViewL().FetchL(KEntryUidDeleteAlarm(), entries);
CCalEntry* entry = entries[0];
entry->SetAlarmL(NULL);
TInt entriesStored = 0;
iTestLib->SynCGetEntryViewL().StoreL(entries, entriesStored);
//Update the entry by adding an alarm but without alarm content
entries.ResetAndDestroy();
iTestLib->SynCGetEntryViewL().FetchL(KEntryUidDeleteAlarm(), entries);
alarm->SetAlarmAction(NULL);
entry = entries[0];
entry->SetAlarmL(alarm);
iTestLib->SynCGetEntryViewL().StoreL(entries, entriesStored);
entries.ResetAndDestroy();
//Fetch the entry and test the entry has an alarm but not alarm content
iTestLib->SynCGetEntryViewL().FetchL(KEntryUidDeleteAlarm(), entries);
CCalAlarm* almEntry = entries[0]->AlarmL();
CleanupStack::PushL(almEntry);
test( almEntry != NULL );
CCalContent* alarmcontent = almEntry->AlarmAction();
test( alarmcontent == NULL );
CleanupStack::PopAndDestroy(almEntry);
CleanupStack::PopAndDestroy(&entries);
CleanupStack::PopAndDestroy(alarm);
}
示例3: ClearPIMFieldsL
// -----------------------------------------------------------------------------
// CPIMAgnEventAdapter::ClearPIMFieldsL
// Clears the fields supported by PIM API from this Agenda Model entry.
// -----------------------------------------------------------------------------
//
void CPIMAgnEventAdapter::ClearPIMFieldsL(CCalEntry& aEntry,
const TPIMField aSupportedFields[], // Array of supported field types
TInt aSize) // Size of the array of supported fields
{
JELOG2(EPim);
for (int i = 0; i < aSize; i++)
{
switch (aSupportedFields[i])
{
case EPIMEventSummary:
{
aEntry.SetSummaryL(KNullDesC);
break;
}
case EPIMEventLocation:
{
aEntry.SetLocationL(KNullDesC);
break;
}
case EPIMEventNote:
{
aEntry.SetDescriptionL(KNullDesC);
break;
}
case EPIMEventAlarm:
{
aEntry.SetAlarmL(NULL);
break;
}
case EPIMEventStart: // Fallthrough
case EPIMEventEnd: // Fallthrough
case EPIMEventUid: // Fallthrough
case EPIMEventClass: // Fallthrough
case EPIMEventRevision:
{
break; // For these fields there is no need to do anything
}
default:
{
User::Leave(KErrArgument);
}
}
}
}
示例4: StoreEntryWithAlarmContentLC
CCalAlarm* CCalAlarmAttachTest::StoreEntryWithAlarmContentLC(const TDesC8& aUid)
{
test.Printf(_L("Store an alarmed entry with alarm content\n"));
// Create an attachment to the alarm.
CCalAlarm* alarm = CCalAlarm::NewL();
CleanupStack::PushL(alarm);
alarm->SetTimeOffset(1);
CCalContent* almContent = CCalContent::NewL();
CleanupStack::PushL(almContent);
// Add content and mimetype for the alarm.
HBufC8* content = KContent().AllocLC();
HBufC8* mimetype = KMimeType().AllocLC();
almContent->SetContentL(content, mimetype, CCalContent::EDispositionInline);
CleanupStack::Pop(mimetype);
CleanupStack::Pop(content);
alarm->SetAlarmAction(almContent); // Takes ownership of almContent.
CleanupStack::Pop(almContent);
//Create the entry with the alarm and store it
RPointerArray<CCalEntry> entries;
CleanupResetAndDestroyPushL(entries);
HBufC8* guid = aUid.AllocLC();
CCalEntry* entry = CCalEntry::NewL(CCalEntry::EEvent, guid, CCalEntry::EMethodNone, 0);
CleanupStack::Pop(guid);
CleanupStack::PushL(entry);
entries.AppendL(entry);
CleanupStack::Pop(entry);
TCalTime calTime;
calTime.SetTimeUtcL(TDateTime(2007,EFebruary,15, 13, 30, 0, 0));
entry->SetStartAndEndTimeL(calTime, calTime);
entry->SetSummaryL(KSummary());
entry->SetDescriptionL(KDescription());
entry->SetAlarmL(alarm);
TInt entriesStored = 0;
iTestLib->SynCGetEntryViewL().StoreL(entries, entriesStored);
CleanupStack::PopAndDestroy(&entries);
return alarm;
}
示例5: TestUpdateEntryHavingAlarmcontentL
void CCalAlarmAttachTest::TestUpdateEntryHavingAlarmcontentL()
{
test.Printf(_L("Test updating an entry having AlarmContent \n"));
//Create a Calendar entry with Alarm Content
RPointerArray<CCalEntry> entries;
CleanupResetAndDestroyPushL(entries);
HBufC8* guid = KGUID1().AllocLC();
CCalEntry* calentry = CCalEntry::NewL(CCalEntry::EEvent, guid, CCalEntry::EMethodNone, 0);
CleanupStack::Pop(guid);
CleanupStack::PushL(calentry);
TCalTime calTime1;
calTime1.SetTimeUtcL(TDateTime(2007,EFebruary,15, 13, 30, 0, 0));
TCalTime calTime2;
calTime2.SetTimeUtcL(TDateTime(2007,EFebruary,15, 14, 30, 0, 0));
calentry->SetStartAndEndTimeL(calTime1, calTime2);
calentry->SetSummaryL(_L("Test for Alarms"));
CCalAlarm* alarm = CCalAlarm::NewL();
CleanupStack::PushL(alarm);
alarm->SetTimeOffset(1);
CCalContent* almContent = CCalContent::NewL();
CleanupStack::PushL(almContent);
// Add content and mimetype for the alarm.
HBufC8* content = KContent().AllocLC();
HBufC8* mimetype = KMimeType().AllocLC();
// Takes ownership of content and mimetype.
almContent->SetContentL(content, mimetype, CCalContent::EDispositionInline);
alarm->SetAlarmAction(almContent); // Takes ownership of almContent.
calentry->SetAlarmL(alarm);
CleanupStack::Pop(mimetype);
CleanupStack::Pop(content);
CleanupStack::Pop(almContent);
CleanupStack::PopAndDestroy(alarm);
TCalRRule rptRule;
rptRule.SetDtStart( calTime1 );
rptRule.SetType( TCalRRule::EYearly );
rptRule.SetCount(5);
calentry->SetRRuleL(rptRule);
entries.AppendL(calentry);
// Store entry with Alarm content
TInt entriesStored = 0;
iTestLib->SynCGetEntryViewL().StoreL(entries, entriesStored);
CleanupStack::Pop(calentry);
CleanupStack::PopAndDestroy(&entries);
//Fetch stored entry and modify alarm time.
CleanupResetAndDestroyPushL(entries);
iTestLib->SynCGetEntryViewL().FetchL(KGUID1(), entries);
CCalEntry* entry = entries[0];
alarm = entry->AlarmL();
CleanupStack::PushL(alarm);
alarm->SetTimeOffset(1);
entry->SetAlarmL(alarm);
CleanupStack::PopAndDestroy(alarm);
//Update the entry with changes.
iTestLib->SynCGetEntryViewL().UpdateL(entries, entriesStored);
CleanupStack::PopAndDestroy(&entries);
//Fetch updated entry and check if Alarm content is intact.
CleanupResetAndDestroyPushL(entries);
iTestLib->SynCGetEntryViewL().FetchL(KGUID1(), entries);
TestAlarmL(entries[0], KContent(), KMimeType());
CleanupStack::PopAndDestroy(&entries);
}
示例6: TestDeleteAlarmL
void CCalAlarmAttachTest::TestDeleteAlarmL()
{
CCalEntryView &view = iTestLib->SynCGetEntryViewL() ;
CCalEntryView *calentryview = &view ;
TInt num ;
ClearAllAlarmsL() ;
test.Printf(_L("Going to check deletion of non-snoozed alarms\n")) ;
/* create repeating parent entry */
HBufC8* guid = KGUID3().AllocLC(); // ownership of guid gets transferred
CCalEntry *entry = CCalEntry::NewL(CCalEntry::ETodo, guid, CCalEntry::EMethodNone, 0) ;
CleanupStack::Pop(guid);
CleanupStack::PushL(entry) ;
TTime now1;
now1.UniversalTime();
now1 += TTimeIntervalSeconds(30);
TCalTime startTime ;
TCalTime endTime ;
startTime.SetTimeUtcL(now1) ;
endTime.SetTimeUtcL(now1 + TTimeIntervalSeconds(30)) ;
entry->SetStartAndEndTimeL(startTime, endTime) ;
TCalRRule rrule(TCalRRule::EDaily) ;
rrule.SetDtStart(startTime);
TCalTime endRTime ;
endRTime.SetTimeUtcL(now1 + TTimeIntervalDays(7)) ;
rrule.SetUntil(endRTime);
rrule.SetInterval(1);
entry->SetRRuleL(rrule) ;
CCalAlarm *alarm = CCalAlarm::NewL() ;
CleanupStack::PushL(alarm) ;
alarm->SetTimeOffset(TTimeIntervalMinutes(0)) ;
entry->SetAlarmL(alarm) ; //ownership does not get transferred
RPointerArray<CCalEntry> entryarr ;
entryarr.AppendL(entry) ; //ownership does not got transferred
calentryview->StoreL(entryarr, num) ;
entryarr.Close() ;
CleanupStack::PopAndDestroy(alarm) ;
CleanupStack::PopAndDestroy(entry) ;
/* Now let the alarm go off */
RArray< TAlarmId > alarmIdArr ;
iAlarmServer.GetAlarmIdListL(alarmIdArr) ;
TInt cnt = alarmIdArr.Count() ;
test(cnt > 0) ;
TRequestStatus status = 0;
TAlarmId alarmId = alarmIdArr[0];
alarmIdArr.Close() ;
test.Printf(_L("Waiting one minute for the alarm to go off...\n")) ;
for(;;)
{
iAlarmServer.NotifyChange(status, alarmId);
User::WaitForRequest(status);
PrintEventDetails(status.Int());
if (status.Int() == EAlarmChangeEventTimerExpired)
{
break; // alarm expired
}
}
/* delete this entry - without snoozing */
RPointerArray< CCalEntry > calEntryArray ;
calentryview->FetchL(KGUID3(), calEntryArray) ;
test(calEntryArray.Count() == 1) ;
CCalEntry *entry1 = calEntryArray[0] ;
entry1->SetCompletedL(ETrue, startTime) ;
calentryview->StoreL(calEntryArray, num) ;
delete entry1 ;
calEntryArray.Close() ;
/* now check if the alarm still exists or not */
//.........这里部分代码省略.........
示例7: AddEntriesL
void CTestAgendaAddAppt::AddEntriesL( void )
{
TInt count=1;
if ( !GetIntFromConfig(ConfigSection(), KCount, count) )
count=1;
TBuf<KMaxTestExecuteCommandLength> tempStore;
TInt year;
TInt month;
TInt day;
TInt hour;
TInt minute;
TInt duration;
TInt alarm;
TPtrC ptrAlarmSound;
TPtrC ptrMessage;
TBuf<KMaxDateStringLength> dateString;
_LIT(KDateString,"%*E%*D%X%*N%*Y %1 %2 '%3");
RPointerArray<CCalEntry> array;
CleanupStack::PushL(TCleanupItem(DestroyRPointerArray, &array));
for (TInt entry=0; entry<count && TestStepResult() == EPass; )
{
TTime today;
today.HomeTime();
tempStore.Format(KYear(), ++entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, year) )
year=today.DateTime().Year();
tempStore.Format(KMonth(), entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, month) )
month=today.DateTime().Month();
tempStore.Format(KDay(), entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, day) )
day=today.DateTime().Day();
else
--day;
tempStore.Format(KHour(), entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, hour) )
hour=today.DateTime().Hour();
tempStore.Format(KMinute(), entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, minute) )
minute=0;
tempStore.Format(KDuration(), entry);
if ( !GetIntFromConfig(ConfigSection(), tempStore, duration) )
duration=30;
tempStore.Format(KMessage(), entry);
GetStringFromConfig(ConfigSection(), tempStore, ptrMessage);
TTime startTime(TDateTime(year, TMonth(month-1+EJanuary), day, hour, minute,0,0));
startTime.FormatL(dateString,KDateString);
INFO_PRINTF2(_L("Start date is %S"), &dateString);
TTime endTime = startTime + TTimeIntervalMinutes(duration);
endTime.FormatL(dateString,KDateString);
INFO_PRINTF2(_L("End date is %S"), &dateString);
HBufC8* uid = HBufC8::NewLC(255);
TPtr8 uidP = uid->Des();
uidP.Append(count);
CCalEntry* calEntry = CCalEntry::NewL(CCalEntry::EAppt, uid, CCalEntry::EMethodNone, 0);
CleanupStack::Pop(); //uid
CleanupStack::PushL(calEntry);
TCalTime calStartTime, calEndTime;
calStartTime.SetTimeLocalL(startTime);
calEndTime.SetTimeLocalL(endTime);
calEntry->SetStartAndEndTimeL(calStartTime, calEndTime);
tempStore.Format(KAlarm(), entry);
if ( GetIntFromConfig(ConfigSection(), tempStore, alarm) )
{
TTimeIntervalMinutes currentTime((hour*60) + minute);
TTimeIntervalMinutes alarmTime(currentTime.Int());
CCalAlarm* calAlarm = CCalAlarm::NewL();
CleanupStack::PushL(calAlarm);
calAlarm->SetTimeOffset(alarmTime);
tempStore.Format(KAlarmSound(), entry);
if ( GetStringFromConfig(ConfigSection(), tempStore, ptrAlarmSound) )
calAlarm->SetAlarmSoundNameL(ptrAlarmSound);
else
calAlarm->SetAlarmSoundNameL(_L("Bells"));
calEntry->SetAlarmL(calAlarm);
CleanupStack::PopAndDestroy(); //calAlarm
//.........这里部分代码省略.........
示例8: ConvertIntToAgnL
// -----------------------------------------------------------------------------
// CPIMAgnToDoAdapter::ConvertIntToAgnL
// Makes int conversion from framework PIM item data field to To-do item field.
// -----------------------------------------------------------------------------
//
void CPIMAgnToDoAdapter::ConvertIntToAgnL(TPIMToDoField aField, // Int field to be converted
TInt aIndex, // Index of the date field
CCalEntry& aEntry, // The Agenda model entry typecasted to a Todo item
const MPIMItemData& aItemData) // The PIM item to read the field from
{
JELOG2(EPim);
const TPIMFieldData fieldData = aItemData.ValueL(aField, aIndex);
switch (aField)
{
case EPIMToDoPriority:
{
TInt intField = fieldData.IntegerValue();
if ((EPIMToDoPriorityHigh <= intField) && (intField
< EPIMToDoPriorityMedium))
{
aEntry.SetPriorityL(EPIMToDoNativePriorityHigh);
}
else if ((EPIMToDoPriorityMedium <= intField) && (intField
< EPIMToDoPriorityLow))
{
aEntry.SetPriorityL(EPIMToDoNativePriorityMedium);
}
else if ((EPIMToDoPriorityLow <= intField) && (intField
<= EPIMToDoPriorityMaxValue))
{
aEntry.SetPriorityL(EPIMToDoNativePriorityLow);
}
else
{
// From requirement specification: Imported to-do items with
// priority set to zero must be mapped to the native priority
// value Medium.
aEntry.SetPriorityL(EPIMToDoNativePriorityMedium);
}
break;
}
case EPIMToDoClass:
{
CCalEntry::TReplicationStatus replicationStatus = CCalEntry::EPrivate;
// Single value assumed
TInt classValue = fieldData.IntegerValue();
switch (classValue)
{
case EPIMToDoClassPrivate:
{
replicationStatus = CCalEntry::EPrivate;
break;
}
case EPIMToDoClassConfidential:
{
replicationStatus = CCalEntry::ERestricted;
break;
}
case EPIMToDoClassPublic:
{
replicationStatus = CCalEntry::EOpen;
break;
}
default:
{
User::Leave(KErrArgument);
break;
}
}
aEntry.SetReplicationStatusL(replicationStatus);
break;
}
case EPIMToDoExtAlarm:
{
CCalAlarm* agnAlarm = CCalAlarm::NewL();
CleanupStack::PushL(agnAlarm);
agnAlarm->SetTimeOffset(AlarmOffsetL(aItemData, aEntry));
aEntry.SetAlarmL(agnAlarm);
CleanupStack::PopAndDestroy(agnAlarm);
break;
}
default:
{
// Should not happen
__ASSERT_DEBUG(EFalse, User::Invariant());
}
}
}