diff options
author | Jens Georg <mail@jensge.org> | 2011-06-26 09:15:31 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2011-07-20 19:57:29 +0200 |
commit | 541f3752f89899c6ecd775abcfbd89afbb6fc403 (patch) | |
tree | 65d747e87541f3318401b0fc9d2718cc9ac26279 | |
parent | cf2a3298983f22a06b1e5785a431467a0f3105e4 (diff) | |
download | gssdp-541f3752f89899c6ecd775abcfbd89afbb6fc403.tar.gz |
Deprecate main_context property.
Use g_main_context_get_thread_default() instead
-rw-r--r-- | libgssdp/gssdp-client.c | 59 | ||||
-rw-r--r-- | libgssdp/gssdp-client.h | 2 | ||||
-rw-r--r-- | libgssdp/gssdp-resource-browser.c | 13 | ||||
-rw-r--r-- | libgssdp/gssdp-resource-group.c | 18 | ||||
-rw-r--r-- | libgssdp/gssdp-socket-source.c | 6 | ||||
-rw-r--r-- | libgssdp/gssdp-socket-source.h | 3 | ||||
-rw-r--r-- | tests/test-browser.c | 6 | ||||
-rw-r--r-- | tests/test-publish.c | 6 | ||||
-rw-r--r-- | tools/gssdp-device-sniffer.c | 5 |
9 files changed, 47 insertions, 71 deletions
diff --git a/libgssdp/gssdp-client.c b/libgssdp/gssdp-client.c index 16a6da5..8b8e3f9 100644 --- a/libgssdp/gssdp-client.c +++ b/libgssdp/gssdp-client.c @@ -85,8 +85,6 @@ G_DEFINE_TYPE_EXTENDED (GSSDPClient, gssdp_client_initable_iface_init)); struct _GSSDPClientPrivate { - GMainContext *main_context; - char *server_id; char *iface; char *host_ip; @@ -116,10 +114,6 @@ enum { static guint signals[LAST_SIGNAL]; -/* Function prototypes */ -static void -gssdp_client_set_main_context (GSSDPClient *client, - GMainContext *context); static char * make_server_id (void); static gboolean @@ -259,14 +253,9 @@ gssdp_client_initable_init (GInitable *initable, return FALSE; } - gssdp_socket_source_attach (client->priv->request_socket, - client->priv->main_context); - - gssdp_socket_source_attach (client->priv->multicast_socket, - client->priv->main_context); - - gssdp_socket_source_attach (client->priv->search_socket, - client->priv->main_context); + gssdp_socket_source_attach (client->priv->request_socket); + gssdp_socket_source_attach (client->priv->multicast_socket); + gssdp_socket_source_attach (client->priv->search_socket); return TRUE; } @@ -288,10 +277,12 @@ gssdp_client_get_property (GObject *object, gssdp_client_get_server_id (client)); break; case PROP_MAIN_CONTEXT: + g_warning ("GSSDPClient:main-context is deprecated." + " Please use g_main_context_push_thread_default()"); g_value_set_pointer (value, (gpointer) - gssdp_client_get_main_context (client)); + g_main_context_get_thread_default ()); break; case PROP_IFACE: g_value_set_string (value, @@ -330,8 +321,8 @@ gssdp_client_set_property (GObject *object, g_value_get_string (value)); break; case PROP_MAIN_CONTEXT: - gssdp_client_set_main_context (client, - g_value_get_pointer (value)); + g_warning ("GSSDPClient:main-context is deprecated." + " Please use g_main_context_push_thread_default()"); break; case PROP_IFACE: client->priv->iface = g_value_dup_string (value); @@ -371,12 +362,6 @@ gssdp_client_dispose (GObject *object) client->priv->search_socket = NULL; } - /* Unref the context */ - if (client->priv->main_context) { - g_main_context_unref (client->priv->main_context); - client->priv->main_context = NULL; - } - G_OBJECT_CLASS (gssdp_client_parent_class)->dispose (object); } @@ -433,6 +418,7 @@ gssdp_client_class_init (GSSDPClientClass *klass) * GSSDPClient:main-context * * The #GMainContext to use. Set to NULL to use the default. + * Deprecated: 0.11.1: Use g_main_context_push_thread_default(). **/ g_object_class_install_property (object_class, @@ -552,7 +538,8 @@ gssdp_client_class_init (GSSDPClientClass *klass) /** * gssdp_client_new - * @main_context: The #GMainContext to associate with, or NULL + * @main_context: Deprecated: 0.11.1: Always set to NULL. If you want to + * specify a context use g_main_context_push_thread_default() * @iface: The name of the network interface, or %NULL for auto-detection. * @error: Location to store error, or NULL * @@ -563,42 +550,30 @@ gssdp_client_new (GMainContext *main_context, const char *iface, GError **error) { + if (main_context) { + g_warning ("GSSDPClient:main-context is deprecated." + " Please use g_main_context_push_thread_default()"); + } return g_initable_new (GSSDP_TYPE_CLIENT, NULL, error, - "main-context", main_context, "interface", iface, NULL); } /* - * Sets the GMainContext @client is associated with to @main_context - */ -static void -gssdp_client_set_main_context (GSSDPClient *client, - GMainContext *main_context) -{ - g_return_if_fail (GSSDP_IS_CLIENT (client)); - - /* A NULL main_context is fine */ - if (main_context) - client->priv->main_context = g_main_context_ref (main_context); - - g_object_notify (G_OBJECT (client), "main-context"); -} - -/** * gssdp_client_get_main_context * @client: A #GSSDPClient * * Returns: (transfer none): The #GMainContext @client is associated with, or NULL. + * Deprecated: 0.11.1: Returns g_main_context_get_thread_default() **/ GMainContext * gssdp_client_get_main_context (GSSDPClient *client) { g_return_val_if_fail (GSSDP_IS_CLIENT (client), NULL); - return client->priv->main_context; + return g_main_context_get_thread_default (); } /** diff --git a/libgssdp/gssdp-client.h b/libgssdp/gssdp-client.h index ff2b2c2..32ba9d3 100644 --- a/libgssdp/gssdp-client.h +++ b/libgssdp/gssdp-client.h @@ -75,8 +75,10 @@ gssdp_client_new (GMainContext *main_context, const char *iface, GError **error); +#ifndef GSSDP_DISABLE_DEPRECATED GMainContext * gssdp_client_get_main_context (GSSDPClient *client); +#endif void gssdp_client_set_server_id (GSSDPClient *client, diff --git a/libgssdp/gssdp-resource-browser.c b/libgssdp/gssdp-resource-browser.c index 77b25b7..1199a25 100644 --- a/libgssdp/gssdp-resource-browser.c +++ b/libgssdp/gssdp-resource-browser.c @@ -614,7 +614,6 @@ resource_available (GSSDPResourceBrowser *resource_browser, gboolean was_cached; guint timeout; GList *locations; - GMainContext *context; usn = soup_message_headers_get_one (headers, "USN"); if (!usn) @@ -709,9 +708,8 @@ resource_available (GSSDPResourceBrowser *resource_browser, resource_expire, resource, NULL); - context = gssdp_client_get_main_context - (resource_browser->priv->client); - g_source_attach (resource->timeout_src, context); + g_source_attach (resource->timeout_src, + g_main_context_get_thread_default ()); g_source_unref (resource->timeout_src); @@ -962,8 +960,6 @@ discovery_timeout (gpointer data) static void start_discovery (GSSDPResourceBrowser *resource_browser) { - GMainContext *context; - /* Send one now */ send_discovery_request (resource_browser); @@ -975,9 +971,8 @@ start_discovery (GSSDPResourceBrowser *resource_browser) discovery_timeout, resource_browser, NULL); - context = gssdp_client_get_main_context - (resource_browser->priv->client); - g_source_attach (resource_browser->priv->timeout_src, context); + g_source_attach (resource_browser->priv->timeout_src, + g_main_context_get_thread_default ()); g_source_unref (resource_browser->priv->timeout_src); } diff --git a/libgssdp/gssdp-resource-group.c b/libgssdp/gssdp-resource-group.c index db6e2bf..e5b852b 100644 --- a/libgssdp/gssdp-resource-group.c +++ b/libgssdp/gssdp-resource-group.c @@ -522,7 +522,6 @@ gssdp_resource_group_set_available (GSSDPResourceGroup *resource_group, resource_group->priv->available = available; if (available) { - GMainContext *context; int timeout; /* We want to re-announce at least 3 times before the resource @@ -542,9 +541,8 @@ gssdp_resource_group_set_available (GSSDPResourceGroup *resource_group, resource_group_timeout, resource_group, NULL); - context = gssdp_client_get_main_context - (resource_group->priv->client); - g_source_attach (resource_group->priv->timeout_src, context); + g_source_attach (resource_group->priv->timeout_src, + g_main_context_get_thread_default ()); g_source_unref (resource_group->priv->timeout_src); @@ -805,7 +803,6 @@ message_received_cb (GSSDPClient *client, /* Match. */ guint timeout; DiscoveryResponse *response; - GMainContext *context; /* Get a random timeout from the interval [0, mx] */ timeout = g_random_int_range (0, mx * 1000); @@ -828,8 +825,8 @@ message_received_cb (GSSDPClient *client, discovery_response_timeout, response, NULL); - context = gssdp_client_get_main_context (client); - g_source_attach (response->timeout_src, context); + g_source_attach (response->timeout_src, + g_main_context_get_thread_default ()); g_source_unref (response->timeout_src); @@ -1005,16 +1002,13 @@ queue_message (GSSDPResourceGroup *resource_group, if (resource_group->priv->message_src == NULL) { /* nothing in the queue: process message immediately and add a timeout for (possible) next message */ - GMainContext *context; - process_queue (resource_group); resource_group->priv->message_src = g_timeout_source_new ( resource_group->priv->message_delay); g_source_set_callback (resource_group->priv->message_src, process_queue, resource_group, NULL); - context = gssdp_client_get_main_context ( - resource_group->priv->client); - g_source_attach (resource_group->priv->message_src, context); + g_source_attach (resource_group->priv->message_src, + g_main_context_get_thread_default ()); g_source_unref (resource_group->priv->message_src); } } diff --git a/libgssdp/gssdp-socket-source.c b/libgssdp/gssdp-socket-source.c index 720061e..e8409a6 100644 --- a/libgssdp/gssdp-socket-source.c +++ b/libgssdp/gssdp-socket-source.c @@ -337,13 +337,13 @@ gssdp_socket_source_set_callback (GSSDPSocketSource *self, } void -gssdp_socket_source_attach (GSSDPSocketSource *self, - GMainContext *context) +gssdp_socket_source_attach (GSSDPSocketSource *self) { g_return_if_fail (self != NULL); g_return_if_fail (GSSDP_IS_SOCKET_SOURCE (self)); - g_source_attach (self->priv->source, context); + g_source_attach (self->priv->source, + g_main_context_get_thread_default ()); } static void diff --git a/libgssdp/gssdp-socket-source.h b/libgssdp/gssdp-socket-source.h index c464aeb..39b2932 100644 --- a/libgssdp/gssdp-socket-source.h +++ b/libgssdp/gssdp-socket-source.h @@ -84,8 +84,7 @@ gssdp_socket_source_set_callback (GSSDPSocketSource *socket_source, gpointer user_data); G_GNUC_INTERNAL void -gssdp_socket_source_attach (GSSDPSocketSource *socket_source, - GMainContext *context); +gssdp_socket_source_attach (GSSDPSocketSource *socket_source); G_END_DECLS diff --git a/tests/test-browser.c b/tests/test-browser.c index 0b88ba5..4157fca 100644 --- a/tests/test-browser.c +++ b/tests/test-browser.c @@ -20,6 +20,7 @@ */ #include <libgssdp/gssdp.h> +#include <gio/gio.h> #include <stdlib.h> static void @@ -58,7 +59,10 @@ main (int argc, g_type_init (); error = NULL; - client = gssdp_client_new (NULL, NULL, &error); + client = g_initable_new (GSSDP_TYPE_CLIENT, + NULL, + &error, + NULL); if (error) { g_printerr ("Error creating the GSSDP client: %s\n", error->message); diff --git a/tests/test-publish.c b/tests/test-publish.c index 89c62cc..52889fb 100644 --- a/tests/test-publish.c +++ b/tests/test-publish.c @@ -20,6 +20,7 @@ */ #include <libgssdp/gssdp.h> +#include <gio/gio.h> #include <stdlib.h> int @@ -34,7 +35,10 @@ main (int argc, g_type_init (); error = NULL; - client = gssdp_client_new (NULL, NULL, &error); + client = g_initable_new (GSSDP_TYPE_CLIENT, + NULL, + &error, + NULL); if (error) { g_printerr ("Error creating the GSSDP client: %s\n", error->message); diff --git a/tools/gssdp-device-sniffer.c b/tools/gssdp-device-sniffer.c index 833bb07..4ae3943 100644 --- a/tools/gssdp-device-sniffer.c +++ b/tools/gssdp-device-sniffer.c @@ -601,7 +601,10 @@ init_upnp (void) GError *error; error = NULL; - client = gssdp_client_new (NULL, NULL, &error); + client = g_initable_new (GSSDP_TYPE_CLIENT, + NULL, + &error, + NULL); if (error) { g_printerr ("Error creating the GSSDP client: %s\n", error->message); |