1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
3 * Copyright (C) 2007 Novell, Inc.
6 #ifndef SOUP_AUTH_DOMAIN_H
7 #define SOUP_AUTH_DOMAIN_H 1
9 #include <libsoup/soup-types.h>
13 #define SOUP_TYPE_AUTH_DOMAIN (soup_auth_domain_get_type ())
14 #define SOUP_AUTH_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomain))
15 #define SOUP_AUTH_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomainClass))
16 #define SOUP_IS_AUTH_DOMAIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUP_TYPE_AUTH_DOMAIN))
17 #define SOUP_IS_AUTH_DOMAIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), SOUP_TYPE_AUTH_DOMAIN))
18 #define SOUP_AUTH_DOMAIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUP_TYPE_AUTH_DOMAIN, SoupAuthDomainClass))
20 struct _SoupAuthDomain {
26 GObjectClass parent_class;
28 char * (*accepts) (SoupAuthDomain *domain,
31 char * (*challenge) (SoupAuthDomain *domain,
33 gboolean (*check_password) (SoupAuthDomain *domain,
36 const char *password);
38 /* Padding for future expansion */
39 void (*_libsoup_reserved2) (void);
40 void (*_libsoup_reserved3) (void);
41 void (*_libsoup_reserved4) (void);
42 } SoupAuthDomainClass;
44 #define SOUP_AUTH_DOMAIN_REALM "realm"
45 #define SOUP_AUTH_DOMAIN_PROXY "proxy"
46 #define SOUP_AUTH_DOMAIN_ADD_PATH "add-path"
47 #define SOUP_AUTH_DOMAIN_REMOVE_PATH "remove-path"
48 #define SOUP_AUTH_DOMAIN_FILTER "filter"
49 #define SOUP_AUTH_DOMAIN_FILTER_DATA "filter-data"
50 #define SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK "generic-auth-callback"
51 #define SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA "generic-auth-data"
53 typedef gboolean (*SoupAuthDomainFilter) (SoupAuthDomain *domain,
57 typedef gboolean (*SoupAuthDomainGenericAuthCallback) (SoupAuthDomain *domain,
62 GType soup_auth_domain_get_type (void);
64 void soup_auth_domain_add_path (SoupAuthDomain *domain,
66 void soup_auth_domain_remove_path (SoupAuthDomain *domain,
69 void soup_auth_domain_set_filter (SoupAuthDomain *domain,
70 SoupAuthDomainFilter filter,
72 GDestroyNotify dnotify);
74 const char *soup_auth_domain_get_realm (SoupAuthDomain *domain);
76 void soup_auth_domain_set_generic_auth_callback (SoupAuthDomain *domain,
77 SoupAuthDomainGenericAuthCallback auth_callback,
79 GDestroyNotify dnotify);
80 gboolean soup_auth_domain_check_password (SoupAuthDomain *domain,
83 const char *password);
85 gboolean soup_auth_domain_covers (SoupAuthDomain *domain,
87 char *soup_auth_domain_accepts (SoupAuthDomain *domain,
89 void soup_auth_domain_challenge (SoupAuthDomain *domain,
93 gboolean soup_auth_domain_try_generic_auth_callback (SoupAuthDomain *domain,
95 const char *username);
99 #endif /* SOUP_AUTH_DOMAIN_H */