Browse Source

linux-capture: Add getter to screencast portal version

This will be used by the next commit to verify whether or not
to pass the restore token and persist mode options.
Georges Basile Stavracas Neto 4 years ago
parent
commit
8537c7593c
2 changed files with 17 additions and 0 deletions
  1. 16 0
      plugins/linux-capture/portal.c
  2. 1 0
      plugins/linux-capture/portal.h

+ 16 - 0
plugins/linux-capture/portal.c

@@ -73,6 +73,22 @@ uint32_t portal_get_available_capture_types(void)
 	return available_source_types;
 }
 
+uint32_t portal_get_screencast_version(void)
+{
+	g_autoptr(GVariant) cached_version = NULL;
+	uint32_t version;
+
+	ensure_proxy();
+
+	if (!proxy)
+		return 0;
+
+	cached_version = g_dbus_proxy_get_cached_property(proxy, "version");
+	version = cached_version ? g_variant_get_uint32(cached_version) : 0;
+
+	return version;
+}
+
 GDBusConnection *portal_get_dbus_connection(void)
 {
 	ensure_proxy();

+ 1 - 0
plugins/linux-capture/portal.h

@@ -24,6 +24,7 @@
 #include <gio/gio.h>
 
 uint32_t portal_get_available_capture_types(void);
+uint32_t portal_get_screencast_version(void);
 
 GDBusConnection *portal_get_dbus_connection(void);
 GDBusProxy *portal_get_dbus_proxy(void);