diff options
author | Jens Georg <mail@jensge.org> | 2018-10-27 21:44:38 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2018-11-02 22:21:08 +0100 |
commit | 9d705c5bfe10b3b560dcca44fe4888db21b77e5b (patch) | |
tree | f64a81734a3dc4f5d06671a0030ba6cefc39c371 | |
parent | 9f41db19aed73ef116466dda44b33b3715ac6909 (diff) | |
download | gupnp-tools-9d705c5bfe10b3b560dcca44fe4888db21b77e5b.tar.gz |
av-cp: Remove g_type_class_add_private
-rw-r--r-- | src/av-cp/server-device.c | 87 |
1 files changed, 48 insertions, 39 deletions
diff --git a/src/av-cp/server-device.c b/src/av-cp/server-device.c index 09a0e4a..820327d 100644 --- a/src/av-cp/server-device.c +++ b/src/av-cp/server-device.c @@ -54,19 +54,12 @@ av_cp_media_server_introspect (AVCPMediaServer *self); static void av_cp_media_server_introspect_finish (AVCPMediaServer *self); -G_DEFINE_TYPE_WITH_CODE (AVCPMediaServer, - av_cp_media_server, - GUPNP_TYPE_DEVICE_PROXY, - G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE, - av_cp_media_server_async_intable_init)) - enum _AVCPMediaServerInitState { NONE = 0, INITIALIZED, INIT_FAILED, INITIALIZING }; - typedef enum _AVCPMediaServerInitState AVCPMediaServerInitState; struct _AVCPMediaServerPrivate { @@ -76,6 +69,14 @@ struct _AVCPMediaServerPrivate { AVCPMediaServerInitState state; GUPnPServiceProxy *content_directory; }; +typedef struct _AVCPMediaServerPrivate AVCPMediaServerPrivate; + +G_DEFINE_TYPE_WITH_CODE (AVCPMediaServer, + av_cp_media_server, + GUPNP_TYPE_DEVICE_PROXY, + G_ADD_PRIVATE (AVCPMediaServer) + G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE, + av_cp_media_server_async_intable_init)) enum { @@ -92,10 +93,11 @@ static void av_cp_media_server_finalize (GObject *object) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (object); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); GObjectClass *parent_class = G_OBJECT_CLASS (av_cp_media_server_parent_class); - g_clear_pointer (&self->priv->default_sort_order, g_free); + g_clear_pointer (&priv->default_sort_order, g_free); parent_class->finalize (object); } @@ -104,11 +106,12 @@ static void av_cp_media_server_dispose (GObject *object) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (object); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); GObjectClass *parent_class = G_OBJECT_CLASS (av_cp_media_server_parent_class); - g_clear_object (&self->priv->icon); - g_clear_object (&self->priv->content_directory); + g_clear_object (&priv->icon); + g_clear_object (&priv->content_directory); parent_class->dispose (object); } @@ -120,13 +123,14 @@ av_cp_media_server_get_property (GObject *obj, GParamSpec *spec) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (obj); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); switch (property_id) { case PROP_ICON: - g_value_set_object (value, self->priv->icon); + g_value_set_object (value, priv->icon); break; case PROP_SORT_ORDER: - g_value_set_string (value, self->priv->default_sort_order); + g_value_set_string (value, priv->default_sort_order); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, property_id, spec); @@ -144,6 +148,9 @@ av_cp_media_server_on_get_sort_caps (GUPnPServiceProxy *proxy, gpointer user_data) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (user_data); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); + + GError *error = NULL; char *sort_caps = NULL; @@ -168,13 +175,13 @@ av_cp_media_server_on_get_sort_caps (GUPnPServiceProxy *proxy, g_string_append (default_sort_order, "+dc:title"); } - self->priv->default_sort_order = + priv->default_sort_order = g_string_free (default_sort_order, FALSE); g_free (sort_caps); } - self->priv->state = INITIALIZED; + priv->state = INITIALIZED; av_cp_media_server_introspect_finish (self); g_object_notify (G_OBJECT (self), "sort-order"); g_object_unref (self); @@ -189,8 +196,6 @@ av_cp_media_server_class_init (AVCPMediaServerClass *klass) obj_class->dispose = av_cp_media_server_dispose; obj_class->finalize = av_cp_media_server_finalize; - g_type_class_add_private (klass, sizeof (AVCPMediaServerPrivate)); - av_cp_media_server_properties[PROP_ICON] = g_param_spec_object ("icon", "icon", @@ -215,9 +220,6 @@ av_cp_media_server_class_init (AVCPMediaServerClass *klass) static void av_cp_media_server_init (AVCPMediaServer *self) { - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - AV_CP_TYPE_MEDIA_SERVER, - AVCPMediaServerPrivate); } static void @@ -225,20 +227,21 @@ av_cp_media_server_on_icon_updated (GUPnPDeviceInfo *info, GdkPixbuf *icon) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (info); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); - self->priv->icon = icon; + priv->icon = icon; av_cp_media_server_get_content_directory (self); - if (self->priv->content_directory != NULL) { + if (priv->content_directory != NULL) { gupnp_service_proxy_begin_action - (self->priv->content_directory, + (priv->content_directory, "GetSortCapabilities", av_cp_media_server_on_get_sort_caps, g_object_ref (self), NULL); } else { g_debug ("Invalid MediaServer device without ContentDirectory"); - self->priv->state = INIT_FAILED; + priv->state = INIT_FAILED; av_cp_media_server_introspect_finish (self); } } @@ -260,10 +263,11 @@ av_cp_media_server_init_async (GAsyncInitable *initable, gpointer user_data) { AVCPMediaServer *self = AV_CP_MEDIA_SERVER (initable); - GTask *task; + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); + GTask *task = NULL; task = g_task_new (initable, cancellable, callback, user_data); - switch (self->priv->state) { + switch (priv->state) { case INITIALIZED: g_task_return_boolean (task, TRUE); g_object_unref (task); @@ -277,13 +281,13 @@ av_cp_media_server_init_async (GAsyncInitable *initable, g_object_unref (task); break; case NONE: - self->priv->state = INITIALIZING; - self->priv->tasks = g_list_prepend (self->priv->tasks, + priv->state = INITIALIZING; + priv->tasks = g_list_prepend (priv->tasks, task); av_cp_media_server_introspect (self); break; case INITIALIZING: - self->priv->tasks = g_list_prepend (self->priv->tasks, + priv->tasks = g_list_prepend (priv->tasks, task); break; default: @@ -313,11 +317,12 @@ static void av_cp_media_server_introspect_finish (AVCPMediaServer *self) { GList *l; + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); - for (l = self->priv->tasks; l != NULL; l = l->next) { + for (l = priv->tasks; l != NULL; l = l->next) { GTask *task = (GTask *) l->data; - if (self->priv->state == INITIALIZED) { + if (priv->state == INITIALIZED) { g_task_return_boolean (task, TRUE); } else { g_task_return_new_error (task, @@ -329,7 +334,7 @@ av_cp_media_server_introspect_finish (AVCPMediaServer *self) g_object_unref (task); } - g_clear_pointer (&self->priv->tasks, g_list_free); + g_clear_pointer (&priv->tasks, g_list_free); } GQuark @@ -342,14 +347,15 @@ av_cp_media_server_error_quark (void) GUPnPServiceProxy * av_cp_media_server_get_content_directory (AVCPMediaServer *self) { - if (self->priv->content_directory == NULL) { + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); + if (priv->content_directory == NULL) { GUPnPServiceInfo *info = gupnp_device_info_get_service (GUPNP_DEVICE_INFO (self), CONTENT_DIR); - self->priv->content_directory = GUPNP_SERVICE_PROXY (info); + priv->content_directory = GUPNP_SERVICE_PROXY (info); } - return GUPNP_SERVICE_PROXY (g_object_ref (self->priv->content_directory)); + return GUPNP_SERVICE_PROXY (g_object_ref (priv->content_directory)); } typedef struct _BrowseReturn { @@ -406,11 +412,12 @@ av_cp_media_server_browse_async (AVCPMediaServer *self, gpointer user_data) { GTask *task = g_task_new (self, cancellable, callback, user_data); - const char *sort_order = self->priv->default_sort_order == NULL ? + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); + const char *sort_order = priv->default_sort_order == NULL ? "" : - self->priv->default_sort_order; + priv->default_sort_order; - gupnp_service_proxy_begin_action (self->priv->content_directory, + gupnp_service_proxy_begin_action (priv->content_directory, "Browse", av_cp_media_server_on_browse, task, @@ -506,9 +513,10 @@ av_cp_media_server_browse_metadata_async (AVCPMediaServer *self, gpointer user_data) { GTask *task = g_task_new (self, cancellable, callback, user_data); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); gupnp_service_proxy_begin_action - (self->priv->content_directory, + (priv->content_directory, "Browse", av_cp_media_server_on_browse_metadata, task, @@ -569,8 +577,9 @@ av_cp_media_server_search_async (AVCPMediaServer *self, gpointer user_data) { GTask *task = g_task_new (self, cancellable, callback, user_data); + AVCPMediaServerPrivate *priv = av_cp_media_server_get_instance_private (self); - gupnp_service_proxy_begin_action (self->priv->content_directory, + gupnp_service_proxy_begin_action (priv->content_directory, "Search", av_cp_media_server_on_browse, task, |