diff --git a/.github/workflows/symbols-check.yml b/.github/workflows/symbols-check.yml
index 0b8d67d3836..f36090d6b6e 100644
--- a/.github/workflows/symbols-check.yml
+++ b/.github/workflows/symbols-check.yml
@@ -41,4 +41,5 @@ jobs:
RET=0
cmake --build build --target check-miral-symbols-map || RET=$?
cmake --build build --target check-miroil-symbols-map || RET=$?
+ cmake --build build --target check-mirserver-symbols-map || RET=$?
exit $RET
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dbb579c6071..bf431169c6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,8 +25,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(MIR_VERSION_MAJOR 2)
-set(MIR_VERSION_MINOR 16)
-set(MIR_VERSION_PATCH 4)
+set(MIR_VERSION_MINOR 17)
+set(MIR_VERSION_PATCH 0)
add_compile_definitions(MIR_VERSION_MAJOR=${MIR_VERSION_MAJOR})
add_compile_definitions(MIR_VERSION_MINOR=${MIR_VERSION_MINOR})
diff --git a/debian/control b/debian/control
index 1f68270160a..b5a66acec71 100644
--- a/debian/control
+++ b/debian/control
@@ -63,7 +63,7 @@ Vcs-Git: https://github.com/MirServer/mir
#TODO: Packaging infrastructure for better dependency generation,
# ala pkg-xorg's xviddriver:Provides and ABI detection.
-Package: libmirserver60
+Package: libmirserver61
Section: libs
Architecture: linux-any
Multi-Arch: same
@@ -142,7 +142,7 @@ Section: libdevel
Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
-Depends: libmirserver60 (= ${binary:Version}),
+Depends: libmirserver61 (= ${binary:Version}),
libmirplatform-dev (= ${binary:Version}),
libmircommon-dev (= ${binary:Version}),
libglm-dev,
@@ -154,6 +154,26 @@ Description: Display server for Ubuntu - development headers
.
Contains header files required to build Mir servers.
+Package: libmirserver-internal-dev
+Section: libdevel
+Architecture: linux-any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libmirserver61 (= ${binary:Version}),
+ libmirplatform-dev (= ${binary:Version}),
+ libmircommon-dev (= ${binary:Version}),
+ libmircore-dev (= ${binary:Version}),
+ libmirserver-dev (= ${binary:Version}),
+ libglm-dev,
+ uuid-dev,
+ ${misc:Depends},
+Description: Display server for Ubuntu - internal development headers
+ Mir is a display server running on linux systems, with a focus on efficiency,
+ robust operation and a well-defined driver model.
+ .
+ This package contains internal headers with no stability guarantee, for servers
+ that wish to use functionality for which no public API exists yet.
+
Package: mirtest-dev
Section: libdevel
Architecture: linux-any
diff --git a/debian/libmirserver-internal-dev.install b/debian/libmirserver-internal-dev.install
new file mode 100644
index 00000000000..9562ee20be4
--- /dev/null
+++ b/debian/libmirserver-internal-dev.install
@@ -0,0 +1,2 @@
+usr/include/mirserver-internal
+usr/lib/*/pkgconfig/mirserver-internal.pc
\ No newline at end of file
diff --git a/debian/libmirserver60.install b/debian/libmirserver60.install
deleted file mode 100644
index 724289fcc94..00000000000
--- a/debian/libmirserver60.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/libmirserver.so.60
diff --git a/debian/libmirserver61.install b/debian/libmirserver61.install
new file mode 100644
index 00000000000..0e7379ba642
--- /dev/null
+++ b/debian/libmirserver61.install
@@ -0,0 +1 @@
+usr/lib/*/libmirserver.so.61
diff --git a/src/include/server/mir/input/legacy_input_dispatchable.h b/src/include/server/mir/input/legacy_input_dispatchable.h
deleted file mode 100644
index 589920a3fe8..00000000000
--- a/src/include/server/mir/input/legacy_input_dispatchable.h
+++ /dev/null
@@ -1,36 +0,0 @@
- /*
- * Copyright © Canonical Ltd.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 or 3 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef MIR_INPUT_LEGACY_INPUT_DISPATCHABLE_H_
-#define MIR_INPUT_LEGACY_INPUT_DISPATCHABLE_H_
-
-#include "mir/dispatch/dispatchable.h"
-
-namespace mir
-{
-namespace input
-{
-
-struct LegacyInputDispatchable : mir::dispatch::Dispatchable
-{
- virtual void start() = 0;
-};
-
-}
-}
-
-#endif
-
diff --git a/src/include/server/mir/shell/surface_ready_observer.h b/src/include/server/mir/shell/surface_ready_observer.h
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
index a3b10a80b26..9fda33ee171 100644
--- a/src/server/CMakeLists.txt
+++ b/src/server/CMakeLists.txt
@@ -36,6 +36,12 @@ configure_file(
@ONLY
)
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/mirserver-internal.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/mirserver-internal.pc
+ @ONLY
+)
+
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
${PROJECT_SOURCE_DIR}/include/server/mir/version.h
@@ -154,8 +160,11 @@ install(DIRECTORY
install(DIRECTORY
${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/mirserver"
)
+install(DIRECTORY
+ ${CMAKE_SOURCE_DIR}/src/include/server/mir DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/mirserver-internal"
+)
-set(MIRSERVER_ABI 60) # Be sure to increment MIR_VERSION_MINOR at the same time
+set(MIRSERVER_ABI 61) # Be sure to increment MIR_VERSION_MINOR at the same time
set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
set_target_properties(
@@ -170,3 +179,33 @@ set_target_properties(
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mirserver.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mirserver-internal.pc
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+)
+
+add_custom_target(
+ generate-mirserver-symbols-map
+ COMMAND ${PROJECT_SOURCE_DIR}/tools/symbols_map_generator/main.py
+ --library-name mir_server
+ --version ${MIR_VERSION_MAJOR}.${MIR_VERSION_MINOR}
+ --symbols-map-path="${CMAKE_CURRENT_SOURCE_DIR}/symbols.map"
+ --internal-headers-directory="${PROJECT_SOURCE_DIR}/src/include/server"
+ --include-dirs="$,:>"
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
+
+add_custom_target(
+ check-mirserver-symbols-map
+ COMMAND ${PROJECT_SOURCE_DIR}/tools/symbols_map_generator/main.py
+ --library-name mir_server
+ --version ${MIR_VERSION_MAJOR}.${MIR_VERSION_MINOR}
+ --symbols-map-path="${CMAKE_CURRENT_SOURCE_DIR}/symbols.map"
+ --internal-headers-directory="${PROJECT_SOURCE_DIR}/src/include/server"
+ --include-dirs "$,:>"
+ --diff
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}")
+
+add_custom_target(regenerate-mirserver-internal-debian-symbols
+ COMMAND ${PROJECT_SOURCE_DIR}/tools/symbols_map_generator/run.sh --library mir_server_internal --version ${MIR_VERSION_MAJOR}.${MIR_VERSION_MINOR} --output_symbols
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ VERBATIM)
diff --git a/src/server/mirserver-internal.pc.in b/src/server/mirserver-internal.pc.in
new file mode 100644
index 00000000000..03c1247756f
--- /dev/null
+++ b/src/server/mirserver-internal.pc.in
@@ -0,0 +1,8 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+includedir=@PKGCONFIG_INCLUDEDIR@/mirserver-internal
+
+Name: mirserver-internal
+Description: Mir server internal headers
+Version: @MIR_VERSION@
+Requires: mirserver mircommon mirplatform mircore
+Cflags: -I${includedir}
diff --git a/src/server/symbols.map b/src/server/symbols.map
index b01b6abec4a..4430311d6b9 100644
--- a/src/server/symbols.map
+++ b/src/server/symbols.map
@@ -1,51 +1,52 @@
-MIR_SERVER_2.17 {
- global:
+MIR_SERVER_INTERNAL_2.17 {
+global:
extern "C++" {
VTT?for?mir::DefaultServerConfiguration;
- VTT?for?mir::scene::ApplicationNotRespondingDetectorWrapper;
+ VTT?for?mir::DefaultServerStatusListener;
+ VTT?for?mir::shell::AbstractShell;
+ VTT?for?mir::shell::Shell;
VTT?for?mir::shell::ShellWrapper;
- VTT?for?mir::shell::SystemCompositorWindowManager;
+ mir::BasicCallback::BasicCallback*;
+ mir::BasicCallback::lock*;
+ mir::BasicCallback::operator*;
+ mir::BasicCallback::unlock*;
mir::DefaultServerConfiguration::DefaultServerConfiguration*;
mir::DefaultServerConfiguration::add_wayland_extension*;
mir::DefaultServerConfiguration::default_reports*;
- mir::DefaultServerConfiguration::new_ipc_factory*;
mir::DefaultServerConfiguration::set_enabled_wayland_extensions*;
mir::DefaultServerConfiguration::set_wayland_extension_filter*;
mir::DefaultServerConfiguration::the_application_not_responding_detector*;
mir::DefaultServerConfiguration::the_buffer_allocator*;
mir::DefaultServerConfiguration::the_buffer_stream_factory*;
- mir::DefaultServerConfiguration::the_clipboard*;
mir::DefaultServerConfiguration::the_clock*;
mir::DefaultServerConfiguration::the_composite_event_filter*;
mir::DefaultServerConfiguration::the_compositor*;
mir::DefaultServerConfiguration::the_compositor_report*;
- mir::DefaultServerConfiguration::the_connection_creator*;
- mir::DefaultServerConfiguration::the_connector*;
- mir::DefaultServerConfiguration::the_connector_report*;
mir::DefaultServerConfiguration::the_console_services*;
- mir::DefaultServerConfiguration::the_coordinate_translator*;
mir::DefaultServerConfiguration::the_cursor*;
mir::DefaultServerConfiguration::the_cursor_images*;
mir::DefaultServerConfiguration::the_cursor_listener*;
mir::DefaultServerConfiguration::the_decoration_manager*;
mir::DefaultServerConfiguration::the_default_cursor_image*;
+ mir::DefaultServerConfiguration::the_default_input_device_hub*;
mir::DefaultServerConfiguration::the_display*;
mir::DefaultServerConfiguration::the_display_buffer_compositor_factory*;
mir::DefaultServerConfiguration::the_display_changer*;
mir::DefaultServerConfiguration::the_display_configuration_controller*;
+ mir::DefaultServerConfiguration::the_display_configuration_observer*;
+ mir::DefaultServerConfiguration::the_display_configuration_observer_registrar*;
mir::DefaultServerConfiguration::the_display_configuration_policy*;
mir::DefaultServerConfiguration::the_display_platforms*;
mir::DefaultServerConfiguration::the_display_report*;
+ mir::DefaultServerConfiguration::the_drag_icon_controller*;
mir::DefaultServerConfiguration::the_emergency_cleanup*;
mir::DefaultServerConfiguration::the_event_filter_chain_dispatcher*;
mir::DefaultServerConfiguration::the_fatal_error_strategy*;
+ mir::DefaultServerConfiguration::the_focus_controller*;
mir::DefaultServerConfiguration::the_frontend_display_changer*;
mir::DefaultServerConfiguration::the_frontend_surface_stack*;
mir::DefaultServerConfiguration::the_gl_config*;
- mir::DefaultServerConfiguration::the_host_connection*;
- mir::DefaultServerConfiguration::the_host_lifecycle_event_listener*;
mir::DefaultServerConfiguration::the_idle_handler*;
- mir::DefaultServerConfiguration::the_session_lock*;
mir::DefaultServerConfiguration::the_idle_hub*;
mir::DefaultServerConfiguration::the_input_device_hub*;
mir::DefaultServerConfiguration::the_input_device_registry*;
@@ -58,14 +59,13 @@ MIR_SERVER_2.17 {
mir::DefaultServerConfiguration::the_key_mapper*;
mir::DefaultServerConfiguration::the_keyboard_observer_registrar*;
mir::DefaultServerConfiguration::the_logger*;
+ mir::DefaultServerConfiguration::the_main_clipboard*;
mir::DefaultServerConfiguration::the_main_loop*;
mir::DefaultServerConfiguration::the_mediating_display_changer*;
- mir::DefaultServerConfiguration::the_message_processor_report*;
mir::DefaultServerConfiguration::the_options*;
mir::DefaultServerConfiguration::the_persistent_surface_store*;
- mir::DefaultServerConfiguration::the_pixel_buffer*;
- mir::DefaultServerConfiguration::the_prompt_connection_creator*;
- mir::DefaultServerConfiguration::the_prompt_connector*;
+ mir::DefaultServerConfiguration::the_pointer_input_dispatcher*;
+ mir::DefaultServerConfiguration::the_primary_selection_clipboard*;
mir::DefaultServerConfiguration::the_prompt_session_listener*;
mir::DefaultServerConfiguration::the_prompt_session_manager*;
mir::DefaultServerConfiguration::the_renderer_factory*;
@@ -73,8 +73,8 @@ MIR_SERVER_2.17 {
mir::DefaultServerConfiguration::the_scene*;
mir::DefaultServerConfiguration::the_scene_report*;
mir::DefaultServerConfiguration::the_screen_shooter*;
- mir::DefaultServerConfiguration::the_screencast*;
mir::DefaultServerConfiguration::the_seat*;
+ mir::DefaultServerConfiguration::the_seat_observer*;
mir::DefaultServerConfiguration::the_seat_observer_registrar*;
mir::DefaultServerConfiguration::the_server_action_queue*;
mir::DefaultServerConfiguration::the_server_status_listener*;
@@ -84,12 +84,11 @@ MIR_SERVER_2.17 {
mir::DefaultServerConfiguration::the_session_event_handler_register*;
mir::DefaultServerConfiguration::the_session_event_sink*;
mir::DefaultServerConfiguration::the_session_listener*;
- mir::DefaultServerConfiguration::the_session_mediator_observer_registrar*;
+ mir::DefaultServerConfiguration::the_session_lock*;
mir::DefaultServerConfiguration::the_shared_library_prober_report*;
mir::DefaultServerConfiguration::the_shell*;
mir::DefaultServerConfiguration::the_shell_display_layout*;
mir::DefaultServerConfiguration::the_shell_report*;
- mir::DefaultServerConfiguration::the_snapshot_strategy*;
mir::DefaultServerConfiguration::the_stop_callback*;
mir::DefaultServerConfiguration::the_surface_factory*;
mir::DefaultServerConfiguration::the_surface_input_dispatcher*;
@@ -106,10 +105,43 @@ MIR_SERVER_2.17 {
mir::DefaultServerConfiguration::wrap_display_configuration_policy*;
mir::DefaultServerConfiguration::wrap_shell*;
mir::DefaultServerConfiguration::wrap_surface_stack*;
- mir::Executor::?Executor*;
+ mir::DefaultServerStatusListener::paused*;
+ mir::DefaultServerStatusListener::ready_for_user_input*;
+ mir::DefaultServerStatusListener::resumed*;
+ mir::DefaultServerStatusListener::started*;
+ mir::DefaultServerStatusListener::stop_receiving_input*;
+ mir::DisplayChanger::?DisplayChanger*;
+ mir::DisplayChanger::DisplayChanger*;
+ mir::DisplayChanger::operator*;
+ mir::DisplayServer::?DisplayServer*;
+ mir::DisplayServer::DisplayServer*;
+ mir::DisplayServer::run*;
+ mir::DisplayServer::stop*;
+ mir::GLibMainLoop::GLibMainLoop*;
+ mir::GLibMainLoop::create_alarm*;
+ mir::GLibMainLoop::enqueue*;
+ mir::GLibMainLoop::enqueue_with_guaranteed_execution*;
+ mir::GLibMainLoop::pause_processing_for*;
+ mir::GLibMainLoop::register_fd_handler*;
+ mir::GLibMainLoop::register_signal_handler*;
+ mir::GLibMainLoop::reprocess_all_sources*;
+ mir::GLibMainLoop::resume_processing_for*;
+ mir::GLibMainLoop::run*;
+ mir::GLibMainLoop::running*;
+ mir::GLibMainLoop::spawn*;
+ mir::GLibMainLoop::stop*;
+ mir::GLibMainLoop::unregister_fd_handler*;
mir::LockableCallback::?LockableCallback*;
mir::LockableCallback::LockableCallback*;
mir::LockableCallback::operator*;
+ mir::LockableCallbackWrapper::LockableCallbackWrapper*;
+ mir::LockableCallbackWrapper::lock*;
+ mir::LockableCallbackWrapper::operator*;
+ mir::LockableCallbackWrapper::unlock*;
+ mir::ObserverMultiplexer::empty*;
+ mir::ObserverMultiplexer::register_early_observer*;
+ mir::ObserverMultiplexer::register_interest*;
+ mir::ObserverMultiplexer::unregister_interest*;
mir::Server::Server*;
mir::Server::add_configuration_option*;
mir::Server::add_emergency_cleanup*;
@@ -120,18 +152,14 @@ MIR_SERVER_2.17 {
mir::Server::apply_settings*;
mir::Server::exited_normally*;
mir::Server::get_options*;
- mir::Server::mir_socket_name*;
- mir::Server::open_client_socket*;
mir::Server::open_client_wayland*;
mir::Server::open_prompt_socket*;
mir::Server::open_wayland_client_socket*;
mir::Server::override_the_application_not_responding_detector*;
mir::Server::override_the_compositor*;
- mir::Server::override_the_coordinate_translator*;
mir::Server::override_the_cursor_images*;
mir::Server::override_the_display_buffer_compositor_factory*;
mir::Server::override_the_gl_config*;
- mir::Server::override_the_host_lifecycle_event_listener*;
mir::Server::override_the_input_dispatcher*;
mir::Server::override_the_input_targeter*;
mir::Server::override_the_logger*;
@@ -144,6 +172,7 @@ MIR_SERVER_2.17 {
mir::Server::override_the_shell*;
mir::Server::override_the_window_manager_builder*;
mir::Server::run*;
+ mir::Server::run_on_wayland_display*;
mir::Server::set_command_line*;
mir::Server::set_command_line_handler*;
mir::Server::set_config_filename*;
@@ -166,13 +195,11 @@ MIR_SERVER_2.17 {
mir::Server::the_display_platforms*;
mir::Server::the_focus_controller*;
mir::Server::the_gl_config*;
- mir::Server::the_graphics_platform*;
mir::Server::the_input_device_hub*;
mir::Server::the_input_targeter*;
mir::Server::the_logger*;
mir::Server::the_main_loop*;
mir::Server::the_persistent_surface_store*;
- mir::Server::the_session_lock*;
mir::Server::the_prompt_session_listener*;
mir::Server::the_prompt_session_manager*;
mir::Server::the_rendering_platforms*;
@@ -180,7 +207,7 @@ MIR_SERVER_2.17 {
mir::Server::the_session_authorizer*;
mir::Server::the_session_coordinator*;
mir::Server::the_session_listener*;
- mir::Server::the_session_mediator_observer_registrar*;
+ mir::Server::the_session_lock*;
mir::Server::the_shell*;
mir::Server::the_shell_display_layout*;
mir::Server::the_surface_factory*;
@@ -198,11 +225,16 @@ MIR_SERVER_2.17 {
mir::ServerActionQueue::?ServerActionQueue*;
mir::ServerActionQueue::ServerActionQueue*;
mir::ServerActionQueue::operator*;
+ mir::ServerConfiguration::?ServerConfiguration*;
+ mir::ServerConfiguration::ServerConfiguration*;
+ mir::ServerConfiguration::operator*;
mir::ServerStatusListener::?ServerStatusListener*;
mir::ServerStatusListener::ServerStatusListener*;
mir::ServerStatusListener::operator*;
mir::check_for_termination_exception*;
mir::clear_termination_exception*;
+ mir::compositor::BufferStream::?BufferStream*;
+ mir::compositor::Compositor::?Compositor*;
mir::compositor::Compositor::Compositor*;
mir::compositor::Compositor::operator*;
mir::compositor::CompositorReport::?CompositorReport*;
@@ -217,22 +249,57 @@ MIR_SERVER_2.17 {
mir::compositor::DisplayListener::?DisplayListener*;
mir::compositor::DisplayListener::DisplayListener*;
mir::compositor::DisplayListener::operator*;
+ mir::compositor::Scene::?Scene*;
mir::compositor::Scene::Scene*;
mir::compositor::SceneElement::?SceneElement*;
mir::compositor::SceneElement::SceneElement*;
mir::compositor::SceneElement::operator*;
+ mir::compositor::ScreenShooter::?ScreenShooter*;
+ mir::compositor::ScreenShooter::ScreenShooter*;
+ mir::detail::FdSources::?FdSources*;
+ mir::detail::FdSources::FdSources*;
+ mir::detail::FdSources::add*;
+ mir::detail::FdSources::remove_all_owned_by*;
+ mir::detail::GMainContextHandle::?GMainContextHandle*;
+ mir::detail::GMainContextHandle::GMainContextHandle*;
+ mir::detail::GMainContextHandle::operator*;
+ mir::detail::GSourceHandle::?GSourceHandle*;
+ mir::detail::GSourceHandle::GSourceHandle*;
+ mir::detail::GSourceHandle::ensure_no_further_dispatch*;
+ mir::detail::GSourceHandle::operator*;
+ mir::detail::SignalSources::?SignalSources*;
+ mir::detail::SignalSources::SignalSources*;
+ mir::detail::SignalSources::add*;
+ mir::detail::add_idle_gsource*;
+ mir::detail::add_server_action_gsource*;
+ mir::detail::add_timer_gsource*;
mir::frontend::BufferSink::?BufferSink*;
mir::frontend::BufferSink::BufferSink*;
mir::frontend::BufferSink::operator*;
mir::frontend::BufferStream::?BufferStream*;
mir::frontend::BufferStream::BufferStream*;
mir::frontend::BufferStream::operator*;
+ mir::frontend::Connector::?Connector*;
+ mir::frontend::Connector::Connector*;
+ mir::frontend::Connector::operator*;
+ mir::frontend::DisplayChanger::?DisplayChanger*;
+ mir::frontend::DisplayChanger::DisplayChanger*;
+ mir::frontend::DisplayChanger::operator*;
+ mir::frontend::DragIconController::?DragIconController*;
+ mir::frontend::DragIconController::DragIconController*;
+ mir::frontend::DragIconController::operator*;
+ mir::frontend::EventSink::?EventSink*;
+ mir::frontend::EventSink::EventSink*;
+ mir::frontend::EventSink::operator*;
+ mir::frontend::InputConfigurationChanger::?InputConfigurationChanger*;
+ mir::frontend::InputConfigurationChanger::InputConfigurationChanger*;
+ mir::frontend::InputConfigurationChanger::operator*;
+ mir::frontend::PointerInputDispatcher::?PointerInputDispatcher*;
+ mir::frontend::PointerInputDispatcher::PointerInputDispatcher*;
+ mir::frontend::PointerInputDispatcher::operator*;
mir::frontend::PromptSession::?PromptSession*;
mir::frontend::PromptSession::PromptSession*;
mir::frontend::PromptSession::operator*;
- mir::frontend::Session::?Session*;
- mir::frontend::Session::Session*;
- mir::frontend::Session::operator*;
mir::frontend::SessionAuthorizer::?SessionAuthorizer*;
mir::frontend::SessionAuthorizer::SessionAuthorizer*;
mir::frontend::SessionAuthorizer::operator*;
@@ -243,16 +310,29 @@ MIR_SERVER_2.17 {
mir::frontend::Surface::?Surface*;
mir::frontend::Surface::Surface*;
mir::frontend::Surface::operator*;
+ mir::frontend::SurfaceStack::?SurfaceStack*;
+ mir::frontend::SurfaceStack::SurfaceStack*;
mir::frontend::get_session*;
mir::frontend::get_standard_extensions*;
mir::frontend::get_supported_extensions*;
mir::frontend::get_window*;
mir::graphics::CloneDisplayConfigurationPolicy::apply_to*;
+ mir::graphics::CloneDisplayConfigurationPolicy::confirm*;
mir::graphics::DisplayConfigurationObserver::?DisplayConfigurationObserver*;
mir::graphics::DisplayConfigurationObserver::DisplayConfigurationObserver*;
mir::graphics::DisplayConfigurationObserver::operator*;
+ mir::graphics::NullDisplayConfigurationObserver::base_configuration_updated*;
+ mir::graphics::NullDisplayConfigurationObserver::catastrophic_configuration_error*;
+ mir::graphics::NullDisplayConfigurationObserver::configuration_applied*;
+ mir::graphics::NullDisplayConfigurationObserver::configuration_failed*;
+ mir::graphics::NullDisplayConfigurationObserver::configuration_updated_for_session*;
+ mir::graphics::NullDisplayConfigurationObserver::initial_configuration*;
+ mir::graphics::NullDisplayConfigurationObserver::session_configuration_applied*;
+ mir::graphics::NullDisplayConfigurationObserver::session_configuration_removed*;
mir::graphics::SideBySideDisplayConfigurationPolicy::apply_to*;
+ mir::graphics::SideBySideDisplayConfigurationPolicy::confirm*;
mir::graphics::SingleDisplayConfigurationPolicy::apply_to*;
+ mir::graphics::SingleDisplayConfigurationPolicy::confirm*;
mir::input::CursorImages::?CursorImages*;
mir::input::CursorImages::CursorImages*;
mir::input::CursorImages::operator*;
@@ -271,9 +351,17 @@ MIR_SERVER_2.17 {
mir::input::InputDeviceObserver::InputDeviceObserver*;
mir::input::InputDeviceObserver::operator*;
mir::input::InputDispatcher::?InputDispatcher*;
+ mir::input::InputManager::?InputManager*;
mir::input::InputManager::InputManager*;
mir::input::InputManager::operator*;
- mir::input::ResyncKeyboardDispatcher*;
+ mir::input::KeyboardObserver::?KeyboardObserver*;
+ mir::input::KeyboardObserver::KeyboardObserver*;
+ mir::input::KeyboardObserver::operator*;
+ mir::input::Scene::?Scene*;
+ mir::input::Scene::Scene*;
+ mir::input::Scene::operator*;
+ mir::input::Seat::?Seat*;
+ mir::input::Seat::Seat*;
mir::input::SeatObserver::?SeatObserver*;
mir::input::Surface::?Surface*;
mir::input::Surface::Surface*;
@@ -281,7 +369,16 @@ MIR_SERVER_2.17 {
mir::input::TouchVisualizer::?TouchVisualizer*;
mir::input::TouchVisualizer::TouchVisualizer*;
mir::input::TouchVisualizer::operator*;
+ mir::input::VTFilter::?VTFilter*;
+ mir::input::VTFilter::VTFilter*;
+ mir::input::VTFilter::handle*;
+ mir::input::Validator::Validator*;
+ mir::input::Validator::validate_and_dispatch*;
+ mir::input::VirtualInputDevice::VirtualInputDevice*;
+ mir::input::VirtualInputDevice::if_started_then*;
mir::input::default_cursor_size*;
+ mir::input::input_platform_from_graphics_module*;
+ mir::input::probe_input_platforms*;
mir::report_exception*;
mir::run_mir*;
mir::scene::ApplicationNotRespondingDetector::?ApplicationNotRespondingDetector*;
@@ -298,10 +395,40 @@ MIR_SERVER_2.17 {
mir::scene::BufferStreamFactory::?BufferStreamFactory*;
mir::scene::BufferStreamFactory::BufferStreamFactory*;
mir::scene::BufferStreamFactory::operator*;
- mir::scene::CoordinateTranslator::?CoordinateTranslator*;
+ mir::scene::ClipboardObserver::?ClipboardObserver*;
+ mir::scene::ClipboardObserver::ClipboardObserver*;
+ mir::scene::DataExchangeSource::?DataExchangeSource*;
+ mir::scene::DataExchangeSource::DataExchangeSource*;
+ mir::scene::IdleHub::?IdleHub*;
+ mir::scene::IdleHub::IdleHub*;
+ mir::scene::IdleStateObserver::?IdleStateObserver*;
+ mir::scene::IdleStateObserver::IdleStateObserver*;
+ mir::scene::NullObserver::?NullObserver*;
+ mir::scene::NullObserver::NullObserver*;
+ mir::scene::NullObserver::end_observation*;
+ mir::scene::NullObserver::operator*;
+ mir::scene::NullObserver::scene_changed*;
+ mir::scene::NullObserver::surface_added*;
+ mir::scene::NullObserver::surface_exists*;
+ mir::scene::NullObserver::surface_removed*;
+ mir::scene::NullObserver::surfaces_reordered*;
+ mir::scene::NullPromptSessionListener::prompt_provider_added*;
+ mir::scene::NullPromptSessionListener::prompt_provider_removed*;
+ mir::scene::NullPromptSessionListener::resuming*;
+ mir::scene::NullPromptSessionListener::starting*;
+ mir::scene::NullPromptSessionListener::stopping*;
+ mir::scene::NullPromptSessionListener::suspending*;
mir::scene::NullSessionListener::?NullSessionListener*;
mir::scene::NullSessionListener::NullSessionListener*;
+ mir::scene::NullSessionListener::buffer_stream_created*;
+ mir::scene::NullSessionListener::buffer_stream_destroyed*;
+ mir::scene::NullSessionListener::destroying_surface*;
+ mir::scene::NullSessionListener::focused*;
mir::scene::NullSessionListener::operator*;
+ mir::scene::NullSessionListener::starting*;
+ mir::scene::NullSessionListener::stopping*;
+ mir::scene::NullSessionListener::surface_created*;
+ mir::scene::NullSessionListener::unfocused*;
mir::scene::NullSurfaceObserver::?NullSurfaceObserver*;
mir::scene::NullSurfaceObserver::NullSurfaceObserver*;
mir::scene::NullSurfaceObserver::alpha_set_to*;
@@ -312,57 +439,126 @@ MIR_SERVER_2.17 {
mir::scene::NullSurfaceObserver::cursor_image_removed*;
mir::scene::NullSurfaceObserver::cursor_image_set_to*;
mir::scene::NullSurfaceObserver::depth_layer_set_to*;
+ mir::scene::NullSurfaceObserver::entered_output*;
mir::scene::NullSurfaceObserver::frame_posted*;
mir::scene::NullSurfaceObserver::hidden_set_to*;
mir::scene::NullSurfaceObserver::input_consumed*;
- mir::scene::NullSurfaceObserver::keymap_changed*;
+ mir::scene::NullSurfaceObserver::left_output*;
mir::scene::NullSurfaceObserver::moved_to*;
mir::scene::NullSurfaceObserver::operator*;
mir::scene::NullSurfaceObserver::orientation_set_to*;
mir::scene::NullSurfaceObserver::placed_relative*;
mir::scene::NullSurfaceObserver::reception_mode_set_to*;
mir::scene::NullSurfaceObserver::renamed*;
- mir::scene::NullSurfaceObserver::start_drag_and_drop*;
mir::scene::NullSurfaceObserver::transformation_set_to*;
mir::scene::NullSurfaceObserver::window_resized_to*;
mir::scene::Observer::?Observer*;
mir::scene::Observer::Observer*;
mir::scene::Observer::operator*;
+ mir::scene::OutputPropertiesCache::properties_for*;
+ mir::scene::OutputPropertiesCache::update_from*;
mir::scene::PromptSessionListener::?PromptSessionListener*;
mir::scene::PromptSessionListener::PromptSessionListener*;
mir::scene::PromptSessionListener::operator*;
mir::scene::PromptSessionManager::?PromptSessionManager*;
mir::scene::PromptSessionManager::PromptSessionManager*;
mir::scene::PromptSessionManager::operator*;
+ mir::scene::SceneChangeNotification::?SceneChangeNotification*;
+ mir::scene::SceneChangeNotification::SceneChangeNotification*;
+ mir::scene::SceneChangeNotification::end_observation*;
+ mir::scene::SceneChangeNotification::scene_changed*;
+ mir::scene::SceneChangeNotification::surface_added*;
+ mir::scene::SceneChangeNotification::surface_exists*;
+ mir::scene::SceneChangeNotification::surface_removed*;
+ mir::scene::SceneChangeNotification::surfaces_reordered*;
+ mir::scene::SceneReport::?SceneReport*;
+ mir::scene::SceneReport::SceneReport*;
+ mir::scene::SceneReport::operator*;
+ mir::scene::Session::?Session*;
+ mir::scene::Session::Session*;
+ mir::scene::Session::operator*;
+ mir::scene::SessionContainer::?SessionContainer*;
+ mir::scene::SessionContainer::SessionContainer*;
+ mir::scene::SessionContainer::for_each*;
+ mir::scene::SessionContainer::insert_session*;
+ mir::scene::SessionContainer::operator*;
+ mir::scene::SessionContainer::predecessor_of*;
+ mir::scene::SessionContainer::remove_session*;
+ mir::scene::SessionContainer::successor_of*;
mir::scene::SessionCoordinator::?SessionCoordinator*;
mir::scene::SessionCoordinator::SessionCoordinator*;
mir::scene::SessionCoordinator::operator*;
+ mir::scene::SessionEventHandlerRegister::?SessionEventHandlerRegister*;
+ mir::scene::SessionEventHandlerRegister::SessionEventHandlerRegister*;
+ mir::scene::SessionEventHandlerRegister::operator*;
+ mir::scene::SessionEventSink::?SessionEventSink*;
+ mir::scene::SessionEventSink::SessionEventSink*;
+ mir::scene::SessionEventSink::operator*;
mir::scene::SessionListener::?SessionListener*;
mir::scene::SessionListener::SessionListener*;
mir::scene::SessionListener::operator*;
+ mir::scene::SessionLock::?SessionLock*;
+ mir::scene::SessionLock::SessionLock*;
+ mir::scene::SessionLock::operator*;
+ mir::scene::SessionLockObserver::?SessionLockObserver*;
+ mir::scene::SessionLockObserver::SessionLockObserver*;
+ mir::scene::SessionLockObserver::operator*;
+ mir::scene::SurfaceEventSource::SurfaceEventSource*;
+ mir::scene::SurfaceEventSource::attrib_changed*;
+ mir::scene::SurfaceEventSource::client_surface_close_requested*;
+ mir::scene::SurfaceEventSource::content_resized_to*;
+ mir::scene::SurfaceEventSource::input_consumed*;
+ mir::scene::SurfaceEventSource::moved_to*;
+ mir::scene::SurfaceEventSource::orientation_set_to*;
+ mir::scene::SurfaceEventSource::placed_relative*;
mir::scene::SurfaceFactory::?SurfaceFactory*;
mir::scene::SurfaceFactory::SurfaceFactory*;
mir::scene::SurfaceObserver::?SurfaceObserver*;
mir::scene::SurfaceObserver::SurfaceObserver*;
mir::scene::SurfaceObserver::operator*;
+ mir::scene::SurfaceObservers::SurfaceObservers*;
+ mir::scene::SurfaceObservers::alpha_set_to*;
+ mir::scene::SurfaceObservers::application_id_set_to*;
+ mir::scene::SurfaceObservers::attrib_changed*;
+ mir::scene::SurfaceObservers::client_surface_close_requested*;
+ mir::scene::SurfaceObservers::content_resized_to*;
+ mir::scene::SurfaceObservers::cursor_image_removed*;
+ mir::scene::SurfaceObservers::cursor_image_set_to*;
+ mir::scene::SurfaceObservers::depth_layer_set_to*;
+ mir::scene::SurfaceObservers::frame_posted*;
+ mir::scene::SurfaceObservers::hidden_set_to*;
+ mir::scene::SurfaceObservers::input_consumed*;
+ mir::scene::SurfaceObservers::moved_to*;
+ mir::scene::SurfaceObservers::orientation_set_to*;
+ mir::scene::SurfaceObservers::placed_relative*;
+ mir::scene::SurfaceObservers::reception_mode_set_to*;
+ mir::scene::SurfaceObservers::renamed*;
+ mir::scene::SurfaceObservers::transformation_set_to*;
+ mir::scene::SurfaceObservers::window_resized_to*;
mir::scene::SurfaceStateTracker::SurfaceStateTracker*;
mir::scene::SurfaceStateTracker::active_state*;
mir::scene::SurfaceStateTracker::has*;
mir::scene::SurfaceStateTracker::has_any*;
+ mir::scene::SurfaceStateTracker::operator*;
mir::scene::SurfaceStateTracker::with*;
mir::scene::SurfaceStateTracker::with_active_state*;
mir::scene::SurfaceStateTracker::without*;
- mir::scene::a_surface*;
+ mir::scene::TextInputChange::TextInputChange*;
+ mir::scene::TextInputChangeHandler::?TextInputChangeHandler*;
+ mir::scene::TextInputChangeHandler::TextInputChangeHandler*;
+ mir::scene::TextInputHub::?TextInputHub*;
+ mir::scene::TextInputStateObserver::?TextInputStateObserver*;
+ mir::scene::TextInputStateObserver::TextInputStateObserver*;
mir::scene::operator*;
mir::shell::AbstractShell::?AbstractShell*;
mir::shell::AbstractShell::AbstractShell*;
mir::shell::AbstractShell::add_display*;
mir::shell::AbstractShell::add_prompt_provider_for*;
- mir::shell::AbstractShell::clear_drag_and_drop_handle*;
mir::shell::AbstractShell::close_session*;
mir::shell::AbstractShell::create_surface*;
mir::shell::AbstractShell::destroy_surface*;
mir::shell::AbstractShell::focus_next_session*;
+ mir::shell::AbstractShell::focus_prev_session*;
mir::shell::AbstractShell::focused_session*;
mir::shell::AbstractShell::focused_surface*;
mir::shell::AbstractShell::get_surface_attribute*;
@@ -372,54 +568,18 @@ MIR_SERVER_2.17 {
mir::shell::AbstractShell::raise*;
mir::shell::AbstractShell::raise_surface*;
mir::shell::AbstractShell::remove_display*;
- mir::shell::AbstractShell::request_drag_and_drop*;
mir::shell::AbstractShell::request_move*;
- mir::shell::AbstractShell::set_drag_and_drop_handle*;
+ mir::shell::AbstractShell::request_resize*;
+ mir::shell::AbstractShell::send_to_back*;
mir::shell::AbstractShell::set_focus_to*;
+ mir::shell::AbstractShell::set_popup_grab_tree*;
mir::shell::AbstractShell::set_surface_attribute*;
mir::shell::AbstractShell::start_prompt_session_for*;
mir::shell::AbstractShell::stop_prompt_session*;
mir::shell::AbstractShell::surface_at*;
- mir::shell::AbstractShell::update_focused_surface_confined_region*;
- mir::shell::BasicWindowManager::?BasicWindowManager*;
- mir::shell::BasicWindowManager::BasicWindowManager*;
- mir::shell::BasicWindowManager::active_display*;
- mir::shell::BasicWindowManager::add_display*;
- mir::shell::BasicWindowManager::add_session*;
- mir::shell::BasicWindowManager::add_surface*;
- mir::shell::BasicWindowManager::clear_drag_and_drop_handle*;
- mir::shell::BasicWindowManager::find_session*;
- mir::shell::BasicWindowManager::focus_next_session*;
- mir::shell::BasicWindowManager::focused_session*;
- mir::shell::BasicWindowManager::focused_surface*;
- mir::shell::BasicWindowManager::forget*;
- mir::shell::BasicWindowManager::handle_keyboard_event*;
- mir::shell::BasicWindowManager::handle_pointer_event*;
- mir::shell::BasicWindowManager::handle_raise_surface*;
- mir::shell::BasicWindowManager::handle_request_move*;
- mir::shell::BasicWindowManager::handle_touch_event*;
- mir::shell::BasicWindowManager::info_for*;
- mir::shell::BasicWindowManager::modify_surface*;
- mir::shell::BasicWindowManager::raise_tree*;
- mir::shell::BasicWindowManager::remove_display*;
- mir::shell::BasicWindowManager::remove_session*;
- mir::shell::BasicWindowManager::remove_surface*;
- mir::shell::BasicWindowManager::set_drag_and_drop_handle*;
- mir::shell::BasicWindowManager::set_focus_to*;
- mir::shell::BasicWindowManager::set_surface_attribute*;
- mir::shell::BasicWindowManager::surface_at*;
- mir::shell::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy*;
- mir::shell::CanonicalWindowManagerPolicy::handle_delete_surface*;
- mir::shell::CanonicalWindowManagerPolicy::handle_displays_updated*;
- mir::shell::CanonicalWindowManagerPolicy::handle_keyboard_event*;
- mir::shell::CanonicalWindowManagerPolicy::handle_modify_surface*;
- mir::shell::CanonicalWindowManagerPolicy::handle_new_surface*;
- mir::shell::CanonicalWindowManagerPolicy::handle_place_new_surface*;
- mir::shell::CanonicalWindowManagerPolicy::handle_pointer_event*;
- mir::shell::CanonicalWindowManagerPolicy::handle_raise_surface*;
- mir::shell::CanonicalWindowManagerPolicy::handle_session_info_updated*;
- mir::shell::CanonicalWindowManagerPolicy::handle_set_state*;
- mir::shell::CanonicalWindowManagerPolicy::handle_touch_event*;
+ mir::shell::AbstractShell::surface_ready*;
+ mir::shell::AbstractShell::swap_z_order*;
+ mir::shell::DefaultWindowManager::handle_keyboard_event*;
mir::shell::DisplayConfigurationController::?DisplayConfigurationController*;
mir::shell::DisplayConfigurationController::DisplayConfigurationController*;
mir::shell::DisplayConfigurationController::operator*;
@@ -429,6 +589,8 @@ MIR_SERVER_2.17 {
mir::shell::FocusController::?FocusController*;
mir::shell::FocusController::FocusController*;
mir::shell::FocusController::operator*;
+ mir::shell::IdleHandler::?IdleHandler*;
+ mir::shell::IdleHandler::IdleHandler*;
mir::shell::InputTargeter::?InputTargeter*;
mir::shell::InputTargeter::InputTargeter*;
mir::shell::InputTargeter::operator*;
@@ -442,7 +604,6 @@ MIR_SERVER_2.17 {
mir::shell::ShellWrapper::ShellWrapper*;
mir::shell::ShellWrapper::add_display*;
mir::shell::ShellWrapper::add_prompt_provider_for*;
- mir::shell::ShellWrapper::clear_drag_and_drop_handle*;
mir::shell::ShellWrapper::close_session*;
mir::shell::ShellWrapper::create_surface*;
mir::shell::ShellWrapper::destroy_surface*;
@@ -457,24 +618,20 @@ MIR_SERVER_2.17 {
mir::shell::ShellWrapper::raise*;
mir::shell::ShellWrapper::raise_surface*;
mir::shell::ShellWrapper::remove_display*;
- mir::shell::ShellWrapper::request_drag_and_drop*;
mir::shell::ShellWrapper::request_move*;
mir::shell::ShellWrapper::request_resize*;
- mir::shell::ShellWrapper::set_drag_and_drop_handle*;
+ mir::shell::ShellWrapper::send_to_back*;
mir::shell::ShellWrapper::set_focus_to*;
+ mir::shell::ShellWrapper::set_popup_grab_tree*;
mir::shell::ShellWrapper::set_surface_attribute*;
mir::shell::ShellWrapper::start_prompt_session_for*;
mir::shell::ShellWrapper::stop_prompt_session*;
mir::shell::ShellWrapper::surface_at*;
- mir::shell::SurfaceInfo::SurfaceInfo*;
- mir::shell::SurfaceInfo::can_be_active*;
- mir::shell::SurfaceInfo::can_morph_to*;
- mir::shell::SurfaceInfo::constrain_resize*;
- mir::shell::SurfaceInfo::is_visible*;
- mir::shell::SurfaceInfo::must_have_parent*;
- mir::shell::SurfaceInfo::must_not_have_parent*;
- mir::shell::SurfaceInfo::needs_titlebar*;
+ mir::shell::ShellWrapper::surface_ready*;
+ mir::shell::ShellWrapper::swap_z_order*;
mir::shell::SurfaceSpecification::is_empty*;
+ mir::shell::SurfaceSpecification::set_size*;
+ mir::shell::SurfaceSpecification::update_from*;
mir::shell::SurfaceStack::?SurfaceStack*;
mir::shell::SurfaceStack::SurfaceStack*;
mir::shell::SurfaceStack::operator*;
@@ -482,34 +639,17 @@ MIR_SERVER_2.17 {
mir::shell::SurfaceStackWrapper::add_surface*;
mir::shell::SurfaceStackWrapper::raise*;
mir::shell::SurfaceStackWrapper::remove_surface*;
+ mir::shell::SurfaceStackWrapper::send_to_back*;
mir::shell::SurfaceStackWrapper::surface_at*;
+ mir::shell::SurfaceStackWrapper::swap_z_order*;
mir::shell::SystemCompositorWindowManager::SystemCompositorWindowManager*;
- mir::shell::SystemCompositorWindowManager::add_display*;
- mir::shell::SystemCompositorWindowManager::add_session*;
- mir::shell::SystemCompositorWindowManager::add_surface*;
- mir::shell::SystemCompositorWindowManager::handle_keyboard_event*;
- mir::shell::SystemCompositorWindowManager::handle_pointer_event*;
- mir::shell::SystemCompositorWindowManager::handle_raise_surface*;
- mir::shell::SystemCompositorWindowManager::handle_request_move*;
- mir::shell::SystemCompositorWindowManager::handle_request_resize*;
- mir::shell::SystemCompositorWindowManager::handle_touch_event*;
- mir::shell::SystemCompositorWindowManager::modify_surface*;
mir::shell::SystemCompositorWindowManager::on_session_added*;
mir::shell::SystemCompositorWindowManager::on_session_ready*;
mir::shell::SystemCompositorWindowManager::on_session_removed*;
- mir::shell::SystemCompositorWindowManager::remove_display*;
- mir::shell::SystemCompositorWindowManager::remove_session*;
- mir::shell::SystemCompositorWindowManager::remove_surface*;
- mir::shell::SystemCompositorWindowManager::set_surface_attribute*;
- mir::shell::WindowManagementPolicy::?WindowManagementPolicy*;
- mir::shell::WindowManagementPolicy::WindowManagementPolicy*;
- mir::shell::WindowManagementPolicy::operator*;
mir::shell::WindowManager::?WindowManager*;
mir::shell::WindowManager::WindowManager*;
mir::shell::WindowManager::operator*;
- mir::shell::WindowManagerTools::?WindowManagerTools*;
- mir::shell::WindowManagerTools::WindowManagerTools*;
- mir::shell::WindowManagerTools::operator*;
+ mir::shell::operator*;
mir::terminate_with_current_exception*;
mir::time::Alarm::?Alarm*;
mir::time::Alarm::Alarm*;
@@ -517,25 +657,160 @@ MIR_SERVER_2.17 {
mir::time::AlarmFactory::?AlarmFactory*;
mir::time::AlarmFactory::AlarmFactory*;
mir::time::AlarmFactory::operator*;
- non-virtual?thunk?to?mir::Executor::?Executor*;
+ non-virtual?thunk?to?mir::BasicCallback::lock*;
+ non-virtual?thunk?to?mir::BasicCallback::operator*;
+ non-virtual?thunk?to?mir::BasicCallback::unlock*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::add_wayland_extension*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::set_enabled_wayland_extensions*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::set_wayland_extension_filter*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_application_not_responding_detector*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_buffer_allocator*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_buffer_stream_factory*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_clock*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_composite_event_filter*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_compositor*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_compositor_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_console_services*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_cursor*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_cursor_images*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_cursor_listener*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_decoration_manager*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_default_cursor_image*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_buffer_compositor_factory*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_changer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_configuration_controller*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_configuration_policy*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_platforms*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_display_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_drag_icon_controller*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_emergency_cleanup*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_event_filter_chain_dispatcher*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_fatal_error_strategy*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_frontend_display_changer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_frontend_surface_stack*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_gl_config*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_idle_handler*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_idle_hub*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_device_hub*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_device_registry*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_dispatcher*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_manager*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_reading_multiplexer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_scene*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_input_targeter*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_key_mapper*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_keyboard_observer_registrar*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_logger*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_main_clipboard*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_main_loop*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_mediating_display_changer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_persistent_surface_store*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_pointer_input_dispatcher*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_primary_selection_clipboard*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_prompt_session_listener*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_prompt_session_manager*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_renderer_factory*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_rendering_platforms*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_scene*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_scene_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_screen_shooter*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_seat*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_seat_observer_registrar*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_server_action_queue*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_server_status_listener*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_authorizer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_container*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_coordinator*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_event_handler_register*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_event_sink*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_listener*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_session_lock*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_shared_library_prober_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_shell*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_shell_display_layout*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_shell_report*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_stop_callback*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_surface_factory*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_surface_input_dispatcher*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_surface_stack*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_text_input_hub*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_touch_visualizer*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_wayland_connector*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_window_manager_builder*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::the_xwayland_connector*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_application_not_responding_detector*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_cursor*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_cursor_listener*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_display_buffer_compositor_factory*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_display_configuration_policy*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_shell*;
+ non-virtual?thunk?to?mir::DefaultServerConfiguration::wrap_surface_stack*;
+ non-virtual?thunk?to?mir::DefaultServerStatusListener::paused*;
+ non-virtual?thunk?to?mir::DefaultServerStatusListener::ready_for_user_input*;
+ non-virtual?thunk?to?mir::DefaultServerStatusListener::resumed*;
+ non-virtual?thunk?to?mir::DefaultServerStatusListener::started*;
+ non-virtual?thunk?to?mir::DefaultServerStatusListener::stop_receiving_input*;
+ non-virtual?thunk?to?mir::DisplayChanger::?DisplayChanger*;
+ non-virtual?thunk?to?mir::GLibMainLoop::create_alarm*;
+ non-virtual?thunk?to?mir::GLibMainLoop::enqueue*;
+ non-virtual?thunk?to?mir::GLibMainLoop::enqueue_with_guaranteed_execution*;
+ non-virtual?thunk?to?mir::GLibMainLoop::pause_processing_for*;
+ non-virtual?thunk?to?mir::GLibMainLoop::register_fd_handler*;
+ non-virtual?thunk?to?mir::GLibMainLoop::register_signal_handler*;
+ non-virtual?thunk?to?mir::GLibMainLoop::resume_processing_for*;
+ non-virtual?thunk?to?mir::GLibMainLoop::run*;
+ non-virtual?thunk?to?mir::GLibMainLoop::running*;
+ non-virtual?thunk?to?mir::GLibMainLoop::spawn*;
+ non-virtual?thunk?to?mir::GLibMainLoop::stop*;
+ non-virtual?thunk?to?mir::GLibMainLoop::unregister_fd_handler*;
non-virtual?thunk?to?mir::LockableCallback::?LockableCallback*;
+ non-virtual?thunk?to?mir::LockableCallbackWrapper::lock*;
+ non-virtual?thunk?to?mir::LockableCallbackWrapper::operator*;
+ non-virtual?thunk?to?mir::LockableCallbackWrapper::unlock*;
+ non-virtual?thunk?to?mir::ObserverMultiplexer::register_early_observer*;
+ non-virtual?thunk?to?mir::ObserverMultiplexer::register_interest*;
+ non-virtual?thunk?to?mir::ObserverMultiplexer::unregister_interest*;
non-virtual?thunk?to?mir::ServerActionQueue::?ServerActionQueue*;
+ non-virtual?thunk?to?mir::ServerConfiguration::?ServerConfiguration*;
non-virtual?thunk?to?mir::ServerStatusListener::?ServerStatusListener*;
+ non-virtual?thunk?to?mir::compositor::BufferStream::?BufferStream*;
+ non-virtual?thunk?to?mir::compositor::Compositor::?Compositor*;
non-virtual?thunk?to?mir::compositor::CompositorReport::?CompositorReport*;
non-virtual?thunk?to?mir::compositor::DisplayBufferCompositor::?DisplayBufferCompositor*;
non-virtual?thunk?to?mir::compositor::DisplayBufferCompositorFactory::?DisplayBufferCompositorFactory*;
non-virtual?thunk?to?mir::compositor::DisplayListener::?DisplayListener*;
+ non-virtual?thunk?to?mir::compositor::Scene::?Scene*;
non-virtual?thunk?to?mir::compositor::SceneElement::?SceneElement*;
+ non-virtual?thunk?to?mir::compositor::ScreenShooter::?ScreenShooter*;
non-virtual?thunk?to?mir::frontend::BufferSink::?BufferSink*;
non-virtual?thunk?to?mir::frontend::BufferStream::?BufferStream*;
+ non-virtual?thunk?to?mir::frontend::Connector::?Connector*;
+ non-virtual?thunk?to?mir::frontend::DisplayChanger::?DisplayChanger*;
+ non-virtual?thunk?to?mir::frontend::DragIconController::?DragIconController*;
+ non-virtual?thunk?to?mir::frontend::EventSink::?EventSink*;
+ non-virtual?thunk?to?mir::frontend::InputConfigurationChanger::?InputConfigurationChanger*;
+ non-virtual?thunk?to?mir::frontend::PointerInputDispatcher::?PointerInputDispatcher*;
non-virtual?thunk?to?mir::frontend::PromptSession::?PromptSession*;
- non-virtual?thunk?to?mir::frontend::Session::?Session*;
non-virtual?thunk?to?mir::frontend::SessionAuthorizer::?SessionAuthorizer*;
non-virtual?thunk?to?mir::frontend::Surface::?Surface*;
+ non-virtual?thunk?to?mir::frontend::SurfaceStack::?SurfaceStack*;
non-virtual?thunk?to?mir::graphics::CloneDisplayConfigurationPolicy::apply_to*;
+ non-virtual?thunk?to?mir::graphics::CloneDisplayConfigurationPolicy::confirm*;
non-virtual?thunk?to?mir::graphics::DisplayConfigurationObserver::?DisplayConfigurationObserver*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::base_configuration_updated*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::catastrophic_configuration_error*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::configuration_applied*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::configuration_failed*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::configuration_updated_for_session*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::initial_configuration*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::session_configuration_applied*;
+ non-virtual?thunk?to?mir::graphics::NullDisplayConfigurationObserver::session_configuration_removed*;
non-virtual?thunk?to?mir::graphics::SideBySideDisplayConfigurationPolicy::apply_to*;
+ non-virtual?thunk?to?mir::graphics::SideBySideDisplayConfigurationPolicy::confirm*;
non-virtual?thunk?to?mir::graphics::SingleDisplayConfigurationPolicy::apply_to*;
+ non-virtual?thunk?to?mir::graphics::SingleDisplayConfigurationPolicy::confirm*;
non-virtual?thunk?to?mir::input::CursorImages::?CursorImages*;
non-virtual?thunk?to?mir::input::CursorListener::?CursorListener*;
non-virtual?thunk?to?mir::input::Device::?Device*;
@@ -543,52 +818,127 @@ MIR_SERVER_2.17 {
non-virtual?thunk?to?mir::input::InputDeviceHub::?InputDeviceHub*;
non-virtual?thunk?to?mir::input::InputDeviceObserver::?InputDeviceObserver*;
non-virtual?thunk?to?mir::input::InputDispatcher::?InputDispatcher*;
+ non-virtual?thunk?to?mir::input::InputManager::?InputManager*;
+ non-virtual?thunk?to?mir::input::KeyboardObserver::?KeyboardObserver*;
+ non-virtual?thunk?to?mir::input::Scene::?Scene*;
+ non-virtual?thunk?to?mir::input::Seat::?Seat*;
non-virtual?thunk?to?mir::input::SeatObserver::?SeatObserver*;
non-virtual?thunk?to?mir::input::Surface::?Surface*;
non-virtual?thunk?to?mir::input::TouchVisualizer::?TouchVisualizer*;
+ non-virtual?thunk?to?mir::input::VTFilter::?VTFilter*;
+ non-virtual?thunk?to?mir::input::VTFilter::handle*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetector::?ApplicationNotRespondingDetector*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetector::Observer::?Observer*;
+ non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::?ApplicationNotRespondingDetectorWrapper*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::pong_received*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::register_observer*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::register_session*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::unregister_observer*;
non-virtual?thunk?to?mir::scene::ApplicationNotRespondingDetectorWrapper::unregister_session*;
non-virtual?thunk?to?mir::scene::BufferStreamFactory::?BufferStreamFactory*;
- non-virtual?thunk?to?mir::scene::CoordinateTranslator::?CoordinateTranslator*;
+ non-virtual?thunk?to?mir::scene::ClipboardObserver::?ClipboardObserver*;
+ non-virtual?thunk?to?mir::scene::DataExchangeSource::?DataExchangeSource*;
+ non-virtual?thunk?to?mir::scene::IdleHub::?IdleHub*;
+ non-virtual?thunk?to?mir::scene::IdleStateObserver::?IdleStateObserver*;
+ non-virtual?thunk?to?mir::scene::NullObserver::?NullObserver*;
+ non-virtual?thunk?to?mir::scene::NullObserver::end_observation*;
+ non-virtual?thunk?to?mir::scene::NullObserver::scene_changed*;
+ non-virtual?thunk?to?mir::scene::NullObserver::surface_added*;
+ non-virtual?thunk?to?mir::scene::NullObserver::surface_exists*;
+ non-virtual?thunk?to?mir::scene::NullObserver::surface_removed*;
+ non-virtual?thunk?to?mir::scene::NullObserver::surfaces_reordered*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::prompt_provider_added*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::prompt_provider_removed*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::resuming*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::starting*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::stopping*;
+ non-virtual?thunk?to?mir::scene::NullPromptSessionListener::suspending*;
non-virtual?thunk?to?mir::scene::NullSessionListener::?NullSessionListener*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::buffer_stream_created*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::buffer_stream_destroyed*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::destroying_surface*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::focused*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::starting*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::stopping*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::surface_created*;
+ non-virtual?thunk?to?mir::scene::NullSessionListener::unfocused*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::?NullSurfaceObserver*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::alpha_set_to*;
+ non-virtual?thunk?to?mir::scene::NullSurfaceObserver::application_id_set_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::attrib_changed*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::client_surface_close_requested*;
+ non-virtual?thunk?to?mir::scene::NullSurfaceObserver::content_resized_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::cursor_image_removed*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::cursor_image_set_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::depth_layer_set_to*;
+ non-virtual?thunk?to?mir::scene::NullSurfaceObserver::entered_output*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::frame_posted*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::hidden_set_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::input_consumed*;
- non-virtual?thunk?to?mir::scene::NullSurfaceObserver::keymap_changed*;
+ non-virtual?thunk?to?mir::scene::NullSurfaceObserver::left_output*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::moved_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::orientation_set_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::placed_relative*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::reception_mode_set_to*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::renamed*;
- non-virtual?thunk?to?mir::scene::NullSurfaceObserver::resized_to*;
- non-virtual?thunk?to?mir::scene::NullSurfaceObserver::start_drag_and_drop*;
non-virtual?thunk?to?mir::scene::NullSurfaceObserver::transformation_set_to*;
+ non-virtual?thunk?to?mir::scene::NullSurfaceObserver::window_resized_to*;
non-virtual?thunk?to?mir::scene::Observer::?Observer*;
non-virtual?thunk?to?mir::scene::PromptSessionListener::?PromptSessionListener*;
non-virtual?thunk?to?mir::scene::PromptSessionManager::?PromptSessionManager*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::?SceneChangeNotification*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::end_observation*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::scene_changed*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::surface_added*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::surface_exists*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::surface_removed*;
+ non-virtual?thunk?to?mir::scene::SceneChangeNotification::surfaces_reordered*;
+ non-virtual?thunk?to?mir::scene::SceneReport::?SceneReport*;
+ non-virtual?thunk?to?mir::scene::Session::?Session*;
non-virtual?thunk?to?mir::scene::SessionCoordinator::?SessionCoordinator*;
+ non-virtual?thunk?to?mir::scene::SessionEventHandlerRegister::?SessionEventHandlerRegister*;
+ non-virtual?thunk?to?mir::scene::SessionEventSink::?SessionEventSink*;
non-virtual?thunk?to?mir::scene::SessionListener::?SessionListener*;
+ non-virtual?thunk?to?mir::scene::SessionLock::?SessionLock*;
+ non-virtual?thunk?to?mir::scene::SessionLockObserver::?SessionLockObserver*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::attrib_changed*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::client_surface_close_requested*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::content_resized_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::input_consumed*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::moved_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::orientation_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceEventSource::placed_relative*;
non-virtual?thunk?to?mir::scene::SurfaceFactory::?SurfaceFactory*;
non-virtual?thunk?to?mir::scene::SurfaceObserver::?SurfaceObserver*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::alpha_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::application_id_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::attrib_changed*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::client_surface_close_requested*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::content_resized_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::cursor_image_removed*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::cursor_image_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::depth_layer_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::frame_posted*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::hidden_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::input_consumed*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::moved_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::orientation_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::placed_relative*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::reception_mode_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::renamed*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::transformation_set_to*;
+ non-virtual?thunk?to?mir::scene::SurfaceObservers::window_resized_to*;
+ non-virtual?thunk?to?mir::scene::TextInputChangeHandler::?TextInputChangeHandler*;
+ non-virtual?thunk?to?mir::scene::TextInputHub::?TextInputHub*;
+ non-virtual?thunk?to?mir::scene::TextInputStateObserver::?TextInputStateObserver*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::?AbstractShell*;
non-virtual?thunk?to?mir::shell::AbstractShell::add_display*;
non-virtual?thunk?to?mir::shell::AbstractShell::add_prompt_provider_for*;
- non-virtual?thunk?to?mir::shell::AbstractShell::clear_drag_and_drop_handle*;
non-virtual?thunk?to?mir::shell::AbstractShell::close_session*;
non-virtual?thunk?to?mir::shell::AbstractShell::create_surface*;
non-virtual?thunk?to?mir::shell::AbstractShell::destroy_surface*;
non-virtual?thunk?to?mir::shell::AbstractShell::focus_next_session*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::focus_prev_session*;
non-virtual?thunk?to?mir::shell::AbstractShell::focused_session*;
non-virtual?thunk?to?mir::shell::AbstractShell::focused_surface*;
non-virtual?thunk?to?mir::shell::AbstractShell::get_surface_attribute*;
@@ -598,63 +948,32 @@ MIR_SERVER_2.17 {
non-virtual?thunk?to?mir::shell::AbstractShell::raise*;
non-virtual?thunk?to?mir::shell::AbstractShell::raise_surface*;
non-virtual?thunk?to?mir::shell::AbstractShell::remove_display*;
- non-virtual?thunk?to?mir::shell::AbstractShell::request_drag_and_drop*;
non-virtual?thunk?to?mir::shell::AbstractShell::request_move*;
- non-virtual?thunk?to?mir::shell::AbstractShell::set_drag_and_drop_handle*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::request_resize*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::send_to_back*;
non-virtual?thunk?to?mir::shell::AbstractShell::set_focus_to*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::set_popup_grab_tree*;
non-virtual?thunk?to?mir::shell::AbstractShell::set_surface_attribute*;
non-virtual?thunk?to?mir::shell::AbstractShell::start_prompt_session_for*;
non-virtual?thunk?to?mir::shell::AbstractShell::stop_prompt_session*;
non-virtual?thunk?to?mir::shell::AbstractShell::surface_at*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::active_display*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::add_display*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::add_session*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::add_surface*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::clear_drag_and_drop_handle*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::find_session*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::focus_next_session*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::focused_session*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::focused_surface*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::forget*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::handle_keyboard_event*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::handle_pointer_event*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::handle_raise_surface*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::handle_request_move*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::handle_touch_event*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::info_for*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::modify_surface*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::raise_tree*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::remove_display*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::remove_session*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::remove_surface*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::set_drag_and_drop_handle*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::set_focus_to*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::set_surface_attribute*;
- non-virtual?thunk?to?mir::shell::BasicWindowManager::surface_at*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_delete_surface*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_displays_updated*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_keyboard_event*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_modify_surface*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_new_surface*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_place_new_surface*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_pointer_event*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_raise_surface*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_session_info_updated*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_set_state*;
- non-virtual?thunk?to?mir::shell::CanonicalWindowManagerPolicy::handle_touch_event*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::surface_ready*;
+ non-virtual?thunk?to?mir::shell::AbstractShell::swap_z_order*;
+ non-virtual?thunk?to?mir::shell::DefaultWindowManager::handle_keyboard_event*;
non-virtual?thunk?to?mir::shell::DisplayConfigurationController::?DisplayConfigurationController*;
non-virtual?thunk?to?mir::shell::DisplayLayout::?DisplayLayout*;
non-virtual?thunk?to?mir::shell::FocusController::?FocusController*;
+ non-virtual?thunk?to?mir::shell::IdleHandler::?IdleHandler*;
non-virtual?thunk?to?mir::shell::InputTargeter::?InputTargeter*;
non-virtual?thunk?to?mir::shell::PersistentSurfaceStore::?PersistentSurfaceStore*;
non-virtual?thunk?to?mir::shell::ShellReport::?ShellReport*;
non-virtual?thunk?to?mir::shell::ShellWrapper::add_display*;
non-virtual?thunk?to?mir::shell::ShellWrapper::add_prompt_provider_for*;
- non-virtual?thunk?to?mir::shell::ShellWrapper::clear_drag_and_drop_handle*;
non-virtual?thunk?to?mir::shell::ShellWrapper::close_session*;
non-virtual?thunk?to?mir::shell::ShellWrapper::create_surface*;
non-virtual?thunk?to?mir::shell::ShellWrapper::destroy_surface*;
non-virtual?thunk?to?mir::shell::ShellWrapper::focus_next_session*;
+ non-virtual?thunk?to?mir::shell::ShellWrapper::focus_prev_session*;
non-virtual?thunk?to?mir::shell::ShellWrapper::focused_session*;
non-virtual?thunk?to?mir::shell::ShellWrapper::focused_surface*;
non-virtual?thunk?to?mir::shell::ShellWrapper::get_surface_attribute*;
@@ -664,49 +983,47 @@ MIR_SERVER_2.17 {
non-virtual?thunk?to?mir::shell::ShellWrapper::raise*;
non-virtual?thunk?to?mir::shell::ShellWrapper::raise_surface*;
non-virtual?thunk?to?mir::shell::ShellWrapper::remove_display*;
- non-virtual?thunk?to?mir::shell::ShellWrapper::request_drag_and_drop*;
non-virtual?thunk?to?mir::shell::ShellWrapper::request_move*;
non-virtual?thunk?to?mir::shell::ShellWrapper::request_resize*;
- non-virtual?thunk?to?mir::shell::ShellWrapper::set_drag_and_drop_handle*;
+ non-virtual?thunk?to?mir::shell::ShellWrapper::send_to_back*;
non-virtual?thunk?to?mir::shell::ShellWrapper::set_focus_to*;
+ non-virtual?thunk?to?mir::shell::ShellWrapper::set_popup_grab_tree*;
non-virtual?thunk?to?mir::shell::ShellWrapper::set_surface_attribute*;
non-virtual?thunk?to?mir::shell::ShellWrapper::start_prompt_session_for*;
non-virtual?thunk?to?mir::shell::ShellWrapper::stop_prompt_session*;
non-virtual?thunk?to?mir::shell::ShellWrapper::surface_at*;
+ non-virtual?thunk?to?mir::shell::ShellWrapper::surface_ready*;
+ non-virtual?thunk?to?mir::shell::ShellWrapper::swap_z_order*;
non-virtual?thunk?to?mir::shell::SurfaceStack::?SurfaceStack*;
non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::add_surface*;
non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::raise*;
non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::remove_surface*;
+ non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::send_to_back*;
non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::surface_at*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::add_display*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::add_session*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::add_surface*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_keyboard_event*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_pointer_event*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_raise_surface*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_request_move*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_request_resize*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::handle_touch_event*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::modify_surface*;
+ non-virtual?thunk?to?mir::shell::SurfaceStackWrapper::swap_z_order*;
non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::on_session_added*;
non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::on_session_ready*;
non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::on_session_removed*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::remove_display*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::remove_session*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::remove_surface*;
- non-virtual?thunk?to?mir::shell::SystemCompositorWindowManager::set_surface_attribute*;
- non-virtual?thunk?to?mir::shell::WindowManagementPolicy::?WindowManagementPolicy*;
non-virtual?thunk?to?mir::shell::WindowManager::?WindowManager*;
- non-virtual?thunk?to?mir::shell::WindowManagerTools::?WindowManagerTools*;
non-virtual?thunk?to?mir::time::Alarm::?Alarm*;
non-virtual?thunk?to?mir::time::AlarmFactory::?AlarmFactory*;
+ std::hash::operator*;
+ typeinfo?for?mir::BasicCallback;
typeinfo?for?mir::DefaultServerConfiguration;
- typeinfo?for?mir::Executor;
+ typeinfo?for?mir::DefaultServerStatusListener;
+ typeinfo?for?mir::DisplayChanger;
+ typeinfo?for?mir::DisplayServer;
+ typeinfo?for?mir::EmergencyCleanup;
+ typeinfo?for?mir::GLibMainLoop;
typeinfo?for?mir::LockableCallback;
+ typeinfo?for?mir::LockableCallbackWrapper;
typeinfo?for?mir::MainLoop;
typeinfo?for?mir::Server;
typeinfo?for?mir::ServerActionQueue;
+ typeinfo?for?mir::ServerConfiguration;
typeinfo?for?mir::ServerStatusListener;
+ typeinfo?for?mir::WaylandExtensionHook;
+ typeinfo?for?mir::compositor::BufferStream;
typeinfo?for?mir::compositor::Compositor;
typeinfo?for?mir::compositor::CompositorReport;
typeinfo?for?mir::compositor::DisplayBufferCompositor;
@@ -714,15 +1031,27 @@ MIR_SERVER_2.17 {
typeinfo?for?mir::compositor::DisplayListener;
typeinfo?for?mir::compositor::Scene;
typeinfo?for?mir::compositor::SceneElement;
+ typeinfo?for?mir::compositor::ScreenShooter;
+ typeinfo?for?mir::detail::FdSources;
+ typeinfo?for?mir::detail::GMainContextHandle;
+ typeinfo?for?mir::detail::GSourceHandle;
+ typeinfo?for?mir::detail::SignalSources;
typeinfo?for?mir::frontend::BufferSink;
typeinfo?for?mir::frontend::BufferStream;
+ typeinfo?for?mir::frontend::Connector;
+ typeinfo?for?mir::frontend::DisplayChanger;
+ typeinfo?for?mir::frontend::DragIconController;
+ typeinfo?for?mir::frontend::EventSink;
+ typeinfo?for?mir::frontend::InputConfigurationChanger;
+ typeinfo?for?mir::frontend::PointerInputDispatcher;
typeinfo?for?mir::frontend::PromptSession;
- typeinfo?for?mir::frontend::Session;
typeinfo?for?mir::frontend::SessionAuthorizer;
typeinfo?for?mir::frontend::SessionCredentials;
typeinfo?for?mir::frontend::Surface;
+ typeinfo?for?mir::frontend::SurfaceStack;
typeinfo?for?mir::graphics::CloneDisplayConfigurationPolicy;
typeinfo?for?mir::graphics::DisplayConfigurationObserver;
+ typeinfo?for?mir::graphics::NullDisplayConfigurationObserver;
typeinfo?for?mir::graphics::SideBySideDisplayConfigurationPolicy;
typeinfo?for?mir::graphics::SingleDisplayConfigurationPolicy;
typeinfo?for?mir::input::CompositeEventFilter;
@@ -734,97 +1063,166 @@ MIR_SERVER_2.17 {
typeinfo?for?mir::input::InputDeviceObserver;
typeinfo?for?mir::input::InputDispatcher;
typeinfo?for?mir::input::InputManager;
+ typeinfo?for?mir::input::KeyboardObserver;
+ typeinfo?for?mir::input::Scene;
+ typeinfo?for?mir::input::Seat;
typeinfo?for?mir::input::SeatObserver;
typeinfo?for?mir::input::Surface;
typeinfo?for?mir::input::TouchVisualizer::Spot;
typeinfo?for?mir::input::TouchVisualizer;
+ typeinfo?for?mir::input::VTFilter;
+ typeinfo?for?mir::input::Validator;
+ typeinfo?for?mir::input::VirtualInputDevice;
typeinfo?for?mir::scene::ApplicationNotRespondingDetector::Observer;
typeinfo?for?mir::scene::ApplicationNotRespondingDetector;
typeinfo?for?mir::scene::ApplicationNotRespondingDetectorWrapper;
typeinfo?for?mir::scene::BufferStreamFactory;
- typeinfo?for?mir::scene::CoordinateTranslator;
+ typeinfo?for?mir::scene::Clipboard;
+ typeinfo?for?mir::scene::ClipboardObserver;
+ typeinfo?for?mir::scene::DataExchangeSource;
+ typeinfo?for?mir::scene::IdleHub;
+ typeinfo?for?mir::scene::IdleStateObserver;
+ typeinfo?for?mir::scene::NullObserver;
+ typeinfo?for?mir::scene::NullPromptSessionListener;
typeinfo?for?mir::scene::NullSessionListener;
typeinfo?for?mir::scene::NullSurfaceObserver;
typeinfo?for?mir::scene::Observer;
+ typeinfo?for?mir::scene::OutputProperties;
+ typeinfo?for?mir::scene::OutputPropertiesCache;
typeinfo?for?mir::scene::PromptSession;
typeinfo?for?mir::scene::PromptSessionCreationParameters;
typeinfo?for?mir::scene::PromptSessionListener;
typeinfo?for?mir::scene::PromptSessionManager;
+ typeinfo?for?mir::scene::SceneChangeNotification;
+ typeinfo?for?mir::scene::SceneReport;
typeinfo?for?mir::scene::Session;
+ typeinfo?for?mir::scene::SessionContainer;
typeinfo?for?mir::scene::SessionCoordinator;
+ typeinfo?for?mir::scene::SessionEventHandlerRegister;
+ typeinfo?for?mir::scene::SessionEventSink;
typeinfo?for?mir::scene::SessionListener;
- typeinfo?for?mir::scene::Snapshot;
+ typeinfo?for?mir::scene::SessionLock;
+ typeinfo?for?mir::scene::SessionLockObserver;
typeinfo?for?mir::scene::StreamInfo;
typeinfo?for?mir::scene::Surface;
+ typeinfo?for?mir::scene::SurfaceEventSource;
typeinfo?for?mir::scene::SurfaceFactory;
typeinfo?for?mir::scene::SurfaceObserver;
+ typeinfo?for?mir::scene::SurfaceObservers;
+ typeinfo?for?mir::scene::SurfaceStateTracker;
+ typeinfo?for?mir::scene::TextInputChange::CursorPosition;
+ typeinfo?for?mir::scene::TextInputChange::TextInputKeySym;
+ typeinfo?for?mir::scene::TextInputChange::TextInputPreeditStyle;
+ typeinfo?for?mir::scene::TextInputChange;
+ typeinfo?for?mir::scene::TextInputChangeHandler;
+ typeinfo?for?mir::scene::TextInputHub;
+ typeinfo?for?mir::scene::TextInputState;
+ typeinfo?for?mir::scene::TextInputStateObserver;
typeinfo?for?mir::shell::AbstractShell;
- typeinfo?for?mir::shell::BasicWindowManager;
- typeinfo?for?mir::shell::CanonicalWindowManagerPolicy;
+ typeinfo?for?mir::shell::DefaultWindowManager;
typeinfo?for?mir::shell::DisplayConfigurationController;
typeinfo?for?mir::shell::DisplayLayout;
typeinfo?for?mir::shell::FocusController;
+ typeinfo?for?mir::shell::IdleHandler;
typeinfo?for?mir::shell::InputTargeter;
typeinfo?for?mir::shell::PersistentSurfaceStore::Id;
typeinfo?for?mir::shell::PersistentSurfaceStore;
- typeinfo?for?mir::shell::SessionInfo;
typeinfo?for?mir::shell::Shell;
typeinfo?for?mir::shell::ShellReport;
typeinfo?for?mir::shell::ShellWrapper;
typeinfo?for?mir::shell::StreamSpecification;
typeinfo?for?mir::shell::SurfaceAspectRatio;
- typeinfo?for?mir::shell::SurfaceInfo;
typeinfo?for?mir::shell::SurfaceSpecification;
typeinfo?for?mir::shell::SurfaceStack;
typeinfo?for?mir::shell::SurfaceStackWrapper;
typeinfo?for?mir::shell::SystemCompositorWindowManager;
- typeinfo?for?mir::shell::WindowManagementPolicy;
typeinfo?for?mir::shell::WindowManager;
- typeinfo?for?mir::shell::WindowManagerTools;
typeinfo?for?mir::time::Alarm;
typeinfo?for?mir::time::AlarmFactory;
- virtual?thunk?to?mir::shell::AbstractShell::?AbstractShell*;
+ typeinfo?for?std::hash;
+ virtual?thunk?to?mir::DefaultServerConfiguration::add_wayland_extension*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::set_enabled_wayland_extensions*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::set_wayland_extension_filter*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_application_not_responding_detector*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_compositor*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_console_services*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_display*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_display_changer*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_display_platforms*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_emergency_cleanup*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_fatal_error_strategy*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_idle_handler*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_idle_hub*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_input_dispatcher*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_input_manager*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_main_clipboard*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_main_loop*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_primary_selection_clipboard*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_rendering_platforms*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_screen_shooter*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_server_status_listener*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_session_lock*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_stop_callback*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_text_input_hub*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_wayland_connector*;
+ virtual?thunk?to?mir::DefaultServerConfiguration::the_xwayland_connector*;
+ virtual?thunk?to?mir::DefaultServerStatusListener::paused*;
+ virtual?thunk?to?mir::DefaultServerStatusListener::ready_for_user_input*;
+ virtual?thunk?to?mir::DefaultServerStatusListener::resumed*;
+ virtual?thunk?to?mir::DefaultServerStatusListener::started*;
+ virtual?thunk?to?mir::DefaultServerStatusListener::stop_receiving_input*;
virtual?thunk?to?mir::shell::AbstractShell::add_display*;
virtual?thunk?to?mir::shell::AbstractShell::add_prompt_provider_for*;
virtual?thunk?to?mir::shell::AbstractShell::close_session*;
virtual?thunk?to?mir::shell::AbstractShell::create_surface*;
virtual?thunk?to?mir::shell::AbstractShell::destroy_surface*;
virtual?thunk?to?mir::shell::AbstractShell::focus_next_session*;
+ virtual?thunk?to?mir::shell::AbstractShell::focus_prev_session*;
virtual?thunk?to?mir::shell::AbstractShell::focused_session*;
+ virtual?thunk?to?mir::shell::AbstractShell::focused_surface*;
virtual?thunk?to?mir::shell::AbstractShell::get_surface_attribute*;
virtual?thunk?to?mir::shell::AbstractShell::handle*;
- virtual?thunk?to?mir::shell::AbstractShell::handle_surface_created*;
virtual?thunk?to?mir::shell::AbstractShell::open_session*;
+ virtual?thunk?to?mir::shell::AbstractShell::raise*;
+ virtual?thunk?to?mir::shell::AbstractShell::raise_surface*;
virtual?thunk?to?mir::shell::AbstractShell::remove_display*;
+ virtual?thunk?to?mir::shell::AbstractShell::request_move*;
+ virtual?thunk?to?mir::shell::AbstractShell::request_resize*;
+ virtual?thunk?to?mir::shell::AbstractShell::send_to_back*;
virtual?thunk?to?mir::shell::AbstractShell::set_focus_to*;
+ virtual?thunk?to?mir::shell::AbstractShell::set_popup_grab_tree*;
virtual?thunk?to?mir::shell::AbstractShell::set_surface_attribute*;
- virtual?thunk?to?mir::shell::AbstractShell::setting_focus_to*;
virtual?thunk?to?mir::shell::AbstractShell::start_prompt_session_for*;
virtual?thunk?to?mir::shell::AbstractShell::stop_prompt_session*;
- virtual?thunk?to?mir::shell::BasicWindowManager::?BasicWindowManager*;
- virtual?thunk?to?mir::shell::BasicWindowManager::add_display*;
- virtual?thunk?to?mir::shell::BasicWindowManager::add_session*;
- virtual?thunk?to?mir::shell::BasicWindowManager::add_surface*;
- virtual?thunk?to?mir::shell::BasicWindowManager::handle_keyboard_event*;
- virtual?thunk?to?mir::shell::BasicWindowManager::handle_pointer_event*;
- virtual?thunk?to?mir::shell::BasicWindowManager::handle_raise_surface*;
- virtual?thunk?to?mir::shell::BasicWindowManager::handle_request_move*;
- virtual?thunk?to?mir::shell::BasicWindowManager::handle_touch_event*;
- virtual?thunk?to?mir::shell::BasicWindowManager::modify_surface*;
- virtual?thunk?to?mir::shell::BasicWindowManager::remove_display*;
- virtual?thunk?to?mir::shell::BasicWindowManager::remove_session*;
- virtual?thunk?to?mir::shell::BasicWindowManager::remove_surface*;
- virtual?thunk?to?mir::shell::BasicWindowManager::set_surface_attribute*;
+ virtual?thunk?to?mir::shell::AbstractShell::surface_at*;
+ virtual?thunk?to?mir::shell::AbstractShell::surface_ready*;
+ virtual?thunk?to?mir::shell::AbstractShell::swap_z_order*;
virtual?thunk?to?mir::shell::ShellWrapper::add_display*;
+ virtual?thunk?to?mir::shell::ShellWrapper::focus_next_session*;
+ virtual?thunk?to?mir::shell::ShellWrapper::focus_prev_session*;
+ virtual?thunk?to?mir::shell::ShellWrapper::focused_session*;
+ virtual?thunk?to?mir::shell::ShellWrapper::focused_surface*;
virtual?thunk?to?mir::shell::ShellWrapper::handle*;
+ virtual?thunk?to?mir::shell::ShellWrapper::raise*;
virtual?thunk?to?mir::shell::ShellWrapper::remove_display*;
+ virtual?thunk?to?mir::shell::ShellWrapper::send_to_back*;
+ virtual?thunk?to?mir::shell::ShellWrapper::set_focus_to*;
+ virtual?thunk?to?mir::shell::ShellWrapper::set_popup_grab_tree*;
+ virtual?thunk?to?mir::shell::ShellWrapper::surface_at*;
+ virtual?thunk?to?mir::shell::ShellWrapper::swap_z_order*;
+ vtable?for?mir::BasicCallback;
vtable?for?mir::DefaultServerConfiguration;
- vtable?for?mir::Executor;
+ vtable?for?mir::DefaultServerStatusListener;
+ vtable?for?mir::DisplayChanger;
+ vtable?for?mir::EmergencyCleanup;
+ vtable?for?mir::GLibMainLoop;
vtable?for?mir::LockableCallback;
+ vtable?for?mir::LockableCallbackWrapper;
vtable?for?mir::MainLoop;
- vtable?for?mir::Server;
vtable?for?mir::ServerActionQueue;
+ vtable?for?mir::ServerConfiguration;
vtable?for?mir::ServerStatusListener;
+ vtable?for?mir::compositor::BufferStream;
vtable?for?mir::compositor::Compositor;
vtable?for?mir::compositor::CompositorReport;
vtable?for?mir::compositor::DisplayBufferCompositor;
@@ -832,14 +1230,22 @@ MIR_SERVER_2.17 {
vtable?for?mir::compositor::DisplayListener;
vtable?for?mir::compositor::Scene;
vtable?for?mir::compositor::SceneElement;
+ vtable?for?mir::compositor::ScreenShooter;
vtable?for?mir::frontend::BufferSink;
+ vtable?for?mir::frontend::BufferStream;
+ vtable?for?mir::frontend::Connector;
+ vtable?for?mir::frontend::DisplayChanger;
+ vtable?for?mir::frontend::DragIconController;
+ vtable?for?mir::frontend::EventSink;
+ vtable?for?mir::frontend::InputConfigurationChanger;
+ vtable?for?mir::frontend::PointerInputDispatcher;
vtable?for?mir::frontend::PromptSession;
- vtable?for?mir::frontend::Session;
vtable?for?mir::frontend::SessionAuthorizer;
- vtable?for?mir::frontend::SessionCredentials;
vtable?for?mir::frontend::Surface;
+ vtable?for?mir::frontend::SurfaceStack;
vtable?for?mir::graphics::CloneDisplayConfigurationPolicy;
vtable?for?mir::graphics::DisplayConfigurationObserver;
+ vtable?for?mir::graphics::NullDisplayConfigurationObserver;
vtable?for?mir::graphics::SideBySideDisplayConfigurationPolicy;
vtable?for?mir::graphics::SingleDisplayConfigurationPolicy;
vtable?for?mir::input::CompositeEventFilter;
@@ -851,65 +1257,66 @@ MIR_SERVER_2.17 {
vtable?for?mir::input::InputDeviceObserver;
vtable?for?mir::input::InputDispatcher;
vtable?for?mir::input::InputManager;
+ vtable?for?mir::input::KeyboardObserver;
+ vtable?for?mir::input::Scene;
+ vtable?for?mir::input::Seat;
vtable?for?mir::input::SeatObserver;
vtable?for?mir::input::Surface;
- vtable?for?mir::input::TouchVisualizer::Spot;
vtable?for?mir::input::TouchVisualizer;
+ vtable?for?mir::input::VTFilter;
+ vtable?for?mir::input::VirtualInputDevice;
vtable?for?mir::scene::ApplicationNotRespondingDetector::Observer;
vtable?for?mir::scene::ApplicationNotRespondingDetector;
vtable?for?mir::scene::ApplicationNotRespondingDetectorWrapper;
vtable?for?mir::scene::BufferStreamFactory;
- vtable?for?mir::scene::CoordinateTranslator;
+ vtable?for?mir::scene::Clipboard;
+ vtable?for?mir::scene::ClipboardObserver;
+ vtable?for?mir::scene::DataExchangeSource;
+ vtable?for?mir::scene::IdleHub;
+ vtable?for?mir::scene::IdleStateObserver;
+ vtable?for?mir::scene::NullObserver;
+ vtable?for?mir::scene::NullPromptSessionListener;
vtable?for?mir::scene::NullSessionListener;
vtable?for?mir::scene::NullSurfaceObserver;
vtable?for?mir::scene::Observer;
vtable?for?mir::scene::PromptSession;
- vtable?for?mir::scene::PromptSessionCreationParameters;
vtable?for?mir::scene::PromptSessionListener;
vtable?for?mir::scene::PromptSessionManager;
+ vtable?for?mir::scene::SceneChangeNotification;
+ vtable?for?mir::scene::SceneReport;
vtable?for?mir::scene::Session;
vtable?for?mir::scene::SessionCoordinator;
+ vtable?for?mir::scene::SessionEventHandlerRegister;
+ vtable?for?mir::scene::SessionEventSink;
vtable?for?mir::scene::SessionListener;
- vtable?for?mir::scene::Snapshot;
- vtable?for?mir::scene::StreamInfo;
+ vtable?for?mir::scene::SessionLock;
+ vtable?for?mir::scene::SessionLockObserver;
vtable?for?mir::scene::Surface;
+ vtable?for?mir::scene::SurfaceEventSource;
vtable?for?mir::scene::SurfaceFactory;
vtable?for?mir::scene::SurfaceObserver;
+ vtable?for?mir::scene::SurfaceObservers;
+ vtable?for?mir::scene::TextInputChangeHandler;
+ vtable?for?mir::scene::TextInputHub;
+ vtable?for?mir::scene::TextInputStateObserver;
vtable?for?mir::shell::AbstractShell;
- vtable?for?mir::shell::BasicWindowManager;
- vtable?for?mir::shell::CanonicalWindowManagerPolicy;
+ vtable?for?mir::shell::DefaultWindowManager;
vtable?for?mir::shell::DisplayConfigurationController;
vtable?for?mir::shell::DisplayLayout;
vtable?for?mir::shell::FocusController;
+ vtable?for?mir::shell::IdleHandler;
vtable?for?mir::shell::InputTargeter;
- vtable?for?mir::shell::PersistentSurfaceStore::Id;
vtable?for?mir::shell::PersistentSurfaceStore;
- vtable?for?mir::shell::SessionInfo;
vtable?for?mir::shell::Shell;
vtable?for?mir::shell::ShellReport;
vtable?for?mir::shell::ShellWrapper;
- vtable?for?mir::shell::StreamSpecification;
- vtable?for?mir::shell::SurfaceAspectRatio;
- vtable?for?mir::shell::SurfaceInfo;
- vtable?for?mir::shell::SurfaceSpecification;
vtable?for?mir::shell::SurfaceStack;
vtable?for?mir::shell::SurfaceStackWrapper;
vtable?for?mir::shell::SystemCompositorWindowManager;
- vtable?for?mir::shell::WindowManagementPolicy;
vtable?for?mir::shell::WindowManager;
- vtable?for?mir::shell::WindowManagerTools;
vtable?for?mir::time::Alarm;
vtable?for?mir::time::AlarmFactory;
- mir::shell::ShellWrapper::surface_ready*;
- mir::shell::ShellWrapper::set_popup_grab_tree*;
- mir::DefaultServerConfiguration::the_main_clipboard*;
- mir::DefaultServerConfiguration::the_primary_selection_clipboard*;
- "mir::DefaultServerConfiguration::the_drag_icon_controller()";
- "mir::DefaultServerConfiguration::the_pointer_input_dispatcher()";
- mir::shell::SurfaceStackWrapper::swap_z_order*;
- mir::shell::SurfaceStackWrapper::send_to_back*;
- mir::shell::ShellWrapper::swap_z_order*;
- mir::shell::ShellWrapper::send_to_back*;
- };
- local: *;
+ };
+local: *;
};
+
diff --git a/tools/symbols_map_generator/main.py b/tools/symbols_map_generator/main.py
index f48ad6fadff..b5c048eff05 100755
--- a/tools/symbols_map_generator/main.py
+++ b/tools/symbols_map_generator/main.py
@@ -104,15 +104,51 @@ def has_vtable(node: clang.cindex.Cursor):
return False
+def has_virtual_base_class(node: clang.cindex.Cursor):
+ # This method assumes that the node is a class/struct
+
+ result = False
+ for child in node.get_children():
+ if child.kind != clang.cindex.CursorKind.CXX_BASE_SPECIFIER:
+ continue
+
+ if clang.cindex.conf.lib.clang_isVirtualBase(child):
+ result = True
+ else:
+ class_or_struct_node = clang.cindex.conf.lib.clang_getCursorDefinition(child)
+ if class_or_struct_node is None:
+ continue
+
+ result = has_virtual_base_class(class_or_struct_node)
+
+ if result:
+ break
+
+ return result
+
+
def is_function_inline(node: clang.cindex.CursorKind):
# This method assumes that the node is a FUNCTION_DECL.
# There is no explicit way to check if a function is inlined
# but seeing that if it is a FUNCTION_DECL and it has
# a definition is good enough.
- return node.is_definition()
+ return node.is_definition()
+
+
+def get_namespace_str(node: clang.cindex.Cursor) -> list[str]:
+ if node.kind == clang.cindex.CursorKind.TRANSLATION_UNIT:
+ return []
+
+ spelling = node.spelling
+ if is_operator(node):
+ spelling = "operator"
+ elif node.kind == clang.cindex.CursorKind.DESTRUCTOR:
+ spelling = f"?{node.spelling[1:]}"
+
+ return get_namespace_str(node.semantic_parent) + [spelling]
-def traverse_ast(node: clang.cindex.Cursor, filename: str, result: set[str], current_namespace: str = "") -> set[str]:
+def traverse_ast(node: clang.cindex.Cursor, filename: str, result: set[str]) -> set[str]:
# Ignore private and protected variables
if (node.access_specifier == clang.cindex.AccessSpecifier.PRIVATE):
return result
@@ -129,11 +165,7 @@ def traverse_ast(node: clang.cindex.Cursor, filename: str, result: set[str], cur
and not node.is_pure_virtual_method()
and not node.is_anonymous()):
- if current_namespace:
- namespace_str = f"{current_namespace}::{create_node_symbol_name(node)}"
- else:
- namespace_str = create_node_symbol_name(node)
-
+ namespace_str = "::".join(get_namespace_str(node))
_logger.debug(f"Emitting node {namespace_str} in file {node.location.file.name}")
# Classes and structs have a specific output
@@ -141,6 +173,8 @@ def traverse_ast(node: clang.cindex.Cursor, filename: str, result: set[str], cur
or node.kind == clang.cindex.CursorKind.STRUCT_DECL):
if has_vtable(node):
result.add(f"vtable?for?{namespace_str};")
+ if has_virtual_base_class(node):
+ result.add(f"VTT?for?{namespace_str};")
result.add(f"typeinfo?for?{namespace_str};")
else:
def add_internal(s: str):
@@ -215,15 +249,9 @@ def search_class_hierarchy_for_virtual_thunk(derived: clang.cindex.Cursor):
if clang.cindex.conf.lib.clang_Location_isInSystemHeader(node.location):
_logger.debug(f"Node is in a system header={node.location.file.name}")
return result
-
- if node.kind != clang.cindex.CursorKind.TRANSLATION_UNIT:
- if not current_namespace:
- current_namespace = node.spelling
- else:
- current_namespace = f"{current_namespace}::{node.spelling}"
for child in node.get_children():
- traverse_ast(child, filename, result, current_namespace)
+ traverse_ast(child, filename, result)
else:
_logger.debug(f"Nothing to process for node={node.spelling} in file={node.location.file.name}")