1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright 2007, 2008 Red Hat, Inc.
7 #define SOUP_COOKIE_H 1
9 #include <libsoup/soup-types.h>
23 SOUP_AVAILABLE_IN_2_24
24 GType soup_cookie_get_type (void);
25 #define SOUP_TYPE_COOKIE (soup_cookie_get_type())
27 #define SOUP_COOKIE_MAX_AGE_ONE_HOUR (60 * 60)
28 #define SOUP_COOKIE_MAX_AGE_ONE_DAY (SOUP_COOKIE_MAX_AGE_ONE_HOUR * 24)
29 #define SOUP_COOKIE_MAX_AGE_ONE_WEEK (SOUP_COOKIE_MAX_AGE_ONE_DAY * 7)
30 #define SOUP_COOKIE_MAX_AGE_ONE_YEAR (SOUP_COOKIE_MAX_AGE_ONE_DAY * 365.2422)
32 SOUP_AVAILABLE_IN_2_24
33 SoupCookie *soup_cookie_new (const char *name,
38 SOUP_AVAILABLE_IN_2_24
39 SoupCookie *soup_cookie_parse (const char *header,
41 SOUP_AVAILABLE_IN_2_24
42 SoupCookie *soup_cookie_copy (SoupCookie *cookie);
44 SOUP_AVAILABLE_IN_2_32
45 const char *soup_cookie_get_name (SoupCookie *cookie);
46 SOUP_AVAILABLE_IN_2_24
47 void soup_cookie_set_name (SoupCookie *cookie,
49 SOUP_AVAILABLE_IN_2_32
50 const char *soup_cookie_get_value (SoupCookie *cookie);
51 SOUP_AVAILABLE_IN_2_24
52 void soup_cookie_set_value (SoupCookie *cookie,
54 SOUP_AVAILABLE_IN_2_32
55 const char *soup_cookie_get_domain (SoupCookie *cookie);
56 SOUP_AVAILABLE_IN_2_24
57 void soup_cookie_set_domain (SoupCookie *cookie,
59 SOUP_AVAILABLE_IN_2_32
60 const char *soup_cookie_get_path (SoupCookie *cookie);
61 SOUP_AVAILABLE_IN_2_24
62 void soup_cookie_set_path (SoupCookie *cookie,
64 SOUP_AVAILABLE_IN_2_24
65 void soup_cookie_set_max_age (SoupCookie *cookie,
67 SOUP_AVAILABLE_IN_2_32
68 SoupDate *soup_cookie_get_expires (SoupCookie *cookie);
69 SOUP_AVAILABLE_IN_2_24
70 void soup_cookie_set_expires (SoupCookie *cookie,
72 SOUP_AVAILABLE_IN_2_32
73 gboolean soup_cookie_get_secure (SoupCookie *cookie);
74 SOUP_AVAILABLE_IN_2_24
75 void soup_cookie_set_secure (SoupCookie *cookie,
77 SOUP_AVAILABLE_IN_2_32
78 gboolean soup_cookie_get_http_only (SoupCookie *cookie);
79 SOUP_AVAILABLE_IN_2_24
80 void soup_cookie_set_http_only (SoupCookie *cookie,
83 SOUP_AVAILABLE_IN_2_24
84 char *soup_cookie_to_set_cookie_header (SoupCookie *cookie);
85 SOUP_AVAILABLE_IN_2_24
86 char *soup_cookie_to_cookie_header (SoupCookie *cookie);
88 SOUP_AVAILABLE_IN_2_24
89 gboolean soup_cookie_applies_to_uri (SoupCookie *cookie,
91 SOUP_AVAILABLE_IN_2_24
92 gboolean soup_cookie_equal (SoupCookie *cookie1,
95 SOUP_AVAILABLE_IN_2_24
96 void soup_cookie_free (SoupCookie *cookie);
98 SOUP_AVAILABLE_IN_2_24
99 GSList *soup_cookies_from_response (SoupMessage *msg);
100 SOUP_AVAILABLE_IN_2_24
101 GSList *soup_cookies_from_request (SoupMessage *msg);
103 SOUP_AVAILABLE_IN_2_24
104 void soup_cookies_to_response (GSList *cookies,
106 SOUP_AVAILABLE_IN_2_24
107 void soup_cookies_to_request (GSList *cookies,
110 SOUP_AVAILABLE_IN_2_24
111 void soup_cookies_free (GSList *cookies);
113 SOUP_AVAILABLE_IN_2_24
114 char *soup_cookies_to_cookie_header (GSList *cookies);
116 SOUP_AVAILABLE_IN_2_30
117 gboolean soup_cookie_domain_matches (SoupCookie *cookie,
122 #endif /* SOUP_COOKIE_H */