tests/remote-desktop-utils: Allow screen cast only sessions
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3859>
This commit is contained in:
parent
92f6f2e8fd
commit
967be91c92
@ -468,24 +468,46 @@ session_start (Session *session)
|
|||||||
{
|
{
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
|
if (session->remote_desktop_session_proxy)
|
||||||
|
{
|
||||||
if (!meta_dbus_remote_desktop_session_call_start_sync (
|
if (!meta_dbus_remote_desktop_session_call_start_sync (
|
||||||
session->remote_desktop_session_proxy,
|
session->remote_desktop_session_proxy,
|
||||||
NULL,
|
NULL,
|
||||||
&error))
|
&error))
|
||||||
g_error ("Failed to start session: %s", error->message);
|
g_error ("Failed to start session: %s", error->message);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!meta_dbus_screen_cast_session_call_start_sync (
|
||||||
|
session->screen_cast_session_proxy,
|
||||||
|
NULL,
|
||||||
|
&error))
|
||||||
|
g_error ("Failed to start session: %s", error->message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
session_stop (Session *session)
|
session_stop (Session *session)
|
||||||
{
|
{
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
|
if (session->remote_desktop_session_proxy)
|
||||||
|
{
|
||||||
if (!meta_dbus_remote_desktop_session_call_stop_sync (
|
if (!meta_dbus_remote_desktop_session_call_stop_sync (
|
||||||
session->remote_desktop_session_proxy,
|
session->remote_desktop_session_proxy,
|
||||||
NULL,
|
NULL,
|
||||||
&error))
|
&error))
|
||||||
g_error ("Failed to stop session: %s", error->message);
|
g_error ("Failed to stop session: %s", error->message);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!meta_dbus_screen_cast_session_call_stop_sync (
|
||||||
|
session->screen_cast_session_proxy,
|
||||||
|
NULL,
|
||||||
|
&error))
|
||||||
|
g_error ("Failed to stop session: %s", error->message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Stream *
|
Stream *
|
||||||
session_record_virtual (Session *session,
|
session_record_virtual (Session *session,
|
||||||
@ -546,12 +568,14 @@ screen_cast_create_session (RemoteDesktop *remote_desktop,
|
|||||||
GVariantBuilder properties_builder;
|
GVariantBuilder properties_builder;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
g_autofree char *remote_desktop_session_path = NULL;
|
g_autofree char *remote_desktop_session_path = NULL;
|
||||||
MetaDBusRemoteDesktopSession *remote_desktop_session_proxy;
|
MetaDBusRemoteDesktopSession *remote_desktop_session_proxy = NULL;
|
||||||
g_autofree char *screen_cast_session_path = NULL;
|
g_autofree char *screen_cast_session_path = NULL;
|
||||||
MetaDBusScreenCastSession *screen_cast_session_proxy;
|
MetaDBusScreenCastSession *screen_cast_session_proxy;
|
||||||
const char *session_id;
|
const char *session_id = NULL;
|
||||||
Session *session;
|
Session *session;
|
||||||
|
|
||||||
|
if (remote_desktop)
|
||||||
|
{
|
||||||
if (!meta_dbus_remote_desktop_call_create_session_sync (
|
if (!meta_dbus_remote_desktop_call_create_session_sync (
|
||||||
remote_desktop->proxy,
|
remote_desktop->proxy,
|
||||||
&remote_desktop_session_path,
|
&remote_desktop_session_path,
|
||||||
@ -573,11 +597,16 @@ screen_cast_create_session (RemoteDesktop *remote_desktop,
|
|||||||
session_id =
|
session_id =
|
||||||
meta_dbus_remote_desktop_session_get_session_id (
|
meta_dbus_remote_desktop_session_get_session_id (
|
||||||
remote_desktop_session_proxy);
|
remote_desktop_session_proxy);
|
||||||
|
}
|
||||||
|
|
||||||
g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}"));
|
g_variant_builder_init (&properties_builder, G_VARIANT_TYPE ("a{sv}"));
|
||||||
|
|
||||||
|
if (session_id)
|
||||||
|
{
|
||||||
g_variant_builder_add (&properties_builder, "{sv}",
|
g_variant_builder_add (&properties_builder, "{sv}",
|
||||||
"remote-desktop-session-id",
|
"remote-desktop-session-id",
|
||||||
g_variant_new_string (session_id));
|
g_variant_new_string (session_id));
|
||||||
|
}
|
||||||
|
|
||||||
if (!meta_dbus_screen_cast_call_create_session_sync (
|
if (!meta_dbus_screen_cast_call_create_session_sync (
|
||||||
screen_cast->proxy,
|
screen_cast->proxy,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user