soup-auth-domain.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
  2. /*
  3. * Copyright (C) 2007 Novell, Inc.
  4. */
  5. #ifndef SOUP_AUTH_DOMAIN_H
  6. #define SOUP_AUTH_DOMAIN_H 1
  7. #include <libsoup/soup-types.h>
  8. G_BEGIN_DECLS
  9. #define SOUP_TYPE_AUTH_DOMAIN (soup_auth_domain_get_type ())
  10. #define SOUP_AUTH_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomain))
  11. #define SOUP_AUTH_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomainClass))
  12. #define SOUP_IS_AUTH_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_AUTH_DOMAIN))
  13. #define SOUP_IS_AUTH_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_AUTH_DOMAIN))
  14. #define SOUP_AUTH_DOMAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomainClass))
  15. struct _SoupAuthDomain {
  16. GObject parent;
  17. };
  18. typedef struct {
  19. GObjectClass parent_class;
  20. char * (*accepts) (SoupAuthDomain *domain,
  21. SoupMessage *msg,
  22. const char *header);
  23. char * (*challenge) (SoupAuthDomain *domain,
  24. SoupMessage *msg);
  25. gboolean (*check_password) (SoupAuthDomain *domain,
  26. SoupMessage *msg,
  27. const char *username,
  28. const char *password);
  29. /* Padding for future expansion */
  30. void (*_libsoup_reserved2) (void);
  31. void (*_libsoup_reserved3) (void);
  32. void (*_libsoup_reserved4) (void);
  33. } SoupAuthDomainClass;
  34. #define SOUP_AUTH_DOMAIN_REALM "realm"
  35. #define SOUP_AUTH_DOMAIN_PROXY "proxy"
  36. #define SOUP_AUTH_DOMAIN_ADD_PATH "add-path"
  37. #define SOUP_AUTH_DOMAIN_REMOVE_PATH "remove-path"
  38. #define SOUP_AUTH_DOMAIN_FILTER "filter"
  39. #define SOUP_AUTH_DOMAIN_FILTER_DATA "filter-data"
  40. #define SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK "generic-auth-callback"
  41. #define SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA "generic-auth-data"
  42. typedef gboolean (*SoupAuthDomainFilter) (SoupAuthDomain *domain,
  43. SoupMessage *msg,
  44. gpointer user_data);
  45. typedef gboolean (*SoupAuthDomainGenericAuthCallback) (SoupAuthDomain *domain,
  46. SoupMessage *msg,
  47. const char *username,
  48. gpointer user_data);
  49. SOUP_AVAILABLE_IN_2_4
  50. GType soup_auth_domain_get_type (void);
  51. SOUP_AVAILABLE_IN_2_4
  52. void soup_auth_domain_add_path (SoupAuthDomain *domain,
  53. const char *path);
  54. SOUP_AVAILABLE_IN_2_4
  55. void soup_auth_domain_remove_path (SoupAuthDomain *domain,
  56. const char *path);
  57. SOUP_AVAILABLE_IN_2_4
  58. void soup_auth_domain_set_filter (SoupAuthDomain *domain,
  59. SoupAuthDomainFilter filter,
  60. gpointer filter_data,
  61. GDestroyNotify dnotify);
  62. SOUP_AVAILABLE_IN_2_4
  63. const char *soup_auth_domain_get_realm (SoupAuthDomain *domain);
  64. SOUP_AVAILABLE_IN_2_4
  65. void soup_auth_domain_set_generic_auth_callback (SoupAuthDomain *domain,
  66. SoupAuthDomainGenericAuthCallback auth_callback,
  67. gpointer auth_data,
  68. GDestroyNotify dnotify);
  69. SOUP_AVAILABLE_IN_2_4
  70. gboolean soup_auth_domain_check_password (SoupAuthDomain *domain,
  71. SoupMessage *msg,
  72. const char *username,
  73. const char *password);
  74. SOUP_AVAILABLE_IN_2_4
  75. gboolean soup_auth_domain_covers (SoupAuthDomain *domain,
  76. SoupMessage *msg);
  77. SOUP_AVAILABLE_IN_2_4
  78. char *soup_auth_domain_accepts (SoupAuthDomain *domain,
  79. SoupMessage *msg);
  80. SOUP_AVAILABLE_IN_2_4
  81. void soup_auth_domain_challenge (SoupAuthDomain *domain,
  82. SoupMessage *msg);
  83. /* protected */
  84. SOUP_AVAILABLE_IN_2_4
  85. gboolean soup_auth_domain_try_generic_auth_callback (SoupAuthDomain *domain,
  86. SoupMessage *msg,
  87. const char *username);
  88. G_END_DECLS
  89. #endif /* SOUP_AUTH_DOMAIN_H */