diff --git a/CMakeLists.txt b/CMakeLists.txt index eeee08558ae..2f50f676d42 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 1) +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}) @@ -315,7 +315,6 @@ add_custom_target(ptest add_custom_target(release-checks) mir_check_no_unreleased_symbols(mircommon release-checks) -mir_check_no_unreleased_symbols(mircookie release-checks) mir_check_no_unreleased_symbols(mirplatform release-checks) mir_check_no_unreleased_symbols(mirserver release-checks) diff --git a/debian/control b/debian/control index 7f363fc941e..c9b3c84a5a3 100644 --- a/debian/control +++ b/debian/control @@ -64,7 +64,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: libmirserver59 +Package: libmirserver60 Section: libs Architecture: linux-any Multi-Arch: same @@ -77,7 +77,7 @@ Description: Display server for Ubuntu - server library . Contains the shared library needed by server applications for Mir. -Package: libmirplatform27 +Package: libmirplatform28 Section: libs Architecture: linux-any Multi-Arch: same @@ -108,7 +108,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmircommon9 (= ${binary:Version}), +Depends: libmircommon10 (= ${binary:Version}), libmircore-dev (= ${binary:Version}), libxkbcommon-dev, ${misc:Depends}, @@ -125,7 +125,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmirplatform27 (= ${binary:Version}), +Depends: libmirplatform28 (= ${binary:Version}), libmircommon-dev (= ${binary:Version}), libboost-program-options-dev, ${misc:Depends}, @@ -143,7 +143,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmirserver59 (= ${binary:Version}), +Depends: libmirserver60 (= ${binary:Version}), libmirplatform-dev (= ${binary:Version}), libmircommon-dev (= ${binary:Version}), libglm-dev, @@ -234,7 +234,7 @@ Description: Display server for Ubuntu - shared library . Contains the shared libraries required for the Mir server and client. -Package: libmircommon9 +Package: libmircommon10 Section: libs Architecture: linux-any Multi-Arch: same @@ -248,7 +248,7 @@ Description: Display server for Ubuntu - shared library Contains the shared libraries required for the Mir server and client. # Longer-term these drivers should move out-of-tree -Package: mir-platform-graphics-x21 +Package: mir-platform-graphics-x22 Section: libs Architecture: linux-any Multi-Arch: same @@ -262,7 +262,7 @@ Description: Display server for Ubuntu - platform library for X11 Contains the shared libraries required for the Mir server to interact with the X11 platform. -Package: mir-platform-graphics-gbm-kms21 +Package: mir-platform-graphics-gbm-kms22 Section: libs Architecture: linux-any Multi-Arch: same @@ -276,7 +276,7 @@ Description: Display server for Ubuntu - platform library for GBM KMS Contains the shared libraries required for the Mir server to interact with the hardware platform using the Mesa drivers. -Package: mir-platform-graphics-eglstream-kms21 +Package: mir-platform-graphics-eglstream-kms22 Section: libs Architecture: linux-any Multi-Arch: same @@ -291,7 +291,7 @@ Description: Display server for Ubuntu - platform library for NVIDIA the hardware platform using the EGLStream EGL extensions, such as the NVIDIA binary driver. -Package: mir-platform-graphics-wayland21 +Package: mir-platform-graphics-wayland22 Section: libs Architecture: linux-any Multi-Arch: same @@ -305,7 +305,7 @@ Description: Display server for Ubuntu - platform library for Wayland Contains the shared libraries required for the Mir server to interact with a "host" Wayland display server. -Package: mir-platform-rendering-egl-generic21 +Package: mir-platform-rendering-egl-generic22 Section: libs Architecture: linux-any Multi-Arch: same @@ -319,7 +319,7 @@ Description: Display server for Ubuntu - generic EGL rendering platform Contains the shared libraries required for the Mir server to provide accelerated client rendering via standard EGL interfaces. -Package: mir-platform-graphics-virtual21 +Package: mir-platform-graphics-virtual22 Section: libs Architecture: linux-any Multi-Arch: same @@ -349,7 +349,7 @@ Description: Display server for Ubuntu - Nvidia driver metapackage . This package depends on a full set of graphics and input drivers for Nvidia systems. -Package: mir-platform-input-evdev8 +Package: mir-platform-input-evdev9 Section: libs Architecture: linux-any Multi-Arch: same @@ -387,8 +387,8 @@ Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, - mir-platform-graphics-gbm-kms21, - mir-platform-input-evdev8, + mir-platform-graphics-gbm-kms22, + mir-platform-input-evdev9, mir-platform-rendering-egl-generic, Description: Display server for Ubuntu - gbm-kms driver metapackage Mir is a display server running on linux systems, with a focus on efficiency, @@ -403,8 +403,8 @@ Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, - mir-platform-graphics-eglstream-kms21, - mir-platform-input-evdev8, + mir-platform-graphics-eglstream-kms22, + mir-platform-input-evdev9, Description: Display server for Ubuntu - eglstream-kms driver metapackage Mir is a display server running on linux systems, with a focus on efficiency, robust operation and a well-defined driver model. @@ -418,7 +418,7 @@ Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, - mir-platform-graphics-wayland21, + mir-platform-graphics-wayland22, mir-platform-rendering-egl-generic, Description: Display server for Ubuntu - wayland driver metapackage Mir is a display server running on linux systems, with a focus on efficiency, @@ -432,7 +432,7 @@ Section: libs Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: mir-platform-rendering-egl-generic21 +Depends: mir-platform-rendering-egl-generic22 Description: Display server for Ubuntu - EGL rendering provider metapackage Mir is a display server running on linux systems, with a focus on efficiency, robust operation and a well-defined driver model. @@ -445,7 +445,7 @@ Section: libs Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: mir-platform-graphics-virtual21 +Depends: mir-platform-graphics-virtual22 Description: Display server for Ubuntu - virtual display provider metapackage Mir is a display server running on linux systems, with a focus on efficiency, robust operation and a well-defined driver model. @@ -458,7 +458,7 @@ Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, - mir-platform-graphics-x21, + mir-platform-graphics-x22, mir-platform-rendering-egl-generic, Description: Display server for Ubuntu - x driver metapackage Mir is a display server running on linux systems, with a focus on efficiency, @@ -467,34 +467,6 @@ Description: Display server for Ubuntu - x driver metapackage This package depends on a full set of graphics and input drivers for X systems. -Package: libmircookie2 -Section: libs -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: ${misc:Depends}, - ${shlibs:Depends}, -Description: Produce and verify spoof-resistant timestamps - runtime library - libmircookie provides a simple mechanism for a group of cooperating processes - to hand out and verify difficult-to-forge timestamps to untrusted 3rd parties. - . - This package contains the runtime library for generating and verifying the - attestable timestamps. - -Package: libmircookie-dev -Section: libdevel -Architecture: any -Multi-Arch: same -Pre-Depends: ${misc:Pre-Depends} -Depends: libmircookie2 (= ${binary:Version}), - ${misc:Depends}, -Description: Produce and verify spoof-resistant timestamps - development headers - libmircookie provides a simple mechanism for a group of cooperating processes - to hand out and verify difficult-to-forge timestamps to untrusted 3rd parties. - . - This package contains the development headers for building programs that - generate or verify the attestable timestamps. - Package: libmirrenderer-dev Section: libdevel Architecture: linux-any @@ -522,7 +494,7 @@ Description: Display server for Ubuntu - GL Renderer development files Contains header files that define the interfaces through which platforms and renderers access the functionality needed to render with GL. -Package: libmiral6 +Package: libmiral7 Section: libs Architecture: linux-any Multi-Arch: same @@ -540,7 +512,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmiral6 (= ${libmiral6:Version}), +Depends: libmiral7 (= ${libmiral7:Version}), # ${source:Version} is technically incorrect, but Launchpad doesn't do BinNMUs # so it's harmless. libmircommon-dev (= ${source:Version}), @@ -552,7 +524,7 @@ Description: Developer files for the Mir ABI-stable abstraction layer Contains header files required for development using the MirAL abstraction layer. -Package: libmiroil4 +Package: libmiroil5 Section: libs Architecture: linux-any Multi-Arch: same @@ -569,7 +541,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmiroil4 (= ${binary:Version}), +Depends: libmiroil5 (= ${binary:Version}), ${misc:Depends}, Description: Developer files for the Mir Lomiri compatibility library MirOil provides the Lomiri compatibility API. @@ -577,7 +549,7 @@ Description: Developer files for the Mir Lomiri compatibility library Contains header files required for development using the Lomiri compatibility library. -Package: libmirwayland4 +Package: libmirwayland5 Section: libs Architecture: linux-any Multi-Arch: same @@ -595,7 +567,7 @@ Section: libdevel Architecture: linux-any Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} -Depends: libmirwayland4 (= ${binary:Version}), +Depends: libmirwayland5 (= ${binary:Version}), libmircore-dev (= ${binary:Version}), ${misc:Depends}, libmirwayland-bin (= ${binary:Version}), diff --git a/debian/libmiral6.install b/debian/libmiral6.install deleted file mode 100644 index b4b0d42727d..00000000000 --- a/debian/libmiral6.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmiral.so.6 diff --git a/debian/libmiral7.install b/debian/libmiral7.install new file mode 100644 index 00000000000..22473ece7a4 --- /dev/null +++ b/debian/libmiral7.install @@ -0,0 +1 @@ +usr/lib/*/libmiral.so.7 diff --git a/debian/libmiral6.symbols b/debian/libmiral7.symbols similarity index 52% rename from debian/libmiral6.symbols rename to debian/libmiral7.symbols index 74652fa3f3c..e43782219e8 100644 --- a/debian/libmiral6.symbols +++ b/debian/libmiral7.symbols @@ -1,427 +1,425 @@ -libmiral.so.6 libmiral6 #MINVER# - MIRAL_4.0@MIRAL_4.0 4.0.0 - (c++)"miral::AddInitCallback::AddInitCallback(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::AddInitCallback::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::AddInitCallback::~AddInitCallback()@MIRAL_4.0" 4.0.0 - (c++)"miral::AppendEventFilter::AppendEventFilter(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::AppendEventFilter::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationCredentials::ApplicationCredentials(mir::frontend::SessionCredentials const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationCredentials::gid() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationCredentials::pid() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationCredentials::uid() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::ApplicationInfo()@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::ApplicationInfo(miral::ApplicationInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::ApplicationInfo(std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::application() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::name[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::operator=(miral::ApplicationInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::userdata() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::userdata(std::shared_ptr)@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::windows() const@MIRAL_4.0" 4.0.0 - (c++)"miral::ApplicationInfo::~ApplicationInfo()@MIRAL_4.0" 4.0.0 - (c++)"miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer(std::function ()> const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::BasicSetApplicationAuthorizer::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::BasicSetApplicationAuthorizer::the_application_authorizer() const@MIRAL_4.0" 4.0.0 - (c++)"miral::BasicSetApplicationAuthorizer::~BasicSetApplicationAuthorizer()@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy(miral::WindowManagerTools const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::advise_focus_gained(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::confirm_inherited_move(miral::WindowInfo const&, mir::geometry::generic::Displacement)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::confirm_placement_on_display(miral::WindowInfo const&, MirWindowState, mir::geometry::generic::Rectangle const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::handle_modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::handle_raise_window(miral::WindowInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::handle_window_ready(miral::WindowInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CanonicalWindowManagerPolicy::place_new_window(miral::ApplicationInfo const&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(miral::ConfigurationOption const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, bool)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, double)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, char const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator >, std::allocator, std::allocator > > > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::operator=(miral::ConfigurationOption const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ConfigurationOption::~ConfigurationOption()@MIRAL_4.0" 4.0.0 - (c++)"miral::CursorTheme::CursorTheme(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::CursorTheme::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::CursorTheme::~CursorTheme()@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::DisplayConfiguration(miral::DisplayConfiguration const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::DisplayConfiguration(miral::MirRunner const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::add_output_attribute(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::layout_option()@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::list_layouts[abi:cxx11]()@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::operator=(miral::DisplayConfiguration const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::select_layout(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::DisplayConfiguration::~DisplayConfiguration()@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::ExternalClientLauncher()@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::launch(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::launch(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::launch_using_x11(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::snapcraft_launch(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::split_command(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::ExternalClientLauncher::~ExternalClientLauncher()@MIRAL_4.0" 4.0.0 - (c++)"miral::InternalClientLauncher::InternalClientLauncher()@MIRAL_4.0" 4.0.0 - (c++)"miral::InternalClientLauncher::launch(std::function const&, std::function)> const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::InternalClientLauncher::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::InternalClientLauncher::~InternalClientLauncher()@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::Keymap()@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::Keymap(miral::Keymap const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::Keymap(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::operator=(miral::Keymap const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::set_keymap(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Keymap::~Keymap()@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&, MirInputEventModifier)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::advise_delete_app(miral::ApplicationInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::advise_focus_gained(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::advise_focus_lost(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::advise_new_app(miral::ApplicationInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::begin_pointer_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::begin_pointer_resize(miral::WindowInfo const&, MirInputEvent const*, MirResizeEdge const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::begin_touch_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::begin_touch_resize(miral::WindowInfo const&, MirInputEvent const*, MirResizeEdge const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::confirm_inherited_move(miral::WindowInfo const&, mir::geometry::generic::Displacement)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::confirm_placement_on_display(miral::WindowInfo const&, MirWindowState, mir::geometry::generic::Rectangle const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_keyboard_event(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_pointer_event(MirPointerEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_raise_window(miral::WindowInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_request_move(miral::WindowInfo&, MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_request_resize(miral::WindowInfo&, MirInputEvent const*, MirResizeEdge)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_touch_event(MirTouchEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::handle_window_ready(miral::WindowInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::place_new_window(miral::ApplicationInfo const&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MinimalWindowManager::~MinimalWindowManager()@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::MirRunner(int, char const**)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::MirRunner(int, char const**, char const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::add_start_callback(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::add_stop_callback(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::config_file[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::display_config_file[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::register_fd_handler(mir::Fd, std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::register_signal_handler(std::initializer_list, std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::run_with(std::initializer_list >)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::set_exception_handler(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::stop()@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::wayland_display[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::x11_display[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::MirRunner::~MirRunner()@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::Output(mir::graphics::DisplayConfigurationOutput const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::Output(miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::attribute(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::attributes_map[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::connected() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::extents() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::form_factor() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::is_same_output(miral::Output const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::logical_group_id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::name[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::operator=(miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::orientation() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::physical_size_mm() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::pixel_format() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::power_mode() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::refresh_rate() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::scale() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::type() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::used() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::valid() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Output::~Output()@MIRAL_4.0" 4.0.0 - (c++)"miral::PrependEventFilter::PrependEventFilter(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::PrependEventFilter::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::PrintTo(miral::Window const&, std::basic_ostream >*)@MIRAL_4.0" 4.0.0 - (c++)"miral::SetCommandLineHandler::SetCommandLineHandler(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::SetCommandLineHandler::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::SetCommandLineHandler::~SetCommandLineHandler()@MIRAL_4.0" 4.0.0 - (c++)"miral::SetTerminator::SetTerminator(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::SetTerminator::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::SetTerminator::~SetTerminator()@MIRAL_4.0" 4.0.0 - (c++)"miral::SetWindowManagementPolicy::SetWindowManagementPolicy(std::function > (miral::WindowManagerTools const&)> const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::SetWindowManagementPolicy::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::SetWindowManagementPolicy::~SetWindowManagementPolicy()@MIRAL_4.0" 4.0.0 - (c++)"miral::StartupInternalClient::StartupInternalClient(std::function, std::function)>)@MIRAL_4.0" 4.0.0 - (c++)"miral::StartupInternalClient::operator()(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::StartupInternalClient::~StartupInternalClient()@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::EnableInfo::app() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::EnableInfo::name() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::EnableInfo::user_preference() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::WaylandExtensions()@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::WaylandExtensions(miral::WaylandExtensions const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::add_extension(miral::WaylandExtensions::Builder const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::add_extension_disabled_by_default(miral::WaylandExtensions::Builder const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::all_supported[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::conditionally_enable(std::__cxx11::basic_string, std::allocator >, std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::disable(std::__cxx11::basic_string, std::allocator >)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::enable(std::__cxx11::basic_string, std::allocator >)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::ext_session_lock_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::operator=(miral::WaylandExtensions const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::recommended[abi:cxx11]()@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::supported[abi:cxx11]()@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwlr_foreign_toplevel_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwlr_layer_shell_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwlr_screencopy_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwlr_virtual_pointer_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwp_input_method_manager_v2@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zwp_virtual_keyboard_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::zxdg_output_manager_v1@MIRAL_4.0" 4.0.0 - (c++)"miral::WaylandExtensions::~WaylandExtensions()@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::Window()@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::Window(std::shared_ptr const&, std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::application() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::move_to(mir::geometry::generic::Point)@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::operator bool() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::operator std::shared_ptr() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::operator std::weak_ptr() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::resize(mir::geometry::generic::Size const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::size() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::top_left() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Window::~Window()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::WindowInfo()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::WindowInfo(miral::Window const&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::WindowInfo(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::application_id[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::attached_edges() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::can_be_active() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::can_morph_to(MirWindowType) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::children() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::clip_area() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::clip_area(mir::optional_value > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::confine_pointer() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::constrain_resize(mir::geometry::generic::Point&, mir::geometry::generic::Size&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::depth_layer() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::exclusive_rect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::focus_mode() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::has_output_id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::height_inc() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::is_visible() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::max_aspect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::max_height() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::max_width() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::min_aspect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::min_height() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::min_width() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::must_have_parent() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::must_not_have_parent() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::name[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::needs_titlebar(MirWindowType)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::operator=(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::output_id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::parent() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::preferred_orientation() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::restore_rect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::shell_chrome() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::state() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::type() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::userdata() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::userdata(std::shared_ptr)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::visible_on_lock_screen() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::width_inc() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::window() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowInfo::~WindowInfo()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_adding_to_workspace(std::shared_ptr const&, std::vector > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_application_zone_create(miral::Zone const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_application_zone_delete(miral::Zone const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_application_zone_update(miral::Zone const&, miral::Zone const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_begin()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_delete_app(miral::ApplicationInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_delete_window(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_end()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_focus_gained(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_focus_lost(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_move_to(miral::WindowInfo const&, mir::geometry::generic::Point)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_new_app(miral::ApplicationInfo&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_new_window(miral::WindowInfo const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_output_create(miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_output_delete(miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_output_update(miral::Output const&, miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_raise(std::vector > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_removing_from_workspace(std::shared_ptr const&, std::vector > const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_resize(miral::WindowInfo const&, mir::geometry::generic::Size const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagementPolicy::advise_state_change(miral::WindowInfo const&, MirWindowState)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerOptions::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::WindowManagerTools(miral::WindowManagerTools const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::WindowManagerTools(miral::WindowManagerToolsImplementation*)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::active_application_zone() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::active_output()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::active_window() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::add_tree_to_workspace(miral::Window const&, std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::ask_client_to_close(miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::count_applications() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::create_workspace()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::drag_active_window(mir::geometry::generic::Displacement)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::drag_window(miral::Window const&, mir::geometry::generic::Displacement)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::find_application(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::focus_next_application()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::focus_next_within_application()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::focus_prev_application()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::focus_prev_within_application()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::for_each_application(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::for_each_window_in_workspace(std::shared_ptr const&, std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::for_each_workspace_containing(miral::Window const&, std::function const&)> const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::id_for_window[abi:cxx11](miral::Window const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::info_for(miral::Window const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::info_for(std::weak_ptr const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::info_for(std::weak_ptr const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::info_for_window_id(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::invoke_under_lock(std::function const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::modify_window(miral::Window const&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::move_workspace_content_to_workspace(std::shared_ptr const&, std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::operator=(miral::WindowManagerTools const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::place_and_size_for_state(miral::WindowSpecification&, miral::WindowInfo const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::raise_tree(miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::remove_tree_from_workspace(miral::Window const&, std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::select_active_window(miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::send_tree_to_back(miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::swap_tree_order(miral::Window const&, miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::window_at(mir::geometry::generic::Point) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::window_to_select_application(std::shared_ptr) const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowManagerTools::~WindowManagerTools()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::WindowSpecification()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::WindowSpecification(mir::shell::SurfaceSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::WindowSpecification(miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::application_id[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::application_id[abi:cxx11]()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::attached_edges() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::attached_edges()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect_placement_gravity() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect_placement_gravity()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect_placement_offset() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::aux_rect_placement_offset()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::confine_pointer() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::confine_pointer()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::depth_layer() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::depth_layer()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::exclusive_rect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::exclusive_rect()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::focus_mode() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::focus_mode()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::height_inc() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::height_inc()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::input_mode() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::input_mode()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::input_shape() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::input_shape()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_aspect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_aspect()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_height() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_height()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_width() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::max_width()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_aspect() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_aspect()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_height() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_height()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_width() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::min_width()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::name[abi:cxx11]() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::name[abi:cxx11]()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::operator=(miral::WindowSpecification const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::output_id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::output_id()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::parent() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::parent()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::placement_hints() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::placement_hints()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::preferred_orientation() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::preferred_orientation()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::server_side_decorated() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::server_side_decorated()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::shell_chrome() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::shell_chrome()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::size() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::size()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::state() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::state()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::top_left() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::top_left()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::type() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::type()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::userdata() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::userdata()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::visible_on_lock_screen() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::visible_on_lock_screen()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::width_inc() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::width_inc()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::window_placement_gravity() const@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::window_placement_gravity()@MIRAL_4.0" 4.0.0 - (c++)"miral::WindowSpecification::~WindowSpecification()@MIRAL_4.0" 4.0.0 - (c++)"miral::X11Support::X11Support()@MIRAL_4.0" 4.0.0 - (c++)"miral::X11Support::X11Support(miral::X11Support const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::X11Support::operator()(mir::Server&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::X11Support::operator=(miral::X11Support const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::X11Support::~X11Support()@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::Zone(mir::geometry::generic::Rectangle const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::Zone(miral::Zone const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::extents() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::extents(mir::geometry::generic::Rectangle const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::id() const@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::is_same_zone(miral::Zone const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::operator=(miral::Zone const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::operator==(miral::Zone const&) const@MIRAL_4.0" 4.0.0 - (c++)"miral::Zone::~Zone()@MIRAL_4.0" 4.0.0 - (c++)"miral::application_for(wl_client*)@MIRAL_4.0" 4.0.0 - (c++)"miral::application_for(wl_resource*)@MIRAL_4.0" 4.0.0 - (c++)"miral::apply_lifecycle_state_to(std::shared_ptr const&, MirLifecycleState)@MIRAL_4.0" 4.0.0 - (c++)"miral::display_configuration_options(mir::Server&)@MIRAL_4.0" 4.0.0 - (c++)"miral::equivalent_display_area(miral::Output const&, miral::Output const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::kill(std::shared_ptr const&, int)@MIRAL_4.0" 4.0.0 - (c++)"miral::name_of[abi:cxx11](std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::operator<(miral::Window const&, miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::operator==(miral::Output::PhysicalSizeMM const&, miral::Output::PhysicalSizeMM const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::operator==(miral::Window const&, miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::operator==(miral::Window const&, std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::operator==(std::shared_ptr const&, miral::Window const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::pid_of(std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::pre_init(miral::ConfigurationOption const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::socket_fd_of(std::shared_ptr const&)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_event_get_input_event(MirEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_event_get_type(MirEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_event(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_event_time(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_keyboard_event(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_pointer_event(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_touch_event(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_get_type(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_input_event_has_cookie(MirInputEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_action(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_input_event(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_key_text(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_keysym(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_modifiers(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_keyboard_event_scan_code(MirKeyboardEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_action(MirPointerEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_axis_value(MirPointerEvent const*, MirPointerAxis)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_button_state(MirPointerEvent const*, MirPointerButton)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_buttons(MirPointerEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_input_event(MirPointerEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_pointer_event_modifiers(MirPointerEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_action(MirTouchEvent const*, unsigned int)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_axis_value(MirTouchEvent const*, unsigned int, MirTouchAxis)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_id(MirTouchEvent const*, unsigned int)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_input_event(MirTouchEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_modifiers(MirTouchEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_point_count(MirTouchEvent const*)@MIRAL_4.0" 4.0.0 - (c++)"miral::toolkit::mir_touch_event_tooltype(MirTouchEvent const*, unsigned int)@MIRAL_4.0" 4.0.0 - (c++)"miral::window_for(wl_resource*)@MIRAL_4.0" 4.0.0 - (c++)"typeinfo for miral::CanonicalWindowManagerPolicy@MIRAL_4.0" 4.0.0 - (c++)"typeinfo for miral::MinimalWindowManager@MIRAL_4.0" 4.0.0 - (c++)"typeinfo for miral::WaylandExtensions::Context@MIRAL_4.0" 4.0.0 - (c++)"typeinfo for miral::WindowManagementPolicy@MIRAL_4.0" 4.0.0 - (c++)"vtable for miral::CanonicalWindowManagerPolicy@MIRAL_4.0" 4.0.0 - (c++)"vtable for miral::MinimalWindowManager@MIRAL_4.0" 4.0.0 - (c++)"vtable for miral::WindowManagementPolicy@MIRAL_4.0" 4.0.0 - MIRAL_4.1@MIRAL_4.1 4.1.0 - (c++)"miral::WaylandExtensions::zwp_input_method_v1@MIRAL_4.1" 4.1.0 - (c++)"miral::WaylandExtensions::zwp_input_panel_v1@MIRAL_4.1" 4.1.0 - (c++)"miral::X11Support::default_to_enabled()@MIRAL_4.1" 4.1.0 +libmiral.so.7 libmiral7 #MINVER# + MIRAL_5.0@MIRAL_5.0 5.0.0 + (c++)"miral::AddInitCallback::AddInitCallback(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::AddInitCallback::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::AddInitCallback::~AddInitCallback()@MIRAL_5.0" 5.0.0 + (c++)"miral::AppendEventFilter::AppendEventFilter(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::AppendEventFilter::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationCredentials::ApplicationCredentials(mir::frontend::SessionCredentials const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationCredentials::gid() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationCredentials::pid() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationCredentials::uid() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::ApplicationInfo()@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::ApplicationInfo(miral::ApplicationInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::ApplicationInfo(std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::application() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::name[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::operator=(miral::ApplicationInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::userdata() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::userdata(std::shared_ptr)@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::windows() const@MIRAL_5.0" 5.0.0 + (c++)"miral::ApplicationInfo::~ApplicationInfo()@MIRAL_5.0" 5.0.0 + (c++)"miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer(std::function ()> const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::BasicSetApplicationAuthorizer::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::BasicSetApplicationAuthorizer::the_application_authorizer() const@MIRAL_5.0" 5.0.0 + (c++)"miral::BasicSetApplicationAuthorizer::~BasicSetApplicationAuthorizer()@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy(miral::WindowManagerTools const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::advise_focus_gained(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::confirm_inherited_move(miral::WindowInfo const&, mir::geometry::generic::Displacement)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::confirm_placement_on_display(miral::WindowInfo const&, MirWindowState, mir::geometry::generic::Rectangle const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::handle_modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::handle_raise_window(miral::WindowInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::handle_window_ready(miral::WindowInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CanonicalWindowManagerPolicy::place_new_window(miral::ApplicationInfo const&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(miral::ConfigurationOption const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, bool)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, double)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, char const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::ConfigurationOption(std::function, std::allocator >, std::allocator, std::allocator > > > const&)>, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::operator=(miral::ConfigurationOption const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ConfigurationOption::~ConfigurationOption()@MIRAL_5.0" 5.0.0 + (c++)"miral::CursorTheme::CursorTheme(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::CursorTheme::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::CursorTheme::~CursorTheme()@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::DisplayConfiguration(miral::DisplayConfiguration const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::DisplayConfiguration(miral::MirRunner const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::add_output_attribute(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::layout_option()@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::list_layouts[abi:cxx11]()@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::operator=(miral::DisplayConfiguration const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::select_layout(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::DisplayConfiguration::~DisplayConfiguration()@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::ExternalClientLauncher()@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::launch(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::launch(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::launch_using_x11(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::snapcraft_launch(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::split_command(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::ExternalClientLauncher::~ExternalClientLauncher()@MIRAL_5.0" 5.0.0 + (c++)"miral::InternalClientLauncher::InternalClientLauncher()@MIRAL_5.0" 5.0.0 + (c++)"miral::InternalClientLauncher::launch(std::function const&, std::function)> const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::InternalClientLauncher::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::InternalClientLauncher::~InternalClientLauncher()@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::Keymap()@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::Keymap(miral::Keymap const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::Keymap(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::operator=(miral::Keymap const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::set_keymap(std::__cxx11::basic_string, std::allocator > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Keymap::~Keymap()@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::MinimalWindowManager(miral::WindowManagerTools const&, MirInputEventModifier)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::advise_delete_app(miral::ApplicationInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::advise_focus_gained(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::advise_focus_lost(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::advise_new_app(miral::ApplicationInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::begin_pointer_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::begin_pointer_resize(miral::WindowInfo const&, MirInputEvent const*, MirResizeEdge const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::begin_touch_move(miral::WindowInfo const&, MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::begin_touch_resize(miral::WindowInfo const&, MirInputEvent const*, MirResizeEdge const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::confirm_inherited_move(miral::WindowInfo const&, mir::geometry::generic::Displacement)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::confirm_placement_on_display(miral::WindowInfo const&, MirWindowState, mir::geometry::generic::Rectangle const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_keyboard_event(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_pointer_event(MirPointerEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_raise_window(miral::WindowInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_request_move(miral::WindowInfo&, MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_request_resize(miral::WindowInfo&, MirInputEvent const*, MirResizeEdge)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_touch_event(MirTouchEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::handle_window_ready(miral::WindowInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::place_new_window(miral::ApplicationInfo const&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MinimalWindowManager::~MinimalWindowManager()@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::MirRunner(int, char const**)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::MirRunner(int, char const**, char const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::add_start_callback(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::add_stop_callback(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::config_file[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::display_config_file[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::register_fd_handler(mir::Fd, std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::register_signal_handler(std::initializer_list, std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::run_with(std::initializer_list >)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::set_exception_handler(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::stop()@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::wayland_display[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::x11_display[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::MirRunner::~MirRunner()@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::Output(mir::graphics::DisplayConfigurationOutput const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::Output(miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::attribute(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::attributes_map[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::connected() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::extents() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::form_factor() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::is_same_output(miral::Output const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::logical_group_id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::name[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::operator=(miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::orientation() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::physical_size_mm() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::pixel_format() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::power_mode() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::refresh_rate() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::scale() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::type() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::used() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::valid() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Output::~Output()@MIRAL_5.0" 5.0.0 + (c++)"miral::PrependEventFilter::PrependEventFilter(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::PrependEventFilter::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::PrintTo(miral::Window const&, std::basic_ostream >*)@MIRAL_5.0" 5.0.0 + (c++)"miral::SetCommandLineHandler::SetCommandLineHandler(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::SetCommandLineHandler::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::SetCommandLineHandler::~SetCommandLineHandler()@MIRAL_5.0" 5.0.0 + (c++)"miral::SetTerminator::SetTerminator(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::SetTerminator::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::SetTerminator::~SetTerminator()@MIRAL_5.0" 5.0.0 + (c++)"miral::SetWindowManagementPolicy::SetWindowManagementPolicy(std::function > (miral::WindowManagerTools const&)> const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::SetWindowManagementPolicy::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::SetWindowManagementPolicy::~SetWindowManagementPolicy()@MIRAL_5.0" 5.0.0 + (c++)"miral::StartupInternalClient::StartupInternalClient(std::function, std::function)>)@MIRAL_5.0" 5.0.0 + (c++)"miral::StartupInternalClient::operator()(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::StartupInternalClient::~StartupInternalClient()@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::EnableInfo::app() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::EnableInfo::name() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::EnableInfo::user_preference() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::WaylandExtensions()@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::WaylandExtensions(miral::WaylandExtensions const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::add_extension(miral::WaylandExtensions::Builder const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::add_extension_disabled_by_default(miral::WaylandExtensions::Builder const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::all_supported[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::conditionally_enable(std::__cxx11::basic_string, std::allocator >, std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::disable(std::__cxx11::basic_string, std::allocator >)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::enable(std::__cxx11::basic_string, std::allocator >)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::ext_session_lock_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::operator=(miral::WaylandExtensions const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::recommended[abi:cxx11]()@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::supported[abi:cxx11]()@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwlr_foreign_toplevel_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwlr_layer_shell_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwlr_screencopy_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwlr_virtual_pointer_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwp_input_method_manager_v2@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwp_input_method_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwp_input_panel_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zwp_virtual_keyboard_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::zxdg_output_manager_v1@MIRAL_5.0" 5.0.0 + (c++)"miral::WaylandExtensions::~WaylandExtensions()@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::Window()@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::Window(std::shared_ptr const&, std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::application() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::move_to(mir::geometry::generic::Point)@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::operator bool() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::operator std::shared_ptr() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::operator std::weak_ptr() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::resize(mir::geometry::generic::Size const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::size() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::top_left() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Window::~Window()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::WindowInfo()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::WindowInfo(miral::Window const&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::WindowInfo(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::application_id[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::attached_edges() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::can_be_active() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::can_morph_to(MirWindowType) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::children() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::clip_area() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::clip_area(mir::optional_value > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::confine_pointer() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::constrain_resize(mir::geometry::generic::Point&, mir::geometry::generic::Size&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::depth_layer() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::exclusive_rect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::focus_mode() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::has_output_id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::height_inc() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::is_visible() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::max_aspect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::max_height() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::max_width() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::min_aspect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::min_height() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::min_width() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::must_have_parent() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::must_not_have_parent() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::name[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::needs_titlebar(MirWindowType)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::operator=(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::output_id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::parent() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::preferred_orientation() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::restore_rect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::shell_chrome() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::state() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::type() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::userdata() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::userdata(std::shared_ptr)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::visible_on_lock_screen() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::width_inc() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::window() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowInfo::~WindowInfo()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_adding_to_workspace(std::shared_ptr const&, std::vector > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_application_zone_create(miral::Zone const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_application_zone_delete(miral::Zone const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_application_zone_update(miral::Zone const&, miral::Zone const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_begin()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_delete_app(miral::ApplicationInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_delete_window(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_end()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_focus_gained(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_focus_lost(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_move_to(miral::WindowInfo const&, mir::geometry::generic::Point)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_new_app(miral::ApplicationInfo&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_new_window(miral::WindowInfo const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_output_create(miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_output_delete(miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_output_update(miral::Output const&, miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_raise(std::vector > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_removing_from_workspace(std::shared_ptr const&, std::vector > const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_resize(miral::WindowInfo const&, mir::geometry::generic::Size const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagementPolicy::advise_state_change(miral::WindowInfo const&, MirWindowState)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerOptions::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::WindowManagerTools(miral::WindowManagerTools const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::WindowManagerTools(miral::WindowManagerToolsImplementation*)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::active_application_zone() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::active_output()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::active_window() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::add_tree_to_workspace(miral::Window const&, std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::ask_client_to_close(miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::count_applications() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::create_workspace()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::drag_active_window(mir::geometry::generic::Displacement)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::drag_window(miral::Window const&, mir::geometry::generic::Displacement)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::find_application(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::focus_next_application()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::focus_next_within_application()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::focus_prev_application()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::focus_prev_within_application()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::for_each_application(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::for_each_window_in_workspace(std::shared_ptr const&, std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::for_each_workspace_containing(miral::Window const&, std::function const&)> const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::id_for_window[abi:cxx11](miral::Window const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::info_for(miral::Window const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::info_for(std::weak_ptr const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::info_for(std::weak_ptr const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::info_for_window_id(std::__cxx11::basic_string, std::allocator > const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::invoke_under_lock(std::function const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::modify_window(miral::Window const&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::modify_window(miral::WindowInfo&, miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::move_workspace_content_to_workspace(std::shared_ptr const&, std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::operator=(miral::WindowManagerTools const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::place_and_size_for_state(miral::WindowSpecification&, miral::WindowInfo const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::raise_tree(miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::remove_tree_from_workspace(miral::Window const&, std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::select_active_window(miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::send_tree_to_back(miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::swap_tree_order(miral::Window const&, miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::window_at(mir::geometry::generic::Point) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::window_to_select_application(std::shared_ptr) const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowManagerTools::~WindowManagerTools()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::WindowSpecification()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::WindowSpecification(mir::shell::SurfaceSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::WindowSpecification(miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::application_id[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::application_id[abi:cxx11]()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::attached_edges() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::attached_edges()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect_placement_gravity() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect_placement_gravity()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect_placement_offset() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::aux_rect_placement_offset()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::confine_pointer() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::confine_pointer()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::depth_layer() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::depth_layer()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::exclusive_rect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::exclusive_rect()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::focus_mode() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::focus_mode()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::height_inc() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::height_inc()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::input_mode() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::input_mode()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::input_shape() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::input_shape()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_aspect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_aspect()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_height() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_height()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_width() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::max_width()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_aspect() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_aspect()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_height() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_height()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_width() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::min_width()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::name[abi:cxx11]() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::name[abi:cxx11]()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::operator=(miral::WindowSpecification const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::output_id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::output_id()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::parent() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::parent()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::placement_hints() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::placement_hints()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::preferred_orientation() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::preferred_orientation()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::server_side_decorated() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::server_side_decorated()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::shell_chrome() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::shell_chrome()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::size() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::size()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::state() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::state()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::top_left() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::top_left()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::type() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::type()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::userdata() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::userdata()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::visible_on_lock_screen() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::visible_on_lock_screen()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::width_inc() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::width_inc()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::window_placement_gravity() const@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::window_placement_gravity()@MIRAL_5.0" 5.0.0 + (c++)"miral::WindowSpecification::~WindowSpecification()@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::X11Support()@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::X11Support(miral::X11Support const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::default_to_enabled()@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::operator()(mir::Server&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::operator=(miral::X11Support const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::X11Support::~X11Support()@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::Zone(mir::geometry::generic::Rectangle const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::Zone(miral::Zone const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::extents() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::extents(mir::geometry::generic::Rectangle const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::id() const@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::is_same_zone(miral::Zone const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::operator=(miral::Zone const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::operator==(miral::Zone const&) const@MIRAL_5.0" 5.0.0 + (c++)"miral::Zone::~Zone()@MIRAL_5.0" 5.0.0 + (c++)"miral::application_for(wl_client*)@MIRAL_5.0" 5.0.0 + (c++)"miral::application_for(wl_resource*)@MIRAL_5.0" 5.0.0 + (c++)"miral::apply_lifecycle_state_to(std::shared_ptr const&, MirLifecycleState)@MIRAL_5.0" 5.0.0 + (c++)"miral::display_configuration_options(mir::Server&)@MIRAL_5.0" 5.0.0 + (c++)"miral::equivalent_display_area(miral::Output const&, miral::Output const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::kill(std::shared_ptr const&, int)@MIRAL_5.0" 5.0.0 + (c++)"miral::name_of[abi:cxx11](std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::operator<(miral::Window const&, miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::operator==(miral::Output::PhysicalSizeMM const&, miral::Output::PhysicalSizeMM const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::operator==(miral::Window const&, miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::operator==(miral::Window const&, std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::operator==(std::shared_ptr const&, miral::Window const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::pid_of(std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::pre_init(miral::ConfigurationOption const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::socket_fd_of(std::shared_ptr const&)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_event_get_input_event(MirEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_event_get_type(MirEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_event(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_event_time(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_keyboard_event(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_pointer_event(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_touch_event(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_input_event_get_type(MirInputEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_action(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_input_event(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_key_text(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_keysym(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_modifiers(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_keyboard_event_scan_code(MirKeyboardEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_action(MirPointerEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_axis_value(MirPointerEvent const*, MirPointerAxis)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_button_state(MirPointerEvent const*, MirPointerButton)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_buttons(MirPointerEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_input_event(MirPointerEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_pointer_event_modifiers(MirPointerEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_action(MirTouchEvent const*, unsigned int)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_axis_value(MirTouchEvent const*, unsigned int, MirTouchAxis)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_id(MirTouchEvent const*, unsigned int)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_input_event(MirTouchEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_modifiers(MirTouchEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_point_count(MirTouchEvent const*)@MIRAL_5.0" 5.0.0 + (c++)"miral::toolkit::mir_touch_event_tooltype(MirTouchEvent const*, unsigned int)@MIRAL_5.0" 5.0.0 + (c++)"miral::window_for(wl_resource*)@MIRAL_5.0" 5.0.0 + (c++)"typeinfo for miral::CanonicalWindowManagerPolicy@MIRAL_5.0" 5.0.0 + (c++)"typeinfo for miral::MinimalWindowManager@MIRAL_5.0" 5.0.0 + (c++)"typeinfo for miral::WaylandExtensions::Context@MIRAL_5.0" 5.0.0 + (c++)"typeinfo for miral::WindowManagementPolicy@MIRAL_5.0" 5.0.0 + (c++)"vtable for miral::CanonicalWindowManagerPolicy@MIRAL_5.0" 5.0.0 + (c++)"vtable for miral::MinimalWindowManager@MIRAL_5.0" 5.0.0 + (c++)"vtable for miral::WindowManagementPolicy@MIRAL_5.0" 5.0.0 diff --git a/debian/libmircommon10.install b/debian/libmircommon10.install new file mode 100644 index 00000000000..5233fdfb457 --- /dev/null +++ b/debian/libmircommon10.install @@ -0,0 +1 @@ +usr/lib/*/libmircommon.so.10 diff --git a/debian/libmircommon9.install b/debian/libmircommon9.install deleted file mode 100644 index fd5e383c165..00000000000 --- a/debian/libmircommon9.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmircommon.so.9 diff --git a/debian/libmircookie-dev.install b/debian/libmircookie-dev.install deleted file mode 100644 index b7eb80a9e28..00000000000 --- a/debian/libmircookie-dev.install +++ /dev/null @@ -1,3 +0,0 @@ -/usr/include/mircookie/ -/usr/lib/*/libmircookie.so -/usr/lib/*/pkgconfig/mircookie.pc diff --git a/debian/libmircookie2.install b/debian/libmircookie2.install deleted file mode 100644 index 6f0ac74011c..00000000000 --- a/debian/libmircookie2.install +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/*/libmircookie.so.2 diff --git a/debian/libmiroil3.symbols b/debian/libmiroil3.symbols deleted file mode 100644 index 7b9c7a1e208..00000000000 --- a/debian/libmiroil3.symbols +++ /dev/null @@ -1,123 +0,0 @@ -libmiroil.so.3 libmiroil3 #MINVER# - MIROIL_2.0@MIROIL_2.0 2.11.0 - (c++)"miroil::Compositor::~Compositor()@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayConfigurationControllerWrapper::DisplayConfigurationControllerWrapper(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayConfigurationControllerWrapper::set_base_configuration(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayConfigurationPolicy::DisplayConfigurationPolicy()@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayConfigurationPolicy::~DisplayConfigurationPolicy()@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayListenerWrapper::DisplayListenerWrapper(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayListenerWrapper::add_display(mir::geometry::generic::Rectangle const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayListenerWrapper::remove_display(mir::geometry::generic::Rectangle const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::DisplayListenerWrapper::~DisplayListenerWrapper()@MIROIL_2.0" 2.11.0 - (c++)"miroil::Edid::Descriptor::string_value[abi:cxx11]() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Edid::parse_data(std::vector > const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::EventBuilder::EventBuilder()@MIROIL_2.0" 2.11.0 - (c++)"miroil::EventBuilder::EventInfo::store(MirInputEvent const*, unsigned long)@MIROIL_2.0" 2.11.0 - (c++)"miroil::EventBuilder::add_touch(MirEvent&, int, MirTouchAction, MirTouchTooltype, float, float, float, float, float, float)@MIROIL_2.0" 2.11.0 - (c++)"miroil::EventBuilder::find_info(unsigned long)@MIROIL_2.0" 2.11.0 - -# std::chrono::duration<>s are 64 bits on both 64bit and 32bit archs, -# meaning they appear as long/long long respectively. - (c++|arch-bits=64)"miroil::EventBuilder::make_key_event(long, std::chrono::duration >, std::vector > const&, MirKeyboardAction, unsigned int, int, unsigned int)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=32)"miroil::EventBuilder::make_key_event(long long, std::chrono::duration >, std::vector > const&, MirKeyboardAction, unsigned int, int, unsigned int)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=64)"miroil::EventBuilder::make_pointer_event(long, std::chrono::duration >, std::vector > const&, unsigned int, MirPointerAction, unsigned int, float, float, float, float, float, float)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=32)"miroil::EventBuilder::make_pointer_event(long long, std::chrono::duration >, std::vector > const&, unsigned int, MirPointerAction, unsigned int, float, float, float, float, float, float)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=64)"miroil::EventBuilder::make_touch_event(long, std::chrono::duration >, std::vector > const&, unsigned int)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=32)"miroil::EventBuilder::make_touch_event(long long, std::chrono::duration >, std::vector > const&, unsigned int)@MIROIL_2.0" 2.11.0 - - (c++)"miroil::EventBuilder::store(MirInputEvent const*, unsigned long)@MIROIL_2.0" 2.11.0 - (c++)"miroil::EventBuilder::~EventBuilder()@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::GLBuffer(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::bind()@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::empty()@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::from_mir_buffer(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::has_alpha_channel() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::reset()@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::reset(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::size() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::GLBuffer::~GLBuffer()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::InputDevice()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::InputDevice(miroil::InputDevice const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::InputDevice(miroil::InputDevice&&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::InputDevice(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::apply_keymap(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::get_device_id()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::get_device_name[abi:cxx11]()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::is_alpha_numeric()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::is_keyboard()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::operator=(miroil::InputDevice const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::operator=(miroil::InputDevice&&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::operator==(miroil::InputDevice const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDevice::~InputDevice()@MIROIL_2.0" 2.11.0 - (c++)"miroil::InputDeviceObserver::~InputDeviceObserver()@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::MirPromptSession(MirPromptSession*)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::MirPromptSession(miroil::MirPromptSession const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::MirPromptSession(miroil::MirPromptSession&&)@MIROIL_2.0" 2.11.0 - -# The callback takes a size_t, which appears as long on 64bit archs and int on 32bits. - (c++|arch-bits=64)"miroil::MirPromptSession::new_fds_for_prompt_providers(unsigned int, void (*)(MirPromptSession*, unsigned long, int const*, void*), void*)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=32)"miroil::MirPromptSession::new_fds_for_prompt_providers(unsigned int, void (*)(MirPromptSession*, unsigned int, int const*, void*), void*)@MIROIL_2.0" 2.11.0 - - (c++)"miroil::MirPromptSession::operator=(miroil::MirPromptSession const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::operator=(miroil::MirPromptSession&&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::operator==(miroil::MirPromptSession const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirPromptSession::~MirPromptSession()@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::MirServerHooks()@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::create_input_device_observer(std::shared_ptr&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::create_named_cursor(std::function (std::__cxx11::basic_string, std::allocator > const&)>)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::create_prompt_session_listener(std::shared_ptr)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::operator()(mir::Server&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::the_display_configuration_controller() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::the_mir_display() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::the_prompt_session_listener() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::MirServerHooks::the_prompt_session_manager() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::OpenGLContext::OpenGLContext(mir::graphics::GLConfig*)@MIROIL_2.0" 2.11.0 - (c++)"miroil::OpenGLContext::operator()(mir::Server&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::OpenGLContext::the_open_gl_config() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::PersistDisplayConfig::PersistDisplayConfig(miroil::PersistDisplayConfig const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PersistDisplayConfig::PersistDisplayConfig(std::shared_ptr const&, std::function (std::shared_ptr const&)> const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PersistDisplayConfig::operator()(mir::Server&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PersistDisplayConfig::operator=(miroil::PersistDisplayConfig const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PersistDisplayConfig::~PersistDisplayConfig()@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionListener::~PromptSessionListener()@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::PromptSessionManager(miroil::PromptSessionManager const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::PromptSessionManager(miroil::PromptSessionManager&&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::PromptSessionManager(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::application_for(std::shared_ptr const&) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::operator==(miroil::PromptSessionManager const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::resume_prompt_session(std::shared_ptr const&) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::stop_prompt_session(std::shared_ptr const&) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::suspend_prompt_session(std::shared_ptr const&) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::PromptSessionManager::~PromptSessionManager()@MIROIL_2.0" 2.11.0 - (c++)"miroil::SetCompositor::SetCompositor(std::function ()>, std::function const&, std::shared_ptr const&, std::shared_ptr const&)>)@MIROIL_2.0" 2.11.0 - (c++)"miroil::SetCompositor::operator()(mir::Server&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::Surface(std::shared_ptr)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::add_observer(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::buffers_ready_for_compositor(void const*) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::configure(MirWindowAttrib, int)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::generate_renderables(void const*) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::get_wrapped() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::is_confined_to_window()@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::parent() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::query(MirWindowAttrib) const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::remove_observer(std::shared_ptr const&)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::set_confine_pointer_state(MirPointerConfinementState)@MIROIL_2.0" 2.11.0 - -# Again, first parameter is a 64bit integer - (c++|arch-bits=64)"miroil::Surface::set_keymap(long, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIROIL_2.0" 2.11.0 - (c++|arch-bits=32)"miroil::Surface::set_keymap(long long, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIROIL_2.0" 2.11.0 - - (c++)"miroil::Surface::set_orientation(MirOrientation)@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::top_left() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::Surface::visible() const@MIROIL_2.0" 2.11.0 - (c++)"miroil::dispatch_input_event(miral::Window const&, MirInputEvent const*)@MIROIL_2.0" 2.11.0 - (c++)"typeinfo for miroil::Compositor@MIROIL_2.0" 2.11.0 - (c++)"typeinfo for miroil::DisplayConfigurationPolicy@MIROIL_2.0" 2.11.0 - (c++)"typeinfo for miroil::EventBuilder@MIROIL_2.0" 2.11.0 - (c++)"typeinfo for miroil::InputDeviceObserver@MIROIL_2.0" 2.11.0 - (c++)"typeinfo for miroil::PromptSessionListener@MIROIL_2.0" 2.11.0 - (c++)"vtable for miroil::Compositor@MIROIL_2.0" 2.11.0 - (c++)"vtable for miroil::DisplayConfigurationPolicy@MIROIL_2.0" 2.11.0 - (c++)"vtable for miroil::EventBuilder@MIROIL_2.0" 2.11.0 - (c++)"vtable for miroil::InputDeviceObserver@MIROIL_2.0" 2.11.0 - (c++)"vtable for miroil::PromptSessionListener@MIROIL_2.0" 2.11.0 diff --git a/debian/libmiroil4.install b/debian/libmiroil4.install deleted file mode 100644 index 00634524443..00000000000 --- a/debian/libmiroil4.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmiroil.so.4 diff --git a/debian/libmiroil5.install b/debian/libmiroil5.install new file mode 100644 index 00000000000..2f27aa5f16b --- /dev/null +++ b/debian/libmiroil5.install @@ -0,0 +1 @@ +usr/lib/*/libmiroil.so.5 \ No newline at end of file diff --git a/debian/libmiroil5.symbols b/debian/libmiroil5.symbols new file mode 100644 index 00000000000..40b0a3647b2 --- /dev/null +++ b/debian/libmiroil5.symbols @@ -0,0 +1,108 @@ +libmiroil.so.5 libmiroil5 #MINVER# + MIROIL_5.0@MIROIL_5.0 2.17.0 + (c++)"miroil::Compositor::~Compositor()@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayConfigurationControllerWrapper::DisplayConfigurationControllerWrapper(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayConfigurationControllerWrapper::set_base_configuration(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayConfigurationPolicy::DisplayConfigurationPolicy()@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayConfigurationPolicy::~DisplayConfigurationPolicy()@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayListenerWrapper::DisplayListenerWrapper(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayListenerWrapper::add_display(mir::geometry::generic::Rectangle const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayListenerWrapper::remove_display(mir::geometry::generic::Rectangle const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::DisplayListenerWrapper::~DisplayListenerWrapper()@MIROIL_5.0" 2.17.0 + (c++)"miroil::Edid::Descriptor::string_value[abi:cxx11]() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Edid::parse_data(std::vector > const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::EventBuilder()@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::EventInfo::store(MirInputEvent const*, unsigned long)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::add_touch(MirEvent&, int, MirTouchAction, MirTouchTooltype, float, float, float, float, float, float)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::find_info(unsigned long)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::make_key_event(long, std::chrono::duration >, MirKeyboardAction, unsigned int, int, unsigned int)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::make_pointer_event(long, std::chrono::duration >, unsigned int, MirPointerAction, unsigned int, float, float, float, float, float, float)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::make_touch_event(long, std::chrono::duration >, unsigned int)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::store(MirInputEvent const*, unsigned long)@MIROIL_5.0" 2.17.0 + (c++)"miroil::EventBuilder::~EventBuilder()@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::GLBuffer(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::bind()@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::empty()@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::from_mir_buffer(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::has_alpha_channel() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::reset()@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::reset(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::size() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::GLBuffer::~GLBuffer()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::InputDevice()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::InputDevice(miroil::InputDevice const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::InputDevice(miroil::InputDevice&&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::InputDevice(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::apply_keymap(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::get_device_id()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::get_device_name[abi:cxx11]()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::is_alpha_numeric()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::is_keyboard()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::operator=(miroil::InputDevice const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::operator=(miroil::InputDevice&&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::operator==(miroil::InputDevice const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDevice::~InputDevice()@MIROIL_5.0" 2.17.0 + (c++)"miroil::InputDeviceObserver::~InputDeviceObserver()@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::MirPromptSession(MirPromptSession*)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::MirPromptSession(miroil::MirPromptSession const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::MirPromptSession(miroil::MirPromptSession&&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::new_fds_for_prompt_providers(unsigned int, void (*)(MirPromptSession*, unsigned long, int const*, void*), void*)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::operator=(miroil::MirPromptSession const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::operator=(miroil::MirPromptSession&&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::operator==(miroil::MirPromptSession const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirPromptSession::~MirPromptSession()@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::MirServerHooks()@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::create_input_device_observer(std::shared_ptr&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::create_named_cursor(std::function (std::__cxx11::basic_string, std::allocator > const&)>)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::create_prompt_session_listener(std::shared_ptr)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::operator()(mir::Server&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::the_display_configuration_controller() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::the_mir_display() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::the_prompt_session_listener() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::MirServerHooks::the_prompt_session_manager() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::OpenGLContext::OpenGLContext(mir::graphics::GLConfig*)@MIROIL_5.0" 2.17.0 + (c++)"miroil::OpenGLContext::operator()(mir::Server&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::OpenGLContext::the_open_gl_config() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::PersistDisplayConfig::PersistDisplayConfig(miroil::PersistDisplayConfig const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PersistDisplayConfig::PersistDisplayConfig(std::shared_ptr const&, std::function (std::shared_ptr const&)> const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PersistDisplayConfig::operator()(mir::Server&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PersistDisplayConfig::operator=(miroil::PersistDisplayConfig const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PersistDisplayConfig::~PersistDisplayConfig()@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionListener::~PromptSessionListener()@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::PromptSessionManager(miroil::PromptSessionManager const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::PromptSessionManager(miroil::PromptSessionManager&&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::PromptSessionManager(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::application_for(std::shared_ptr const&) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::operator==(miroil::PromptSessionManager const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::resume_prompt_session(std::shared_ptr const&) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::stop_prompt_session(std::shared_ptr const&) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::suspend_prompt_session(std::shared_ptr const&) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::PromptSessionManager::~PromptSessionManager()@MIROIL_5.0" 2.17.0 + (c++)"miroil::SetCompositor::SetCompositor(std::function ()>, std::function const&, std::shared_ptr const&, std::shared_ptr const&)>)@MIROIL_5.0" 2.17.0 + (c++)"miroil::SetCompositor::operator()(mir::Server&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::Surface(std::shared_ptr)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::add_observer(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::buffers_ready_for_compositor(void const*) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::configure(MirWindowAttrib, int)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::generate_renderables(void const*) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::get_wrapped() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::is_confined_to_window()@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::parent() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::query(MirWindowAttrib) const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::remove_observer(std::shared_ptr const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::set_confine_pointer_state(MirPointerConfinementState)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::set_keymap(long, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::set_orientation(MirOrientation)@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::top_left() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::Surface::visible() const@MIROIL_5.0" 2.17.0 + (c++)"miroil::dispatch_input_event(miral::Window const&, MirInputEvent const*)@MIROIL_5.0" 2.17.0 + (c++)"typeinfo for miroil::Compositor@MIROIL_5.0" 2.17.0 + (c++)"typeinfo for miroil::DisplayConfigurationPolicy@MIROIL_5.0" 2.17.0 + (c++)"typeinfo for miroil::EventBuilder@MIROIL_5.0" 2.17.0 + (c++)"typeinfo for miroil::InputDeviceObserver@MIROIL_5.0" 2.17.0 + (c++)"typeinfo for miroil::PromptSessionListener@MIROIL_5.0" 2.17.0 + (c++)"vtable for miroil::Compositor@MIROIL_5.0" 2.17.0 + (c++)"vtable for miroil::DisplayConfigurationPolicy@MIROIL_5.0" 2.17.0 + (c++)"vtable for miroil::EventBuilder@MIROIL_5.0" 2.17.0 + (c++)"vtable for miroil::InputDeviceObserver@MIROIL_5.0" 2.17.0 + (c++)"vtable for miroil::PromptSessionListener@MIROIL_5.0" 2.17.0 diff --git a/debian/libmirplatform27.install b/debian/libmirplatform27.install deleted file mode 100644 index 21e6f7cea33..00000000000 --- a/debian/libmirplatform27.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmirplatform.so.27 diff --git a/debian/libmirplatform28.install b/debian/libmirplatform28.install new file mode 100644 index 00000000000..8b2aeef1ca8 --- /dev/null +++ b/debian/libmirplatform28.install @@ -0,0 +1 @@ +usr/lib/*/libmirplatform.so.28 diff --git a/debian/libmirserver59.install b/debian/libmirserver59.install deleted file mode 100644 index 9ed8264395c..00000000000 --- a/debian/libmirserver59.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmirserver.so.59 diff --git a/debian/libmirserver60.install b/debian/libmirserver60.install new file mode 100644 index 00000000000..724289fcc94 --- /dev/null +++ b/debian/libmirserver60.install @@ -0,0 +1 @@ +usr/lib/*/libmirserver.so.60 diff --git a/debian/libmirwayland4.install b/debian/libmirwayland4.install deleted file mode 100644 index e6a5db27a58..00000000000 --- a/debian/libmirwayland4.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/libmirwayland.so.4 diff --git a/debian/libmirwayland5.install b/debian/libmirwayland5.install new file mode 100644 index 00000000000..9923b1470e3 --- /dev/null +++ b/debian/libmirwayland5.install @@ -0,0 +1 @@ +usr/lib/*/libmirwayland.so.5 \ No newline at end of file diff --git a/debian/mir-platform-graphics-eglstream-kms21.install b/debian/mir-platform-graphics-eglstream-kms21.install deleted file mode 100644 index fac12dd25d2..00000000000 --- a/debian/mir-platform-graphics-eglstream-kms21.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/mir/server-platform/graphics-eglstream-kms.so.21 diff --git a/debian/mir-platform-graphics-eglstream-kms22.install b/debian/mir-platform-graphics-eglstream-kms22.install new file mode 100644 index 00000000000..b4a0bfdda0d --- /dev/null +++ b/debian/mir-platform-graphics-eglstream-kms22.install @@ -0,0 +1 @@ +usr/lib/*/mir/server-platform/graphics-eglstream-kms.so.22 diff --git a/debian/mir-platform-graphics-gbm-kms21.install b/debian/mir-platform-graphics-gbm-kms21.install deleted file mode 100644 index 3a916117780..00000000000 --- a/debian/mir-platform-graphics-gbm-kms21.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/mir/server-platform/graphics-gbm-kms.so.21 diff --git a/debian/mir-platform-graphics-gbm-kms22.install b/debian/mir-platform-graphics-gbm-kms22.install new file mode 100644 index 00000000000..c32a9941aa7 --- /dev/null +++ b/debian/mir-platform-graphics-gbm-kms22.install @@ -0,0 +1 @@ +usr/lib/*/mir/server-platform/graphics-gbm-kms.so.22 diff --git a/debian/mir-platform-graphics-virtual21.install b/debian/mir-platform-graphics-virtual21.install deleted file mode 100644 index 979ed3a151e..00000000000 --- a/debian/mir-platform-graphics-virtual21.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/*/mir/server-platform/server-virtual.so.21 - diff --git a/debian/mir-platform-graphics-virtual22.install b/debian/mir-platform-graphics-virtual22.install new file mode 100644 index 00000000000..9b896c661d5 --- /dev/null +++ b/debian/mir-platform-graphics-virtual22.install @@ -0,0 +1,2 @@ +usr/lib/*/mir/server-platform/server-virtual.so.22 + diff --git a/debian/mir-platform-graphics-wayland21.install b/debian/mir-platform-graphics-wayland21.install deleted file mode 100644 index 75bff0cdfa4..00000000000 --- a/debian/mir-platform-graphics-wayland21.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/mir/server-platform/graphics-wayland.so.21 diff --git a/debian/mir-platform-graphics-wayland22.install b/debian/mir-platform-graphics-wayland22.install new file mode 100644 index 00000000000..1ca3a1534cb --- /dev/null +++ b/debian/mir-platform-graphics-wayland22.install @@ -0,0 +1 @@ +usr/lib/*/mir/server-platform/graphics-wayland.so.22 diff --git a/debian/mir-platform-graphics-x21.install b/debian/mir-platform-graphics-x21.install deleted file mode 100644 index 9c104f5cb40..00000000000 --- a/debian/mir-platform-graphics-x21.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/mir/server-platform/server-x11.so.21 diff --git a/debian/mir-platform-graphics-x22.install b/debian/mir-platform-graphics-x22.install new file mode 100644 index 00000000000..c1a7cc04bdb --- /dev/null +++ b/debian/mir-platform-graphics-x22.install @@ -0,0 +1 @@ +usr/lib/*/mir/server-platform/server-x11.so.22 diff --git a/debian/mir-platform-input-evdev8.install b/debian/mir-platform-input-evdev8.install deleted file mode 100644 index 3d42f1c0bd7..00000000000 --- a/debian/mir-platform-input-evdev8.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/mir/server-platform/input-evdev.so.8 diff --git a/debian/mir-platform-input-evdev9.install b/debian/mir-platform-input-evdev9.install new file mode 100644 index 00000000000..5e365ea99c5 --- /dev/null +++ b/debian/mir-platform-input-evdev9.install @@ -0,0 +1 @@ +usr/lib/*/mir/server-platform/input-evdev.so.9 diff --git a/debian/mir-platform-rendering-egl-generic21.install b/debian/mir-platform-rendering-egl-generic21.install deleted file mode 100644 index 55e7da00f0d..00000000000 --- a/debian/mir-platform-rendering-egl-generic21.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib/*/mir/server-platform/renderer-egl-generic.so.21 - diff --git a/debian/mir-platform-rendering-egl-generic22.install b/debian/mir-platform-rendering-egl-generic22.install new file mode 100644 index 00000000000..9e9b01b054a --- /dev/null +++ b/debian/mir-platform-rendering-egl-generic22.install @@ -0,0 +1,2 @@ +usr/lib/*/mir/server-platform/renderer-egl-generic.so.22 + diff --git a/debian/rules b/debian/rules index 7fa3ca3caa3..7b159262aaf 100755 --- a/debian/rules +++ b/debian/rules @@ -119,9 +119,9 @@ MIRAL_VERSION=$(MIRAL_RELEASE).$(DEB_VERSION) # TODO: we'll use a symbol file once mir is abi stable override_dh_makeshlibs: - dh_makeshlibs -Nlibmiral6 -V -Nmir-test-tools - # libmiral6 *has* a symbols file, so we don't need to -V it! - dh_makeshlibs -plibmiral6 -- -v$(MIRAL_RELEASE) + dh_makeshlibs -Nlibmiral7 -V -Nmir-test-tools + # libmiral7 *has* a symbols file, so we don't need to -V it! + dh_makeshlibs -plibmiral7 -- -v$(MIRAL_RELEASE) # Don't try to strip libraries used as test data override_dh_strip: @@ -132,5 +132,5 @@ override_dh_shlibdeps: dh_shlibdeps -Xmir-test-data override_dh_gencontrol: - dh_gencontrol -Nlibmiral6 -Nlibmiral-dev - dh_gencontrol -plibmiral6 -plibmiral-dev -- -v$(MIRAL_VERSION) -V'libmiral6:Version=$(MIRAL_VERSION)' + dh_gencontrol -Nlibmiral7 -Nlibmiral-dev + dh_gencontrol -plibmiral7 -plibmiral-dev -- -v$(MIRAL_VERSION) -V'libmiral7:Version=$(MIRAL_VERSION)' diff --git a/include/common/mir/events/event_builders.h b/include/common/mir/events/event_builders.h index ab55446d79e..1c3af6094a1 100644 --- a/include/common/mir/events/event_builders.h +++ b/include/common/mir/events/event_builders.h @@ -67,7 +67,6 @@ EventUPtr make_window_placement_event(frontend::SurfaceId const& surface_id, geo EventUPtr make_key_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirKeyboardAction action, xkb_keysym_t keysym, int scan_code, @@ -82,7 +81,6 @@ void set_button_state(MirEvent& event, MirPointerButtons button_state); EventUPtr make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers); void add_touch( @@ -101,7 +99,6 @@ void add_touch( EventUPtr make_pointer_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers mods, MirPointerAction action, MirPointerButtons buttons, @@ -115,7 +112,6 @@ EventUPtr make_pointer_event( EventUPtr make_pointer_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -131,7 +127,6 @@ EventUPtr make_pointer_axis_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -147,7 +142,6 @@ EventUPtr make_pointer_axis_with_stop_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -165,7 +159,6 @@ EventUPtr make_pointer_axis_discrete_scroll_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -186,14 +179,12 @@ EventUPtr make_input_configure_event( EventUPtr make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, std::vector const& contacts); EventUPtr make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, std::vector const& contacts); diff --git a/src/include/cookie/mir/event_type_to_string.h b/include/common/mir/events/event_type_to_string.h similarity index 100% rename from src/include/cookie/mir/event_type_to_string.h rename to include/common/mir/events/event_type_to_string.h diff --git a/include/common/mir_toolkit/events/event.h b/include/common/mir_toolkit/events/event.h index 6dfd2d88e5c..7af0fd17844 100644 --- a/include/common/mir_toolkit/events/event.h +++ b/include/common/mir_toolkit/events/event.h @@ -37,8 +37,6 @@ typedef struct MirWindowOutputEvent MirWindowOutputEvent; typedef struct MirInputDeviceStateEvent MirInputDeviceStateEvent; typedef struct MirWindowPlacementEvent MirWindowPlacementEvent; -typedef struct MirCookie MirCookie; - typedef struct MirEvent MirEvent; #ifdef __cplusplus @@ -56,7 +54,6 @@ typedef struct MirEvent MirEvent; #ifdef __cplusplus extern "C" { #endif - /** * Retrieves the type of a MirEvent. Now preferred over direct access to ev->type. * In particular ev->type will never be mir_event_type_input and mir_event_get_type diff --git a/include/common/mir_toolkit/events/input/input_event.h b/include/common/mir_toolkit/events/input/input_event.h index c6eee0ce775..1347a2a84fb 100644 --- a/include/common/mir_toolkit/events/input/input_event.h +++ b/include/common/mir_toolkit/events/input/input_event.h @@ -90,24 +90,6 @@ MirTouchEvent const* mir_input_event_get_touch_event(MirInputEvent const* event) */ MirPointerEvent const* mir_input_event_get_pointer_event(MirInputEvent const* event); -/** - * Query if an input event contains a cookie - * - * \param [in] ev The input event - * \return True if the input event contains a cookie - */ -bool mir_input_event_has_cookie(MirInputEvent const* ev); - -/** - * Returns the cookie associated with an input event. - * - * \pre The input event must have a MirCookie - * \param [in] ev An input event - * \return The cookie associated with the given input event - * The cookie must be released by calling mir_cookie_release - */ -MirCookie const* mir_input_event_get_cookie(MirInputEvent const* ev); - /** * Retrieve the MirEvent associated with a given input event. * diff --git a/include/common/mir_toolkit/mir_cookie.h b/include/common/mir_toolkit/mir_cookie.h deleted file mode 100644 index 592936ca74c..00000000000 --- a/include/common/mir_toolkit/mir_cookie.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -* Copyright © Canonical Ltd. - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser 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 Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -#ifndef MIR_TOOLKIT_MIR_COOKIE_H_ -#define MIR_TOOLKIT_MIR_COOKIE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * Queries the size needed to serialize a given cookie - * - * \param [in] cookie A cookie instance - * \return The size of the serialized representation of the given cookie - */ -size_t mir_cookie_buffer_size(MirCookie const* cookie); - -/** - * Serializes a cookie into the given buffer - * - * \pre The size must be equal to mir_cookie_size - * \param [in] cookie A cookie instance - * \param [in] buffer A buffer which is filled with the serialized representation - of the given cookie - * \param [in] size The size of the given buffer - */ -void mir_cookie_to_buffer(MirCookie const* cookie, void* buffer, size_t size); - -/** - * Create a cookie from a serialized representation - * - * \param [in] buffer The buffer containing a serialized cookie. - * \param [in] size The size of the buffer. - * The buffer may be freed immediately after this call. - * \return A MirCookie instance. The instance must be released - * with a call to mir_cookie_release. - * NULL will be returned if the buffer and size don't describe - * the contents of a MirCookie. - */ -MirCookie const* mir_cookie_from_buffer(void const* buffer, size_t size); - -/** - * Release the MirCookie - * - * \param [in] cookie The cookie to release - */ -void mir_cookie_release(MirCookie const* cookie); - -#ifdef __cplusplus -} -#endif - -#endif // MIR_TOOLKIT_MIR_COOKIE_H_ diff --git a/include/cookie/mir/cookie/authority.h b/include/cookie/mir/cookie/authority.h deleted file mode 100644 index 3b9e9e782f7..00000000000 --- a/include/cookie/mir/cookie/authority.h +++ /dev/null @@ -1,117 +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_COOKIE_AUTHORITY_H_ -#define MIR_COOKIE_AUTHORITY_H_ - -#include -#include -#include - -#include "mir/cookie/cookie.h" - -namespace mir -{ -namespace cookie -{ -using Secret = std::vector; - -struct SecurityCheckError : std::runtime_error -{ - SecurityCheckError(); -}; - -/** - * \brief A source of moderately-difficult-to-spoof cookies. - * - * The primary motivation for this is to provide event timestamps that clients find it difficult to spoof. - * This is useful for focus grant and similar operations where shell behaviour should be dependent on - * the timestamp of the client event that caused the request. - * - * Some spoofing protection is desirable; experience with X clients shows that they will go to some effort - * to attempt to bypass focus stealing prevention. - * - */ -class Authority -{ -public: - /** - * Optimal size for the provided Secret. - * - * This is the maximum useful size of the secret key. Keys of greater size - * will be reduced to this size internally, and keys of smaller size may be - * internally extended to this size. - */ - static size_t optimal_secret_size(); - - /** - * Construction function used to create an Authority. The secret size must be - * no less then minimum_secret_size otherwise an exception will be thrown - * - * \param [in] secret A secret used to set the key for the hash function - * \return An Authority - */ - static std::unique_ptr create_from(Secret const& secret); - - /** - * Construction function used to create an Authority as well as a secret. - * - * \param [out] save_secret The secret that was created. - * \return An Authority - */ - static std::unique_ptr create_saving(Secret& save_secret); - - /** - * Construction function used to create an Authority and a secret which it keeps internally. - * - * \return An Authority - */ - static std::unique_ptr create(); - - Authority(Authority const& authority) = delete; - Authority& operator=(Authority const& authority) = delete; - virtual ~Authority() noexcept = default; - - /** - * Creates a cookie from a timestamp. - * - * \param [in] timestamp A timestamp - * \return A cookie instance - */ - virtual std::unique_ptr make_cookie(uint64_t const& timestamp) = 0; - - /** - * Creates a cookie from a serialized representation - * - * \param [in] raw_cookie A blob of bytes representing a serialized cookie - * \return A cookie instance - */ - virtual std::unique_ptr make_cookie(std::vector const& raw_cookie) = 0; - - /** - * Absolute minimum size of secret key the Authority will accept. - * - * Code should be using optimum_secret_size(); this minimum size is provided - * as a user convenience to guard against catastrophically bad initialisation. - */ - static unsigned const minimum_secret_size = 8; -protected: - Authority() = default; -}; - -} -} -#endif // MIR_COOKIE_COOKIE_AUTHORITY_H_ diff --git a/include/cookie/mir/cookie/cookie.h b/include/cookie/mir/cookie/cookie.h deleted file mode 100644 index 24deb8d133c..00000000000 --- a/include/cookie/mir/cookie/cookie.h +++ /dev/null @@ -1,55 +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_COOKIE_COOKIE_H_ -#define MIR_COOKIE_COOKIE_H_ - -#include -#include - -namespace mir -{ -namespace cookie -{ - -class Cookie -{ -public: - Cookie() = default; - virtual ~Cookie() = default; - - Cookie(Cookie const& cookie) = delete; - Cookie& operator=(Cookie const& cookie) = delete; - - /** - * Returns the timestamp that the cookie is built with - * - * \return The timestamp - */ - virtual uint64_t timestamp() const = 0; - - /** - * Converts the cookie into a stream of bytes. - * - * \return The stream of bytes formatted - */ - virtual std::vector serialize() const = 0; -}; - -} -} - -#endif // MIR_COOKIE_COOKIE_H_ diff --git a/include/miral/miral/toolkit_event.h b/include/miral/miral/toolkit_event.h index d166a6aa572..6985b148c1f 100644 --- a/include/miral/miral/toolkit_event.h +++ b/include/miral/miral/toolkit_event.h @@ -109,24 +109,6 @@ MirTouchEvent const* mir_input_event_get_touch_event(MirInputEvent const* event) */ MirPointerEvent const* mir_input_event_get_pointer_event(MirInputEvent const* event); -/** - * Query if an input event contains a cookie - * - * \param [in] ev The input event - * \return True if the input event contains a cookie - */ -bool mir_input_event_has_cookie(MirInputEvent const* ev); - -///** -// * Returns the cookie associated with an input event. -// * -// * \pre The input event must have a MirCookie -// * \param [in] ev An input event -// * \return The cookie associated with the given input event -// * The cookie must be released by calling mir_cookie_release -// */ -//MirCookie const* mir_input_event_get_cookie(MirInputEvent const* ev); - /** * Retrieve the MirEvent associated with a given input event. * diff --git a/include/miroil/miroil/event_builder.h b/include/miroil/miroil/event_builder.h index bf143a807f6..598ea1ffa2d 100644 --- a/include/miroil/miroil/event_builder.h +++ b/include/miroil/miroil/event_builder.h @@ -53,7 +53,6 @@ class EventBuilder { ulong timestamp; MirInputDeviceId device_id; - std::vector cookie; float relative_x{0}; float relative_y{0}; }; @@ -69,16 +68,15 @@ class EventBuilder { // Key event mir::EventUPtr make_key_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirKeyboardAction action, xkb_keysym_t keysym, - int scan_code, MirInputEventModifiers modifiers); + MirKeyboardAction action, xkb_keysym_t keysym, int scan_code, MirInputEventModifiers modifiers); // Touch event mir::EventUPtr make_touch_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers); + MirInputEventModifiers modifiers); // Pointer event mir::EventUPtr make_pointer_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, + MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, float x_axis_value, float y_axis_value, float hscroll_value, float vscroll_value, diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 94237c90f53..5499a38c33e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,14 +1,11 @@ # We need MIRPLATFORM_ABI in both libmirplatform and the platform implementations. -set(MIRPLATFORM_ABI 27) +set(MIRPLATFORM_ABI 28) -set(MIRAL_VERSION_MAJOR 4) -set(MIRAL_VERSION_MINOR 1) +set(MIRAL_VERSION_MAJOR 5) +set(MIRAL_VERSION_MINOR 0) set(MIRAL_VERSION_PATCH 0) set(MIRAL_VERSION ${MIRAL_VERSION_MAJOR}.${MIRAL_VERSION_MINOR}.${MIRAL_VERSION_PATCH}) -# Add the cookie implementation before exposing any APIs -add_subdirectory(cookie/) - # Add the core and platform implementations before exposing any private APIs add_subdirectory(core) add_subdirectory(platforms/) diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 0a12d84ef67..befce4319bf 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -30,7 +30,6 @@ list(APPEND MIR_COMMON_SOURCES edid.cpp event.cpp event_printer.cpp - mir_cookie.cpp mir_cursor_api.cpp thread_pool_executor.cpp linearising_executor.cpp @@ -43,7 +42,7 @@ set( PARENT_SCOPE) # TODO we need a place to manage ABI and related versioning but use this as placeholder -set(MIRCOMMON_ABI 9) +set(MIRCOMMON_ABI 10) set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) add_library(mircommon SHARED @@ -69,15 +68,8 @@ target_include_directories(mircommon ${PROJECT_SOURCE_DIR}/include/common ) -set_source_files_properties(event.cpp PROPERTIES COMPILE_FLAGS - "${CMAKE_CXXFLAGS} -I ${PROJECT_SOURCE_DIR}/src/include/cookie") - -set_source_files_properties(input/input_event.cpp PROPERTIES COMPILE_FLAGS - "${CMAKE_CXXFLAGS} -I ${PROJECT_SOURCE_DIR}/src/include/cookie") - target_link_libraries(mircommon PUBLIC - mircookie mircore ${MIR_COMMON_REFERENCES} PkgConfig::XKBCOMMON diff --git a/src/common/event.cpp b/src/common/event.cpp index 154d0eb1109..45e5d660817 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -18,7 +18,7 @@ #include "handle_event_exception.h" -#include "mir/event_type_to_string.h" +#include "mir/events/event_type_to_string.h" #include "mir/log.h" #include "mir_toolkit/events/event.h" diff --git a/src/common/events/CMakeLists.txt b/src/common/events/CMakeLists.txt index e3184ba3cca..515b48795a3 100644 --- a/src/common/events/CMakeLists.txt +++ b/src/common/events/CMakeLists.txt @@ -40,8 +40,3 @@ target_link_libraries(mirevents PUBLIC mircore ) - -target_include_directories(mirevents - PRIVATE - ${PROJECT_SOURCE_DIR}/src/include/cookie -) diff --git a/src/common/events/event_builders.cpp b/src/common/events/event_builders.cpp index 026e5c576b0..e9a5a66e04c 100644 --- a/src/common/events/event_builders.cpp +++ b/src/common/events/event_builders.cpp @@ -146,7 +146,6 @@ mir::EventUPtr mev::make_window_placement_event(frontend::SurfaceId const& surfa mir::EventUPtr mev::make_key_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirKeyboardAction action, xkb_keysym_t keysym, int scan_code, @@ -156,7 +155,6 @@ mir::EventUPtr mev::make_key_event( e->set_device_id(device_id); e->set_event_time(timestamp); - e->set_cookie(cookie); e->set_action(action); e->set_keysym(keysym); e->set_scan_code(scan_code); @@ -199,14 +197,12 @@ void mev::set_button_state(MirEvent& event, MirPointerButtons button_state) mir::EventUPtr mev::make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers) { auto e = new_event(); e->set_device_id(device_id); e->set_event_time(timestamp); - e->set_cookie(cookie); e->set_modifiers(modifiers); return make_uptr_event(e); @@ -242,7 +238,6 @@ void mev::add_touch( mir::EventUPtr mev::make_pointer_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers mods, MirPointerAction action, MirPointerButtons buttons, @@ -255,7 +250,6 @@ mir::EventUPtr mev::make_pointer_event( return make_uptr_event(new MirPointerEvent( device_id, timestamp, - cookie, mods, action, buttons, @@ -269,7 +263,6 @@ mir::EventUPtr mev::make_pointer_event( mir::EventUPtr mev::make_pointer_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -281,7 +274,7 @@ mir::EventUPtr mev::make_pointer_event( float relative_y_value) { return make_pointer_event( - device_id, timestamp, cookie, modifiers, action, buttons_pressed, + device_id, timestamp, modifiers, action, buttons_pressed, geom::PointF{x_axis_value, y_axis_value}, geom::DisplacementF{relative_x_value, relative_y_value}, mir_pointer_axis_source_none, @@ -293,7 +286,6 @@ mir::EventUPtr mir::events::make_pointer_axis_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -305,7 +297,7 @@ mir::EventUPtr mir::events::make_pointer_axis_event( float relative_y_value) { return make_pointer_event( - device_id, timestamp, cookie, modifiers, action, buttons_pressed, + device_id, timestamp, modifiers, action, buttons_pressed, geom::PointF{x_axis_value, y_axis_value}, geom::DisplacementF{relative_x_value, relative_y_value}, axis_source, @@ -317,7 +309,6 @@ mir::EventUPtr mir::events::make_pointer_axis_with_stop_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -331,7 +322,7 @@ mir::EventUPtr mir::events::make_pointer_axis_with_stop_event( float relative_y_value) { return make_pointer_event( - device_id, timestamp, cookie, modifiers, action, buttons_pressed, + device_id, timestamp, modifiers, action, buttons_pressed, geom::PointF{x_axis_value, y_axis_value}, geom::DisplacementF{relative_x_value, relative_y_value}, axis_source, @@ -343,7 +334,6 @@ mir::EventUPtr mir::events::make_pointer_axis_discrete_scroll_event( MirPointerAxisSource axis_source, MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, @@ -353,7 +343,7 @@ mir::EventUPtr mir::events::make_pointer_axis_discrete_scroll_event( float vscroll_discrete) { return make_pointer_event( - device_id, timestamp, mac, modifiers, action, buttons_pressed, + device_id, timestamp, modifiers, action, buttons_pressed, std::nullopt, geom::DisplacementF{}, axis_source, @@ -436,12 +426,11 @@ void mev::scale_positions(MirEvent& event, float scale) mir::EventUPtr mev::make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, std::vector const& contacts) { std::vector contacts_new{begin(contacts), end(contacts)}; - auto e = new_event(device_id, timestamp, cookie, modifiers, contacts_new); + auto e = new_event(device_id, timestamp, modifiers, contacts_new); return make_uptr_event(e); } @@ -450,11 +439,10 @@ mir::EventUPtr mev::make_touch_event( mir::EventUPtr mev::make_touch_event( MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, std::vector const& contacts) { - auto e = new_event(device_id, timestamp, cookie, modifiers, contacts); + auto e = new_event(device_id, timestamp, modifiers, contacts); return make_uptr_event(e); } diff --git a/src/common/events/input_event.cpp b/src/common/events/input_event.cpp index 6b930b17a54..ed1e4689dd2 100644 --- a/src/common/events/input_event.cpp +++ b/src/common/events/input_event.cpp @@ -23,13 +23,11 @@ MirInputEvent::MirInputEvent(MirInputEventType input_type, MirInputDeviceId dev, std::chrono::nanoseconds et, - MirInputEventModifiers mods, - std::vector const& cookie) : + MirInputEventModifiers mods) : MirEvent{mir_event_type_input}, input_type_{input_type}, device_id_{dev}, event_time_{et}, - cookie_{cookie}, modifiers_{mods} { } @@ -99,16 +97,6 @@ void MirInputEvent::set_event_time(std::chrono::nanoseconds const& event_time) event_time_ = event_time; } -std::vector MirInputEvent::cookie() const -{ - return cookie_; -} - -void MirInputEvent::set_cookie(std::vector const& cookie) -{ - cookie_ = cookie; -} - MirInputEventModifiers MirInputEvent::modifiers() const { return modifiers_; diff --git a/src/common/events/pointer_event.cpp b/src/common/events/pointer_event.cpp index efd2e821392..adab66f3aeb 100644 --- a/src/common/events/pointer_event.cpp +++ b/src/common/events/pointer_event.cpp @@ -29,7 +29,6 @@ MirPointerEvent::MirPointerEvent() : MirPointerEvent::MirPointerEvent(MirInputDeviceId dev, std::chrono::nanoseconds et, - std::vector const& cookie, MirInputEventModifiers mods, MirPointerAction action, MirPointerButtons buttons, @@ -38,7 +37,7 @@ MirPointerEvent::MirPointerEvent(MirInputDeviceId dev, MirPointerAxisSource axis_source, mev::ScrollAxisH h_scroll, mev::ScrollAxisV v_scroll) - : MirInputEvent(mir_input_event_type_pointer, dev, et, mods, cookie), + : MirInputEvent(mir_input_event_type_pointer, dev, et, mods), position_{position}, motion_{motion}, axis_source_{axis_source}, diff --git a/src/common/events/touch_event.cpp b/src/common/events/touch_event.cpp index 5e8ea728f5f..bc5dad3bc7f 100644 --- a/src/common/events/touch_event.cpp +++ b/src/common/events/touch_event.cpp @@ -27,10 +27,9 @@ MirTouchEvent::MirTouchEvent() : MirInputEvent(mir_input_event_type_touch) MirTouchEvent::MirTouchEvent(MirInputDeviceId id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, std::vector const& contacts) - : MirInputEvent(mir_input_event_type_touch, id, timestamp, modifiers, cookie), + : MirInputEvent(mir_input_event_type_touch, id, timestamp, modifiers), contacts{contacts} { } diff --git a/src/common/input/input_event.cpp b/src/common/input/input_event.cpp index 5c5fc2a55da..43ae2a88e20 100644 --- a/src/common/input/input_event.cpp +++ b/src/common/input/input_event.cpp @@ -17,16 +17,11 @@ #define MIR_LOG_COMPONENT "input-event-access" -#include "mir/cookie/blob.h" - -#include "mir/cookie/cookie.h" -#include "mir/event_type_to_string.h" +#include "mir/events/event_type_to_string.h" #include "mir/events/event_private.h" #include "mir/log.h" #include "mir/require.h" -#include "mir_toolkit/mir_cookie.h" -#include "../mir_cookie.h" #include "../handle_event_exception.h" #include @@ -335,78 +330,4 @@ bool mir_pointer_event_axis_stop(MirPointerEvent const* pev, MirPointerAxis axis mir::log_critical("Invalid axis enumeration " + std::to_string(axis)); abort(); } -}) - -bool mir_input_event_has_cookie(MirInputEvent const* ev) MIR_HANDLE_EVENT_EXCEPTION( -{ - switch (ev->input_type()) - { - case mir_input_event_type_key: - return true; - case mir_input_event_type_pointer: - { - auto const pev = mir_input_event_get_pointer_event(ev); - auto const pev_action = mir_pointer_event_action(pev); - return (pev_action == mir_pointer_action_button_up || - pev_action == mir_pointer_action_button_down); - } - case mir_input_event_type_touch: - { - auto const tev = mir_input_event_get_touch_event(ev); - auto const point_count = mir_touch_event_point_count(tev); - for (size_t i = 0; i < point_count; i++) - { - auto const tev_action = mir_touch_event_action(tev, i); - if (tev_action == mir_touch_action_up || - tev_action == mir_touch_action_down) - { - return true; - } - } - break; - } - case mir_input_event_type_keyboard_resync: - return false; - case mir_input_event_types: - abort(); - break; - } - - return false; -}) - -size_t mir_cookie_buffer_size(MirCookie const* cookie) MIR_HANDLE_EVENT_EXCEPTION( -{ - return cookie->size(); -}) - -MirCookie const* mir_input_event_get_cookie(MirInputEvent const* iev) MIR_HANDLE_EVENT_EXCEPTION( -{ - if (iev->type() == mir_event_type_input) - { - return new MirCookie(iev->cookie()); - } - else - { - mir::log_critical("expected a key or motion events, type was: " + mir::event_type_to_string(iev->type())); - abort(); - } -}) - -void mir_cookie_to_buffer(MirCookie const* cookie, void* buffer, size_t size) MIR_HANDLE_EVENT_EXCEPTION( -{ - return cookie->copy_to(buffer, size); -}) - -MirCookie const* mir_cookie_from_buffer(void const* buffer, size_t size) MIR_HANDLE_EVENT_EXCEPTION( -{ - if (size != mir::cookie::default_blob_size) - return NULL; - - return new MirCookie(buffer, size); -}) - -void mir_cookie_release(MirCookie const* cookie) -{ - delete cookie; -} +}) \ No newline at end of file diff --git a/src/common/mir_cookie.cpp b/src/common/mir_cookie.cpp deleted file mode 100644 index b71184477dc..00000000000 --- a/src/common/mir_cookie.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright © Canonical Ltd. - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser 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 Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -#include "mir_cookie.h" - -#include "mir/require.h" - -#include - -MirCookie::MirCookie(void const* buffer, size_t size) : - cookie_(size) -{ - memcpy(cookie_.data(), buffer, size); -} - -MirCookie::MirCookie(std::vector const& cookie) : - cookie_(cookie) -{ -} - -void MirCookie::copy_to(void* buffer, size_t size) const -{ - mir::require(size == cookie_.size()); - memcpy(buffer, cookie_.data(), size); -} - -size_t MirCookie::size() const -{ - return cookie_.size(); -} - -std::vector MirCookie::cookie() const -{ - return cookie_; -} diff --git a/src/common/mir_cookie.h b/src/common/mir_cookie.h deleted file mode 100644 index 2fa52e82808..00000000000 --- a/src/common/mir_cookie.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright © Canonical Ltd. - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU Lesser 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 Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - - -#ifndef MIR_CLIENT_MIR_COOKIE_H_ -#define MIR_CLIENT_MIR_COOKIE_H_ - -#include -#include -#include - -class MirCookie -{ -public: - explicit MirCookie(void const* buffer, size_t size); - explicit MirCookie(std::vector const& cookie); - - void copy_to(void* buffer, size_t size) const; - size_t size() const; - - std::vector cookie() const; - -private: - std::vector cookie_; -}; - -#endif // MIR_CLIENT_MIR_COOKIE_H_ diff --git a/src/common/symbols.map b/src/common/symbols.map index 70a4efde14b..1294d90cd1c 100644 --- a/src/common/symbols.map +++ b/src/common/symbols.map @@ -1,12 +1,9 @@ -MIR_COMMON_2.8 { +MIR_COMMON_2.17 { global: mir_arrow_cursor_name; mir_busy_cursor_name; mir_caret_cursor_name; mir_closed_hand_cursor_name; - mir_cookie_buffer_size; - mir_cookie_release; - mir_cookie_to_buffer; mir_crosshair_cursor_name; mir_default_cursor_name; mir_diagonal_resize_bottom_to_top_cursor_name; @@ -28,7 +25,6 @@ MIR_COMMON_2.8 { mir_input_device_state_event_pointer_axis; mir_input_device_state_event_pointer_buttons; mir_input_device_state_event_time; - mir_input_event_get_cookie; mir_input_event_get_device_id; mir_input_event_get_event; mir_input_event_get_event_time; @@ -37,7 +33,6 @@ MIR_COMMON_2.8 { mir_input_event_get_touch_event; mir_input_event_get_type; mir_input_event_get_wayland_timestamp; - mir_input_event_has_cookie; mir_keyboard_event_action; mir_keyboard_event_input_event; mir_keyboard_event_keysym; @@ -168,13 +163,11 @@ MIR_COMMON_2.8 { MirInputDeviceStateEvent::set_window_id*; MirInputDeviceStateEvent::when*; MirInputDeviceStateEvent::window_id*; - MirInputEvent::cookie*; MirInputEvent::device_id*; MirInputEvent::event_time*; MirInputEvent::input_type*; MirInputEvent::modifiers*; MirInputEvent::operator*; - MirInputEvent::set_cookie*; MirInputEvent::set_device_id*; MirInputEvent::set_event_time*; MirInputEvent::set_modifiers*; @@ -193,7 +186,6 @@ MIR_COMMON_2.8 { MirKeyboardEvent::modifiers*; MirKeyboardEvent::scan_code*; MirKeyboardEvent::set_action*; - MirKeyboardEvent::set_cookie*; MirKeyboardEvent::set_device_id*; MirKeyboardEvent::set_event_time*; MirKeyboardEvent::set_keysym*; @@ -496,12 +488,6 @@ MIR_COMMON_2.8 { typeinfo?for?mir::ThreadPoolExecutor; vtable?for?mir::ThreadPoolExecutor; mir::thread_pool_executor; - }; - local: *; -}; - -MIR_COMMON_2.9 { - extern "C++" { mir::logging::format_message*; mir::logging::FileLogger::log*; mir::logging::MultiLogger::log*; @@ -521,32 +507,18 @@ MIR_COMMON_2.9 { MirPointerEvent::v_scroll*; MirPointerEvent::set_v_scroll*; MirPointerEvent::axis_source*; - }; -} MIR_COMMON_2.8; - -MIR_COMMON_2.10 { - extern "C++" { typeinfo?for?MirPointerEvent; typeinfo?for?MirTouchEvent; typeinfo?for?MirKeyboardEvent; MirTouchEvent::set_position*; MirTouchEvent::position*; - }; -} MIR_COMMON_2.9; - -MIR_COMMON_2.11 { - extern "C++" { MirKeyboardEvent::xkb_modifiers*; MirKeyboardEvent::set_xkb_modifiers*; - }; -} MIR_COMMON_2.10; - -MIR_COMMON_2.14 { - extern "C++" { MirTouchEvent::set_local_position*; MirTouchEvent::local_position*; MirPointerEvent::set_local_position*; MirPointerEvent::local_position*; mir::events::map_positions*; }; -} MIR_COMMON_2.11; + local: *; +}; diff --git a/src/cookie/CMakeLists.txt b/src/cookie/CMakeLists.txt deleted file mode 100644 index 0d3ae5e7a48..00000000000 --- a/src/cookie/CMakeLists.txt +++ /dev/null @@ -1,50 +0,0 @@ -pkg_check_modules(NETTLE REQUIRED IMPORTED_TARGET nettle) - -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/mircookie.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/mircookie.pc - @ONLY -) - -set(MIRCOOKIE_ABI 2) -set(symbol_map ${CMAKE_SOURCE_DIR}/src/cookie/symbols.map) - -add_library(mircookie SHARED - authority.cpp - const_memcmp.cpp - hmac_cookie.cpp -) - -target_include_directories(mircookie - PUBLIC - ${PROJECT_SOURCE_DIR}/include/cookie - PRIVATE - ${PROJECT_SOURCE_DIR}/src/include/cookie -) - -set_target_properties(mircookie - PROPERTIES - SOVERSION ${MIRCOOKIE_ABI} - LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}" - LINK_DEPENDS ${symbol_map} -) - -target_link_libraries(mircookie - PRIVATE - PkgConfig::NETTLE -) - -install( - TARGETS mircookie - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - -install( - DIRECTORY ${CMAKE_SOURCE_DIR}/include/cookie/mir - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/mircookie" -) - -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/mircookie.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -) diff --git a/src/cookie/authority.cpp b/src/cookie/authority.cpp deleted file mode 100644 index 5c99c153765..00000000000 --- a/src/cookie/authority.cpp +++ /dev/null @@ -1,184 +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 . - */ - -#include "mir/cookie/authority.h" -#include "mir/cookie/blob.h" -#include "hmac_cookie.h" -#include "const_memcmp.h" -#include "format.h" - -#include -#include - -#include - -#include -#include - -#include - -namespace -{ -uint32_t const mac_byte_size{32}; - -size_t cookie_size_from_format(mir::cookie::Format const& format) -{ - switch (format) - { - case mir::cookie::Format::hmac_sha_256: - return mir::cookie::default_blob_size; - default: - break; - } - - return 0; -} -} - -static mir::cookie::Secret get_random_data(unsigned size) -{ - int fd = open("/dev/urandom", O_RDONLY); - if (fd < 0) - BOOST_THROW_EXCEPTION(std::system_error(errno, std::system_category(), - "open failed on urandom")); - - mir::cookie::Secret buffer(size); - unsigned got = read(fd, buffer.data(), size); - int error = errno; - close(fd); - - if (got != size) - BOOST_THROW_EXCEPTION(std::system_error(error, std::system_category(), - "read failed on urandom")); - - return buffer; -} - -mir::cookie::SecurityCheckError::SecurityCheckError() : - runtime_error("Invalid Cookie") -{ -} - -class AuthorityNettle : public mir::cookie::Authority -{ -public: - AuthorityNettle(mir::cookie::Secret const& secret) - { - if (secret.size() < minimum_secret_size) - BOOST_THROW_EXCEPTION(std::logic_error("Secret size " + std::to_string(secret.size()) + " is to small, require " + - std::to_string(minimum_secret_size) + " or greater.")); - - hmac_sha256_set_key(&ctx, secret.size(), secret.data()); - } - - virtual ~AuthorityNettle() noexcept = default; - - - std::unique_ptr make_cookie(uint64_t const& timestamp) override - { - return std::make_unique(timestamp, calculate_cookie(timestamp), mir::cookie::Format::hmac_sha_256); - } - - std::unique_ptr make_cookie(std::vector const& raw_cookie) override - { - /* - SHA_256 Format: - 1 byte = FORMAT - 8 bytes = TIMESTAMP - 32 bytes = MAC - */ - - if (raw_cookie.size() != cookie_size_from_format(mir::cookie::Format::hmac_sha_256)) - { - BOOST_THROW_EXCEPTION(mir::cookie::SecurityCheckError()); - } - - mir::cookie::Format format = static_cast(raw_cookie[0]); - if (format != mir::cookie::Format::hmac_sha_256) - { - BOOST_THROW_EXCEPTION(mir::cookie::SecurityCheckError()); - } - - uint64_t timestamp = 0; - - auto ptr = raw_cookie.data(); - ptr++; - - memcpy(×tamp, ptr, sizeof(uint64_t)); - ptr += sizeof(timestamp); - - std::vector mac(mac_byte_size); - memcpy(mac.data(), ptr, mac.size()); - - std::unique_ptr cookie = - std::make_unique(timestamp, mac, mir::cookie::Format::hmac_sha_256); - - if (!verify_cookie(timestamp, cookie)) - { - BOOST_THROW_EXCEPTION(mir::cookie::SecurityCheckError()); - } - - return cookie; - } - -private: - std::vector calculate_cookie(uint64_t const& timestamp) - { - std::vector mac(mac_byte_size); - hmac_sha256_update(&ctx, sizeof(timestamp), reinterpret_cast(×tamp)); - hmac_sha256_digest(&ctx, mac.size(), mac.data()); - - return mac; - } - - bool verify_cookie(uint64_t const& timestamp, std::unique_ptr const& cookie) - { - auto const calculated_cookie = make_cookie(timestamp); - - auto const this_stream = cookie->serialize(); - auto const other_stream = calculated_cookie->serialize(); - - return this_stream.size() == other_stream.size() && - mir::cookie::const_memcmp(this_stream.data(), other_stream.data(), this_stream.size()) == 0; - } - - struct hmac_sha256_ctx ctx; -}; - -size_t mir::cookie::Authority::optimal_secret_size() -{ - // Secret keys smaller than this are internally zero-extended to this size. - // Secret keys larger than this are internally hashed to this size. - size_t const hmac_sha256_block_size{64}; - return hmac_sha256_block_size; -} - -std::unique_ptr mir::cookie::Authority::create_from(mir::cookie::Secret const& secret) -{ - return std::make_unique(secret); -} - -std::unique_ptr mir::cookie::Authority::create_saving(mir::cookie::Secret& save_secret) -{ - save_secret = get_random_data(optimal_secret_size()); - return std::make_unique(save_secret); -} - -std::unique_ptr mir::cookie::Authority::create() -{ - auto secret = get_random_data(optimal_secret_size()); - return std::make_unique(secret); -} diff --git a/src/cookie/const_memcmp.cpp b/src/cookie/const_memcmp.cpp deleted file mode 100644 index 71f7c8dbca2..00000000000 --- a/src/cookie/const_memcmp.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) - * Frank Denis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include "const_memcmp.h" - -int mir::cookie::const_memcmp(void const* const b1_, void const* const b2_, size_t len) -{ - volatile unsigned char const* b1 = (volatile unsigned char const*) b1_; - volatile unsigned char const* b2 = (volatile unsigned char const*) b2_; - - size_t i; - unsigned char d = (unsigned char) 0U; - - for (i = 0U; i < len; i++) - { - d |= b1[i] ^ b2[i]; - } - return (1 & ((d - 1) >> 8)) - 1; -} diff --git a/src/cookie/const_memcmp.h b/src/cookie/const_memcmp.h deleted file mode 100644 index c4518cf536e..00000000000 --- a/src/cookie/const_memcmp.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) - * Frank Denis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include "stddef.h" - -namespace mir -{ -namespace cookie -{ -int const_memcmp(void const* const b1_, void const* const b2_, size_t len); -} -} diff --git a/src/cookie/format.h b/src/cookie/format.h deleted file mode 100644 index 836403ab842..00000000000 --- a/src/cookie/format.h +++ /dev/null @@ -1,33 +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_COOKIE_COOKIE_FORMAT_H_ -#define MIR_COOKIE_COOKIE_FORMAT_H_ - -#include - -namespace mir -{ -namespace cookie -{ -enum class Format : uint8_t -{ - hmac_sha_256, -}; -} -} - -#endif // MIR_COOKIE_COOKIE_FORMAT_H_ diff --git a/src/cookie/hmac_cookie.cpp b/src/cookie/hmac_cookie.cpp deleted file mode 100644 index d1e3b215263..00000000000 --- a/src/cookie/hmac_cookie.cpp +++ /dev/null @@ -1,51 +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 . - */ - -#include "hmac_cookie.h" - -#include - -mir::cookie::HMACCookie::HMACCookie(uint64_t const& timestamp, - std::vector const& mac, - mir::cookie::Format const& format) : - timestamp_(timestamp), - mac_(mac), - format_(format) -{ -} - -uint64_t mir::cookie::HMACCookie::timestamp() const -{ - return timestamp_; -} - -std::vector mir::cookie::HMACCookie::serialize() const -{ - std::vector serialized_cookie(sizeof(format_) + sizeof(timestamp_) + mac_.size()); - - auto cookie_ptr = serialized_cookie.data(); - - cookie_ptr[0] = static_cast(format_); - cookie_ptr += sizeof(format_); - - auto timestamp_ptr = reinterpret_cast(×tamp_); - memcpy(cookie_ptr, timestamp_ptr, sizeof(timestamp_)); - cookie_ptr += sizeof(timestamp_); - - memcpy(cookie_ptr, mac_.data(), mac_.size()); - - return serialized_cookie; -} diff --git a/src/cookie/hmac_cookie.h b/src/cookie/hmac_cookie.h deleted file mode 100644 index 78c6efb8838..00000000000 --- a/src/cookie/hmac_cookie.h +++ /dev/null @@ -1,49 +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_COOKIE_HMAC_COOKIE_H_ -#define MIR_COOKIE_HMAC_COOKIE_H_ - -#include "mir/cookie/cookie.h" -#include "format.h" - -namespace mir -{ -namespace cookie -{ - -class HMACCookie : public mir::cookie::Cookie -{ -public: - HMACCookie() = delete; - - explicit HMACCookie(uint64_t const& timestamp, - std::vector const& mac, - mir::cookie::Format const& format); - - uint64_t timestamp() const override; - std::vector serialize() const override; - -private: - uint64_t timestamp_; - std::vector mac_; - mir::cookie::Format format_; -}; - -} -} - -#endif // MIR_COOKIE_HMAC_COOKIE_H_ diff --git a/src/cookie/mircookie.pc.in b/src/cookie/mircookie.pc.in deleted file mode 100644 index 40b2b4fc326..00000000000 --- a/src/cookie/mircookie.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -prefix=@CMAKE_INSTALL_PREFIX@ -libdir=@PKGCONFIG_LIBDIR@ -includedir=@PKGCONFIG_INCLUDEDIR@/mircookie - -Name: mircookie -Description: Mir client library -Version: @MIR_VERSION@ -Libs: -L${libdir} -lmircookie -Cflags: -I${includedir} diff --git a/src/cookie/symbols.map b/src/cookie/symbols.map deleted file mode 100644 index 19d57c373bf..00000000000 --- a/src/cookie/symbols.map +++ /dev/null @@ -1,10 +0,0 @@ -MIR_COOKIE_2 { - global: - extern "C++" { - mir::cookie::Authority::optimal_secret_size*; - mir::cookie::Authority::create_from*; - mir::cookie::Authority::create_saving*; - mir::cookie::Authority::create*; - }; - local: *; -}; diff --git a/src/include/common/mir/events/input_event.h b/src/include/common/mir/events/input_event.h index f00496590c3..4b3af4f2aeb 100644 --- a/src/include/common/mir/events/input_event.h +++ b/src/include/common/mir/events/input_event.h @@ -32,9 +32,6 @@ struct MirInputEvent : MirEvent std::chrono::nanoseconds event_time() const; void set_event_time(std::chrono::nanoseconds const& event_time); - std::vector cookie() const; - void set_cookie(std::vector const& cookie); - MirInputEventModifiers modifiers() const; void set_modifiers(MirInputEventModifiers mods); @@ -51,8 +48,7 @@ struct MirInputEvent : MirEvent MirInputEvent(MirInputEventType input_type, MirInputDeviceId dev, std::chrono::nanoseconds et, - MirInputEventModifiers mods, - std::vector const& cookie); + MirInputEventModifiers mods); MirInputEvent(MirInputEventType input_type); MirInputEvent(MirInputEvent const& event) = default; @@ -63,7 +59,6 @@ struct MirInputEvent : MirEvent int window_id_ = 0; MirInputDeviceId device_id_ = 0; std::chrono::nanoseconds event_time_ = {}; - std::vector cookie_; MirInputEventModifiers modifiers_ = 0; }; diff --git a/src/include/common/mir/events/pointer_event.h b/src/include/common/mir/events/pointer_event.h index d6b3800406a..09d66509f7f 100644 --- a/src/include/common/mir/events/pointer_event.h +++ b/src/include/common/mir/events/pointer_event.h @@ -29,7 +29,6 @@ struct MirPointerEvent : MirInputEvent MirPointerEvent(); MirPointerEvent(MirInputDeviceId dev, std::chrono::nanoseconds et, - std::vector const& cookie, MirInputEventModifiers mods, MirPointerAction action, MirPointerButtons buttons, diff --git a/src/include/common/mir/events/touch_event.h b/src/include/common/mir/events/touch_event.h index aa748fdacc8..3d4937bf9d6 100644 --- a/src/include/common/mir/events/touch_event.h +++ b/src/include/common/mir/events/touch_event.h @@ -27,7 +27,6 @@ struct MirTouchEvent : MirInputEvent MirTouchEvent(); MirTouchEvent(MirInputDeviceId id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirInputEventModifiers modifiers, std::vector const& contacts); auto clone() const -> MirTouchEvent* override; diff --git a/src/include/cookie/mir/cookie/blob.h b/src/include/cookie/mir/cookie/blob.h deleted file mode 100644 index 472bec91252..00000000000 --- a/src/include/cookie/mir/cookie/blob.h +++ /dev/null @@ -1,33 +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_COOKIE_BLOB_H_ -#define MIR_COOKIE_BLOB_H_ - -#include -#include -#include - -namespace mir -{ -namespace cookie -{ -size_t const default_blob_size = 41; -using Blob = std::array; -} -} - -#endif // MIR_COOKIE_BLOB_H_ diff --git a/src/include/server/mir/default_server_configuration.h b/src/include/server/mir/default_server_configuration.h index 2fbca7c4a3f..49f64cb507e 100644 --- a/src/include/server/mir/default_server_configuration.h +++ b/src/include/server/mir/default_server_configuration.h @@ -38,10 +38,6 @@ class ObserverMultiplexer; class ConsoleServices; -namespace cookie -{ -class Authority; -} namespace dispatch { class MultiplexingDispatchable; @@ -179,7 +175,6 @@ class DefaultServerConfiguration : public virtual ServerConfiguration auto the_rendering_platforms() -> std::vector> const& override; std::shared_ptr the_input_dispatcher() override; std::shared_ptr the_emergency_cleanup() override; - std::shared_ptr the_cookie_authority() override; std::shared_ptr the_main_clipboard() override; std::shared_ptr the_primary_selection_clipboard() override; std::shared_ptr the_text_input_hub() override; diff --git a/src/include/server/mir/server.h b/src/include/server/mir/server.h index 85504b64b46..c46a5d108f0 100644 --- a/src/include/server/mir/server.h +++ b/src/include/server/mir/server.h @@ -41,11 +41,6 @@ namespace frontend { class SessionAuthorizer; } -namespace cookie -{ -using Secret = std::vector; -class Authority; -} namespace shell { class DisplayLayout; @@ -258,11 +253,6 @@ class Server /// Sets an override functor for creating the gl config. void override_the_gl_config(Builder const& gl_config_builder); - /// Sets an override functor for creating the cookie authority. - /// A secret can be saved and any process this secret is shared - /// with can verify Mir-generated cookies, or produce their own. - void override_the_cookie_authority(Builder const& cookie_authority_builder); - /// Sets an override functor for creating the input dispatcher. void override_the_input_dispatcher(Builder const& input_dispatcher_builder); diff --git a/src/include/server/mir/server_configuration.h b/src/include/server/mir/server_configuration.h index 47f8d6b4318..ca6fdfdbd93 100644 --- a/src/include/server/mir/server_configuration.h +++ b/src/include/server/mir/server_configuration.h @@ -91,7 +91,6 @@ class ServerConfiguration virtual auto the_display_platforms() -> std::vector> const& = 0; virtual auto the_rendering_platforms() -> std::vector> const& = 0; virtual std::shared_ptr the_emergency_cleanup() = 0; - virtual std::shared_ptr the_cookie_authority() = 0; virtual auto the_fatal_error_strategy() -> void (*)(char const* reason, ...) = 0; virtual std::shared_ptr the_application_not_responding_detector() = 0; virtual std::shared_ptr the_main_clipboard() = 0; diff --git a/src/miral/CMakeLists.txt b/src/miral/CMakeLists.txt index 020c47050f1..f889ba84253 100644 --- a/src/miral/CMakeLists.txt +++ b/src/miral/CMakeLists.txt @@ -2,7 +2,7 @@ include_directories( ${PROJECT_SOURCE_DIR}/src/include/server ) -set(MIRAL_ABI 6) +set(MIRAL_ABI 7) set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) set(miral_include ${PROJECT_SOURCE_DIR}/include/miral) diff --git a/src/miral/regenerate-miral-symbols-map.py b/src/miral/regenerate-miral-symbols-map.py index c94f90692bf..3d2ecd9de17 100755 --- a/src/miral/regenerate-miral-symbols-map.py +++ b/src/miral/regenerate-miral-symbols-map.py @@ -81,487 +81,11 @@ def _report(publish, symbol): else: print('NOPUBLISH: {}'.format(symbol)) -OLD_STANZAS = '''MIRAL_4.0 { -# WaylandExtensions::Context ctor and dtor symbols are inline -# but can be exported by unoptimized builds. -# This makes the "regenerate" script hide them: -# miral::WaylandExtensions::Context::?Context*; -# miral::WaylandExtensions::Context::Context*; -# vtable?for?miral::WaylandExtensions::Context; -global: - extern "C++" { - miral::AddInitCallback::?AddInitCallback*; - miral::AddInitCallback::AddInitCallback*; - miral::AddInitCallback::operator*; - miral::AppendEventFilter::AppendEventFilter*; - miral::AppendEventFilter::operator*; - miral::ApplicationAuthorizer::?ApplicationAuthorizer*; - miral::ApplicationAuthorizer::ApplicationAuthorizer*; - miral::ApplicationAuthorizer::operator*; - miral::ApplicationCredentials::ApplicationCredentials*; - miral::ApplicationCredentials::gid*; - miral::ApplicationCredentials::pid*; - miral::ApplicationCredentials::uid*; - miral::ApplicationInfo::?ApplicationInfo*; - miral::ApplicationInfo::ApplicationInfo*; - miral::ApplicationInfo::application*; - miral::ApplicationInfo::name*; - miral::ApplicationInfo::operator*; - miral::ApplicationInfo::userdata*; - miral::ApplicationInfo::windows*; - miral::BasicSetApplicationAuthorizer::?BasicSetApplicationAuthorizer*; - miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer*; - miral::BasicSetApplicationAuthorizer::operator*; - miral::BasicSetApplicationAuthorizer::the_application_authorizer*; - miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy*; - miral::CanonicalWindowManagerPolicy::advise_focus_gained*; - miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; - miral::CanonicalWindowManagerPolicy::confirm_placement_on_display*; - miral::CanonicalWindowManagerPolicy::handle_modify_window*; - miral::CanonicalWindowManagerPolicy::handle_raise_window*; - miral::CanonicalWindowManagerPolicy::handle_window_ready*; - miral::CanonicalWindowManagerPolicy::place_new_window*; - miral::ConfigurationOption::?ConfigurationOption*; - miral::ConfigurationOption::ConfigurationOption*; - miral::ConfigurationOption::operator*; - miral::CursorTheme::?CursorTheme*; - miral::CursorTheme::CursorTheme*; - miral::CursorTheme::operator*; - miral::DisplayConfiguration::?DisplayConfiguration*; - miral::DisplayConfiguration::DisplayConfiguration*; - miral::DisplayConfiguration::add_output_attribute*; - miral::DisplayConfiguration::layout_option*; - miral::DisplayConfiguration::list_layouts*; - miral::DisplayConfiguration::operator*; - miral::DisplayConfiguration::select_layout*; - miral::ExternalClientLauncher::?ExternalClientLauncher*; - miral::ExternalClientLauncher::ExternalClientLauncher*; - miral::ExternalClientLauncher::launch*; - miral::ExternalClientLauncher::launch_using_x11*; - miral::ExternalClientLauncher::operator*; - miral::ExternalClientLauncher::snapcraft_launch*; - miral::ExternalClientLauncher::split_command*; - miral::FdHandle::?FdHandle*; - miral::InternalClientLauncher::?InternalClientLauncher*; - miral::InternalClientLauncher::InternalClientLauncher*; - miral::InternalClientLauncher::launch*; - miral::InternalClientLauncher::operator*; - miral::Keymap::?Keymap*; - miral::Keymap::Keymap*; - miral::Keymap::operator*; - miral::Keymap::set_keymap*; - miral::MinimalWindowManager::?MinimalWindowManager*; - miral::MinimalWindowManager::MinimalWindowManager*; - miral::MinimalWindowManager::advise_delete_app*; - miral::MinimalWindowManager::advise_focus_gained*; - miral::MinimalWindowManager::advise_focus_lost*; - miral::MinimalWindowManager::advise_new_app*; - miral::MinimalWindowManager::begin_pointer_move*; - miral::MinimalWindowManager::begin_pointer_resize*; - miral::MinimalWindowManager::begin_touch_move*; - miral::MinimalWindowManager::begin_touch_resize*; - miral::MinimalWindowManager::confirm_inherited_move*; - miral::MinimalWindowManager::confirm_placement_on_display*; - miral::MinimalWindowManager::handle_keyboard_event*; - miral::MinimalWindowManager::handle_modify_window*; - miral::MinimalWindowManager::handle_pointer_event*; - miral::MinimalWindowManager::handle_raise_window*; - miral::MinimalWindowManager::handle_request_move*; - miral::MinimalWindowManager::handle_request_resize*; - miral::MinimalWindowManager::handle_touch_event*; - miral::MinimalWindowManager::handle_window_ready*; - miral::MinimalWindowManager::place_new_window*; - miral::MirRunner::?MirRunner*; - miral::MirRunner::MirRunner*; - miral::MirRunner::add_start_callback*; - miral::MirRunner::add_stop_callback*; - miral::MirRunner::config_file*; - miral::MirRunner::display_config_file*; - miral::MirRunner::register_fd_handler*; - miral::MirRunner::register_signal_handler*; - miral::MirRunner::run_with*; - miral::MirRunner::set_exception_handler*; - miral::MirRunner::stop*; - miral::MirRunner::wayland_display*; - miral::MirRunner::x11_display*; - miral::Output::?Output*; - miral::Output::Output*; - miral::Output::attribute*; - miral::Output::attributes_map*; - miral::Output::connected*; - miral::Output::extents*; - miral::Output::form_factor*; - miral::Output::id*; - miral::Output::is_same_output*; - miral::Output::logical_group_id*; - miral::Output::name*; - miral::Output::operator*; - miral::Output::orientation*; - miral::Output::physical_size_mm*; - miral::Output::pixel_format*; - miral::Output::power_mode*; - miral::Output::refresh_rate*; - miral::Output::scale*; - miral::Output::type*; - miral::Output::used*; - miral::Output::valid*; - miral::PrependEventFilter::PrependEventFilter*; - miral::PrependEventFilter::operator*; - miral::PrintTo*; - miral::SetCommandLineHandler::?SetCommandLineHandler*; - miral::SetCommandLineHandler::SetCommandLineHandler*; - miral::SetCommandLineHandler::operator*; - miral::SetTerminator::?SetTerminator*; - miral::SetTerminator::SetTerminator*; - miral::SetTerminator::operator*; - miral::SetWindowManagementPolicy::?SetWindowManagementPolicy*; - miral::SetWindowManagementPolicy::SetWindowManagementPolicy*; - miral::SetWindowManagementPolicy::operator*; - miral::StartupInternalClient::?StartupInternalClient*; - miral::StartupInternalClient::StartupInternalClient*; - miral::StartupInternalClient::operator*; - miral::WaylandExtensions::?WaylandExtensions*; - miral::WaylandExtensions::Context::operator*; - miral::WaylandExtensions::EnableInfo::app*; - miral::WaylandExtensions::EnableInfo::name*; - miral::WaylandExtensions::EnableInfo::user_preference*; - miral::WaylandExtensions::WaylandExtensions*; - miral::WaylandExtensions::add_extension*; - miral::WaylandExtensions::add_extension_disabled_by_default*; - miral::WaylandExtensions::all_supported*; - miral::WaylandExtensions::conditionally_enable*; - miral::WaylandExtensions::disable*; - miral::WaylandExtensions::enable*; - miral::WaylandExtensions::ext_session_lock_manager_v1*; - miral::WaylandExtensions::operator*; - miral::WaylandExtensions::recommended*; - miral::WaylandExtensions::supported*; - miral::WaylandExtensions::zwlr_foreign_toplevel_manager_v1*; - miral::WaylandExtensions::zwlr_layer_shell_v1*; - miral::WaylandExtensions::zwlr_screencopy_manager_v1*; - miral::WaylandExtensions::zwlr_virtual_pointer_manager_v1*; - miral::WaylandExtensions::zwp_input_method_manager_v2*; - miral::WaylandExtensions::zwp_virtual_keyboard_manager_v1*; - miral::WaylandExtensions::zxdg_output_manager_v1*; - miral::Window::?Window*; - miral::Window::Window*; - miral::Window::application*; - miral::Window::move_to*; - miral::Window::operator*; - miral::Window::resize*; - miral::Window::size*; - miral::Window::top_left*; - miral::WindowInfo::?WindowInfo*; - miral::WindowInfo::WindowInfo*; - miral::WindowInfo::application_id*; - miral::WindowInfo::attached_edges*; - miral::WindowInfo::can_be_active*; - miral::WindowInfo::can_morph_to*; - miral::WindowInfo::children*; - miral::WindowInfo::clip_area*; - miral::WindowInfo::confine_pointer*; - miral::WindowInfo::constrain_resize*; - miral::WindowInfo::depth_layer*; - miral::WindowInfo::exclusive_rect*; - miral::WindowInfo::focus_mode*; - miral::WindowInfo::has_output_id*; - miral::WindowInfo::height_inc*; - miral::WindowInfo::is_visible*; - miral::WindowInfo::max_aspect*; - miral::WindowInfo::max_height*; - miral::WindowInfo::max_width*; - miral::WindowInfo::min_aspect*; - miral::WindowInfo::min_height*; - miral::WindowInfo::min_width*; - miral::WindowInfo::must_have_parent*; - miral::WindowInfo::must_not_have_parent*; - miral::WindowInfo::name*; - miral::WindowInfo::needs_titlebar*; - miral::WindowInfo::operator*; - miral::WindowInfo::output_id*; - miral::WindowInfo::parent*; - miral::WindowInfo::preferred_orientation*; - miral::WindowInfo::restore_rect*; - miral::WindowInfo::shell_chrome*; - miral::WindowInfo::state*; - miral::WindowInfo::type*; - miral::WindowInfo::userdata*; - miral::WindowInfo::visible_on_lock_screen*; - miral::WindowInfo::width_inc*; - miral::WindowInfo::window*; - miral::WindowManagementPolicy::?WindowManagementPolicy*; - miral::WindowManagementPolicy::WindowManagementPolicy*; - miral::WindowManagementPolicy::advise_adding_to_workspace*; - miral::WindowManagementPolicy::advise_application_zone_create*; - miral::WindowManagementPolicy::advise_application_zone_delete*; - miral::WindowManagementPolicy::advise_application_zone_update*; - miral::WindowManagementPolicy::advise_begin*; - miral::WindowManagementPolicy::advise_delete_app*; - miral::WindowManagementPolicy::advise_delete_window*; - miral::WindowManagementPolicy::advise_end*; - miral::WindowManagementPolicy::advise_focus_gained*; - miral::WindowManagementPolicy::advise_focus_lost*; - miral::WindowManagementPolicy::advise_move_to*; - miral::WindowManagementPolicy::advise_new_app*; - miral::WindowManagementPolicy::advise_new_window*; - miral::WindowManagementPolicy::advise_output_create*; - miral::WindowManagementPolicy::advise_output_delete*; - miral::WindowManagementPolicy::advise_output_update*; - miral::WindowManagementPolicy::advise_raise*; - miral::WindowManagementPolicy::advise_removing_from_workspace*; - miral::WindowManagementPolicy::advise_resize*; - miral::WindowManagementPolicy::advise_state_change*; - miral::WindowManagementPolicy::operator*; - miral::WindowManagerOptions::WindowManagerOptions*; - miral::WindowManagerOptions::operator*; - miral::WindowManagerTools::?WindowManagerTools*; - miral::WindowManagerTools::WindowManagerTools*; - miral::WindowManagerTools::active_application_zone*; - miral::WindowManagerTools::active_output*; - miral::WindowManagerTools::active_window*; - miral::WindowManagerTools::add_tree_to_workspace*; - miral::WindowManagerTools::ask_client_to_close*; - miral::WindowManagerTools::count_applications*; - miral::WindowManagerTools::create_workspace*; - miral::WindowManagerTools::drag_active_window*; - miral::WindowManagerTools::drag_window*; - miral::WindowManagerTools::find_application*; - miral::WindowManagerTools::focus_next_application*; - miral::WindowManagerTools::focus_next_within_application*; - miral::WindowManagerTools::focus_prev_application*; - miral::WindowManagerTools::focus_prev_within_application*; - miral::WindowManagerTools::for_each_application*; - miral::WindowManagerTools::for_each_window_in_workspace*; - miral::WindowManagerTools::for_each_workspace_containing*; - miral::WindowManagerTools::id_for_window*; - miral::WindowManagerTools::info_for*; - miral::WindowManagerTools::info_for_window_id*; - miral::WindowManagerTools::invoke_under_lock*; - miral::WindowManagerTools::modify_window*; - miral::WindowManagerTools::move_workspace_content_to_workspace*; - miral::WindowManagerTools::operator*; - miral::WindowManagerTools::place_and_size_for_state*; - miral::WindowManagerTools::raise_tree*; - miral::WindowManagerTools::remove_tree_from_workspace*; - miral::WindowManagerTools::select_active_window*; - miral::WindowManagerTools::send_tree_to_back*; - miral::WindowManagerTools::swap_tree_order*; - miral::WindowManagerTools::window_at*; - miral::WindowManagerTools::window_to_select_application*; - miral::WindowSpecification::?WindowSpecification*; - miral::WindowSpecification::WindowSpecification*; - miral::WindowSpecification::application_id*; - miral::WindowSpecification::attached_edges*; - miral::WindowSpecification::aux_rect*; - miral::WindowSpecification::aux_rect_placement_gravity*; - miral::WindowSpecification::aux_rect_placement_offset*; - miral::WindowSpecification::confine_pointer*; - miral::WindowSpecification::depth_layer*; - miral::WindowSpecification::exclusive_rect*; - miral::WindowSpecification::focus_mode*; - miral::WindowSpecification::height_inc*; - miral::WindowSpecification::input_mode*; - miral::WindowSpecification::input_shape*; - miral::WindowSpecification::max_aspect*; - miral::WindowSpecification::max_height*; - miral::WindowSpecification::max_width*; - miral::WindowSpecification::min_aspect*; - miral::WindowSpecification::min_height*; - miral::WindowSpecification::min_width*; - miral::WindowSpecification::name*; - miral::WindowSpecification::operator*; - miral::WindowSpecification::output_id*; - miral::WindowSpecification::parent*; - miral::WindowSpecification::placement_hints*; - miral::WindowSpecification::preferred_orientation*; - miral::WindowSpecification::server_side_decorated*; - miral::WindowSpecification::shell_chrome*; - miral::WindowSpecification::size*; - miral::WindowSpecification::state*; - miral::WindowSpecification::top_left*; - miral::WindowSpecification::type*; - miral::WindowSpecification::userdata*; - miral::WindowSpecification::visible_on_lock_screen*; - miral::WindowSpecification::width_inc*; - miral::WindowSpecification::window_placement_gravity*; - miral::X11Support::?X11Support*; - miral::X11Support::X11Support*; - miral::X11Support::operator*; - miral::Zone::?Zone*; - miral::Zone::Zone*; - miral::Zone::extents*; - miral::Zone::id*; - miral::Zone::is_same_zone*; - miral::Zone::operator*; - miral::application_for*; - miral::apply_lifecycle_state_to*; - miral::display_configuration_options*; - miral::equivalent_display_area*; - miral::kill*; - miral::name_of*; - miral::operator*; - miral::pid_of*; - miral::pre_init*; - miral::socket_fd_of*; - miral::toolkit::mir_event_get_input_event*; - miral::toolkit::mir_event_get_type*; - miral::toolkit::mir_input_event_get_event*; - miral::toolkit::mir_input_event_get_event_time*; - miral::toolkit::mir_input_event_get_keyboard_event*; - miral::toolkit::mir_input_event_get_pointer_event*; - miral::toolkit::mir_input_event_get_touch_event*; - miral::toolkit::mir_input_event_get_type*; - miral::toolkit::mir_input_event_has_cookie*; - miral::toolkit::mir_keyboard_event_action*; - miral::toolkit::mir_keyboard_event_input_event*; - miral::toolkit::mir_keyboard_event_key_text*; - miral::toolkit::mir_keyboard_event_keysym*; - miral::toolkit::mir_keyboard_event_modifiers*; - miral::toolkit::mir_keyboard_event_scan_code*; - miral::toolkit::mir_pointer_event_action*; - miral::toolkit::mir_pointer_event_axis_value*; - miral::toolkit::mir_pointer_event_button_state*; - miral::toolkit::mir_pointer_event_buttons*; - miral::toolkit::mir_pointer_event_input_event*; - miral::toolkit::mir_pointer_event_modifiers*; - miral::toolkit::mir_touch_event_action*; - miral::toolkit::mir_touch_event_axis_value*; - miral::toolkit::mir_touch_event_id*; - miral::toolkit::mir_touch_event_input_event*; - miral::toolkit::mir_touch_event_modifiers*; - miral::toolkit::mir_touch_event_point_count*; - miral::toolkit::mir_touch_event_tooltype*; - miral::window_for*; - non-virtual?thunk?to?miral::ApplicationAuthorizer::?ApplicationAuthorizer*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::advise_focus_gained*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::confirm_placement_on_display*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_modify_window*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_raise_window*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_window_ready*; - non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_window*; - non-virtual?thunk?to?miral::FdHandle::?FdHandle*; - non-virtual?thunk?to?miral::MinimalWindowManager::advise_delete_app*; - non-virtual?thunk?to?miral::MinimalWindowManager::advise_focus_gained*; - non-virtual?thunk?to?miral::MinimalWindowManager::advise_focus_lost*; - non-virtual?thunk?to?miral::MinimalWindowManager::advise_new_app*; - non-virtual?thunk?to?miral::MinimalWindowManager::confirm_inherited_move*; - non-virtual?thunk?to?miral::MinimalWindowManager::confirm_placement_on_display*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_keyboard_event*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_modify_window*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_pointer_event*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_raise_window*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_request_move*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_request_resize*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_touch_event*; - non-virtual?thunk?to?miral::MinimalWindowManager::handle_window_ready*; - non-virtual?thunk?to?miral::MinimalWindowManager::place_new_window*; - non-virtual?thunk?to?miral::WaylandExtensions::Context::?Context*; - non-virtual?thunk?to?miral::WindowManagementPolicy::?WindowManagementPolicy*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_adding_to_workspace*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_application_zone_create*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_application_zone_delete*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_application_zone_update*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_begin*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_app*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_window*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_end*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_gained*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_lost*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_move_to*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_app*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_window*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_output_create*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_output_delete*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_output_update*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_raise*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_removing_from_workspace*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_resize*; - non-virtual?thunk?to?miral::WindowManagementPolicy::advise_state_change*; - typeinfo?for?miral::AddInitCallback; - typeinfo?for?miral::AppendEventFilter; - typeinfo?for?miral::ApplicationAuthorizer; - typeinfo?for?miral::ApplicationCredentials; - typeinfo?for?miral::ApplicationInfo; - typeinfo?for?miral::BasicSetApplicationAuthorizer; - typeinfo?for?miral::CanonicalWindowManagerPolicy; - typeinfo?for?miral::ConfigurationOption; - typeinfo?for?miral::CursorTheme; - typeinfo?for?miral::DisplayConfiguration; - typeinfo?for?miral::ExternalClientLauncher; - typeinfo?for?miral::FdHandle; - typeinfo?for?miral::InternalClientLauncher; - typeinfo?for?miral::Keymap; - typeinfo?for?miral::MinimalWindowManager; - typeinfo?for?miral::MirRunner; - typeinfo?for?miral::Output; - typeinfo?for?miral::Output::PhysicalSizeMM; - typeinfo?for?miral::PrependEventFilter; - typeinfo?for?miral::SetCommandLineHandler; - typeinfo?for?miral::SetTerminator; - typeinfo?for?miral::SetWindowManagementPolicy; - typeinfo?for?miral::StartupInternalClient; - typeinfo?for?miral::WaylandExtensions; - typeinfo?for?miral::WaylandExtensions::Builder; - typeinfo?for?miral::WaylandExtensions::Context; - typeinfo?for?miral::WaylandExtensions::EnableInfo; - typeinfo?for?miral::Window; - typeinfo?for?miral::WindowInfo; - typeinfo?for?miral::WindowManagementPolicy; - typeinfo?for?miral::WindowManagerOption; - typeinfo?for?miral::WindowManagerOptions; - typeinfo?for?miral::WindowManagerTools; - typeinfo?for?miral::WindowSpecification; - typeinfo?for?miral::WindowSpecification::AspectRatio; - typeinfo?for?miral::X11Support; - typeinfo?for?miral::Zone; - vtable?for?miral::AddInitCallback; - vtable?for?miral::AppendEventFilter; - vtable?for?miral::ApplicationAuthorizer; - vtable?for?miral::ApplicationCredentials; - vtable?for?miral::ApplicationInfo; - vtable?for?miral::BasicSetApplicationAuthorizer; - vtable?for?miral::CanonicalWindowManagerPolicy; - vtable?for?miral::ConfigurationOption; - vtable?for?miral::CursorTheme; - vtable?for?miral::DisplayConfiguration; - vtable?for?miral::ExternalClientLauncher; - vtable?for?miral::FdHandle; - vtable?for?miral::InternalClientLauncher; - vtable?for?miral::Keymap; - vtable?for?miral::MinimalWindowManager; - vtable?for?miral::MirRunner; - vtable?for?miral::Output; - vtable?for?miral::Output::PhysicalSizeMM; - vtable?for?miral::PrependEventFilter; - vtable?for?miral::SetCommandLineHandler; - vtable?for?miral::SetTerminator; - vtable?for?miral::SetWindowManagementPolicy; - vtable?for?miral::StartupInternalClient; - vtable?for?miral::WaylandExtensions; - vtable?for?miral::WaylandExtensions::Builder; - vtable?for?miral::WaylandExtensions::EnableInfo; - vtable?for?miral::Window; - vtable?for?miral::WindowInfo; - vtable?for?miral::WindowManagementPolicy; - vtable?for?miral::WindowManagerOption; - vtable?for?miral::WindowManagerOptions; - vtable?for?miral::WindowManagerTools; - vtable?for?miral::WindowSpecification; - vtable?for?miral::WindowSpecification::AspectRatio; - vtable?for?miral::X11Support; - vtable?for?miral::Zone; - }; - - local: *; -}; - -MIRAL_4.1 { +OLD_STANZAS = '''MIRAL_5.0 { global:''' -END_NEW_STANZA = ''' -} MIRAL_4.0; -''' +END_NEW_STANZA = '''local: *; +};''' def _print_report(): print(OLD_STANZAS) diff --git a/src/miral/symbols.map b/src/miral/symbols.map index b306cf390d1..d1369e45718 100644 --- a/src/miral/symbols.map +++ b/src/miral/symbols.map @@ -1,10 +1,4 @@ -MIRAL_4.0 { -# WaylandExtensions::Context ctor and dtor symbols are inline -# but can be exported by unoptimized builds. -# This makes the "regenerate" script hide them: -# miral::WaylandExtensions::Context::?Context*; -# miral::WaylandExtensions::Context::Context*; -# vtable?for?miral::WaylandExtensions::Context; +MIRAL_5.0 { global: extern "C++" { miral::AddInitCallback::?AddInitCallback*; @@ -138,6 +132,8 @@ global: miral::StartupInternalClient::StartupInternalClient*; miral::StartupInternalClient::operator*; miral::WaylandExtensions::?WaylandExtensions*; + miral::WaylandExtensions::Context::?Context*; + miral::WaylandExtensions::Context::Context*; miral::WaylandExtensions::Context::operator*; miral::WaylandExtensions::EnableInfo::app*; miral::WaylandExtensions::EnableInfo::name*; @@ -158,6 +154,8 @@ global: miral::WaylandExtensions::zwlr_screencopy_manager_v1*; miral::WaylandExtensions::zwlr_virtual_pointer_manager_v1*; miral::WaylandExtensions::zwp_input_method_manager_v2*; + miral::WaylandExtensions::zwp_input_method_v1*; + miral::WaylandExtensions::zwp_input_panel_v1*; miral::WaylandExtensions::zwp_virtual_keyboard_manager_v1*; miral::WaylandExtensions::zxdg_output_manager_v1*; miral::Window::?Window*; @@ -303,6 +301,7 @@ global: miral::WindowSpecification::window_placement_gravity*; miral::X11Support::?X11Support*; miral::X11Support::X11Support*; + miral::X11Support::default_to_enabled*; miral::X11Support::operator*; miral::Zone::?Zone*; miral::Zone::Zone*; @@ -328,7 +327,6 @@ global: miral::toolkit::mir_input_event_get_pointer_event*; miral::toolkit::mir_input_event_get_touch_event*; miral::toolkit::mir_input_event_get_type*; - miral::toolkit::mir_input_event_has_cookie*; miral::toolkit::mir_keyboard_event_action*; miral::toolkit::mir_keyboard_event_input_event*; miral::toolkit::mir_keyboard_event_key_text*; @@ -457,6 +455,7 @@ global: vtable?for?miral::StartupInternalClient; vtable?for?miral::WaylandExtensions; vtable?for?miral::WaylandExtensions::Builder; + vtable?for?miral::WaylandExtensions::Context; vtable?for?miral::WaylandExtensions::EnableInfo; vtable?for?miral::Window; vtable?for?miral::WindowInfo; @@ -469,17 +468,5 @@ global: vtable?for?miral::X11Support; vtable?for?miral::Zone; }; - - local: *; +local: *; }; - -MIRAL_4.1 { -global: - extern "C++" { - miral::WaylandExtensions::zwp_input_method_v1*; - miral::WaylandExtensions::zwp_input_panel_v1*; - miral::X11Support::default_to_enabled*; - }; - -} MIRAL_4.0; - diff --git a/src/miral/toolkit_event.cpp b/src/miral/toolkit_event.cpp index ccb55f6f9a8..2c7b2fd37c2 100644 --- a/src/miral/toolkit_event.cpp +++ b/src/miral/toolkit_event.cpp @@ -57,11 +57,6 @@ MirPointerEvent const* mir_input_event_get_pointer_event(MirInputEvent const* ev return ::mir_input_event_get_pointer_event(event); } -bool mir_input_event_has_cookie(MirInputEvent const* ev) -{ - return ::mir_input_event_has_cookie(ev); -} - MirEvent const* mir_input_event_get_event(MirInputEvent const* event) { return ::mir_input_event_get_event(event); diff --git a/src/miroil/CMakeLists.txt b/src/miroil/CMakeLists.txt index 26baa539b82..de73650218b 100644 --- a/src/miroil/CMakeLists.txt +++ b/src/miroil/CMakeLists.txt @@ -1,4 +1,4 @@ -set(MIROIL_ABI 4) +set(MIROIL_ABI 5) set(MIROIL_VERSION_MAJOR ${MIROIL_ABI}) set(MIROIL_VERSION_MINOR 0) set(MIROIL_VERSION_PATCH 0) @@ -63,15 +63,15 @@ execute_process(COMMAND uname -m OUTPUT_VARIABLE MIR_ARCH) find_program(MIR_DPKG_GENSYMBOLS dpkg-gensymbols) if (CMAKE_COMPILER_IS_GNUCXX AND # clang generates slightly different symbols (but we don't care) - MIR_USE_LD EQUAL "ld" AND # lld on 22.04 generates slightly different symbols (but we don't care) + MIR_USE_LD STREQUAL "ld" AND # lld on 22.04 generates slightly different symbols (but we don't care) MIR_LINK_TIME_OPTIMIZATION AND # g++ generates slightly different symbols without LTO (but we don't care) MIR_ARCH MATCHES 64 AND # On 32bit platforms int64_t presents as `long long` (but we've `long`) MIR_DPKG_GENSYMBOLS) # Using dpkg-gensymbols only makes sense on Debian based distros if (MIR_DPKG_GENSYMBOLS) add_custom_target(check-miroil-symbols ALL - DEPENDS miroil ${PROJECT_SOURCE_DIR}/debian/libmiroil${MIROIL_ABI}.symbols.amd64 - COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/check-and-update-debian-symbols.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} miroil MIR_VERSION ${MIROIL_ABI} ${MIROIL_VERSION_MINOR} + DEPENDS miroil ${PROJECT_SOURCE_DIR}/debian/libmiroil${MIROIL_ABI}.symbols + COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/check-and-update-debian-symbols.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} miroil ${MIR_VERSION} ${MIROIL_ABI} ${MIROIL_VERSION_MINOR} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" VERBATIM) endif() diff --git a/src/miroil/check-and-update-debian-symbols.py b/src/miroil/check-and-update-debian-symbols.py index 6bb14f27b1b..c375c33c594 100755 --- a/src/miroil/check-and-update-debian-symbols.py +++ b/src/miroil/check-and-update-debian-symbols.py @@ -39,7 +39,7 @@ def __init__(self, args): assert i == arg_len, 'i does not match arg_len' self.library_so_path = self.library_dir_path + '/lib' + self.library_name + '.so.' + str(self.abi_version) self.deb_package_name = 'lib' + self.library_name + str(self.abi_version) - self.deb_symbols_path = 'debian/' + self.deb_package_name + '.symbols.amd64' + self.deb_symbols_path = 'debian/' + self.deb_package_name + '.symbols' self.output_symbols_path = get_output_symbols_path() def validate(self): diff --git a/src/miroil/event_builder.cpp b/src/miroil/event_builder.cpp index 46c80140c43..09f7bb65ec8 100644 --- a/src/miroil/event_builder.cpp +++ b/src/miroil/event_builder.cpp @@ -16,7 +16,6 @@ #include "miroil/event_builder.h" #include "mir_toolkit/events/input/input_event.h" -#include "mir_toolkit/mir_cookie.h" #include "mir/events/event_builders.h" namespace miroil { @@ -38,32 +37,30 @@ void EventBuilder::add_touch(MirEvent &event, MirTouchId touch_id, MirTouchActio // Key event mir::EventUPtr EventBuilder::make_key_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& cookie, MirKeyboardAction action, xkb_keysym_t keysym, - int scan_code, MirInputEventModifiers modifiers) + MirKeyboardAction action, xkb_keysym_t keysym, int scan_code, MirInputEventModifiers modifiers) { return mir::events::make_key_event(device_id, timestamp, - cookie, action, keysym, + action, keysym, scan_code, modifiers); } // Touch event mir::EventUPtr EventBuilder::make_touch_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers) + MirInputEventModifiers modifiers) { - return mir::events::make_touch_event(device_id, timestamp, - mac, modifiers); + return mir::events::make_touch_event(device_id, timestamp, modifiers); } // Pointer event mir::EventUPtr EventBuilder::make_pointer_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp, - std::vector const& mac, MirInputEventModifiers modifiers, MirPointerAction action, + MirInputEventModifiers modifiers, MirPointerAction action, MirPointerButtons buttons_pressed, float x_axis_value, float y_axis_value, float hscroll_value, float vscroll_value, float relative_x_value, float relative_y_value) { return mir::events::make_pointer_event(device_id, timestamp, - mac, modifiers, action, + modifiers, action, buttons_pressed, x_axis_value, y_axis_value, hscroll_value, vscroll_value, @@ -96,15 +93,6 @@ void EventBuilder::EventInfo::store(const MirInputEvent *iev, ulong qtTimestamp) { this->timestamp = qtTimestamp; device_id = mir_input_event_get_device_id(iev); - if (mir_input_event_has_cookie(iev)) - { - auto cookie_ptr = mir_input_event_get_cookie(iev); - cookie.resize(mir_cookie_buffer_size(cookie_ptr)); - mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size()); - mir_cookie_release(cookie_ptr); - } else { - cookie.resize(0); - } if (mir_input_event_type_pointer == mir_input_event_get_type(iev)) { auto pev = mir_input_event_get_pointer_event(iev); diff --git a/src/miroil/regenerate-miroil-symbols-map.py b/src/miroil/regenerate-miroil-symbols-map.py index 59681468649..340b6012a08 100755 --- a/src/miroil/regenerate-miroil-symbols-map.py +++ b/src/miroil/regenerate-miroil-symbols-map.py @@ -81,7 +81,7 @@ def _report(publish, symbol): else: print('NOPUBLISH: {}'.format(symbol)) -OLD_STANZAS = '''MIROIL_2.0 { +OLD_STANZAS = '''MIROIL_5.0 { global:''' END_NEW_STANZA = ''' diff --git a/src/miroil/symbols.map b/src/miroil/symbols.map index 2a35a8d3e3d..b23a56922ab 100644 --- a/src/miroil/symbols.map +++ b/src/miroil/symbols.map @@ -1,4 +1,4 @@ -MIROIL_2.0 { +MIROIL_5.0 { global: extern "C++" { miroil::Compositor::?Compositor*; diff --git a/src/platform/symbols.map b/src/platform/symbols.map index 2f5cbb62cb3..13365621c7c 100644 --- a/src/platform/symbols.map +++ b/src/platform/symbols.map @@ -1,4 +1,4 @@ -MIR_PLATFORM_2.16 { +MIR_PLATFORM_2.17 { global: extern "C++" { mir::graphics::AtomicFrame::increment*; diff --git a/src/platforms/CMakeLists.txt b/src/platforms/CMakeLists.txt index c94a2d5394d..24f378fa1a9 100644 --- a/src/platforms/CMakeLists.txt +++ b/src/platforms/CMakeLists.txt @@ -3,12 +3,12 @@ # This ABI is much smaller than the full libmirplatform ABI. # # TODO: Add an extra driver-ABI check target. -set(MIR_SERVER_INPUT_PLATFORM_ABI 8) +set(MIR_SERVER_INPUT_PLATFORM_ABI 9) set(MIR_SERVER_INPUT_PLATFORM_STANZA_VERSION 0.27) set(MIR_SERVER_INPUT_PLATFORM_ABI ${MIR_SERVER_INPUT_PLATFORM_ABI} PARENT_SCOPE) set(MIR_SERVER_INPUT_PLATFORM_VERSION "MIR_INPUT_PLATFORM_${MIR_SERVER_INPUT_PLATFORM_STANZA_VERSION}") set(MIR_SERVER_INPUT_PLATFORM_VERSION ${MIR_SERVER_INPUT_PLATFORM_VERSION} PARENT_SCOPE) -set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 21) +set(MIR_SERVER_GRAPHICS_PLATFORM_ABI 22) set(MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION 2.16) set(MIR_SERVER_GRAPHICS_PLATFORM_ABI ${MIR_SERVER_GRAPHICS_PLATFORM_ABI} PARENT_SCOPE) set(MIR_SERVER_GRAPHICS_PLATFORM_VERSION "MIR_GRAPHICS_PLATFORM_${MIR_SERVER_GRAPHICS_PLATFORM_STANZA_VERSION}") diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index c23cb983826..a3b10a80b26 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -13,7 +13,6 @@ include_directories( ${PROJECT_SOURCE_DIR}/src/include/platform ${PROJECT_SOURCE_DIR}/src/include/client ${PROJECT_SOURCE_DIR}/src/include/server - ${PROJECT_SOURCE_DIR}/src/include/cookie ${PROJECT_SOURCE_DIR}/src/include/wayland ) add_compile_definitions(MIR_SERVER_INPUT_PLATFORM_VERSION="${MIR_SERVER_INPUT_PLATFORM_VERSION}") @@ -68,7 +67,6 @@ target_link_libraries(mirserverobjects PUBLIC mirplatform mircommon - mircookie mircore PRIVATE PkgConfig::GLIB @@ -123,7 +121,6 @@ target_link_libraries(mirserver mirplatform mircommon - mircookie mirwayland server_platform_common @@ -158,7 +155,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/server/mir DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/mirserver" ) -set(MIRSERVER_ABI 59) # Be sure to increment MIR_VERSION_MINOR at the same time +set(MIRSERVER_ABI 60) # Be sure to increment MIR_VERSION_MINOR at the same time set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) set_target_properties( diff --git a/src/server/default_server_configuration.cpp b/src/server/default_server_configuration.cpp index 9bca970c22b..94216b82c82 100644 --- a/src/server/default_server_configuration.cpp +++ b/src/server/default_server_configuration.cpp @@ -20,7 +20,6 @@ #include "mir/glib_main_loop.h" #include "mir/default_server_status_listener.h" #include "mir/emergency_cleanup.h" -#include "mir/cookie/authority.h" #include "mir/frontend/wayland.h" #include "mir/logging/dumb_console_logger.h" @@ -50,11 +49,6 @@ namespace ms = mir::scene; namespace msh = mir::shell; namespace mi = mir::input; -namespace -{ - unsigned const secret_size{64}; -} - mir::DefaultServerConfiguration::DefaultServerConfiguration(int argc, char const* argv[]) : DefaultServerConfiguration(std::make_shared(argc, argv)) { @@ -181,18 +175,6 @@ std::shared_ptr mir::DefaultServerConfiguration::the_emer }); } -std::shared_ptr mir::DefaultServerConfiguration::the_cookie_authority() -{ - return cookie_authority( - []() - { - static_assert(secret_size >= mir::cookie::Authority::minimum_secret_size, - "Secret size is smaller then the minimum secret size"); - - return mir::cookie::Authority::create(); - }); -} - std::function mir::DefaultServerConfiguration::the_stop_callback() { return []{}; diff --git a/src/server/frontend_xwayland/xwayland_surface.cpp b/src/server/frontend_xwayland/xwayland_surface.cpp index 3a39ff1be37..b006aefdce3 100644 --- a/src/server/frontend_xwayland/xwayland_surface.cpp +++ b/src/server/frontend_xwayland/xwayland_surface.cpp @@ -475,8 +475,6 @@ void mf::XWaylandSurface::map() }); // If we had more properties to read we would queue them all up before completing the first one - cookie(); - uint32_t const workspace = 1; connection->set_property( window, diff --git a/src/server/input/CMakeLists.txt b/src/server/input/CMakeLists.txt index f4e0b33569c..784b9d0c99f 100644 --- a/src/server/input/CMakeLists.txt +++ b/src/server/input/CMakeLists.txt @@ -47,7 +47,6 @@ target_link_libraries(mirinput PUBLIC mirplatform mircommon - mircookie mircore PRIVATE PkgConfig::GLIB diff --git a/src/server/input/default_configuration.cpp b/src/server/input/default_configuration.cpp index 5fe6ccc683a..5475a24abc4 100644 --- a/src/server/input/default_configuration.cpp +++ b/src/server/input/default_configuration.cpp @@ -158,7 +158,7 @@ mir::DefaultServerConfiguration::the_input_dispatcher() std::make_shared(idle_poking_dispatcher); return std::make_shared( - keyboard_resync_dispatcher, the_main_loop(), the_cookie_authority(), + keyboard_resync_dispatcher, the_main_loop(), enable_repeat, key_repeat_timeout, key_repeat_delay, false); }); } @@ -312,7 +312,6 @@ std::shared_ptr mir::DefaultServerConfiguration::the_ the_seat(), the_input_reading_multiplexer(), the_clock(), - the_cookie_authority(), the_key_mapper(), the_server_status_listener()); diff --git a/src/server/input/default_event_builder.cpp b/src/server/input/default_event_builder.cpp index 046e235b319..056957c3cc9 100644 --- a/src/server/input/default_event_builder.cpp +++ b/src/server/input/default_event_builder.cpp @@ -18,7 +18,6 @@ #include "mir/time/clock.h" #include "mir/input/seat.h" #include "mir/events/event_builders.h" -#include "mir/cookie/authority.h" #include @@ -27,11 +26,9 @@ namespace mi = mir::input; mi::DefaultEventBuilder::DefaultEventBuilder( MirInputDeviceId device_id, - std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority) + std::shared_ptr const& clock) : device_id(device_id), - clock(clock), - cookie_authority(cookie_authority) + clock(clock) { } @@ -42,9 +39,8 @@ mir::EventUPtr mi::DefaultEventBuilder::key_event( int scan_code) { auto const timestamp = calibrate_timestamp(source_timestamp); - auto const cookie = cookie_authority->make_cookie(timestamp.count()); return me::make_key_event( - device_id, timestamp, cookie->serialize(), action, keysym, scan_code, mir_input_event_modifier_none); + device_id, timestamp, action, keysym, scan_code, mir_input_event_modifier_none); } mir::EventUPtr mi::DefaultEventBuilder::pointer_event( @@ -56,15 +52,9 @@ mir::EventUPtr mi::DefaultEventBuilder::pointer_event( { const float x_axis_value = 0; const float y_axis_value = 0; - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_event( - device_id, timestamp, vec_cookie, mir_input_event_modifier_none, action, buttons_pressed, x_axis_value, + device_id, timestamp, mir_input_event_modifier_none, action, buttons_pressed, x_axis_value, y_axis_value, hscroll_value, vscroll_value, relative_x_value, relative_y_value); } @@ -77,15 +67,9 @@ mir::EventUPtr mi::DefaultEventBuilder::pointer_event( float hscroll_value, float vscroll_value, float relative_x_value, float relative_y_value) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_event( - device_id, timestamp, vec_cookie, mir_input_event_modifier_none, action, buttons_pressed, x_axis, y_axis, + device_id, timestamp, mir_input_event_modifier_none, action, buttons_pressed, x_axis, y_axis, hscroll_value, vscroll_value, relative_x_value, relative_y_value); } @@ -98,15 +82,9 @@ mir::EventUPtr mi::DefaultEventBuilder::pointer_axis_event( float hscroll_value, float vscroll_value, float relative_x_value, float relative_y_value) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_axis_event( - axis_source, device_id, timestamp, vec_cookie, mir_input_event_modifier_none, action, buttons_pressed, x_axis, + axis_source, device_id, timestamp, mir_input_event_modifier_none, action, buttons_pressed, x_axis, y_axis, hscroll_value, vscroll_value, relative_x_value, relative_y_value); } @@ -120,15 +98,9 @@ mir::EventUPtr mi::DefaultEventBuilder::pointer_axis_with_stop_event( bool hscroll_stop, bool vscroll_stop, float relative_x_value, float relative_y_value) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_axis_with_stop_event( - axis_source, device_id, timestamp, vec_cookie, mir_input_event_modifier_none, action, buttons_pressed, x_axis, + axis_source, device_id, timestamp, mir_input_event_modifier_none, action, buttons_pressed, x_axis, y_axis, hscroll_value, vscroll_value, hscroll_stop, vscroll_stop, relative_x_value, relative_y_value); } @@ -137,15 +109,9 @@ mir::EventUPtr mir::input::DefaultEventBuilder::pointer_axis_discrete_scroll_eve MirPointerButtons buttons_pressed, float hscroll_value, float vscroll_value, float hscroll_discrete, float vscroll_discrete) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_axis_discrete_scroll_event( - axis_source, device_id, timestamp, vec_cookie, mir_input_event_modifier_none, action, buttons_pressed, + axis_source, device_id, timestamp, mir_input_event_modifier_none, action, buttons_pressed, hscroll_value, vscroll_value, hscroll_discrete, vscroll_discrete); } @@ -159,17 +125,10 @@ mir::EventUPtr mir::input::DefaultEventBuilder::pointer_event( events::ScrollAxisV1H h_scroll, events::ScrollAxisV1V v_scroll) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - if (action == mir_pointer_action_button_up || action == mir_pointer_action_button_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - } return me::make_pointer_event( device_id, timestamp, - vec_cookie, mir_input_event_modifier_none, action, buttons, @@ -193,18 +152,8 @@ mir::EventUPtr mi::DefaultEventBuilder::touch_event( std::optional source_timestamp, std::vector const& contacts) { - std::vector vec_cookie{}; auto const timestamp = calibrate_timestamp(source_timestamp); - for (auto const& contact : contacts) - { - if (contact.action == mir_touch_action_up || contact.action == mir_touch_action_down) - { - auto const cookie = cookie_authority->make_cookie(timestamp.count()); - vec_cookie = cookie->serialize(); - break; - } - } - return me::make_touch_event(device_id, timestamp, vec_cookie, mir_input_event_modifier_none, contacts); + return me::make_touch_event(device_id, timestamp, mir_input_event_modifier_none, contacts); } auto mi::DefaultEventBuilder::calibrate_timestamp(std::optional timestamp) -> Timestamp diff --git a/src/server/input/default_event_builder.h b/src/server/input/default_event_builder.h index 15ba68f689c..80781ffbc26 100644 --- a/src/server/input/default_event_builder.h +++ b/src/server/input/default_event_builder.h @@ -23,10 +23,6 @@ namespace mir { -namespace cookie -{ -class Authority; -} namespace time { class Clock; @@ -40,8 +36,7 @@ class DefaultEventBuilder : public EventBuilder public: explicit DefaultEventBuilder( MirInputDeviceId device_id, - std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority); + std::shared_ptr const& clock); EventUPtr key_event( std::optional source_timestamp, @@ -115,7 +110,6 @@ class DefaultEventBuilder : public EventBuilder MirInputDeviceId const device_id; std::shared_ptr const clock; - std::shared_ptr const cookie_authority; }; } } diff --git a/src/server/input/default_input_device_hub.cpp b/src/server/input/default_input_device_hub.cpp index fb2199837a5..26633659292 100644 --- a/src/server/input/default_input_device_hub.cpp +++ b/src/server/input/default_input_device_hub.cpp @@ -27,7 +27,6 @@ #include "mir/dispatch/multiplexing_dispatchable.h" #include "mir/dispatch/action_queue.h" #include "mir/server_action_queue.h" -#include "mir/cookie/authority.h" #define MIR_LOG_COMPONENT "Input" #include "mir/log.h" @@ -183,14 +182,12 @@ mi::DefaultInputDeviceHub::DefaultInputDeviceHub( std::shared_ptr const& seat, std::shared_ptr const& input_multiplexer, std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority, std::shared_ptr const& key_mapper, std::shared_ptr const& server_status_listener) : seat{seat}, input_dispatchable{input_multiplexer}, device_queue(std::make_shared()), clock(clock), - cookie_authority(cookie_authority), key_mapper(key_mapper), server_status_listener(server_status_listener), device_id_generator{0} @@ -222,7 +219,6 @@ auto mi::DefaultInputDeviceHub::add_device(std::shared_ptr const& d handle->id(), queue, clock, - cookie_authority, handle)); auto const& dev = devices.back(); @@ -280,12 +276,10 @@ mi::DefaultInputDeviceHub::RegisteredDevice::RegisteredDevice( MirInputDeviceId device_id, std::shared_ptr const& queue, std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority, std::shared_ptr const& handle) : handle(handle), device_id(device_id), clock(clock), - cookie_authority(cookie_authority), device(dev), queue(queue) { @@ -325,7 +319,7 @@ void mi::DefaultInputDeviceHub::RegisteredDevice::start(std::shared_ptr co multiplexer->add_watch(queue); this->seat = seat; - builder = std::make_unique(device_id, clock, cookie_authority); + builder = std::make_unique(device_id, clock); device->start(this, builder.get()); } diff --git a/src/server/input/default_input_device_hub.h b/src/server/input/default_input_device_hub.h index 93fc46d00c7..18d236d1334 100644 --- a/src/server/input/default_input_device_hub.h +++ b/src/server/input/default_input_device_hub.h @@ -40,10 +40,6 @@ namespace mir { class ServerActionQueue; class ServerStatusListener; -namespace cookie -{ -class Authority; -} namespace time { class Clock; @@ -89,7 +85,6 @@ class DefaultInputDeviceHub : std::shared_ptr const& seat, std::shared_ptr const& input_multiplexer, std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority, std::shared_ptr const& key_mapper, std::shared_ptr const& server_status_listener); @@ -121,7 +116,6 @@ class DefaultInputDeviceHub : std::shared_ptr const input_dispatchable; std::shared_ptr const device_queue; std::shared_ptr const clock; - std::shared_ptr const cookie_authority; std::shared_ptr const key_mapper; std::shared_ptr const server_status_listener; ThreadSafeList> observers; @@ -135,7 +129,6 @@ class DefaultInputDeviceHub : MirInputDeviceId dev_id, std::shared_ptr const& multiplexer, std::shared_ptr const& clock, - std::shared_ptr const& cookie_authority, std::shared_ptr const& handle); void handle_input(std::shared_ptr const& event) override; geometry::Rectangle bounding_rectangle() const override; @@ -153,7 +146,6 @@ class DefaultInputDeviceHub : MirInputDeviceId device_id; std::unique_ptr builder; std::shared_ptr const clock; - std::shared_ptr cookie_authority; std::shared_ptr const device; std::shared_ptr queue; }; diff --git a/src/server/input/key_repeat_dispatcher.cpp b/src/server/input/key_repeat_dispatcher.cpp index cbcdce7d3c0..c335de7159e 100644 --- a/src/server/input/key_repeat_dispatcher.cpp +++ b/src/server/input/key_repeat_dispatcher.cpp @@ -21,7 +21,6 @@ #include "mir/time/alarm_factory.h" #include "mir/time/alarm.h" #include "mir/events/event_builders.h" -#include "mir/cookie/authority.h" #include @@ -88,14 +87,12 @@ auto is_meta_key(MirKeyboardEvent const* event) -> bool mi::KeyRepeatDispatcher::KeyRepeatDispatcher( std::shared_ptr const& next_dispatcher, std::shared_ptr const& factory, - std::shared_ptr const& cookie_authority, bool repeat_enabled, std::chrono::milliseconds repeat_timeout, std::chrono::milliseconds repeat_delay, bool disable_repeat_on_touchscreen) : next_dispatcher(next_dispatcher), alarm_factory(factory), - cookie_authority(cookie_authority), repeat_enabled(repeat_enabled), repeat_timeout(repeat_timeout), repeat_delay(repeat_delay), @@ -183,17 +180,14 @@ void mi::KeyRepeatDispatcher::handle_key_input(MirInputDeviceId id, MirKeyboardE } auto clone_event = [scan_code, id, - cookie_authority=cookie_authority, next_dispatcher=next_dispatcher, keysym = mir_keyboard_event_keysym(kev), modifiers = mir_keyboard_event_modifiers(kev)]() { auto const now = std::chrono::steady_clock::now().time_since_epoch(); - auto const cookie = cookie_authority->make_cookie(now.count()); auto new_event = mev::make_key_event( id, now, - cookie->serialize(), mir_keyboard_action_repeat, keysym, scan_code, diff --git a/src/server/input/key_repeat_dispatcher.h b/src/server/input/key_repeat_dispatcher.h index 9df889a199e..6b29972c63e 100644 --- a/src/server/input/key_repeat_dispatcher.h +++ b/src/server/input/key_repeat_dispatcher.h @@ -28,10 +28,6 @@ namespace mir { -namespace cookie -{ -class Authority; -} namespace time { class AlarmFactory; @@ -45,7 +41,6 @@ class KeyRepeatDispatcher : public InputDispatcher public: KeyRepeatDispatcher(std::shared_ptr const& next_dispatcher, std::shared_ptr const& factory, - std::shared_ptr const& cookie_authority, bool repeat_enabled, std::chrono::milliseconds repeat_timeout, /* timeout before sending first repeat */ std::chrono::milliseconds repeat_delay, /* delay between repeated keys */ @@ -65,7 +60,6 @@ class KeyRepeatDispatcher : public InputDispatcher std::shared_ptr const next_dispatcher; std::shared_ptr const alarm_factory; - std::shared_ptr const cookie_authority; bool const repeat_enabled; std::chrono::milliseconds const repeat_timeout; std::chrono::milliseconds const repeat_delay; diff --git a/src/server/input/surface_input_dispatcher.cpp b/src/server/input/surface_input_dispatcher.cpp index 932a9ff6118..aa75e4ccc30 100644 --- a/src/server/input/surface_input_dispatcher.cpp +++ b/src/server/input/surface_input_dispatcher.cpp @@ -23,7 +23,6 @@ #include "mir/scene/null_surface_observer.h" #include "mir/events/event_helpers.h" #include "mir/events/pointer_event.h" -#include "mir_toolkit/mir_cookie.h" #include #include @@ -114,20 +113,10 @@ void deliver_without_relative_motion(std::shared_ptr const& surface { auto const* input_ev = mir_event_get_input_event(ev); auto const* pev = mir_input_event_get_pointer_event(input_ev); - std::vector cookie_data; - if (mir_input_event_has_cookie(input_ev)) - { - auto cookie = mir_input_event_get_cookie(input_ev); - cookie_data.resize(mir_cookie_buffer_size(cookie)); - mir_cookie_to_buffer(cookie, cookie_data.data(), mir_cookie_buffer_size(cookie)); - mir_cookie_release(cookie); - } auto const& bounds = surface->input_bounds(); - auto to_deliver = mev::make_pointer_event( mir_input_event_get_device_id(input_ev), std::chrono::nanoseconds{mir_input_event_get_event_time(input_ev)}, - cookie_data, mir_pointer_event_modifiers(pev), mir_pointer_event_action(pev), mir_pointer_event_buttons(pev), @@ -255,7 +244,6 @@ bool dispatch_scene_change_enter_exit_events( auto const event = mev::make_pointer_event( mir_input_event_get_device_id(ctx.iev), std::chrono::nanoseconds{std::chrono::steady_clock::now().time_since_epoch()}, - std::vector{}, 0, // TODO: We need the current keyboard state mir_pointer_action_leave, mir_pointer_event_buttons(ctx.pev), @@ -277,7 +265,6 @@ bool dispatch_scene_change_enter_exit_events( auto const event = mev::make_pointer_event( mir_input_event_get_device_id(ctx.iev), std::chrono::nanoseconds{std::chrono::steady_clock::now().time_since_epoch()}, - std::vector{}, 0, // TODO: We need the current keyboard state mir_pointer_action_enter, mir_pointer_event_buttons(ctx.pev), @@ -311,7 +298,6 @@ void send_motion_event_to_moved_surface( auto const event = mev::make_pointer_event( mir_input_event_get_device_id(ctx.iev), std::chrono::nanoseconds{std::chrono::steady_clock::now().time_since_epoch()}, - std::vector{}, 0, // TODO: We need the current keyboard state mir_pointer_action_motion, 0, diff --git a/src/server/input/validator.cpp b/src/server/input/validator.cpp index 455047a4409..829df682a11 100644 --- a/src/server/input/validator.cpp +++ b/src/server/input/validator.cpp @@ -163,7 +163,6 @@ void mi::Validator::handle_touch_event(MirEvent const& event) dispatch_valid_event(*mev::make_touch_event( id, std::chrono::nanoseconds{mir_touch_event_modifiers(touch_event)}, - std::vector{}, mir_touch_event_modifiers(touch_event), contacts )); diff --git a/src/server/server.cpp b/src/server/server.cpp index 6488f8c25b6..b924698f076 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -30,7 +30,6 @@ #include "mir/main_loop.h" #include "mir/report_exception.h" #include "mir/run_mir.h" -#include "mir/cookie/authority.h" // TODO these are used to frig a stub renderer when running headless #include "mir/renderer/renderer.h" @@ -100,7 +99,6 @@ struct TemporaryCompositeEventFilter : public mi::CompositeEventFilter MACRO(session_listener)\ MACRO(shell)\ MACRO(application_not_responding_detector)\ - MACRO(cookie_authority)\ MACRO(persistent_surface_store) #define FOREACH_ACCESSOR(MACRO)\ diff --git a/src/server/symbols.map b/src/server/symbols.map index 6bec2585acd..2b743668046 100644 --- a/src/server/symbols.map +++ b/src/server/symbols.map @@ -1,4 +1,4 @@ -MIR_SERVER_2.15 { +MIR_SERVER_2.17 { global: extern "C++" { VTT?for?mir::DefaultServerConfiguration; @@ -23,7 +23,6 @@ MIR_SERVER_2.15 { mir::DefaultServerConfiguration::the_connector*; mir::DefaultServerConfiguration::the_connector_report*; mir::DefaultServerConfiguration::the_console_services*; - mir::DefaultServerConfiguration::the_cookie_authority*; mir::DefaultServerConfiguration::the_coordinate_translator*; mir::DefaultServerConfiguration::the_cursor*; mir::DefaultServerConfiguration::the_cursor_images*; @@ -127,7 +126,6 @@ MIR_SERVER_2.15 { mir::Server::open_wayland_client_socket*; mir::Server::override_the_application_not_responding_detector*; mir::Server::override_the_compositor*; - mir::Server::override_the_cookie_authority*; mir::Server::override_the_coordinate_translator*; mir::Server::override_the_cursor_images*; mir::Server::override_the_display_buffer_compositor_factory*; diff --git a/src/wayland/CMakeLists.txt b/src/wayland/CMakeLists.txt index 5b2143d4907..0b2b9e3fe4f 100644 --- a/src/wayland/CMakeLists.txt +++ b/src/wayland/CMakeLists.txt @@ -1,4 +1,4 @@ -set(MIRWAYLAND_ABI 4) +set(MIRWAYLAND_ABI 5) set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) add_compile_definitions(MIR_LOG_COMPONENT_FALLBACK="mirwayland") diff --git a/src/wayland/symbols.map b/src/wayland/symbols.map index aba3444f48e..bfdd2c46c80 100644 --- a/src/wayland/symbols.map +++ b/src/wayland/symbols.map @@ -1,4 +1,4 @@ -MIRWAYLAND_2.5 { +MIRWAYLAND_2.17 { global: extern "C++" { mir::wayland::Buffer::*; @@ -456,13 +456,7 @@ global: typeinfo?for?mir::wayland::InputMethodKeyboardGrabV2; vtable?for?mir::wayland::InputMethodKeyboardGrabV2; virtual?thunk?to?mir::wayland::InputMethodKeyboardGrabV2::?InputMethodKeyboardGrabV2*; - }; - local: *; -}; -MIRWAYLAND_2.8 { -global: - extern "C++" { mir::wayland::WlrScreencopyManagerV1::*; non-virtual?thunk?to?mir::wayland::WlrScreencopyManagerV1::*; typeinfo?for?mir::wayland::WlrScreencopyManagerV1; @@ -492,12 +486,6 @@ global: virtual?thunk?to?mir::wayland::IdleInhibitorV1::?IdleInhibitorV1*; mir::wayland::tried_to_send_unsupported_event*; - }; -} MIRWAYLAND_2.5; - -MIRWAYLAND_2.9 { -global: - extern "C++" { mir::wayland::TextInputManagerV1::*; non-virtual?thunk?to?mir::wayland::TextInputManagerV1::*; typeinfo?for?mir::wayland::TextInputManagerV1; @@ -527,22 +515,12 @@ global: typeinfo?for?mir::wayland::VirtualPointerV1; vtable?for?mir::wayland::VirtualPointerV1; virtual?thunk?to?mir::wayland::VirtualPointerV1::?VirtualPointerV1*; - }; -} MIRWAYLAND_2.8; -MIRWAYLAND_2.10 { -global: - extern "C++" { mir::wayland::Client::from*; mir::wayland::Client::register_client*; mir::wayland::Client::unregister_client*; virtual?thunk?to?mir::wayland::Resource::?Resource*; - }; -} MIRWAYLAND_2.9; -MIRWAYLAND_2.11 { -global: - extern "C++" { mir::wayland::PrimarySelectionDeviceManagerV1::*; non-virtual?thunk?to?mir::wayland::PrimarySelectionDeviceManagerV1::*; typeinfo?for?mir::wayland::PrimarySelectionDeviceManagerV1; @@ -568,12 +546,7 @@ global: typeinfo?for?mir::wayland::PrimarySelectionSourceV1; vtable?for?mir::wayland::PrimarySelectionSourceV1; virtual?thunk?to?mir::wayland::PrimarySelectionSourceV1::?PrimarySelectionSourceV1*; - }; -} MIRWAYLAND_2.10; -MIRWAYLAND_2.12 { -global: - extern "C++" { mir::wayland::Shm::*; non-virtual?thunk?to?mir::wayland::Shm::*; typeinfo?for?mir::wayland::Shm; @@ -585,12 +558,7 @@ global: typeinfo?for?mir::wayland::ShmPool; vtable?for?mir::wayland::ShmPool; virtual?thunk?to?mir::wayland::ShmPool::?ShmPool*; - }; -} MIRWAYLAND_2.11; -MIRWAYLAND_2.14 { -global: - extern "C++" { mir::wayland::SessionLockManagerV1::*; non-virtual?thunk?to?mir::wayland::SessionLockManagerV1::*; typeinfo?for?mir::wayland::SessionLockManagerV1; @@ -610,12 +578,7 @@ global: typeinfo?for?mir::wayland::SessionLockSurfaceV1; vtable?for?mir::wayland::SessionLockSurfaceV1; virtual?thunk?to?mir::wayland::SessionLockSurfaceV1::?SessionLockSurfaceV1*; - }; -} MIRWAYLAND_2.12; -MIRWAYLAND_2.15 { -global: - extern "C++" { mir::wayland::InputMethodV1::*; non-virtual?thunk?to?mir::wayland::InputMethodV1::*; virtual?thunk?to?mir::wayland::InputMethodV1::*; @@ -644,4 +607,4 @@ global: typeinfo?for?mir::wayland::InputPanelSurfaceV1; vtable?for?mir::wayland::InputPanelSurfaceV1; }; -} MIRWAYLAND_2.14; \ No newline at end of file +}; \ No newline at end of file diff --git a/tests/integration-tests/input/test_single_seat_setup.cpp b/tests/integration-tests/input/test_single_seat_setup.cpp index 1467a40c296..b46851f2a17 100644 --- a/tests/integration-tests/input/test_single_seat_setup.cpp +++ b/tests/integration-tests/input/test_single_seat_setup.cpp @@ -35,7 +35,6 @@ #include "mir/test/doubles/stub_display_configuration.h" #include "mir/dispatch/multiplexing_dispatchable.h" -#include "mir/cookie/authority.h" #include "mir/graphics/buffer.h" #include "mir/graphics/display_configuration_observer.h" #include "mir/scene/session_container.h" @@ -114,7 +113,6 @@ struct SingleSeatInputDeviceHubSetup : ::testing::Test { mtd::TriggeredMainLoop observer_loop; NiceMock mock_dispatcher; - std::shared_ptr cookie_authority = mir::cookie::Authority::create(); NiceMock mock_cursor_listener; NiceMock mock_visualizer; NiceMock mock_seat_observer; @@ -134,7 +132,6 @@ struct SingleSeatInputDeviceHubSetup : ::testing::Test mt::fake_shared(seat), mt::fake_shared(multiplexer), mt::fake_shared(clock), - cookie_authority, mt::fake_shared(key_mapper), mt::fake_shared(mock_status_listener)}; NiceMock mock_observer; diff --git a/tests/mir_test_doubles/CMakeLists.txt b/tests/mir_test_doubles/CMakeLists.txt index 285c2f07181..e24a66c5941 100644 --- a/tests/mir_test_doubles/CMakeLists.txt +++ b/tests/mir_test_doubles/CMakeLists.txt @@ -5,7 +5,6 @@ include_directories( ${PROJECT_SOURCE_DIR}/src/include/common ${PROJECT_SOURCE_DIR}/src/include/server ${PROJECT_SOURCE_DIR}/src/include/client - ${PROJECT_SOURCE_DIR}/src/include/cookie ${CMAKE_SOURCE_DIR} ) diff --git a/tests/unit-tests/CMakeLists.txt b/tests/unit-tests/CMakeLists.txt index a3f7d9dce40..6ba368f5d8d 100644 --- a/tests/unit-tests/CMakeLists.txt +++ b/tests/unit-tests/CMakeLists.txt @@ -20,7 +20,6 @@ include_directories( ${CMAKE_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include/renderers/sw - ${PROJECT_SOURCE_DIR}/src/include/cookie ${PROJECT_SOURCE_DIR}/src/include/platform ${PROJECT_SOURCE_DIR}/src/include/server ${PROJECT_SOURCE_DIR}/src/include/client @@ -61,8 +60,7 @@ set( test_shared_library_prober.cpp test_lockable_callback.cpp test_module_deleter.cpp - test_mir_cookie.cpp - test_posix_rw_mutex.cpp + test_posix_rw_mutex.cpp test_posix_timestamp.cpp test_observer_multiplexer.cpp test_edid.cpp diff --git a/tests/unit-tests/input/evdev/test_libinput_device.cpp b/tests/unit-tests/input/evdev/test_libinput_device.cpp index 5f7a27dce04..e3538f24095 100644 --- a/tests/unit-tests/input/evdev/test_libinput_device.cpp +++ b/tests/unit-tests/input/evdev/test_libinput_device.cpp @@ -32,7 +32,6 @@ #include "mir/test/doubles/advanceable_clock.h" #include "mir/test/fake_shared.h" #include "mir/udev/wrapper.h" -#include "mir/cookie/authority.h" #include "mir_test_framework/libinput_environment.h" #include @@ -74,13 +73,11 @@ using Matrix = mi::OutputInfo::Matrix; struct MockEventBuilder : mi::EventBuilder { - std::shared_ptr const cookie_authority = mir::cookie::Authority::create(); mtd::MockInputSeat seat; mtd::AdvanceableClock clock; mi::DefaultEventBuilder builder{ MirInputDeviceId{3}, - mt::fake_shared(clock), - cookie_authority}; + mt::fake_shared(clock)}; MockEventBuilder() { ON_CALL(*this, key_event(_,_,_,_)).WillByDefault( diff --git a/tests/unit-tests/input/test_default_event_builder.cpp b/tests/unit-tests/input/test_default_event_builder.cpp index dc96a27ca61..6a5861dac3a 100644 --- a/tests/unit-tests/input/test_default_event_builder.cpp +++ b/tests/unit-tests/input/test_default_event_builder.cpp @@ -15,7 +15,6 @@ */ #include "src/server/input/default_event_builder.h" -#include "mir/cookie/authority.h" #include "mir/test/doubles/advanceable_clock.h" #include "mir/test/fake_shared.h" @@ -39,8 +38,7 @@ struct DefaultEventBuilder : public Test mtd::AdvanceableClock clock{{}}; mir::input::DefaultEventBuilder builder{ 0, - mt::fake_shared(clock), - mir::cookie::Authority::create()}; + mt::fake_shared(clock)}; auto event_timestamp(std::optional timestamp) -> std::chrono::nanoseconds { diff --git a/tests/unit-tests/input/test_default_input_device_hub.cpp b/tests/unit-tests/input/test_default_input_device_hub.cpp index 4979f8a5f2c..29cdef6116d 100644 --- a/tests/unit-tests/input/test_default_input_device_hub.cpp +++ b/tests/unit-tests/input/test_default_input_device_hub.cpp @@ -31,7 +31,6 @@ #include "mir/events/event_builders.h" #include "mir/input/mir_pointer_config.h" #include "mir/input/mir_touchpad_config.h" -#include "mir/cookie/authority.h" #include "mir/input/device.h" #include "mir/input/input_device.h" @@ -67,7 +66,6 @@ MATCHER_P(WithName, name, struct InputDeviceHubTest : ::testing::Test { - std::shared_ptr cookie_authority = mir::cookie::Authority::create(); mir::dispatch::MultiplexingDispatchable multiplexer; NiceMock mock_seat; NiceMock mock_key_mapper; @@ -77,7 +75,6 @@ struct InputDeviceHubTest : ::testing::Test mt::fake_shared(mock_seat), mt::fake_shared(multiplexer), mt::fake_shared(clock), - cookie_authority, mt::fake_shared(mock_key_mapper), mt::fake_shared(mock_server_status_listener)}; NiceMock mock_observer; diff --git a/tests/unit-tests/input/test_event_builders.cpp b/tests/unit-tests/input/test_event_builders.cpp index fa53b05d5a5..60c0eb02e22 100644 --- a/tests/unit-tests/input/test_event_builders.cpp +++ b/tests/unit-tests/input/test_event_builders.cpp @@ -31,7 +31,6 @@ struct InputEventBuilder : public Test { MirInputDeviceId const device_id = 7; std::chrono::nanoseconds const timestamp = std::chrono::nanoseconds(39); - std::vector const cookie{}; MirInputEventModifiers const modifiers = mir_input_event_modifier_meta; }; } @@ -44,7 +43,7 @@ TEST_F(InputEventBuilder, makes_valid_key_event) auto ev = mev::make_key_event( device_id, timestamp, - cookie, action, keysym, scan_code, modifiers); + action, keysym, scan_code, modifiers); auto e = ev.get(); EXPECT_EQ(mir_event_type_input, mir_event_get_type(e)); @@ -72,7 +71,7 @@ TEST_F(InputEventBuilder, makes_valid_touch_event) auto ev = mev::make_touch_event( device_id, timestamp, - cookie, modifiers); + modifiers); for (unsigned i = 0; i < touch_count; i++) { mev::add_touch(*ev, touch_ids[i], actions[i], tooltypes[i], x_axis_values[i], y_axis_values[i], @@ -109,7 +108,7 @@ TEST_F(InputEventBuilder, makes_valid_pointer_event) auto const relative_x_value = 0.0; auto const relative_y_value = 0.0; auto ev = mev::make_pointer_event( - device_id, timestamp, cookie, modifiers, + device_id, timestamp, modifiers, action, depressed_buttons, x_axis_value, y_axis_value, hscroll_value, vscroll_value, relative_x_value, relative_y_value); auto e = ev.get(); @@ -138,7 +137,7 @@ TEST_F(InputEventBuilder, maps_single_touch_down_to_motion_down) { MirTouchAction action = mir_touch_action_down; - auto ev = mev::make_touch_event(device_id, timestamp, cookie, modifiers); + auto ev = mev::make_touch_event(device_id, timestamp, modifiers); mev::add_touch(*ev, 0, action, mir_touch_tooltype_finger, 0, 0, 0, 0, 0, 0); auto e = ev.get(); @@ -154,7 +153,7 @@ TEST_F(InputEventBuilder, maps_single_touch_up_to_motion_up) { MirTouchAction action = mir_touch_action_up; - auto ev = mev::make_touch_event(device_id, timestamp, cookie, modifiers); + auto ev = mev::make_touch_event(device_id, timestamp, modifiers); mev::add_touch(*ev, 0, action, mir_touch_tooltype_finger, 0, 0, 0, 0, 0, 0); auto e = ev.get(); @@ -173,7 +172,7 @@ TEST_F(InputEventBuilder, map_to_hover_if_no_button_pressed) auto const relative_y_value = 0.0; MirPointerAction action = mir_pointer_action_motion; auto ev = mev::make_pointer_event( - device_id, timestamp, cookie, modifiers, + device_id, timestamp, modifiers, action, 0, x_axis_value, y_axis_value, hscroll_value, vscroll_value, relative_x_value, relative_y_value); auto e = ev.get(); diff --git a/tests/unit-tests/input/test_event_filter_chain_dispatcher.cpp b/tests/unit-tests/input/test_event_filter_chain_dispatcher.cpp index 8ac8775e91f..6211f6c7eac 100644 --- a/tests/unit-tests/input/test_event_filter_chain_dispatcher.cpp +++ b/tests/unit-tests/input/test_event_filter_chain_dispatcher.cpp @@ -40,7 +40,7 @@ struct EventFilterChainDispatcher : public ::testing::Test { mir::EventUPtr const event = mir::events::make_key_event( MirInputDeviceId(), - std::chrono::nanoseconds(0), std::vector{}, MirKeyboardAction(), + std::chrono::nanoseconds(0), MirKeyboardAction(), xkb_keysym_t(), 0, MirInputEventModifiers()); }; } diff --git a/tests/unit-tests/input/test_key_repeat_dispatcher.cpp b/tests/unit-tests/input/test_key_repeat_dispatcher.cpp index 8ada8f8e6ec..35ba13a29ba 100644 --- a/tests/unit-tests/input/test_key_repeat_dispatcher.cpp +++ b/tests/unit-tests/input/test_key_repeat_dispatcher.cpp @@ -20,7 +20,6 @@ #include "mir/events/event_builders.h" #include "mir/time/alarm.h" #include "mir/time/alarm_factory.h" -#include "mir/cookie/authority.h" #include "mir/input/input_device_observer.h" #include "mir/input/mir_pointer_config.h" #include "mir/input/mir_touchpad_config.h" @@ -104,7 +103,7 @@ struct StubDevice : public mi::Device struct KeyRepeatDispatcher : public testing::Test { KeyRepeatDispatcher(bool on_arale = false) - : dispatcher(mock_next_dispatcher, mock_alarm_factory, cookie_authority, true, repeat_time, repeat_delay, on_arale) + : dispatcher(mock_next_dispatcher, mock_alarm_factory, true, repeat_time, repeat_delay, on_arale) { ON_CALL(hub,add_observer(_)).WillByDefault(SaveArg<0>(&observer)); dispatcher.set_input_device_hub(mt::fake_shared(hub)); @@ -119,7 +118,6 @@ struct KeyRepeatDispatcher : public testing::Test const MirInputDeviceId test_device = 123; std::shared_ptr mock_next_dispatcher = std::make_shared(); std::shared_ptr mock_alarm_factory = std::make_shared(); - std::shared_ptr cookie_authority = mir::cookie::Authority::create(); std::chrono::milliseconds const repeat_time{2}; std::chrono::milliseconds const repeat_delay{1}; std::shared_ptr observer; @@ -129,21 +127,21 @@ struct KeyRepeatDispatcher : public testing::Test mir::EventUPtr a_key_down_event() { return mev::make_key_event( - test_device, std::chrono::nanoseconds(0), std::vector{}, mir_keyboard_action_down, 0, 0, + test_device, std::chrono::nanoseconds(0), mir_keyboard_action_down, 0, 0, mir_input_event_modifier_alt); } mir::EventUPtr a_meta_key_down_event() { return mev::make_key_event( - test_device, std::chrono::nanoseconds(0), std::vector{}, + test_device, std::chrono::nanoseconds(0), mir_keyboard_action_down, XKB_KEY_Shift_R, 0, mir_input_event_modifier_alt); } mir::EventUPtr a_key_up_event() { return mev::make_key_event( - test_device, std::chrono::nanoseconds(0), std::vector{}, mir_keyboard_action_up, 0, 0, + test_device, std::chrono::nanoseconds(0), mir_keyboard_action_up, 0, 0, mir_input_event_modifier_alt); } }; @@ -163,7 +161,7 @@ struct KeyRepeatDispatcherOnArale : KeyRepeatDispatcher { auto const home_button = 53; return mev::make_key_event( - mtk_id, std::chrono::nanoseconds(0), std::vector{}, mir_keyboard_action_down, 0, + mtk_id, std::chrono::nanoseconds(0), mir_keyboard_action_down, 0, home_button, mir_input_event_modifier_none); } }; diff --git a/tests/unit-tests/input/test_seat_input_device_tracker.cpp b/tests/unit-tests/input/test_seat_input_device_tracker.cpp index ffbee0ec5b3..c9418fb0a70 100644 --- a/tests/unit-tests/input/test_seat_input_device_tracker.cpp +++ b/tests/unit-tests/input/test_seat_input_device_tracker.cpp @@ -27,7 +27,6 @@ #include "mir/test/fake_shared.h" #include "mir/geometry/rectangles.h" -#include "mir/cookie/authority.h" #include #include @@ -55,21 +54,17 @@ struct SeatInputDeviceTracker : ::testing::Test MirInputDeviceId some_device{8712}; MirInputDeviceId another_device{1246}; MirInputDeviceId third_device{86}; - std::shared_ptr cookie_factory = mir::cookie::Authority::create(); mtd::AdvanceableClock clock; mi::DefaultEventBuilder some_device_builder{ some_device, - mt::fake_shared(clock), - cookie_factory}; + mt::fake_shared(clock)}; mi::DefaultEventBuilder another_device_builder{ another_device, - mt::fake_shared(clock), - cookie_factory}; + mt::fake_shared(clock)}; mi::DefaultEventBuilder third_device_builder{ third_device, - mt::fake_shared(clock), - cookie_factory}; + mt::fake_shared(clock)}; mi::receiver::XKBMapper mapper; mi::SeatInputDeviceTracker tracker{ mt::fake_shared(mock_dispatcher), mt::fake_shared(mock_visualizer), mt::fake_shared(mock_cursor_listener), diff --git a/tests/unit-tests/input/test_surface_input_dispatcher.cpp b/tests/unit-tests/input/test_surface_input_dispatcher.cpp index a582c434614..0e9d4c17be4 100644 --- a/tests/unit-tests/input/test_surface_input_dispatcher.cpp +++ b/tests/unit-tests/input/test_surface_input_dispatcher.cpp @@ -151,13 +151,13 @@ struct FakeKeyboard mir::EventUPtr press(int scan_code = 7) { return mev::make_key_event( - id, std::chrono::nanoseconds(0), std::vector{}, + id, std::chrono::nanoseconds(0), mir_keyboard_action_down, 0, scan_code, mir_input_event_modifier_alt); } mir::EventUPtr release(int scan_code = 7) { return mev::make_key_event( - id, std::chrono::nanoseconds(0), std::vector{}, + id, std::chrono::nanoseconds(0), mir_keyboard_action_up, 0, scan_code, mir_input_event_modifier_alt); } MirInputDeviceId const id; @@ -174,7 +174,7 @@ struct FakePointer mir::EventUPtr move_to(geom::Point const& location) { return mev::make_pointer_event( - id, std::chrono::nanoseconds(0), std::vector{}, + id, std::chrono::nanoseconds(0), 0, mir_pointer_action_motion, buttons, location.x.as_int(), location.y.as_int(), 0, 0, 0, 0); @@ -184,7 +184,7 @@ struct FakePointer buttons &= ~button; return mev::make_pointer_event( - id, std::chrono::nanoseconds(0), std::vector{}, + id, std::chrono::nanoseconds(0), 0, mir_pointer_action_button_up, buttons, location.x.as_int(), location.y.as_int(), 0, 0, 0, 0); @@ -194,7 +194,7 @@ struct FakePointer buttons |= button; return mev::make_pointer_event( - id, std::chrono::nanoseconds(0), std::vector{}, + id, std::chrono::nanoseconds(0), 0, mir_pointer_action_button_down, buttons, location.x.as_int(), location.y.as_int(), 0, 0, 0, 0); @@ -213,7 +213,7 @@ struct FakeToucher mir::EventUPtr move_to(geom::Point const& point) { - auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), std::vector{}, 0); + auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), 0); mev::add_touch(*ev, 0, mir_touch_action_change, mir_touch_tooltype_finger, point.x.as_int(), point.y.as_int(), touched ? 1.0 : 0.0, @@ -226,7 +226,7 @@ struct FakeToucher { touched = true; - auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), std::vector{}, 0); + auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), 0); mev::add_touch(*ev, 0, mir_touch_action_down, mir_touch_tooltype_finger, point.x.as_int(), point.y.as_int(), 1.0, 1.0, 1.0, 1.0); @@ -236,7 +236,7 @@ struct FakeToucher { touched = true; - auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), std::vector{}, 0); + auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), 0); mev::add_touch(*ev, 0, mir_touch_action_down, mir_touch_tooltype_finger, point1.x.as_int(), point1.y.as_int(), 1.0, 1.0, 1.0, 1.0); @@ -249,7 +249,7 @@ struct FakeToucher { touched = false; - auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), std::vector{}, 0); + auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), 0); mev::add_touch(*ev, 0, mir_touch_action_up, mir_touch_tooltype_finger, point.x.as_int(), point.y.as_int(), 0.0, 0.0, 0.0, 0.0); @@ -259,7 +259,7 @@ struct FakeToucher { touched = false; - auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), std::vector{}, 0); + auto ev = mev::make_touch_event(id, std::chrono::nanoseconds(0), 0); mev::add_touch(*ev, 0, mir_touch_action_up, mir_touch_tooltype_finger, point1.x.as_int(), point1.y.as_int(), 1.0, 1.0, 1.0, 1.0); diff --git a/tests/unit-tests/input/test_validator.cpp b/tests/unit-tests/input/test_validator.cpp index 1d4a6af7c84..a3f8e2729a8 100644 --- a/tests/unit-tests/input/test_validator.cpp +++ b/tests/unit-tests/input/test_validator.cpp @@ -64,7 +64,7 @@ mir::EventUPtr make_touch(MirTouchId id, MirTouchAction action) { auto ev = mev::make_touch_event( MirInputDeviceId(0), std::chrono::nanoseconds(0), - std::vector{}, mir_input_event_modifier_none); + mir_input_event_modifier_none); add_another_touch(ev, id, action); return ev; } diff --git a/tests/unit-tests/input/test_x11_platform.cpp b/tests/unit-tests/input/test_x11_platform.cpp index edc1ed8fcb8..8e7945de8f5 100644 --- a/tests/unit-tests/input/test_x11_platform.cpp +++ b/tests/unit-tests/input/test_x11_platform.cpp @@ -32,7 +32,6 @@ #include "mir/test/doubles/mock_x11_resources.h" #include "mir/test/doubles/advanceable_clock.h" #include "mir/test/fake_shared.h" -#include "mir/cookie/authority.h" #include "mir/test/event_matchers.h" namespace md = mir::dispatch; @@ -56,8 +55,7 @@ struct X11PlatformTest : ::testing::Test mtd::AdvanceableClock clock; mir::input::DefaultEventBuilder builder{ 0, - mt::fake_shared(clock), - mir::cookie::Authority::create()}; + mt::fake_shared(clock)}; mir::input::X::XInputPlatform x11_platform{ mt::fake_shared(mock_registry), diff --git a/tests/unit-tests/scene/test_abstract_shell.cpp b/tests/unit-tests/scene/test_abstract_shell.cpp index 2901d5af54c..60e893f0fdf 100644 --- a/tests/unit-tests/scene/test_abstract_shell.cpp +++ b/tests/unit-tests/scene/test_abstract_shell.cpp @@ -206,7 +206,6 @@ struct AbstractShell : Test } std::chrono::nanoseconds const event_timestamp = std::chrono::nanoseconds(0); - std::vector const cookie{}; mg::BufferProperties properties { geom::Size{1,1}, mir_pixel_format_abgr_8888, mg::BufferUsage::software}; }; } @@ -410,11 +409,9 @@ TEST_F(AbstractShell, key_input_events_are_handled_by_window_manager) xkb_keysym_t const keysym{0}; int const scan_code{0}; MirInputEventModifiers const modifiers{mir_input_event_modifier_none}; - auto const event = mir::events::make_key_event( mir_input_event_type_key, event_timestamp, - cookie, action, keysym, scan_code, @@ -431,11 +428,9 @@ TEST_F(AbstractShell, key_input_events_are_handled_by_window_manager) TEST_F(AbstractShell, touch_input_events_are_handled_by_window_manager) { MirInputEventModifiers const modifiers{mir_input_event_modifier_none}; - auto const event = mir::events::make_touch_event( mir_input_event_type_touch, event_timestamp, - cookie, modifiers); EXPECT_CALL(*wm, handle_touch_event(_)) @@ -457,11 +452,9 @@ TEST_F(AbstractShell, pointer_input_events_are_handled_by_window_manager) float const vscroll_value{0.0}; float const relative_x_value{0.0}; float const relative_y_value{0.0}; - auto const event = mir::events::make_pointer_event( mir_input_event_type_pointer, event_timestamp, - cookie, modifiers, action, buttons_pressed, diff --git a/tests/unit-tests/scene/test_surface.cpp b/tests/unit-tests/scene/test_surface.cpp index 219c54b65fa..7b6c33d32f0 100644 --- a/tests/unit-tests/scene/test_surface.cpp +++ b/tests/unit-tests/scene/test_surface.cpp @@ -192,11 +192,10 @@ TEST_F(SurfaceCreation, consume_calls_send_event) using namespace testing; auto key_event = mev::make_key_event( - MirInputDeviceId(0), std::chrono::nanoseconds(0), std::vector{}, + MirInputDeviceId(0), std::chrono::nanoseconds(0), mir_keyboard_action_down, 0, 0, mir_input_event_modifier_none); auto touch_event = mev::make_touch_event( - MirInputDeviceId(0), std::chrono::nanoseconds(0), std::vector{}, - mir_input_event_modifier_none); + MirInputDeviceId(0), std::chrono::nanoseconds(0), mir_input_event_modifier_none); mev::add_touch(*touch_event, 0, mir_touch_action_down, mir_touch_tooltype_finger, 0, 0, 0, 0, 0, 0); diff --git a/tests/unit-tests/shell/test_decoration_basic_decoration.cpp b/tests/unit-tests/shell/test_decoration_basic_decoration.cpp index 5282c1c91c4..279c0e731e2 100644 --- a/tests/unit-tests/shell/test_decoration_basic_decoration.cpp +++ b/tests/unit-tests/shell/test_decoration_basic_decoration.cpp @@ -266,7 +266,6 @@ auto pointer_event( auto ev = mev::make_pointer_event( (MirInputDeviceId)1, timestamp + 1s, - std::vector{}, mir_input_event_modifier_none, action, buttons_pressed, @@ -289,7 +288,6 @@ auto touch_event( auto ev = mev::make_touch_event( (MirInputDeviceId)1, timestamp + 1s, - std::vector{}, mir_input_event_modifier_none); mev::add_touch( *ev, diff --git a/tests/unit-tests/test_mir_cookie.cpp b/tests/unit-tests/test_mir_cookie.cpp deleted file mode 100644 index 03329e3bc28..00000000000 --- a/tests/unit-tests/test_mir_cookie.cpp +++ /dev/null @@ -1,118 +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 . - */ - -#include "mir/cookie/authority.h" -#include "mir/cookie/cookie.h" - -#include -#include - -#include - - -TEST(MirCookieAuthority, attests_real_timestamp) -{ - std::vector secret{ 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xde, 0x01 }; - auto authority = mir::cookie::Authority::create_from(secret); - - uint64_t mock_timestamp{0x322322322332}; - - auto cookie = authority->make_cookie(mock_timestamp); - EXPECT_NO_THROW({ - authority->make_cookie(cookie->serialize()); - }); -} - -TEST(MirCookieAuthority, doesnt_attest_faked_mac) -{ - std::vector secret{ 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xde, 0x01 }; - auto authority = mir::cookie::Authority::create_from(secret); - - std::vector cookie{ 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xde, 0x01 }; - - EXPECT_THROW({ - authority->make_cookie(cookie); - }, mir::cookie::SecurityCheckError); -} - -TEST(MirCookieAuthority, timestamp_trusted_with_different_secret_doesnt_attest) -{ - std::vector alice{ 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0xde, 0x01 }; - std::vector bob{ 0x01, 0x02, 0x44, 0xd8, 0xee, 0x0f, 0xde, 0x01 }; - - auto alices_authority = mir::cookie::Authority::create_from(alice); - auto bobs_authority = mir::cookie::Authority::create_from(bob); - - uint64_t mock_timestamp{0x01020304}; - - EXPECT_THROW({ - auto alices_cookie = alices_authority->make_cookie(mock_timestamp); - auto bobs_cookie = bobs_authority->make_cookie(mock_timestamp); - - alices_authority->make_cookie(bobs_cookie->serialize()); - bobs_authority->make_cookie(alices_cookie->serialize()); - }, mir::cookie::SecurityCheckError); -} - -TEST(MirCookieAuthority, throw_when_secret_size_to_small) -{ - std::vector bob(mir::cookie::Authority::minimum_secret_size - 1); - EXPECT_THROW({ - auto authority = mir::cookie::Authority::create_from(bob); - }, std::logic_error); -} - -TEST(MirCookieAuthority, saves_a_secret) -{ - using namespace testing; - std::vector secret; - - mir::cookie::Authority::create_saving(secret); - - EXPECT_THAT(secret.size(), Ge(mir::cookie::Authority::minimum_secret_size)); -} - -TEST(MirCookieAuthority, timestamp_trusted_with_saved_secret_does_attest) -{ - uint64_t timestamp = 23; - std::vector secret; - - auto source_authority = mir::cookie::Authority::create_saving(secret); - auto sink_authority = mir::cookie::Authority::create_from(secret); - auto cookie = source_authority->make_cookie(timestamp); - - EXPECT_NO_THROW({ - sink_authority->make_cookie(cookie->serialize()); - }); -} - -TEST(MirCookieAuthority, internally_generated_secret_has_optimum_size) -{ - using namespace testing; - std::vector secret; - - mir::cookie::Authority::create_saving(secret); - - EXPECT_THAT(secret.size(), Eq(mir::cookie::Authority::optimal_secret_size())); -} - -TEST(MirCookieAuthority, optimal_secret_size_is_larger_than_minimum_size) -{ - using namespace testing; - - EXPECT_THAT(mir::cookie::Authority::optimal_secret_size(), - Ge(mir::cookie::Authority::minimum_secret_size)); -} diff --git a/tools/abigail_check.sh b/tools/abigail_check.sh index 91bc1761cb2..5b6bd43acae 100755 --- a/tools/abigail_check.sh +++ b/tools/abigail_check.sh @@ -7,7 +7,6 @@ declare -A abi_var_for=(\ ["mircommon"]="MIRCOMMON_ABI" \ ["mirplatform"]="MIRPLATFORM_ABI" \ ["mirserver"]="MIRSERVER_ABI" \ - ["mircookie"]="MIRCOOKIE_ABI" \ ["mirplatformgraphicsgbmkms"]="MIR_SERVER_GRAPHICS_PLATFORM_ABI" \ ["mirplatforminputevdev"]="MIR_SERVER_INPUT_PLATFORM_ABI" ) diff --git a/tools/update_package_abis.sh b/tools/update_package_abis.sh index 22a04b5fd73..5a8231d1c2c 100755 --- a/tools/update_package_abis.sh +++ b/tools/update_package_abis.sh @@ -16,7 +16,6 @@ packages="\ libmircommon:MIRCOMMON_ABI \ libmirplatform:MIRPLATFORM_ABI \ libmirserver:MIRSERVER_ABI \ - libmircookie:MIRCOOKIE_ABI \ mir-platform-graphics-x:MIR_SERVER_GRAPHICS_PLATFORM_ABI \ mir-platform-graphics-gbm-kms:MIR_SERVER_GRAPHICS_PLATFORM_ABI \ mir-platform-graphics-eglstream-kms:MIR_SERVER_GRAPHICS_PLATFORM_ABI \