soup-cookie.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
  2. /*
  3. * Copyright 2007, 2008 Red Hat, Inc.
  4. */
  5. #ifndef SOUP_COOKIE_H
  6. #define SOUP_COOKIE_H 1
  7. #include <libsoup/soup-types.h>
  8. G_BEGIN_DECLS
  9. struct _SoupCookie {
  10. char *name;
  11. char *value;
  12. char *domain;
  13. char *path;
  14. SoupDate *expires;
  15. gboolean secure;
  16. gboolean http_only;
  17. };
  18. SOUP_AVAILABLE_IN_2_24
  19. GType soup_cookie_get_type (void);
  20. #define SOUP_TYPE_COOKIE (soup_cookie_get_type())
  21. #define SOUP_COOKIE_MAX_AGE_ONE_HOUR (60 * 60)
  22. #define SOUP_COOKIE_MAX_AGE_ONE_DAY (SOUP_COOKIE_MAX_AGE_ONE_HOUR * 24)
  23. #define SOUP_COOKIE_MAX_AGE_ONE_WEEK (SOUP_COOKIE_MAX_AGE_ONE_DAY * 7)
  24. #define SOUP_COOKIE_MAX_AGE_ONE_YEAR (SOUP_COOKIE_MAX_AGE_ONE_DAY * 365.2422)
  25. SOUP_AVAILABLE_IN_2_24
  26. SoupCookie *soup_cookie_new (const char *name,
  27. const char *value,
  28. const char *domain,
  29. const char *path,
  30. int max_age);
  31. SOUP_AVAILABLE_IN_2_24
  32. SoupCookie *soup_cookie_parse (const char *header,
  33. SoupURI *origin);
  34. SOUP_AVAILABLE_IN_2_24
  35. SoupCookie *soup_cookie_copy (SoupCookie *cookie);
  36. SOUP_AVAILABLE_IN_2_32
  37. const char *soup_cookie_get_name (SoupCookie *cookie);
  38. SOUP_AVAILABLE_IN_2_24
  39. void soup_cookie_set_name (SoupCookie *cookie,
  40. const char *name);
  41. SOUP_AVAILABLE_IN_2_32
  42. const char *soup_cookie_get_value (SoupCookie *cookie);
  43. SOUP_AVAILABLE_IN_2_24
  44. void soup_cookie_set_value (SoupCookie *cookie,
  45. const char *value);
  46. SOUP_AVAILABLE_IN_2_32
  47. const char *soup_cookie_get_domain (SoupCookie *cookie);
  48. SOUP_AVAILABLE_IN_2_24
  49. void soup_cookie_set_domain (SoupCookie *cookie,
  50. const char *domain);
  51. SOUP_AVAILABLE_IN_2_32
  52. const char *soup_cookie_get_path (SoupCookie *cookie);
  53. SOUP_AVAILABLE_IN_2_24
  54. void soup_cookie_set_path (SoupCookie *cookie,
  55. const char *path);
  56. SOUP_AVAILABLE_IN_2_24
  57. void soup_cookie_set_max_age (SoupCookie *cookie,
  58. int max_age);
  59. SOUP_AVAILABLE_IN_2_32
  60. SoupDate *soup_cookie_get_expires (SoupCookie *cookie);
  61. SOUP_AVAILABLE_IN_2_24
  62. void soup_cookie_set_expires (SoupCookie *cookie,
  63. SoupDate *expires);
  64. SOUP_AVAILABLE_IN_2_32
  65. gboolean soup_cookie_get_secure (SoupCookie *cookie);
  66. SOUP_AVAILABLE_IN_2_24
  67. void soup_cookie_set_secure (SoupCookie *cookie,
  68. gboolean secure);
  69. SOUP_AVAILABLE_IN_2_32
  70. gboolean soup_cookie_get_http_only (SoupCookie *cookie);
  71. SOUP_AVAILABLE_IN_2_24
  72. void soup_cookie_set_http_only (SoupCookie *cookie,
  73. gboolean http_only);
  74. SOUP_AVAILABLE_IN_2_24
  75. char *soup_cookie_to_set_cookie_header (SoupCookie *cookie);
  76. SOUP_AVAILABLE_IN_2_24
  77. char *soup_cookie_to_cookie_header (SoupCookie *cookie);
  78. SOUP_AVAILABLE_IN_2_24
  79. gboolean soup_cookie_applies_to_uri (SoupCookie *cookie,
  80. SoupURI *uri);
  81. SOUP_AVAILABLE_IN_2_24
  82. gboolean soup_cookie_equal (SoupCookie *cookie1,
  83. SoupCookie *cookie2);
  84. SOUP_AVAILABLE_IN_2_24
  85. void soup_cookie_free (SoupCookie *cookie);
  86. SOUP_AVAILABLE_IN_2_24
  87. GSList *soup_cookies_from_response (SoupMessage *msg);
  88. SOUP_AVAILABLE_IN_2_24
  89. GSList *soup_cookies_from_request (SoupMessage *msg);
  90. SOUP_AVAILABLE_IN_2_24
  91. void soup_cookies_to_response (GSList *cookies,
  92. SoupMessage *msg);
  93. SOUP_AVAILABLE_IN_2_24
  94. void soup_cookies_to_request (GSList *cookies,
  95. SoupMessage *msg);
  96. SOUP_AVAILABLE_IN_2_24
  97. void soup_cookies_free (GSList *cookies);
  98. SOUP_AVAILABLE_IN_2_24
  99. char *soup_cookies_to_cookie_header (GSList *cookies);
  100. SOUP_AVAILABLE_IN_2_30
  101. gboolean soup_cookie_domain_matches (SoupCookie *cookie,
  102. const char *host);
  103. G_END_DECLS
  104. #endif /* SOUP_COOKIE_H */