soup-date.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. #ifndef SOUP_DATE_H
  7. #define SOUP_DATE_H 1
  8. #include <time.h>
  9. #include <libsoup/soup-types.h>
  10. G_BEGIN_DECLS
  11. struct _SoupDate {
  12. int year;
  13. int month;
  14. int day;
  15. int hour;
  16. int minute;
  17. int second;
  18. gboolean utc;
  19. int offset;
  20. };
  21. typedef enum {
  22. SOUP_DATE_HTTP = 1,
  23. SOUP_DATE_COOKIE,
  24. SOUP_DATE_RFC2822,
  25. SOUP_DATE_ISO8601_COMPACT,
  26. SOUP_DATE_ISO8601_FULL,
  27. SOUP_DATE_ISO8601 = SOUP_DATE_ISO8601_FULL,
  28. SOUP_DATE_ISO8601_XMLRPC
  29. } SoupDateFormat;
  30. SOUP_AVAILABLE_IN_2_24
  31. GType soup_date_get_type (void);
  32. #define SOUP_TYPE_DATE (soup_date_get_type ())
  33. SOUP_AVAILABLE_IN_2_24
  34. SoupDate *soup_date_new (int year,
  35. int month,
  36. int day,
  37. int hour,
  38. int minute,
  39. int second);
  40. SOUP_AVAILABLE_IN_2_24
  41. SoupDate *soup_date_new_from_string (const char *date_string);
  42. SOUP_AVAILABLE_IN_2_24
  43. SoupDate *soup_date_new_from_time_t (time_t when);
  44. SOUP_AVAILABLE_IN_2_24
  45. SoupDate *soup_date_new_from_now (int offset_seconds);
  46. SOUP_AVAILABLE_IN_2_24
  47. char *soup_date_to_string (SoupDate *date,
  48. SoupDateFormat format);
  49. SOUP_AVAILABLE_IN_2_24
  50. time_t soup_date_to_time_t (SoupDate *date);
  51. SOUP_AVAILABLE_IN_2_24
  52. void soup_date_to_timeval (SoupDate *date,
  53. GTimeVal *time);
  54. SOUP_AVAILABLE_IN_2_24
  55. gboolean soup_date_is_past (SoupDate *date);
  56. SOUP_AVAILABLE_IN_2_32
  57. int soup_date_get_year (SoupDate *date);
  58. SOUP_AVAILABLE_IN_2_32
  59. int soup_date_get_month (SoupDate *date);
  60. SOUP_AVAILABLE_IN_2_32
  61. int soup_date_get_day (SoupDate *date);
  62. SOUP_AVAILABLE_IN_2_32
  63. int soup_date_get_hour (SoupDate *date);
  64. SOUP_AVAILABLE_IN_2_32
  65. int soup_date_get_minute (SoupDate *date);
  66. SOUP_AVAILABLE_IN_2_32
  67. int soup_date_get_second (SoupDate *date);
  68. SOUP_AVAILABLE_IN_2_32
  69. int soup_date_get_utc (SoupDate *date);
  70. SOUP_AVAILABLE_IN_2_32
  71. int soup_date_get_offset (SoupDate *date);
  72. SOUP_AVAILABLE_IN_2_24
  73. SoupDate *soup_date_copy (SoupDate *date);
  74. SOUP_AVAILABLE_IN_2_24
  75. void soup_date_free (SoupDate *date);
  76. G_END_DECLS
  77. #endif /* SOUP_DATE_H */