soup-cookie-jar.h 4.0 KB

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