class CVTzActualisedRules : public CBase |
Encapsulates a collection of the local time changes occurring during a range of years.
Public Member Functions | |
---|---|
~CVTzActualisedRules () | |
IMPORT_C void | AddRuleL (const TVTzActualisedRule &) |
IMPORT_C TInt | Count () |
IMPORT_C TInt | EndYear () |
IMPORT_C TInt | GetOffsetFromRuleL (const TTime &, TTzTimeReference ) |
IMPORT_C TBool | IsDaylightSavingOn ( TTime &) |
IMPORT_C CVTzActualisedRules * | NewL ( TInt , TInt ) |
IMPORT_C TInt | StartYear () |
IMPORT_C TVTzActualisedRule & | operator[] ( TInt ) |
Private Member Functions | |
---|---|
CVTzActualisedRules ( TInt , TInt ) | |
CVTzActualisedRules () | |
TInt | CompareTimesWithRef ( TTime , TTzTimeReference , TTime , TTzTimeReference , TInt , TTimeIntervalMinutes &) |
Private Attributes | |
---|---|
TInt32 | iEndYear |
RArray < TVTzActualisedRule > | iRules |
TInt32 | iStartYear |
CVTzActualisedRules | ( | TInt | aStartYear, |
TInt | aEndYear | ||
) | [private] |
Constructor.
IMPORT_C void | AddRuleL | ( | const TVTzActualisedRule & | aRule | ) |
Add an actualised rule to the collection.
const TVTzActualisedRule & aRule | An actualised rule to be added into the collection. |
TInt | CompareTimesWithRef | ( | TTime | aRolloverTime, |
TTzTimeReference | aTimeRefRollover, | |||
TTime | aUserTime, | |||
TTzTimeReference | aTimeRefUser, | |||
TInt | aOldWallOffset, | |||
TTimeIntervalMinutes & | aDiffMinutes | |||
) | const [private] |
Compares two times with time references (TTzTimeReference). TTzTimeReference is either ETzUtcTimeReference or ETzWallTimeReference.
If time references for both aRolloverTime and aUserTime are the same, then straight comparison is done. Otherwise aRolloverTime is converted to match the time reference of aUserTime.
TTime aRolloverTime | - the time of change from/to Daylight Savings Time (DST) |
TTzTimeReference aTimeRefRollover | - the time reference used in aRolloverTime |
TTime aUserTime | - the time provided by the user to compare with |
TTzTimeReference aTimeRefUser | - the time reference used for the user time |
TInt aOldWallOffset | - the offset that is active before aRolloverTime happens |
TTimeIntervalMinutes & aDiffMinutes |
IMPORT_C TInt | EndYear | ( | ) | const |
Returns max year of the year range the CVTzActualisedRules object describes the rules for.
IMPORT_C TInt | GetOffsetFromRuleL | ( | const TTime & | aTime, |
TTzTimeReference | aTimeRef | |||
) | const |
Receives a time. Finds out which of these rules applies at the received time and returns the offset in effect at the specified time.
Leaves with KErrNotFound, if it doesn't find the rule (i.e. aTime is earlier than the very first time in CVTzActualisedRules ).
const TTime & aTime | - time of interest |
TTzTimeReference aTimeRef | - time reference for the aUserTime (UTC or wall-time) note: ETzStdTimeReference for aTimeRef is not supported, will panic with RTz::EPanicUnsupportedTimeReference. |
IMPORT_C TBool | IsDaylightSavingOn | ( | TTime & | aTime | ) | const |
TTime & aTime | The time of interest given in UTC. |
IMPORT_C CVTzActualisedRules * | NewL | ( | TInt | aStartYear, |
TInt | aEndYear | |||
) | [static] |
Factory method for CVTzActualisedRules objects. Creates a new instance of CVTzActualizedRules - an array of actualised rules ( TVTzActualisedRule ).
The array of rules can be populated later by invoking CTzRules::GetActualisedRulesL() method.
Rules in the array are sorted ascending by rule's start time ( TVTzActualisedRule.iTimeOfChange ); The very first rule in the array, if present, defines "default standard rule" for the time zone indicating the STD time offset from UTC, in effect from the start of the first year (aStartYear).
IMPORT_C TInt | StartYear | ( | ) | const |
Returns min year of the year range the CVTzActualisedRules object describes the rules for. It is guaranteed that the array of rules does not contain any rules for years before that min year.
IMPORT_C TVTzActualisedRule & | operator[] | ( | TInt | aIndex | ) | const |
Returns specified TVTzActualisedRule .
TInt aIndex | Index of a rule |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.