Procházet zdrojové kódy

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 před 4 roky
rodič
revize
8537c7593c
2 změnil soubory, kde provedl 17 přidání a 0 odebrání
  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);