Merge lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration into lp:mir
- mive-miral-to-mir-regeneration
- Merge into development-branch
Status: | Superseded |
---|---|
Proposed branch: | lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration |
Merge into: | lp:mir |
Prerequisite: | lp:~alan-griffiths/mir/move-miral-test-to-mir |
Diff against target: |
1133 lines (+694/-190) 17 files modified
CMakeLists.txt (+1/-1) doc/Doxyfile.in (+2/-1) examples/basic.c (+5/-8) include/client/mir_toolkit/mir_buffer.h (+2/-0) include/client/mir_toolkit/mir_display_configuration.h (+4/-4) include/client/mir_toolkit/mir_input_device.h (+3/-3) include/client/mir_toolkit/mir_window.h (+1/-1) include/client/mir_toolkit/rs/mir_render_surface.h (+1/-1) include/miral/miral/command_line_option.h (+5/-0) include/miral/miral/window_management_policy_addendum3.h (+1/-0) include/platform/mir/graphics/platform.h (+1/-0) include/server/mir/graphics/display_configuration_observer.h (+1/-1) include/test/mir_test_framework/main.h (+2/-2) src/miral/CMakeLists.txt (+10/-146) src/miral/miral.pc.in (+0/-12) src/miral/mirclientcpp.pc.in (+0/-10) src/miral/process_doxygen_xml.py (+655/-0) |
To merge this branch: | bzr merge lp:~alan-griffiths/mir/mive-miral-to-mir-regeneration |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Mir CI Bot | continuous-integration | Needs Fixing | |
Gerry Boland (community) | Approve | ||
Review via email: mp+329590@code.launchpad.net |
This proposal has been superseded by a proposal from 2017-08-31.
Commit message
Incorporate the utility script for regenerating the libmiral symbols file. Vis:
$ make regenerate-
Description of the change
Incorporate miral project into mir source tree
This is a third-cut:
1. There's no attempt to remove code obsoleted by MirAL
2. There's no reworking of the generated docs to include miral
Mir CI Bot (mir-ci-bot) wrote : | # |
Gerry Boland (gerboland) wrote : | # |
+#! /usr/bin/python
Does this need to be python3?
Alan Griffiths (alan-griffiths) wrote : | # |
> +#! /usr/bin/python
> Does this need to be python3?
It could be, it doesn't need to be.
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
https:/
Executed test runs:
FAILURE: https:/
None: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Mir CI Bot (mir-ci-bot) wrote : | # |
FAILED: Continuous integration, rev:4258
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file 'CMakeLists.txt' | |||
2 | --- CMakeLists.txt 2017-08-22 16:55:23 +0000 | |||
3 | +++ CMakeLists.txt 2017-08-30 16:18:50 +0000 | |||
4 | @@ -53,6 +53,7 @@ | |||
5 | 53 | include (cmake/EnableCoverageReport.cmake) | 53 | include (cmake/EnableCoverageReport.cmake) |
6 | 54 | include (cmake/MirCommon.cmake) | 54 | include (cmake/MirCommon.cmake) |
7 | 55 | include (GNUInstallDirs) | 55 | include (GNUInstallDirs) |
8 | 56 | include (cmake/Doxygen.cmake) | ||
9 | 56 | 57 | ||
10 | 57 | set(build_types "None;Debug;Release;RelWithDebInfo;MinSizeRel;Coverage;AddressSanitizer;ThreadSanitizer;UBSanitizer") | 58 | set(build_types "None;Debug;Release;RelWithDebInfo;MinSizeRel;Coverage;AddressSanitizer;ThreadSanitizer;UBSanitizer") |
11 | 58 | # Change informational string for CMAKE_BUILD_TYPE | 59 | # Change informational string for CMAKE_BUILD_TYPE |
12 | @@ -300,7 +301,6 @@ | |||
13 | 300 | endif () | 301 | endif () |
14 | 301 | 302 | ||
15 | 302 | enable_coverage_report(mirserver) | 303 | enable_coverage_report(mirserver) |
16 | 303 | include (cmake/Doxygen.cmake) | ||
17 | 304 | include (cmake/ABICheck.cmake) | 304 | include (cmake/ABICheck.cmake) |
18 | 305 | 305 | ||
19 | 306 | add_custom_target(ptest | 306 | add_custom_target(ptest |
20 | 307 | 307 | ||
21 | === modified file 'doc/Doxyfile.in' | |||
22 | --- doc/Doxyfile.in 2017-05-08 03:04:26 +0000 | |||
23 | +++ doc/Doxyfile.in 2017-08-30 16:18:50 +0000 | |||
24 | @@ -875,7 +875,8 @@ | |||
25 | 875 | # Note that the wildcards are matched against the file with absolute path, so to | 875 | # Note that the wildcards are matched against the file with absolute path, so to |
26 | 876 | # exclude all test directories for example use the pattern */test/* | 876 | # exclude all test directories for example use the pattern */test/* |
27 | 877 | 877 | ||
29 | 878 | EXCLUDE_PATTERNS = */include/test/* | 878 | EXCLUDE_PATTERNS = *.capnp.c++ \ |
30 | 879 | */examples/multi_stream.cpp | ||
31 | 879 | 880 | ||
32 | 880 | # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names | 881 | # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names |
33 | 881 | # (namespaces, classes, functions, etc.) that should be excluded from the | 882 | # (namespaces, classes, functions, etc.) that should be excluded from the |
34 | 882 | 883 | ||
35 | === modified file 'examples/basic.c' | |||
36 | --- examples/basic.c 2017-07-28 17:00:43 +0000 | |||
37 | +++ examples/basic.c 2017-08-30 16:18:50 +0000 | |||
38 | @@ -41,16 +41,12 @@ | |||
39 | 41 | /// \snippet basic.c surface_release_tag | 41 | /// \snippet basic.c surface_release_tag |
40 | 42 | ///\subsection connection_release We release our connection | 42 | ///\subsection connection_release We release our connection |
41 | 43 | /// \snippet basic.c connection_release_tag | 43 | /// \snippet basic.c connection_release_tag |
44 | 44 | ///\subsection get the raw, platform-specific buffer handle for the current buffer | 44 | ///\subsection get graphics region for the current buffer |
45 | 45 | /// \snippet basic.c get_current_buffer_tag | 45 | /// \snippet basic.c get_graphics_region_tag |
46 | 46 | /// \example basic.c A simple mir client | 46 | /// \example basic.c A simple mir client |
47 | 47 | ///\section MirDemoState MirDemoState | 47 | ///\section MirDemoState MirDemoState |
48 | 48 | /// The handles needs to be accessible both to callbacks and to the control function. | 48 | /// The handles needs to be accessible both to callbacks and to the control function. |
49 | 49 | /// \snippet basic.c MirDemoState_tag | 49 | /// \snippet basic.c MirDemoState_tag |
50 | 50 | ///\section Callbacks Callbacks | ||
51 | 51 | /// This program opens a mir connection and creates a surface. The handles | ||
52 | 52 | /// needs to be accessible both to callbacks and to the control function. | ||
53 | 53 | /// \snippet basic.c Callback_tag | ||
54 | 54 | 50 | ||
55 | 55 | ///\internal [MirDemoState_tag] | 51 | ///\internal [MirDemoState_tag] |
56 | 56 | // Utility structure for the state of a single surface session. | 52 | // Utility structure for the state of a single surface session. |
57 | @@ -143,11 +139,12 @@ | |||
58 | 143 | { | 139 | { |
59 | 144 | // We can query the current graphics buffer attributes | 140 | // We can query the current graphics buffer attributes |
60 | 145 | { | 141 | { |
61 | 142 | ///\internal [get_graphics_region_tag] | ||
62 | 146 | MirGraphicsRegion graphics_region; | 143 | MirGraphicsRegion graphics_region; |
63 | 147 | mir_buffer_stream_get_graphics_region(bs, &graphics_region); | 144 | mir_buffer_stream_get_graphics_region(bs, &graphics_region); |
64 | 148 | 145 | ||
67 | 149 | ///\internal [get_current_buffer_tag] | 146 | ///\internal [get_graphics_region_tag] |
68 | 150 | // In a real application we'd render into the current buffer | 147 | // In a real application we'd render into the graphics_region |
69 | 151 | } | 148 | } |
70 | 152 | 149 | ||
71 | 153 | ///\internal [swap_buffers_tag] | 150 | ///\internal [swap_buffers_tag] |
72 | 154 | 151 | ||
73 | === modified file 'include/client/mir_toolkit/mir_buffer.h' | |||
74 | --- include/client/mir_toolkit/mir_buffer.h 2017-07-28 17:00:43 +0000 | |||
75 | +++ include/client/mir_toolkit/mir_buffer.h 2017-08-30 16:18:50 +0000 | |||
76 | @@ -40,6 +40,7 @@ | |||
77 | 40 | * \param [in] connection The connection | 40 | * \param [in] connection The connection |
78 | 41 | * \param [in] width Requested buffer width | 41 | * \param [in] width Requested buffer width |
79 | 42 | * \param [in] height Requested buffer height | 42 | * \param [in] height Requested buffer height |
80 | 43 | * \param [in] format Requested buffer pixel format | ||
81 | 43 | * \param [in] available_callback The callback called when the buffer | 44 | * \param [in] available_callback The callback called when the buffer |
82 | 44 | * is available | 45 | * is available |
83 | 45 | * \param [in] available_context The context for the available_callback | 46 | * \param [in] available_context The context for the available_callback |
84 | @@ -55,6 +56,7 @@ | |||
85 | 55 | * \param [in] connection The connection | 56 | * \param [in] connection The connection |
86 | 56 | * \param [in] width Requested buffer width | 57 | * \param [in] width Requested buffer width |
87 | 57 | * \param [in] height Requested buffer height | 58 | * \param [in] height Requested buffer height |
88 | 59 | * \param [in] format Requested buffer pixel format | ||
89 | 58 | * \return The buffer | 60 | * \return The buffer |
90 | 59 | **/ | 61 | **/ |
91 | 60 | MirBuffer* mir_connection_allocate_buffer_sync( | 62 | MirBuffer* mir_connection_allocate_buffer_sync( |
92 | 61 | 63 | ||
93 | === modified file 'include/client/mir_toolkit/mir_display_configuration.h' | |||
94 | --- include/client/mir_toolkit/mir_display_configuration.h 2017-07-28 17:00:43 +0000 | |||
95 | +++ include/client/mir_toolkit/mir_display_configuration.h 2017-08-30 16:18:50 +0000 | |||
96 | @@ -539,7 +539,7 @@ | |||
97 | 539 | * \param [in] output The MirOutput to query | 539 | * \param [in] output The MirOutput to query |
98 | 540 | * \returns true if gamma is supported on the hardware, otherwise not supported | 540 | * \returns true if gamma is supported on the hardware, otherwise not supported |
99 | 541 | */ | 541 | */ |
101 | 542 | bool mir_output_is_gamma_supported(MirOutput const* client_output); | 542 | bool mir_output_is_gamma_supported(MirOutput const* output); |
102 | 543 | 543 | ||
103 | 544 | /** Gets the gamma size | 544 | /** Gets the gamma size |
104 | 545 | * | 545 | * |
105 | @@ -547,7 +547,7 @@ | |||
106 | 547 | * \returns The size of the gamma ramp LUT | 547 | * \returns The size of the gamma ramp LUT |
107 | 548 | * | 548 | * |
108 | 549 | */ | 549 | */ |
110 | 550 | uint32_t mir_output_get_gamma_size(MirOutput const* client_output); | 550 | uint32_t mir_output_get_gamma_size(MirOutput const* output); |
111 | 551 | 551 | ||
112 | 552 | /** Get the gamma ramp of a display | 552 | /** Get the gamma ramp of a display |
113 | 553 | * | 553 | * |
114 | @@ -559,7 +559,7 @@ | |||
115 | 559 | * \param [out] blue The blue gamma ramp | 559 | * \param [out] blue The blue gamma ramp |
116 | 560 | * \param [in] size The size of the gamma ramp | 560 | * \param [in] size The size of the gamma ramp |
117 | 561 | */ | 561 | */ |
119 | 562 | void mir_output_get_gamma(MirOutput const* client_output, | 562 | void mir_output_get_gamma(MirOutput const* output, |
120 | 563 | uint16_t* red, | 563 | uint16_t* red, |
121 | 564 | uint16_t* green, | 564 | uint16_t* green, |
122 | 565 | uint16_t* blue, | 565 | uint16_t* blue, |
123 | @@ -573,7 +573,7 @@ | |||
124 | 573 | * \param [in] blue The blue gamma ramp | 573 | * \param [in] blue The blue gamma ramp |
125 | 574 | * \param [in] size The size of the gamma ramp | 574 | * \param [in] size The size of the gamma ramp |
126 | 575 | */ | 575 | */ |
128 | 576 | void mir_output_set_gamma(MirOutput* client_output, | 576 | void mir_output_set_gamma(MirOutput* output, |
129 | 577 | uint16_t const* red, | 577 | uint16_t const* red, |
130 | 578 | uint16_t const* green, | 578 | uint16_t const* green, |
131 | 579 | uint16_t const* blue, | 579 | uint16_t const* blue, |
132 | 580 | 580 | ||
133 | === modified file 'include/client/mir_toolkit/mir_input_device.h' | |||
134 | --- include/client/mir_toolkit/mir_input_device.h 2017-07-28 17:00:43 +0000 | |||
135 | +++ include/client/mir_toolkit/mir_input_device.h 2017-08-30 16:18:50 +0000 | |||
136 | @@ -235,7 +235,7 @@ | |||
137 | 235 | * Set the options of the keymap as a null terminated string. | 235 | * Set the options of the keymap as a null terminated string. |
138 | 236 | * | 236 | * |
139 | 237 | * \param [in] conf The keyboard config | 237 | * \param [in] conf The keyboard config |
141 | 238 | * \param [in] layout The keymap options | 238 | * \param [in] options The keymap options |
142 | 239 | */ | 239 | */ |
143 | 240 | void mir_keyboard_config_set_keymap_options( | 240 | void mir_keyboard_config_set_keymap_options( |
144 | 241 | MirKeyboardConfig* conf, char const* options); | 241 | MirKeyboardConfig* conf, char const* options); |
145 | @@ -244,7 +244,7 @@ | |||
146 | 244 | * Set the variant of the keymap as a null terminated string. | 244 | * Set the variant of the keymap as a null terminated string. |
147 | 245 | * | 245 | * |
148 | 246 | * \param [in] conf The keyboard config | 246 | * \param [in] conf The keyboard config |
150 | 247 | * \param [in] layout The keymap variant | 247 | * \param [in] variant The keymap variant |
151 | 248 | */ | 248 | */ |
152 | 249 | void mir_keyboard_config_set_keymap_variant( | 249 | void mir_keyboard_config_set_keymap_variant( |
153 | 250 | MirKeyboardConfig* conf, char const* variant); | 250 | MirKeyboardConfig* conf, char const* variant); |
154 | @@ -549,7 +549,7 @@ | |||
155 | 549 | * Configure whether middle mouse button emulation should be enabled | 549 | * Configure whether middle mouse button emulation should be enabled |
156 | 550 | * | 550 | * |
157 | 551 | * \param [in] conf The touchpad config | 551 | * \param [in] conf The touchpad config |
159 | 552 | * \param [in] middle_mouse_button_emulation | 552 | * \param [in] middle_emulation |
160 | 553 | */ | 553 | */ |
161 | 554 | void mir_touchpad_config_set_middle_mouse_button_emulation( | 554 | void mir_touchpad_config_set_middle_mouse_button_emulation( |
162 | 555 | MirTouchpadConfig* conf, bool middle_emulation); | 555 | MirTouchpadConfig* conf, bool middle_emulation); |
163 | 556 | 556 | ||
164 | === modified file 'include/client/mir_toolkit/mir_window.h' | |||
165 | --- include/client/mir_toolkit/mir_window.h 2017-07-28 17:00:43 +0000 | |||
166 | +++ include/client/mir_toolkit/mir_window.h 2017-08-30 16:18:50 +0000 | |||
167 | @@ -506,7 +506,7 @@ | |||
168 | 506 | * \param [in] spec the spec to update | 506 | * \param [in] spec the spec to update |
169 | 507 | * \param [in] rect the destination rectangle to align with | 507 | * \param [in] rect the destination rectangle to align with |
170 | 508 | * \param [in] rect_gravity the point on \p rect to align with | 508 | * \param [in] rect_gravity the point on \p rect to align with |
172 | 509 | * \param [in] surface_gravity the point on the window to align with | 509 | * \param [in] window_gravity the point on the window to align with |
173 | 510 | * \param [in] placement_hints positioning hints to use when limited on space | 510 | * \param [in] placement_hints positioning hints to use when limited on space |
174 | 511 | * \param [in] offset_dx horizontal offset to shift w.r.t. \p rect | 511 | * \param [in] offset_dx horizontal offset to shift w.r.t. \p rect |
175 | 512 | * \param [in] offset_dy vertical offset to shift w.r.t. \p rect | 512 | * \param [in] offset_dy vertical offset to shift w.r.t. \p rect |
176 | 513 | 513 | ||
177 | === modified file 'include/client/mir_toolkit/rs/mir_render_surface.h' | |||
178 | --- include/client/mir_toolkit/rs/mir_render_surface.h 2017-07-28 17:00:43 +0000 | |||
179 | +++ include/client/mir_toolkit/rs/mir_render_surface.h 2017-08-30 16:18:50 +0000 | |||
180 | @@ -53,7 +53,7 @@ | |||
181 | 53 | * \param [in] connection A valid connection | 53 | * \param [in] connection A valid connection |
182 | 54 | * \param [in] width The width in pixels | 54 | * \param [in] width The width in pixels |
183 | 55 | * \param [in] height The height in pixels | 55 | * \param [in] height The height in pixels |
185 | 56 | * \param [in] MirRenderSurfaceCallback Callback to be invoked when the request completes. | 56 | * \param [in] callback Callback to be invoked when the request completes. |
186 | 57 | * The callback is guaranteed to be called and called | 57 | * The callback is guaranteed to be called and called |
187 | 58 | * with a non-null MirRenderSurface*, but the render | 58 | * with a non-null MirRenderSurface*, but the render |
188 | 59 | * surface may be invalid in case of error. | 59 | * surface may be invalid in case of error. |
189 | 60 | 60 | ||
190 | === modified file 'include/miral/miral/command_line_option.h' | |||
191 | --- include/miral/miral/command_line_option.h 2017-08-21 14:18:55 +0000 | |||
192 | +++ include/miral/miral/command_line_option.h 2017-08-30 16:18:50 +0000 | |||
193 | @@ -103,6 +103,11 @@ | |||
194 | 103 | std::shared_ptr<Self> self; | 103 | std::shared_ptr<Self> self; |
195 | 104 | }; | 104 | }; |
196 | 105 | 105 | ||
197 | 106 | /** | ||
198 | 107 | * Update the option to be called back *before* Mir initialization starts | ||
199 | 108 | * | ||
200 | 109 | * \param clo the option | ||
201 | 110 | */ | ||
202 | 106 | auto pre_init(CommandLineOption const& clo) -> CommandLineOption; | 111 | auto pre_init(CommandLineOption const& clo) -> CommandLineOption; |
203 | 107 | } | 112 | } |
204 | 108 | 113 | ||
205 | 109 | 114 | ||
206 | === modified file 'include/miral/miral/window_management_policy_addendum3.h' | |||
207 | --- include/miral/miral/window_management_policy_addendum3.h 2017-08-21 14:18:55 +0000 | |||
208 | +++ include/miral/miral/window_management_policy_addendum3.h 2017-08-30 16:18:50 +0000 | |||
209 | @@ -46,6 +46,7 @@ | |||
210 | 46 | * vertically maximized windows to allow adjustment for decorations. | 46 | * vertically maximized windows to allow adjustment for decorations. |
211 | 47 | * | 47 | * |
212 | 48 | * @param window_info the window | 48 | * @param window_info the window |
213 | 49 | * @param new_state the new state | ||
214 | 49 | * @param new_placement the suggested placement | 50 | * @param new_placement the suggested placement |
215 | 50 | * | 51 | * |
216 | 51 | * @return the confirmed placement of the window | 52 | * @return the confirmed placement of the window |
217 | 52 | 53 | ||
218 | === modified file 'include/platform/mir/graphics/platform.h' | |||
219 | --- include/platform/mir/graphics/platform.h 2017-07-28 17:00:43 +0000 | |||
220 | +++ include/platform/mir/graphics/platform.h 2017-08-30 16:18:50 +0000 | |||
221 | @@ -210,6 +210,7 @@ | |||
222 | 210 | * \param [in] options options to use for this platform | 210 | * \param [in] options options to use for this platform |
223 | 211 | * \param [in] emergency_cleanup_registry object to register emergency shutdown handlers with | 211 | * \param [in] emergency_cleanup_registry object to register emergency shutdown handlers with |
224 | 212 | * \param [in] report the object to use to report interesting events from the display subsystem | 212 | * \param [in] report the object to use to report interesting events from the display subsystem |
225 | 213 | * \param [in] logger the object to use to log interesting events from the display subsystem | ||
226 | 213 | * | 214 | * |
227 | 214 | * This factory function needs to be implemented by each platform. | 215 | * This factory function needs to be implemented by each platform. |
228 | 215 | * | 216 | * |
229 | 216 | 217 | ||
230 | === modified file 'include/server/mir/graphics/display_configuration_observer.h' | |||
231 | --- include/server/mir/graphics/display_configuration_observer.h 2017-07-28 17:00:43 +0000 | |||
232 | +++ include/server/mir/graphics/display_configuration_observer.h 2017-08-30 16:18:50 +0000 | |||
233 | @@ -57,7 +57,7 @@ | |||
234 | 57 | /** | 57 | /** |
235 | 58 | * Notification after updating base display configuration. | 58 | * Notification after updating base display configuration. |
236 | 59 | * | 59 | * |
238 | 60 | * \param [in] config The configuration that has just been updated. | 60 | * \param [in] base_config The configuration that has just been updated. |
239 | 61 | */ | 61 | */ |
240 | 62 | virtual void base_configuration_updated(std::shared_ptr<DisplayConfiguration const> const& base_config) = 0; | 62 | virtual void base_configuration_updated(std::shared_ptr<DisplayConfiguration const> const& base_config) = 0; |
241 | 63 | 63 | ||
242 | 64 | 64 | ||
243 | === modified file 'include/test/mir_test_framework/main.h' | |||
244 | --- include/test/mir_test_framework/main.h 2017-07-28 17:00:43 +0000 | |||
245 | +++ include/test/mir_test_framework/main.h 2017-08-30 16:18:50 +0000 | |||
246 | @@ -23,11 +23,11 @@ | |||
247 | 23 | { | 23 | { |
248 | 24 | /** | 24 | /** |
249 | 25 | * Initialize and run the mir test framework as follows: | 25 | * Initialize and run the mir test framework as follows: |
251 | 26 | * | 26 | * \code |
252 | 27 | * ::testing::InitGoogleTest(&argc, argv); | 27 | * ::testing::InitGoogleTest(&argc, argv); |
253 | 28 | * set_commandline(argc, argv); | 28 | * set_commandline(argc, argv); |
254 | 29 | * return RUN_ALL_TESTS(); | 29 | * return RUN_ALL_TESTS(); |
256 | 30 | * | 30 | * \endcode |
257 | 31 | * \attention If you override main() for your own purposes call this or do | 31 | * \attention If you override main() for your own purposes call this or do |
258 | 32 | * something equivalent to run the tests. | 32 | * something equivalent to run the tests. |
259 | 33 | */ | 33 | */ |
260 | 34 | 34 | ||
261 | === modified file 'src/miral/CMakeLists.txt' | |||
262 | --- src/miral/CMakeLists.txt 2017-08-30 16:18:50 +0000 | |||
263 | +++ src/miral/CMakeLists.txt 2017-08-30 16:18:50 +0000 | |||
264 | @@ -1,4 +1,3 @@ | |||
265 | 1 | <<<<<<< TREE | ||
266 | 2 | set(MIRAL_VERSION_MAJOR 1) | 1 | set(MIRAL_VERSION_MAJOR 1) |
267 | 3 | set(MIRAL_VERSION_MINOR 5) | 2 | set(MIRAL_VERSION_MINOR 5) |
268 | 4 | set(MIRAL_VERSION_PATCH 0) | 3 | set(MIRAL_VERSION_PATCH 0) |
269 | @@ -135,148 +134,13 @@ | |||
270 | 135 | ${miral_include}/miral/version.h | 134 | ${miral_include}/miral/version.h |
271 | 136 | ) | 135 | ) |
272 | 137 | 136 | ||
418 | 138 | install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") | 137 | if(TARGET doc) |
419 | 139 | install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") | 138 | add_custom_target(regenerate-miral-symbols-map |
420 | 140 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc | 139 | ${CMAKE_CURRENT_SOURCE_DIR}/process_doxygen_xml.py ${CMAKE_BINARY_DIR}/doc/xml/*.xml > ${symbol_map} |
421 | 141 | ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") | 140 | DEPENDS doc) |
422 | 142 | ======= | 141 | endif() |
423 | 143 | set(MIRAL_VERSION_MAJOR 1) | 142 | |
424 | 144 | set(MIRAL_VERSION_MINOR 5) | 143 | install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") |
425 | 145 | set(MIRAL_VERSION_PATCH 0) | 144 | install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") |
426 | 146 | 145 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc | |
427 | 147 | if(${CMAKE_COMPILER_IS_GNUCXX}) | 146 | ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") |
283 | 148 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto") | ||
284 | 149 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") | ||
285 | 150 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto") | ||
286 | 151 | set(CMAKE_AR "gcc-ar") | ||
287 | 152 | set(CMAKE_NM "gcc-nm") | ||
288 | 153 | set(CMAKE_RANLIB "gcc-ranlib") | ||
289 | 154 | endif() | ||
290 | 155 | |||
291 | 156 | include_directories( | ||
292 | 157 | ${PROJECT_SOURCE_DIR}/include/platform | ||
293 | 158 | ${PROJECT_SOURCE_DIR}/include/client | ||
294 | 159 | ${PROJECT_SOURCE_DIR}/include/server | ||
295 | 160 | ) | ||
296 | 161 | |||
297 | 162 | set(MIRAL_ABI 2) | ||
298 | 163 | set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) | ||
299 | 164 | set(miral_include ${PROJECT_SOURCE_DIR}/include/miral) | ||
300 | 165 | |||
301 | 166 | add_library(mirclientcpp INTERFACE) | ||
302 | 167 | |||
303 | 168 | add_library(miral-internal STATIC | ||
304 | 169 | basic_window_manager.cpp basic_window_manager.h window_manager_tools_implementation.h | ||
305 | 170 | coordinate_translator.cpp coordinate_translator.h | ||
306 | 171 | display_configuration_listeners.cpp display_configuration_listeners.h | ||
307 | 172 | mru_window_list.cpp mru_window_list.h | ||
308 | 173 | window_management_trace.cpp window_management_trace.h | ||
309 | 174 | xcursor_loader.cpp xcursor_loader.h | ||
310 | 175 | xcursor.c xcursor.h | ||
311 | 176 | both_versions.h | ||
312 | 177 | join_client_threads.h | ||
313 | 178 | ) | ||
314 | 179 | |||
315 | 180 | set_source_files_properties(xcursor.c PROPERTIES COMPILE_DEFINITIONS _GNU_SOURCE) | ||
316 | 181 | |||
317 | 182 | add_library(miral SHARED | ||
318 | 183 | active_outputs.cpp ${miral_include}/miral/active_outputs.h | ||
319 | 184 | add_init_callback.cpp ${miral_include}/miral/add_init_callback.h | ||
320 | 185 | application.cpp ${miral_include}/miral/application.h | ||
321 | 186 | application_authorizer.cpp ${miral_include}/miral/application_authorizer.h | ||
322 | 187 | application_info.cpp ${miral_include}/miral/application_info.h | ||
323 | 188 | canonical_window_manager.cpp ${miral_include}/miral/canonical_window_manager.h | ||
324 | 189 | command_line_option.cpp ${miral_include}/miral/command_line_option.h | ||
325 | 190 | cursor_theme.cpp ${miral_include}/miral/cursor_theme.h | ||
326 | 191 | debug_extension.cpp ${miral_include}/miral/debug_extension.h | ||
327 | 192 | keymap.cpp ${miral_include}/miral/keymap.h | ||
328 | 193 | runner.cpp ${miral_include}/miral/runner.h | ||
329 | 194 | display_configuration_option.cpp ${miral_include}/miral/display_configuration_option.h | ||
330 | 195 | output.cpp ${miral_include}/miral/output.h | ||
331 | 196 | append_event_filter.cpp ${miral_include}/miral/append_event_filter.h | ||
332 | 197 | window.cpp ${miral_include}/miral/window.h | ||
333 | 198 | window_info.cpp ${miral_include}/miral/window_info.h | ||
334 | 199 | window_management_options.cpp ${miral_include}/miral/window_management_options.h | ||
335 | 200 | window_specification.cpp ${miral_include}/miral/window_specification.h | ||
336 | 201 | internal_client.cpp ${miral_include}/miral/internal_client.h | ||
337 | 202 | set_command_line_handler.cpp ${miral_include}/miral/set_command_line_handler.h | ||
338 | 203 | set_terminator.cpp ${miral_include}/miral/set_terminator.h | ||
339 | 204 | set_window_management_policy.cpp ${miral_include}/miral/set_window_management_policy.h | ||
340 | 205 | workspace_policy.cpp ${miral_include}/miral/workspace_policy.h | ||
341 | 206 | window_management_policy.cpp ${miral_include}/miral/window_management_policy.h | ||
342 | 207 | window_manager_tools.cpp ${miral_include}/miral/window_manager_tools.h | ||
343 | 208 | ${miral_include}/miral/window_management_policy_addendum2.h | ||
344 | 209 | ${miral_include}/miral/window_management_policy_addendum3.h | ||
345 | 210 | ${miral_include}/mir/client/blob.h | ||
346 | 211 | ${miral_include}/mir/client/cookie.h | ||
347 | 212 | ${miral_include}/mir/client/window_spec.h | ||
348 | 213 | ${miral_include}/mir/client/window_id.h | ||
349 | 214 | ${miral_include}/mir/client/connection.h | ||
350 | 215 | ${miral_include}/mir/client/display_config.h | ||
351 | 216 | ${miral_include}/mir/client/window.h | ||
352 | 217 | ) | ||
353 | 218 | |||
354 | 219 | target_include_directories(mirclientcpp | ||
355 | 220 | INTERFACE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} | ||
356 | 221 | ) | ||
357 | 222 | |||
358 | 223 | target_include_directories(miral-internal | ||
359 | 224 | PRIVATE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} | ||
360 | 225 | PRIVATE ${MIRSERVER_INCLUDE_DIRS} | ||
361 | 226 | ) | ||
362 | 227 | |||
363 | 228 | target_include_directories(miral | ||
364 | 229 | PUBLIC "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS} | ||
365 | 230 | PRIVATE ${MIRSERVER_INCLUDE_DIRS} | ||
366 | 231 | ) | ||
367 | 232 | |||
368 | 233 | target_link_libraries(miral | ||
369 | 234 | PUBLIC | ||
370 | 235 | mirclient | ||
371 | 236 | mircommon | ||
372 | 237 | PRIVATE | ||
373 | 238 | miral-internal | ||
374 | 239 | mirserver | ||
375 | 240 | ) | ||
376 | 241 | |||
377 | 242 | set_target_properties(miral | ||
378 | 243 | PROPERTIES | ||
379 | 244 | SOVERSION ${MIRAL_ABI} | ||
380 | 245 | LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}" | ||
381 | 246 | LINK_DEPENDS ${symbol_map} | ||
382 | 247 | ) | ||
383 | 248 | |||
384 | 249 | # clang generates slightly different symbols (but we don't care) | ||
385 | 250 | if (CMAKE_COMPILER_IS_GNUCXX) | ||
386 | 251 | add_custom_target(check-miral-symbols ALL | ||
387 | 252 | DEPENDS miral ${PROJECT_SOURCE_DIR}/debian/libmiral${MIRAL_ABI}.symbols | ||
388 | 253 | COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/libmiral${MIRAL_ABI}.symbols | ||
389 | 254 | COMMAND dpkg-gensymbols -e${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libmiral.so.${MIRAL_ABI} -plibmiral${MIRAL_ABI} -O${CMAKE_CURRENT_BINARY_DIR}/libmiral${MIRAL_ABI}.symbols | ||
390 | 255 | WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" | ||
391 | 256 | VERBATIM | ||
392 | 257 | ) | ||
393 | 258 | endif() | ||
394 | 259 | |||
395 | 260 | set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}") | ||
396 | 261 | set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include") | ||
397 | 262 | |||
398 | 263 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/miral.pc.in | ||
399 | 264 | ${CMAKE_CURRENT_BINARY_DIR}/miral.pc | ||
400 | 265 | @ONLY | ||
401 | 266 | ) | ||
402 | 267 | |||
403 | 268 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/mirclientcpp.pc.in | ||
404 | 269 | ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc | ||
405 | 270 | @ONLY | ||
406 | 271 | ) | ||
407 | 272 | |||
408 | 273 | configure_file( | ||
409 | 274 | ${CMAKE_CURRENT_SOURCE_DIR}/version.h.in | ||
410 | 275 | ${miral_include}/miral/version.h | ||
411 | 276 | ) | ||
412 | 277 | |||
413 | 278 | install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") | ||
414 | 279 | install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/miral DESTINATION "${INCLUDEDIR}") | ||
415 | 280 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc | ||
416 | 281 | ${CMAKE_CURRENT_BINARY_DIR}/mirclientcpp.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") | ||
417 | 282 | >>>>>>> MERGE-SOURCE | ||
428 | 283 | 147 | ||
429 | === modified file 'src/miral/miral.pc.in' | |||
430 | --- src/miral/miral.pc.in 2017-08-30 16:18:50 +0000 | |||
431 | +++ src/miral/miral.pc.in 2017-08-29 09:17:03 +0000 | |||
432 | @@ -1,4 +1,3 @@ | |||
433 | 1 | <<<<<<< TREE | ||
434 | 2 | libdir=@LIBDIR@ | 1 | libdir=@LIBDIR@ |
435 | 3 | includedir=@INCLUDEDIR@/miral | 2 | includedir=@INCLUDEDIR@/miral |
436 | 4 | 3 | ||
437 | @@ -8,14 +7,3 @@ | |||
438 | 8 | Requires: mirclientcpp | 7 | Requires: mirclientcpp |
439 | 9 | Libs: -L${libdir} -lmiral | 8 | Libs: -L${libdir} -lmiral |
440 | 10 | Cflags: -I${includedir} | 9 | Cflags: -I${includedir} |
441 | 11 | ======= | ||
442 | 12 | libdir=@LIBDIR@ | ||
443 | 13 | includedir=@INCLUDEDIR@ | ||
444 | 14 | |||
445 | 15 | Name: miral | ||
446 | 16 | Description: Mir Abstraction Layer library | ||
447 | 17 | Version: @MIRAL_VERSION@ | ||
448 | 18 | Requires: mirclientcpp | ||
449 | 19 | Libs: -L${libdir} -lmiral | ||
450 | 20 | Cflags: -I${includedir} | ||
451 | 21 | >>>>>>> MERGE-SOURCE | ||
452 | 22 | 10 | ||
453 | === modified file 'src/miral/mirclientcpp.pc.in' | |||
454 | --- src/miral/mirclientcpp.pc.in 2017-08-30 16:18:50 +0000 | |||
455 | +++ src/miral/mirclientcpp.pc.in 2017-08-29 09:17:03 +0000 | |||
456 | @@ -1,4 +1,3 @@ | |||
457 | 1 | <<<<<<< TREE | ||
458 | 2 | includedir=@INCLUDEDIR@/miral | 1 | includedir=@INCLUDEDIR@/miral |
459 | 3 | 2 | ||
460 | 4 | Name: mirclientcpp | 3 | Name: mirclientcpp |
461 | @@ -6,12 +5,3 @@ | |||
462 | 6 | Version: @MIRAL_VERSION@ | 5 | Version: @MIRAL_VERSION@ |
463 | 7 | Requires: mirclient | 6 | Requires: mirclient |
464 | 8 | Cflags: -I${includedir} | 7 | Cflags: -I${includedir} |
465 | 9 | ======= | ||
466 | 10 | includedir=@INCLUDEDIR@ | ||
467 | 11 | |||
468 | 12 | Name: mirclientcpp | ||
469 | 13 | Description: Mir Abstraction Layer C++ wrapper for mirclient | ||
470 | 14 | Version: @MIRAL_VERSION@ | ||
471 | 15 | Requires: mirclient | ||
472 | 16 | Cflags: -I${includedir} | ||
473 | 17 | >>>>>>> MERGE-SOURCE | ||
474 | 18 | 8 | ||
475 | === added file 'src/miral/process_doxygen_xml.py' | |||
476 | --- src/miral/process_doxygen_xml.py 1970-01-01 00:00:00 +0000 | |||
477 | +++ src/miral/process_doxygen_xml.py 2017-08-30 16:18:50 +0000 | |||
478 | @@ -0,0 +1,655 @@ | |||
479 | 1 | #! /usr/bin/python | ||
480 | 2 | """This script processes the XML generated by "make doc" and produces summary information | ||
481 | 3 | on symbols that libmiral intends to make public. | ||
482 | 4 | |||
483 | 5 | To use: Go to your build folder and run "make regenerate-miral-symbols""""" | ||
484 | 6 | |||
485 | 7 | from xml.dom import minidom | ||
486 | 8 | from sys import argv | ||
487 | 9 | |||
488 | 10 | HELPTEXT = __doc__ | ||
489 | 11 | DEBUG = False | ||
490 | 12 | |||
491 | 13 | def _get_text(node): | ||
492 | 14 | substrings = [] | ||
493 | 15 | for node in node.childNodes: | ||
494 | 16 | if node.nodeType == node.TEXT_NODE: | ||
495 | 17 | substrings.append(node.data) | ||
496 | 18 | elif node.nodeType == node.ELEMENT_NODE: | ||
497 | 19 | substrings.append(_get_text(node)) | ||
498 | 20 | return ''.join(substrings) | ||
499 | 21 | |||
500 | 22 | def _get_text_for_element(parent, tagname): | ||
501 | 23 | substrings = [] | ||
502 | 24 | |||
503 | 25 | for node in parent.getElementsByTagName(tagname): | ||
504 | 26 | substrings.append(_get_text(node)) | ||
505 | 27 | |||
506 | 28 | return ''.join(substrings) | ||
507 | 29 | |||
508 | 30 | def _get_file_location(node): | ||
509 | 31 | for node in node.childNodes: | ||
510 | 32 | if node.nodeType == node.ELEMENT_NODE and node.tagName == 'location': | ||
511 | 33 | return node.attributes['file'].value | ||
512 | 34 | if DEBUG: | ||
513 | 35 | print('no location in:', node) | ||
514 | 36 | return None | ||
515 | 37 | |||
516 | 38 | def _has_element(node, tagname): | ||
517 | 39 | for node in node.childNodes: | ||
518 | 40 | if node.nodeType == node.ELEMENT_NODE and node.tagName in tagname: | ||
519 | 41 | return True | ||
520 | 42 | return False | ||
521 | 43 | |||
522 | 44 | def _print_attribs(node, attribs): | ||
523 | 45 | for attrib in attribs: | ||
524 | 46 | print(' ', attrib, '=', node.attributes[attrib].value) | ||
525 | 47 | |||
526 | 48 | def _concat_text_from_tags(parent, tagnames): | ||
527 | 49 | substrings = [] | ||
528 | 50 | |||
529 | 51 | for tag in tagnames: | ||
530 | 52 | substrings.append(_get_text_for_element(parent, tag)) | ||
531 | 53 | |||
532 | 54 | return ''.join(substrings) | ||
533 | 55 | |||
534 | 56 | def _print_location(node): | ||
535 | 57 | print(' ', 'location', '=', _get_file_location(node)) | ||
536 | 58 | |||
537 | 59 | def _get_attribs(node): | ||
538 | 60 | kind = node.attributes['kind'].value | ||
539 | 61 | static = node.attributes['static'].value | ||
540 | 62 | prot = node.attributes['prot'].value | ||
541 | 63 | return kind, static, prot | ||
542 | 64 | |||
543 | 65 | COMPONENT_MAP = {} | ||
544 | 66 | SYMBOLS = {'public' : set(), 'private' : set()} | ||
545 | 67 | |||
546 | 68 | def _report(publish, symbol): | ||
547 | 69 | symbol = symbol.replace('~', '?') | ||
548 | 70 | |||
549 | 71 | if publish: | ||
550 | 72 | SYMBOLS['public'].add(symbol) | ||
551 | 73 | else: | ||
552 | 74 | SYMBOLS['private'].add(symbol) | ||
553 | 75 | |||
554 | 76 | if not DEBUG: | ||
555 | 77 | return | ||
556 | 78 | |||
557 | 79 | if publish: | ||
558 | 80 | print(' PUBLISH: {}'.format(symbol)) | ||
559 | 81 | else: | ||
560 | 82 | print('NOPUBLISH: {}'.format(symbol)) | ||
561 | 83 | |||
562 | 84 | OLD_STANZAS = '''MIRAL_1.0 { | ||
563 | 85 | global: | ||
564 | 86 | extern "C++" { | ||
565 | 87 | miral::ActiveOutputsListener::?ActiveOutputsListener*; | ||
566 | 88 | miral::ActiveOutputsListener::ActiveOutputsListener*; | ||
567 | 89 | miral::ActiveOutputsListener::advise_output_begin*; | ||
568 | 90 | miral::ActiveOutputsListener::advise_output_create*; | ||
569 | 91 | miral::ActiveOutputsListener::advise_output_delete*; | ||
570 | 92 | miral::ActiveOutputsListener::advise_output_end*; | ||
571 | 93 | miral::ActiveOutputsListener::advise_output_update*; | ||
572 | 94 | miral::ActiveOutputsListener::operator*; | ||
573 | 95 | miral::ActiveOutputsMonitor::?ActiveOutputsMonitor*; | ||
574 | 96 | miral::ActiveOutputsMonitor::ActiveOutputsMonitor*; | ||
575 | 97 | miral::ActiveOutputsMonitor::add_listener*; | ||
576 | 98 | miral::ActiveOutputsMonitor::delete_listener*; | ||
577 | 99 | miral::ActiveOutputsMonitor::operator*; | ||
578 | 100 | miral::ActiveOutputsMonitor::process_outputs*; | ||
579 | 101 | miral::AddInitCallback::?AddInitCallback*; | ||
580 | 102 | miral::AddInitCallback::AddInitCallback*; | ||
581 | 103 | miral::AddInitCallback::operator*; | ||
582 | 104 | miral::AppendEventFilter::AppendEventFilter*; | ||
583 | 105 | miral::AppendEventFilter::operator*; | ||
584 | 106 | miral::ApplicationAuthorizer::?ApplicationAuthorizer*; | ||
585 | 107 | miral::ApplicationAuthorizer::ApplicationAuthorizer*; | ||
586 | 108 | miral::ApplicationAuthorizer::operator*; | ||
587 | 109 | miral::ApplicationCredentials::ApplicationCredentials*; | ||
588 | 110 | miral::ApplicationCredentials::gid*; | ||
589 | 111 | miral::ApplicationCredentials::pid*; | ||
590 | 112 | miral::ApplicationCredentials::uid*; | ||
591 | 113 | miral::ApplicationInfo::?ApplicationInfo*; | ||
592 | 114 | miral::ApplicationInfo::ApplicationInfo*; | ||
593 | 115 | miral::ApplicationInfo::add_window*; | ||
594 | 116 | miral::ApplicationInfo::application*; | ||
595 | 117 | miral::ApplicationInfo::name*; | ||
596 | 118 | miral::ApplicationInfo::operator*; | ||
597 | 119 | miral::ApplicationInfo::remove_window*; | ||
598 | 120 | miral::ApplicationInfo::userdata*; | ||
599 | 121 | miral::ApplicationInfo::windows*; | ||
600 | 122 | miral::BasicSetApplicationAuthorizer::?BasicSetApplicationAuthorizer*; | ||
601 | 123 | miral::BasicSetApplicationAuthorizer::BasicSetApplicationAuthorizer*; | ||
602 | 124 | miral::BasicSetApplicationAuthorizer::operator*; | ||
603 | 125 | miral::BasicSetApplicationAuthorizer::the_application_authorizer*; | ||
604 | 126 | miral::CanonicalWindowManagerPolicy::CanonicalWindowManagerPolicy*; | ||
605 | 127 | miral::CanonicalWindowManagerPolicy::advise_focus_gained*; | ||
606 | 128 | miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; | ||
607 | 129 | miral::CanonicalWindowManagerPolicy::handle_modify_window*; | ||
608 | 130 | miral::CanonicalWindowManagerPolicy::handle_raise_window*; | ||
609 | 131 | miral::CanonicalWindowManagerPolicy::handle_window_ready*; | ||
610 | 132 | miral::CanonicalWindowManagerPolicy::place_new_surface*; | ||
611 | 133 | miral::CommandLineOption::?CommandLineOption*; | ||
612 | 134 | miral::CommandLineOption::CommandLineOption*; | ||
613 | 135 | miral::CommandLineOption::operator*; | ||
614 | 136 | miral::CursorTheme::?CursorTheme*; | ||
615 | 137 | miral::CursorTheme::CursorTheme*; | ||
616 | 138 | miral::CursorTheme::operator*; | ||
617 | 139 | miral::DebugExtension::DebugExtension*; | ||
618 | 140 | miral::DebugExtension::disable*; | ||
619 | 141 | miral::DebugExtension::enable*; | ||
620 | 142 | miral::DebugExtension::operator*; | ||
621 | 143 | miral::InternalClientLauncher::?InternalClientLauncher*; | ||
622 | 144 | miral::InternalClientLauncher::InternalClientLauncher*; | ||
623 | 145 | miral::InternalClientLauncher::operator*; | ||
624 | 146 | miral::Keymap::?Keymap*; | ||
625 | 147 | miral::Keymap::Keymap*; | ||
626 | 148 | miral::Keymap::operator*; | ||
627 | 149 | miral::Keymap::set_keymap*; | ||
628 | 150 | miral::MirRunner::?MirRunner*; | ||
629 | 151 | miral::MirRunner::MirRunner*; | ||
630 | 152 | miral::MirRunner::add_start_callback*; | ||
631 | 153 | miral::MirRunner::add_stop_callback*; | ||
632 | 154 | miral::MirRunner::run_with*; | ||
633 | 155 | miral::MirRunner::set_exception_handler*; | ||
634 | 156 | miral::MirRunner::stop*; | ||
635 | 157 | miral::Output::?Output*; | ||
636 | 158 | miral::Output::Output*; | ||
637 | 159 | miral::Output::connected*; | ||
638 | 160 | miral::Output::extents*; | ||
639 | 161 | miral::Output::form_factor*; | ||
640 | 162 | miral::Output::is_same_output*; | ||
641 | 163 | miral::Output::operator*; | ||
642 | 164 | miral::Output::orientation*; | ||
643 | 165 | miral::Output::physical_size_mm*; | ||
644 | 166 | miral::Output::pixel_format*; | ||
645 | 167 | miral::Output::power_mode*; | ||
646 | 168 | miral::Output::refresh_rate*; | ||
647 | 169 | miral::Output::scale*; | ||
648 | 170 | miral::Output::type*; | ||
649 | 171 | miral::Output::used*; | ||
650 | 172 | miral::Output::valid*; | ||
651 | 173 | miral::SetCommandLineHandler::?SetCommandLineHandler*; | ||
652 | 174 | miral::SetCommandLineHandler::SetCommandLineHandler*; | ||
653 | 175 | miral::SetCommandLineHandler::operator*; | ||
654 | 176 | miral::SetTerminator::?SetTerminator*; | ||
655 | 177 | miral::SetTerminator::SetTerminator*; | ||
656 | 178 | miral::SetTerminator::operator*; | ||
657 | 179 | miral::SetWindowManagmentPolicy::?SetWindowManagmentPolicy*; | ||
658 | 180 | miral::SetWindowManagmentPolicy::SetWindowManagmentPolicy*; | ||
659 | 181 | miral::SetWindowManagmentPolicy::operator*; | ||
660 | 182 | miral::StartupInternalClient::?StartupInternalClient*; | ||
661 | 183 | miral::StartupInternalClient::operator*; | ||
662 | 184 | miral::Window::?Window*; | ||
663 | 185 | miral::Window::Window*; | ||
664 | 186 | miral::Window::application*; | ||
665 | 187 | miral::Window::move_to*; | ||
666 | 188 | miral::Window::operator*; | ||
667 | 189 | miral::Window::resize*; | ||
668 | 190 | miral::Window::size*; | ||
669 | 191 | miral::Window::top_left*; | ||
670 | 192 | miral::WindowInfo::?WindowInfo*; | ||
671 | 193 | miral::WindowInfo::WindowInfo*; | ||
672 | 194 | miral::WindowInfo::add_child*; | ||
673 | 195 | miral::WindowInfo::can_be_active*; | ||
674 | 196 | miral::WindowInfo::children*; | ||
675 | 197 | miral::WindowInfo::confine_pointer*; | ||
676 | 198 | miral::WindowInfo::constrain_resize*; | ||
677 | 199 | miral::WindowInfo::has_output_id*; | ||
678 | 200 | miral::WindowInfo::height_inc*; | ||
679 | 201 | miral::WindowInfo::is_visible*; | ||
680 | 202 | miral::WindowInfo::max_aspect*; | ||
681 | 203 | miral::WindowInfo::max_height*; | ||
682 | 204 | miral::WindowInfo::max_width*; | ||
683 | 205 | miral::WindowInfo::min_aspect*; | ||
684 | 206 | miral::WindowInfo::min_height*; | ||
685 | 207 | miral::WindowInfo::min_width*; | ||
686 | 208 | miral::WindowInfo::must_have_parent*; | ||
687 | 209 | miral::WindowInfo::must_not_have_parent*; | ||
688 | 210 | miral::WindowInfo::name*; | ||
689 | 211 | miral::WindowInfo::operator*; | ||
690 | 212 | miral::WindowInfo::output_id*; | ||
691 | 213 | miral::WindowInfo::parent*; | ||
692 | 214 | miral::WindowInfo::preferred_orientation*; | ||
693 | 215 | miral::WindowInfo::remove_child*; | ||
694 | 216 | miral::WindowInfo::restore_rect*; | ||
695 | 217 | miral::WindowInfo::userdata*; | ||
696 | 218 | miral::WindowInfo::width_inc*; | ||
697 | 219 | miral::WindowInfo::window*; | ||
698 | 220 | miral::WindowManagementPolicy::?WindowManagementPolicy*; | ||
699 | 221 | miral::WindowManagementPolicy::WindowManagementPolicy*; | ||
700 | 222 | miral::WindowManagementPolicy::advise_begin*; | ||
701 | 223 | miral::WindowManagementPolicy::advise_delete_app*; | ||
702 | 224 | miral::WindowManagementPolicy::advise_delete_window*; | ||
703 | 225 | miral::WindowManagementPolicy::advise_end*; | ||
704 | 226 | miral::WindowManagementPolicy::advise_focus_gained*; | ||
705 | 227 | miral::WindowManagementPolicy::advise_focus_lost*; | ||
706 | 228 | miral::WindowManagementPolicy::advise_move_to*; | ||
707 | 229 | miral::WindowManagementPolicy::advise_new_app*; | ||
708 | 230 | miral::WindowManagementPolicy::advise_new_window*; | ||
709 | 231 | miral::WindowManagementPolicy::advise_raise*; | ||
710 | 232 | miral::WindowManagementPolicy::advise_resize*; | ||
711 | 233 | miral::WindowManagementPolicy::operator*; | ||
712 | 234 | miral::WindowManagerOptions::WindowManagerOptions*; | ||
713 | 235 | miral::WindowManagerOptions::operator*; | ||
714 | 236 | miral::WindowManagerTools::?WindowManagerTools*; | ||
715 | 237 | miral::WindowManagerTools::WindowManagerTools*; | ||
716 | 238 | miral::WindowManagerTools::active_display*; | ||
717 | 239 | miral::WindowManagerTools::active_window*; | ||
718 | 240 | miral::WindowManagerTools::ask_client_to_close*; | ||
719 | 241 | miral::WindowManagerTools::count_applications*; | ||
720 | 242 | miral::WindowManagerTools::drag_active_window*; | ||
721 | 243 | miral::WindowManagerTools::find_application*; | ||
722 | 244 | miral::WindowManagerTools::focus_next_application*; | ||
723 | 245 | miral::WindowManagerTools::focus_next_within_application*; | ||
724 | 246 | miral::WindowManagerTools::for_each_application*; | ||
725 | 247 | miral::WindowManagerTools::force_close*; | ||
726 | 248 | miral::WindowManagerTools::id_for_window*; | ||
727 | 249 | miral::WindowManagerTools::info_for*; | ||
728 | 250 | miral::WindowManagerTools::info_for_window_id*; | ||
729 | 251 | miral::WindowManagerTools::invoke_under_lock*; | ||
730 | 252 | miral::WindowManagerTools::modify_window*; | ||
731 | 253 | miral::WindowManagerTools::operator*; | ||
732 | 254 | miral::WindowManagerTools::place_and_size_for_state*; | ||
733 | 255 | miral::WindowManagerTools::raise_tree*; | ||
734 | 256 | miral::WindowManagerTools::select_active_window*; | ||
735 | 257 | miral::WindowManagerTools::window_at*; | ||
736 | 258 | miral::WindowSpecification::?WindowSpecification*; | ||
737 | 259 | miral::WindowSpecification::WindowSpecification*; | ||
738 | 260 | miral::WindowSpecification::aux_rect*; | ||
739 | 261 | miral::WindowSpecification::aux_rect_placement_gravity*; | ||
740 | 262 | miral::WindowSpecification::aux_rect_placement_offset*; | ||
741 | 263 | miral::WindowSpecification::confine_pointer*; | ||
742 | 264 | miral::WindowSpecification::height_inc*; | ||
743 | 265 | miral::WindowSpecification::input_mode*; | ||
744 | 266 | miral::WindowSpecification::input_shape*; | ||
745 | 267 | miral::WindowSpecification::max_aspect*; | ||
746 | 268 | miral::WindowSpecification::max_height*; | ||
747 | 269 | miral::WindowSpecification::max_width*; | ||
748 | 270 | miral::WindowSpecification::min_aspect*; | ||
749 | 271 | miral::WindowSpecification::min_height*; | ||
750 | 272 | miral::WindowSpecification::min_width*; | ||
751 | 273 | miral::WindowSpecification::name*; | ||
752 | 274 | miral::WindowSpecification::operator*; | ||
753 | 275 | miral::WindowSpecification::output_id*; | ||
754 | 276 | miral::WindowSpecification::parent*; | ||
755 | 277 | miral::WindowSpecification::placement_hints*; | ||
756 | 278 | miral::WindowSpecification::preferred_orientation*; | ||
757 | 279 | miral::WindowSpecification::shell_chrome*; | ||
758 | 280 | miral::WindowSpecification::size*; | ||
759 | 281 | miral::WindowSpecification::state*; | ||
760 | 282 | miral::WindowSpecification::top_left*; | ||
761 | 283 | miral::WindowSpecification::type*; | ||
762 | 284 | miral::WindowSpecification::update*; | ||
763 | 285 | miral::WindowSpecification::userdata*; | ||
764 | 286 | miral::WindowSpecification::width_inc*; | ||
765 | 287 | miral::WindowSpecification::window_placement_gravity*; | ||
766 | 288 | miral::apply_lifecycle_state_to*; | ||
767 | 289 | miral::display_configuration_options*; | ||
768 | 290 | miral::equivalent_display_area*; | ||
769 | 291 | miral::kill*; | ||
770 | 292 | miral::name_of*; | ||
771 | 293 | miral::operator*; | ||
772 | 294 | miral::pid_of*; | ||
773 | 295 | miral::toolkit::Connection::Connection*; | ||
774 | 296 | miral::toolkit::Surface::Surface*; | ||
775 | 297 | non-virtual?thunk?to?miral::ActiveOutputsListener::?ActiveOutputsListener*; | ||
776 | 298 | non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_begin*; | ||
777 | 299 | non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_create*; | ||
778 | 300 | non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_delete*; | ||
779 | 301 | non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_end*; | ||
780 | 302 | non-virtual?thunk?to?miral::ActiveOutputsListener::advise_output_update*; | ||
781 | 303 | non-virtual?thunk?to?miral::ApplicationAuthorizer::?ApplicationAuthorizer*; | ||
782 | 304 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::advise_focus_gained*; | ||
783 | 305 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::confirm_inherited_move*; | ||
784 | 306 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_modify_window*; | ||
785 | 307 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_raise_window*; | ||
786 | 308 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::handle_window_ready*; | ||
787 | 309 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_surface*; | ||
788 | 310 | non-virtual?thunk?to?miral::WindowManagementPolicy::?WindowManagementPolicy*; | ||
789 | 311 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_begin*; | ||
790 | 312 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_app*; | ||
791 | 313 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_delete_window*; | ||
792 | 314 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_end*; | ||
793 | 315 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_gained*; | ||
794 | 316 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_focus_lost*; | ||
795 | 317 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_move_to*; | ||
796 | 318 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_app*; | ||
797 | 319 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_new_window*; | ||
798 | 320 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_raise*; | ||
799 | 321 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_resize*; | ||
800 | 322 | non-virtual?thunk?to?miral::WindowManagementPolicy::advise_state_change*; | ||
801 | 323 | typeinfo?for?miral::ActiveOutputsListener; | ||
802 | 324 | typeinfo?for?miral::ActiveOutputsMonitor; | ||
803 | 325 | typeinfo?for?miral::AddInitCallback; | ||
804 | 326 | typeinfo?for?miral::AppendEventFilter; | ||
805 | 327 | typeinfo?for?miral::ApplicationAuthorizer; | ||
806 | 328 | typeinfo?for?miral::ApplicationCredentials; | ||
807 | 329 | typeinfo?for?miral::ApplicationInfo; | ||
808 | 330 | typeinfo?for?miral::BasicSetApplicationAuthorizer; | ||
809 | 331 | typeinfo?for?miral::CanonicalWindowManagerPolicy; | ||
810 | 332 | typeinfo?for?miral::CommandLineOption; | ||
811 | 333 | typeinfo?for?miral::CursorTheme; | ||
812 | 334 | typeinfo?for?miral::DebugExtension; | ||
813 | 335 | typeinfo?for?miral::InternalClientLauncher; | ||
814 | 336 | typeinfo?for?miral::Keymap; | ||
815 | 337 | typeinfo?for?miral::MirRunner; | ||
816 | 338 | typeinfo?for?miral::Output; | ||
817 | 339 | typeinfo?for?miral::Output::PhysicalSizeMM; | ||
818 | 340 | typeinfo?for?miral::SetCommandLineHandler; | ||
819 | 341 | typeinfo?for?miral::SetTerminator; | ||
820 | 342 | typeinfo?for?miral::SetWindowManagmentPolicy; | ||
821 | 343 | typeinfo?for?miral::StartupInternalClient; | ||
822 | 344 | typeinfo?for?miral::Window; | ||
823 | 345 | typeinfo?for?miral::WindowInfo; | ||
824 | 346 | typeinfo?for?miral::WindowManagementPolicy; | ||
825 | 347 | typeinfo?for?miral::WindowManagerOption; | ||
826 | 348 | typeinfo?for?miral::WindowManagerOptions; | ||
827 | 349 | typeinfo?for?miral::WindowManagerTools; | ||
828 | 350 | typeinfo?for?miral::WindowSpecification; | ||
829 | 351 | typeinfo?for?miral::WindowSpecification::AspectRatio; | ||
830 | 352 | typeinfo?for?miral::toolkit::Connection; | ||
831 | 353 | typeinfo?for?miral::toolkit::PersistentId; | ||
832 | 354 | typeinfo?for?miral::toolkit::Surface; | ||
833 | 355 | typeinfo?for?miral::toolkit::SurfaceSpec; | ||
834 | 356 | vtable?for?miral::ActiveOutputsListener; | ||
835 | 357 | vtable?for?miral::ActiveOutputsMonitor; | ||
836 | 358 | vtable?for?miral::AddInitCallback; | ||
837 | 359 | vtable?for?miral::AppendEventFilter; | ||
838 | 360 | vtable?for?miral::ApplicationAuthorizer; | ||
839 | 361 | vtable?for?miral::ApplicationCredentials; | ||
840 | 362 | vtable?for?miral::ApplicationInfo; | ||
841 | 363 | vtable?for?miral::BasicSetApplicationAuthorizer; | ||
842 | 364 | vtable?for?miral::CanonicalWindowManagerPolicy; | ||
843 | 365 | vtable?for?miral::CommandLineOption; | ||
844 | 366 | vtable?for?miral::CursorTheme; | ||
845 | 367 | vtable?for?miral::DebugExtension; | ||
846 | 368 | vtable?for?miral::InternalClientLauncher; | ||
847 | 369 | vtable?for?miral::Keymap; | ||
848 | 370 | vtable?for?miral::MirRunner; | ||
849 | 371 | vtable?for?miral::Output; | ||
850 | 372 | vtable?for?miral::Output::PhysicalSizeMM; | ||
851 | 373 | vtable?for?miral::SetCommandLineHandler; | ||
852 | 374 | vtable?for?miral::SetTerminator; | ||
853 | 375 | vtable?for?miral::SetWindowManagmentPolicy; | ||
854 | 376 | vtable?for?miral::StartupInternalClient; | ||
855 | 377 | vtable?for?miral::Window; | ||
856 | 378 | vtable?for?miral::WindowInfo; | ||
857 | 379 | vtable?for?miral::WindowManagementPolicy; | ||
858 | 380 | vtable?for?miral::WindowManagerOption; | ||
859 | 381 | vtable?for?miral::WindowManagerOptions; | ||
860 | 382 | vtable?for?miral::WindowManagerTools; | ||
861 | 383 | vtable?for?miral::WindowSpecification; | ||
862 | 384 | vtable?for?miral::WindowSpecification::AspectRatio; | ||
863 | 385 | vtable?for?miral::toolkit::Connection; | ||
864 | 386 | vtable?for?miral::toolkit::PersistentId; | ||
865 | 387 | vtable?for?miral::toolkit::Surface; | ||
866 | 388 | vtable?for?miral::toolkit::SurfaceSpec; | ||
867 | 389 | }; | ||
868 | 390 | # miral::WindowInfo::can_morph_to*; | ||
869 | 391 | _ZNK5miral10WindowInfo12can_morph_toE14MirSurfaceType; | ||
870 | 392 | |||
871 | 393 | # miral::WindowInfo::needs_titlebar*; | ||
872 | 394 | _ZN5miral10WindowInfo14needs_titlebarE14MirSurfaceType; | ||
873 | 395 | |||
874 | 396 | # miral::WindowInfo::state*; | ||
875 | 397 | _ZNK5miral10WindowInfo5stateEv; | ||
876 | 398 | _ZN5miral10WindowInfo5stateE15MirSurfaceState; | ||
877 | 399 | |||
878 | 400 | # miral::WindowInfo::type*; | ||
879 | 401 | _ZN5miral10WindowInfo4typeE14MirSurfaceType; | ||
880 | 402 | _ZNK5miral10WindowInfo4typeEv; | ||
881 | 403 | |||
882 | 404 | # miral::WindowManagementPolicy::advise_state_change*; | ||
883 | 405 | _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE15MirSurfaceState; | ||
884 | 406 | |||
885 | 407 | # miral::StartupInternalClient::StartupInternalClient*; | ||
886 | 408 | _ZN5miral21StartupInternalClientC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFvNS_7toolkit10ConnectionEEES7_IFvSt8weak_ptrIN3mir5scene7SessionEEEE; | ||
887 | 409 | # miral::InternalClientLauncher::launch*; | ||
888 | 410 | _ZNK5miral22InternalClientLauncher6launchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvNS_7toolkit10ConnectionEEERKS9_IFvSt8weak_ptrIN3mir5scene7SessionEEEE; | ||
889 | 411 | local: *; | ||
890 | 412 | }; | ||
891 | 413 | |||
892 | 414 | MIRAL_1.1 { | ||
893 | 415 | global: | ||
894 | 416 | # miral::WindowInfo::can_morph_to* | ||
895 | 417 | _ZNK5miral10WindowInfo12can_morph_toE13MirWindowType; | ||
896 | 418 | |||
897 | 419 | #miral::WindowInfo::needs_titlebar*; | ||
898 | 420 | _ZN5miral10WindowInfo14needs_titlebarE13MirWindowType; | ||
899 | 421 | |||
900 | 422 | # miral::WindowInfo::state*; | ||
901 | 423 | _ZNK5miral10WindowInfo5stateEv; | ||
902 | 424 | _ZN5miral10WindowInfo5stateE14MirWindowState; | ||
903 | 425 | |||
904 | 426 | miral::WindowInfo::type*; | ||
905 | 427 | _ZN5miral10WindowInfo4typeE13MirWindowType; | ||
906 | 428 | _ZNK5miral10WindowInfo4typeEv; | ||
907 | 429 | |||
908 | 430 | # miral::WindowManagementPolicy::advise_state_change*; | ||
909 | 431 | _ZN5miral22WindowManagementPolicy19advise_state_changeERKNS_10WindowInfoE14MirWindowState; | ||
910 | 432 | |||
911 | 433 | extern "C++" { | ||
912 | 434 | miral::CanonicalWindowManagerPolicy::place_new_window*; | ||
913 | 435 | non-virtual?thunk?to?miral::CanonicalWindowManagerPolicy::place_new_window*; | ||
914 | 436 | }; | ||
915 | 437 | } MIRAL_1.0; | ||
916 | 438 | |||
917 | 439 | MIRAL_1.2 { | ||
918 | 440 | global: | ||
919 | 441 | # miral::InternalClientLauncher::launch*; | ||
920 | 442 | _ZNK5miral22InternalClientLauncher6launchERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt8functionIFvN3mir6client10ConnectionEEERKS9_IFvSt8weak_ptrINSA_5scene7SessionEEEE; | ||
921 | 443 | |||
922 | 444 | # miral::StartupInternalClient::StartupInternalClient*; | ||
923 | 445 | _ZN5miral21StartupInternalClientC?ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8functionIFvN3mir6client10ConnectionEEES7_IFvSt8weak_ptrINS8_5scene7SessionEEEE; | ||
924 | 446 | extern "C++" { | ||
925 | 447 | miral::WindowInfo::shell_chrome*; | ||
926 | 448 | miral::WindowManagerTools::drag_window*; | ||
927 | 449 | typeinfo?for?miral::ApplicationAuthorizer1; | ||
928 | 450 | vtable?for?miral::ApplicationAuthorizer1; | ||
929 | 451 | }; | ||
930 | 452 | } MIRAL_1.1; | ||
931 | 453 | |||
932 | 454 | MIRAL_1.3 { | ||
933 | 455 | global: | ||
934 | 456 | extern "C++" { | ||
935 | 457 | miral::WindowManagerTools::add_tree_to_workspace*; | ||
936 | 458 | miral::WindowManagerTools::create_workspace*; | ||
937 | 459 | miral::WindowManagerTools::focus_prev_within_application*; | ||
938 | 460 | miral::WindowManagerTools::for_each_window_in_workspace*; | ||
939 | 461 | miral::WindowManagerTools::for_each_workspace_containing*; | ||
940 | 462 | miral::WindowManagerTools::remove_tree_from_workspace*; | ||
941 | 463 | miral::WindowManagerTools::move_workspace_content_to_workspace*; | ||
942 | 464 | miral::WorkspacePolicy::?WorkspacePolicy*; | ||
943 | 465 | miral::WorkspacePolicy::WorkspacePolicy*; | ||
944 | 466 | miral::WorkspacePolicy::advise_adding_to_workspace*; | ||
945 | 467 | miral::WorkspacePolicy::advise_removing_from_workspace*; | ||
946 | 468 | miral::WorkspacePolicy::operator*; | ||
947 | 469 | non-virtual?thunk?to?miral::WorkspacePolicy::?WorkspacePolicy*; | ||
948 | 470 | non-virtual?thunk?to?miral::WorkspacePolicy::advise_adding_to_workspace*; | ||
949 | 471 | non-virtual?thunk?to?miral::WorkspacePolicy::advise_removing_from_workspace*; | ||
950 | 472 | typeinfo?for?miral::WorkspacePolicy; | ||
951 | 473 | vtable?for?miral::WorkspacePolicy; | ||
952 | 474 | }; | ||
953 | 475 | } MIRAL_1.2; | ||
954 | 476 | |||
955 | 477 | MIRAL_1.3.1 { | ||
956 | 478 | global: | ||
957 | 479 | extern "C++" { | ||
958 | 480 | miral::SetWindowManagementPolicy::?SetWindowManagementPolicy*; | ||
959 | 481 | miral::SetWindowManagementPolicy::SetWindowManagementPolicy*; | ||
960 | 482 | miral::SetWindowManagementPolicy::operator*; | ||
961 | 483 | typeinfo?for?miral::SetWindowManagementPolicy; | ||
962 | 484 | vtable?for?miral::SetWindowManagementPolicy; | ||
963 | 485 | }; | ||
964 | 486 | } MIRAL_1.3; | ||
965 | 487 | |||
966 | 488 | MIRAL_1.4.0 { | ||
967 | 489 | global: | ||
968 | 490 | extern "C++" { | ||
969 | 491 | miral::WindowManagementPolicyAddendum2::?WindowManagementPolicyAddendum2*; | ||
970 | 492 | miral::WindowManagementPolicyAddendum2::WindowManagementPolicyAddendum2*; | ||
971 | 493 | miral::WindowManagementPolicyAddendum2::operator*; | ||
972 | 494 | miral::WindowManagerTools::end_drag_and_drop*; | ||
973 | 495 | miral::WindowManagerTools::start_drag_and_drop*; | ||
974 | 496 | miral::toolkit::Window::Window*; | ||
975 | 497 | non-virtual?thunk?to?miral::WindowManagementPolicyAddendum2::?WindowManagementPolicyAddendum2*; | ||
976 | 498 | typeinfo?for?miral::WindowManagementPolicyAddendum2; | ||
977 | 499 | typeinfo?for?miral::toolkit::Window; | ||
978 | 500 | typeinfo?for?miral::toolkit::WindowId; | ||
979 | 501 | typeinfo?for?miral::toolkit::WindowSpec; | ||
980 | 502 | vtable?for?miral::WindowManagementPolicyAddendum2; | ||
981 | 503 | vtable?for?miral::toolkit::Window; | ||
982 | 504 | vtable?for?miral::toolkit::WindowId; | ||
983 | 505 | vtable?for?miral::toolkit::WindowSpec; | ||
984 | 506 | }; | ||
985 | 507 | } MIRAL_1.3.1; | ||
986 | 508 | |||
987 | 509 | MIRAL_1.5.0 { | ||
988 | 510 | global: | ||
989 | 511 | extern "C++" {''' | ||
990 | 512 | |||
991 | 513 | END_NEW_STANZA = ''' }; | ||
992 | 514 | } MIRAL_1.4.0;''' | ||
993 | 515 | |||
994 | 516 | def _print_report(): | ||
995 | 517 | print(OLD_STANZAS) | ||
996 | 518 | for symbol in sorted(SYMBOLS['public']): | ||
997 | 519 | formatted_symbol = ' {};'.format(symbol) | ||
998 | 520 | if formatted_symbol not in OLD_STANZAS and 'miral::' in formatted_symbol: | ||
999 | 521 | print(formatted_symbol) | ||
1000 | 522 | print(END_NEW_STANZA) | ||
1001 | 523 | |||
1002 | 524 | def _print_debug_info(node, attributes): | ||
1003 | 525 | if not DEBUG: | ||
1004 | 526 | return | ||
1005 | 527 | print() | ||
1006 | 528 | _print_attribs(node, attributes) | ||
1007 | 529 | _print_location(node) | ||
1008 | 530 | |||
1009 | 531 | def _parse_member_def(context_name, node, is_class): | ||
1010 | 532 | kind = node.attributes['kind'].value | ||
1011 | 533 | |||
1012 | 534 | if (kind in ['enum', 'typedef'] | ||
1013 | 535 | or _has_element(node, ['templateparamlist']) | ||
1014 | 536 | or kind in ['function'] and node.attributes['inline'].value == 'yes'): | ||
1015 | 537 | return | ||
1016 | 538 | |||
1017 | 539 | name = _concat_text_from_tags(node, ['name']) | ||
1018 | 540 | |||
1019 | 541 | if name in ['__attribute__']: | ||
1020 | 542 | if DEBUG: | ||
1021 | 543 | print(' ignoring doxygen mis-parsing:', _concat_text_from_tags(node, ['argsstring'])) | ||
1022 | 544 | return | ||
1023 | 545 | |||
1024 | 546 | if name.startswith('operator'): | ||
1025 | 547 | name = 'operator' | ||
1026 | 548 | |||
1027 | 549 | if not context_name is None: | ||
1028 | 550 | symbol = context_name + '::' + name | ||
1029 | 551 | else: | ||
1030 | 552 | symbol = name | ||
1031 | 553 | |||
1032 | 554 | is_function = kind == 'function' | ||
1033 | 555 | |||
1034 | 556 | if is_function: | ||
1035 | 557 | _print_debug_info(node, ['kind', 'prot', 'static', 'virt']) | ||
1036 | 558 | else: | ||
1037 | 559 | _print_debug_info(node, ['kind', 'prot', 'static']) | ||
1038 | 560 | |||
1039 | 561 | if DEBUG: | ||
1040 | 562 | print(' is_class:', is_class) | ||
1041 | 563 | |||
1042 | 564 | publish = _should_publish(is_class, is_function, node) | ||
1043 | 565 | |||
1044 | 566 | _report(publish, symbol + '*') | ||
1045 | 567 | |||
1046 | 568 | if is_function and node.attributes['virt'].value == 'virtual': | ||
1047 | 569 | _report(publish, 'non-virtual?thunk?to?' + symbol + '*') | ||
1048 | 570 | |||
1049 | 571 | |||
1050 | 572 | def _should_publish(is_class, is_function, node): | ||
1051 | 573 | (kind, static, prot) = _get_attribs(node) | ||
1052 | 574 | |||
1053 | 575 | publish = True | ||
1054 | 576 | |||
1055 | 577 | if publish: | ||
1056 | 578 | publish = kind != 'define' | ||
1057 | 579 | |||
1058 | 580 | if publish and is_class: | ||
1059 | 581 | publish = is_function or static == 'yes' | ||
1060 | 582 | |||
1061 | 583 | if publish and prot == 'private': | ||
1062 | 584 | if is_function: | ||
1063 | 585 | publish = node.attributes['virt'].value == 'virtual' | ||
1064 | 586 | else: | ||
1065 | 587 | publish = False | ||
1066 | 588 | |||
1067 | 589 | if publish and _has_element(node, ['argsstring']): | ||
1068 | 590 | publish = not _get_text_for_element(node, 'argsstring').endswith('=0') | ||
1069 | 591 | |||
1070 | 592 | return publish | ||
1071 | 593 | |||
1072 | 594 | |||
1073 | 595 | def _parse_compound_defs(xmldoc): | ||
1074 | 596 | compounddefs = xmldoc.getElementsByTagName('compounddef') | ||
1075 | 597 | for node in compounddefs: | ||
1076 | 598 | kind = node.attributes['kind'].value | ||
1077 | 599 | |||
1078 | 600 | if kind in ['page', 'file', 'example', 'union']: | ||
1079 | 601 | continue | ||
1080 | 602 | |||
1081 | 603 | if kind in ['group']: | ||
1082 | 604 | for member in node.getElementsByTagName('memberdef'): | ||
1083 | 605 | _parse_member_def(None, member, False) | ||
1084 | 606 | continue | ||
1085 | 607 | |||
1086 | 608 | if kind in ['namespace']: | ||
1087 | 609 | symbol = _concat_text_from_tags(node, ['compoundname']) | ||
1088 | 610 | for member in node.getElementsByTagName('memberdef'): | ||
1089 | 611 | _parse_member_def(symbol, member, False) | ||
1090 | 612 | continue | ||
1091 | 613 | |||
1092 | 614 | filename = _get_file_location(node) | ||
1093 | 615 | |||
1094 | 616 | if DEBUG: | ||
1095 | 617 | print(' from file:', filename) | ||
1096 | 618 | |||
1097 | 619 | if ('/examples/' in filename or '/test/' in filename or '[generated]' in filename | ||
1098 | 620 | or '[STL]' in filename or _has_element(node, ['templateparamlist'])): | ||
1099 | 621 | continue | ||
1100 | 622 | |||
1101 | 623 | symbol = _concat_text_from_tags(node, ['compoundname']) | ||
1102 | 624 | |||
1103 | 625 | publish = True | ||
1104 | 626 | |||
1105 | 627 | if publish: | ||
1106 | 628 | if kind in ['class', 'struct']: | ||
1107 | 629 | prot = node.attributes['prot'].value | ||
1108 | 630 | publish = prot != 'private' | ||
1109 | 631 | _print_debug_info(node, ['kind', 'prot']) | ||
1110 | 632 | _report(publish, 'vtable?for?' + symbol) | ||
1111 | 633 | _report(publish, 'typeinfo?for?' + symbol) | ||
1112 | 634 | |||
1113 | 635 | if publish: | ||
1114 | 636 | for member in node.getElementsByTagName('memberdef'): | ||
1115 | 637 | _parse_member_def(symbol, member, kind in ['class', 'struct']) | ||
1116 | 638 | |||
1117 | 639 | if __name__ == "__main__": | ||
1118 | 640 | if len(argv) == 1 or '-h' in argv or '--help' in argv: | ||
1119 | 641 | print(HELPTEXT) | ||
1120 | 642 | exit() | ||
1121 | 643 | |||
1122 | 644 | for arg in argv[1:]: | ||
1123 | 645 | try: | ||
1124 | 646 | if DEBUG: | ||
1125 | 647 | print('Processing:', arg) | ||
1126 | 648 | _parse_compound_defs(minidom.parse(arg)) | ||
1127 | 649 | except Exception as error: | ||
1128 | 650 | print('Error:', arg, error) | ||
1129 | 651 | |||
1130 | 652 | if DEBUG: | ||
1131 | 653 | print('Processing complete') | ||
1132 | 654 | |||
1133 | 655 | _print_report() |
PASSED: Continuous integration, rev:4257 /mir-jenkins. ubuntu. com/job/ mir-ci/ 3585/ /mir-jenkins. ubuntu. com/job/ build-mir/ 4908 /mir-jenkins. ubuntu. com/job/ build-0- fetch/5131 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= artful/ 5120 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= xenial/ 5120 /mir-jenkins. ubuntu. com/job/ build-1- sourcepkg/ release= zesty/5120 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= clang,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= xenial/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= amd64,compiler= gcc,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= artful/ 4947/artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= cross-armhf, compiler= gcc,platform= mesa,release= zesty/4947/ artifact/ output/ *zip*/output. zip /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 4947 /mir-jenkins. ubuntu. com/job/ build-2- binpkg- mir/arch= i386,compiler= gcc,platform= mesa,release= xenial/ 4947/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /mir-jenkins. ubuntu. com/job/ mir-ci/ 3585/rebuild
https:/