epoc32/include/mw/tzupdate.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
#ifndef __TZUPDATE_H__
williamr@2
    17
#define __TZUPDATE_H__
williamr@2
    18
williamr@2
    19
#include <e32cmn.h> // TUid.
williamr@4
    20
#include <e32std.h>
williamr@2
    21
williamr@2
    22
/** UTC Offset update notification constants. When the UTC offset is automatically
williamr@2
    23
adjusted for Daylight Saving then it is possible to receive
williamr@2
    24
notification using the Publish and Subscribe API with the
williamr@2
    25
values defined here. Note that this property is updated by the Time Zone Server
williamr@2
    26
as this is the only component that can modify the UTC Offset.
williamr@2
    27
williamr@2
    28
@see RProperty in e32property.h
williamr@2
    29
*/
williamr@2
    30
namespace NTzUpdate
williamr@2
    31
    {
williamr@4
    32
	/** Time zone services publish and subscribe property category.
williamr@4
    33
	@publishedAll
williamr@4
    34
	@released
williamr@4
    35
	*/
williamr@2
    36
    const TUid KPropertyCategory = { 0x1020383E };
williamr@2
    37
williamr@4
    38
	/** Time zone services publish and subscribe property keys.
williamr@4
    39
	@publishedAll
williamr@4
    40
	@released
williamr@4
    41
	*/
williamr@2
    42
    enum TPropertyKeys
williamr@2
    43
        {
williamr@2
    44
        EUtcOffsetChangeNotification,
williamr@2
    45
        ECurrentTimeZoneId,
williamr@2
    46
        EHomeTimeZoneId,
williamr@4
    47
        ENextDSTChange,
williamr@4
    48
		ETzRulesChange, 
williamr@4
    49
	    ETzNamesChange, 
williamr@2
    50
        };
williamr@2
    51
williamr@4
    52
	/** Structure used to return the value for ECurrentTimeZoneId or 
williamr@4
    53
	EHomeTimeZoneId property.
williamr@4
    54
	@see RTz::NotifyHomeTimeZoneChangedL
williamr@4
    55
	@publishedAll
williamr@4
    56
	@released
williamr@4
    57
	*/
williamr@2
    58
	struct TTimeZoneChange
williamr@2
    59
		{
williamr@2
    60
		TInt iNewTimeZoneId;
williamr@2
    61
		TInt iOldTimeZoneId;
williamr@2
    62
		};
williamr@2
    63
		
williamr@2
    64
	/** This struct is used to publish DST Change info in an RProperty.
williamr@4
    65
	Subscribers to the ENextDSTChange property will define a copy of this struct
williamr@2
    66
	so that they are not dependant on the tz component.
williamr@2
    67
	If this struct changes then the copies must also be changed.
williamr@4
    68
	@publishedAll
williamr@4
    69
	@released
williamr@2
    70
	*/
williamr@2
    71
	struct TDSTChangeInfo
williamr@2
    72
		{
williamr@2
    73
		/** The version of the struct. Currently always 1 */
williamr@2
    74
		TUint8 iVersion;
williamr@2
    75
williamr@2
    76
		/** The time of the next offset change in UTC */
williamr@2
    77
		TTime iNextDSTChangeUTC;
williamr@2
    78
		/** The offset from UTC (in minutes) after the next DST change will take place.*/
williamr@2
    79
		TInt iNextUTCOffset;
williamr@2
    80
		
williamr@2
    81
		/** The time of the previous offset change in UTC. This member is only valid if the version is 2 or above. */
williamr@2
    82
		TTime iPreviousDSTChangeUTC;
williamr@2
    83
williamr@2
    84
		/** The offset from UTC (in minutes) before the previous DST change took place. This member is only valid
williamr@2
    85
		if the version is 2 or above.*/
williamr@2
    86
		TInt iPreviousUTCOffset;
williamr@4
    87
	private:
williamr@4
    88
		/** Reserved for future use. 
williamr@4
    89
		*/
williamr@2
    90
		TInt iReserved[12];
williamr@2
    91
		};
williamr@4
    92
	/** Structure used to return the value for ETzRulesChange property.
williamr@4
    93
	This property covers changes to the system TZ database, the current/system
williamr@4
    94
	TZ rules or user-defined TZ rules.
williamr@4
    95
	@publishedAll
williamr@4
    96
	@released
williamr@4
    97
	*/
williamr@4
    98
	struct TTzRulesChange
williamr@4
    99
    	{
williamr@4
   100
    	TTime iUTCTimeOfRulesChange;
williamr@4
   101
    	};
williamr@4
   102
    	
williamr@4
   103
	/** Structure used to return the value for ETzNamesChange property.
williamr@4
   104
	This property covers changes to either the localized system TZ names
williamr@4
   105
	or non-localized user-defined TZ names.
williamr@4
   106
	@publishedAll
williamr@4
   107
	@released
williamr@4
   108
	*/
williamr@4
   109
    struct TTzNamesChange
williamr@4
   110
    	{
williamr@4
   111
    	TTime iUTCTimeOfNamesChange;
williamr@4
   112
    	};
williamr@4
   113
     }
williamr@2
   114
williamr@2
   115
#endif  // __TZUPDATE_H__