Add gnetworking.h

Install a public "gnetworking.h" header that can be used to include
the relevant OS-dependent networking headers. This does not really
abstract away unix-vs-windows however; error codes, in particular,
are incompatible.

gnetworkingprivate.h now contains just a few internal URI-related
functions

Also add a g_networking_init() function to gnetworking.h, which can be
used to explicitly initialize OS-level networking, rather than having
that happen as a side-effect of registering GInetAddress.

https://bugzilla.gnome.org/show_bug.cgi?id=623187
This commit is contained in:
Dan Winship
2010-11-11 09:57:25 -05:00
parent 9e90575502
commit b377e69685
22 changed files with 220 additions and 120 deletions

View File

@@ -76,7 +76,8 @@ struct _GResolverPrivate {
* The object that handles DNS resolution. Use g_resolver_get_default()
* to get the default resolver.
*/
G_DEFINE_TYPE (GResolver, g_resolver, G_TYPE_OBJECT)
G_DEFINE_TYPE_WITH_CODE (GResolver, g_resolver, G_TYPE_OBJECT,
g_networking_init ();)
static GList *
srv_records_to_targets (GList *records)
@@ -153,9 +154,6 @@ g_resolver_class_init (GResolverClass *resolver_class)
g_type_class_add_private (resolver_class, sizeof (GResolverPrivate));
/* Make sure _g_networking_init() has been called */
g_type_ensure (G_TYPE_INET_ADDRESS);
/**
* GResolver::reload:
* @resolver: a #GResolver