CFTimeZone.h
 1  /*	CFTimeZone.h
 2  	Copyright (c) 1998-2019, Apple Inc. and the Swift project authors
 3   
 4  	Portions Copyright (c) 2014-2019, Apple Inc. and the Swift project authors
 5  	Licensed under Apache License v2.0 with Runtime Library Exception
 6  	See http://swift.org/LICENSE.txt for license information
 7  	See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
 8  */
 9  
10  #if !defined(__COREFOUNDATION_CFTIMEZONE__)
11  #define __COREFOUNDATION_CFTIMEZONE__ 1
12  
13  #include <CoreFoundation/CFBase.h>
14  #include <CoreFoundation/CFArray.h>
15  #include <CoreFoundation/CFData.h>
16  #include <CoreFoundation/CFDate.h>
17  #include <CoreFoundation/CFDictionary.h>
18  #include <CoreFoundation/CFString.h>
19  #include <CoreFoundation/CFNotificationCenter.h>
20  #include <CoreFoundation/CFLocale.h>
21  
22  CF_IMPLICIT_BRIDGING_ENABLED
23  CF_EXTERN_C_BEGIN
24  
25  CF_EXPORT
26  CFTypeID CFTimeZoneGetTypeID(void);
27  
28  CF_EXPORT
29  CFTimeZoneRef CFTimeZoneCopySystem(void);
30  
31  CF_EXPORT
32  void CFTimeZoneResetSystem(void);
33  
34  CF_EXPORT
35  CFTimeZoneRef CFTimeZoneCopyDefault(void);
36  
37  CF_EXPORT
38  void CFTimeZoneSetDefault(CFTimeZoneRef tz);
39  
40  CF_EXPORT
41  CFArrayRef CFTimeZoneCopyKnownNames(void);
42  
43  CF_EXPORT
44  CFDictionaryRef CFTimeZoneCopyAbbreviationDictionary(void);
45  
46  CF_EXPORT
47  void CFTimeZoneSetAbbreviationDictionary(CFDictionaryRef dict);
48  
49  CF_EXPORT
50  CFTimeZoneRef CFTimeZoneCreate(CFAllocatorRef allocator, CFStringRef name, CFDataRef data);
51  
52  CF_EXPORT
53  CFTimeZoneRef CFTimeZoneCreateWithTimeIntervalFromGMT(CFAllocatorRef allocator, CFTimeInterval ti);
54  
55  CF_EXPORT
56  CFTimeZoneRef CFTimeZoneCreateWithName(CFAllocatorRef allocator, CFStringRef name, Boolean tryAbbrev);
57  
58  CF_EXPORT
59  CFStringRef CFTimeZoneGetName(CFTimeZoneRef tz);
60  
61  CF_EXPORT
62  CFDataRef CFTimeZoneGetData(CFTimeZoneRef tz);
63  
64  CF_EXPORT
65  CFTimeInterval CFTimeZoneGetSecondsFromGMT(CFTimeZoneRef tz, CFAbsoluteTime at);
66  
67  CF_EXPORT
68  CFStringRef CFTimeZoneCopyAbbreviation(CFTimeZoneRef tz, CFAbsoluteTime at);
69  
70  CF_EXPORT
71  Boolean CFTimeZoneIsDaylightSavingTime(CFTimeZoneRef tz, CFAbsoluteTime at);
72  
73  CF_EXPORT
74  CFTimeInterval CFTimeZoneGetDaylightSavingTimeOffset(CFTimeZoneRef tz, CFAbsoluteTime at) API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
75  
76  CF_EXPORT
77  CFAbsoluteTime CFTimeZoneGetNextDaylightSavingTimeTransition(CFTimeZoneRef tz, CFAbsoluteTime at) API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
78  
79  typedef CF_ENUM(CFIndex, CFTimeZoneNameStyle) {
80  	kCFTimeZoneNameStyleStandard,
81  	kCFTimeZoneNameStyleShortStandard,
82  	kCFTimeZoneNameStyleDaylightSaving,
83  	kCFTimeZoneNameStyleShortDaylightSaving,
84  	kCFTimeZoneNameStyleGeneric,
85  	kCFTimeZoneNameStyleShortGeneric
86  } API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
87  
88  CF_EXPORT
89  CFStringRef CFTimeZoneCopyLocalizedName(CFTimeZoneRef tz, CFTimeZoneNameStyle style, CFLocaleRef locale) API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
90  
91  CF_EXPORT
92  const CFNotificationName kCFTimeZoneSystemTimeZoneDidChangeNotification API_AVAILABLE(macos(10.5), ios(2.0), watchos(2.0), tvos(9.0));
93  
94  CF_EXTERN_C_END
95  CF_IMPLICIT_BRIDGING_DISABLED
96  
97  #endif /* ! __COREFOUNDATION_CFTIMEZONE__ */
98