本文整理汇总了C++中CCalEntry::RecurrenceIdL方法的典型用法代码示例。如果您正苦于以下问题:C++ CCalEntry::RecurrenceIdL方法的具体用法?C++ CCalEntry::RecurrenceIdL怎么用?C++ CCalEntry::RecurrenceIdL使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCalEntry
的用法示例。
在下文中一共展示了CCalEntry::RecurrenceIdL方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: transformToDetailL
void OrganizerItemTypeTransform::transformToDetailL(const CCalEntry& entry, QOrganizerItem *item)
{
CCalEntry::TType entryType = entry.EntryTypeL();
QString itemType;
if (entryType == CCalEntry::ETodo) {
// Assume this is an occurrence if the recurrence id is set
if (entry.RecurrenceIdL().TimeUtcL() != Time::NullTTime())
itemType = QLatin1String(QOrganizerItemType::TypeTodoOccurrence);
else
itemType = QLatin1String(QOrganizerItemType::TypeTodo);
}
else if (entryType == CCalEntry::EEvent || entryType == CCalEntry::EAppt) {
// Assume this is an occurrence if the recurrence id is set
if (entry.RecurrenceIdL().TimeUtcL() != Time::NullTTime())
itemType = QLatin1String(QOrganizerItemType::TypeEventOccurrence);
else
itemType = QLatin1String(QOrganizerItemType::TypeEvent);
}
else if (entryType == CCalEntry::EAnniv)
itemType = QLatin1String(QOrganizerItemType::TypeEvent);
#ifdef AGENDA_EXT_SUPPORT
else if (CCalEntry::ENote == entryType) {
itemType = QLatin1String(QOrganizerItemType::TypeNote);
}
#endif
else
User::Leave(KErrUnknown); // unknown type
item->setType(itemType);
}
示例2: FetchAndCheckDataL
/** Fetch the entry and check the properties that are set.
@param aGuid Data for fetching the entry.
@param aEntryProperties Structure containing the entry properties
*/
void CTestCalInterimApiFetchEntryAndCheckData::FetchAndCheckDataL(const TPtrC& aGuid, const TInt& aExpectedCount,
const TEntryProperties& aEntryProperties, const TPtrC& aTimeMode)
{
RPointerArray<CCalEntry> entriesFetched;
CleanupStack::PushL(TCleanupItem(ResetAndDestroyEntryArray, &entriesFetched));
HBufC8* entryId = HBufC8::NewLC(aGuid.Length());
entryId->Des().Copy(aGuid);
iCalEntryView->FetchL(entryId->Des(), entriesFetched);
CleanupStack::PopAndDestroy(entryId);
TBool matchInRecurrenceId = EFalse;
if ( entriesFetched.Count() == aExpectedCount )
{
for ( TInt i = 0; i < entriesFetched.Count(); i++ )
{
CCalEntry* calEntry = entriesFetched[i];
if ( aEntryProperties.iRecurrenceId == KNullDesC16() ) // Parent Entry
{
if ( calEntry->RecurrenceIdL().TimeUtcL() == Time::NullTTime() )
{
// Checks the data for the parent entry
CheckDataL(calEntry, aEntryProperties);
}
}
else // Child Entry
{
TTime recurrenceIdValue;
recurrenceIdValue.Set(aEntryProperties.iRecurrenceId);
TCalTime recurrenceId;
// Sets the time mode to floating or Utc based on the time mode given
SetCalTimeL(recurrenceIdValue, iRecurrenceId, SetTimeMode(aTimeMode));
if (iRecurrenceId.TimeUtcL() == (calEntry->RecurrenceIdL().TimeUtcL()) )
{
matchInRecurrenceId = ETrue;
// Checks the data for the child entry
CheckDataL(calEntry, aEntryProperties);
}
}
}
INFO_PRINTF3(KInfoEntryFetched, entriesFetched.Count(), aExpectedCount) ;
}
else
{
ERR_PRINTF3(KErrExpectedCount, entriesFetched.Count(), aExpectedCount);
SetTestStepResult(EFail);
}
/* If the recurrence Id doesn't match with the recurrenceId of the child entry
then, print a warning message */
if (aEntryProperties.iRecurrenceId != KNullDesC16() && matchInRecurrenceId == 0)
{
WARN_PRINTF1(KWarnNoMatchInRecurrenceId);
}
CleanupStack::PopAndDestroy(&entriesFetched);
}
示例3: ExtractEntriesL
// Helper method
// Extract all entries given by Guids in iCurrentTestData
void CDummyCalendarApp::ExtractEntriesL(TBool aCompareWithExpectedNum, TInt aExpectedNum)
{
// Extract entries by the GUIDs given in current-test-data's iGuids
for(TInt a = 0; a < iCurrentTestData->iGuidsToExtract.Count(); a++)
{
TPtrC8 guid = iCurrentTestData->iGuidsToExtract[a];
RPointerArray<CCalEntry> entryArray;
CleanupStack::PushL(TCleanupItem(ResetAndDestroyCalEntryArray, &entryArray));
iEntryView->FetchL(guid, entryArray);
test.Printf(_L("%d GS entries fetched\n"), entryArray.Count());
if (aCompareWithExpectedNum)
{
test.Printf(_L("%d entries were expected"), aExpectedNum);
test(entryArray.Count() == aExpectedNum);
}
CCalEntry* entryPtr;
for(TInt a = 0; a < entryArray.Count(); a++)
{
entryPtr = entryArray[a];
if(a==0)
{
test.Printf(_L("Parent -> SeqNum:%d\n"), entryPtr->SequenceNumberL());
}
else
{
TBuf<16> recIdTimeBuf;
TTime recIdTime = entryPtr->RecurrenceIdL().TimeLocalL();
recIdTime.FormatL(recIdTimeBuf, KFormatDate());
test.Printf(_L("Child -> SeqNum:%d, RecID: %S\n"), entryPtr->SequenceNumberL(), &recIdTimeBuf);
}
}
CleanupStack::Pop(); // TCleanupItem(ResetAndDestroyCalEntryArray, &entryArray)
entryArray.ResetAndDestroy();
}
}
示例4: AddEntryL
void CDummyCalendarApp::AddEntryL(TInt aNumToAdd, TBool isParent, TBool isRepeat)
{
test.Next(_L("Adding entries"));
TBuf<50> summary;
TBuf<50> location;
TBuf<50> description;
iEntries.ResetAndDestroy();
for (TInt index=0; index<aNumToAdd; index++)
{
TBuf8<255> buf;
buf.Append(_L("GuidId"));
buf.AppendNum(index);
HBufC8* guid = buf.AllocLC(); // need to be pushed to ...
CCalEntry::TType entryType=(index%2==0)?CCalEntry::ETodo:CCalEntry::EAppt;
CCalEntry* entry = NULL;
if(isParent)
{
entry = CreateCalEntryL(entryType, guid);
}
else
{
TTime localTime(KRecurrIdLocalTime);
TCalTime recurrenceId;
recurrenceId.SetTimeLocalL(localTime);
entry = CCalEntry::NewL(entryType, guid, CCalEntry::EMethodAdd, 1, recurrenceId, CalCommon::EThisAndFuture);
}
CleanupStack::Pop(guid);
iEntries.AppendL(entry);
TInt year = -1;
TInt month = -1;
TInt day = -1;
if (isParent)
{
year = index % 5 + 2001; // Any year in the range: 2001 - 2005
month = index % 12;
day = index % 28;
}
else
{
// if this is a child entry, use the recurrence local time as the entry start time
// so it won't be out of range
TCalTime recurrId = entry->RecurrenceIdL();
TDateTime localTime = recurrId.TimeLocalL().DateTime();
year = localTime.Year();
month = localTime.Month();
day = localTime.Day();
}
TTime start(TDateTime(year, (TMonth)month, day, 0, 0, 0, 0));
TTime end(TDateTime(year, (TMonth)month, day, 0, 0, 0, 0));
end += TTimeIntervalDays(1);
SetEntryStartAndEndTimeL(entry,start,end);
RandomText(summary);
entry->SetSummaryL(summary);
RandomText(location);
entry->SetLocationL(location);
RandomText(description);
entry->SetDescriptionL(description);
if(isRepeat)
{
//create a daily repeat rule and make sure its repeat start\end date is within the deleting time range
TCalRRule rpt(TCalRRule::EDaily);
rpt.SetInterval(1);
TCalTime repeatStart;
TCalTime repeatend;
if(isParent)
{
//make sure the repeat time is within the delete time range
repeatStart.SetTimeLocalL(TDateTime(2000, EJune, 0, 0, 0, 0, 0));
repeatend.SetTimeLocalL(TDateTime(2006, EJune, 0, 0, 0, 0, 0));
}
else if (index<aNumToAdd/2)
{
// if this is a child entry, use the entry's recurrance time as repeating rule
// start time
TCalTime recurrId = entry->RecurrenceIdL();
// make sure the repeat time is within the delete time range for the first half entries
repeatStart.SetTimeLocalL(recurrId.TimeLocalL()); // June 1, 2003 00:00:00
repeatend.SetTimeLocalL(recurrId.TimeLocalL() + TTimeIntervalMonths(1)); // July 1, 2003 00:00:00
}
else
{
//make sure the repeat time is out of the delete time range for the second half entries
repeatStart.SetTimeLocalL(TDateTime(2003, EJune, 0, 0, 0, 0, 0));
repeatend.SetTimeLocalL(TDateTime(2007, EJune, 0, 0, 0, 0, 0));
}
//.........这里部分代码省略.........