Git init
[profile/ivi/libsoup2.4.git] / libsoup / soup-cookie-jar.h
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * Copyright (C) 2008 Red Hat, Inc.
4  */
5
6 #ifndef SOUP_COOKIE_JAR_H
7 #define SOUP_COOKIE_JAR_H 1
8
9 #include <libsoup/soup-types.h>
10
11 G_BEGIN_DECLS
12
13 #define SOUP_TYPE_COOKIE_JAR            (soup_cookie_jar_get_type ())
14 #define SOUP_COOKIE_JAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_COOKIE_JAR, SoupCookieJar))
15 #define SOUP_COOKIE_JAR_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_COOKIE_JAR, SoupCookieJarClass))
16 #define SOUP_IS_COOKIE_JAR(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_COOKIE_JAR))
17 #define SOUP_IS_COOKIE_JAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_COOKIE_JAR))
18 #define SOUP_COOKIE_JAR_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_COOKIE_JAR, SoupCookieJarClass))
19
20 struct _SoupCookieJar {
21         GObject parent;
22
23 };
24
25 typedef struct {
26         GObjectClass parent_class;
27
28         void (*save)    (SoupCookieJar *jar);
29
30         /* signals */
31         void (*changed) (SoupCookieJar *jar,
32                          SoupCookie    *old_cookie,
33                          SoupCookie    *new_cookie);
34
35         /* Padding for future expansion */
36         void (*_libsoup_reserved1) (void);
37         void (*_libsoup_reserved2) (void);
38         void (*_libsoup_reserved3) (void);
39 } SoupCookieJarClass;
40
41 #define SOUP_COOKIE_JAR_READ_ONLY "read-only"
42 #define SOUP_COOKIE_JAR_ACCEPT_POLICY "accept-policy"
43
44 typedef enum {
45         SOUP_COOKIE_JAR_ACCEPT_ALWAYS,
46         SOUP_COOKIE_JAR_ACCEPT_NEVER,
47         SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY
48 } SoupCookieJarAcceptPolicy;
49
50 GType                     soup_cookie_jar_get_type                    (void);
51 SoupCookieJar *           soup_cookie_jar_new                         (void);
52 #ifndef LIBSOUP_DISABLE_DEPRECATED
53 void                      soup_cookie_jar_save                        (SoupCookieJar             *jar);
54 #endif
55 char          *           soup_cookie_jar_get_cookies                 (SoupCookieJar             *jar,
56                                                                        SoupURI                   *uri,
57                                                                        gboolean                   for_http);
58 void                      soup_cookie_jar_set_cookie                  (SoupCookieJar             *jar,
59                                                                        SoupURI                   *uri,
60                                                                        const char                *cookie);
61 void                      soup_cookie_jar_set_cookie_with_first_party (SoupCookieJar             *jar,
62                                                                        SoupURI                   *uri,
63                                                                        SoupURI                   *first_party,
64                                                                        const char                *cookie);
65 void                      soup_cookie_jar_add_cookie                  (SoupCookieJar             *jar,
66                                                                        SoupCookie                *cookie);
67 void                      soup_cookie_jar_delete_cookie               (SoupCookieJar             *jar,
68                                                                        SoupCookie                *cookie);
69 GSList        *           soup_cookie_jar_all_cookies                 (SoupCookieJar             *jar);
70 void                      soup_cookie_jar_set_accept_policy           (SoupCookieJar             *jar,
71                                                                        SoupCookieJarAcceptPolicy  policy);
72 SoupCookieJarAcceptPolicy soup_cookie_jar_get_accept_policy           (SoupCookieJar             *jar);
73
74 G_END_DECLS
75
76 #endif /* SOUP_COOKIE_JAR_H */