soup-auth-manager: add soup_auth_manager_use_auth()
[platform/upstream/libsoup.git] / libsoup / soup-proxy-resolver-gnome.c
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3  * soup-proxy-resolver-gnome.c: GNOME proxy resolution
4  *
5  * Copyright (C) 2008 Red Hat, Inc.
6  */
7
8 #ifdef HAVE_CONFIG_H
9 #include <config.h>
10 #endif
11
12 #include <string.h>
13
14 #include "soup-proxy-resolver-gnome.h"
15 #include "soup.h"
16
17 G_DEFINE_TYPE (SoupProxyResolverGNOME, soup_proxy_resolver_gnome, SOUP_TYPE_PROXY_RESOLVER_DEFAULT)
18
19 static void
20 soup_proxy_resolver_gnome_init (SoupProxyResolverGNOME *resolver_gnome)
21 {
22         GProxyResolver *gproxyresolver;
23         GIOExtensionPoint *ep;
24         GIOExtension *ext;
25         GType type;
26
27         /* FIXME: there is no way to force _g_io_modules_ensure_loaded()
28          * to be run other than by requesting some extension that we
29          * don't necessarily want.
30          */
31         gproxyresolver = g_proxy_resolver_get_default ();
32         if (strcmp (G_OBJECT_TYPE_NAME (gproxyresolver),
33                     "GProxyResolverGnome") == 0)
34                 return;
35
36         ep = g_io_extension_point_lookup (G_PROXY_RESOLVER_EXTENSION_POINT_NAME);
37         if (!ep)
38                 return;
39
40         ext = g_io_extension_point_get_extension_by_name (ep, "gnome");
41         if (!ext)
42                 return;
43
44         type = g_io_extension_get_type (ext);
45         gproxyresolver = g_object_new (type, NULL);
46         g_object_set (G_OBJECT (resolver_gnome),
47                       "gproxy-resolver", gproxyresolver,
48                       NULL);
49         g_object_unref (gproxyresolver);
50 }
51
52 static void
53 soup_proxy_resolver_gnome_class_init (SoupProxyResolverGNOMEClass *gnome_class)
54 {
55 }