[gnome-software] trivial: Add metadata store to the GsReview object
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] trivial: Add metadata store to the GsReview object
- Date: Tue, 9 Feb 2016 18:59:45 +0000 (UTC)
commit f76869734f1380f56e89478a9db9ed9aad826525
Author: Richard Hughes <richard hughsie com>
Date: Tue Feb 9 18:58:35 2016 +0000
trivial: Add metadata store to the GsReview object
This lets us store plugin-specific data on the review itself.
src/gs-review.c | 24 ++++++++++++++++++++++++
src/gs-review.h | 6 ++++++
2 files changed, 30 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-review.c b/src/gs-review.c
index 56df9c2..14a4a50 100644
--- a/src/gs-review.c
+++ b/src/gs-review.c
@@ -36,6 +36,7 @@ struct _GsReview
gchar *version;
gchar *reviewer;
GDateTime *date;
+ GHashTable *metadata;
};
enum {
@@ -242,6 +243,26 @@ gs_review_set_date (GsReview *review, GDateTime *date)
review->date = g_date_time_ref (date);
}
+/**
+ * gs_review_get_metadata_item:
+ */
+const gchar *
+gs_review_get_metadata_item (GsReview *review, const gchar *key)
+{
+ g_return_val_if_fail (GS_IS_REVIEW (review), NULL);
+ return g_hash_table_lookup (review->metadata, key);
+}
+
+/**
+ * gs_review_add_metadata:
+ */
+void
+gs_review_add_metadata (GsReview *review, const gchar *key, const gchar *value)
+{
+ g_return_if_fail (GS_IS_REVIEW (review));
+ g_hash_table_insert (review->metadata, g_strdup (key), g_strdup (value));
+}
+
static void
gs_review_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
@@ -334,6 +355,7 @@ gs_review_finalize (GObject *object)
g_free (review->summary);
g_free (review->text);
g_free (review->reviewer);
+ g_hash_table_unref (review->metadata);
G_OBJECT_CLASS (gs_review_parent_class)->finalize (object);
}
@@ -419,6 +441,8 @@ static void
gs_review_init (GsReview *review)
{
review->rating = -1;
+ review->metadata = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, g_free);
}
/**
diff --git a/src/gs-review.h b/src/gs-review.h
index 7039261..21aac5e 100644
--- a/src/gs-review.h
+++ b/src/gs-review.h
@@ -83,6 +83,12 @@ GsReviewState gs_review_get_state (GsReview *review);
void gs_review_set_state (GsReview *review,
GsReviewState state);
+const gchar *gs_review_get_metadata_item (GsReview *review,
+ const gchar *key);
+void gs_review_add_metadata (GsReview *review,
+ const gchar *key,
+ const gchar *value);
+
G_END_DECLS
#endif /* __GS_REVIEW_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]