[gnome-control-center/gbsneto/cleanup-network-panel: 2/23] net-object: Turn into a derivable class
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/gbsneto/cleanup-network-panel: 2/23] net-object: Turn into a derivable class
- Date: Mon, 5 Nov 2018 10:35:03 +0000 (UTC)
commit 881248ef9a8cc205496a337a7770f9bb133ae18d
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Wed Oct 31 19:29:53 2018 -0300
net-object: Turn into a derivable class
This commit removes the old GObject boilerplate, uses
G_DECLARE_DERIVABLE_TYPE() to define NetObject, and
uses "pragma once" at the header.
panels/network/net-object.c | 67 ++++++++++++++++++++++++++++-----------------
panels/network/net-object.h | 23 ++--------------
2 files changed, 44 insertions(+), 46 deletions(-)
---
diff --git a/panels/network/net-object.c b/panels/network/net-object.c
index 434940cc7..f643036da 100644
--- a/panels/network/net-object.c
+++ b/panels/network/net-object.c
@@ -26,9 +26,7 @@
#include "net-object.h"
-#define NET_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NET_TYPE_OBJECT, NetObjectPrivate))
-
-struct _NetObjectPrivate
+typedef struct
{
gchar *id;
gchar *title;
@@ -36,7 +34,7 @@ struct _NetObjectPrivate
GCancellable *cancellable;
NMClient *client;
CcNetworkPanel *panel;
-};
+} NetObjectPrivate;
enum {
PROP_0,
@@ -56,82 +54,102 @@ enum {
};
static guint signals[SIGNAL_LAST] = { 0 };
-G_DEFINE_TYPE (NetObject, net_object, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (NetObject, net_object, G_TYPE_OBJECT)
void
net_object_emit_changed (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_if_fail (NET_IS_OBJECT (object));
- g_debug ("NetObject: %s emit 'changed'", object->priv->id);
+ g_debug ("NetObject: %s emit 'changed'", priv->id);
g_signal_emit (object, signals[SIGNAL_CHANGED], 0);
}
void
net_object_emit_removed (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_if_fail (NET_IS_OBJECT (object));
- g_debug ("NetObject: %s emit 'removed'", object->priv->id);
+ g_debug ("NetObject: %s emit 'removed'", priv->id);
g_signal_emit (object, signals[SIGNAL_REMOVED], 0);
}
const gchar *
net_object_get_id (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), NULL);
- return object->priv->id;
+ return priv->id;
}
void
net_object_set_id (NetObject *object, const gchar *id)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_if_fail (NET_IS_OBJECT (object));
- g_clear_pointer (&object->priv->id, g_free);
- object->priv->id = g_strdup (id);
+ g_clear_pointer (&priv->id, g_free);
+ priv->id = g_strdup (id);
g_object_notify (G_OBJECT (object), "id");
}
gboolean
net_object_get_removable (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), FALSE);
- return object->priv->removable;
+ return priv->removable;
}
const gchar *
net_object_get_title (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), NULL);
- return object->priv->title;
+ return priv->title;
}
void
net_object_set_title (NetObject *object, const gchar *title)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_if_fail (NET_IS_OBJECT (object));
- g_clear_pointer (&object->priv->title, g_free);
- object->priv->title = g_strdup (title);
+ g_clear_pointer (&priv->title, g_free);
+ priv->title = g_strdup (title);
g_object_notify (G_OBJECT (object), "title");
}
NMClient *
net_object_get_client (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), NULL);
- return object->priv->client;
+ return priv->client;
}
GCancellable *
net_object_get_cancellable (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), NULL);
- return object->priv->cancellable;
+ return priv->cancellable;
}
CcNetworkPanel *
net_object_get_panel (NetObject *object)
{
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
g_return_val_if_fail (NET_IS_OBJECT (object), NULL);
- return object->priv->panel;
+ return priv->panel;
}
GtkWidget *
@@ -141,15 +159,17 @@ net_object_add_to_stack (NetObject *object,
{
GtkWidget *widget;
NetObjectClass *klass = NET_OBJECT_GET_CLASS (object);
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
+
if (klass->add_to_stack != NULL) {
widget = klass->add_to_stack (object, stack, heading_size_group);
g_object_set_data_full (G_OBJECT (widget),
"NetObject::id",
- g_strdup (object->priv->id),
+ g_strdup (priv->id),
g_free);
return widget;
}
- g_debug ("no klass->add_to_stack for %s", object->priv->id);
+ g_debug ("no klass->add_to_stack for %s", priv->id);
return NULL;
}
@@ -187,7 +207,7 @@ net_object_get_property (GObject *object_,
GParamSpec *pspec)
{
NetObject *object = NET_OBJECT (object_);
- NetObjectPrivate *priv = object->priv;
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
switch (prop_id) {
case PROP_ID:
@@ -224,7 +244,7 @@ net_object_set_property (GObject *object_,
GParamSpec *pspec)
{
NetObject *object = NET_OBJECT (object_);
- NetObjectPrivate *priv = object->priv;
+ NetObjectPrivate *priv = net_object_get_instance_private (object);
switch (prop_id) {
case PROP_ID:
@@ -263,7 +283,7 @@ static void
net_object_finalize (GObject *object)
{
NetObject *nm_object = NET_OBJECT (object);
- NetObjectPrivate *priv = nm_object->priv;
+ NetObjectPrivate *priv = net_object_get_instance_private (nm_object);
g_free (priv->id);
g_free (priv->title);
@@ -326,13 +346,10 @@ net_object_class_init (NetObjectClass *klass)
G_STRUCT_OFFSET (NetObjectClass, changed),
NULL, NULL, g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
-
- g_type_class_add_private (klass, sizeof (NetObjectPrivate));
}
static void
net_object_init (NetObject *object)
{
- object->priv = NET_OBJECT_GET_PRIVATE (object);
}
diff --git a/panels/network/net-object.h b/panels/network/net-object.h
index 8d98680fe..69b51c201 100644
--- a/panels/network/net-object.h
+++ b/panels/network/net-object.h
@@ -19,8 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef __NET_OBJECT_H
-#define __NET_OBJECT_H
+#pragma once
#include <glib-object.h>
#include <gtk/gtk.h>
@@ -31,23 +30,8 @@
G_BEGIN_DECLS
#define NET_TYPE_OBJECT (net_object_get_type ())
-#define NET_OBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NET_TYPE_OBJECT, NetObject))
-#define NET_OBJECT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NET_TYPE_OBJECT, NetObjectClass))
-#define NET_IS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NET_TYPE_OBJECT))
-#define NET_IS_OBJECT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NET_TYPE_OBJECT))
-#define NET_OBJECT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NET_TYPE_OBJECT, NetObjectClass))
-typedef struct _NetObjectPrivate NetObjectPrivate;
-typedef struct _NetObject NetObject;
-typedef struct _NetObjectClass NetObjectClass;
-
-G_DEFINE_AUTOPTR_CLEANUP_FUNC (NetObject, g_object_unref)
-
-struct _NetObject
-{
- GObject parent;
- NetObjectPrivate *priv;
-};
+G_DECLARE_DERIVABLE_TYPE (NetObject, net_object, NET, OBJECT, GObject)
struct _NetObjectClass
{
@@ -66,7 +50,6 @@ struct _NetObjectClass
void (* removed) (NetObject *object);
};
-GType net_object_get_type (void);
const gchar *net_object_get_id (NetObject *object);
void net_object_set_id (NetObject *object,
const gchar *id);
@@ -90,5 +73,3 @@ void net_object_set_removable (NetObject *object,
G_END_DECLS
-#endif /* __NET_OBJECT_H */
-
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]