backends: Manage MetaA11yManager in MetaBackend

The MetaBackend will own the MetaA11yManager, being actually
put to use in backend implementations.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4217>
This commit is contained in:
Lukáš Tyrychtr 2025-02-05 19:03:10 +01:00 committed by Marge Bot
parent c0c4524452
commit f4ce1e8a46
2 changed files with 21 additions and 0 deletions

View File

@ -28,6 +28,7 @@
#include "meta/meta-backend.h"
#include "meta/meta-idle-monitor.h"
#include "meta/meta-orientation-manager.h"
#include "backends/meta-a11y-manager.h"
#include "backends/meta-backend-types.h"
#include "backends/meta-cursor-renderer.h"
#include "backends/meta-egl.h"
@ -191,6 +192,8 @@ MetaScreenCast * meta_backend_get_screen_cast (MetaBackend *backend);
MetaInputCapture * meta_backend_get_input_capture (MetaBackend *backend);
MetaA11yManager * meta_backend_get_a11y_manager (MetaBackend *backend);
gboolean meta_backend_grab_device (MetaBackend *backend,
int device_id,
uint32_t timestamp);

View File

@ -52,6 +52,7 @@
#include <stdlib.h>
#include "backends/meta-a11y-manager.h"
#include "backends/meta-barrier-private.h"
#include "backends/meta-color-manager-private.h"
#include "backends/meta-cursor-renderer.h"
@ -169,6 +170,7 @@ struct _MetaBackendPrivate
MetaRemoteDesktop *remote_desktop;
#endif
MetaInputCapture *input_capture;
MetaA11yManager *a11y_manager;
#ifdef HAVE_LIBWACOM
WacomDeviceDatabase *wacom_db;
@ -243,6 +245,7 @@ meta_backend_dispose (GObject *object)
g_clear_object (&priv->input_capture);
g_clear_object (&priv->dbus_session_watcher);
g_clear_object (&priv->remote_access_controller);
g_clear_object (&priv->a11y_manager);
g_clear_object (&priv->dnd);
g_clear_object (&priv->renderdoc);
@ -1444,6 +1447,8 @@ meta_backend_initable_init (GInitable *initable,
priv->remote_access_controller,
META_DBUS_SESSION_MANAGER (priv->input_capture));
priv->a11y_manager = meta_a11y_manager_new (backend);
if (!meta_monitor_manager_is_headless (priv->monitor_manager))
init_pointer_position (backend);
@ -1686,6 +1691,19 @@ meta_backend_get_remote_access_controller (MetaBackend *backend)
return priv->remote_access_controller;
}
/**
* meta_backend_get_a11y_manager:
*
* Returns: (transfer none): the #MetaA11yManager
*/
MetaA11yManager *
meta_backend_get_a11y_manager (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
return priv->a11y_manager;
}
/**
* meta_backend_is_rendering_hardware_accelerated:
* @backend: A #MetaBackend