summaryrefslogtreecommitdiff
path: root/protocols/Sametime/src/glib/gtimezoneprivate.h
blob: df30ea46d62a27a6dd78eab57df859c731c1011e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef __G_TIME_ZONE_PRIVATE_H__
#define __G_TIME_ZONE_PRIVATE_H__

#include "gtimezone.h"

/*< internal >
 * GTimeType:
 * @G_TIME_TYPE_STANDARD: the time is in local standard time
 * @G_TIME_TYPE_DAYLIGHT: the time is in local daylight time
 * @G_TIME_TYPE_UNIVERSAL: the time is in UTC
 *
 * Disambiguates a given time in two ways.
 *
 * First, specifies if the given time is in universal or local time.
 *
 * Second, if the time is in local time, specifies if it is local
 * standard time or local daylight time.  This is important for the case
 * where the same local time occurs twice (during daylight savings time
 * transitions, for example).
 */
typedef enum
{
  G_TIME_TYPE_STANDARD,
  G_TIME_TYPE_DAYLIGHT,
  G_TIME_TYPE_UNIVERSAL
} GTimeType;

G_GNUC_INTERNAL
gint                    g_time_zone_find_interval                       (GTimeZone   *tz,
                                                                         GTimeType    type,
                                                                         gint64       time);

G_GNUC_INTERNAL
gint                    g_time_zone_adjust_time                         (GTimeZone   *tz,
                                                                         GTimeType    type,
                                                                         gint64      *time);

G_GNUC_INTERNAL
const gchar *           g_time_zone_get_abbreviation                    (GTimeZone   *tz,
                                                                         gint         interval);
G_GNUC_INTERNAL
gint32                  g_time_zone_get_offset                          (GTimeZone   *tz,
                                                                         gint         interval);
G_GNUC_INTERNAL
gboolean                g_time_zone_is_dst                              (GTimeZone   *tz,
                                                                         gint         interval);

#endif /* __G_TIME_ZONE_PRIVATE_H__ */