Remove build warning
[platform/upstream/libsoup.git] / libsoup / soup-date.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * Copyright (C) 2005 Novell, Inc.
4  * Copyright (C) 2007 Red Hat, Inc.
5  */
6
7 #ifndef SOUP_DATE_H
8 #define SOUP_DATE_H 1
9
10 #include <time.h>
11 #include <libsoup/soup-types.h>
12
13 G_BEGIN_DECLS
14
15 struct _SoupDate {
16         int      year;
17         int      month;
18         int      day;
19
20         int      hour;
21         int      minute;
22         int      second;
23
24         gboolean utc;
25         int      offset;
26 };
27
28 typedef enum {
29         SOUP_DATE_HTTP = 1,
30         SOUP_DATE_COOKIE,
31         SOUP_DATE_RFC2822,
32         SOUP_DATE_ISO8601_COMPACT,
33         SOUP_DATE_ISO8601_FULL,
34         SOUP_DATE_ISO8601 = SOUP_DATE_ISO8601_FULL,
35         SOUP_DATE_ISO8601_XMLRPC
36 } SoupDateFormat;
37
38 SOUP_AVAILABLE_IN_2_24
39 GType soup_date_get_type (void);
40 #define SOUP_TYPE_DATE (soup_date_get_type ())
41
42 SOUP_AVAILABLE_IN_2_24
43 SoupDate *soup_date_new             (int             year,
44                                      int             month,
45                                      int             day, 
46                                      int             hour,
47                                      int             minute,
48                                      int             second);
49 SOUP_AVAILABLE_IN_2_24
50 SoupDate *soup_date_new_from_string (const char     *date_string);
51 SOUP_AVAILABLE_IN_2_24
52 SoupDate *soup_date_new_from_time_t (time_t          when);
53 SOUP_AVAILABLE_IN_2_24
54 SoupDate *soup_date_new_from_now    (int             offset_seconds);
55
56 SOUP_AVAILABLE_IN_2_24
57 char     *soup_date_to_string       (SoupDate       *date,
58                                      SoupDateFormat  format);
59 SOUP_AVAILABLE_IN_2_24
60 time_t    soup_date_to_time_t       (SoupDate       *date);
61 SOUP_AVAILABLE_IN_2_24
62 void      soup_date_to_timeval      (SoupDate       *date,
63                                      GTimeVal       *time);
64 SOUP_AVAILABLE_IN_2_24
65 void      soup_date_set_timeOffset  (double          timeOffset);
66 SOUP_AVAILABLE_IN_2_24
67 gboolean  soup_date_is_past         (SoupDate       *date);
68
69 SOUP_AVAILABLE_IN_2_32
70 int       soup_date_get_year        (SoupDate       *date);
71 SOUP_AVAILABLE_IN_2_32
72 int       soup_date_get_month       (SoupDate       *date);
73 SOUP_AVAILABLE_IN_2_32
74 int       soup_date_get_day         (SoupDate       *date);
75 SOUP_AVAILABLE_IN_2_32
76 int       soup_date_get_hour        (SoupDate       *date);
77 SOUP_AVAILABLE_IN_2_32
78 int       soup_date_get_minute      (SoupDate       *date);
79 SOUP_AVAILABLE_IN_2_32
80 int       soup_date_get_second      (SoupDate       *date);
81 SOUP_AVAILABLE_IN_2_32
82 int       soup_date_get_utc         (SoupDate       *date);
83 SOUP_AVAILABLE_IN_2_32
84 int       soup_date_get_offset      (SoupDate       *date);
85
86 SOUP_AVAILABLE_IN_2_24
87 SoupDate *soup_date_copy            (SoupDate       *date);
88 SOUP_AVAILABLE_IN_2_24
89 void      soup_date_free            (SoupDate       *date);
90
91 G_END_DECLS
92
93 #endif /* SOUP_DATE_H */