[gnome-software] GsLanguage: Port to G_DECLARE_FINAL_TYPE macro



commit 740f9bbdcb08af97fd7c3d7ee33ab538cce0a0f2
Author: Kalev Lember <klember redhat com>
Date:   Mon Sep 7 17:08:16 2015 +0200

    GsLanguage: Port to G_DECLARE_FINAL_TYPE macro

 src/gs-language.c |   19 ++++++++-----------
 src/gs-language.h |   27 ++++-----------------------
 2 files changed, 12 insertions(+), 34 deletions(-)
---
diff --git a/src/gs-language.c b/src/gs-language.c
index 614fedc..2317dce 100644
--- a/src/gs-language.c
+++ b/src/gs-language.c
@@ -26,10 +26,10 @@
 
 #include "gs-language.h"
 
-#define GS_LANGUAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GS_TYPE_LANGUAGE, GsLanguagePrivate))
-
-struct GsLanguagePrivate
+struct _GsLanguage
 {
+       GObject                  parent_instance;
+
        GHashTable              *hash;
 };
 
@@ -69,9 +69,9 @@ gs_language_parser_start_element (GMarkupParseContext *context, const gchar *ele
 
        /* add both to hash */
        if (code1 != NULL)
-               g_hash_table_insert (language->priv->hash, g_strdup (code1), g_strdup (name));
+               g_hash_table_insert (language->hash, g_strdup (code1), g_strdup (name));
        if (code2b != NULL)
-               g_hash_table_insert (language->priv->hash, g_strdup (code2b), g_strdup (name));
+               g_hash_table_insert (language->hash, g_strdup (code2b), g_strdup (name));
 }
 
 /* trivial parser */
@@ -135,7 +135,7 @@ out:
 gchar *
 gs_language_iso639_to_language (GsLanguage *language, const gchar *iso639)
 {
-       return g_strdup (g_hash_table_lookup (language->priv->hash, iso639));
+       return g_strdup (g_hash_table_lookup (language->hash, iso639));
 }
 
 /**
@@ -151,8 +151,7 @@ gs_language_finalize (GObject *object)
 
        language = GS_LANGUAGE (object);
 
-       g_return_if_fail (language->priv != NULL);
-       g_hash_table_unref (language->priv->hash);
+       g_hash_table_unref (language->hash);
 
        G_OBJECT_CLASS (gs_language_parent_class)->finalize (object);
 }
@@ -164,8 +163,7 @@ gs_language_finalize (GObject *object)
 static void
 gs_language_init (GsLanguage *language)
 {
-       language->priv = GS_LANGUAGE_GET_PRIVATE (language);
-       language->priv->hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, 
(GDestroyNotify) g_free);
+       language->hash = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) g_free, 
(GDestroyNotify) g_free);
 }
 
 /**
@@ -177,7 +175,6 @@ gs_language_class_init (GsLanguageClass *klass)
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = gs_language_finalize;
-       g_type_class_add_private (klass, sizeof (GsLanguagePrivate));
 }
 
 /**
diff --git a/src/gs-language.h b/src/gs-language.h
index 7fb32a7..0b0e07e 100644
--- a/src/gs-language.h
+++ b/src/gs-language.h
@@ -26,29 +26,10 @@
 
 G_BEGIN_DECLS
 
-#define GS_TYPE_LANGUAGE               (gs_language_get_type ())
-#define GS_LANGUAGE(o)                 (G_TYPE_CHECK_INSTANCE_CAST ((o), GS_TYPE_LANGUAGE, GsLanguage))
-#define GS_LANGUAGE_CLASS(k)           (G_TYPE_CHECK_CLASS_CAST((k), GS_TYPE_LANGUAGE, GsLanguageClass))
-#define GS_IS_LANGUAGE(o)              (G_TYPE_CHECK_INSTANCE_TYPE ((o), GS_TYPE_LANGUAGE))
-#define GS_IS_LANGUAGE_CLASS(k)                (G_TYPE_CHECK_CLASS_TYPE ((k), GS_TYPE_LANGUAGE))
-#define GS_LANGUAGE_GET_CLASS(o)       (G_TYPE_INSTANCE_GET_CLASS ((o), GS_TYPE_LANGUAGE, GsLanguageClass))
-#define GS_LANGUAGE_ERROR              (gs_language_error_quark ())
-#define GS_LANGUAGE_TYPE_ERROR         (gs_language_error_get_type ())
-
-typedef struct GsLanguagePrivate GsLanguagePrivate;
-
-typedef struct
-{
-        GObject                 parent;
-        GsLanguagePrivate      *priv;
-} GsLanguage;
-
-typedef struct
-{
-       GObjectClass    parent_class;
-} GsLanguageClass;
-
-GType           gs_language_get_type                   (void);
+#define GS_TYPE_LANGUAGE (gs_language_get_type ())
+
+G_DECLARE_FINAL_TYPE (GsLanguage, gs_language, GS, LANGUAGE, GObject)
+
 GsLanguage     *gs_language_new                        (void);
 gboolean        gs_language_populate                   (GsLanguage      *language,
                                                         GError         **error);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]