»
Symbian OS v6.1 Edition for C++ »
API Reference »
Agenda Entry and Instance »
CAgnRptDef
Location:
agmrptd.h
Link against: agnmodel.lib
CAgnRptDef
Support
Supported from 5.1
Description
A repeat definition, including exceptions, which is owned by an
agenda entry. The object is set using CAgnEntry::SetRptDefL()
and
is returned using CAgnBasicEntry::RptDef()
(or
TAgnLiteEntry::RptDef()
).
The repeat definition has a type (daily, weekly etc.) and stores a
set of repeat details (e.g. start and end date, interval between repeats). The
repeat details are stored using an instance of a TAgnRpt
- derived
class. They are set using SetDaily()
, SetWeekly()
etc. — these functions also set the type. It may optionally store
an exception list, which is a list of the dates on which the repeat should not
occur.
Note
When the repeat definition is set, the entry’s start date
(or due date for a to-do entry) may be changed to the repeat
definition’s start date.
Derivation
CAgnRptDef | A repeat definition, including exceptions, which is owned by an agenda entry |
CBase | Base class for all classes to be instantiated on the heap |
|
Defined in CAgnRptDef
:
AddExceptionL()
, CopyL()
, Daily()
, DisplayNextOnly()
, EndDate()
, EndDateAsAgnDate()
, Exceptions()
, ExternalizeL()
, FindException()
, FindRptEndDate()
, InstanceCount()
, InternalizeL()
, Interval()
, IsAnInstance()
, IsAnUnexceptedInstance()
, MonthlyByDates()
, MonthlyByDays()
, NewL()
, NudgeNextInstance()
, NudgeNextUnexceptedInstance()
, NudgePreviousInstance()
, NudgePreviousUnexceptedInstance()
, RemoveAllExceptions()
, RemoveException()
, RepeatForever()
, RptDef()
, SetDaily()
, SetDisplayNextOnly()
, SetEndDate()
, SetInterval()
, SetMonthlyByDates()
, SetMonthlyByDays()
, SetRepeatForever()
, SetStartDate()
, SetWeekly()
, SetYearlyByDate()
, SetYearlyByDay()
, StartDate()
, StartDateAsAgnDate()
, Type()
, Weekly()
, YearlyByDate()
, YearlyByDay()
, operator==()
, ~CAgnRptDef()
Inherited from CBase
:
operator new()
Construction and destruction
static CAgnRptDef* NewL();
Description
Allocates and constructs a repeat
definition.
Return value
CAgnRptDef* |
The pointer to the created repeat definition. |
|
virtual ~CAgnRptDef();
Description
The destructor frees all resources owned by the repeat
definition, prior to its destruction.
void CopyL(const CAgnRptDef* aRpt);
Description
Copies the contents of a repeat definition into this
object.
Parameters
const CAgnRptDef* aRpt |
Pointer to the item to be copied. |
|
TAgnDailyRpt Daily() const;
Description
If the repeat definition is of type EDaily
, returns the
repeat details. Otherwise, returns the repeat details as a daily
repeat.
Return value
TAgnDailyRpt |
The repeat details. |
|
TAgnWeeklyRpt Weekly() const;
Description
If the repeat definition is of type EWeekly
, returns the
repeat details. Otherwise, returns the repeat details as a weekly
repeat.
Return value
TAgnWeeklyRpt |
The repeat details. |
|
TAgnMonthlyByDatesRpt MonthlyByDates() const;
Description
If the repeat definition is of type EMonthlyByDates
, returns
the repeat details. Otherwise, returns the repeat details as a monthly repeat
by dates.
Return value
TAgnMonthlyByDatesRpt |
The repeat details. |
|
TAgnMonthlyByDaysRpt MonthlyByDays() const;
Description
If the repeat definition is of type EMonthlyByDays
, returns
the repeat details. Otherwise, returns the repeat details as a monthly repeat
by days.
Return value
TAgnMonthlyByDaysRpt |
The repeat details. |
|
TAgnYearlyByDateRpt YearlyByDate() const;
Description
If the repeat definition is of type EYearlyByDate
, returns
the repeat details. Otherwise, returns the repeat details as a yearly repeat by
date.
Return value
TAgnYearlyByDateRpt |
The repeat details. |
|
TAgnYearlyByDayRpt YearlyByDay() const;
Description
If the repeat definition is of type EYearlyByDay
, returns
the repeat details. Otherwise, returns the repeat details as a yearly repeat by
day.
Return value
TAgnYearlyByDayRpt |
The repeat details. |
|
TTime StartDate() const;
Description
Returns the start date of the repeat.
Return value
TAgnDate StartDateAsAgnDate() const;
Description
Returns the start date of the repeat as an agenda
date.
Return value
TTime EndDate() const;
Description
Returns the end date of the repeat. If the object has been set to repeat
forever, this value is the agenda model’s maximum
date.
Return value
TAgnDate EndDateAsAgnDate() const;
Description
Returns the end date of the repeat as an agenda
date.
Return value
TAgnDate |
The end date as an agenda date. |
|
TInt Interval() const;
Description
Returns the interval between repeats.
Return value
const TAgnRpt* RptDef() const;
Description
Returns a pointer to the repeat details.
Return value
TAgnRpt* |
Pointer to the repeat details. |
|
TType Type() const;
Description
Returns the repeat definition’s type, as set by
SetDaily()
, SetWeekly()
etc.
Return value
TType |
The repeat definition’s type. |
|
TBool NudgeNextInstance(TAgnDate aDay,TAgnDate& aNext) const;
Description
Tests whether there is another repeat instance date after
aDay
, including excepted instances. If there is, returns
ETrue
and sets aNext
to it. If not, returns
EFalse
and sets aNext
to the last valid instance
date. If aDay
is a valid instance, then aNext
is set
to it, not the next instance.
Example:
If repeat instances fall on 10th Jan and 20th Jan,
then aDay
= 10th Jan returns ETrue
and aNext
= 10th Jan. aDay
= 11th
to 19th Jan returns ETrue
and
aNext
= 20th Jan. aDay
= 21st Jan
returns EFalse
and aNext
= 20th
Jan.
Parameters
TAgnDate aDay |
The date. |
TAgnDate& aNext |
On return contains the date of the next instance if there is one,
otherwise the last valid instance date. |
|
Return value
TBool |
True if there is a next instance, otherwise False. |
|
NudgeNextUnexceptedInstance()
TBool NudgeNextUnexceptedInstance(TAgnDate aDay,TAgnDate& aNext) const;
Description
Tests whether there is another unexcepted repeat instance date after
aDay
. If there is, returns ETrue
and sets
aNext
to it. If not, returns EFalse
and sets
aNext
to the last valid instance date. If aDay
is a
valid instance, then aNext
is set to it, not the next
instance.
Example:
If unexcepted repeat instances fall on 10th Jan and 20th
Jan, then aDay
= 10th Jan returns
ETrue
and aNext
= 10th Jan.
aDay
= 11th to 19th Jan
returns ETrue
and aNext
= 20th
Jan. aDay
= 21st Jan returns EFalse
and
aNext
= 20th Jan.
Parameters
TAgnDate aDay |
The date. |
TAgnDate& aNext |
On return contains the date of the next instance if there is one,
otherwise the last valid instance date. |
|
Return value
TBool |
True if there is a next instance, otherwise False. |
|
TBool NudgePreviousInstance(TAgnDate aDay,TAgnDate& aPrev) const;
Description
Tests whether there is a repeat instance date before aDay
.
If there is, returns ETrue
and sets aNext
to it. If
not, returns EFalse
and sets aNext
to the last valid
instance date. If aDay
is a valid instance, then
aNext
is set to it, not the next instance.
Example:
If repeat instances fall on 10th Jan and 20th Jan,
then aDay
= 20th Jan returns ETrue
and aNext
= 20th Jan. aDay
= 11th
to 19th Jan returns ETrue
and
aNext
= 10th Jan. aDay
= 9th Jan
returns EFalse
and aNext
= 10th
Jan.
Parameters
TAgnDate aDay |
The date. |
TAgnDate& aPrev |
On return contains the date of the previous instance if there is one,
otherwise the first valid instance date. |
|
Return value
TBool |
True if there is a previous instance, otherwise False. |
|
NudgePreviousUnexceptedInstance()
TBool NudgePreviousUnexceptedInstance(TAgnDate aDay,TAgnDate& aPrev) const;
Description
Tests whether there is an unexcepted repeat instance date before
aDay
. If there is, returns ETrue
and sets
aNext
to it. If not, returns EFalse
and sets
aNext
to the last valid instance date. If aDay
is a
valid instance, then aNext
is set to it, not the next
instance.
Example:
If unexcepted repeat instances fall on 10th Jan and 20th
Jan, then aDay
= 20th Jan returns
ETrue
and aNext
= 20th Jan.
aDay
= 11th to 19th Jan
returns ETrue
and aNext
= 10th
Jan. aDay
= 9th Jan returns EFalse
and
aNext
= 10th Jan.
Parameters
TAgnDate aDay |
The date. |
TAgnDate& aPrev |
On return contains the date of the previous instance if there is one,
otherwise the first valid instance date. |
|
Return value
TBool |
True if there is a previous instance, otherwise False. |
|
TUint InstanceCount() const;
Description
Returns the number of repeat instances generated by the repeat algorithm,
including excepted instances.
Return value
TUint |
The number of repeat instances. |
|
const CAgnExceptionList* Exceptions() const;
Description
Returns a pointer to the repeat definition’s exception
list.
Return value
CAgnExceptionList* |
Pointer to the exception list. |
|
TTime FindRptEndDate(TUint aCount) const;
Description
Calculates and returns the repeat end date, given the number of
instances.
Parameters
TUint aCount |
The number of instances. |
|
Return value
TTime |
The end date if within range of the agenda, otherwise a null date. |
|
void AddExceptionL(const TAgnException& aException);
Description
Adds an exception to the list of exceptions (first creating the exception
list if necessary).
Parameters
const TAgnException& aException |
The exception to add to the list. |
|
TBool RemoveException(const TAgnException& aException);
Description
Removes one exception from the exception list. If it is the last
exception in the list, the list is deleted.
Parameters
const TAgnException& aException |
The exception to be removed. |
|
Return value
TBool |
ETrue if the exception was found and removed, otherwise
EFalse .
|
|
void RemoveAllExceptions();
Description
Removes all the exceptions from the exception list.
void SetDaily(const TAgnDailyRpt& aRpt);
Description
Sets the repeat type as daily and sets the repeat details to those
contained in aRpt
.
Parameters
const TAgnDailyRpt& aRpt |
Daily repeat details. |
|
void SetWeekly(const TAgnWeeklyRpt& aRpt);
Description
Sets the repeat type to weekly and sets the repeat details to those
contained in aRpt
.
Parameters
const TAgnWeeklyRpt& aRpt |
Weekly repeat details. |
|
void SetMonthlyByDates(const TAgnMonthlyByDatesRpt& aRpt);
Description
Sets the repeat type to be monthly by dates and sets the repeat details
to those contained in aRpt
.
Parameters
const TAgnMonthlyByDatesRpt& aRpt |
Monthly by dates repeat details. |
|
void SetMonthlyByDays(const TAgnMonthlyByDaysRpt& aRpt);
Description
Sets the repeat type to be monthly by days and sets the repeat details to
those contained in aRpt
.
Parameters
const TAgnMonthlyByDaysRpt& aRpt |
Monthly by days repeat details. |
|
void SetYearlyByDate(const TAgnYearlyByDateRpt& aRpt);
Description
Sets the repeat type to yearly by date and sets the repeat details to
those contained in aRpt
.
Parameters
const TAgnYearlyByDateRpt& aRpt |
Yearly repeat details. |
|
void SetYearlyByDay(const TAgnYearlyByDayRpt& aRpt);
Description
Sets the repeat type to yearly by day and sets the repeat details to
those contained in aRpt
.
Parameters
const TAgnYearlyByDayRpt& aRpt |
Yearly repeat details. |
|
void SetDisplayNextOnly(TBool aDisplayNextOnly);
Description
Sets a flag to indicate whether or not only the next occurrence of a
repeat after today should appear in views.
Parameters
TBool aDisplayNextOnly |
ETrue = display next only, EFalse = display all
occurrences.
|
|
void SetStartDate(const TTime& aStartDate);
Description
Sets the start date for this repeat. A panic occurs if
aStartDate
is outside the valid agenda range.
Parameters
const TTime& aStartDate |
The start date. |
|
void SetStartDate(TAgnDate aStartDate);
Description
Sets the start date for this repeat. A panic occurs if
aStartDate
is outside the valid range for a
TAgnDate
.
Parameters
TAgnDate aStartDate |
The start date. |
|
void SetEndDate(const TTime& aEndDate);
Description
Sets the end date for the repeat. A panic occurs if aEndDate
is outside the valid agenda range.
Note
When the end date is set, the ‘repeat forever’ flag (if
set) is automatically unset.
Parameters
const TTime& aEndDate |
The end date of the repeat. |
|
void SetEndDate(TAgnDate aEndDate);
Description
Sets the end date for the repeat. A panic occurs if aEndDate
is outside the valid range for a TAgnDate
.
Note
When the end date is set, the ‘repeat forever’ flag (if
set) is automatically unset.
Parameters
TAgnDate aEndDate |
The end date. |
|
void SetInterval(TUint aInterval);
Description
Sets the interval for the repeat. This is a number of days for a daily
repeat, a number of weeks for a weekly repeat, etc.
Parameters
TUint aInterval |
The interval. |
|
void SetRepeatForever(TBool aRepeatForever);
Description
Sets whether the repeat should have no end date, so that it repeats
forever.
Parameters
TBool aRepeatForever |
True = set the repeat end date to be the maximum date of the agenda.
False = do not repeat forever |
|
TBool IsAnInstance(TAgnDate aDate) const;
Description
Tests whether aDate
falls on an instance generated from the
repeat algorithm, including excepted items.
Note
This function is not intended to be called by a view
Parameters
TAgnDate aDate |
The date to be checked. |
|
Return value
TBool |
True = date falls on an instance, otherwise False. |
|
TBool IsAnUnexceptedInstance(TAgnDate aDate) const;
Description
Tests whether aDate
falls on an instance generated from the
repeat algorithm which is not excepted.
Parameters
TAgnDate aDate |
The date to be checked. |
|
Return value
TBool |
True = the date falls on a non excepted instance, otherwise False. |
|
TBool operator==(const CAgnRptDef& aRpt) const;
Description
Compares two repeat definitions for equality (compares all repeat
details, the repeat type and the exception list).
Parameters
const CAgnRptDef& aRpt |
The repeat definition. |
|
Return value
TBool |
True = if complete definitions agree, otherwise False. |
|
TBool RepeatForever() const;
Description
Tests whether the object should repeat forever, as set by
SetRepeatForever()
.
Return value
TBool |
True if object repeats forever, otherwise False. |
|
TBool DisplayNextOnly() const;
Description
Tests whether to display the next item only.
Return value
TBool |
True = display the next item only, otherwise False. |
|
TBool FindException(const TAgnException& aException) const;
Description
Tests whether aException
is in the exceptions list, using
the exception date as the find key.
Parameters
const TAgnException& aException |
The exception. |
|
Return value
TBool |
ETrue = present, otherwise EFalse .
|
|
void InternalizeL(RReadStream& aStream);
Description
Internalises the repeat definition from a read stream, including type,
repeat details and exception list.
Parameters
RReadStream& aStream |
Stream from which the object should be internalised. |
|
Leave codes
|
Leaves with KErrCorrupt if the repeat definition has an
invalid type or if it has invalid information. |
|
void ExternalizeL(RWriteStream& aStream) const;
Description
Externalises the repeat definition on to a write
stream.
Parameters
RWriteStream& aStream |
Stream to which the object should be externalised. |
|
Leave codes
|
The function leaves with EAgmErrBadEntry if the repeat
definition contains invalid or conflicting information, for instance, if the
start or end date is invalid. |
|