/libsoup/soup-proxy-resolver-gnome.c

https://github.com/ahmedammar/platform_external_gst_libsoup · C · 54 lines · 34 code · 10 blank · 10 comment · 4 complexity · e1989c1f5c3c14dde49428b084c3378f MD5 · raw file

  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. #ifdef HAVE_CONFIG_H
  8. #include <config.h>
  9. #endif
  10. #include <string.h>
  11. #include "soup-proxy-resolver-gnome.h"
  12. G_DEFINE_TYPE (SoupProxyResolverGNOME, soup_proxy_resolver_gnome, SOUP_TYPE_PROXY_RESOLVER_DEFAULT)
  13. static void
  14. soup_proxy_resolver_gnome_init (SoupProxyResolverGNOME *resolver_gnome)
  15. {
  16. GProxyResolver *gproxyresolver;
  17. GIOExtensionPoint *ep;
  18. GIOExtension *ext;
  19. GType type;
  20. /* FIXME: there is no way to force _g_io_modules_ensure_loaded()
  21. * to be run other than by requesting some extension that we
  22. * don't necessarily want.
  23. */
  24. gproxyresolver = g_proxy_resolver_get_default ();
  25. if (strcmp (G_OBJECT_TYPE_NAME (gproxyresolver),
  26. "GProxyResolverGnome") == 0)
  27. return;
  28. ep = g_io_extension_point_lookup (G_PROXY_RESOLVER_EXTENSION_POINT_NAME);
  29. if (!ep)
  30. return;
  31. ext = g_io_extension_point_get_extension_by_name (ep, "gnome");
  32. if (!ext)
  33. return;
  34. type = g_io_extension_get_type (ext);
  35. gproxyresolver = g_object_new (type, NULL);
  36. g_object_set (G_OBJECT (resolver_gnome),
  37. "gproxy-resolver", gproxyresolver,
  38. NULL);
  39. g_object_unref (gproxyresolver);
  40. }
  41. static void
  42. soup_proxy_resolver_gnome_class_init (SoupProxyResolverGNOMEClass *gnome_class)
  43. {
  44. }