[gnome-software] Add install date to GsApp



commit 498b6e7e64b31c4413af2287b4c007a9ad3a6815
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Aug 26 23:58:20 2013 -0400

    Add install date to GsApp
    
    This will be used in sorting installed applications.
    We don't have any plugins that fill it in yet.

 src/gs-app.c |   29 ++++++++++++++++++++++++++++-
 src/gs-app.h |    3 +++
 2 files changed, 31 insertions(+), 1 deletions(-)
---
diff --git a/src/gs-app.c b/src/gs-app.c
index 88cdf6c..b0b95e8 100644
--- a/src/gs-app.c
+++ b/src/gs-app.c
@@ -42,7 +42,8 @@ struct GsAppPrivate
        GHashTable              *metadata;
        GdkPixbuf               *pixbuf;
        GdkPixbuf               *featured_pixbuf;
-       GPtrArray               *related; /* of GsApp */
+        GPtrArray              *related; /* of GsApp */
+        guint64                  install_date;
 };
 
 enum {
@@ -57,6 +58,7 @@ enum {
        PROP_RATING,
        PROP_KIND,
        PROP_STATE,
+        PROP_INSTALL_DATE,
        PROP_LAST
 };
 
@@ -415,6 +417,20 @@ gs_app_add_related (GsApp *app, GsApp *app2)
        g_ptr_array_add (app->priv->related, 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;
+}
+
+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;
+}
+
 /**
  * gs_app_get_property:
  */
@@ -455,6 +471,9 @@ gs_app_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *
        case PROP_STATE:
                g_value_set_uint (value, priv->state);
                break;
+       case PROP_INSTALL_DATE:
+               g_value_set_uint64 (value, priv->install_date);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                break;
@@ -500,6 +519,9 @@ gs_app_set_property (GObject *object, guint prop_id, const GValue *value, GParam
        case PROP_STATE:
                gs_app_set_state (app, g_value_get_uint (value));
                break;
+       case PROP_INSTALL_DATE:
+               gs_app_set_install_date (app, g_value_get_uint64 (value));
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                break;
@@ -597,6 +619,11 @@ gs_app_class_init (GsAppClass *klass)
                                   G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
        g_object_class_install_property (object_class, PROP_STATE, pspec);
 
+       pspec = g_param_spec_uint64 ("install-date", NULL, NULL,
+                                    0, G_MAXUINT64, 0,
+                                    G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+       g_object_class_install_property (object_class, PROP_INSTALL_DATE, pspec);
+
        signals [SIGNAL_STATE_CHANGED] =
                g_signal_new ("state-changed",
                              G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
diff --git a/src/gs-app.h b/src/gs-app.h
index e0cd3e3..1f0ebe6 100644
--- a/src/gs-app.h
+++ b/src/gs-app.h
@@ -121,5 +121,8 @@ void                 gs_app_set_rating              (GsApp          *app,
 GPtrArray      *gs_app_get_related             (GsApp          *app);
 void            gs_app_add_related             (GsApp          *app,
                                                 GsApp          *app2);
+guint64          gs_app_get_install_date        (GsApp          *app);
+void             gs_app_set_install_date        (GsApp          *app,
+                                                 guint64         install_date);
 
 #endif /* __GS_APP_H */


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