[gnome-builder] flatpak: include metadata with runtime information



commit 68b0bc23529bb7ab8ea6d3d6ad7a3f33a0b3e223
Author: Christian Hergert <chergert redhat com>
Date:   Fri Apr 30 16:39:16 2021 -0700

    flatpak: include metadata with runtime information

 src/plugins/flatpak/daemon/ipc-flatpak-service-impl.c            | 6 +++++-
 src/plugins/flatpak/daemon/org.gnome.Builder.Flatpak.Service.xml | 6 +++---
 2 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/plugins/flatpak/daemon/ipc-flatpak-service-impl.c 
b/src/plugins/flatpak/daemon/ipc-flatpak-service-impl.c
index a6594206e..61df9d61b 100644
--- a/src/plugins/flatpak/daemon/ipc-flatpak-service-impl.c
+++ b/src/plugins/flatpak/daemon/ipc-flatpak-service-impl.c
@@ -35,6 +35,7 @@ typedef struct
   gchar *branch;
   gchar *sdk_name;
   gchar *sdk_branch;
+  GBytes *metadata;
   gboolean sdk_extension : 1;
 } Runtime;
 
@@ -203,6 +204,7 @@ runtime_free (Runtime *runtime)
   g_clear_pointer (&runtime->branch, g_free);
   g_clear_pointer (&runtime->sdk_name, g_free);
   g_clear_pointer (&runtime->sdk_branch, g_free);
+  g_clear_pointer (&runtime->metadata, g_bytes_unref);
   g_slice_free (Runtime, runtime);
 }
 
@@ -218,12 +220,13 @@ runtime_equal (const Runtime *a,
 static GVariant *
 runtime_to_variant (const Runtime *runtime)
 {
-  return g_variant_take_ref (g_variant_new ("(sssssb)",
+  return g_variant_take_ref (g_variant_new ("(ssssssb)",
                                             runtime->name,
                                             runtime->arch,
                                             runtime->branch,
                                             runtime->sdk_name,
                                             runtime->sdk_branch,
+                                            (const char *)g_bytes_get_data (runtime->metadata, NULL),
                                             runtime->sdk_extension));
 }
 
@@ -326,6 +329,7 @@ install_reload (IpcFlatpakServiceImpl *self,
       state->sdk_name = g_strdup (flatpak_ref_get_name (sdk_ref));
       state->sdk_branch = g_strdup (flatpak_ref_get_branch (sdk_ref));
       state->sdk_extension = exten_of != NULL;
+      state->metadata = g_bytes_ref (bytes);
 
       add_runtime (self, g_steal_pointer (&state));
     }
diff --git a/src/plugins/flatpak/daemon/org.gnome.Builder.Flatpak.Service.xml 
b/src/plugins/flatpak/daemon/org.gnome.Builder.Flatpak.Service.xml
index d16a64a72..4f866678c 100644
--- a/src/plugins/flatpak/daemon/org.gnome.Builder.Flatpak.Service.xml
+++ b/src/plugins/flatpak/daemon/org.gnome.Builder.Flatpak.Service.xml
@@ -23,9 +23,9 @@
   <interface name="org.gnome.Builder.Flatpak.Service">
     <signal name="RuntimeAdded">
       <!--
-        Param is (name, arch, branch, sdk_name, sdk_branch, is_sdk_extension)
+        Param is (name, arch, branch, sdk_name, sdk_branch, metadata, is_sdk_extension)
       -->
-      <arg name="runtime" direction="in" type="(sssssb)"/>
+      <arg name="runtime" direction="in" type="(ssssssb)"/>
     </signal>
     <!--
       AddInstallation:
@@ -44,7 +44,7 @@
       Lists the available runtimes for use as development.
     -->
     <method name="ListRuntimes">
-      <arg name="runtimes" direction="out" type="a(sssssb)"/>
+      <arg name="runtimes" direction="out" type="a(ssssssb)"/>
     </method>
     <!--
       RuntimeIsKnown:


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