[ostree/wip/anaconda: 2/6] libostree: Add ostree_bootconfig_parser_clone()
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree/wip/anaconda: 2/6] libostree: Add ostree_bootconfig_parser_clone()
- Date: Wed, 19 Mar 2014 13:50:19 +0000 (UTC)
commit 606918e76339b6c62a06b04c6e8647345a24c692
Author: Colin Walters <walters verbum org>
Date: Mon Mar 17 19:21:05 2014 -0400
libostree: Add ostree_bootconfig_parser_clone()
This will be necessary to fix ostree_deployment_clone(), but is
potentially useful on its own for other consumers.
src/libostree/ostree-bootconfig-parser.c | 24 ++++++++++++++++++++++++
src/libostree/ostree-bootconfig-parser.h | 2 ++
2 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/src/libostree/ostree-bootconfig-parser.c b/src/libostree/ostree-bootconfig-parser.c
index e660685..f002a18 100644
--- a/src/libostree/ostree-bootconfig-parser.c
+++ b/src/libostree/ostree-bootconfig-parser.c
@@ -38,6 +38,30 @@ typedef GObjectClass OstreeBootconfigParserClass;
G_DEFINE_TYPE (OstreeBootconfigParser, ostree_bootconfig_parser, G_TYPE_OBJECT)
+/**
+ * ostree_bootconfig_parser_clone:
+ * @self: Bootconfig to clone
+ *
+ * Returns: (transfer full): Copy of @self
+ */
+OstreeBootconfigParser *
+ostree_bootconfig_parser_clone (OstreeBootconfigParser *self)
+{
+ OstreeBootconfigParser *parser = ostree_bootconfig_parser_new ();
+ guint i;
+ GHashTableIter hashiter;
+ gpointer k, v;
+
+ for (i = 0; i < self->lines->len; i++)
+ g_ptr_array_add (parser->lines, g_variant_ref (self->lines->pdata[i]));
+
+ g_hash_table_iter_init (&hashiter, self->options);
+ while (g_hash_table_iter_next (&hashiter, &k, &v))
+ g_hash_table_replace (parser->options, g_strdup (k), g_strdup (v));
+
+ return parser;
+}
+
gboolean
ostree_bootconfig_parser_parse (OstreeBootconfigParser *self,
GFile *path,
diff --git a/src/libostree/ostree-bootconfig-parser.h b/src/libostree/ostree-bootconfig-parser.h
index 0761016..629d171 100644
--- a/src/libostree/ostree-bootconfig-parser.h
+++ b/src/libostree/ostree-bootconfig-parser.h
@@ -34,6 +34,8 @@ GType ostree_bootconfig_parser_get_type (void) G_GNUC_CONST;
OstreeBootconfigParser * ostree_bootconfig_parser_new (void);
+OstreeBootconfigParser * ostree_bootconfig_parser_clone (OstreeBootconfigParser *self);
+
gboolean ostree_bootconfig_parser_parse (OstreeBootconfigParser *self,
GFile *path,
GCancellable *cancellable,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]