[gnome-software] GsFolders: Port to G_DECLARE_FINAL_TYPE macro
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] GsFolders: Port to G_DECLARE_FINAL_TYPE macro
- Date: Mon, 7 Sep 2015 17:37:57 +0000 (UTC)
commit 05a389792280f21172937fd50c13ffd08a059d6c
Author: Kalev Lember <klember redhat com>
Date: Mon Sep 7 16:57:13 2015 +0200
GsFolders: Port to G_DECLARE_FINAL_TYPE macro
src/gs-folders.c | 84 +++++++++++++++++++++++++++---------------------------
src/gs-folders.h | 22 +-------------
2 files changed, 44 insertions(+), 62 deletions(-)
---
diff --git a/src/gs-folders.c b/src/gs-folders.c
index 6cd47b2..8810287 100644
--- a/src/gs-folders.c
+++ b/src/gs-folders.c
@@ -50,15 +50,17 @@ typedef struct
GHashTable *excluded_apps;
} GsFolder;
-struct GsFoldersPrivate
+struct _GsFolders
{
+ GObject parent_instance;
+
GSettings *settings;
GHashTable *folders;
GHashTable *apps;
GHashTable *categories;
};
-G_DEFINE_TYPE_WITH_PRIVATE (GsFolders, gs_folders, G_TYPE_OBJECT)
+G_DEFINE_TYPE (GsFolders, gs_folders, G_TYPE_OBJECT)
#if 0
static void
@@ -92,7 +94,7 @@ dump (GsFolders *folders)
GHashTableIter iter;
GsFolder *folder;
- g_hash_table_iter_init (&iter, folders->priv->folders);
+ g_hash_table_iter_init (&iter, folders->folders);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&folder)) {
g_print ("folder %s\n", folder->id);
g_print ("\tname %s\n", folder->name);
@@ -112,9 +114,9 @@ dump (GsFolders *folders)
}
g_print ("app mapping\n");
- dump_map (folders->priv->apps);
+ dump_map (folders->apps);
g_print ("category mapping\n");
- dump_map (folders->priv->categories);
+ dump_map (folders->categories);
}
#endif
@@ -176,12 +178,12 @@ load (GsFolders *folders)
gchar *category;
_cleanup_strv_free_ gchar **ids = NULL;
- folders->priv->folders = g_hash_table_new_full (g_str_hash, g_str_equal, NULL,
(GDestroyNotify)gs_folder_free);
- folders->priv->apps = g_hash_table_new (g_str_hash, g_str_equal);
- folders->priv->categories = g_hash_table_new (g_str_hash, g_str_equal);
+ folders->folders = g_hash_table_new_full (g_str_hash, g_str_equal, NULL,
(GDestroyNotify)gs_folder_free);
+ folders->apps = g_hash_table_new (g_str_hash, g_str_equal);
+ folders->categories = g_hash_table_new (g_str_hash, g_str_equal);
- ids = g_settings_get_strv (folders->priv->settings, "folder-children");
- g_object_get (folders->priv->settings, "path", &path, NULL);
+ ids = g_settings_get_strv (folders->settings, "folder-children");
+ g_object_get (folders->settings, "path", &path, NULL);
for (i = 0; ids[i]; i++) {
_cleanup_free_ gchar **apps = NULL;
_cleanup_free_ gchar **categories = NULL;
@@ -212,15 +214,15 @@ load (GsFolders *folders)
g_hash_table_add (folder->categories, categories[j]);
}
- g_hash_table_insert (folders->priv->folders, (gpointer)folder->id, folder);
+ g_hash_table_insert (folders->folders, (gpointer)folder->id, folder);
g_hash_table_iter_init (&iter, folder->apps);
while (g_hash_table_iter_next (&iter, (gpointer*)&app, NULL)) {
- g_hash_table_insert (folders->priv->apps, app, folder);
+ g_hash_table_insert (folders->apps, app, folder);
}
g_hash_table_iter_init (&iter, folder->categories);
while (g_hash_table_iter_next (&iter, (gpointer*)&category, NULL)) {
- g_hash_table_insert (folders->priv->categories, category, folder);
+ g_hash_table_insert (folders->categories, category, folder);
}
}
}
@@ -234,8 +236,8 @@ save (GsFolders *folders)
_cleanup_free_ gchar *path = NULL;
_cleanup_free_ gpointer apps = NULL;
- g_object_get (folders->priv->settings, "path", &path, NULL);
- g_hash_table_iter_init (&iter, folders->priv->folders);
+ g_object_get (folders->settings, "path", &path, NULL);
+ g_hash_table_iter_init (&iter, folders->folders);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&folder)) {
_cleanup_free_ gchar *child_path = NULL;
_cleanup_object_unref_ GSettings *settings = NULL;
@@ -258,20 +260,20 @@ save (GsFolders *folders)
}
apps = gs_folders_get_nonempty_folders (folders);
- g_settings_set_strv (folders->priv->settings, "folder-children",
+ g_settings_set_strv (folders->settings, "folder-children",
(const gchar * const *)apps);
}
static void
clear (GsFolders *folders)
{
- g_hash_table_unref (folders->priv->apps);
- g_hash_table_unref (folders->priv->categories);
- g_hash_table_unref (folders->priv->folders);
+ g_hash_table_unref (folders->apps);
+ g_hash_table_unref (folders->categories);
+ g_hash_table_unref (folders->folders);
- folders->priv->apps = NULL;
- folders->priv->categories = NULL;
- folders->priv->folders = NULL;
+ folders->apps = NULL;
+ folders->categories = NULL;
+ folders->folders = NULL;
}
static void
@@ -279,7 +281,7 @@ gs_folders_dispose (GObject *object)
{
GsFolders *folders = GS_FOLDERS (object);
- g_clear_object (&folders->priv->settings);
+ g_clear_object (&folders->settings);
G_OBJECT_CLASS (gs_folders_parent_class)->dispose (object);
}
@@ -305,9 +307,7 @@ gs_folders_class_init (GsFoldersClass *klass)
static void
gs_folders_init (GsFolders *folders)
{
- folders->priv = gs_folders_get_instance_private (folders);
-
- folders->priv->settings = g_settings_new (APP_FOLDER_SCHEMA);
+ folders->settings = g_settings_new (APP_FOLDER_SCHEMA);
load (folders);
}
@@ -331,7 +331,7 @@ gs_folders_get (void)
gchar **
gs_folders_get_folders (GsFolders *folders)
{
- return (gchar**) g_hash_table_get_keys_as_array (folders->priv->folders, NULL);
+ return (gchar**) g_hash_table_get_keys_as_array (folders->folders, NULL);
}
gchar **
@@ -343,12 +343,12 @@ gs_folders_get_nonempty_folders (GsFolders *folders)
tmp = g_hash_table_new (g_str_hash, g_str_equal);
- g_hash_table_iter_init (&iter, folders->priv->apps);
+ g_hash_table_iter_init (&iter, folders->apps);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&folder)) {
g_hash_table_add (tmp, folder->id);
}
- g_hash_table_iter_init (&iter, folders->priv->categories);
+ g_hash_table_iter_init (&iter, folders->categories);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&folder)) {
g_hash_table_add (tmp, folder->id);
}
@@ -380,10 +380,10 @@ gs_folders_add_folder (GsFolders *folders, const gchar *id)
key = g_strdup (id);
canonicalize_key (key);
- folder = g_hash_table_lookup (folders->priv->folders, key);
+ folder = g_hash_table_lookup (folders->folders, key);
if (!folder) {
folder = gs_folder_new (key, id, FALSE);
- g_hash_table_insert (folders->priv->folders, folder->id, folder);
+ g_hash_table_insert (folders->folders, folder->id, folder);
}
return folder->id;
@@ -398,14 +398,14 @@ gs_folders_remove_folder (GsFolders *folders, const gchar *id)
if (id == NULL)
return;
- g_hash_table_iter_init (&iter, folders->priv->apps);
+ g_hash_table_iter_init (&iter, folders->apps);
while (g_hash_table_iter_next (&iter, NULL, (gpointer*)&folder)) {
if (folder && g_strcmp0 (id, folder->id) == 0) {
g_hash_table_iter_remove (&iter);
}
}
- g_hash_table_iter_init (&iter, folders->priv->categories);
+ g_hash_table_iter_init (&iter, folders->categories);
while (g_hash_table_iter_next (&iter, NULL, (gpointer*)&folder)) {
if (folder && g_strcmp0 (id, folder->id) == 0) {
g_hash_table_iter_remove (&iter);
@@ -413,7 +413,7 @@ gs_folders_remove_folder (GsFolders *folders, const gchar *id)
}
if (folder != NULL)
- g_hash_table_remove (folders->priv->folders, folder->id);
+ g_hash_table_remove (folders->folders, folder->id);
}
const gchar *
@@ -421,7 +421,7 @@ gs_folders_get_folder_name (GsFolders *folders, const gchar *id)
{
GsFolder *folder;
- folder = g_hash_table_lookup (folders->priv->folders, id);
+ folder = g_hash_table_lookup (folders->folders, id);
if (folder) {
if (folder->translated)
@@ -438,7 +438,7 @@ gs_folders_set_folder_name (GsFolders *folders, const gchar *id, const gchar *na
{
GsFolder *folder;
- folder = g_hash_table_lookup (folders->priv->folders, id);
+ folder = g_hash_table_lookup (folders->folders, id);
if (folder) {
g_free (folder->name);
g_free (folder->translated);
@@ -453,10 +453,10 @@ get_app_folder (GsFolders *folders, const gchar *app, GPtrArray *categories)
GsFolder *folder;
guint i;
- folder = g_hash_table_lookup (folders->priv->apps, app);
+ folder = g_hash_table_lookup (folders->apps, app);
if (!folder && categories) {
for (i = 0; i < categories->len; i++) {
- folder = g_hash_table_lookup (folders->priv->categories, g_ptr_array_index
(categories, i));
+ folder = g_hash_table_lookup (folders->categories, g_ptr_array_index (categories, i));
if (folder) {
break;
}
@@ -492,7 +492,7 @@ gs_folders_set_app_folder (GsFolders *folders, const gchar *app, GPtrArray *cate
folder = get_app_folder (folders, app, categories);
if (folder) {
- g_hash_table_remove (folders->priv->apps, app);
+ g_hash_table_remove (folders->apps, app);
g_hash_table_remove (folder->apps, app);
}
@@ -500,17 +500,17 @@ gs_folders_set_app_folder (GsFolders *folders, const gchar *app, GPtrArray *cate
gchar *app_id;
app_id = g_strdup (app);
- folder = g_hash_table_lookup (folders->priv->folders, id);
+ folder = g_hash_table_lookup (folders->folders, id);
g_hash_table_add (folder->apps, app_id);
g_hash_table_remove (folder->excluded_apps, app);
- g_hash_table_insert (folders->priv->apps, app_id, folder);
+ g_hash_table_insert (folders->apps, app_id, folder);
} else {
guint i;
gchar *category;
for (i = 0; i < categories->len; i++) {
category = g_ptr_array_index (categories, i);
- folder = g_hash_table_lookup (folders->priv->categories, category);
+ folder = g_hash_table_lookup (folders->categories, category);
if (folder) {
g_hash_table_add (folder->excluded_apps, g_strdup (app));
}
diff --git a/src/gs-folders.h b/src/gs-folders.h
index d154ad2..db7dfe6 100644
--- a/src/gs-folders.h
+++ b/src/gs-folders.h
@@ -27,27 +27,9 @@
G_BEGIN_DECLS
-#define GS_TYPE_FOLDERS (gs_folders_get_type ())
-#define GS_FOLDERS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GS_TYPE_FOLDERS, GsFolders))
-#define GS_FOLDERS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GS_TYPE_FOLDERS, GsFoldersClass))
-#define GS_IS_FOLDERS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GS_TYPE_FOLDERS))
-#define GS_IS_FOLDERS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GS_TYPE_FOLDERS))
-#define GS_FOLDERS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GS_TYPE_FOLDERS, GsFoldersClass))
+#define GS_TYPE_FOLDERS (gs_folders_get_type ())
-typedef struct GsFoldersPrivate GsFoldersPrivate;
-
-typedef struct
-{
- GObject parent;
- GsFoldersPrivate *priv;
-} GsFolders;
-
-typedef struct
-{
- GObjectClass parent_class;
-} GsFoldersClass;
-
-GType gs_folders_get_type (void);
+G_DECLARE_FINAL_TYPE (GsFolders, gs_folders, GS, FOLDERS, GObject)
GsFolders *gs_folders_get (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]