[gnome-software] GsApp: Use gs_app_get_instance_private and remove the priv pointer
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] GsApp: Use gs_app_get_instance_private and remove the priv pointer
- Date: Mon, 11 May 2015 15:42:19 +0000 (UTC)
commit b821b4a8ba90283f0596dda060b1d7787ed56d4a
Author: Kalev Lember <kalevlember gmail com>
Date: Mon May 11 14:43:16 2015 +0200
GsApp: Use gs_app_get_instance_private and remove the priv pointer
This is slightly safer since gs_app_get_instance_private() doesn't
dereference the app pointer, making it possible to write code such as:
GsAppPrivate *priv = gs_app_get_instance_private (app);
g_return_if_fail (GS_IS_APP (app));
... without having to fear that we dereference app before the
g_return_if_fail assertion.
src/gs-app.c | 385 +++++++++++++++++++++++++++++-----------------------------
src/gs-app.h | 1 -
2 files changed, 194 insertions(+), 192 deletions(-)
---
diff --git a/src/gs-app.c b/src/gs-app.c
index c2abc91..8a7bc11 100644
--- a/src/gs-app.c
+++ b/src/gs-app.c
@@ -114,6 +114,8 @@ enum {
PROP_LAST
};
+#define APP_PRIV(app) ((GsAppPrivate *) gs_app_get_instance_private ((GsApp *) (app)))
+
G_DEFINE_TYPE_WITH_PRIVATE (GsApp, gs_app, G_TYPE_OBJECT)
/**
@@ -165,7 +167,7 @@ gs_app_to_string (GsApp *app)
GList *keys;
GList *l;
GString *str;
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
const gchar *tmp;
guint i;
@@ -352,7 +354,7 @@ const gchar *
gs_app_get_id (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->id;
+ return APP_PRIV (app)->id;
}
/**
@@ -362,8 +364,8 @@ void
gs_app_set_id (GsApp *app, const gchar *id)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->id);
- app->priv->id = g_strdup (id);
+ g_free (APP_PRIV (app)->id);
+ APP_PRIV (app)->id = g_strdup (id);
}
/**
@@ -373,7 +375,7 @@ AsAppState
gs_app_get_state (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), AS_APP_STATE_UNKNOWN);
- return app->priv->state;
+ return APP_PRIV (app)->state;
}
/**
@@ -383,7 +385,7 @@ static gboolean
gs_app_set_state_internal (GsApp *app, AsAppState state)
{
gboolean state_change_ok = FALSE;
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
if (priv->state == state)
return FALSE;
@@ -471,7 +473,7 @@ gs_app_set_state_internal (GsApp *app, AsAppState state)
if (state == AS_APP_STATE_UNKNOWN ||
state == AS_APP_STATE_AVAILABLE_LOCAL ||
state == AS_APP_STATE_AVAILABLE)
- app->priv->install_date = 0;
+ APP_PRIV (app)->install_date = 0;
return TRUE;
}
@@ -509,7 +511,7 @@ GsAppKind
gs_app_get_kind (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), GS_APP_KIND_UNKNOWN);
- return app->priv->kind;
+ return APP_PRIV (app)->kind;
}
/**
@@ -526,7 +528,7 @@ void
gs_app_set_kind (GsApp *app, GsAppKind kind)
{
gboolean state_change_ok = FALSE;
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
g_return_if_fail (GS_IS_APP (app));
if (priv->kind == kind)
@@ -586,7 +588,7 @@ AsIdKind
gs_app_get_id_kind (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), GS_APP_KIND_UNKNOWN);
- return app->priv->id_kind;
+ return APP_PRIV (app)->id_kind;
}
/**
@@ -596,7 +598,7 @@ void
gs_app_set_id_kind (GsApp *app, AsIdKind id_kind)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->id_kind = id_kind;
+ APP_PRIV (app)->id_kind = id_kind;
}
/**
@@ -606,7 +608,7 @@ const gchar *
gs_app_get_name (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->name;
+ return APP_PRIV (app)->name;
}
/**
@@ -621,12 +623,12 @@ gs_app_set_name (GsApp *app, GsAppQuality quality, const gchar *name)
g_return_if_fail (GS_IS_APP (app));
/* only save this if the data is sufficiently high quality */
- if (quality <= app->priv->name_quality)
+ if (quality <= APP_PRIV (app)->name_quality)
return;
- app->priv->name_quality = quality;
+ APP_PRIV (app)->name_quality = quality;
- g_free (app->priv->name);
- app->priv->name = g_strdup (name);
+ g_free (APP_PRIV (app)->name);
+ APP_PRIV (app)->name = g_strdup (name);
}
/**
@@ -636,9 +638,9 @@ const gchar *
gs_app_get_source_default (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- if (app->priv->sources->len == 0)
+ if (APP_PRIV (app)->sources->len == 0)
return NULL;
- return g_ptr_array_index (app->priv->sources, 0);
+ return g_ptr_array_index (APP_PRIV (app)->sources, 0);
}
/**
@@ -653,12 +655,12 @@ gs_app_add_source (GsApp *app, const gchar *source)
g_return_if_fail (GS_IS_APP (app));
/* check source doesn't already exist */
- for (i = 0; i < app->priv->sources->len; i++) {
- tmp = g_ptr_array_index (app->priv->sources, i);
+ for (i = 0; i < APP_PRIV (app)->sources->len; i++) {
+ tmp = g_ptr_array_index (APP_PRIV (app)->sources, i);
if (g_strcmp0 (tmp, source) == 0)
return;
}
- g_ptr_array_add (app->priv->sources, g_strdup (source));
+ g_ptr_array_add (APP_PRIV (app)->sources, g_strdup (source));
}
/**
@@ -668,7 +670,7 @@ GPtrArray *
gs_app_get_sources (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->sources;
+ return APP_PRIV (app)->sources;
}
/**
@@ -684,9 +686,9 @@ void
gs_app_set_sources (GsApp *app, GPtrArray *sources)
{
g_return_if_fail (GS_IS_APP (app));
- if (app->priv->sources != NULL)
- g_ptr_array_unref (app->priv->sources);
- app->priv->sources = g_ptr_array_ref (sources);
+ if (APP_PRIV (app)->sources != NULL)
+ g_ptr_array_unref (APP_PRIV (app)->sources);
+ APP_PRIV (app)->sources = g_ptr_array_ref (sources);
}
/**
@@ -696,9 +698,9 @@ const gchar *
gs_app_get_source_id_default (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- if (app->priv->source_ids->len == 0)
+ if (APP_PRIV (app)->source_ids->len == 0)
return NULL;
- return g_ptr_array_index (app->priv->source_ids, 0);
+ return g_ptr_array_index (APP_PRIV (app)->source_ids, 0);
}
/**
@@ -708,7 +710,7 @@ GPtrArray *
gs_app_get_source_ids (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->source_ids;
+ return APP_PRIV (app)->source_ids;
}
/**
@@ -718,7 +720,7 @@ void
gs_app_clear_source_ids (GsApp *app)
{
g_return_if_fail (GS_IS_APP (app));
- g_ptr_array_set_size (app->priv->source_ids, 0);
+ g_ptr_array_set_size (APP_PRIV (app)->source_ids, 0);
}
/**
@@ -733,9 +735,9 @@ void
gs_app_set_source_ids (GsApp *app, GPtrArray *source_ids)
{
g_return_if_fail (GS_IS_APP (app));
- if (app->priv->source_ids != NULL)
- g_ptr_array_unref (app->priv->source_ids);
- app->priv->source_ids = g_ptr_array_ref (source_ids);
+ if (APP_PRIV (app)->source_ids != NULL)
+ g_ptr_array_unref (APP_PRIV (app)->source_ids);
+ APP_PRIV (app)->source_ids = g_ptr_array_ref (source_ids);
}
/**
@@ -750,12 +752,12 @@ gs_app_add_source_id (GsApp *app, const gchar *source_id)
g_return_if_fail (GS_IS_APP (app));
/* only add if not already present */
- for (i = 0; i < app->priv->source_ids->len; i++) {
- tmp = g_ptr_array_index (app->priv->source_ids, i);
+ for (i = 0; i < APP_PRIV (app)->source_ids->len; i++) {
+ tmp = g_ptr_array_index (APP_PRIV (app)->source_ids, i);
if (g_strcmp0 (tmp, source_id) == 0)
return;
}
- g_ptr_array_add (app->priv->source_ids, g_strdup (source_id));
+ g_ptr_array_add (APP_PRIV (app)->source_ids, g_strdup (source_id));
}
/**
@@ -765,7 +767,7 @@ const gchar *
gs_app_get_project_group (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->project_group;
+ return APP_PRIV (app)->project_group;
}
/**
@@ -777,8 +779,8 @@ void
gs_app_set_project_group (GsApp *app, const gchar *project_group)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->project_group);
- app->priv->project_group = g_strdup (project_group);
+ g_free (APP_PRIV (app)->project_group);
+ APP_PRIV (app)->project_group = g_strdup (project_group);
}
/**
@@ -805,16 +807,16 @@ gs_app_get_pixbuf (GsApp *app)
g_return_val_if_fail (GS_IS_APP (app), NULL);
/* has an icon */
- if (app->priv->pixbuf == NULL &&
- app->priv->icon != NULL &&
- as_icon_get_kind (app->priv->icon) == AS_ICON_KIND_STOCK) {
- app->priv->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
- as_icon_get_name (app->priv->icon), 64,
+ if (APP_PRIV (app)->pixbuf == NULL &&
+ APP_PRIV (app)->icon != NULL &&
+ as_icon_get_kind (APP_PRIV (app)->icon) == AS_ICON_KIND_STOCK) {
+ APP_PRIV (app)->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ as_icon_get_name (APP_PRIV (app)->icon), 64,
GTK_ICON_LOOKUP_USE_BUILTIN |
GTK_ICON_LOOKUP_FORCE_SIZE,
NULL);
- } else if (app->priv->pixbuf == NULL && gs_app_get_state (app) == AS_APP_STATE_AVAILABLE_LOCAL) {
+ } else if (APP_PRIV (app)->pixbuf == NULL && gs_app_get_state (app) == AS_APP_STATE_AVAILABLE_LOCAL) {
const gchar *icon_name;
if (gs_app_get_kind (app) == GS_APP_KIND_SOURCE)
icon_name = "x-package-repository";
@@ -822,27 +824,27 @@ gs_app_get_pixbuf (GsApp *app)
icon_name = "application-x-addon";
else
icon_name = "application-x-executable";
- app->priv->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ APP_PRIV (app)->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
icon_name, 96,
GTK_ICON_LOOKUP_USE_BUILTIN |
GTK_ICON_LOOKUP_FORCE_SIZE,
NULL);
- } else if (app->priv->pixbuf == NULL && gs_app_get_kind (app) == GS_APP_KIND_PACKAGE) {
- app->priv->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ } else if (APP_PRIV (app)->pixbuf == NULL && gs_app_get_kind (app) == GS_APP_KIND_PACKAGE) {
+ APP_PRIV (app)->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
"application-x-addon", 64,
GTK_ICON_LOOKUP_USE_BUILTIN |
GTK_ICON_LOOKUP_FORCE_SIZE,
NULL);
- } else if (app->priv->pixbuf == NULL && gs_app_get_kind (app) == GS_APP_KIND_MISSING) {
- app->priv->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ } else if (APP_PRIV (app)->pixbuf == NULL && gs_app_get_kind (app) == GS_APP_KIND_MISSING) {
+ APP_PRIV (app)->pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
"dialog-question-symbolic", 16,
GTK_ICON_LOOKUP_USE_BUILTIN |
GTK_ICON_LOOKUP_FORCE_SIZE,
NULL);
}
- return app->priv->pixbuf;
+ return APP_PRIV (app)->pixbuf;
}
/**
@@ -852,7 +854,7 @@ AsIcon *
gs_app_get_icon (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->icon;
+ return APP_PRIV (app)->icon;
}
/**
@@ -864,9 +866,9 @@ gs_app_set_icon (GsApp *app, AsIcon *icon)
g_return_if_fail (GS_IS_APP (app));
/* save icon */
- g_clear_object (&app->priv->icon);
+ g_clear_object (&APP_PRIV (app)->icon);
if (icon != NULL)
- app->priv->icon = g_object_ref (icon);
+ APP_PRIV (app)->icon = g_object_ref (icon);
}
static GtkIconTheme *icon_theme_singleton;
@@ -913,7 +915,7 @@ gs_app_load_icon (GsApp *app, gint scale, GError **error)
_cleanup_object_unref_ GdkPixbuf *pixbuf = NULL;
g_return_val_if_fail (GS_IS_APP (app), FALSE);
- g_return_val_if_fail (app->priv->icon != NULL, FALSE);
+ g_return_val_if_fail (APP_PRIV (app)->icon != NULL, FALSE);
/* either load from the theme or from a file */
icon = gs_app_get_icon (app);
@@ -965,9 +967,9 @@ gs_app_set_pixbuf (GsApp *app, GdkPixbuf *pixbuf)
{
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
- if (app->priv->pixbuf != NULL)
- g_object_unref (app->priv->pixbuf);
- app->priv->pixbuf = g_object_ref (pixbuf);
+ if (APP_PRIV (app)->pixbuf != NULL)
+ g_object_unref (APP_PRIV (app)->pixbuf);
+ APP_PRIV (app)->pixbuf = g_object_ref (pixbuf);
}
/**
@@ -977,7 +979,7 @@ GdkPixbuf *
gs_app_get_featured_pixbuf (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->featured_pixbuf;
+ return APP_PRIV (app)->featured_pixbuf;
}
/**
@@ -987,8 +989,8 @@ void
gs_app_set_featured_pixbuf (GsApp *app, GdkPixbuf *pixbuf)
{
g_return_if_fail (GS_IS_APP (app));
- g_return_if_fail (app->priv->featured_pixbuf == NULL);
- app->priv->featured_pixbuf = g_object_ref (pixbuf);
+ g_return_if_fail (APP_PRIV (app)->featured_pixbuf == NULL);
+ APP_PRIV (app)->featured_pixbuf = g_object_ref (pixbuf);
}
typedef enum {
@@ -1058,7 +1060,7 @@ out:
static void
gs_app_ui_versions_invalidate (GsApp *app)
{
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
g_free (priv->version_ui);
g_free (priv->update_version_ui);
priv->version_ui = NULL;
@@ -1071,7 +1073,7 @@ gs_app_ui_versions_invalidate (GsApp *app)
static void
gs_app_ui_versions_populate (GsApp *app)
{
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
guint i;
guint64 flags[] = { GS_APP_VERSION_FIXUP_RELEASE |
GS_APP_VERSION_FIXUP_DISTRO_SUFFIX |
@@ -1104,7 +1106,7 @@ const gchar *
gs_app_get_version (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->version;
+ return APP_PRIV (app)->version;
}
/**
@@ -1116,12 +1118,12 @@ gs_app_get_version_ui (GsApp *app)
g_return_val_if_fail (GS_IS_APP (app), NULL);
/* work out the two version numbers */
- if (app->priv->version != NULL &&
- app->priv->version_ui == NULL) {
+ if (APP_PRIV (app)->version != NULL &&
+ APP_PRIV (app)->version_ui == NULL) {
gs_app_ui_versions_populate (app);
}
- return app->priv->version_ui;
+ return APP_PRIV (app)->version_ui;
}
/**
@@ -1136,8 +1138,8 @@ void
gs_app_set_version (GsApp *app, const gchar *version)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->version);
- app->priv->version = g_strdup (version);
+ g_free (APP_PRIV (app)->version);
+ APP_PRIV (app)->version = g_strdup (version);
gs_app_ui_versions_invalidate (app);
gs_app_queue_notify (app, "version");
}
@@ -1149,7 +1151,7 @@ const gchar *
gs_app_get_summary (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->summary;
+ return APP_PRIV (app)->summary;
}
/**
@@ -1164,12 +1166,12 @@ gs_app_set_summary (GsApp *app, GsAppQuality quality, const gchar *summary)
g_return_if_fail (GS_IS_APP (app));
/* only save this if the data is sufficiently high quality */
- if (quality <= app->priv->summary_quality)
+ if (quality <= APP_PRIV (app)->summary_quality)
return;
- app->priv->summary_quality = quality;
+ APP_PRIV (app)->summary_quality = quality;
- g_free (app->priv->summary);
- app->priv->summary = g_strdup (summary);
+ g_free (APP_PRIV (app)->summary);
+ APP_PRIV (app)->summary = g_strdup (summary);
}
/**
@@ -1179,7 +1181,7 @@ const gchar *
gs_app_get_description (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->description;
+ return APP_PRIV (app)->description;
}
/**
@@ -1194,12 +1196,12 @@ gs_app_set_description (GsApp *app, GsAppQuality quality, const gchar *descripti
g_return_if_fail (GS_IS_APP (app));
/* only save this if the data is sufficiently high quality */
- if (quality <= app->priv->description_quality)
+ if (quality <= APP_PRIV (app)->description_quality)
return;
- app->priv->description_quality = quality;
+ APP_PRIV (app)->description_quality = quality;
- g_free (app->priv->description);
- app->priv->description = g_strdup (description);
+ g_free (APP_PRIV (app)->description);
+ APP_PRIV (app)->description = g_strdup (description);
}
/**
@@ -1209,7 +1211,7 @@ const gchar *
gs_app_get_url (GsApp *app, AsUrlKind kind)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return g_hash_table_lookup (app->priv->urls, as_url_kind_to_string (kind));
+ return g_hash_table_lookup (APP_PRIV (app)->urls, as_url_kind_to_string (kind));
}
/**
@@ -1219,7 +1221,7 @@ void
gs_app_set_url (GsApp *app, AsUrlKind kind, const gchar *url)
{
g_return_if_fail (GS_IS_APP (app));
- g_hash_table_insert (app->priv->urls,
+ g_hash_table_insert (APP_PRIV (app)->urls,
g_strdup (as_url_kind_to_string (kind)),
g_strdup (url));
}
@@ -1231,7 +1233,7 @@ const gchar *
gs_app_get_licence (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->licence;
+ return APP_PRIV (app)->licence;
}
/**
@@ -1295,8 +1297,8 @@ gs_app_set_licence (GsApp *app, const gchar *licence)
g_string_append (urld, tokens[i]);
}
- g_free (app->priv->licence);
- app->priv->licence = g_string_free (urld, FALSE);
+ g_free (APP_PRIV (app)->licence);
+ APP_PRIV (app)->licence = g_string_free (urld, FALSE);
}
/**
@@ -1306,7 +1308,7 @@ const gchar *
gs_app_get_summary_missing (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->summary_missing;
+ return APP_PRIV (app)->summary_missing;
}
/**
@@ -1316,8 +1318,8 @@ void
gs_app_set_summary_missing (GsApp *app, const gchar *summary_missing)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->summary_missing);
- app->priv->summary_missing = g_strdup (summary_missing);
+ g_free (APP_PRIV (app)->summary_missing);
+ APP_PRIV (app)->summary_missing = g_strdup (summary_missing);
}
/**
@@ -1327,7 +1329,7 @@ const gchar *
gs_app_get_menu_path (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->menu_path;
+ return APP_PRIV (app)->menu_path;
}
/**
@@ -1337,8 +1339,8 @@ void
gs_app_set_menu_path (GsApp *app, const gchar *menu_path)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->menu_path);
- app->priv->menu_path = g_strdup (menu_path);
+ g_free (APP_PRIV (app)->menu_path);
+ APP_PRIV (app)->menu_path = g_strdup (menu_path);
}
/**
@@ -1348,7 +1350,7 @@ const gchar *
gs_app_get_origin (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->origin;
+ return APP_PRIV (app)->origin;
}
/**
@@ -1361,8 +1363,8 @@ void
gs_app_set_origin (GsApp *app, const gchar *origin)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->origin);
- app->priv->origin = g_strdup (origin);
+ g_free (APP_PRIV (app)->origin);
+ APP_PRIV (app)->origin = g_strdup (origin);
}
/**
@@ -1372,7 +1374,7 @@ void
gs_app_add_screenshot (GsApp *app, AsScreenshot *screenshot)
{
g_return_if_fail (GS_IS_APP (app));
- g_ptr_array_add (app->priv->screenshots, g_object_ref (screenshot));
+ g_ptr_array_add (APP_PRIV (app)->screenshots, g_object_ref (screenshot));
}
/**
@@ -1382,7 +1384,7 @@ GPtrArray *
gs_app_get_screenshots (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->screenshots;
+ return APP_PRIV (app)->screenshots;
}
/**
@@ -1392,7 +1394,7 @@ const gchar *
gs_app_get_update_version (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->update_version;
+ return APP_PRIV (app)->update_version;
}
/**
@@ -1404,12 +1406,12 @@ gs_app_get_update_version_ui (GsApp *app)
g_return_val_if_fail (GS_IS_APP (app), NULL);
/* work out the two version numbers */
- if (app->priv->update_version != NULL &&
- app->priv->update_version_ui == NULL) {
+ if (APP_PRIV (app)->update_version != NULL &&
+ APP_PRIV (app)->update_version_ui == NULL) {
gs_app_ui_versions_populate (app);
}
- return app->priv->update_version_ui;
+ return APP_PRIV (app)->update_version_ui;
}
/**
@@ -1418,8 +1420,8 @@ gs_app_get_update_version_ui (GsApp *app)
static void
gs_app_set_update_version_internal (GsApp *app, const gchar *update_version)
{
- g_free (app->priv->update_version);
- app->priv->update_version = g_strdup (update_version);
+ g_free (APP_PRIV (app)->update_version);
+ APP_PRIV (app)->update_version = g_strdup (update_version);
gs_app_ui_versions_invalidate (app);
}
@@ -1441,7 +1443,7 @@ const gchar *
gs_app_get_update_details (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->update_details;
+ return APP_PRIV (app)->update_details;
}
/**
@@ -1451,8 +1453,8 @@ void
gs_app_set_update_details (GsApp *app, const gchar *update_details)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->update_details);
- app->priv->update_details = g_strdup (update_details);
+ g_free (APP_PRIV (app)->update_details);
+ APP_PRIV (app)->update_details = g_strdup (update_details);
}
/**
@@ -1462,7 +1464,7 @@ const gchar *
gs_app_get_management_plugin (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->management_plugin;
+ return APP_PRIV (app)->management_plugin;
}
/**
@@ -1475,8 +1477,8 @@ void
gs_app_set_management_plugin (GsApp *app, const gchar *management_plugin)
{
g_return_if_fail (GS_IS_APP (app));
- g_free (app->priv->management_plugin);
- app->priv->management_plugin = g_strdup (management_plugin);
+ g_free (APP_PRIV (app)->management_plugin);
+ APP_PRIV (app)->management_plugin = g_strdup (management_plugin);
}
/**
@@ -1486,7 +1488,7 @@ gint
gs_app_get_rating (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), -1);
- return app->priv->rating;
+ return APP_PRIV (app)->rating;
}
/**
@@ -1496,7 +1498,7 @@ void
gs_app_set_rating (GsApp *app, gint rating)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->rating = rating;
+ APP_PRIV (app)->rating = rating;
gs_app_queue_notify (app, "rating");
}
@@ -1510,7 +1512,7 @@ gint
gs_app_get_rating_confidence (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), -1);
- return app->priv->rating_confidence;
+ return APP_PRIV (app)->rating_confidence;
}
/**
@@ -1528,7 +1530,7 @@ void
gs_app_set_rating_confidence (GsApp *app, gint rating_confidence)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->rating_confidence = rating_confidence;
+ APP_PRIV (app)->rating_confidence = rating_confidence;
}
/**
@@ -1538,7 +1540,7 @@ GsAppRatingKind
gs_app_get_rating_kind (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), -1);
- return app->priv->rating_kind;
+ return APP_PRIV (app)->rating_kind;
}
/**
@@ -1548,7 +1550,7 @@ void
gs_app_set_rating_kind (GsApp *app, GsAppRatingKind rating_kind)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->rating_kind = rating_kind;
+ APP_PRIV (app)->rating_kind = rating_kind;
gs_app_queue_notify (app, "rating");
}
@@ -1559,7 +1561,7 @@ guint64
gs_app_get_size (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), G_MAXUINT64);
- return app->priv->size;
+ return APP_PRIV (app)->size;
}
/**
@@ -1569,7 +1571,7 @@ void
gs_app_set_size (GsApp *app, guint64 size)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->size = size;
+ APP_PRIV (app)->size = size;
}
/**
@@ -1579,7 +1581,7 @@ const gchar *
gs_app_get_metadata_item (GsApp *app, const gchar *key)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return g_hash_table_lookup (app->priv->metadata, key);
+ return g_hash_table_lookup (APP_PRIV (app)->metadata, key);
}
/**
@@ -1594,12 +1596,12 @@ gs_app_set_metadata (GsApp *app, const gchar *key, const gchar *value)
/* if no value, then remove the key */
if (value == NULL) {
- g_hash_table_remove (app->priv->metadata, key);
+ g_hash_table_remove (APP_PRIV (app)->metadata, key);
return;
}
/* check we're not overwriting */
- found = g_hash_table_lookup (app->priv->metadata, key);
+ found = g_hash_table_lookup (APP_PRIV (app)->metadata, key);
if (found != NULL) {
if (g_strcmp0 (found, value) == 0)
return;
@@ -1607,7 +1609,7 @@ gs_app_set_metadata (GsApp *app, const gchar *key, const gchar *value)
key, found, value);
return;
}
- g_hash_table_insert (app->priv->metadata,
+ g_hash_table_insert (APP_PRIV (app)->metadata,
g_strdup (key),
g_strdup (value));
}
@@ -1619,7 +1621,7 @@ GPtrArray *
gs_app_get_addons (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->addons;
+ return APP_PRIV (app)->addons;
}
/**
@@ -1635,14 +1637,14 @@ gs_app_add_addon (GsApp *app, GsApp *addon)
g_return_if_fail (GS_IS_APP (addon));
id = gs_app_get_id (addon);
- found = g_hash_table_lookup (app->priv->addons_hash, id);
+ found = g_hash_table_lookup (APP_PRIV (app)->addons_hash, id);
if (found != NULL) {
g_debug ("Already added %s as an addon", id);
return;
}
- g_hash_table_insert (app->priv->addons_hash, g_strdup (id), GINT_TO_POINTER (1));
+ g_hash_table_insert (APP_PRIV (app)->addons_hash, g_strdup (id), GINT_TO_POINTER (1));
- g_ptr_array_add (app->priv->addons, g_object_ref (addon));
+ g_ptr_array_add (APP_PRIV (app)->addons, g_object_ref (addon));
}
/**
@@ -1652,7 +1654,7 @@ GPtrArray *
gs_app_get_related (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->related;
+ return APP_PRIV (app)->related;
}
/**
@@ -1669,14 +1671,14 @@ gs_app_add_related (GsApp *app, GsApp *app2)
key = g_strdup_printf ("%s-%s",
gs_app_get_id (app2),
gs_app_get_source_default (app2));
- found = g_hash_table_lookup (app->priv->related_hash, key);
+ found = g_hash_table_lookup (APP_PRIV (app)->related_hash, key);
if (found != NULL) {
g_debug ("Already added %s as a related item", key);
g_free (key);
return;
}
- g_hash_table_insert (app->priv->related_hash, key, GINT_TO_POINTER (1));
- g_ptr_array_add (app->priv->related, g_object_ref (app2));
+ g_hash_table_insert (APP_PRIV (app)->related_hash, key, GINT_TO_POINTER (1));
+ g_ptr_array_add (APP_PRIV (app)->related, g_object_ref (app2));
}
/**
@@ -1686,7 +1688,7 @@ GPtrArray *
gs_app_get_history (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->history;
+ return APP_PRIV (app)->history;
}
/**
@@ -1696,21 +1698,21 @@ void
gs_app_add_history (GsApp *app, GsApp *app2)
{
g_return_if_fail (GS_IS_APP (app));
- g_ptr_array_add (app->priv->history, g_object_ref (app2));
+ g_ptr_array_add (APP_PRIV (app)->history, g_object_ref (app2));
}
guint64
gs_app_get_install_date (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), 0);
- return app->priv->install_date;
+ return APP_PRIV (app)->install_date;
}
void
gs_app_set_install_date (GsApp *app, guint64 install_date)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->install_date = install_date;
+ APP_PRIV (app)->install_date = install_date;
}
/**
@@ -1720,7 +1722,7 @@ GPtrArray *
gs_app_get_categories (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->categories;
+ return APP_PRIV (app)->categories;
}
/**
@@ -1735,8 +1737,8 @@ gs_app_has_category (GsApp *app, const gchar *category)
g_return_val_if_fail (GS_IS_APP (app), FALSE);
/* find the category */
- for (i = 0; i < app->priv->categories->len; i++) {
- tmp = g_ptr_array_index (app->priv->categories, i);
+ for (i = 0; i < APP_PRIV (app)->categories->len; i++) {
+ tmp = g_ptr_array_index (APP_PRIV (app)->categories, i);
if (g_strcmp0 (tmp, category) == 0)
return TRUE;
}
@@ -1751,9 +1753,9 @@ gs_app_set_categories (GsApp *app, GPtrArray *categories)
{
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (categories != NULL);
- if (app->priv->categories != NULL)
- g_ptr_array_unref (app->priv->categories);
- app->priv->categories = g_ptr_array_ref (categories);
+ if (APP_PRIV (app)->categories != NULL)
+ g_ptr_array_unref (APP_PRIV (app)->categories);
+ APP_PRIV (app)->categories = g_ptr_array_ref (categories);
}
/**
@@ -1764,7 +1766,7 @@ gs_app_add_category (GsApp *app, const gchar *category)
{
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (category != NULL);
- g_ptr_array_add (app->priv->categories, g_strdup (category));
+ g_ptr_array_add (APP_PRIV (app)->categories, g_strdup (category));
}
/**
@@ -1774,7 +1776,7 @@ GPtrArray *
gs_app_get_keywords (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), NULL);
- return app->priv->keywords;
+ return APP_PRIV (app)->keywords;
}
/**
@@ -1785,9 +1787,9 @@ gs_app_set_keywords (GsApp *app, GPtrArray *keywords)
{
g_return_if_fail (GS_IS_APP (app));
g_return_if_fail (keywords != NULL);
- if (app->priv->keywords != NULL)
- g_ptr_array_unref (app->priv->keywords);
- app->priv->keywords = g_ptr_array_ref (keywords);
+ if (APP_PRIV (app)->keywords != NULL)
+ g_ptr_array_unref (APP_PRIV (app)->keywords);
+ APP_PRIV (app)->keywords = g_ptr_array_ref (keywords);
}
/**
@@ -1797,7 +1799,7 @@ void
gs_app_add_kudo (GsApp *app, GsAppKudo kudo)
{
g_return_if_fail (GS_IS_APP (app));
- app->priv->kudos |= kudo;
+ APP_PRIV (app)->kudos |= kudo;
}
/**
@@ -1807,7 +1809,7 @@ guint64
gs_app_get_kudos (GsApp *app)
{
g_return_val_if_fail (GS_IS_APP (app), 0);
- return app->priv->kudos;
+ return APP_PRIV (app)->kudos;
}
/**
@@ -1816,7 +1818,7 @@ gs_app_get_kudos (GsApp *app)
guint
gs_app_get_kudos_weight (GsApp *app)
{
- guint32 tmp = app->priv->kudos;
+ guint32 tmp = APP_PRIV (app)->kudos;
tmp = tmp - ((tmp >> 1) & 0x55555555);
tmp = (tmp & 0x33333333) + ((tmp >> 2) & 0x33333333);
return (((tmp + (tmp >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
@@ -1832,35 +1834,35 @@ gs_app_get_kudos_percentage (GsApp *app)
g_return_val_if_fail (GS_IS_APP (app), 0);
- if ((app->priv->kudos & GS_APP_KUDO_MY_LANGUAGE) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_MY_LANGUAGE) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_RECENT_RELEASE) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_RECENT_RELEASE) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_FEATURED_RECOMMENDED) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_FEATURED_RECOMMENDED) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_MODERN_TOOLKIT) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_MODERN_TOOLKIT) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_SEARCH_PROVIDER) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_SEARCH_PROVIDER) > 0)
percentage += 10;
- if ((app->priv->kudos & GS_APP_KUDO_INSTALLS_USER_DOCS) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_INSTALLS_USER_DOCS) > 0)
percentage += 10;
- if ((app->priv->kudos & GS_APP_KUDO_USES_NOTIFICATIONS) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_USES_NOTIFICATIONS) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_HAS_KEYWORDS) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_HAS_KEYWORDS) > 0)
percentage += 5;
- if ((app->priv->kudos & GS_APP_KUDO_USES_APP_MENU) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_USES_APP_MENU) > 0)
percentage += 10;
- if ((app->priv->kudos & GS_APP_KUDO_HAS_SCREENSHOTS) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_HAS_SCREENSHOTS) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_IBUS_HAS_SYMBOL) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_IBUS_HAS_SYMBOL) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_PERFECT_SCREENSHOTS) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_PERFECT_SCREENSHOTS) > 0)
percentage += 20;
- if ((app->priv->kudos & GS_APP_KUDO_HIGH_CONTRAST) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_HIGH_CONTRAST) > 0)
percentage += 20;
/* popular apps should be at *least* 50% */
- if ((app->priv->kudos & GS_APP_KUDO_POPULAR) > 0)
+ if ((APP_PRIV (app)->kudos & GS_APP_KUDO_POPULAR) > 0)
percentage = MAX (percentage, 50);
return MIN (percentage, 100);
@@ -1872,7 +1874,7 @@ gs_app_get_kudos_percentage (GsApp *app)
gboolean
gs_app_get_to_be_installed (GsApp *app)
{
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
return priv->to_be_installed;
}
@@ -1882,7 +1884,7 @@ gs_app_get_to_be_installed (GsApp *app)
void
gs_app_set_to_be_installed (GsApp *app, gboolean to_be_installed)
{
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
priv->to_be_installed = to_be_installed;
}
@@ -1901,8 +1903,8 @@ gs_app_subsume (GsApp *app, GsApp *other)
GList *keys;
GList *l;
GsApp *app_tmp;
- GsAppPrivate *priv2 = other->priv;
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
+ GsAppPrivate *priv2 = gs_app_get_instance_private (other);
guint i;
g_return_if_fail (GS_IS_APP (app));
@@ -1988,7 +1990,7 @@ static void
gs_app_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
GsApp *app = GS_APP (object);
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
switch (prop_id) {
case PROP_ID:
@@ -2162,33 +2164,34 @@ gs_app_class_init (GsAppClass *klass)
static void
gs_app_init (GsApp *app)
{
- app->priv = gs_app_get_instance_private (app);
- app->priv->rating = -1;
- app->priv->rating_confidence = -1;
- app->priv->rating_kind = GS_APP_RATING_KIND_UNKNOWN;
- app->priv->sources = g_ptr_array_new_with_free_func (g_free);
- app->priv->source_ids = g_ptr_array_new_with_free_func (g_free);
- app->priv->categories = g_ptr_array_new_with_free_func (g_free);
- app->priv->addons = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- app->priv->related = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- app->priv->history = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- app->priv->screenshots = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- app->priv->metadata = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- g_free);
- app->priv->addons_hash = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- NULL);
- app->priv->related_hash = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- NULL);
- app->priv->urls = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- g_free);
+ GsAppPrivate *priv = APP_PRIV (app);
+
+ priv->rating = -1;
+ priv->rating_confidence = -1;
+ priv->rating_kind = GS_APP_RATING_KIND_UNKNOWN;
+ priv->sources = g_ptr_array_new_with_free_func (g_free);
+ priv->source_ids = g_ptr_array_new_with_free_func (g_free);
+ priv->categories = g_ptr_array_new_with_free_func (g_free);
+ priv->addons = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ priv->related = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ priv->history = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ priv->screenshots = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ priv->metadata = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ g_free);
+ priv->addons_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ NULL);
+ priv->related_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ NULL);
+ priv->urls = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ g_free);
}
/**
@@ -2199,7 +2202,7 @@ static void
gs_app_finalize (GObject *object)
{
GsApp *app = GS_APP (object);
- GsAppPrivate *priv = app->priv;
+ GsAppPrivate *priv = APP_PRIV (app);
g_free (priv->id);
g_free (priv->name);
diff --git a/src/gs-app.h b/src/gs-app.h
index d0941b4..56761bb 100644
--- a/src/gs-app.h
+++ b/src/gs-app.h
@@ -41,7 +41,6 @@ typedef struct GsAppPrivate GsAppPrivate;
typedef struct
{
GObject parent;
- GsAppPrivate *priv;
} GsApp;
typedef struct
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]