[grilo] core: Add the 'favourite' metadata property



commit 47dc2a401577edf80b3521dff478c2aa687c38ba
Author: AntÃa Puentes <apuentes igalia com>
Date:   Wed Oct 10 12:17:35 2012 +0200

    core: Add the 'favourite' metadata property
    
    The new property indicates if an item was marked as
    favourite or not.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=685861

 src/data/grl-media.c   |   29 +++++++++++++++++++++++++++++
 src/data/grl-media.h   |    4 ++++
 src/grl-metadata-key.c |    9 +++++++++
 src/grl-metadata-key.h |    1 +
 4 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/src/data/grl-media.c b/src/data/grl-media.c
index 8672c6f..2155032 100644
--- a/src/data/grl-media.c
+++ b/src/data/grl-media.c
@@ -881,6 +881,22 @@ grl_media_set_license (GrlMedia *media, const gchar *license)
 }
 
 /**
+ * grl_media_set_favourite:
+ * @media: a media
+ * @favourite: whether the item is favourite or not
+ *
+ * Set if the media is favourite or not
+ *
+ */
+void
+grl_media_set_favourite (GrlMedia *media, gboolean favourite)
+{
+  grl_data_set_boolean (GRL_DATA (media),
+                        GRL_METADATA_KEY_FAVOURITE,
+                        favourite);
+}
+
+/**
  * grl_media_get_id:
  * @media: the media object
  *
@@ -1393,3 +1409,16 @@ grl_media_get_start_time (GrlMedia *media)
 {
   return grl_data_get_float (GRL_DATA (media), GRL_METADATA_KEY_START_TIME);
 }
+
+/**
+ * grl_media_get_favourite:
+ * @media: the media object
+ *
+ * Returns: whether the media is favourite or not
+ *
+ */
+gboolean
+grl_media_get_favourite (GrlMedia *media)
+{
+  return grl_data_get_boolean (GRL_DATA (media), GRL_METADATA_KEY_FAVOURITE);
+}
diff --git a/src/data/grl-media.h b/src/data/grl-media.h
index 96fc20c..246b5f2 100644
--- a/src/data/grl-media.h
+++ b/src/data/grl-media.h
@@ -149,6 +149,8 @@ void grl_media_set_rating (GrlMedia *media, gfloat rating, gfloat max);
 
 void grl_media_set_url_data (GrlMedia *media, const gchar *url, const gchar *mime);
 
+void grl_media_set_favourite (GrlMedia *media, gboolean favourite);
+
 void grl_media_add_url_data (GrlMedia *media, const gchar *url, const gchar *mime);
 
 void grl_media_add_author (GrlMedia *media, const gchar *author);
@@ -223,6 +225,8 @@ const gchar *grl_media_get_license (GrlMedia *media);
 
 gfloat grl_media_get_start_time (GrlMedia *media);
 
+gboolean grl_media_get_favourite (GrlMedia *media);
+
 GType grl_media_get_type (void) G_GNUC_CONST;
 
 GrlMedia *grl_media_new (void);
diff --git a/src/grl-metadata-key.c b/src/grl-metadata-key.c
index a8d5075..4cf06b9 100644
--- a/src/grl-metadata-key.c
+++ b/src/grl-metadata-key.c
@@ -448,6 +448,15 @@ grl_metadata_key_setup_system_keys (GrlRegistry *registry)
                                            GRL_METADATA_KEY_START_TIME,
                                            NULL);
 
+  grl_registry_register_metadata_key_full (registry,
+                                           g_param_spec_boolean ("favourite",
+                                                                 "Favourite",
+                                                                 "Whether or not the element was marked as favourite",
+                                                                 FALSE,
+                                                                 G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
+                                           GRL_METADATA_KEY_FAVOURITE,
+                                           NULL);
+
   /* Create the relations */
   grl_registry_register_metadata_key_relation (registry,
                                                GRL_METADATA_KEY_URL,
diff --git a/src/grl-metadata-key.h b/src/grl-metadata-key.h
index cf09add..0109c9b 100644
--- a/src/grl-metadata-key.h
+++ b/src/grl-metadata-key.h
@@ -89,6 +89,7 @@ typedef guint32 GrlKeyID;
 #define GRL_METADATA_KEY_TRACK_NUMBER         40
 #define GRL_METADATA_KEY_MODIFICATION_DATE    41
 #define GRL_METADATA_KEY_START_TIME           42
+#define GRL_METADATA_KEY_FAVOURITE            43
 
 G_BEGIN_DECLS
 



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